<?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>80062</bug_id>
          
          <creation_ts>2012-03-01 15:42:21 -0800</creation_ts>
          <short_desc>WebKit.gyp:webkit should not depend on test code (!)</short_desc>
          <delta_ts>2015-01-17 20:38:51 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>82948</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ami Fischman">fischman</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>burg</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>568992</commentid>
    <comment_count>0</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-01 15:42:21 -0800</bug_when>
    <thetext>http://code.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp&amp;exact_package=chromium&amp;q=file:gyp%20file:third_party/webkit%20:gtest&amp;type=cs&amp;l=710 makes the webkit target depend on test code in the shared-library build.

This is terrible for various reasons:
- It violates the ODR by whole-sale linking in static libraries which are also linked into the main binary directly (http://crbug.com/112539)
- It holds non-test code hostage to the standards of test-code (e.g. http://code.google.com/codesearch#OAMlx_jo-ck/src/third_party/WebKit/Source/WebKit/chromium/WebKit.gyp&amp;exact_package=chromium&amp;q=file:gyp%20file:third_party/webkit%20:gtest&amp;type=cs&amp;l=763)
- It makes the build bigger than it needs to be

The madness must stop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574224</commentid>
    <comment_count>1</comment_count>
      <attachid>130908</attachid>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-08 14:38:09 -0800</bug_when>
    <thetext>Created attachment 130908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574233</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 14:41:03 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574249</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-03-08 14:48:38 -0800</bug_when>
    <thetext>I think it is great that you are taking this on.  I think it makes good sense to make our build of WebKit.DLL export symbols from WebCore that are used by our unit tests.

I am concerned about using WTF_EXPORT outside of the WTF code base.  I think it would be better to invent a similar define for each module.  So, WebCore should have its own WEBCORE_EXPORT most likely.

This may be something we need to discuss more broadly with the community as other ports use the other way of exporting symbols from WebCore (.def / WebCore.exp).

-Darin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574307</commentid>
    <comment_count>4</comment_count>
      <attachid>130918</attachid>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-08 15:25:39 -0800</bug_when>
    <thetext>Created attachment 130918
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574311</commentid>
    <comment_count>5</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-08 15:29:05 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I am concerned about using WTF_EXPORT outside of the WTF code base.  I think it would be better to invent a similar define for each module.  So, WebCore should have its own WEBCORE_EXPORT most likely.

In looking for where to put the proposed new WEBCORE_EXPORT I found Source/WebCore/platform/PlatformExportMacros.h which already defines WEBKIT_EXPORTDATA as what I would have put in WEBCORE_EXPORT.  So the second patch updates to use that instead of WTF_EXPORT{,DATA}.
SGTY?

&gt; This may be something we need to discuss more broadly with the community as other ports use the other way of exporting symbols from WebCore (.def / WebCore.exp).

ISTM there&apos;s already quite a lot of use of _EXPORT macros (across ports) so not sure if this is needed.
Adam: do you have an opinion on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574374</commentid>
    <comment_count>6</comment_count>
      <attachid>130918</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-08 16:33:01 -0800</bug_when>
    <thetext>Comment on attachment 130918
Patch

Attachment 130918 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11906194</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574376</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-08 16:34:08 -0800</bug_when>
    <thetext>&gt; Adam: do you have an opinion on this?

I agree with fishd that this is a change we should discuss with the boarder community before making.  Different ports have different needs for exporting symbols from WebCore.  It&apos;s not obvious me to what&apos;s best.

The simplest solution would be to create a Chromium equivalent to WebCore.exp.in that lists the symbols that Chromium wants to export from WebCore.  However, maintaining that file is a pain and I wouldn&apos;t wish to impose the maintenance of another such file on the rest of the community.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574438</commentid>
    <comment_count>8</comment_count>
      <attachid>130918</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-08 17:52:38 -0800</bug_when>
    <thetext>Comment on attachment 130918
Patch

Attachment 130918 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11915210</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574440</commentid>
    <comment_count>9</comment_count>
      <attachid>130918</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-08 17:54:57 -0800</bug_when>
    <thetext>Comment on attachment 130918
Patch

Attachment 130918 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11911212</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574523</commentid>
    <comment_count>10</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-08 19:53:21 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; I agree with fishd that this is a change we should discuss with the boarder community before making.

Sent email to webkit-dev.  Let the opinions flow!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574595</commentid>
    <comment_count>11</comment_count>
      <attachid>130918</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-08 21:30:50 -0800</bug_when>
    <thetext>Comment on attachment 130918
Patch

Attachment 130918 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11903360</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574644</commentid>
    <comment_count>12</comment_count>
      <attachid>130918</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2012-03-08 22:35:55 -0800</bug_when>
    <thetext>Comment on attachment 130918
Patch

Attachment 130918 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11894426</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575243</commentid>
    <comment_count>13</comment_count>
      <attachid>130918</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-03-09 14:39:18 -0800</bug_when>
    <thetext>Comment on attachment 130918
Patch

I would probably prefer to introduce a WEBCORE_EXPORT macro, possibly renaming WEBKIT_EXPORTDATA to be that.  That seems clearer to me.

Otherwise, this patch looks to correctly implement the idea of exporting functions from WebCore to support the Chromium port&apos;s unit tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575333</commentid>
    <comment_count>14</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-09 16:26:11 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 130918 [details])
&gt; I would probably prefer to introduce a WEBCORE_EXPORT macro, possibly renaming WEBKIT_EXPORTDATA to be that.  That seems clearer to me.

Went to see how much work it&apos;d be to do this, and AFAICT *nobody* uses it today.
How worried do I need to be about hidden codebases?  (safari, other ports not part of the third_party/WebKit tree in a chromium checkout)

I&apos;ll do the rename as part of this patch if there are really no other use sites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575334</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-09 16:27:36 -0800</bug_when>
    <thetext>&gt; How worried do I need to be about hidden codebases?

The WebKit project explicitly doesn&apos;t care about hidden codebases.  That&apos;s the carrot for joining the community.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575598</commentid>
    <comment_count>16</comment_count>
      <attachid>131197</attachid>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-10 18:09:47 -0800</bug_when>
    <thetext>Created attachment 131197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575599</commentid>
    <comment_count>17</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-10 18:10:53 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Created an attachment (id=131197) [details]
&gt; Patch

Renamed s/WEBKIT_EXPORTDATA/WEBCORE_EXPORT/g and added an explicit #include to hopefully greenify the red EWS runs from the last patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575605</commentid>
    <comment_count>18</comment_count>
      <attachid>131197</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-10 18:32:13 -0800</bug_when>
    <thetext>Comment on attachment 131197
Patch

Attachment 131197 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11937252</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575610</commentid>
    <comment_count>19</comment_count>
      <attachid>131197</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-10 19:06:45 -0800</bug_when>
    <thetext>Comment on attachment 131197
Patch

Attachment 131197 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11939261</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575613</commentid>
    <comment_count>20</comment_count>
      <attachid>131200</attachid>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-10 19:26:23 -0800</bug_when>
    <thetext>Created attachment 131200
Patch

Even more explicit includes of PlatformExportMacros.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575788</commentid>
    <comment_count>21</comment_count>
      <attachid>131245</attachid>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-03-11 10:45:32 -0700</bug_when>
    <thetext>Created attachment 131245
Patch

rename WEBCORE_EXPORT to WEBCORE_EXPORT_PRIVATE per morrita@ preference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629579</commentid>
    <comment_count>22</comment_count>
      <attachid>131245</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 15:20:52 -0700</bug_when>
    <thetext>Comment on attachment 131245
Patch

I&apos;m clearing the review flag from this patch since it&apos;s not clear how we should proceed here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629591</commentid>
    <comment_count>23</comment_count>
    <who name="Ami Fischman">fischman</who>
    <bug_when>2012-05-21 15:24:35 -0700</bug_when>
    <thetext>Thanks Adam.  FTR, my plan is to wait for bug 82948 to finish getting squashed before re-visiting this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629609</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-21 15:34:54 -0700</bug_when>
    <thetext>Makes sense.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130908</attachid>
            <date>2012-03-08 14:38:09 -0800</date>
            <delta_ts>2012-03-08 15:25:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80062-20120308143808.patch</filename>
            <type>text/plain</type>
            <size>55085</size>
            <attacher name="Ami Fischman">fischman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3Jt
LmgKaW5kZXggNzE2YmJhNWQzYjg4MWU2ZjYxM2ExZmFhYmQ1NmUyMzc2ZDViNzRkMC4uNmUxMGQ1
OTk0YmU5YmMzNWVmYTE0M2ZjMDhmN2FjYzY4YjM0OGI0NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaApAQCAtMTEzOCw3ICsxMTM4LDcgQEAKICAgIHNpbmNlIG1vc3QgcG9ydHMg
dHJ5IHRvIHN1cHBvcnQgc3ViLXByb2plY3QgaW5kZXBlbmRlbmNlLCBhZGRpbmcgbmV3IGhlYWRl
cnMKICAgIHRvIFdURiBjYXVzZXMgbWFueSBwb3J0cyB0byBicmVhaywgYW5kIHNvIHRoaXMgd2F5
IHdlIGNhbiBhZGRyZXNzIHRoZSBidWlsZAogICAgYnJlYWthZ2VzIG9uZSBwb3J0IGF0IGEgdGlt
ZS4gKi8KLSNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogI2RlZmluZSBXVEZfVVNF
X0VYUE9SVF9NQUNST1MgMQogI2Vsc2UKICNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvY2hyb21pdW0vQ2hyb21pdW1U
aHJlYWRpbmcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvY2hyb21pdW0vQ2hyb21pdW1U
aHJlYWRpbmcuaAppbmRleCAzOTM4NjIxOWQ2NWMxZDkyY2ZmNGE2NTdiZmM2M2M5N2Y1OThlNmJi
Li43MGVhMjQ3NTkyZmZhMzY4YWE1ZjAyYmM2ZTk5ODYyMDAwODVhNzMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVtL0Nocm9taXVtVGhyZWFkaW5nLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9jaHJvbWl1bS9DaHJvbWl1bVRocmVhZGluZy5o
CkBAIC0zMSwxMCArMzEsMTIgQEAKICNpZm5kZWYgQ2hyb21pdW1UaHJlYWRpbmdfaAogI2RlZmlu
ZSBDaHJvbWl1bVRocmVhZGluZ19oCiAKKyNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+CisK
IG5hbWVzcGFjZSBXVEYgewogCiAvLyBBbiBpbnRlcmZhY2UgdG8gdGhlIGVtYmVkZGluZyBsYXll
ciwgd2hpY2ggcHJvdmlkZXMgdGhyZWFkaW5nIHN1cHBvcnQuCi1jbGFzcyBDaHJvbWl1bVRocmVh
ZGluZyB7CitjbGFzcyBXVEZfRVhQT1JUIENocm9taXVtVGhyZWFkaW5nIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBjYWxsT25NYWluVGhyZWFkKHZvaWQgKCpmdW5jKSh2b2lkKiksIHZvaWQq
IGNvbnRleHQpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9jaHJvbWl1bS9EYXRhYmFzZU9ic2VydmVyLmgKaW5kZXggNjU3Yzc4ZTll
NjFjOTVkY2RhNDQ1YmRlODQ0OGNjMTcxYWYzNDY1Ni4uMzVlMjRjMmIzNWRlMWMwZTIxNDc0Y2I3
ODQxNmNjNWRkMDc0OTBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9jaHJvbWl1bS9EYXRhYmFzZU9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9jaHJvbWl1bS9EYXRhYmFzZU9ic2VydmVyLmgKQEAgLTQyLDcg
KzQyLDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogLy8gVGhlIGltcGxlbWVu
dGF0aW9uIG9mIHRoaXMgY2xhc3MgaXMgaW4gdGhlIFdlYktpdCBBUEkgKENocm9taXVtIHNvdXJj
ZSB0cmVlKQogLy8gaW4gV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcC4K
LWNsYXNzIERhdGFiYXNlT2JzZXJ2ZXIgeworY2xhc3MgV1RGX0VYUE9SVCBEYXRhYmFzZU9ic2Vy
dmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjYW5Fc3RhYmxpc2hEYXRhYmFzZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgdW5zaWdu
ZWQgbG9uZyk7CiAgICAgc3RhdGljIHZvaWQgZGF0YWJhc2VPcGVuZWQoQWJzdHJhY3REYXRhYmFz
ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCmluZGV4IDA3NjY4YTRl
MjI4NGU1NTk3ZTE2YTM4MTcwNGE1ODc4ZGZmMjYyZDMuLjc2MjRmYTY3YjQyMGFiNjE2NjkzMjA3
M2U1ZDc1ZTJhZjUxMWFlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydENoYW5uZWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVs
LmgKQEAgLTU1LDcgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gTWVzc2Fn
ZVBvcnRDaGFubmVsIGlzIGEgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlIHRvIHRoZSBy
ZW1vdGUgc2lkZSBvZiBhIG1lc3NhZ2UgY2hhbm5lbC4KICAgICAvLyBJdCBhY3RzIGFzIGEgd3Jh
cHBlciBhcm91bmQgdGhlIHBsYXRmb3JtLWRlcGVuZGVudCBQbGF0Zm9ybU1lc3NhZ2VQb3J0Q2hh
bm5lbCBpbXBsZW1lbnRhdGlvbiB3aGljaCBlbnN1cmVzIHRoYXQgdGhlIHBsYXRmb3JtLWRlcGVu
ZGVudCBjbG9zZSgpIG1ldGhvZCBpcyBpbnZva2VkIGJlZm9yZSBkZXN0cnVjdGlvbi4KLSAgICBj
bGFzcyBNZXNzYWdlUG9ydENoYW5uZWwgeworICAgIGNsYXNzIFdURl9FWFBPUlQgTWVzc2FnZVBv
cnRDaGFubmVsIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVBvcnRDaGFu
bmVsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgdm9pZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRy
PE1lc3NhZ2VQb3J0Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAKaW5kZXggYTc0
MjYyOTVlZjA2NGViZTljMGZhZGVmMGY2NzAxZDUxNjU4ZGEzZS4uMWY3ZWE4YTA0NGI4YzRiZjE5
MGFjODU1MTM1YWRmYzk4ODk3NTU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1
YWxpZmllZE5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmNw
cApAQCAtMTAzLDYgKzEwMyw3IEBAIFN0cmluZyBRdWFsaWZpZWROYW1lOjp0b1N0cmluZygpIGNv
bnN0CiB9CiAKIC8vIEdsb2JhbCBpbml0IHJvdXRpbmVzCitXVEZfRVhQT1JUREFUQQogREVGSU5F
X0dMT0JBTChRdWFsaWZpZWROYW1lLCBhbnlOYW1lLCBudWxsQXRvbSwgc3RhckF0b20sIHN0YXJB
dG9tKQogCiB2b2lkIFF1YWxpZmllZE5hbWU6OmluaXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWRO
YW1lLmgKaW5kZXggNjM2YjJhNTE1MGM5ZTk4N2MwMjdlNzU2OTc5MmQ5YmFjMzRhODllOS4uOTdh
ZWRiMDE2NGRmZjUzNDkyODYxMDNkNjc2N2RiNDZiMTMyODBhYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVh
bGlmaWVkTmFtZS5oCkBAIC0zMyw3ICszMyw3IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9u
ZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZp
ZWROYW1lIHsKK2NsYXNzIFdURl9FWFBPUlQgUXVhbGlmaWVkTmFtZSB7CiAgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgY2xhc3MgUXVhbGlmaWVkTmFtZUltcGwgOiBw
dWJsaWMgUmVmQ291bnRlZDxRdWFsaWZpZWROYW1lSW1wbD4gewpAQCAtMTAzLDcgKzEwMyw3IEBA
IHByaXZhdGU6CiB9OwogCiAjaWZuZGVmIFdFQkNPUkVfUVVBTElGSUVETkFNRV9ISURFX0dMT0JB
TFMKLWV4dGVybiBjb25zdCBRdWFsaWZpZWROYW1lIGFueU5hbWU7CitXVEZfRVhQT1JUREFUQSBl
eHRlcm4gY29uc3QgUXVhbGlmaWVkTmFtZSBhbnlOYW1lOwogaW5saW5lIGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGFueVFOYW1lKCkgeyByZXR1cm4gYW55TmFtZTsgfQogI2VuZGlmCiAKQEAgLTExNyw3
ICsxMTcsNyBAQCBpbmxpbmUgdW5zaWduZWQgaGFzaENvbXBvbmVudHMoY29uc3QgUXVhbGlmaWVk
TmFtZUNvbXBvbmVudHMmIGJ1ZikKICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5
PHNpemVvZihRdWFsaWZpZWROYW1lQ29tcG9uZW50cyk+KCZidWYpOwogfQogCi1zdHJ1Y3QgUXVh
bGlmaWVkTmFtZUhhc2ggeworc3RydWN0IFdURl9FWFBPUlQgUXVhbGlmaWVkTmFtZUhhc2ggewog
ICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpIHsgcmV0
dXJuIGhhc2gobmFtZS5pbXBsKCkpOyB9CiAKICAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25z
dCBRdWFsaWZpZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbCogbmFtZSkgCkBAIC0xMzgsMTEgKzEz
OCwxMSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBz
dHJ1Y3QgRGVmYXVsdEhhc2g7CiAKLSAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxX
ZWJDb3JlOjpRdWFsaWZpZWROYW1lPiB7CisgICAgdGVtcGxhdGU8PiBzdHJ1Y3QgV1RGX0VYUE9S
VCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiB7CiAgICAgICAgIHR5cGVkZWYg
V2ViQ29yZTo6UXVhbGlmaWVkTmFtZUhhc2ggSGFzaDsKICAgICB9OwogICAgIAotICAgIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4geworICAgIHRlbXBsYXRlPD4g
c3RydWN0IFdURl9FWFBPUlQgSGFzaFRyYWl0czxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiA6IFNp
bXBsZUNsYXNzSGFzaFRyYWl0czxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiB7CiAgICAgICAgIHN0
YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKICAgICAgICAgc3RhdGlj
IFdlYkNvcmU6OlF1YWxpZmllZE5hbWUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIFdlYkNvcmU6OlF1
YWxpZmllZE5hbWUobnVsbEF0b20sIG51bGxBdG9tLCBudWxsQXRvbSk7IH0KICAgICB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCBjOGVkNThiNTc0NzhkZTVlNjM0NjlhMzZjOGI4MDY4
MjJkOTllNGY1Li5iNTAyMGZkNzc2NzFjYjMyMjkyZGRmMTJlMjFjNDgzNzEzMDZlYTZiIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtMTE2LDcgKzExNiw3IEBAIGlmIChsZW5ndGgoJGZv
bnROYW1lc0luKSkgewogICAgIHByaW50Q3BwSGVhZCgkRiwgIkNTUyIsICRmYW1pbHlOYW1lc0Zp
bGVCYXNlLCAiV1RGIik7CiAKICAgICB3aGlsZSAoIG15ICgkbmFtZSwgJGlkZW50aWZpZXIpID0g
ZWFjaCAlcGFyYW1ldGVycyApIHsKLSAgICAgICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChBdG9t
aWNTdHJpbmcsICRuYW1lLCBcIiRpZGVudGlmaWVyXCIpXG4iOworICAgICAgICBwcmludCBGICJX
VEZfRVhQT1JUREFUQSBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgJG5hbWUsIFwiJGlkZW50
aWZpZXJcIilcbiI7CiAgICAgfQogCiAgICAgcHJpbnRJbml0KCRGLCAwKTsKQEAgLTYyMiwxMiAr
NjIyLDEyIEBAIHN1YiBwcmludE5hbWVzQ3BwRmlsZQogICAgIAogICAgIG15ICRsb3dlck5hbWVz
cGFjZSA9IGxjKCRwYXJhbWV0ZXJze25hbWVzcGFjZVByZWZpeH0pOwogCi0gICAgcHJpbnQgRiAi
REVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJ
LCBcIiRwYXJhbWV0ZXJze25hbWVzcGFjZVVSSX1cIikiOworICAgIHByaW50IEYgIldURl9FWFBP
UlREQVRBIERFRklORV9HTE9CQUwoQXRvbWljU3RyaW5nLCAke2xvd2VyTmFtZXNwYWNlfU5hbWVz
cGFjZVVSSSwgXCIkcGFyYW1ldGVyc3tuYW1lc3BhY2VVUkl9XCIpIjsKIAogICAgIGlmIChrZXlz
ICVhbGxUYWdzKSB7CiAgICAgICAgIHByaW50IEYgIi8vIFRhZ3NcbiI7CiAgICAgICAgIGZvciBt
eSAkbmFtZSAoc29ydCBrZXlzICVhbGxUYWdzKSB7Ci0gICAgICAgICAgICBwcmludCBGICJERUZJ
TkVfR0xPQkFMKFF1YWxpZmllZE5hbWUsICIsICRuYW1lLCAiVGFnLCBudWxsQXRvbSwgXCIkbmFt
ZVwiLCAke2xvd2VyTmFtZXNwYWNlfU5hbWVzcGFjZVVSSSk7XG4iOworICAgICAgICAgICAgcHJp
bnQgRiAiV1RGX0VYUE9SVERBVEEgREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFt
ZSwgIlRhZywgbnVsbEF0b20sIFwiJG5hbWVcIiwgJHtsb3dlck5hbWVzcGFjZX1OYW1lc3BhY2VV
UkkpO1xuIjsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgcHJpbnQgRiAiXG5cbldlYkNv
cmU6OlF1YWxpZmllZE5hbWUqKiBnZXQkcGFyYW1ldGVyc3tuYW1lc3BhY2V9VGFncyhzaXplX3Qq
IHNpemUpXG4iOwpAQCAtNjQ0LDcgKzY0NCw3IEBAIHN1YiBwcmludE5hbWVzQ3BwRmlsZQogICAg
IGlmIChrZXlzICVhbGxBdHRycykgewogICAgICAgICBwcmludCBGICJcbi8vIEF0dHJpYnV0ZXNc
biI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVhbGxBdHRycykgewotICAgICAg
ICAgICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIkF0
dHIsIG51bGxBdG9tLCBcIiRuYW1lXCIsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJKTtc
biI7CisgICAgICAgICAgICBwcmludCBGICJXVEZfRVhQT1JUREFUQSBERUZJTkVfR0xPQkFMKFF1
YWxpZmllZE5hbWUsICIsICRuYW1lLCAiQXR0ciwgbnVsbEF0b20sIFwiJG5hbWVcIiwgJHtsb3dl
ck5hbWVzcGFjZX1OYW1lc3BhY2VVUkkpO1xuIjsKICAgICAgICAgfQogICAgICAgICBwcmludCBG
ICJcblxuV2ViQ29yZTo6UXVhbGlmaWVkTmFtZSoqIGdldCRwYXJhbWV0ZXJze25hbWVzcGFjZX1B
dHRycyhzaXplX3QqIHNpemUpXG4iOwogICAgICAgICBwcmludCBGICJ7XG4gICAgc3RhdGljIFdl
YkNvcmU6OlF1YWxpZmllZE5hbWUqICRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRyW10gPSB7XG4i
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBi
L1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggMjQ3YmIyY2Rm
OGJmMTAxODZiZDc2YmY3ZDk1ZjQzNzAwYjkzZTQ1My4uNDNkMmNiOTY3ODc5NzU5YTkzYWI0N2U4
YzBjY2I4MDM4NGUzOGZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2Nh
bEZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3Rl
bS5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIEZpbGVTeXN0ZW1DYWxsYmFjazsKIGNsYXNzIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIEtlZXBzIHBlci1wcm9jZXNzIGluZm9ybWF0aW9u
IGFuZCBwcm92aWRlcyBhbiBlbnRyeSBwb2ludCB0byBvcGVuIGEgZmlsZSBzeXN0ZW0uCi1jbGFz
cyBMb2NhbEZpbGVTeXN0ZW0geworY2xhc3MgV1RGX0VYUE9SVCBMb2NhbEZpbGVTeXN0ZW0gewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsRmlsZVN5c3RlbSk7CiBwdWJsaWM6CiAgICAg
Ly8gUmV0dXJucyBhIHBlci1wcm9jZXNzIGluc3RhbmNlIG9mIExvY2FsRmlsZVN5c3RlbS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hl
SG9zdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKaW5kZXggMDQ1NTZiZTk2Y2U4MjJjNzkxNGVmNDc3NzQxNDhlMmFjNDM4OTdmMC4uNTE3
NGY4OTQxMzg2Mjg2YzQxMWYxOTg2MzNiZjUzNTViMGRkYmVjMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmgKQEAgLTU2
LDcgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlOwogI2VuZGlmCiAKLSAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7Cisg
ICAgY2xhc3MgV1RGX0VYUE9SVCBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7CiAgICAgICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVz
IGFyZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0FzeW5jRmlsZVN5c3RlbS5oCmluZGV4IDc3OTIxMDFjNTMwYTIxYzI2NWNmYzRiNDZhMzQ2ZmI5
MjBjNDEyNTMuLmUxMzZjMjdhNjg0ODI2ODU2ZDZmYThkYTNkZTZmYWM3NDk2M2E3ZWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw3IEBA
IGNsYXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlckNs
aWVudDsKIAogLy8gVGhpcyBjbGFzcyBwcm92aWRlcyBhc3luYyBpbnRlcmZhY2UgZm9yIHBsYXRm
b3JtLXNwZWNpZmljIGZpbGUgc3lzdGVtIGltcGxlbWVudGF0aW9uLiAgTm90ZSB0aGF0IGFsbCB0
aGUgbWV0aG9kcyB0YWtlIHBsYXRmb3JtIHBhdGhzLgotY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsK
K2NsYXNzIFdURl9FWFBPUlQgQXN5bmNGaWxlU3lzdGVtIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShBc3luY0ZpbGVTeXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5
c3RlbSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVk
U3RyaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCmlu
ZGV4IDNlYmJlZjcyMmUzY2ViNTJjMDgwMGFiNmExNDE3ODZiOGE4YjBkYWEuLmRiMTYyZGFhM2Vl
YzU2Njg0NzkzNGZmNjI2MjI1Y2Q0ODM1MGEyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2NhbGl6ZWRTdHJpbmdzLmgKQEAgLTMzLDE4MCArMzMsMTgwIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEludFNpemU7CiAgICAgCi0gICAgU3RyaW5nIGlucHV0RWxlbWVu
dEFsdFRleHQoKTsKLSAgICBTdHJpbmcgcmVzZXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKLSAgICBT
dHJpbmcgc2VhcmNoYWJsZUluZGV4SW50cm9kdWN0aW9uKCk7Ci0gICAgU3RyaW5nIHN1Ym1pdEJ1
dHRvbkRlZmF1bHRMYWJlbCgpOwotICAgIFN0cmluZyBmaWxlQnV0dG9uQ2hvb3NlRmlsZUxhYmVs
KCk7Ci0gICAgU3RyaW5nIGZpbGVCdXR0b25DaG9vc2VNdWx0aXBsZUZpbGVzTGFiZWwoKTsKLSAg
ICBTdHJpbmcgZmlsZUJ1dHRvbk5vRmlsZVNlbGVjdGVkTGFiZWwoKTsKLSAgICBTdHJpbmcgZmls
ZUJ1dHRvbk5vRmlsZXNTZWxlY3RlZExhYmVsKCk7Ci0gICAgU3RyaW5nIGRlZmF1bHREZXRhaWxz
U3VtbWFyeVRleHQoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBpbnB1dEVsZW1lbnRBbHRUZXh0
KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgcmVzZXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKKyAg
ICBXVEZfRVhQT1JUIFN0cmluZyBzZWFyY2hhYmxlSW5kZXhJbnRyb2R1Y3Rpb24oKTsKKyAgICBX
VEZfRVhQT1JUIFN0cmluZyBzdWJtaXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKKyAgICBXVEZfRVhQ
T1JUIFN0cmluZyBmaWxlQnV0dG9uQ2hvb3NlRmlsZUxhYmVsKCk7CisgICAgV1RGX0VYUE9SVCBT
dHJpbmcgZmlsZUJ1dHRvbkNob29zZU11bHRpcGxlRmlsZXNMYWJlbCgpOworICAgIFdURl9FWFBP
UlQgU3RyaW5nIGZpbGVCdXR0b25Ob0ZpbGVTZWxlY3RlZExhYmVsKCk7CisgICAgV1RGX0VYUE9S
VCBTdHJpbmcgZmlsZUJ1dHRvbk5vRmlsZXNTZWxlY3RlZExhYmVsKCk7CisgICAgV1RGX0VYUE9S
VCBTdHJpbmcgZGVmYXVsdERldGFpbHNTdW1tYXJ5VGV4dCgpOwogCiAjaWYgUExBVEZPUk0oTUFD
KQotICAgIFN0cmluZyBjb3B5SW1hZ2VVbmtub3duRmlsZUxhYmVsKCk7CisgICAgV1RGX0VYUE9S
VCBTdHJpbmcgY29weUltYWdlVW5rbm93bkZpbGVMYWJlbCgpOwogI2VuZGlmCiAKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJ
bk5ld1dpbmRvdygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtU
b0Rpc2soKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2Fy
ZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdygp
OwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKCk7Ci0g
ICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCk7CisgICAg
V1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJbk5ld1dpbmRvdygp
OworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1Rv
RGlzaygpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlMaW5r
VG9DbGlwYm9hcmQoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdP
cGVuSW1hZ2VJbk5ld1dpbmRvdygpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2soKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZCgpOwogI2lmIFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCgpOwogI2VuZGlmCi0gICAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHkoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnR29CYWNrKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCgpOwot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1JlbG9hZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDdXQoKTsK
LSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsKKyAgICBXVEZfRVhQT1JUIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdygpOworICAgIFdURl9F
WFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHkoKTsKKyAgICBXVEZfRVhQT1JUIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdHb0JhY2soKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdTdG9wKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnUmVsb2FkKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
Q3V0KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsK
ICNpZiBQTEFURk9STShHVEspCi0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZSgp
OwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJbnB1dE1ldGhvZHMoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnVW5pY29kZSgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0RlbGV0ZSgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0lucHV0TWV0aG9kcygpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1VuaWNvZGUoKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZP
Uk0oUVQpIHx8IFBMQVRGT1JNKEVGTCkKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2Vs
ZWN0QWxsKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VsZWN0
QWxsKCk7CiAjZW5kaWYKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91
bmQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmcoKTsKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZygpOwotICAgIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdTZWFyY2hXZWIoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnTG9va1VwSW5EaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRTdHJpbmcpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluaygpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdJZ25vcmVHcmFtbWFyKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1NwZWxsaW5nTWVudSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxp
bmdQYW5lbChib29sIHNob3cpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja1Nw
ZWxsaW5nKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGls
ZVR5cGluZygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRo
U3BlbGxpbmcoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUoKTsKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQm9sZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdJdGFsaWMoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5l
KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ091dGxpbmUoKTsKLSAgICBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVjdGlvbk1lbnUoKTsKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdMZWZ0VG9SaWdodCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVm
dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0Zv
dW5kKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3Bl
bGxpbmcoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdMZWFyblNw
ZWxsaW5nKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VhcmNo
V2ViKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5E
aWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRTdHJpbmcpOworICAgIFdURl9FWFBPUlQg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rKCk7CisgICAgV1RGX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcigpOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSgpOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nob3dTcGVsbGluZ1BhbmVsKGJvb2wgc2hvdyk7CisgICAg
V1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZygpOworICAg
IFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5
cGluZygpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3Jh
bW1hcldpdGhTcGVsbGluZygpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0ZvbnRNZW51KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
Qm9sZCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0l0YWxpYygp
OworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1VuZGVybGluZSgpOwor
ICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ091dGxpbmUoKTsKKyAgICBX
VEZfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSgp
OworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25N
ZW51KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERp
cmVjdGlvbigpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0xlZnRU
b1JpZ2h0KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUmlnaHRU
b0xlZnQoKTsKICNpZiBQTEFURk9STShNQUMpCi0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1NlYXJjaEluU3BvdGxpZ2h0KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nob3dG
b250cygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdHlsZXMoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9ycygpOwotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdTcGVlY2hNZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1N0YXJ0
U3BlYWtpbmcoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKCk7
Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2Fs
bHkoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3Vic3RpdHV0aW9uc01lbnUoKTsK
LSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd1N1YnN0aXR1dGlvbnMoYm9vbCBzaG93
KTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU21hcnRDb3B5UGFzdGUoKTsKLSAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU21hcnRRdW90ZXMoKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnU21hcnREYXNoZXMoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
U21hcnRMaW5rcygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUZXh0UmVwbGFjZW1l
bnQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVHJhbnNmb3JtYXRpb25zTWVudSgp
OwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNYWtlVXBwZXJDYXNlKCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ01ha2VMb3dlckNhc2UoKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnQ2FwaXRhbGl6ZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdD
aGFuZ2VCYWNrKGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcpOworICAgIFdURl9FWFBPUlQg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0KCk7CisgICAgV1RGX0VY
UE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzKCk7CisgICAgV1RGX0VYUE9S
VCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3R5bGVzKCk7CisgICAgV1RGX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9ycygpOworICAgIFdURl9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnUoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnQ29ycmVjdFNwZWxsaW5nQXV0b21hdGljYWxseSgpOworICAgIFdU
Rl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1N1YnN0aXR1dGlvbnNNZW51KCk7Cisg
ICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd1N1YnN0aXR1dGlvbnMo
Ym9vbCBzaG93KTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFy
dENvcHlQYXN0ZSgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nt
YXJ0UXVvdGVzKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU21h
cnREYXNoZXMoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFy
dExpbmtzKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVGV4dFJl
cGxhY2VtZW50KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVHJh
bnNmb3JtYXRpb25zTWVudSgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ01ha2VVcHBlckNhc2UoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdNYWtlTG93ZXJDYXNlKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnQ2FwaXRhbGl6ZSgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0NoYW5nZUJhY2soY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZyk7CiAjZW5kaWYKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlblZpZGVvSW5OZXdXaW5kb3coKTsKLSAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkF1ZGlvSW5OZXdXaW5kb3coKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnQ29weVZpZGVvTGlua1RvQ2xpcGJvYXJkKCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlBdWRpb0xpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCk7Ci0gICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpOwotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdNZWRpYVBsYXkoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
YXVzZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKLSAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQoKTsKKyAgICBXVEZfRVhQT1JU
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuVmlkZW9Jbk5ld1dpbmRvdygpOworICAgIFdU
Rl9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5BdWRpb0luTmV3V2luZG93KCk7
CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weVZpZGVvTGlua1Rv
Q2xpcGJvYXJkKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29w
eUF1ZGlvTGlua1RvQ2xpcGJvYXJkKCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7CisgICAgV1RGX0VYUE9S
VCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7CisgICAgV1RGX0VYUE9SVCBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZSgpOworICAgIFdURl9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KCk7CiAjZW5kaWYgLy8gRU5BQkxFKENP
TlRFWFRfTUVOVVMpCiAKLSAgICBTdHJpbmcgc2VhcmNoTWVudU5vUmVjZW50U2VhcmNoZXNUZXh0
KCk7Ci0gICAgU3RyaW5nIHNlYXJjaE1lbnVSZWNlbnRTZWFyY2hlc1RleHQoKTsKLSAgICBTdHJp
bmcgc2VhcmNoTWVudUNsZWFyUmVjZW50U2VhcmNoZXNUZXh0KCk7CisgICAgV1RGX0VYUE9SVCBT
dHJpbmcgc2VhcmNoTWVudU5vUmVjZW50U2VhcmNoZXNUZXh0KCk7CisgICAgV1RGX0VYUE9SVCBT
dHJpbmcgc2VhcmNoTWVudVJlY2VudFNlYXJjaGVzVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIHNlYXJjaE1lbnVDbGVhclJlY2VudFNlYXJjaGVzVGV4dCgpOwogCi0gICAgU3RyaW5nIEFY
V2ViQXJlYVRleHQoKTsKLSAgICBTdHJpbmcgQVhMaW5rVGV4dCgpOwotICAgIFN0cmluZyBBWExp
c3RNYXJrZXJUZXh0KCk7Ci0gICAgU3RyaW5nIEFYSW1hZ2VNYXBUZXh0KCk7Ci0gICAgU3RyaW5n
IEFYSGVhZGluZ1RleHQoKTsKLSAgICBTdHJpbmcgQVhEZWZpbml0aW9uTGlzdFRlcm1UZXh0KCk7
Ci0gICAgU3RyaW5nIEFYRGVmaW5pdGlvbkxpc3REZWZpbml0aW9uVGV4dCgpOworICAgIFdURl9F
WFBPUlQgU3RyaW5nIEFYV2ViQXJlYVRleHQoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBBWExp
bmtUZXh0KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgQVhMaXN0TWFya2VyVGV4dCgpOworICAg
IFdURl9FWFBPUlQgU3RyaW5nIEFYSW1hZ2VNYXBUZXh0KCk7CisgICAgV1RGX0VYUE9SVCBTdHJp
bmcgQVhIZWFkaW5nVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIEFYRGVmaW5pdGlvbkxp
c3RUZXJtVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIEFYRGVmaW5pdGlvbkxpc3REZWZp
bml0aW9uVGV4dCgpOwogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIFN0cmluZyBBWEFSSUFDb250
ZW50R3JvdXBUZXh0KGNvbnN0IFN0cmluZyYgYXJpYVR5cGUpOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIEFYQVJJQUNvbnRlbnRHcm91cFRleHQoY29uc3QgU3RyaW5nJiBhcmlhVHlwZSk7CiAjZW5k
aWYKICAgICAKLSAgICBTdHJpbmcgQVhCdXR0b25BY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFY
UmFkaW9CdXR0b25BY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYVGV4dEZpZWxkQWN0aW9uVmVy
YigpOwotICAgIFN0cmluZyBBWENoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKLSAgICBTdHJp
bmcgQVhVbmNoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKLSAgICBTdHJpbmcgQVhNZW51TGlz
dEFjdGlvblZlcmIoKTsKLSAgICBTdHJpbmcgQVhNZW51TGlzdFBvcHVwQWN0aW9uVmVyYigpOwot
ICAgIFN0cmluZyBBWExpbmtBY3Rpb25WZXJiKCk7Ci0KLSAgICBTdHJpbmcgbWlzc2luZ1BsdWdp
blRleHQoKTsKLSAgICBTdHJpbmcgY3Jhc2hlZFBsdWdpblRleHQoKTsKLSAgICBTdHJpbmcgbXVs
dGlwbGVGaWxlVXBsb2FkVGV4dCh1bnNpZ25lZCBudW1iZXJPZkZpbGVzKTsKLSAgICBTdHJpbmcg
dW5rbm93bkZpbGVTaXplVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIEFYQnV0dG9uQWN0
aW9uVmVyYigpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIEFYUmFkaW9CdXR0b25BY3Rpb25WZXJi
KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgQVhUZXh0RmllbGRBY3Rpb25WZXJiKCk7CisgICAg
V1RGX0VYUE9SVCBTdHJpbmcgQVhDaGVja2VkQ2hlY2tCb3hBY3Rpb25WZXJiKCk7CisgICAgV1RG
X0VYUE9SVCBTdHJpbmcgQVhVbmNoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKKyAgICBXVEZf
RVhQT1JUIFN0cmluZyBBWE1lbnVMaXN0QWN0aW9uVmVyYigpOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIEFYTWVudUxpc3RQb3B1cEFjdGlvblZlcmIoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBB
WExpbmtBY3Rpb25WZXJiKCk7CisKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBtaXNzaW5nUGx1Z2lu
VGV4dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGNyYXNoZWRQbHVnaW5UZXh0KCk7CisgICAg
V1RGX0VYUE9SVCBTdHJpbmcgbXVsdGlwbGVGaWxlVXBsb2FkVGV4dCh1bnNpZ25lZCBudW1iZXJP
ZkZpbGVzKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyB1bmtub3duRmlsZVNpemVUZXh0KCk7CiAK
ICNpZiBQTEFURk9STShXSU4pCi0gICAgU3RyaW5nIHVwbG9hZEZpbGVUZXh0KCk7Ci0gICAgU3Ry
aW5nIGFsbEZpbGVzVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIHVwbG9hZEZpbGVUZXh0
KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgYWxsRmlsZXNUZXh0KCk7CiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKE1BQykKLSAgICBTdHJpbmcgYnVpbHRJblBERlBsdWdpbk5hbWUoKTsKLSAgICBT
dHJpbmcgcGRmRG9jdW1lbnRUeXBlRGVzY3JpcHRpb24oKTsKLSAgICBTdHJpbmcga2V5Z2VuTWVu
dUl0ZW01MTIoKTsKLSAgICBTdHJpbmcga2V5Z2VuTWVudUl0ZW0xMDI0KCk7Ci0gICAgU3RyaW5n
IGtleWdlbk1lbnVJdGVtMjA0OCgpOwotICAgIFN0cmluZyBrZXlnZW5LZXljaGFpbkl0ZW1OYW1l
KGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgYnVpbHRJblBERlBs
dWdpbk5hbWUoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBwZGZEb2N1bWVudFR5cGVEZXNjcmlw
dGlvbigpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGtleWdlbk1lbnVJdGVtNTEyKCk7CisgICAg
V1RGX0VYUE9SVCBTdHJpbmcga2V5Z2VuTWVudUl0ZW0xMDI0KCk7CisgICAgV1RGX0VYUE9SVCBT
dHJpbmcga2V5Z2VuTWVudUl0ZW0yMDQ4KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcga2V5Z2Vu
S2V5Y2hhaW5JdGVtTmFtZShjb25zdCBTdHJpbmcmIGhvc3QpOwogI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShJT1MpCi0gICAgU3RyaW5nIGh0bWxTZWxlY3RNdWx0aXBsZUl0ZW1zKHNpemVfdCBudW0p
OworICAgIFdURl9FWFBPUlQgU3RyaW5nIGh0bWxTZWxlY3RNdWx0aXBsZUl0ZW1zKHNpemVfdCBu
dW0pOwogI2VuZGlmCiAKLSAgICBTdHJpbmcgaW1hZ2VUaXRsZShjb25zdCBTdHJpbmcmIGZpbGVu
YW1lLCBjb25zdCBJbnRTaXplJiBzaXplKTsKLQotICAgIFN0cmluZyBtZWRpYUVsZW1lbnRMb2Fk
aW5nU3RhdGVUZXh0KCk7Ci0gICAgU3RyaW5nIG1lZGlhRWxlbWVudExpdmVCcm9hZGNhc3RTdGF0
ZVRleHQoKTsKLSAgICBTdHJpbmcgbG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudFN0cmluZyhj
b25zdCBTdHJpbmcmKTsKLSAgICBTdHJpbmcgbG9jYWxpemVkTWVkaWFDb250cm9sRWxlbWVudEhl
bHBUZXh0KGNvbnN0IFN0cmluZyYpOwotICAgIFN0cmluZyBsb2NhbGl6ZWRNZWRpYVRpbWVEZXNj
cmlwdGlvbihmbG9hdCk7Ci0KLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yQ2hl
Y2tib3hUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9y
RmlsZVRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JN
dWx0aXBsZUZpbGVUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNz
aW5nRm9yUmFkaW9UZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNz
aW5nRm9yU2VsZWN0VGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNt
YXRjaFRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hGb3JF
bWFpbFRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hGb3JN
dWx0aXBsZUVtYWlsVGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNt
YXRjaEZvclVSTFRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VQYXR0ZXJuTWlz
bWF0Y2hUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVG9vTG9uZ1RleHQoaW50
IHZhbHVlTGVuZ3RoLCBpbnQgbWF4TGVuZ3RoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3Nh
Z2VSYW5nZVVuZGVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtaW5pbXVtKTsKLSAgICBTdHJpbmcg
dmFsaWRhdGlvbk1lc3NhZ2VSYW5nZU92ZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1heGltdW0p
OwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVN0ZXBNaXNtYXRjaFRleHQoY29uc3QgU3Ry
aW5nJiBiYXNlLCBjb25zdCBTdHJpbmcmIHN0ZXApOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGlt
YWdlVGl0bGUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgSW50U2l6ZSYpOworCisgICAg
V1RGX0VYUE9SVCBTdHJpbmcgbWVkaWFFbGVtZW50TG9hZGluZ1N0YXRlVGV4dCgpOworICAgIFdU
Rl9FWFBPUlQgU3RyaW5nIG1lZGlhRWxlbWVudExpdmVCcm9hZGNhc3RTdGF0ZVRleHQoKTsKKyAg
ICBXVEZfRVhQT1JUIFN0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50U3RyaW5nKGNv
bnN0IFN0cmluZyYpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJv
bEVsZW1lbnRIZWxwVGV4dChjb25zdCBTdHJpbmcmKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyBs
b2NhbGl6ZWRNZWRpYVRpbWVEZXNjcmlwdGlvbihmbG9hdCk7CisKKyAgICBXVEZfRVhQT1JUIFN0
cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQoKTsKKyAgICBXVEZfRVhQT1JU
IFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCgpOwor
ICAgIFdURl9FWFBPUlQgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yRmls
ZVRleHQoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlz
c2luZ0Zvck11bHRpcGxlRmlsZVRleHQoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yU2VsZWN0VGV4dCgpOworICAgIFdU
Rl9FWFBPUlQgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOworICAg
IFdURl9FWFBPUlQgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yRW1haWxU
ZXh0KCk7CisgICAgV1RGX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0
Y2hGb3JNdWx0aXBsZUVtYWlsVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5nIHZhbGlkYXRp
b25NZXNzYWdlVHlwZU1pc21hdGNoRm9yVVJMVGV4dCgpOworICAgIFdURl9FWFBPUlQgU3RyaW5n
IHZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgpOworICAgIFdURl9FWFBPUlQg
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVG9vTG9uZ1RleHQoaW50IHZhbHVlTGVuZ3RoLCBpbnQg
bWF4TGVuZ3RoKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVJhbmdl
VW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOworICAgIFdURl9FWFBPUlQgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VPdmVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtYXhp
bXVtKTsKKyAgICBXVEZfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVN0ZXBNaXNtYXRj
aFRleHQoY29uc3QgU3RyaW5nJiBiYXNlLCBjb25zdCBTdHJpbmcmIHN0ZXApOwogCiAjaWYgIVBM
QVRGT1JNKENIUk9NSVVNKQogI2RlZmluZSBXRUJfVUlfU1RSSU5HKHN0cmluZywgZGVzY3JpcHRp
b24pIFdlYkNvcmU6OmxvY2FsaXplZFN0cmluZyhzdHJpbmcpCiAjZGVmaW5lIFdFQl9VSV9TVFJJ
TkdfS0VZKHN0cmluZywga2V5LCBkZXNjcmlwdGlvbikgV2ViQ29yZTo6bG9jYWxpemVkU3RyaW5n
KGtleSkKIAotICAgIFN0cmluZyBsb2NhbGl6ZWRTdHJpbmcoY29uc3QgY2hhcioga2V5KTsKKyAg
ICBXVEZfRVhQT1JUIFN0cmluZyBsb2NhbGl6ZWRTdHJpbmcoY29uc3QgY2hhcioga2V5KTsKICNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAK
aW5kZXggZjJjZjI3MTkyMzFhZmQ0MjA4YmExYjA2ZDRmYzNhMDIyYjIyMDVjZC4uZTM5ZTJkNTVk
OWNmYmQzOGMwODA3NjFjMDA5ZjczOWMyNmJmYzk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmNwcApAQCAtMzUwLDQgKzM1MCwzIEBAIHZvaWQgVGltZXJCYXNlOjpmaXJlVGltZXJzSW5OZXN0
ZWRFdmVudExvb3AoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaW1lci5oCmluZGV4IDYzN2JiYzA1NTNlNTVjODRhMDNkYzE0YjUwYmIwNDk3NmVjZWEwOTEu
LjVmZjE0ZWNhNzg0NDQyNmFiNTZjOWMzOThlMzVlM2YwOWE5ZDhlZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGltZXIuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IFRpbWVySGVhcEVsZW1lbnQ7CiAKLWNsYXNzIFRpbWVyQmFzZSB7CitjbGFzcyBXVEZfRVhQT1JU
IFRpbWVyQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgKaW5kZXggNzU4ODJj
MGE2MzVmZjNmODc3NGM1MjljNzQwNGYxZGVkMWQ1M2MzMy4uYWJkNWZkZmUyYjQ4NWQ3MDdhYTFm
MTE4NmFhNzRmODNjMGQwM2U4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL0F1ZGlvRGVzdGluYXRpb24uaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBBdWRpb1NvdXJj
ZVByb3ZpZGVyOwogLy8gQWJzdHJhY3Rpb24gZm9yIGFuIGF1ZGlvIG91dHB1dCB0byB0aGUgYXVk
aW8gaGFyZHdhcmUKIC8vIEFuIEF1ZGlvU291cmNlUHJvdmlkZXIgaXMgY2FsbGVkIGJhY2sgcGVy
aW9kaWNhbGx5IHRvIHByb3ZpZGUgdGhlIHJlbmRlcmVkIGF1ZGlvIHN0cmVhbS4KIAotY2xhc3Mg
QXVkaW9EZXN0aW5hdGlvbiB7CitjbGFzcyBXVEZfRVhQT1JUIEF1ZGlvRGVzdGluYXRpb24gewog
cHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEF1ZGlvRGVzdGluYXRpb24+IGNyZWF0ZShB
dWRpb1NvdXJjZVByb3ZpZGVyJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKaW5kZXggMTI4ZDJh
M2U5ODgzY2QyYWI2Yjg0NTgwYzA2ZTJkYWZjMGU2MDMyZS4uYjU1Nzg5N2UzOWQxNjM4YzA2ODE5
MTExMDFiMmFmNmMwZGU4MDY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKQEAgLTkxLDcgKzkxLDcgQEAgc3RydWN0IEZvbnRS
ZW5kZXJTdHlsZTsKIC8vIHN1cHBseSBpbXBsZW1lbnRhdGlvbnMgZm9yIFBsYXRmb3JtIGZ1bmN0
aW9uYWxpdHkgdGhhdCBXZWJDb3JlIGNhbm5vdCBhY2Nlc3MKIC8vIGRpcmVjdGx5IChmb3IgZXhh
bXBsZSwgYmVjYXVzZSBXZWJDb3JlIGlzIGluIGEgc2FuZGJveCkuCiAKLWNsYXNzIFBsYXRmb3Jt
U3VwcG9ydCB7CitjbGFzcyBXVEZfRVhQT1JUIFBsYXRmb3JtU3VwcG9ydCB7CiBwdWJsaWM6CiAg
ICAgLy8gQ2FjaGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgdm9pZCBjYWNoZU1ldGFkYXRhKGNvbnN0IEtV
UkwmLCBkb3VibGUgcmVzcG9uc2VUaW1lLCBjb25zdCBWZWN0b3I8Y2hhcj4mKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCmlu
ZGV4IDUzMTcyNjM5OGExZjQyMWU1MTBhMGMwMTdkYTQ0YmIxZjRmM2RkMGQuLjYyMTI4NjhkYjVm
ZDA0Y2EzZjZlNGQ2MWM5ZDVmMGE4YmU1NGM1ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAtMTE5LDcgKzExOSw3
IEBAIHN0cnVjdCBBY3RpdmVJbmZvIHsKIAogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRl
OwogCi1jbGFzcyBHcmFwaGljc0NvbnRleHQzRCA6IHB1YmxpYyBSZWZDb3VudGVkPEdyYXBoaWNz
Q29udGV4dDNEPiB7CitjbGFzcyBXVEZfRVhQT1JUIEdyYXBoaWNzQ29udGV4dDNEIDogcHVibGlj
IFJlZkNvdW50ZWQ8R3JhcGhpY3NDb250ZXh0M0Q+IHsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAg
ICAgICAgREVQVEhfQlVGRkVSX0JJVCA9IDB4MDAwMDAxMDAsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0ZW5zaW9uczNE
Q2hyb21pdW0uaAppbmRleCA1MzMyMmYwZjI1ZWQ0MDdhMjVlNmI2MjMyN2U4NzEyODlkMThiZDVh
Li4yMDZkYzNjYWIzN2ZmMmM5NDBjMzNkNDQ0MmViODg1YmE3NjgyNDA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJv
bWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0V4
dGVuc2lvbnMzRENocm9taXVtLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOwogY2xhc3MgSW1hZ2VCdWZmZXI7CiAK
LWNsYXNzIEV4dGVuc2lvbnMzRENocm9taXVtIDogcHVibGljIEV4dGVuc2lvbnMzRCB7CitjbGFz
cyBXVEZfRVhQT1JUIEV4dGVuc2lvbnMzRENocm9taXVtIDogcHVibGljIEV4dGVuc2lvbnMzRCB7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RXh0ZW5zaW9uczNEQ2hyb21pdW0oKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5
ZXJQcml2YXRlQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmgKaW5kZXggNTM0MjQ0ZDc2YWRjYTQ4
M2UxZDVmNDczNmJmZjg4MjJlODZkMDI5NC4uYzg2NDA2ZTI5ODExYjhhMDE2NjVhYmRjMzc3MDBl
MDliZDY1YTdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9NZWRpYVBsYXllclByaXZhdGVDaHJvbWl1bS5o
CkBAIC0zNyw3ICszNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgTWVkaWFQ
bGF5ZXJQcml2YXRlIHsKK2NsYXNzIFdURl9FWFBPUlQgTWVkaWFQbGF5ZXJQcml2YXRlIHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlck1lZGlhRW5naW5lKE1lZGlhRW5naW5lUmVn
aXN0cmFyKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaAppbmRleCA2YzA1NTk5NGM1OGVj
YTQxMTMxOWE5Yzk5ZDE0M2Y5YzE3ZjNlMmMyLi43OWQyMzUyNTg4MDhjZjIzZTM5ODRlMWFkMmI3
YTI5MjExMDU0NDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSW5wdXRIYW5kbGVyLmgKQEAgLTQwLDcgKzQwLDcg
QEAgY2xhc3MgSW50U2l6ZTsKIC8vCiAvLyBUaGUgQ0NJbnB1dEhhbmRsZXIgaXMgY29uc3RydWN0
ZWQgd2l0aCBhbiBJbnB1dEhhbmRsZXJDbGllbnQsIHdoaWNoIGlzIHRoZQogLy8gaW50ZXJmYWNl
IGJ5IHdoaWNoIHRoZSBoYW5kbGVyIGNhbiBtYW5pcHVsYXRlIHRoZSBMYXllclRyZWUuCi1jbGFz
cyBDQ0lucHV0SGFuZGxlckNsaWVudCB7CitjbGFzcyBXVEZfRVhQT1JUIENDSW5wdXRIYW5kbGVy
Q2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlckNsaWVudCk7
CiBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgPSAwOwpAQCAtODAs
NyArODAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q0NJbnB1dEhhbmRsZXJDbGllbnQo
KSB7IH0KIH07CiAKLWNsYXNzIENDSW5wdXRIYW5kbGVyIHsKK2NsYXNzIFdURl9FWFBPUlQgQ0NJ
bnB1dEhhbmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENDSW5wdXRIYW5kbGVyKTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxDQ0lucHV0SGFuZGxlcj4gY3JlYXRlKEND
SW5wdXRIYW5kbGVyQ2xpZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwCmluZGV4IGU0ZDYwMTQ1MTFiYzFj
NWRiMGU2ODdiZDFmNjgzZmFlODAzNmM1YWEuLjQyYjk3MjlmMGE2ZDA5MTgzMzIxOWU0YWFmZmNh
ODk1MjJhMzdiY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwCkBAIC0zNywxMSArMzcsMTEgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgewogI2lmbmRlZiBOREVCVUcKLWJvb2wgaW1wbFRo
cmVhZElzT3ZlcnJpZGRlbiA9IGZhbHNlOwotVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRE92ZXJy
aWRlblRvQmVJbXBsVGhyZWFkOworV1RGX0VYUE9SVCBib29sIGltcGxUaHJlYWRJc092ZXJyaWRk
ZW4gPSBmYWxzZTsKK1dURl9FWFBPUlQgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRE92ZXJyaWRl
blRvQmVJbXBsVGhyZWFkOwogI2VuZGlmCi1DQ1RocmVhZCogc19tYWluVGhyZWFkID0gMDsKLUND
VGhyZWFkKiBzX2ltcGxUaHJlYWQgPSAwOworV1RGX0VYUE9SVCBDQ1RocmVhZCogc19tYWluVGhy
ZWFkID0gMDsKK1dURl9FWFBPUlQgQ0NUaHJlYWQqIHNfaW1wbFRocmVhZCA9IDA7CiB9CiAKIHZv
aWQgQ0NQcm94eTo6c2V0TWFpblRocmVhZChDQ1RocmVhZCogdGhyZWFkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCmlu
ZGV4IGE1NDY4MDIxMmI1ODc4NDEwY2ZhZjc4ZWZjN2NjNjM3Y2ZjZDFiYzQuLjc4NjE3OGIzOGJj
N2MwNWY3NDljZjJlNzlhZGZkN2MxYTg1OTNhZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmgKQEAgLTQzLDcgKzQz
LDcgQEAgY2xhc3MgVGV4dHVyZU1hbmFnZXI7CiAKIC8vIEFic3RyYWN0IGNsYXNzIHJlc3BvbnNp
YmxlIGZvciBwcm94eWluZyBjb21tYW5kcyBmcm9tIHRoZSBtYWluLXRocmVhZCBzaWRlIG9mCiAv
LyB0aGUgY29tcG9zaXRvciBvdmVyIHRvIHRoZSBjb21wb3NpdG9yIGltcGxlbWVudGF0aW9uLgot
Y2xhc3MgQ0NQcm94eSB7CitjbGFzcyBXVEZfRVhQT1JUIENDUHJveHkgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKENDUHJveHkpOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNldE1haW5U
aHJlYWQoQ0NUaHJlYWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5oCmluZGV4IGEzN2Q2NmEyNmM3NjUxYmNkYmEx
YzdjODdmYzRjMmFjMGE4ZjYxODkuLmQyNTExZjc1NGNhNmFhM2Y5Nzc5OWQ0YWQ3MmU2YTRjNmUw
ZGQ1MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1DZW50ZXIuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIGRpZENvbXBsZXRlUXVlcnkoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3Im
IGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNl
cykgPSAwOwogfTsKIAotY2xhc3MgTWVkaWFTdHJlYW1DZW50ZXIgeworY2xhc3MgV1RGX0VYUE9S
VCBNZWRpYVN0cmVhbUNlbnRlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFTdHJl
YW1DZW50ZXIpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25I
YW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbkhhbmRsZXIuaAppbmRleCBmYTIyY2Y0YzdjYTQyODA1NTI5OTNlNDIzZWFiZWNkODczZGYx
YWM1Li40OThmMjE1MzRjNGFjMjlmNTZkNTkyNDFhYmMxNjY5Yjc0NWFkYzRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkhhbmRs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbkhhbmRsZXIuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQ7CiBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDsKICNlbmRpZgog
Ci1jbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXIgeworY2xhc3MgV1RGX0VYUE9SVCBQZWVyQ29u
bmVjdGlvbkhhbmRsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBlZXJDb25uZWN0aW9u
SGFuZGxlcik7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZWdpc3RyeS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaAppbmRleCA1Mjg0YTli
MGQ2MDBlYzQ4ODA5ZWY2YmU2Njc1ZWJlZGZhMGFhNjRkLi4zM2VjMGE1NTkxODdhNDBjZjUzN2Qx
MzI5OTQzMTlhMmUzMmFhNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvQmxvYlJlZ2lzdHJ5LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0
OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogLy8gUmV0dXJucyBhIHNpbmdsZSBpbnN0YW5j
ZSBvZiBCbG9iUmVnaXN0cnkuCi1CbG9iUmVnaXN0cnkmIGJsb2JSZWdpc3RyeSgpOyAKK1dURl9F
WFBPUlQgQmxvYlJlZ2lzdHJ5JiBibG9iUmVnaXN0cnkoKTsgCiAKIC8vIEJsb2JSZWdpc3RyeSBp
cyBub3QgdGhyZWFkLXNhZmUuIEl0IHNob3VsZCBvbmx5IGJlIGNhbGxlZCBmcm9tIG1haW4gdGhy
ZWFkLgogY2xhc3MgQmxvYlJlZ2lzdHJ5IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAppbmRleCA4NjI2ZTA5ZTgzYzU0YjI5NDZhMzg4NTYx
ZDczN2QzZmRjYjFkYWQ0Li4zODcyMDViZDA2MWZmOTY2MDExNTg3MTFmNzdjNDQ1ZGQ3NTYxMmY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5oCkBAIC05NSw3ICs5NSw3IEBAIGVudW0gU3RvcmVkQ3JlZGVudGlhbHMgewogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gY2xhc3MgVGltZXI7CiAKLWNsYXNzIFJlc291cmNlSGFuZGxlIDogcHVi
bGljIFJlZkNvdW50ZWQ8UmVzb3VyY2VIYW5kbGU+CitjbGFzcyBXVEZfRVhQT1JUIFJlc291cmNl
SGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8UmVzb3VyY2VIYW5kbGU+CiAjaWYgUExBVEZPUk0o
TUFDKSB8fCBVU0UoQ0ZORVRXT1JLKSB8fCBVU0UoQ1VSTCkKICAgICAsIHB1YmxpYyBBdXRoZW50
aWNhdGlvbkNsaWVudAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2Nocm9taXVtL1NvY2tldFN0cmVhbUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaAppbmRleCA2ZTAy
MTRkMjRiYzgyYjY2NTU3ZDY0YmQ0ZTc5MTk2ZWIyMGRmN2FmLi43Zjg0MTExMDIwZWU2YjcyY2Vl
NGQ4MjQ4YjNkNTVmZDhiM2UxMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2Nocm9taXVtL1NvY2tldFN0cmVhbUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vU29ja2V0U3RyZWFtSGFuZGxlLmgKQEAgLTQ0
LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNvY2tldFN0cmVhbUhh
bmRsZUNsaWVudDsKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGVJbnRlcm5hbDsKIAotICAg
IGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFNvY2tldFN0cmVh
bUhhbmRsZT4sIHB1YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlIHsKKyAgICBjbGFzcyBXVEZf
RVhQT1JUIFNvY2tldFN0cmVhbUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFNvY2tldFN0cmVh
bUhhbmRsZT4sIHB1YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNvY2tldFN0cmVhbUhhbmRsZT4gY3JlYXRlKGNvbnN0
IEtVUkwmIHVybCwgU29ja2V0U3RyZWFtSGFuZGxlQ2xpZW50KiBjbGllbnQpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTb2NrZXRTdHJlYW1IYW5kbGUodXJsLCBjbGllbnQpKTsgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VJbmZvLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VJbmZvLmgKaW5kZXggYjkwOGJkODk0MzZiM2NkNTA4ZjQ5YmMwOWYx
M2ZiNjU4MzRjOGM2Mi4uY2VmZGZhOWM4NmVlYzM0ZWMzZjJmN2E1NWE1N2M0ZmQ1NTdmZjE0MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlSW5mby5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUluZm8uaApAQCAtNDMsNyArNDMsNyBAQCBjbGFz
cyBTdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2s7CiBjbGFzcyBTdG9yYWdlSW5mb1F1b3RhQ2FsbGJh
Y2s7CiBjbGFzcyBTdG9yYWdlSW5mb1VzYWdlQ2FsbGJhY2s7CiAKLWNsYXNzIFN0b3JhZ2VJbmZv
IDogcHVibGljIFJlZkNvdW50ZWQ8U3RvcmFnZUluZm8+IHsKK2NsYXNzIFdURl9FWFBPUlQgU3Rv
cmFnZUluZm8gOiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlSW5mbz4gewogcHVibGljOgogICAg
IGVudW0gewogICAgICAgICBURU1QT1JBUlksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZS5oCmluZGV4IDYwMTc2NDVkZDczMGZhNzU3ZmM1MmIyNDA0MTM0YmZhNTkwYzI1
N2EuLjk3YjRhZTcwZjhmYTM2MWY1OTA2ZjNiN2Y3Njk0YmM2MTk4ZjAwYTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU3RvcmFnZUFyZWE7CiAKIC8vIFRoaXMgaW50ZXJmYWNl
IGlzIHJlcXVpcmVkIGZvciBDaHJvbWl1bSBzaW5jZSB0aGVzZSBhY3Rpb25zIG5lZWQgdG8gYmUg
cHJveGllZCBiZXR3ZWVuIHByb2Nlc3Nlcy4KLWNsYXNzIFN0b3JhZ2VOYW1lc3BhY2UgOiBwdWJs
aWMgUmVmQ291bnRlZDxTdG9yYWdlTmFtZXNwYWNlPiB7CitjbGFzcyBXVEZfRVhQT1JUIFN0b3Jh
Z2VOYW1lc3BhY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlTmFtZXNwYWNlPiB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZU5hbWVzcGFjZT4gbG9jYWxTdG9yYWdl
TmFtZXNwYWNlKGNvbnN0IFN0cmluZyYgcGF0aCwgdW5zaWduZWQgcXVvdGEpOwogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+IHNlc3Npb25TdG9yYWdlTmFtZXNwYWNlKFBh
Z2UqLCB1bnNpZ25lZCBxdW90YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IGMzZDg3ZWM5MGVhYzdiMGQ5MDA1ZWQxNTI5MDE4NGVh
Nzc1YjNlYWQuLjRkZWIwMDA2OTQ2ZDcwN2VhM2E3OWExZDZkZWFjOThlOTE0Y2FkOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCkBAIC00
Nyw3ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVmIGludCBFeGNlcHRp
b25Db2RlOwogCiAgICAgLy8gSW50ZXJmYWNlIHRvIGEgcmVwb3NpdG9yeSB3aGljaCBtYW5hZ2Vz
IHJlZmVyZW5jZXMgdG8gdGhlIHNldCBvZiBhY3RpdmUgc2hhcmVkIHdvcmtlcnMuCi0gICAgY2xh
c3MgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7CisgICAgY2xhc3MgV1RGX0VYUE9SVCBTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5IHsKICAgICBwdWJsaWM6CiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBp
ZiB0aGUgcGxhdGZvcm0gc3VwcG9ydHMgU2hhcmVkV29ya2Vycywgb3RoZXJ3aXNlIGZhbHNlLgog
ICAgICAgICBzdGF0aWMgYm9vbCBpc0F2YWlsYWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dFByb3h5LmgKaW5kZXggMDU5NzZhZjQyNWJkZjZkYzFiY2ZiMmE0MDRk
NDllMGQ0MzVlMDQ3OS4uZGUzOTgzNjViNmYyYjA5ZTEzNTVlMGZhNTlkYjQxZjNjOTY2ZDVmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oCkBAIC00NCw3
ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXb3JrZXI7CiAKICAgICAv
LyBBIHByb3h5IHRvIHRhbGsgdG8gdGhlIHdvcmtlciBjb250ZXh0LgotICAgIGNsYXNzIFdvcmtl
ckNvbnRleHRQcm94eSB7CisgICAgY2xhc3MgV1RGX0VYUE9SVCBXb3JrZXJDb250ZXh0UHJveHkg
ewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFdvcmtlckNvbnRleHRQcm94eSogY3JlYXRl
KFdvcmtlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggMWUxYTQxNjY1ZTc5
ZGQyY2E1ZDM4YWRlZDY5NTg1MTllMTU3NDE0My4uNmI2YjgzZjU1YTVmZDc3MjczODRjMGU4MzVl
MWIzMzUzZmE5ZDkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjk4LDgwICs2
OTgsMTcgQEAKICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsn
aW5zaWRlX2Nocm9taXVtX2J1aWxkPT0xJywgewogICAgICAgICAgICAgICAgICAgICAndHlwZSc6
ICc8KGNvbXBvbmVudCknLAotCiAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwor
ICAgICAgICAgICAgICAgICAgICAgICAgIyBBTUk6IGRyb3AgdGhpcyBlbnRpcmUgc2VjdGlvbj8g
IEFueXRoaW5nIHRoYXQncyBsZWZ0IGhlcmUgc2hvdWxkIGhhdmUgYSByZWFzb24uCiAgICAgICAg
ICAgICAgICAgICAgICAgICBbJ2NvbXBvbmVudD09InNoYXJlZF9saWJyYXJ5IicsIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnZGVmaW5lcyc6IFsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ1dFQktJVF9ETEwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXA6d2ViY29yZV9iaW5kaW5ncycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBw
b3J0JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rp
cikvYmFzZS9iYXNlLmd5cDp0ZXN0X3N1cHBvcnRfYmFzZScsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2dsZXVy
bC5neXA6Z29vZ2xldXJsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hy
b21pdW1fc3JjX2RpcikvdGVzdGluZy9ndGVzdC5neXA6Z3Rlc3QnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2dtb2NrLmd5cDpn
bW9jaycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL3RoaXJkX3BhcnR5L2ljdS9pY3UuZ3lwOionLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJqcGVnX3R1cmJvL2xp
YmpwZWcuZ3lwOmxpYmpwZWcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChj
aHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJwbmcvbGlicG5nLmd5cDpsaWJwbmcnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGly
ZF9wYXJ0eS9saWJ4bWwvbGlieG1sLmd5cDpsaWJ4bWwnLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJ4c2x0L2xpYnhz
bHQuZ3lwOmxpYnhzbHQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJv
bWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9tb2RwX2I2NC9tb2RwX2I2NC5neXA6bW9kcF9iNjQn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90
aGlyZF9wYXJ0eS9vdHMvb3RzLmd5cDpvdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS96bGliL3psaWIuZ3lwOnpsaWIn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92
OC90b29scy9neXAvdjguZ3lwOnY4JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IyBXZSBtdXN0IG5vdCBhZGQgd2Via2l0X3N1cHBvcnQgaGVyZSBiZWNhdXNlIG9mIGN5Y2xpYyBk
ZXBlbmRlbmN5LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ2RpcmVjdF9kZXBlbmRlbnRfc2V0dGluZ3MnOiB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdkZWZpbmVzJzogWwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ1dFQktJVF9ETEwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2V4cG9ydF9kZXBlbmRlbnRfc2V0dGluZ3MnOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL3RlbXBfZ3lwL2dv
b2dsZXVybC5neXA6Z29vZ2xldXJsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JzwoY2hyb21pdW1fc3JjX2RpcikvdjgvdG9vbHMvZ3lwL3Y4Lmd5cDp2OCcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jbHVk
ZV9kaXJzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdBUk5JTkc6IERv
IG5vdCB2aWV3IHRoaXMgcGFydGljdWxhciBjYXNlIGFzIGEgcHJlY2VkZW50IGZvcgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAjIGluY2x1ZGluZyBXZWJDb3JlIGhlYWRlcnMgaW4g
RHVtcFJlbmRlclRyZWUgcHJvamVjdC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Jy4uLy4uL1dlYkNvcmUvdGVzdGluZy92OCcsICMgZm9yIFdlYkNvcmVUZXN0U3VwcG9ydC5oLCBu
ZWVkZWQgdG8gbGluayBpbiB3aW5kb3cuaW50ZXJuYWxzIGNvZGUuCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc291cmNlcyc6IFsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxl
cyknLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL1dlYlRlc3RpbmdTdXBw
b3J0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViVGVz
dGluZ1N1cHBvcnQuaCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9X
ZWJVbml0VGVzdHMuY3BwJywgICAjIENvbXBvbmVudHMgdGVzdCBydW5uZXIgc3VwcG9ydC4KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdzb3VyY2VzISc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBzaG91
bGQgbm90IGluY2x1ZGUgZmlsZXMgZGVwZW5kaW5nIG9uIHdlYmtpdF9zdXBwb3J0LgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAjIFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRf
c3VwcG9ydCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMg
ZGVmaW5lZCBvbmx5IGluICFXRUJLSVRfSU1QTEVNRU5UQVRJT04uCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICd0ZXN0cy9Bc3NvY2lhdGVkVVJMTG9hZGVyVGVzdC5jcHAnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvRnJhbWVUZXN0SGVscGVycy5jcHAn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUG9wdXBNZW51VGVzdC5j
cHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUmVuZGVyVGFibGVD
ZWxsVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvV2Vi
RnJhbWVUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9X
ZWJQYWdlTmV3U2VyaWFsaXplclRlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3Rlc3RzL1dlYlBhZ2VTZXJpYWxpemVyVGVzdC5jcHAnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAndGVzdHMvV2ViVmlld1Rlc3QuY3BwJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25z
JzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ09TPT0id2luIiBvciBPUz09
Im1hYyInLCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5j
aWVzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9t
aXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5L25zcy9uc3MuZ3lwOionLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnY2xhbmc9PTEnLCB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNl
IHRvIGVuYWJsZSB0aGlzIGluIHNoYXJlZCBidWlsZHMgdG9vLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIyBidXQgdGhlIHRlc3QgZmlsZXMgaGF2ZSBnbG9iYWwgY29uc3Ry
dWN0b3JzIGZyb20gdGhlIEdURVNUIG1hY3JvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjIGFuZCB3ZSBwdWxsIGluIHRoZSB0ZXN0IGZpbGVzIGludG8gdGhlIHdlYmtpdCB0
YXJnZXQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNoYXJl
ZCBidWlsZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjZmxhZ3MhJzog
WyctV2dsb2JhbC1jb25zdHJ1Y3RvcnMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICd4Y29kZV9zZXR0aW5ncyc6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ1dBUk5JTkdfQ0ZMQUdTISc6IFsnLVdnbG9iYWwtY29uc3RydWN0b3JzJ10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdtc3ZzX3NldHRpbmdzJzogewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ1ZDTGlua2VyVG9vbCc6IHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdFVuaXRUZXN0cy5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdFVu
aXRUZXN0cy5neXAKaW5kZXggZDUwYWQxNTIzMDcwNjJlZmYwM2Q2ZGYwMjkzOWZlMDMyNTljNmQ4
My4uZDYyYmUyODQxYjdkYWEzNzUzZGU3Y2NlZDkyMjUxYTg4NzQwZDNlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRVbml0VGVzdHMuZ3lwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0VW5pdFRlc3RzLmd5cApAQCAtNjUsMzMgKzY1LDIzIEBACiAg
ICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikvd2Via2l0L3N1cHBvcnQvd2Via2l0
X3N1cHBvcnQuZ3lwOndlYmtpdF9zdXBwb3J0JywKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6d2Via2l0X3VzZXJf
YWdlbnQnLAogICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdzb3VyY2VzJzogWwotICAgICAg
ICAgICAgICAgICd0ZXN0cy9SdW5BbGxUZXN0cy5jcHAnLAotICAgICAgICAgICAgXSwKICAgICAg
ICAgICAgICdpbmNsdWRlX2RpcnMnOiBbCiAgICAgICAgICAgICAgICAgJ3B1YmxpYycsCiAgICAg
ICAgICAgICAgICAgJ3NyYycsCiAgICAgICAgICAgICBdLAorICAgICAgICAgICAgJ3NvdXJjZXMn
OiBbCisgICAgICAgICAgICAgICAgJ3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCcsCisgICAgICAgICAg
ICAgICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxlcyknLAorICAgICAgICAgICAgXSwKICAgICAg
ICAgICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgIFsnaW5zaWRlX2Nocm9taXVt
X2J1aWxkPT0xIGFuZCBjb21wb25lbnQ9PSJzaGFyZWRfbGlicmFyeSInLCB7Ci0gICAgICAgICAg
ICAgICAgICAgICdkZWZpbmVzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgJ1dFQktJVF9E
TExfVU5JVFRFU1QnLAotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIH0s
IHsKLSAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCi0gICAgICAgICAgICAgICAgICAg
ICAgICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVzKScsCi0gICAgICAgICAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgICAg
ICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEnLCB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3B1YmxpYy9ndGsnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIEZJWE1FOiBFbmFibGUgd2FybmluZ3Mgb24gb3RoZXIgcGxhdGZvcm1zLgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdjaHJvbWl1bV9jb2RlJzogMSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgfV0sCisgICAgICAgICAg
ICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEnLCB7CisgICAgICAgICAgICAgICAgICAgICdp
bmNsdWRlX2RpcnMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAncHVibGljL2d0aycsCiAg
ICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICd2YXJpYWJsZXMnOiB7
CisgICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBFbmFibGUgd2FybmluZ3Mgb24gb3Ro
ZXIgcGxhdGZvcm1zLgorICAgICAgICAgICAgICAgICAgICAgICAgJ2Nocm9taXVtX2NvZGUnOiAx
LAorICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAg
ICAgICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1aWxkPT0xIGFuZCBPUz09IndpbiIgYW5kIGNvbXBv
bmVudCE9InNoYXJlZF9saWJyYXJ5IicsIHsKICAgICAgICAgICAgICAgICAgICAgJ2NvbmZpZ3Vy
YXRpb25zJzogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Q29tcG9zaXRvci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tcG9zaXRv
ci5oCmluZGV4IDMyYjYwZTI4NDVlODc4NmZmNGJiNDZlNmI5ZDJiZjI5M2ZlZDU4YWEuLjc4MDM3
ZjE1MjUwYjllYmZjYWYwOWZkNGFhZjk1OTM1Y2I4YTI2ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJDb21wb3NpdG9yLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3Mg
V2ViVGhyZWFkOwogLy8KIC8vIFRoaXMgY2xhc3MgY3VycmVudGx5IHRlbXBvcmFyaWx5IGluaGVy
aXRzIGZyb20gV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcgogLy8gd2hpbGUgd2UgbWlncmF0ZSBk
b3duc3RyZWFtIGNvZGUgdG8gdXNlIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIgZGlyZWN0bHku
Ci1jbGFzcyBXZWJDb21wb3NpdG9yIDogcHVibGljIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIg
eworY2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJDb21wb3NpdG9yIDogcHVibGljIFdlYkNvbXBvc2l0
b3JJbnB1dEhhbmRsZXIgewogcHVibGljOgogICAgIC8vIEluaXRpYWxpemVzIHRoZSBjb21wb3Np
dG9yLiBUaHJlYWRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVkIGJ5IHBhc3NpbmcgaW4KICAgICAv
LyBhIG5vbi1udWxsIFdlYlRocmVhZC4gTm8gY29tcG9zaXRvciBjbGFzc2VzIG9yIG1ldGhvZHMg
c2hvdWxkIGJlIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L3BsYXRmb3JtL1dlYlVSTEVycm9yLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9w
bGF0Zm9ybS9XZWJVUkxFcnJvci5oCmluZGV4IDg2MmRiZWFhM2IzYzBmMjhlMjY5NGY4ZDhiNmZi
MThhMmQxZTg1MGYuLjRmMmE0MWViMTRmMzFiZWZkODM2MjgxM2VlZDM1MzY3ZWVkNjkyZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYlVSTEVy
cm9yLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViVVJM
RXJyb3IuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJVUkxFcnJvcl9oCiAjZGVmaW5l
IFdlYlVSTEVycm9yX2gKIAorI2luY2x1ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYlN0
cmluZy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgogCkBAIC00MCw3ICs0MSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsgY2xhc3MgUmVzb3VyY2VFcnJvcjsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAotc3RydWN0IFdlYlVSTEVycm9yIHsKK3N0cnVjdCBXRUJLSVRfRVhQT1JUIFdlYlVSTEVycm9y
IHsKICAgICAvLyBBIG5hbWVzcGFjZSBmb3IgInJlYXNvbiIgdG8gc3VwcG9ydCB2YXJpb3VzIGxh
eWVycyBnZW5lcmF0aW5nCiAgICAgLy8gcmVzb3VyY2UgZXJyb3JzLiBXZWJLaXQgZG9lcyBub3Qg
Y2FyZSBhYm91dCB0aGUgdmFsdWUgb2YgdGhpcwogICAgIC8vIHN0cmluZyBhcyBpdCB3aWxsIGp1
c3QgYmUgcGFzc2VkIHZpYSBjYWxsYmFja3MgdG8gdGhlIGNvbnN1bWVyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCmluZGV4IGIxNjdiNmMyZDQ2NmE0
ZGYyZWUwYWIzZTI0OWZlNDBjMDkzMmYxODYuLjcwMTBiOTVjODU4YTIwMmYxZGE0OTc1ODYxYjNk
ZjkwYmYxZjliY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRv
ckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGll
bnRJbXBsLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNp
bmNsdWRlICJUZXh0Q2hlY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgU3BlbGxDaGVja2VyOwogbmFt
ZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJWaWV3SW1wbDsKIAotY2xhc3MgRWRpdG9yQ2xpZW50
SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JDbGllbnQsIHB1YmxpYyBXZWJDb3JlOjpUZXh0
Q2hlY2tlckNsaWVudCB7CitjbGFzcyBXRUJLSVRfRVhQT1JUIEVkaXRvckNsaWVudEltcGwgOiBw
dWJsaWMgV2ViQ29yZTo6RWRpdG9yQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6VGV4dENoZWNrZXJD
bGllbnQgewogcHVibGljOgogICAgIEVkaXRvckNsaWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZp
ZXcpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0Nv
bnRleHQzRFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZS5oCmluZGV4IGJlOWRiNDI4N2RiNmVmYTMyODVmY2NiODU0ZmVhMzQ4M2Fk
MTViNmMuLjlhOTk2N2ZlZGEwMDFkMDZiMzliZDE4YTQ2ZTM4NDIxZjU4MmVjNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0
ZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJFeHRlbnNpb25zM0RDaHJvbWl1bS5o
IgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2Vi
Q29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJy
YXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC01Miw3ICs1Myw3IEBAIGNsYXNz
IEdyYXBoaWNzQ29udGV4dDNEU3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQWRhcHRlcjsKIGNs
YXNzIEdyYXBoaWNzRXJyb3JNZXNzYWdlQ2FsbGJhY2tBZGFwdGVyOwogY2xhc3MgR3JhcGhpY3ND
b250ZXh0M0RNZW1vcnlBbGxvY2F0aW9uQ2hhbmdlZENhbGxiYWNrQWRhcHRlcjsKIAotY2xhc3Mg
R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgR3JhcGhpY3ND
b250ZXh0M0RQcml2YXRlIHsKIHB1YmxpYzoKICAgICAvLyBDYWxsZXJzIG11c3QgbWFrZSB0aGUg
Y29udGV4dCBjdXJyZW50IGJlZm9yZSB1c2luZyBpdCBBTkQgY2hlY2sgdGhhdCB0aGUgY29udGV4
dCB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkKICAgICAvLyB2aWEgQ29udGV4dExvc3QgYmVmb3Jl
IHVzaW5nIHRoZSBjb250ZXh0IGluIGFueSB3YXkuIE9uY2UgbWFkZSBjdXJyZW50IG9uIGEgdGhy
ZWFkLCB0aGUgY29udGV4dCBjYW5ub3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
TG9jYWxpemVkU3RyaW5ncy5jcHAKaW5kZXggOTE3MTgwYjY2N2UwNGY3MWVlNmY3YWVkYmQxNmQz
NzIwNmNmZTFjMi4uZTU1NDFkNGYwMmUwMDUyMWE0MTZiOTg1ZDMzY2I2NWQ1MWNmYmNlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKQEAg
LTIyMywxMiArMjIzLDEyIEBAIFN0cmluZyB1bmtub3duRmlsZVNpemVUZXh0KCkKIAogLy8gVGhl
IGZvbGxvd2luZyB0d28gZnVuY3Rpb25zIGFyZSBub3QgZGVjbGFyZWQgaW4gTG9jYWxpemVkU3Ry
aW5ncy5oLgogLy8gVGhleSBhcmUgdXNlZCBieSB0aGUgbWVudSBmb3IgdGhlIEhUTUwga2V5Z2Vu
IHRhZy4KLVN0cmluZyBrZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6ZSgpCitXVEZfRVhQT1JUIFN0
cmluZyBrZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6ZSgpCiB7CiAgICAgcmV0dXJuIHF1ZXJ5KFdl
YkxvY2FsaXplZFN0cmluZzo6S2V5Z2VuTWVudUhpZ2hHcmFkZUtleVNpemUpOwogfQogCi1TdHJp
bmcga2V5Z2VuTWVudU1lZGl1bUdyYWRlS2V5U2l6ZSgpCitXVEZfRVhQT1JUIFN0cmluZyBrZXln
ZW5NZW51TWVkaXVtR3JhZGVLZXlTaXplKCkKIHsKICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxp
emVkU3RyaW5nOjpLZXlnZW5NZW51TWVkaXVtR3JhZGVLZXlTaXplKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW1wbC5oCmluZGV4IDM0YzZiZDBmZGM2
NzY0ZGIzYWRlZDJlMmU4Mzk1MzY4MzRmYWEzN2UuLmNjMjc2NTQ3YjU3YTIzYTljM2UwMmQ5ZGMy
YjcwODU1M2I4ZWFkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkNvbXBvc2l0b3JJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29t
cG9zaXRvckltcGwuaApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgV2ViVGhyZWFkOwogCi1jbGFzcyBXZWJDb21wb3NpdG9ySW1wbCA6IHB1YmxpYyBXZWJDb21w
b3NpdG9yIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViQ29tcG9zaXRvckltcGwgOiBwdWJsaWMg
V2ViQ29tcG9zaXRvciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29tcG9zaXRvcklt
cGwpOwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxl
ckltcGwuaAppbmRleCBhMmYxMzAyNWQ5ZjE3YmZkMThjMTQ0ZjkzMTdkODJhNmVhMTA5ZWM1Li42
ODhjNjVjYjQ0ZWJiYTYzMjA1OWYyMTUxYTViYTJhNGIzZmJlYWMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJ
bXBsLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJXZWJDb21wb3NpdG9yLmgiCiAjaW5j
bHVkZSAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlci5oIgogI2luY2x1ZGUgImNjL0NDSW5wdXRI
YW5kbGVyLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CkBAIC00Nyw3ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckNsaWVudDsKIAogLy8gVGVtcG9yYXJpbHkgc3ViY2xhc3Np
bmcgZnJvbSBXZWJDb21wb3NpdG9yIHdoaWxlIGRvd25zdHJlYW0gY2hhbmdlcyBsYW5kLgotY2xh
c3MgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciwg
cHVibGljIFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciwgcHVibGlj
IFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJD
b21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw+IGNyZWF0ZShXZWJDb3JlOjpDQ0lucHV0
SGFuZGxlckNsaWVudCopOwpAQCAtNzYsOCArNzcsOCBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAg
Ym9vbCBtX3Njcm9sbFN0YXJ0ZWQ7CiAKLSAgICBzdGF0aWMgaW50IHNfbmV4dEF2YWlsYWJsZUlk
ZW50aWZpZXI7Ci0gICAgc3RhdGljIEhhc2hTZXQ8V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGwqPiogc19jb21wb3NpdG9yczsKKyAgICBzdGF0aWMgV0VCS0lUX0VYUE9SVCBpbnQgc19uZXh0
QXZhaWxhYmxlSWRlbnRpZmllcjsKKyAgICBzdGF0aWMgV0VCS0lUX0VYUE9SVCBIYXNoU2V0PFdl
YkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKj4qIHNfY29tcG9zaXRvcnM7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFeHRlcm5hbFRleHR1cmVM
YXllckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVy
ZUxheWVySW1wbC5oCmluZGV4IDdiNzNlNzA4MGRkNmYxZjA1ODRjNGM2MjFkZjNhNmVlMzRhNzVi
NWUuLjFiNzA5NDBkYmU3ZmQyYmMwMjUyYmIxMDBlZmZhYjUxNTVkZmIxYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVy
SW1wbC5oCkBAIC0yNywxMSArMjcsMTIgQEAKICNkZWZpbmUgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5
ZXJJbXBsX2gKIAogI2luY2x1ZGUgIlBsdWdpbkxheWVyQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJw
bGF0Zm9ybS9XZWJDb21tb24uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsIDogcHVi
bGljIFdlYkNvcmU6OlBsdWdpbkxheWVyQ2hyb21pdW0geworY2xhc3MgV0VCS0lUX0VYUE9SVCBX
ZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwgOiBwdWJsaWMgV2ViQ29yZTo6UGx1Z2luTGF5ZXJD
aHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViRXh0ZXJuYWxUZXh0
dXJlTGF5ZXJJbXBsPiBjcmVhdGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmgKaW5kZXggZDQ3YmRhODE0OTJmMWIwMTkx
OTZlZDYzOThiNTdhNjk5Zjg0MDMxMC4uNGYzNTM5N2JiMjM0NGFiNTI3NGZlYjQzODI0NzgwODky
YjE5NGRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRF
dmVudENvbnZlcnNpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1
dEV2ZW50Q29udmVyc2lvbi5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1U
b3VjaEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAi
V2ViSW5wdXRFdmVudC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBLZXlib2FyZEV2ZW50OwpAQCAtNzUsNyArNzYsNyBAQCBw
dWJsaWM6CiB9OwogI2VuZGlmCiAKLWNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIg
OiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKK2NsYXNzIFdFQktJVF9F
WFBPUlQgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlciA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0
Zm9ybUtleWJvYXJkRXZlbnQgewogcHVibGljOgogICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1
aWxkZXIoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYpOwogICAgIHZvaWQgc2V0S2V5VHlwZShUeXBl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDU1Nzc0MDdk
ZTNiNDExMjliMDVkMzRmZWM1MWQ5OGI2NjA3ODJlY2QuLmY4NWI5MmNhMTBhNThlMDk0MDFjYWMy
MmMwY2ZjYzA0YTcxZGJhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBXZWJWaWV3SW1wbF9oCiAKICNpbmNsdWRl
ICJXZWJOYXZpZ2F0aW9uUG9saWN5LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViTGF5ZXIuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJM
YXllclRyZWVWaWV3LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViTGF5ZXJUcmVlVmlld0NsaWVu
dC5oIgpAQCAtOTYsNyArOTcsNyBAQCBjbGFzcyBXZWJNb3VzZVdoZWVsRXZlbnQ7CiBjbGFzcyBX
ZWJTZXR0aW5nc0ltcGw7CiBjbGFzcyBXZWJUb3VjaEV2ZW50OwogCi1jbGFzcyBXZWJWaWV3SW1w
bCA6IHB1YmxpYyBXZWJWaWV3LCBwdWJsaWMgV2ViTGF5ZXJUcmVlVmlld0NsaWVudCwgcHVibGlj
IFJlZkNvdW50ZWQ8V2ViVmlld0ltcGw+IHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViVmlld0lt
cGwgOiBwdWJsaWMgV2ViVmlldywgcHVibGljIFdlYkxheWVyVHJlZVZpZXdDbGllbnQsIHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlZpZXdJbXBsPiB7CiBwdWJsaWM6CiAgICAgZW51bSBBdXRvWm9vbVR5
cGUgewogICAgICAgICBEb3VibGVUYXAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9wYWludGluZy9QYWludEFnZ3JlZ2F0b3IuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5oCmluZGV4IGYwODNlNDAxNzVhOTFhZTA4
NjM1YWNiMDBjM2EyNWZkOTczMzMyYjQuLmNhMTk0YWE3NDhhOTM3YjNmMjJkODJhZTZlNWFlY2Q2
N2NmNzU3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5n
L1BhaW50QWdncmVnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50
aW5nL1BhaW50QWdncmVnYXRvci5oCkBAIC0zMywxMyArMzMsMTQgQEAKIAogI2luY2x1ZGUgIklu
dFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNv
bW1vbi5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
IC8vIFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIGFnZ3JlZ2F0aW5nIG11bHRpcGxlIGlu
dmFsaWRhdGlvbiBhbmQgc2Nyb2xsCiAvLyBjb21tYW5kcyB0byBwcm9kdWNlIGEgc2Nyb2xsIGFu
ZCByZXBhaW50IHNlcXVlbmNlLgotY2xhc3MgUGFpbnRBZ2dyZWdhdG9yIHsKK2NsYXNzIFdFQktJ
VF9FWFBPUlQgUGFpbnRBZ2dyZWdhdG9yIHsKIHB1YmxpYzoKICAgICAvLyBUaGlzIHN0cnVjdHVy
ZSBkZXNjcmliZXMgYW4gYWdncmVnYXRpb24gb2YgaW52YWxpZGF0ZVJlY3QgYW5kIHNjcm9sbFJl
Y3QKICAgICAvLyBjYWxscy4gSWYgfHNjcm9sbFJlY3R8IGlzIG5vbi1lbXB0eSwgdGhlbiB0aGF0
IHJlY3Qgc2hvdWxkIGJlIHNjcm9sbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
UnVuQWxsVGVzdHMuY3BwCmluZGV4IGRjMDUyODI1NzFhN2M2ODhjZGIyMDg5NTZjMzU0ZTYzYTMz
YTNjM2MuLjRkODFjNDM4OWM2MWMwZGNlYTJjMGE1ZmU5YTc3NDU5MjBiYzJiZjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCkBAIC0zNSw5ICszNSw3
IEBACiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVk
ZSA8d2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaD4KIAotI2lmIGRlZmluZWQoV0VCS0lU
X0RMTF9VTklUVEVTVCkKICNpbmNsdWRlICJXZWJVbml0VGVzdHMuaCIKLSNlbmRpZgogCiAjaW5j
bHVkZSA8Z21vY2svZ21vY2suaD4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130918</attachid>
            <date>2012-03-08 15:25:39 -0800</date>
            <delta_ts>2012-03-10 18:09:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80062-20120308152538.patch</filename>
            <type>text/plain</type>
            <size>60185</size>
            <attacher name="Ami Fischman">fischman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
ZWEzODJiNTFiOTg5NjEwOWI2OGYwOTYwYjNkYWNhMTQ1Yjg2OGNhLi4wNjkxYTRlMGU3ZGQ0YmU4
ZWQ5ZjJjY2E0ZjNkMWRkYjczNzNkNmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMy0wOCAgQW1pIEZpc2NobWFuICA8ZmlzY2htYW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYktpdC5neXA6d2Via2l0IHNob3VsZCBub3QgZGVwZW5kIG9uIHRl
c3QgY29kZSAoISkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvY2hyb21pdW0vQ2hyb21pdW1UaHJl
YWRpbmcuaDoKKwogMjAxMi0wMy0wNyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIERGRyBDRkEgaW5jb3JyZWN0bHkgaGFuZGxlcyBWYWx1ZVRvSW50MzIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA1ZTJmMDM3MGQ5ZTg1MWRjMDk0YTE0ZTE4NGM1MTk4ODRhOWNmOTljLi4wMjdkNGVi
NDgxZmE4ZTZlMzhiOTRlZjQxNGI2NDUwODEyMTJlYmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDUgQEAKKzIwMTItMDMtMDggIEFtaSBGaXNjaG1hbiAgPGZpc2NobWFuQGNocm9taXVtLm9yZz4K
KworICAgICAgICBXZWJLaXQuZ3lwOndlYmtpdCBzaG91bGQgbm90IGRlcGVuZCBvbiB0ZXN0IGNv
ZGUgKCEpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
MDA2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9jaHJv
bWl1bS9EYXRhYmFzZU9ic2VydmVyLmg6CisgICAgICAgICogZG9tL01lc3NhZ2VQb3J0Q2hhbm5l
bC5oOgorICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgICogZG9tL21ha2VfbmFt
ZXMucGw6CisgICAgICAgIChwcmludE5hbWVzQ3BwRmlsZSk6CisgICAgICAgICogZmlsZWFwaS9M
b2NhbEZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9UaW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vVGltZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmg6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5Lmg6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DZW50ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkhhbmRsZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JSZWdpc3RyeS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvY2hyb21pdW0vU29ja2V0U3RyZWFtSGFuZGxlLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9y
YWdlSW5mby5oOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oOgorICAgICAg
ICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VyQ29udGV4dFByb3h5Lmg6CisKIDIwMTItMDMtMDcgIEFtaSBGaXNjaG1hbiAgPGZpc2No
bWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEFsbG93IENDTGF5ZXJUcmVl
SG9zdDo6Y29udGV4dCgpIHRvIGJlIGNhbGxlZCBldmVuIHdpdGggdGhlIHRocmVhZGVkIGNvbXBv
c2l0b3IgZW5hYmxlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNzYwNzNhZjJmZTVh
MGQyY2JlOWUxN2ZhOTUwNGNlYWRjYWZhNmE4ZS4uYjdhYzY0OGRhNDc3ZGQ5ZDE4ZDU1NjBkZjUx
OGVjYzdhMDljZmU0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBA
QAorMjAxMi0wMy0wOCAgQW1pIEZpc2NobWFuICA8ZmlzY2htYW5AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYktpdC5neXA6d2Via2l0IHNob3VsZCBub3QgZGVwZW5kIG9uIHRlc3QgY29kZSAo
ISkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMDYy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJL
aXQuZ3lwOgorICAgICAgICAqIFdlYktpdFVuaXRUZXN0cy5neXA6CisgICAgICAgICogcHVibGlj
L1dlYkNvbXBvc2l0b3IuaDoKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViVVJMRXJyb3Iu
aDoKKyAgICAgICAgKiBzcmMvRWRpdG9yQ2xpZW50SW1wbC5oOgorICAgICAgICAqIHNyYy9HcmFw
aGljc0NvbnRleHQzRFByaXZhdGUuaDoKKyAgICAgICAgKiBzcmMvTG9jYWxpemVkU3RyaW5ncy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjprZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6ZSk6CisgICAg
ICAgIChXZWJDb3JlOjprZXlnZW5NZW51TWVkaXVtR3JhZGVLZXlTaXplKToKKyAgICAgICAgKiBz
cmMvV2ViQ29tcG9zaXRvckltcGwuaDoKKyAgICAgICAgKiBzcmMvV2ViQ29tcG9zaXRvcklucHV0
SGFuZGxlckltcGwuaDoKKyAgICAgICAgKiBzcmMvV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBs
Lmg6CisgICAgICAgICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmg6CisgICAgICAgICog
c3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogc3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRv
ci5oOgorICAgICAgICAqIHRlc3RzL1J1bkFsbFRlc3RzLmNwcDoKKwogMjAxMi0wMy0wNyAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIG1lYW5pbmds
ZXNzIGNvZGUgaW4gUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpwcmVmZXJyZWRDb250ZW50
V2lkdGgoKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDcxNmJiYTVkM2I4
ODFlNmY2MTNhMWZhYWJkNTZlMjM3NmQ1Yjc0ZDAuLjZlMTBkNTk5NGJlOWJjMzVlZmExNDNmYzA4
ZjdhY2M2OGIzNDhiNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxh
dGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTEx
MzgsNyArMTEzOCw3IEBACiAgICBzaW5jZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1w
cm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5nIG5ldyBoZWFkZXJzCiAgICB0byBXVEYgY2F1c2Vz
IG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBzbyB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUg
YnVpbGQKICAgIGJyZWFrYWdlcyBvbmUgcG9ydCBhdCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0o
TUFDKSB8fCBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShDSFJPTUlVTSkKICNkZWZpbmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKICNl
bHNlCiAjZGVmaW5lIFdURl9VU0VfRVhQT1JUX01BQ1JPUyAwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVtL0Nocm9taXVtVGhyZWFkaW5nLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVtL0Nocm9taXVtVGhyZWFkaW5nLmgKaW5kZXggMzkz
ODYyMTlkNjVjMWQ5MmNmZjRhNjU3YmZjNjNjOTdmNTk4ZTZiYi4uNzBlYTI0NzU5MmZmYTM2OGFh
NWYwMmJjNmU5OTg2MjAwMDg1YTczMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi9jaHJvbWl1bS9DaHJvbWl1bVRocmVhZGluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvY2hyb21pdW0vQ2hyb21pdW1UaHJlYWRpbmcuaApAQCAtMzEsMTAgKzMxLDEyIEBA
CiAjaWZuZGVmIENocm9taXVtVGhyZWFkaW5nX2gKICNkZWZpbmUgQ2hyb21pdW1UaHJlYWRpbmdf
aAogCisjaW5jbHVkZSA8d3RmL0V4cG9ydE1hY3Jvcy5oPgorCiBuYW1lc3BhY2UgV1RGIHsKIAog
Ly8gQW4gaW50ZXJmYWNlIHRvIHRoZSBlbWJlZGRpbmcgbGF5ZXIsIHdoaWNoIHByb3ZpZGVzIHRo
cmVhZGluZyBzdXBwb3J0LgotY2xhc3MgQ2hyb21pdW1UaHJlYWRpbmcgeworY2xhc3MgV1RGX0VY
UE9SVCBDaHJvbWl1bVRocmVhZGluZyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgY2FsbE9u
TWFpblRocmVhZCh2b2lkICgqZnVuYykodm9pZCopLCB2b2lkKiBjb250ZXh0KTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL2Nocm9taXVtL0RhdGFi
YXNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21p
dW0vRGF0YWJhc2VPYnNlcnZlci5oCmluZGV4IDY1N2M3OGU5ZTYxYzk1ZGNkYTQ0NWJkZTg0NDhj
YzE3MWFmMzQ2NTYuLjIxNTYyOTliMzZmN2U4NzUwOWFjZjY1MDlmZmYzYWQ0YTJiMzc2NWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0
YWJhc2VPYnNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
Y2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGNsYXNz
IGlzIGluIHRoZSBXZWJLaXQgQVBJIChDaHJvbWl1bSBzb3VyY2UgdHJlZSkKIC8vIGluIFdlYktp
dC9jaHJvbWl1bS9zcmMvRGF0YWJhc2VPYnNlcnZlci5jcHAuCi1jbGFzcyBEYXRhYmFzZU9ic2Vy
dmVyIHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIERhdGFiYXNlT2JzZXJ2ZXIgewogcHVibGlj
OgogICAgIHN0YXRpYyBib29sIGNhbkVzdGFibGlzaERhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBsb25nKTsKICAg
ICBzdGF0aWMgdm9pZCBkYXRhYmFzZU9wZW5lZChBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgKaW5kZXggMDc2NjhhNGUyMjg0ZTU1OTdlMTZh
MzgxNzA0YTU4NzhkZmYyNjJkMy4uNmVhNDliN2Y3MDU1OWEzMzFlMzdiM2MxNDViNDIwZThiZTU4
NTIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyAr
NTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwg
aXMgYSBwbGF0Zm9ybS1pbmRlcGVuZGVudCBpbnRlcmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9m
IGEgbWVzc2FnZSBjaGFubmVsLgogICAgIC8vIEl0IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0
aGUgcGxhdGZvcm0tZGVwZW5kZW50IFBsYXRmb3JtTWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVu
dGF0aW9uIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkg
bWV0aG9kIGlzIGludm9rZWQgYmVmb3JlIGRlc3RydWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQ
b3J0Q2hhbm5lbCB7CisgICAgY2xhc3MgV0VCS0lUX0VYUE9SVERBVEEgTWVzc2FnZVBvcnRDaGFu
bmVsIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2FnZVBvcnRDaGFubmVsKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9p
ZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3Nh
Z2VQb3J0Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAKaW5kZXggYTc0MjYyOTVl
ZjA2NGViZTljMGZhZGVmMGY2NzAxZDUxNjU4ZGEzZS4uM2ZkYjA1OTJhNWJkMmFmY2YzOWU2MmQ3
NDI4NGYzYmNkZGE2MTY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmll
ZE5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmNwcApAQCAt
MTAzLDYgKzEwMyw3IEBAIFN0cmluZyBRdWFsaWZpZWROYW1lOjp0b1N0cmluZygpIGNvbnN0CiB9
CiAKIC8vIEdsb2JhbCBpbml0IHJvdXRpbmVzCitXRUJLSVRfRVhQT1JUREFUQQogREVGSU5FX0dM
T0JBTChRdWFsaWZpZWROYW1lLCBhbnlOYW1lLCBudWxsQXRvbSwgc3RhckF0b20sIHN0YXJBdG9t
KQogCiB2b2lkIFF1YWxpZmllZE5hbWU6OmluaXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmgKaW5kZXggNjM2YjJhNTE1MGM5ZTk4N2MwMjdlNzU2OTc5MmQ5YmFjMzRhODllOS4uNGU1YjZl
N2ViZGFlMmIxZWI4M2VmOGUwOWRlNmQ2ZGRhYmUxYWYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlm
aWVkTmFtZS5oCkBAIC0zMyw3ICszMyw3IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50
cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWRO
YW1lIHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIFF1YWxpZmllZE5hbWUgewogICAgIFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBs
IDogcHVibGljIFJlZkNvdW50ZWQ8UXVhbGlmaWVkTmFtZUltcGw+IHsKQEAgLTEwMyw3ICsxMDMs
NyBAQCBwcml2YXRlOgogfTsKIAogI2lmbmRlZiBXRUJDT1JFX1FVQUxJRklFRE5BTUVfSElERV9H
TE9CQUxTCi1leHRlcm4gY29uc3QgUXVhbGlmaWVkTmFtZSBhbnlOYW1lOworV0VCS0lUX0VYUE9S
VERBVEEgZXh0ZXJuIGNvbnN0IFF1YWxpZmllZE5hbWUgYW55TmFtZTsKIGlubGluZSBjb25zdCBR
dWFsaWZpZWROYW1lJiBhbnlRTmFtZSgpIHsgcmV0dXJuIGFueU5hbWU7IH0KICNlbmRpZgogCkBA
IC0xMTcsNyArMTE3LDcgQEAgaW5saW5lIHVuc2lnbmVkIGhhc2hDb21wb25lbnRzKGNvbnN0IFF1
YWxpZmllZE5hbWVDb21wb25lbnRzJiBidWYpCiAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFz
aE1lbW9yeTxzaXplb2YoUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMpPigmYnVmKTsKIH0KIAotc3Ry
dWN0IFF1YWxpZmllZE5hbWVIYXNoIHsKK3N0cnVjdCBXRUJLSVRfRVhQT1JUREFUQSBRdWFsaWZp
ZWROYW1lSGFzaCB7CiAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSkgeyByZXR1cm4gaGFzaChuYW1lLmltcGwoKSk7IH0KIAogICAgIHN0YXRpYyB1bnNp
Z25lZCBoYXNoKGNvbnN0IFF1YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJbXBsKiBuYW1lKSAK
QEAgLTEzOCwxMSArMTM4LDExIEBAIG5hbWVzcGFjZSBXVEYgewogICAgIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAotICAgIHRlbXBsYXRlPD4gc3RydWN0
IERlZmF1bHRIYXNoPFdlYkNvcmU6OlF1YWxpZmllZE5hbWU+IHsKKyAgICB0ZW1wbGF0ZTw+IHN0
cnVjdCBXRUJLSVRfRVhQT1JUREFUQSBEZWZhdWx0SGFzaDxXZWJDb3JlOjpRdWFsaWZpZWROYW1l
PiB7CiAgICAgICAgIHR5cGVkZWYgV2ViQ29yZTo6UXVhbGlmaWVkTmFtZUhhc2ggSGFzaDsKICAg
ICB9OwogICAgIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UXVh
bGlmaWVkTmFtZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFt
ZT4geworICAgIHRlbXBsYXRlPD4gc3RydWN0IFdFQktJVF9FWFBPUlREQVRBIEhhc2hUcmFpdHM8
V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6
UXVhbGlmaWVkTmFtZT4gewogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNa
ZXJvID0gZmFsc2U7CiAgICAgICAgIHN0YXRpYyBXZWJDb3JlOjpRdWFsaWZpZWROYW1lIGVtcHR5
VmFsdWUoKSB7IHJldHVybiBXZWJDb3JlOjpRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBudWxsQXRv
bSwgbnVsbEF0b20pOyB9CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWtlX25hbWVzLnBsIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5kZXggYzhl
ZDU4YjU3NDc4ZGU1ZTYzNDY5YTM2YzhiODA2ODIyZDk5ZTRmNS4uOWZjZGEwMjcwZDA3NTNmMjE3
ZmJhNGI4MmY3MzEyMTBjNzkxOWJlOSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21h
a2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAgLTEx
Niw3ICsxMTYsNyBAQCBpZiAobGVuZ3RoKCRmb250TmFtZXNJbikpIHsKICAgICBwcmludENwcEhl
YWQoJEYsICJDU1MiLCAkZmFtaWx5TmFtZXNGaWxlQmFzZSwgIldURiIpOwogCiAgICAgd2hpbGUg
KCBteSAoJG5hbWUsICRpZGVudGlmaWVyKSA9IGVhY2ggJXBhcmFtZXRlcnMgKSB7Ci0gICAgICAg
IHByaW50IEYgIkRFRklORV9HTE9CQUwoQXRvbWljU3RyaW5nLCAkbmFtZSwgXCIkaWRlbnRpZmll
clwiKVxuIjsKKyAgICAgICAgcHJpbnQgRiAiV0VCS0lUX0VYUE9SVERBVEEgREVGSU5FX0dMT0JB
TChBdG9taWNTdHJpbmcsICRuYW1lLCBcIiRpZGVudGlmaWVyXCIpXG4iOwogICAgIH0KIAogICAg
IHByaW50SW5pdCgkRiwgMCk7CkBAIC02MjIsMTIgKzYyMiwxMiBAQCBzdWIgcHJpbnROYW1lc0Nw
cEZpbGUKICAgICAKICAgICBteSAkbG93ZXJOYW1lc3BhY2UgPSBsYygkcGFyYW1ldGVyc3tuYW1l
c3BhY2VQcmVmaXh9KTsKIAotICAgIHByaW50IEYgIkRFRklORV9HTE9CQUwoQXRvbWljU3RyaW5n
LCAke2xvd2VyTmFtZXNwYWNlfU5hbWVzcGFjZVVSSSwgXCIkcGFyYW1ldGVyc3tuYW1lc3BhY2VV
Ukl9XCIpIjsKKyAgICBwcmludCBGICJXRUJLSVRfRVhQT1JUREFUQSBERUZJTkVfR0xPQkFMKEF0
b21pY1N0cmluZywgJHtsb3dlck5hbWVzcGFjZX1OYW1lc3BhY2VVUkksIFwiJHBhcmFtZXRlcnN7
bmFtZXNwYWNlVVJJfVwiKSI7CiAKICAgICBpZiAoa2V5cyAlYWxsVGFncykgewogICAgICAgICBw
cmludCBGICIvLyBUYWdzXG4iOwogICAgICAgICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAlYWxs
VGFncykgewotICAgICAgICAgICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1l
LCAiLCAkbmFtZSwgIlRhZywgbnVsbEF0b20sIFwiJG5hbWVcIiwgJHtsb3dlck5hbWVzcGFjZX1O
YW1lc3BhY2VVUkkpO1xuIjsKKyAgICAgICAgICAgIHByaW50IEYgIldFQktJVF9FWFBPUlREQVRB
IERFRklORV9HTE9CQUwoUXVhbGlmaWVkTmFtZSwgIiwgJG5hbWUsICJUYWcsIG51bGxBdG9tLCBc
IiRuYW1lXCIsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJKTtcbiI7CiAgICAgICAgIH0K
ICAgICAgICAgCiAgICAgICAgIHByaW50IEYgIlxuXG5XZWJDb3JlOjpRdWFsaWZpZWROYW1lKiog
Z2V0JHBhcmFtZXRlcnN7bmFtZXNwYWNlfVRhZ3Moc2l6ZV90KiBzaXplKVxuIjsKQEAgLTY0NCw3
ICs2NDQsNyBAQCBzdWIgcHJpbnROYW1lc0NwcEZpbGUKICAgICBpZiAoa2V5cyAlYWxsQXR0cnMp
IHsKICAgICAgICAgcHJpbnQgRiAiXG4vLyBBdHRyaWJ1dGVzXG4iOwogICAgICAgICBmb3IgbXkg
JG5hbWUgKHNvcnQga2V5cyAlYWxsQXR0cnMpIHsKLSAgICAgICAgICAgIHByaW50IEYgIkRFRklO
RV9HTE9CQUwoUXVhbGlmaWVkTmFtZSwgIiwgJG5hbWUsICJBdHRyLCBudWxsQXRvbSwgXCIkbmFt
ZVwiLCAke2xvd2VyTmFtZXNwYWNlfU5hbWVzcGFjZVVSSSk7XG4iOworICAgICAgICAgICAgcHJp
bnQgRiAiV0VCS0lUX0VYUE9SVERBVEEgREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAk
bmFtZSwgIkF0dHIsIG51bGxBdG9tLCBcIiRuYW1lXCIsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNw
YWNlVVJJKTtcbiI7CiAgICAgICAgIH0KICAgICAgICAgcHJpbnQgRiAiXG5cbldlYkNvcmU6OlF1
YWxpZmllZE5hbWUqKiBnZXQkcGFyYW1ldGVyc3tuYW1lc3BhY2V9QXR0cnMoc2l6ZV90KiBzaXpl
KVxuIjsKICAgICAgICAgcHJpbnQgRiAie1xuICAgIHN0YXRpYyBXZWJDb3JlOjpRdWFsaWZpZWRO
YW1lKiAkcGFyYW1ldGVyc3tuYW1lc3BhY2V9QXR0cltdID0ge1xuIjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCmluZGV4IDI0N2JiMmNkZjhiZjEwMTg2YmQ3NmJmN2Q5
NWY0MzcwMGI5M2U0NTMuLmZjN2U1NWMwOTY4MmVhZDVjMWFhM2E3YjU4NTQwMjllNjJmMzc4NGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUs
NyBAQCBjbGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OwogCiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4g
ZW50cnkgcG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVt
IHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIExvY2FsRmlsZVN5c3RlbSB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5z
IGEgcGVyLXByb2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRl
eCAwNDU1NmJlOTZjZTgyMmM3OTE0ZWY0Nzc3NDE0OGUyYWM0Mzg5N2YwLi5hN2Y0MmNhMWM5NDhl
NzM1MTc5NmYwNjdjOTVhMGFlZDA0ZmZmYTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTYsNyArNTYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7
CiAjZW5kaWYKIAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IHsKKyAgICBjbGFzcyBX
RUJLSVRfRVhQT1JUREFUQSBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7CiAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHVibGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFy
ZSBzcGVjaWZpZWQgaW4gdGhlIEhUTUw1IHNwZWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Fz
eW5jRmlsZVN5c3RlbS5oCmluZGV4IDc3OTIxMDFjNTMwYTIxYzI2NWNmYzRiNDZhMzQ2ZmI5MjBj
NDEyNTMuLjM1MTMwNTI0M2Q1NjQ5NjZhZmY4MGU3MTRkMmJlNDVlYTc0ODg2M2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw3IEBAIGNs
YXNzIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlckNsaWVu
dDsKIAogLy8gVGhpcyBjbGFzcyBwcm92aWRlcyBhc3luYyBpbnRlcmZhY2UgZm9yIHBsYXRmb3Jt
LXNwZWNpZmljIGZpbGUgc3lzdGVtIGltcGxlbWVudGF0aW9uLiAgTm90ZSB0aGF0IGFsbCB0aGUg
bWV0aG9kcyB0YWtlIHBsYXRmb3JtIHBhdGhzLgotY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKK2Ns
YXNzIFdFQktJVF9FWFBPUlREQVRBIEFzeW5jRmlsZVN5c3RlbSB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQXN5bmNGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Bc3luY0Zp
bGVTeXN0ZW0oKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2Fs
aXplZFN0cmluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3Mu
aAppbmRleCAzZWJiZWY3MjJlM2NlYjUyYzA4MDBhYjZhMTQxNzg2YjhhOGIwZGFhLi5mNmZiY2Jm
MzhhMmEyODJlNTQwNDA3OWQzMDY5OTk3NmYzMGViODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCkBAIC0zMywxODAgKzMzLDE4MCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICBjbGFzcyBJbnRTaXplOwogICAgIAotICAgIFN0cmluZyBpbnB1dEVs
ZW1lbnRBbHRUZXh0KCk7Ci0gICAgU3RyaW5nIHJlc2V0QnV0dG9uRGVmYXVsdExhYmVsKCk7Ci0g
ICAgU3RyaW5nIHNlYXJjaGFibGVJbmRleEludHJvZHVjdGlvbigpOwotICAgIFN0cmluZyBzdWJt
aXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKLSAgICBTdHJpbmcgZmlsZUJ1dHRvbkNob29zZUZpbGVM
YWJlbCgpOwotICAgIFN0cmluZyBmaWxlQnV0dG9uQ2hvb3NlTXVsdGlwbGVGaWxlc0xhYmVsKCk7
Ci0gICAgU3RyaW5nIGZpbGVCdXR0b25Ob0ZpbGVTZWxlY3RlZExhYmVsKCk7Ci0gICAgU3RyaW5n
IGZpbGVCdXR0b25Ob0ZpbGVzU2VsZWN0ZWRMYWJlbCgpOwotICAgIFN0cmluZyBkZWZhdWx0RGV0
YWlsc1N1bW1hcnlUZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGlucHV0RWxl
bWVudEFsdFRleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgcmVzZXRCdXR0b25E
ZWZhdWx0TGFiZWwoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgc2VhcmNoYWJsZUlu
ZGV4SW50cm9kdWN0aW9uKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIHN1Ym1pdEJ1
dHRvbkRlZmF1bHRMYWJlbCgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBmaWxlQnV0
dG9uQ2hvb3NlRmlsZUxhYmVsKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGZpbGVC
dXR0b25DaG9vc2VNdWx0aXBsZUZpbGVzTGFiZWwoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBT
dHJpbmcgZmlsZUJ1dHRvbk5vRmlsZVNlbGVjdGVkTGFiZWwoKTsKKyAgICBXRUJLSVRfRVhQT1JU
REFUQSBTdHJpbmcgZmlsZUJ1dHRvbk5vRmlsZXNTZWxlY3RlZExhYmVsKCk7CisgICAgV0VCS0lU
X0VYUE9SVERBVEEgU3RyaW5nIGRlZmF1bHREZXRhaWxzU3VtbWFyeVRleHQoKTsKIAogI2lmIFBM
QVRGT1JNKE1BQykKLSAgICBTdHJpbmcgY29weUltYWdlVW5rbm93bkZpbGVMYWJlbCgpOworICAg
IFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb3B5SW1hZ2VVbmtub3duRmlsZUxhYmVsKCk7CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0Rvd25sb2FkTGlua1RvRGlzaygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdD
b3B5TGlua1RvQ2xpcGJvYXJkKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5J
bWFnZUluTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0Rvd25sb2Fk
SW1hZ2VUb0Rpc2soKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9D
bGlwYm9hcmQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnT3BlbkxpbmtJbk5ld1dpbmRvdygpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rpc2soKTsKKyAgICBXRUJLSVRfRVhQT1JU
REFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCgpOworICAg
IFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5l
d1dpbmRvdygpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdEb3dubG9hZEltYWdlVG9EaXNrKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCk7CiAjaWYgUExBVEZPUk0oUVQp
IHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCgpOworICAgIFdFQktJVF9FWFBPUlREQVRB
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCgpOwogI2Vu
ZGlmCi0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KCk7
Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHkoKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnR29CYWNrKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0dvRm9y
d2FyZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wKCk7Ci0gICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ1JlbG9hZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdDdXQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsKKyAgICBXRUJL
SVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5k
b3coKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29w
eSgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdHb0Jh
Y2soKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnR29G
b3J3YXJkKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1N0b3AoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
UmVsb2FkKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z0N1dCgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdQ
YXN0ZSgpOwogI2lmIFBMQVRGT1JNKEdUSykKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
RGVsZXRlKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0lucHV0TWV0aG9kcygpOwot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdVbmljb2RlKCk7CisgICAgV0VCS0lUX0VYUE9S
VERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZSgpOworICAgIFdFQktJVF9FWFBP
UlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJbnB1dE1ldGhvZHMoKTsKKyAgICBXRUJL
SVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5pY29kZSgpOwogI2VuZGlm
CiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKQotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGwoKTsKKyAgICBXRUJLSVRfRVhQT1JU
REFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKCk7CiAjZW5kaWYKLSAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQoKTsKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmcoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnTGVhcm5TcGVsbGluZygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTZWFy
Y2hXZWIoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5
KGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRTdHJpbmcpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdPcGVuTGluaygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVHcmFt
bWFyKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nTWVudSgpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbChib29sIHNob3cpOwot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKCk7Ci0gICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZygpOwotICAgIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmcoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnQm9sZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJdGFsaWMoKTsKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKCk7Ci0gICAgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ091dGxpbmUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnV3Jp
dGluZ0RpcmVjdGlvbk1lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVGV4dERp
cmVjdGlvbk1lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVj
dGlvbigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdMZWZ0VG9SaWdodCgpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCgpOworICAgIFdFQktJVF9FWFBP
UlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdOb0d1ZXNzZXNGb3VuZCgpOworICAgIFdF
QktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVsbGluZygp
OworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdMZWFyblNw
ZWxsaW5nKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1NlYXJjaFdlYigpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdMb29rVXBJbkRpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBzZWxlY3RlZFN0cmluZyk7Cisg
ICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rKCk7
CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdy
YW1tYXIoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
U3BlbGxpbmdNZW51KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1Nob3dTcGVsbGluZ1BhbmVsKGJvb2wgc2hvdyk7CisgICAgV0VCS0lUX0VYUE9SVERB
VEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcoKTsKKyAgICBXRUJLSVRf
RVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlw
aW5nKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0No
ZWNrR3JhbW1hcldpdGhTcGVsbGluZygpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdGb250TWVudSgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdCb2xkKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0l0YWxpYygpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmUoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3V0bGluZSgpOworICAgIFdFQktJVF9FWFBPUlREQVRB
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9uTWVudSgpOworICAgIFdF
QktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTWVu
dSgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdEZWZh
dWx0RGlyZWN0aW9uKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ0xlZnRUb1JpZ2h0KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0KCk7CiAjaWYgUExBVEZPUk0oTUFDKQotICAgIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCgpOwotICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdTaG93Rm9udHMoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
U3R5bGVzKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnMoKTsKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3BlZWNoTWVudSgpOwotICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ1N0b3BTcGVha2luZygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3JyZWN0
U3BlbGxpbmdBdXRvbWF0aWNhbGx5KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1N1
YnN0aXR1dGlvbnNNZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nob3dTdWJz
dGl0dXRpb25zKGJvb2wgc2hvdyk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NtYXJ0
Q29weVBhc3RlKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NtYXJ0UXVvdGVzKCk7
Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NtYXJ0RGFzaGVzKCk7Ci0gICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ1NtYXJ0TGlua3MoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnVGV4dFJlcGxhY2VtZW50KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Ry
YW5zZm9ybWF0aW9uc01lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWFrZVVw
cGVyQ2FzZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNYWtlTG93ZXJDYXNlKCk7
Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NhcGl0YWxpemUoKTsKLSAgICBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnQ2hhbmdlQmFjayhjb25zdCBTdHJpbmcmIHJlcGxhY2VkU3RyaW5n
KTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VhcmNo
SW5TcG90bGlnaHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnU2hvd0ZvbnRzKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1N0eWxlcygpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdTaG93Q29sb3JzKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnUoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZygpOworICAgIFdFQktJVF9FWFBPUlRE
QVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcoKTsKKyAgICBXRUJLSVRf
RVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29ycmVjdFNwZWxsaW5nQXV0b21h
dGljYWxseSgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdTdWJzdGl0dXRpb25zTWVudSgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdTaG93U3Vic3RpdHV0aW9ucyhib29sIHNob3cpOworICAgIFdFQktJVF9F
WFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydENvcHlQYXN0ZSgpOworICAg
IFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydFF1b3Rlcygp
OworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydERh
c2hlcygpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdT
bWFydExpbmtzKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ1RleHRSZXBsYWNlbWVudCgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdUcmFuc2Zvcm1hdGlvbnNNZW51KCk7CisgICAgV0VCS0lUX0VYUE9SVERB
VEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01ha2VVcHBlckNhc2UoKTsKKyAgICBXRUJLSVRf
RVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWFrZUxvd2VyQ2FzZSgpOworICAg
IFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplKCk7
CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoYW5nZUJh
Y2soY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZyk7CiAjZW5kaWYKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnT3BlblZpZGVvSW5OZXdXaW5kb3coKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnT3BlbkF1ZGlvSW5OZXdXaW5kb3coKTsKLSAgICBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnQ29weVZpZGVvTGlua1RvQ2xpcGJvYXJkKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0NvcHlBdWRpb0xpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdF
bnRlclZpZGVvRnVsbHNjcmVlbigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXkoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnT3BlblZpZGVvSW5OZXdXaW5kb3coKTsKKyAgICBXRUJLSVRf
RVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkF1ZGlvSW5OZXdXaW5kb3co
KTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weVZp
ZGVvTGlua1RvQ2xpcGJvYXJkKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ0NvcHlBdWRpb0xpbmtUb0NsaXBib2FyZCgpOworICAgIFdFQktJVF9FWFBP
UlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCk7Cisg
ICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
TG9vcCgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdF
bnRlclZpZGVvRnVsbHNjcmVlbigpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFU
QSBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQoKTsKICNlbmRpZiAvLyBF
TkFCTEUoQ09OVEVYVF9NRU5VUykKIAotICAgIFN0cmluZyBzZWFyY2hNZW51Tm9SZWNlbnRTZWFy
Y2hlc1RleHQoKTsKLSAgICBTdHJpbmcgc2VhcmNoTWVudVJlY2VudFNlYXJjaGVzVGV4dCgpOwot
ICAgIFN0cmluZyBzZWFyY2hNZW51Q2xlYXJSZWNlbnRTZWFyY2hlc1RleHQoKTsKKyAgICBXRUJL
SVRfRVhQT1JUREFUQSBTdHJpbmcgc2VhcmNoTWVudU5vUmVjZW50U2VhcmNoZXNUZXh0KCk7Cisg
ICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIHNlYXJjaE1lbnVSZWNlbnRTZWFyY2hlc1RleHQo
KTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgc2VhcmNoTWVudUNsZWFyUmVjZW50U2Vh
cmNoZXNUZXh0KCk7CiAKLSAgICBTdHJpbmcgQVhXZWJBcmVhVGV4dCgpOwotICAgIFN0cmluZyBB
WExpbmtUZXh0KCk7Ci0gICAgU3RyaW5nIEFYTGlzdE1hcmtlclRleHQoKTsKLSAgICBTdHJpbmcg
QVhJbWFnZU1hcFRleHQoKTsKLSAgICBTdHJpbmcgQVhIZWFkaW5nVGV4dCgpOwotICAgIFN0cmlu
ZyBBWERlZmluaXRpb25MaXN0VGVybVRleHQoKTsKLSAgICBTdHJpbmcgQVhEZWZpbml0aW9uTGlz
dERlZmluaXRpb25UZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIEFYV2ViQXJl
YVRleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgQVhMaW5rVGV4dCgpOworICAg
IFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBBWExpc3RNYXJrZXJUZXh0KCk7CisgICAgV0VCS0lU
X0VYUE9SVERBVEEgU3RyaW5nIEFYSW1hZ2VNYXBUZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERB
VEEgU3RyaW5nIEFYSGVhZGluZ1RleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcg
QVhEZWZpbml0aW9uTGlzdFRlcm1UZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5n
IEFYRGVmaW5pdGlvbkxpc3REZWZpbml0aW9uVGV4dCgpOwogCiAjaWYgUExBVEZPUk0oTUFDKQot
ICAgIFN0cmluZyBBWEFSSUFDb250ZW50R3JvdXBUZXh0KGNvbnN0IFN0cmluZyYgYXJpYVR5cGUp
OworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBBWEFSSUFDb250ZW50R3JvdXBUZXh0KGNv
bnN0IFN0cmluZyYgYXJpYVR5cGUpOwogI2VuZGlmCiAgICAgCi0gICAgU3RyaW5nIEFYQnV0dG9u
QWN0aW9uVmVyYigpOwotICAgIFN0cmluZyBBWFJhZGlvQnV0dG9uQWN0aW9uVmVyYigpOwotICAg
IFN0cmluZyBBWFRleHRGaWVsZEFjdGlvblZlcmIoKTsKLSAgICBTdHJpbmcgQVhDaGVja2VkQ2hl
Y2tCb3hBY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYVW5jaGVja2VkQ2hlY2tCb3hBY3Rpb25W
ZXJiKCk7Ci0gICAgU3RyaW5nIEFYTWVudUxpc3RBY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFY
TWVudUxpc3RQb3B1cEFjdGlvblZlcmIoKTsKLSAgICBTdHJpbmcgQVhMaW5rQWN0aW9uVmVyYigp
OwotCi0gICAgU3RyaW5nIG1pc3NpbmdQbHVnaW5UZXh0KCk7Ci0gICAgU3RyaW5nIGNyYXNoZWRQ
bHVnaW5UZXh0KCk7Ci0gICAgU3RyaW5nIG11bHRpcGxlRmlsZVVwbG9hZFRleHQodW5zaWduZWQg
bnVtYmVyT2ZGaWxlcyk7Ci0gICAgU3RyaW5nIHVua25vd25GaWxlU2l6ZVRleHQoKTsKKyAgICBX
RUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgQVhCdXR0b25BY3Rpb25WZXJiKCk7CisgICAgV0VCS0lU
X0VYUE9SVERBVEEgU3RyaW5nIEFYUmFkaW9CdXR0b25BY3Rpb25WZXJiKCk7CisgICAgV0VCS0lU
X0VYUE9SVERBVEEgU3RyaW5nIEFYVGV4dEZpZWxkQWN0aW9uVmVyYigpOworICAgIFdFQktJVF9F
WFBPUlREQVRBIFN0cmluZyBBWENoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKKyAgICBXRUJL
SVRfRVhQT1JUREFUQSBTdHJpbmcgQVhVbmNoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKKyAg
ICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgQVhNZW51TGlzdEFjdGlvblZlcmIoKTsKKyAgICBX
RUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgQVhNZW51TGlzdFBvcHVwQWN0aW9uVmVyYigpOworICAg
IFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBBWExpbmtBY3Rpb25WZXJiKCk7CisKKyAgICBXRUJL
SVRfRVhQT1JUREFUQSBTdHJpbmcgbWlzc2luZ1BsdWdpblRleHQoKTsKKyAgICBXRUJLSVRfRVhQ
T1JUREFUQSBTdHJpbmcgY3Jhc2hlZFBsdWdpblRleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFU
QSBTdHJpbmcgbXVsdGlwbGVGaWxlVXBsb2FkVGV4dCh1bnNpZ25lZCBudW1iZXJPZkZpbGVzKTsK
KyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgdW5rbm93bkZpbGVTaXplVGV4dCgpOwogCiAj
aWYgUExBVEZPUk0oV0lOKQotICAgIFN0cmluZyB1cGxvYWRGaWxlVGV4dCgpOwotICAgIFN0cmlu
ZyBhbGxGaWxlc1RleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgdXBsb2FkRmls
ZVRleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgYWxsRmlsZXNUZXh0KCk7CiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBTdHJpbmcgYnVpbHRJblBERlBsdWdpbk5h
bWUoKTsKLSAgICBTdHJpbmcgcGRmRG9jdW1lbnRUeXBlRGVzY3JpcHRpb24oKTsKLSAgICBTdHJp
bmcga2V5Z2VuTWVudUl0ZW01MTIoKTsKLSAgICBTdHJpbmcga2V5Z2VuTWVudUl0ZW0xMDI0KCk7
Ci0gICAgU3RyaW5nIGtleWdlbk1lbnVJdGVtMjA0OCgpOwotICAgIFN0cmluZyBrZXlnZW5LZXlj
aGFpbkl0ZW1OYW1lKGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEg
U3RyaW5nIGJ1aWx0SW5QREZQbHVnaW5OYW1lKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3Ry
aW5nIHBkZkRvY3VtZW50VHlwZURlc2NyaXB0aW9uKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEg
U3RyaW5nIGtleWdlbk1lbnVJdGVtNTEyKCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5n
IGtleWdlbk1lbnVJdGVtMTAyNCgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBrZXln
ZW5NZW51SXRlbTIwNDgoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcga2V5Z2VuS2V5
Y2hhaW5JdGVtTmFtZShjb25zdCBTdHJpbmcmIGhvc3QpOwogI2VuZGlmCiAKICNpZiBQTEFURk9S
TShJT1MpCi0gICAgU3RyaW5nIGh0bWxTZWxlY3RNdWx0aXBsZUl0ZW1zKHNpemVfdCBudW0pOwor
ICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBodG1sU2VsZWN0TXVsdGlwbGVJdGVtcyhzaXpl
X3QgbnVtKTsKICNlbmRpZgogCi0gICAgU3RyaW5nIGltYWdlVGl0bGUoY29uc3QgU3RyaW5nJiBm
aWxlbmFtZSwgY29uc3QgSW50U2l6ZSYgc2l6ZSk7Ci0KLSAgICBTdHJpbmcgbWVkaWFFbGVtZW50
TG9hZGluZ1N0YXRlVGV4dCgpOwotICAgIFN0cmluZyBtZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0
U3RhdGVUZXh0KCk7Ci0gICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJp
bmcoY29uc3QgU3RyaW5nJik7Ci0gICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1l
bnRIZWxwVGV4dChjb25zdCBTdHJpbmcmKTsKLSAgICBTdHJpbmcgbG9jYWxpemVkTWVkaWFUaW1l
RGVzY3JpcHRpb24oZmxvYXQpOwotCi0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVN
aXNzaW5nVGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zv
ckNoZWNrYm94VGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z0ZvckZpbGVUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5n
Rm9yTXVsdGlwbGVGaWxlVGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVl
TWlzc2luZ0ZvclJhZGlvVGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVl
TWlzc2luZ0ZvclNlbGVjdFRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBl
TWlzbWF0Y2hUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNo
Rm9yRW1haWxUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNo
Rm9yTXVsdGlwbGVFbWFpbFRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBl
TWlzbWF0Y2hGb3JVUkxUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVy
bk1pc21hdGNoVGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVRvb0xvbmdUZXh0
KGludCB2YWx1ZUxlbmd0aCwgaW50IG1heExlbmd0aCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25N
ZXNzYWdlUmFuZ2VVbmRlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWluaW11bSk7Ci0gICAgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VPdmVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtYXhp
bXVtKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0
IFN0cmluZyYgYmFzZSwgY29uc3QgU3RyaW5nJiBzdGVwKTsKKyAgICBXRUJLSVRfRVhQT1JUREFU
QSBTdHJpbmcgaW1hZ2VUaXRsZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBJbnRTaXpl
Jik7CisKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgbWVkaWFFbGVtZW50TG9hZGluZ1N0
YXRlVGV4dCgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyBtZWRpYUVsZW1lbnRMaXZl
QnJvYWRjYXN0U3RhdGVUZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIGxvY2Fs
aXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgV0VCS0lU
X0VYUE9SVERBVEEgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dChj
b25zdCBTdHJpbmcmKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgbG9jYWxpemVkTWVk
aWFUaW1lRGVzY3JpcHRpb24oZmxvYXQpOworCisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5n
IHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOworICAgIFdFQktJVF9FWFBPUlRE
QVRBIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCgp
OworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlz
c2luZ0ZvckZpbGVUZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIHZhbGlkYXRp
b25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCgpOworICAgIFdFQktJVF9F
WFBPUlREQVRBIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlvVGV4
dCgpOworICAgIFdFQktJVF9FWFBPUlREQVRBIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVl
TWlzc2luZ0ZvclNlbGVjdFRleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgdmFs
aWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hUZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEg
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yRW1haWxUZXh0KCk7CisgICAg
V0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9y
TXVsdGlwbGVFbWFpbFRleHQoKTsKKyAgICBXRUJLSVRfRVhQT1JUREFUQSBTdHJpbmcgdmFsaWRh
dGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hGb3JVUkxUZXh0KCk7CisgICAgV0VCS0lUX0VYUE9SVERB
VEEgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgpOworICAgIFdF
QktJVF9FWFBPUlREQVRBIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVRvb0xvbmdUZXh0KGludCB2
YWx1ZUxlbmd0aCwgaW50IG1heExlbmd0aCk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5n
IHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VVbmRlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWluaW11
bSk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VP
dmVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtYXhpbXVtKTsKKyAgICBXRUJLSVRfRVhQT1JUREFU
QSBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYg
YmFzZSwgY29uc3QgU3RyaW5nJiBzdGVwKTsKIAogI2lmICFQTEFURk9STShDSFJPTUlVTSkKICNk
ZWZpbmUgV0VCX1VJX1NUUklORyhzdHJpbmcsIGRlc2NyaXB0aW9uKSBXZWJDb3JlOjpsb2NhbGl6
ZWRTdHJpbmcoc3RyaW5nKQogI2RlZmluZSBXRUJfVUlfU1RSSU5HX0tFWShzdHJpbmcsIGtleSwg
ZGVzY3JpcHRpb24pIFdlYkNvcmU6OmxvY2FsaXplZFN0cmluZyhrZXkpCiAKLSAgICBTdHJpbmcg
bG9jYWxpemVkU3RyaW5nKGNvbnN0IGNoYXIqIGtleSk7CisgICAgV0VCS0lUX0VYUE9SVERBVEEg
U3RyaW5nIGxvY2FsaXplZFN0cmluZyhjb25zdCBjaGFyKiBrZXkpOwogI2VuZGlmCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCBmMmNmMjcx
OTIzMWFmZDQyMDhiYTFiMDZkNGZjM2EwMjJiMjIwNWNkLi5lMzllMmQ1NWQ5Y2ZiZDM4YzA4MDc2
MWMwMDlmNzM5YzI2YmZjOTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0zNTAs
NCArMzUwLDMgQEAgdm9pZCBUaW1lckJhc2U6OmZpcmVUaW1lcnNJbk5lc3RlZEV2ZW50TG9vcCgp
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVGltZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKaW5k
ZXggNjM3YmJjMDU1M2U1NWM4NGEwM2RjMTRiNTBiYjA0OTc2ZWNlYTA5MS4uYjk3ZTQzNDczZDll
NTVhZTUxODkxYzllMmFkYjJmMTk3MjA3MmJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCkBA
IC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwRWxl
bWVudDsKIAotY2xhc3MgVGltZXJCYXNlIHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIFRpbWVy
QmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNlKTsgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgKaW5kZXggNzU4ODJjMGE2MzVm
ZjNmODc3NGM1MjljNzQwNGYxZGVkMWQ1M2MzMy4uYTU0YmFjYzBmODc4ZmViNmJjZDRkOGMyMGRh
Mzg4YzU3NmYwYjIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
QXVkaW9EZXN0aW5hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1
ZGlvRGVzdGluYXRpb24uaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBBdWRpb1NvdXJjZVByb3Zp
ZGVyOwogLy8gQWJzdHJhY3Rpb24gZm9yIGFuIGF1ZGlvIG91dHB1dCB0byB0aGUgYXVkaW8gaGFy
ZHdhcmUKIC8vIEFuIEF1ZGlvU291cmNlUHJvdmlkZXIgaXMgY2FsbGVkIGJhY2sgcGVyaW9kaWNh
bGx5IHRvIHByb3ZpZGUgdGhlIHJlbmRlcmVkIGF1ZGlvIHN0cmVhbS4KIAotY2xhc3MgQXVkaW9E
ZXN0aW5hdGlvbiB7CitjbGFzcyBXRUJLSVRfRVhQT1JUREFUQSBBdWRpb0Rlc3RpbmF0aW9uIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxBdWRpb0Rlc3RpbmF0aW9uPiBjcmVhdGUo
QXVkaW9Tb3VyY2VQcm92aWRlciYsIGZsb2F0IHNhbXBsZVJhdGUpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCmluZGV4IDEyOGQy
YTNlOTg4M2NkMmFiNmI4NDU4MGMwNmUyZGFmYzBlNjAzMmUuLjAzMWE3ZTY5MTYxNTU2MmM3ZDU1
ZjMyY2YyNmNlMjQ5ZDQzNTRiZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5oCkBAIC05MSw3ICs5MSw3IEBAIHN0cnVjdCBGb250
UmVuZGVyU3R5bGU7CiAvLyBzdXBwbHkgaW1wbGVtZW50YXRpb25zIGZvciBQbGF0Zm9ybSBmdW5j
dGlvbmFsaXR5IHRoYXQgV2ViQ29yZSBjYW5ub3QgYWNjZXNzCiAvLyBkaXJlY3RseSAoZm9yIGV4
YW1wbGUsIGJlY2F1c2UgV2ViQ29yZSBpcyBpbiBhIHNhbmRib3gpLgogCi1jbGFzcyBQbGF0Zm9y
bVN1cHBvcnQgeworY2xhc3MgV0VCS0lUX0VYUE9SVERBVEEgUGxhdGZvcm1TdXBwb3J0IHsKIHB1
YmxpYzoKICAgICAvLyBDYWNoZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyB2b2lkIGNhY2hlTWV0YWRhdGEo
Y29uc3QgS1VSTCYsIGRvdWJsZSByZXNwb25zZVRpbWUsIGNvbnN0IFZlY3RvcjxjaGFyPiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0M0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgKaW5kZXggNTMxNzI2Mzk4YTFmNDIxZTUxMGEwYzAxN2RhNDRiYjFmNGYzZGQwZC4uZGFj
NmJkODQyYzg4OTc2OWM4MzJiZWYxYjVkOThkNzQyNTM2OGNkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCkBAIC0xMTks
NyArMTE5LDcgQEAgc3RydWN0IEFjdGl2ZUluZm8gewogCiBjbGFzcyBHcmFwaGljc0NvbnRleHQz
RFByaXZhdGU7CiAKLWNsYXNzIEdyYXBoaWNzQ29udGV4dDNEIDogcHVibGljIFJlZkNvdW50ZWQ8
R3JhcGhpY3NDb250ZXh0M0Q+IHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIEdyYXBoaWNzQ29u
dGV4dDNEIDogcHVibGljIFJlZkNvdW50ZWQ8R3JhcGhpY3NDb250ZXh0M0Q+IHsKIHB1YmxpYzoK
ICAgICBlbnVtIHsKICAgICAgICAgREVQVEhfQlVGRkVSX0JJVCA9IDB4MDAwMDAxMDAsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNp
b25zM0RDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vRXh0ZW5zaW9uczNEQ2hyb21pdW0uaAppbmRleCA1MzMyMmYwZjI1ZWQ0MDdhMjVlNmI2MjMy
N2U4NzEyODlkMThiZDVhLi5kMDJhYWQyYzdlMjRjNmJmMTY4MDg5YzY1NTdkYWRjNjJjZGUwNmVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9F
eHRlbnNpb25zM0RDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0V4dGVuc2lvbnMzRENocm9taXVtLmgKQEAgLTMzLDcgKzMzLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOwogY2xhc3Mg
SW1hZ2VCdWZmZXI7CiAKLWNsYXNzIEV4dGVuc2lvbnMzRENocm9taXVtIDogcHVibGljIEV4dGVu
c2lvbnMzRCB7CitjbGFzcyBXRUJLSVRfRVhQT1JUREFUQSBFeHRlbnNpb25zM0RDaHJvbWl1bSA6
IHB1YmxpYyBFeHRlbnNpb25zM0QgewogcHVibGljOgogICAgIHZpcnR1YWwgfkV4dGVuc2lvbnMz
RENocm9taXVtKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9NZWRpYVBsYXllclByaXZhdGVDaHJvbWl1bS5o
CmluZGV4IDUzNDI0NGQ3NmFkY2E0ODNlMWQ1ZjQ3MzZiZmY4ODIyZTg2ZDAyOTQuLmRjNGFlMzU3
NzBiY2IxZTc3MTdiNTJlNmM5MDA1NzZmYzgxNzBjNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVt
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTWVkaWFQ
bGF5ZXJQcml2YXRlQ2hyb21pdW0uaApAQCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZSB7CitjbGFzcyBXRUJLSVRfRVhQT1JU
REFUQSBNZWRpYVBsYXllclByaXZhdGUgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJlZ2lz
dGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3RyYXIpOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSW5wdXRIYW5kbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0
SGFuZGxlci5oCmluZGV4IDZjMDU1OTk0YzU4ZWNhNDExMzE5YTljOTlkMTQzZjljMTdmM2UyYzIu
LjVjN2U3NWEyYmYyMDEyMmQ5NjA4Zjk2ZjZhYmMyYjgxMTIyNGQ1NGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSW5wdXRIYW5kbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJ
bnB1dEhhbmRsZXIuaApAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBJbnRTaXplOwogLy8KIC8vIFRo
ZSBDQ0lucHV0SGFuZGxlciBpcyBjb25zdHJ1Y3RlZCB3aXRoIGFuIElucHV0SGFuZGxlckNsaWVu
dCwgd2hpY2ggaXMgdGhlCiAvLyBpbnRlcmZhY2UgYnkgd2hpY2ggdGhlIGhhbmRsZXIgY2FuIG1h
bmlwdWxhdGUgdGhlIExheWVyVHJlZS4KLWNsYXNzIENDSW5wdXRIYW5kbGVyQ2xpZW50IHsKK2Ns
YXNzIFdFQktJVF9FWFBPUlREQVRBIENDSW5wdXRIYW5kbGVyQ2xpZW50IHsKICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlckNsaWVudCk7CiBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgPSAwOwpAQCAtODAsNyArODAsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCB+Q0NJbnB1dEhhbmRsZXJDbGllbnQoKSB7IH0KIH07CiAKLWNsYXNzIEND
SW5wdXRIYW5kbGVyIHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIENDSW5wdXRIYW5kbGVyIHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlcik7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8Q0NJbnB1dEhhbmRsZXI+IGNyZWF0ZShDQ0lucHV0SGFuZGxlckNs
aWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1Byb3h5LmNwcAppbmRleCBlNGQ2MDE0NTExYmMxYzVkYjBlNjg3YmQxZjY4
M2ZhZTgwMzZjNWFhLi5lMWQyYjQzZGI0NDhlZDQzMjgwNDFlMzMwY2MxNjY2YTFkYjM4ZDJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Byb3h5LmNwcApAQCAtMzcsMTEgKzM3LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogbmFtZXNwYWNlIHsKICNpZm5kZWYgTkRFQlVHCi1ib29sIGltcGxUaHJlYWRJc092ZXJyaWRk
ZW4gPSBmYWxzZTsKLVRocmVhZElkZW50aWZpZXIgdGhyZWFkSURPdmVycmlkZW5Ub0JlSW1wbFRo
cmVhZDsKK1dFQktJVF9FWFBPUlREQVRBIGJvb2wgaW1wbFRocmVhZElzT3ZlcnJpZGRlbiA9IGZh
bHNlOworV0VCS0lUX0VYUE9SVERBVEEgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRE92ZXJyaWRl
blRvQmVJbXBsVGhyZWFkOwogI2VuZGlmCi1DQ1RocmVhZCogc19tYWluVGhyZWFkID0gMDsKLUND
VGhyZWFkKiBzX2ltcGxUaHJlYWQgPSAwOworV0VCS0lUX0VYUE9SVERBVEEgQ0NUaHJlYWQqIHNf
bWFpblRocmVhZCA9IDA7CitXRUJLSVRfRVhQT1JUREFUQSBDQ1RocmVhZCogc19pbXBsVGhyZWFk
ID0gMDsKIH0KIAogdm9pZCBDQ1Byb3h5OjpzZXRNYWluVGhyZWFkKENDVGhyZWFkKiB0aHJlYWQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1Byb3h5LmgKaW5kZXggYTU0NjgwMjEyYjU4Nzg0MTBjZmFmNzhlZmM3Y2M2MzdjZmNkMWJj
NC4uZjFiNzMwMjAwMjQ1NGMwMDkyNmJkZWU3OTgyNzMwY2VmOTc3OWI0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHku
aApAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBUZXh0dXJlTWFuYWdlcjsKIAogLy8gQWJzdHJhY3Qg
Y2xhc3MgcmVzcG9uc2libGUgZm9yIHByb3h5aW5nIGNvbW1hbmRzIGZyb20gdGhlIG1haW4tdGhy
ZWFkIHNpZGUgb2YKIC8vIHRoZSBjb21wb3NpdG9yIG92ZXIgdG8gdGhlIGNvbXBvc2l0b3IgaW1w
bGVtZW50YXRpb24uCi1jbGFzcyBDQ1Byb3h5IHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIEND
UHJveHkgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENDUHJveHkpOwogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIHNldE1haW5UaHJlYWQoQ0NUaHJlYWQqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ2VudGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5oCmluZGV4
IGEzN2Q2NmEyNmM3NjUxYmNkYmExYzdjODdmYzRjMmFjMGE4ZjYxODkuLmFkOTI2NTI4NDIzMzA5
ZjYzMGYyYTFkZWUzYjhiN2RlOTgzNjgwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DZW50ZXIuaApAQCAtNTcsNyArNTcs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlUXVlcnkoY29uc3QgTWVk
aWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3Vy
Y2VWZWN0b3ImIHZpZGVvU291cmNlcykgPSAwOwogfTsKIAotY2xhc3MgTWVkaWFTdHJlYW1DZW50
ZXIgeworY2xhc3MgV0VCS0lUX0VYUE9SVERBVEEgTWVkaWFTdHJlYW1DZW50ZXIgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhU3RyZWFtQ2VudGVyKTsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uSGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKaW5kZXggZmEyMmNmNGM3
Y2E0MjgwNTUyOTkzZTQyM2VhYmVjZDg3M2RmMWFjNS4uNGRlZDNlY2IxNGU3ODUyMGNhYWE3YTQ0
ODBkY2JkNzNjMjcwYmQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKQEAgLTQ2LDcgKzQ2LDcg
QEAgY2xhc3MgUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50OwogY2xhc3MgUGVlckNvbm5lY3Rp
b25IYW5kbGVySW50ZXJuYWw7CiAjZW5kaWYKIAotY2xhc3MgUGVlckNvbm5lY3Rpb25IYW5kbGVy
IHsKK2NsYXNzIFdFQktJVF9FWFBPUlREQVRBIFBlZXJDb25uZWN0aW9uSGFuZGxlciB7CiAgICAg
V1RGX01BS0VfTk9OQ09QWUFCTEUoUGVlckNvbm5lY3Rpb25IYW5kbGVyKTsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCmluZGV4IDUyODRhOWIwZDYwMGVjNDg4MDllZjZiZTY2NzVl
YmVkZmEwYWE2NGQuLjQyOGFjZjJiYTllZDlkOTNjOGY1OTAxODk4ODZmZGM3MTBmNDBjNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaApAQCAt
NDcsNyArNDcsNyBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3Bv
bnNlOwogCiAvLyBSZXR1cm5zIGEgc2luZ2xlIGluc3RhbmNlIG9mIEJsb2JSZWdpc3RyeS4KLUJs
b2JSZWdpc3RyeSYgYmxvYlJlZ2lzdHJ5KCk7IAorV0VCS0lUX0VYUE9SVERBVEEgQmxvYlJlZ2lz
dHJ5JiBibG9iUmVnaXN0cnkoKTsgCiAKIC8vIEJsb2JSZWdpc3RyeSBpcyBub3QgdGhyZWFkLXNh
ZmUuIEl0IHNob3VsZCBvbmx5IGJlIGNhbGxlZCBmcm9tIG1haW4gdGhyZWFkLgogY2xhc3MgQmxv
YlJlZ2lzdHJ5IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGUuaAppbmRleCA4NjI2ZTA5ZTgzYzU0YjI5NDZhMzg4NTYxZDczN2QzZmRjYjFkYWQ0
Li40ZGRjZjkyNjFlNjEwOTJmY2RjMmMxZTdiYjMwZGRhM2U4ZWY5YmIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCkBAIC05NSw3ICs5
NSw3IEBAIGVudW0gU3RvcmVkQ3JlZGVudGlhbHMgewogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAKLWNsYXNzIFJlc291cmNlSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8
UmVzb3VyY2VIYW5kbGU+CitjbGFzcyBXRUJLSVRfRVhQT1JUREFUQSBSZXNvdXJjZUhhbmRsZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPgogI2lmIFBMQVRGT1JNKE1BQykgfHwg
VVNFKENGTkVUV09SSykgfHwgVVNFKENVUkwpCiAgICAgLCBwdWJsaWMgQXV0aGVudGljYXRpb25D
bGllbnQKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jaHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY2hyb21pdW0vU29ja2V0U3RyZWFtSGFuZGxlLmgKaW5kZXggNmUwMjE0ZDI0YmM4
MmI2NjU1N2Q2NGJkNGU3OTE5NmViMjBkZjdhZi4uMWUzOWZjYWI1ZmRjOTdmODQxOWM3Mjk0ZGQ5
ODE4YmY2MzdmYWYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jaHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1NvY2tldFN0cmVhbUhhbmRsZS5oCkBAIC00NCw3ICs0NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQ7CiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw7CiAKLSAgICBjbGFzcyBT
b2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTb2NrZXRTdHJlYW1IYW5kbGU+
LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQmFzZSB7CisgICAgY2xhc3MgV0VCS0lUX0VYUE9S
VERBVEEgU29ja2V0U3RyZWFtSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8U29ja2V0U3RyZWFt
SGFuZGxlPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUJhc2UgewogICAgIHB1YmxpYzoKICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGUoY29uc3Qg
S1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVudCkpOyB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUluZm8uaCBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZUluZm8uaAppbmRleCBiOTA4YmQ4OTQzNmIzY2Q1MDhmNDliYzA5ZjEz
ZmI2NTgzNGM4YzYyLi5hMDk0N2NkNDZlZjA3Yzk2ZmE4MTBmMjdkZjAyNjk1M2Q2YWMwYThmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VJbmZvLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlSW5mby5oCkBAIC00Myw3ICs0Myw3IEBAIGNsYXNz
IFN0b3JhZ2VJbmZvRXJyb3JDYWxsYmFjazsKIGNsYXNzIFN0b3JhZ2VJbmZvUXVvdGFDYWxsYmFj
azsKIGNsYXNzIFN0b3JhZ2VJbmZvVXNhZ2VDYWxsYmFjazsKIAotY2xhc3MgU3RvcmFnZUluZm8g
OiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlSW5mbz4geworY2xhc3MgV0VCS0lUX0VYUE9SVERB
VEEgU3RvcmFnZUluZm8gOiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlSW5mbz4gewogcHVibGlj
OgogICAgIGVudW0gewogICAgICAgICBURU1QT1JBUlksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZU5hbWVzcGFjZS5oCmluZGV4IDYwMTc2NDVkZDczMGZhNzU3ZmM1MmIyNDA0MTM0YmZh
NTkwYzI1N2EuLjA1MGUwYjU2MzE2ODMyY2NlM2M4NjMzNjQyODY3ZDA0MDRhZWY0NzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oCkBAIC0zOCw3ICszOCw3IEBA
IGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU3RvcmFnZUFyZWE7CiAKIC8vIFRoaXMgaW50
ZXJmYWNlIGlzIHJlcXVpcmVkIGZvciBDaHJvbWl1bSBzaW5jZSB0aGVzZSBhY3Rpb25zIG5lZWQg
dG8gYmUgcHJveGllZCBiZXR3ZWVuIHByb2Nlc3Nlcy4KLWNsYXNzIFN0b3JhZ2VOYW1lc3BhY2Ug
OiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlTmFtZXNwYWNlPiB7CitjbGFzcyBXRUJLSVRfRVhQ
T1JUREFUQSBTdG9yYWdlTmFtZXNwYWNlIDogcHVibGljIFJlZkNvdW50ZWQ8U3RvcmFnZU5hbWVz
cGFjZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+
IGxvY2FsU3RvcmFnZU5hbWVzcGFjZShjb25zdCBTdHJpbmcmIHBhdGgsIHVuc2lnbmVkIHF1b3Rh
KTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBzZXNzaW9uU3RvcmFn
ZU5hbWVzcGFjZShQYWdlKiwgdW5zaWduZWQgcXVvdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaAppbmRleCBjM2Q4N2VjOTBlYWM3YjBkOTAw
NWVkMTUyOTAxODRlYTc3NWIzZWFkLi5iM2Q0NTUxYzBiYmMyZDM0MzBmZDNjZmEzN2VhNTk3Mjdi
NDE3N2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJl
cG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9z
aXRvcnkuaApAQCAtNDcsNyArNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRl
ZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogICAgIC8vIEludGVyZmFjZSB0byBhIHJlcG9zaXRvcnkg
d2hpY2ggbWFuYWdlcyByZWZlcmVuY2VzIHRvIHRoZSBzZXQgb2YgYWN0aXZlIHNoYXJlZCB3b3Jr
ZXJzLgotICAgIGNsYXNzIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgeworICAgIGNsYXNzIFdFQktJ
VF9FWFBPUlREQVRBIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkgewogICAgIHB1YmxpYzoKICAgICAg
ICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBwbGF0Zm9ybSBzdXBwb3J0cyBTaGFyZWRXb3JrZXJz
LCBvdGhlcndpc2UgZmFsc2UuCiAgICAgICAgIHN0YXRpYyBib29sIGlzQXZhaWxhYmxlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaAppbmRleCAwNTk3NmFm
NDI1YmRmNmRjMWJjZmIyYTQwNGQ0OWUwZDQzNWUwNDc5Li5jYWQ3N2FlZjI1YmRlNWFlOGEwOGVh
Mjk3ZTc4ZTc0MThhZjNkNDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlckNvbnRleHRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dFByb3h5LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIFdvcmtlcjsKIAogICAgIC8vIEEgcHJveHkgdG8gdGFsayB0byB0aGUgd29ya2VyIGNvbnRl
eHQuCi0gICAgY2xhc3MgV29ya2VyQ29udGV4dFByb3h5IHsKKyAgICBjbGFzcyBXRUJLSVRfRVhQ
T1JUREFUQSBXb3JrZXJDb250ZXh0UHJveHkgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFdvcmtlckNvbnRleHRQcm94eSogY3JlYXRlKFdvcmtlciopOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXAKaW5kZXggMWUxYTQxNjY1ZTc5ZGQyY2E1ZDM4YWRlZDY5NTg1MTllMTU3NDE0My4u
NmI2YjgzZjU1YTVmZDc3MjczODRjMGU4MzVlMWIzMzUzZmE5ZDkzNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cApAQCAtNjk4LDgwICs2OTgsMTcgQEAKICAgICAgICAgICAgICdjb25kaXRp
b25zJzogWwogICAgICAgICAgICAgICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1aWxkPT0xJywgewog
ICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICc8KGNvbXBvbmVudCknLAotCiAgICAgICAgICAg
ICAgICAgICAgICdjb25kaXRpb25zJzogWworICAgICAgICAgICAgICAgICAgICAgICAgIyBBTUk6
IGRyb3AgdGhpcyBlbnRpcmUgc2VjdGlvbj8gIEFueXRoaW5nIHRoYXQncyBsZWZ0IGhlcmUgc2hv
dWxkIGhhdmUgYSByZWFzb24uCiAgICAgICAgICAgICAgICAgICAgICAgICBbJ2NvbXBvbmVudD09
InNoYXJlZF9saWJyYXJ5IicsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVmaW5l
cyc6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dFQktJVF9ETEwnLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
J2RlcGVuZGVuY2llcyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4uLy4u
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZV9iaW5kaW5ncycsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBwb3J0JywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYmFzZS9iYXNlLmd5cDp0ZXN0X3N1cHBvcnRf
YmFzZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2dsZXVybC5neXA6Z29vZ2xldXJsJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGVzdGluZy9ndGVzdC5n
eXA6Z3Rlc3QnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS90ZXN0aW5nL2dtb2NrLmd5cDpnbW9jaycsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5L2ljdS9pY3UuZ3lwOion
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90
aGlyZF9wYXJ0eS9saWJqcGVnX3R1cmJvL2xpYmpwZWcuZ3lwOmxpYmpwZWcnLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9s
aWJwbmcvbGlicG5nLmd5cDpsaWJwbmcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJ4bWwvbGlieG1sLmd5cDpsaWJ4
bWwnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGly
KS90aGlyZF9wYXJ0eS9saWJ4c2x0L2xpYnhzbHQuZ3lwOmxpYnhzbHQnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9tb2Rw
X2I2NC9tb2RwX2I2NC5neXA6bW9kcF9iNjQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9vdHMvb3RzLmd5cDpvdHMnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGly
ZF9wYXJ0eS96bGliL3psaWIuZ3lwOnpsaWInLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92OC90b29scy9neXAvdjguZ3lwOnY4JywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBtdXN0IG5vdCBhZGQgd2Via2l0X3N1cHBv
cnQgaGVyZSBiZWNhdXNlIG9mIGN5Y2xpYyBkZXBlbmRlbmN5LgotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RpcmVjdF9kZXBlbmRl
bnRfc2V0dGluZ3MnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWZpbmVz
JzogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dFQktJVF9ETEwnLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4cG9ydF9kZXBlbmRlbnRf
c2V0dGluZ3MnOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVt
X3NyY19kaXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2dsZXVybC5neXA6Z29vZ2xldXJsJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdjgvdG9vbHMv
Z3lwL3Y4Lmd5cDp2OCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAjIFdBUk5JTkc6IERvIG5vdCB2aWV3IHRoaXMgcGFydGljdWxhciBjYXNl
IGFzIGEgcHJlY2VkZW50IGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGlu
Y2x1ZGluZyBXZWJDb3JlIGhlYWRlcnMgaW4gRHVtcFJlbmRlclRyZWUgcHJvamVjdC4KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvdGVzdGluZy92OCcsICMg
Zm9yIFdlYkNvcmVUZXN0U3VwcG9ydC5oLCBuZWVkZWQgdG8gbGluayBpbiB3aW5kb3cuaW50ZXJu
YWxzIGNvZGUuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnc291cmNlcyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxlcyknLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdwdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaCcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJVbml0VGVzdHMuY3BwJywgICAjIENvbXBvbmVu
dHMgdGVzdCBydW5uZXIgc3VwcG9ydC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzISc6IFsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIyBXZSBzaG91bGQgbm90IGluY2x1ZGUgZmlsZXMgZGVwZW5kaW5n
IG9uIHdlYmtpdF9zdXBwb3J0LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFRo
ZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRfc3VwcG9ydCBhbmQKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMgZGVmaW5lZCBvbmx5IGluICFXRUJLSVRfSU1QTEVN
RU5UQVRJT04uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9Bc3NvY2lh
dGVkVVJMTG9hZGVyVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
dGVzdHMvRnJhbWVUZXN0SGVscGVycy5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAndGVzdHMvUG9wdXBNZW51VGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAndGVzdHMvUmVuZGVyVGFibGVDZWxsVGVzdC5jcHAnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAndGVzdHMvV2ViRnJhbWVUZXN0LmNwcCcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJQYWdlTmV3U2VyaWFsaXplclRlc3QuY3BwJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dlYlBhZ2VTZXJpYWxpemVy
VGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvV2ViVmll
d1Rlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbJ09TPT0id2luIiBvciBPUz09Im1hYyInLCB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5L25zcy9u
c3MuZ3lwOionLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsnY2xhbmc9PTEnLCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjIEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNlIHRvIGVuYWJsZSB0aGlzIGluIHNoYXJlZCBidWls
ZHMgdG9vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBidXQgdGhlIHRl
c3QgZmlsZXMgaGF2ZSBnbG9iYWwgY29uc3RydWN0b3JzIGZyb20gdGhlIEdURVNUIG1hY3JvCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGFuZCB3ZSBwdWxsIGluIHRoZSB0
ZXN0IGZpbGVzIGludG8gdGhlIHdlYmtpdCB0YXJnZXQgaW4gdGhlCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIHNoYXJlZCBidWlsZC4KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdjZmxhZ3MhJzogWyctV2dsb2JhbC1jb25zdHJ1Y3RvcnMnXSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd4Y29kZV9zZXR0aW5ncyc6IHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1dBUk5JTkdfQ0ZMQUdTISc6IFsn
LVdnbG9iYWwtY29uc3RydWN0b3JzJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtc3ZzX3Nl
dHRpbmdzJzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1ZDTGlua2VyVG9vbCc6
IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdFVuaXRUZXN0cy5neXAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdFVuaXRUZXN0cy5neXAKaW5kZXggZDUwYWQxNTIzMDcw
NjJlZmYwM2Q2ZGYwMjkzOWZlMDMyNTljNmQ4My4uZDYyYmUyODQxYjdkYWEzNzUzZGU3Y2NlZDky
MjUxYTg4NzQwZDNlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRV
bml0VGVzdHMuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0VW5pdFRlc3Rz
Lmd5cApAQCAtNjUsMzMgKzY1LDIzIEBACiAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3Jj
X2Rpcikvd2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuZ3lwOndlYmtpdF9zdXBwb3J0JywK
ICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJr
aXRfc3VwcG9ydC5neXA6d2Via2l0X3VzZXJfYWdlbnQnLAogICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICdzb3VyY2VzJzogWwotICAgICAgICAgICAgICAgICd0ZXN0cy9SdW5BbGxUZXN0cy5j
cHAnLAotICAgICAgICAgICAgXSwKICAgICAgICAgICAgICdpbmNsdWRlX2RpcnMnOiBbCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYycsCiAgICAgICAgICAgICAgICAgJ3NyYycsCiAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICAgICAgICAgJ3Rlc3RzL1J1
bkFsbFRlc3RzLmNwcCcsCisgICAgICAgICAgICAgICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxl
cyknLAorICAgICAgICAgICAgXSwKICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwotICAgICAg
ICAgICAgICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1aWxkPT0xIGFuZCBjb21wb25lbnQ9PSJzaGFy
ZWRfbGlicmFyeSInLCB7Ci0gICAgICAgICAgICAgICAgICAgICdkZWZpbmVzJzogWwotICAgICAg
ICAgICAgICAgICAgICAgICAgJ1dFQktJVF9ETExfVU5JVFRFU1QnLAotICAgICAgICAgICAgICAg
ICAgICBdLAotICAgICAgICAgICAgICAgIH0sIHsKLSAgICAgICAgICAgICAgICAgICAgJ3NvdXJj
ZXMnOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVz
KScsCi0gICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICdjb25kaXRp
b25zJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEn
LCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9ndGsnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhcmlhYmxlcyc6
IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBFbmFibGUgd2FybmluZ3Mg
b24gb3RoZXIgcGxhdGZvcm1zLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaHJvbWl1
bV9jb2RlJzogMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg
ICAgICAgICAgICAgfV0sCisgICAgICAgICAgICAgICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEn
LCB7CisgICAgICAgICAgICAgICAgICAgICdpbmNsdWRlX2RpcnMnOiBbCisgICAgICAgICAgICAg
ICAgICAgICAgICAncHVibGljL2d0aycsCiAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAg
ICAgICAgICAgICAgICd2YXJpYWJsZXMnOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAjIEZJ
WE1FOiBFbmFibGUgd2FybmluZ3Mgb24gb3RoZXIgcGxhdGZvcm1zLgorICAgICAgICAgICAgICAg
ICAgICAgICAgJ2Nocm9taXVtX2NvZGUnOiAxLAorICAgICAgICAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAgICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1aWxk
PT0xIGFuZCBPUz09IndpbiIgYW5kIGNvbXBvbmVudCE9InNoYXJlZF9saWJyYXJ5IicsIHsKICAg
ICAgICAgICAgICAgICAgICAgJ2NvbmZpZ3VyYXRpb25zJzogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tcG9zaXRvci5oCmluZGV4IDMyYjYwZTI4NDVlODc4NmZmNGJi
NDZlNmI5ZDJiZjI5M2ZlZDU4YWEuLjc4MDM3ZjE1MjUwYjllYmZjYWYwOWZkNGFhZjk1OTM1Y2I4
YTI2ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbXBv
c2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21wb3NpdG9y
LmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgV2ViVGhyZWFkOwogLy8KIC8vIFRoaXMgY2xhc3Mg
Y3VycmVudGx5IHRlbXBvcmFyaWx5IGluaGVyaXRzIGZyb20gV2ViQ29tcG9zaXRvcklucHV0SGFu
ZGxlcgogLy8gd2hpbGUgd2UgbWlncmF0ZSBkb3duc3RyZWFtIGNvZGUgdG8gdXNlIFdlYkNvbXBv
c2l0b3JJbnB1dEhhbmRsZXIgZGlyZWN0bHkuCi1jbGFzcyBXZWJDb21wb3NpdG9yIDogcHVibGlj
IFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIgeworY2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJDb21w
b3NpdG9yIDogcHVibGljIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIgewogcHVibGljOgogICAg
IC8vIEluaXRpYWxpemVzIHRoZSBjb21wb3NpdG9yLiBUaHJlYWRlZCBjb21wb3NpdGluZyBpcyBl
bmFibGVkIGJ5IHBhc3NpbmcgaW4KICAgICAvLyBhIG5vbi1udWxsIFdlYlRocmVhZC4gTm8gY29t
cG9zaXRvciBjbGFzc2VzIG9yIG1ldGhvZHMgc2hvdWxkIGJlIHVzZWQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYlVSTEVycm9yLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJVUkxFcnJvci5oCmluZGV4IDg2
MmRiZWFhM2IzYzBmMjhlMjY5NGY4ZDhiNmZiMThhMmQxZTg1MGYuLjRmMmE0MWViMTRmMzFiZWZk
ODM2MjgxM2VlZDM1MzY3ZWVkNjkyZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL3BsYXRmb3JtL1dlYlVSTEVycm9yLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViVVJMRXJyb3IuaApAQCAtMzEsNiArMzEsNyBAQAogI2lm
bmRlZiBXZWJVUkxFcnJvcl9oCiAjZGVmaW5lIFdlYlVSTEVycm9yX2gKIAorI2luY2x1ZGUgIldl
YkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgog
CkBAIC00MCw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgUmVzb3VyY2VFcnJv
cjsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RydWN0IFdlYlVSTEVycm9yIHsKK3N0cnVj
dCBXRUJLSVRfRVhQT1JUIFdlYlVSTEVycm9yIHsKICAgICAvLyBBIG5hbWVzcGFjZSBmb3IgInJl
YXNvbiIgdG8gc3VwcG9ydCB2YXJpb3VzIGxheWVycyBnZW5lcmF0aW5nCiAgICAgLy8gcmVzb3Vy
Y2UgZXJyb3JzLiBXZWJLaXQgZG9lcyBub3QgY2FyZSBhYm91dCB0aGUgdmFsdWUgb2YgdGhpcwog
ICAgIC8vIHN0cmluZyBhcyBpdCB3aWxsIGp1c3QgYmUgcGFzc2VkIHZpYSBjYWxsYmFja3MgdG8g
dGhlIGNvbnN1bWVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRp
dG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50
SW1wbC5oCmluZGV4IGIxNjdiNmMyZDQ2NmE0ZGYyZWUwYWIzZTI0OWZlNDBjMDkzMmYxODYuLjcw
MTBiOTVjODU4YTIwMmYxZGE0OTc1ODYxYjNkZjkwYmYxZjliY2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNsdWRlICJUZXh0Q2hlY2tlckNsaWVudC5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5j
bHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ1LDcgKzQ2LDcg
QEAgY2xhc3MgU3BlbGxDaGVja2VyOwogbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJWaWV3
SW1wbDsKIAotY2xhc3MgRWRpdG9yQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JD
bGllbnQsIHB1YmxpYyBXZWJDb3JlOjpUZXh0Q2hlY2tlckNsaWVudCB7CitjbGFzcyBXRUJLSVRf
RVhQT1JUIEVkaXRvckNsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6RWRpdG9yQ2xpZW50LCBw
dWJsaWMgV2ViQ29yZTo6VGV4dENoZWNrZXJDbGllbnQgewogcHVibGljOgogICAgIEVkaXRvckNs
aWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCmluZGV4IGJlOWRiNDI4
N2RiNmVmYTMyODVmY2NiODU0ZmVhMzQ4M2FkMTViNmMuLjlhOTk2N2ZlZGEwMDFkMDZiMzliZDE4
YTQ2ZTM4NDIxZjU4MmVjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNs
dWRlICJFeHRlbnNpb25zM0RDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNE
LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hT
ZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRy
Lmg+CkBAIC01Miw3ICs1Myw3IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNEU3dhcEJ1ZmZlcnND
b21wbGV0ZUNhbGxiYWNrQWRhcHRlcjsKIGNsYXNzIEdyYXBoaWNzRXJyb3JNZXNzYWdlQ2FsbGJh
Y2tBZGFwdGVyOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0M0RNZW1vcnlBbGxvY2F0aW9uQ2hhbmdl
ZENhbGxiYWNrQWRhcHRlcjsKIAotY2xhc3MgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlIHsKK2Ns
YXNzIFdFQktJVF9FWFBPUlQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlIHsKIHB1YmxpYzoKICAg
ICAvLyBDYWxsZXJzIG11c3QgbWFrZSB0aGUgY29udGV4dCBjdXJyZW50IGJlZm9yZSB1c2luZyBp
dCBBTkQgY2hlY2sgdGhhdCB0aGUgY29udGV4dCB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkKICAg
ICAvLyB2aWEgQ29udGV4dExvc3QgYmVmb3JlIHVzaW5nIHRoZSBjb250ZXh0IGluIGFueSB3YXku
IE9uY2UgbWFkZSBjdXJyZW50IG9uIGEgdGhyZWFkLCB0aGUgY29udGV4dCBjYW5ub3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKaW5kZXggOTE3
MTgwYjY2N2UwNGY3MWVlNmY3YWVkYmQxNmQzNzIwNmNmZTFjMi4uZTU1NDFkNGYwMmUwMDUyMWE0
MTZiOTg1ZDMzY2I2NWQ1MWNmYmNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKQEAgLTIyMywxMiArMjIzLDEyIEBAIFN0cmluZyB1bmtu
b3duRmlsZVNpemVUZXh0KCkKIAogLy8gVGhlIGZvbGxvd2luZyB0d28gZnVuY3Rpb25zIGFyZSBu
b3QgZGVjbGFyZWQgaW4gTG9jYWxpemVkU3RyaW5ncy5oLgogLy8gVGhleSBhcmUgdXNlZCBieSB0
aGUgbWVudSBmb3IgdGhlIEhUTUwga2V5Z2VuIHRhZy4KLVN0cmluZyBrZXlnZW5NZW51SGlnaEdy
YWRlS2V5U2l6ZSgpCitXVEZfRVhQT1JUIFN0cmluZyBrZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6
ZSgpCiB7CiAgICAgcmV0dXJuIHF1ZXJ5KFdlYkxvY2FsaXplZFN0cmluZzo6S2V5Z2VuTWVudUhp
Z2hHcmFkZUtleVNpemUpOwogfQogCi1TdHJpbmcga2V5Z2VuTWVudU1lZGl1bUdyYWRlS2V5U2l6
ZSgpCitXVEZfRVhQT1JUIFN0cmluZyBrZXlnZW5NZW51TWVkaXVtR3JhZGVLZXlTaXplKCkKIHsK
ICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpLZXlnZW5NZW51TWVkaXVtR3Jh
ZGVLZXlTaXplKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkNvbXBvc2l0b3JJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3Np
dG9ySW1wbC5oCmluZGV4IDM0YzZiZDBmZGM2NzY0ZGIzYWRlZDJlMmU4Mzk1MzY4MzRmYWEzN2Uu
LmNjMjc2NTQ3YjU3YTIzYTljM2UwMmQ5ZGMyYjcwODU1M2I4ZWFkOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbXBsLmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvckltcGwuaApAQCAtNDAsNyArNDAsNyBA
QCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViVGhyZWFkOwogCi1jbGFzcyBXZWJDb21w
b3NpdG9ySW1wbCA6IHB1YmxpYyBXZWJDb21wb3NpdG9yIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQg
V2ViQ29tcG9zaXRvckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2ViQ29tcG9zaXRvckltcGwpOwogcHVibGljOgogICAgIHN0YXRpYyBib29s
IGluaXRpYWxpemVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaAppbmRleCBhMmYxMzAyNWQ5ZjE3YmZk
MThjMTQ0ZjkzMTdkODJhNmVhMTA5ZWM1Li42ODhjNjVjYjQ0ZWJiYTYzMjA1OWYyMTUxYTViYTJh
NGIzZmJlYWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21w
b3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJXZWJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxl
ci5oIgogI2luY2x1ZGUgImNjL0NDSW5wdXRIYW5kbGVyLmgiCisjaW5jbHVkZSAicGxhdGZvcm0v
V2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC00Nyw3ICs0OCw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckNsaWVudDsK
IAogLy8gVGVtcG9yYXJpbHkgc3ViY2xhc3NpbmcgZnJvbSBXZWJDb21wb3NpdG9yIHdoaWxlIGRv
d25zdHJlYW0gY2hhbmdlcyBsYW5kLgotY2xhc3MgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciwgcHVibGljIFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVy
IHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBw
dWJsaWMgV2ViQ29tcG9zaXRvciwgcHVibGljIFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyIHsKICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbCk7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGw+IGNyZWF0ZShXZWJDb3JlOjpDQ0lucHV0SGFuZGxlckNsaWVudCopOwpAQCAtNzYsOCArNzcs
OCBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX3Njcm9sbFN0YXJ0ZWQ7CiAKLSAgICBz
dGF0aWMgaW50IHNfbmV4dEF2YWlsYWJsZUlkZW50aWZpZXI7Ci0gICAgc3RhdGljIEhhc2hTZXQ8
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwqPiogc19jb21wb3NpdG9yczsKKyAgICBzdGF0
aWMgV0VCS0lUX0VYUE9SVCBpbnQgc19uZXh0QXZhaWxhYmxlSWRlbnRpZmllcjsKKyAgICBzdGF0
aWMgV0VCS0lUX0VYUE9SVCBIYXNoU2V0PFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKj4q
IHNfY29tcG9zaXRvcnM7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCmluZGV4IDdiNzNlNzA4MGRk
NmYxZjA1ODRjNGM2MjFkZjNhNmVlMzRhNzViNWUuLjFiNzA5NDBkYmU3ZmQyYmMwMjUyYmIxMDBl
ZmZhYjUxNTVkZmIxYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCkBAIC0yNywxMSArMjcsMTIgQEAKICNk
ZWZpbmUgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsX2gKIAogI2luY2x1ZGUgIlBsdWdpbkxh
eWVyQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDb21tb24uaCIKICNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViRXh0
ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsIDogcHVibGljIFdlYkNvcmU6OlBsdWdpbkxheWVyQ2hyb21p
dW0geworY2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwgOiBw
dWJsaWMgV2ViQ29yZTo6UGx1Z2luTGF5ZXJDaHJvbWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8V2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsPiBjcmVhdGUoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNp
b24uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9u
LmgKaW5kZXggZDQ3YmRhODE0OTJmMWIwMTkxOTZlZDYzOThiNTdhNjk5Zjg0MDMxMC4uNGYzNTM5
N2JiMjM0NGFiNTI3NGZlYjQzODI0NzgwODkyYjE5NGRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5oCkBAIC0zNyw2ICsz
Nyw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1Ub3VjaEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5oIgorI2luY2x1ZGUgInBs
YXRmb3JtL1dlYkNvbW1vbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBLZXlib2Fy
ZEV2ZW50OwpAQCAtNzUsNyArNzYsNyBAQCBwdWJsaWM6CiB9OwogI2VuZGlmCiAKLWNsYXNzIFBs
YXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1LZXli
b2FyZEV2ZW50IHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVp
bGRlciA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQgewogcHVibGljOgog
ICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYp
OwogICAgIHZvaWQgc2V0S2V5VHlwZShUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5oCmluZGV4IDU1Nzc0MDdkZTNiNDExMjliMDVkMzRmZWM1MWQ5OGI2NjA3ODJl
Y2QuLmY4NWI5MmNhMTBhNThlMDk0MDFjYWMyMmMwY2ZjYzA0YTcxZGJhNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmlu
ZSBXZWJWaWV3SW1wbF9oCiAKICNpbmNsdWRlICJXZWJOYXZpZ2F0aW9uUG9saWN5LmgiCisjaW5j
bHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViTGF5ZXIu
aCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJMYXllclRyZWVWaWV3LmgiCiAjaW5jbHVkZSAicGxh
dGZvcm0vV2ViTGF5ZXJUcmVlVmlld0NsaWVudC5oIgpAQCAtOTYsNyArOTcsNyBAQCBjbGFzcyBX
ZWJNb3VzZVdoZWVsRXZlbnQ7CiBjbGFzcyBXZWJTZXR0aW5nc0ltcGw7CiBjbGFzcyBXZWJUb3Vj
aEV2ZW50OwogCi1jbGFzcyBXZWJWaWV3SW1wbCA6IHB1YmxpYyBXZWJWaWV3LCBwdWJsaWMgV2Vi
TGF5ZXJUcmVlVmlld0NsaWVudCwgcHVibGljIFJlZkNvdW50ZWQ8V2ViVmlld0ltcGw+IHsKK2Ns
YXNzIFdFQktJVF9FWFBPUlQgV2ViVmlld0ltcGwgOiBwdWJsaWMgV2ViVmlldywgcHVibGljIFdl
YkxheWVyVHJlZVZpZXdDbGllbnQsIHB1YmxpYyBSZWZDb3VudGVkPFdlYlZpZXdJbXBsPiB7CiBw
dWJsaWM6CiAgICAgZW51bSBBdXRvWm9vbVR5cGUgewogICAgICAgICBEb3VibGVUYXAsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9wYWludGluZy9QYWludEFnZ3JlZ2F0
b3IuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRv
ci5oCmluZGV4IGYwODNlNDAxNzVhOTFhZTA4NjM1YWNiMDBjM2EyNWZkOTczMzMyYjQuLmNhMTk0
YWE3NDhhOTM3YjNmMjJkODJhZTZlNWFlY2Q2N2NmNzU3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5oCkBAIC0zMywx
MyArMzMsMTQgQEAKIAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5o
IgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8vIFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUg
Zm9yIGFnZ3JlZ2F0aW5nIG11bHRpcGxlIGludmFsaWRhdGlvbiBhbmQgc2Nyb2xsCiAvLyBjb21t
YW5kcyB0byBwcm9kdWNlIGEgc2Nyb2xsIGFuZCByZXBhaW50IHNlcXVlbmNlLgotY2xhc3MgUGFp
bnRBZ2dyZWdhdG9yIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgUGFpbnRBZ2dyZWdhdG9yIHsKIHB1
YmxpYzoKICAgICAvLyBUaGlzIHN0cnVjdHVyZSBkZXNjcmliZXMgYW4gYWdncmVnYXRpb24gb2Yg
aW52YWxpZGF0ZVJlY3QgYW5kIHNjcm9sbFJlY3QKICAgICAvLyBjYWxscy4gSWYgfHNjcm9sbFJl
Y3R8IGlzIG5vbi1lbXB0eSwgdGhlbiB0aGF0IHJlY3Qgc2hvdWxkIGJlIHNjcm9sbGVkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCmluZGV4IGRjMDUyODI1
NzFhN2M2ODhjZGIyMDg5NTZjMzU0ZTYzYTMzYTNjM2MuLjRkODFjNDM4OWM2MWMwZGNlYTJjMGE1
ZmU5YTc3NDU5MjBiYzJiZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvUnVuQWxsVGVzdHMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVu
QWxsVGVzdHMuY3BwCkBAIC0zNSw5ICszNSw3IEBACiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0
UGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSA8d2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBv
cnQuaD4KIAotI2lmIGRlZmluZWQoV0VCS0lUX0RMTF9VTklUVEVTVCkKICNpbmNsdWRlICJXZWJV
bml0VGVzdHMuaCIKLSNlbmRpZgogCiAjaW5jbHVkZSA8Z21vY2svZ21vY2suaD4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131197</attachid>
            <date>2012-03-10 18:09:47 -0800</date>
            <delta_ts>2012-03-10 19:25:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80062-20120310180945.patch</filename>
            <type>text/plain</type>
            <size>60931</size>
            <attacher name="Ami Fischman">fischman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MWMxN2I1ZmMwMjdmMWEzZDY1OWM0M2VlNDZkMTMzMWJmNjExNjU0Li5hNjU4ZWRlNDQ2MDQ2M2Zk
YzVjMmVhMWRhMDEyNjllNmJhZjI2MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMy0wOCAgQW1pIEZpc2NobWFuICA8ZmlzY2htYW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYktpdC5neXA6d2Via2l0IHNob3VsZCBub3QgZGVwZW5kIG9uIHRl
c3QgY29kZSAoISkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvY2hyb21pdW0vQ2hyb21pdW1UaHJl
YWRpbmcuaDoKKwogMjAxMi0wMy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBXZWJLaXQgY29tcGlsZWQgYnkgZ2NjIChYY29kZSAzLjIuNikgaGFuZ3Mgd2hp
bGUgcnVubmluZyBET00vQWNjZXNzb3JzLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNzZhODU3MTRjODQ5
MDAxYTg3MWI0MzE2NjhkZmQwNDk5MzdmMWNiLi4yYjZmODVhNGQ5ZWI4ZjkwNGFlYjRhNDU2NjQ5
MmNhMzU5MzZkZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTItMDMtMDggIEFt
aSBGaXNjaG1hbiAgPGZpc2NobWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQuZ3lw
OndlYmtpdCBzaG91bGQgbm90IGRlcGVuZCBvbiB0ZXN0IGNvZGUgKCEpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDA2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKGNvdmVyZWQg
YnkgZXhpc3RpbmcgdGVzdHMpCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL2Nocm9t
aXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnRDaGFubmVs
Lmg6CisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuaDoKKyAgICAgICAgKiBkb20vbWFrZV9uYW1l
cy5wbDoKKyAgICAgICAgKHByaW50TmFtZXNDcHBGaWxlKToKKyAgICAgICAgKiBmaWxlYXBpL0xv
Y2FsRmlsZVN5c3RlbS5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oOgorICAgICAgICAqIHBsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0V4dGVuc2lvbnMzRENocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvQmxvYlJlZ2lzdHJ5Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jaHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3Jh
Z2VJbmZvLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmg6CisgICAgICAg
ICogd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmg6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJDb250ZXh0UHJveHkuaDoKKwogMjAxMi0wMy0wOSAgUHJhdGlrIFNvbGFua2kgIDxwc29s
YW5raUBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4gUmVzb3VyY2VI
YW5kbGU6OnNldERlZmVyc0xvYWRpbmcoKTogZC0+bV9kZWZlcnNMb2FkaW5nICE9IGRlZmVycwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwZWMyNDhlNDFjZDVjNzlkNzYwNGE2NzA3OTZk
MDZjN2JiNDI3MGJkLi4wNjMxYTYwOWMwZmFmZWIxZTZhOGIwYjMxZTEzY2U4YzAxM2U0Y2FmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTA4ICBB
bWkgRmlzY2htYW4gIDxmaXNjaG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViS2l0Lmd5
cDp3ZWJraXQgc2hvdWxkIG5vdCBkZXBlbmQgb24gdGVzdCBjb2RlICghKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAwNjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAg
ICogV2ViS2l0VW5pdFRlc3RzLmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29tcG9zaXRvci5o
OgorICAgICAgICAqIHB1YmxpYy9wbGF0Zm9ybS9XZWJVUkxFcnJvci5oOgorICAgICAgICAqIHNy
Yy9FZGl0b3JDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZS5oOgorICAgICAgICAqIHNyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmtleWdlbk1lbnVIaWdoR3JhZGVLZXlTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Omtl
eWdlbk1lbnVNZWRpdW1HcmFkZUtleVNpemUpOgorICAgICAgICAqIHNyYy9XZWJDb21wb3NpdG9y
SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oOgor
ICAgICAgICAqIHNyYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwuaDoKKyAgICAgICAgKiBz
cmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwu
aDoKKyAgICAgICAgKiBzcmMvcGFpbnRpbmcvUGFpbnRBZ2dyZWdhdG9yLmg6CisgICAgICAgICog
dGVzdHMvUnVuQWxsVGVzdHMuY3BwOgorCiAyMDEyLTAzLTA5ICBFbWlsIEEgRWtsdW5kICA8ZWFl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgcm91bmRlZFBvaW50IHRvIEhpdFRlc3RSZXN1
bHQgYW5kIGNoYW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBpdApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDcxNmJiYTVkM2I4ODFlNmY2MTNhMWZhYWJkNTZlMjM3NmQ1Yjc0
ZDAuLjZlMTBkNTk5NGJlOWJjMzVlZmExNDNmYzA4ZjdhY2M2OGIzNDhiNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTExMzgsNyArMTEzOCw3IEBACiAgICBzaW5jZSBt
b3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5n
IG5ldyBoZWFkZXJzCiAgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBz
byB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKICAgIGJyZWFrYWdlcyBvbmUgcG9y
dCBhdCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkKKyNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShDSFJPTUlVTSkKICNkZWZp
bmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKICNlbHNlCiAjZGVmaW5lIFdURl9VU0VfRVhQT1JU
X01BQ1JPUyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVt
L0Nocm9taXVtVGhyZWFkaW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVt
L0Nocm9taXVtVGhyZWFkaW5nLmgKaW5kZXggMzkzODYyMTlkNjVjMWQ5MmNmZjRhNjU3YmZjNjNj
OTdmNTk4ZTZiYi4uNzBlYTI0NzU5MmZmYTM2OGFhNWYwMmJjNmU5OTg2MjAwMDg1YTczMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9jaHJvbWl1bS9DaHJvbWl1bVRocmVh
ZGluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvY2hyb21pdW0vQ2hyb21pdW1U
aHJlYWRpbmcuaApAQCAtMzEsMTAgKzMxLDEyIEBACiAjaWZuZGVmIENocm9taXVtVGhyZWFkaW5n
X2gKICNkZWZpbmUgQ2hyb21pdW1UaHJlYWRpbmdfaAogCisjaW5jbHVkZSA8d3RmL0V4cG9ydE1h
Y3Jvcy5oPgorCiBuYW1lc3BhY2UgV1RGIHsKIAogLy8gQW4gaW50ZXJmYWNlIHRvIHRoZSBlbWJl
ZGRpbmcgbGF5ZXIsIHdoaWNoIHByb3ZpZGVzIHRocmVhZGluZyBzdXBwb3J0LgotY2xhc3MgQ2hy
b21pdW1UaHJlYWRpbmcgeworY2xhc3MgV1RGX0VYUE9SVCBDaHJvbWl1bVRocmVhZGluZyB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgY2FsbE9uTWFpblRocmVhZCh2b2lkICgqZnVuYykodm9p
ZCopLCB2b2lkKiBjb250ZXh0KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL2Nocm9taXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCmluZGV4
IDY1N2M3OGU5ZTYxYzk1ZGNkYTQ0NWJkZTg0NDhjYzE3MWFmMzQ2NTYuLjliZGUxZjM2ZDAwMzA3
ZTExYjE4ZDQyZmYwMWZiYzkxYjdiN2JmZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5o
CkBAIC00Miw3ICs0Miw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIC8vIFRo
ZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGNsYXNzIGlzIGluIHRoZSBXZWJLaXQgQVBJIChDaHJv
bWl1bSBzb3VyY2UgdHJlZSkKIC8vIGluIFdlYktpdC9jaHJvbWl1bS9zcmMvRGF0YWJhc2VPYnNl
cnZlci5jcHAuCi1jbGFzcyBEYXRhYmFzZU9ic2VydmVyIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JU
IERhdGFiYXNlT2JzZXJ2ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBib29sIGNhbkVzdGFibGlz
aERhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCB1bnNpZ25lZCBsb25nKTsKICAgICBzdGF0aWMgdm9pZCBkYXRhYmFzZU9wZW5lZChB
YnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2Fn
ZVBvcnRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmgK
aW5kZXggMDc2NjhhNGUyMjg0ZTU1OTdlMTZhMzgxNzA0YTU4NzhkZmYyNjJkMy4uZWE3ZmRiY2Ri
NDFjM2Q4NDhlNTE1N2FkMDFiZTY2ZTdiOGFlYTIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNz
YWdlUG9ydENoYW5uZWwuaApAQCAtNTUsNyArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICAvLyBNZXNzYWdlUG9ydENoYW5uZWwgaXMgYSBwbGF0Zm9ybS1pbmRlcGVuZGVudCBpbnRl
cmZhY2UgdG8gdGhlIHJlbW90ZSBzaWRlIG9mIGEgbWVzc2FnZSBjaGFubmVsLgogICAgIC8vIEl0
IGFjdHMgYXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IFBsYXRmb3Jt
TWVzc2FnZVBvcnRDaGFubmVsIGltcGxlbWVudGF0aW9uIHdoaWNoIGVuc3VyZXMgdGhhdCB0aGUg
cGxhdGZvcm0tZGVwZW5kZW50IGNsb3NlKCkgbWV0aG9kIGlzIGludm9rZWQgYmVmb3JlIGRlc3Ry
dWN0aW9uLgotICAgIGNsYXNzIE1lc3NhZ2VQb3J0Q2hhbm5lbCB7CisgICAgY2xhc3MgV0VCQ09S
RV9FWFBPUlQgTWVzc2FnZVBvcnRDaGFubmVsIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFC
TEUoTWVzc2FnZVBvcnRDaGFubmVsKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVDaGFubmVsKFBhc3NSZWZQdHI8TWVzc2Fn
ZVBvcnQ+LCBQYXNzUmVmUHRyPE1lc3NhZ2VQb3J0Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVk
TmFtZS5jcHAKaW5kZXggYTc0MjYyOTVlZjA2NGViZTljMGZhZGVmMGY2NzAxZDUxNjU4ZGEzZS4u
M2ExNjJmMzg0ZjhlMWRlZWUxNzU2MTE4NzhiMzgwNzVkOTI3Y2YxOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9RdWFsaWZpZWROYW1lLmNwcApAQCAtMTAzLDYgKzEwMyw3IEBAIFN0cmluZyBRdWFsaWZpZWRO
YW1lOjp0b1N0cmluZygpIGNvbnN0CiB9CiAKIC8vIEdsb2JhbCBpbml0IHJvdXRpbmVzCitXRUJD
T1JFX0VYUE9SVAogREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCBhbnlOYW1lLCBudWxsQXRv
bSwgc3RhckF0b20sIHN0YXJBdG9tKQogCiB2b2lkIFF1YWxpZmllZE5hbWU6OmluaXQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKaW5kZXggNjM2YjJhNTE1MGM5ZTk4N2MwMjdlNzU2OTc5
MmQ5YmFjMzRhODllOS4uZjZjNWJiOGE0OTY3YzYwNzAyNmYxYmE5YmE0MDA0NDdjNzlhMmQyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCkBAIC0zMyw3ICszMyw3IEBAIHN0cnVjdCBR
dWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAgU3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9
OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFF1YWxpZmll
ZE5hbWUgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgogICAgIGNsYXNz
IFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJlZkNvdW50ZWQ8UXVhbGlmaWVkTmFtZUltcGw+
IHsKQEAgLTEwMyw3ICsxMDMsNyBAQCBwcml2YXRlOgogfTsKIAogI2lmbmRlZiBXRUJDT1JFX1FV
QUxJRklFRE5BTUVfSElERV9HTE9CQUxTCi1leHRlcm4gY29uc3QgUXVhbGlmaWVkTmFtZSBhbnlO
YW1lOworV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIGNvbnN0IFF1YWxpZmllZE5hbWUgYW55TmFtZTsK
IGlubGluZSBjb25zdCBRdWFsaWZpZWROYW1lJiBhbnlRTmFtZSgpIHsgcmV0dXJuIGFueU5hbWU7
IH0KICNlbmRpZgogCkBAIC0xMTcsNyArMTE3LDcgQEAgaW5saW5lIHVuc2lnbmVkIGhhc2hDb21w
b25lbnRzKGNvbnN0IFF1YWxpZmllZE5hbWVDb21wb25lbnRzJiBidWYpCiAgICAgcmV0dXJuIFN0
cmluZ0hhc2hlcjo6aGFzaE1lbW9yeTxzaXplb2YoUXVhbGlmaWVkTmFtZUNvbXBvbmVudHMpPigm
YnVmKTsKIH0KIAotc3RydWN0IFF1YWxpZmllZE5hbWVIYXNoIHsKK3N0cnVjdCBXRUJDT1JFX0VY
UE9SVCBRdWFsaWZpZWROYW1lSGFzaCB7CiAgICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3Qg
UXVhbGlmaWVkTmFtZSYgbmFtZSkgeyByZXR1cm4gaGFzaChuYW1lLmltcGwoKSk7IH0KIAogICAg
IHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFF1YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJ
bXBsKiBuYW1lKSAKQEAgLTEzOCwxMSArMTM4LDExIEBAIG5hbWVzcGFjZSBXVEYgewogICAgIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBEZWZhdWx0SGFzaDsKIAotICAgIHRlbXBs
YXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OlF1YWxpZmllZE5hbWU+IHsKKyAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBXRUJDT1JFX0VYUE9SVCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpRdWFs
aWZpZWROYW1lPiB7CiAgICAgICAgIHR5cGVkZWYgV2ViQ29yZTo6UXVhbGlmaWVkTmFtZUhhc2gg
SGFzaDsKICAgICB9OwogICAgIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2Vi
Q29yZTo6UXVhbGlmaWVkTmFtZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UXVh
bGlmaWVkTmFtZT4geworICAgIHRlbXBsYXRlPD4gc3RydWN0IFdFQkNPUkVfRVhQT1JUIEhhc2hU
cmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gOiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2Vi
Q29yZTo6UXVhbGlmaWVkTmFtZT4gewogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZh
bHVlSXNaZXJvID0gZmFsc2U7CiAgICAgICAgIHN0YXRpYyBXZWJDb3JlOjpRdWFsaWZpZWROYW1l
IGVtcHR5VmFsdWUoKSB7IHJldHVybiBXZWJDb3JlOjpRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBu
dWxsQXRvbSwgbnVsbEF0b20pOyB9CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5k
ZXggYzhlZDU4YjU3NDc4ZGU1ZTYzNDY5YTM2YzhiODA2ODIyZDk5ZTRmNS4uMWFkYzZjNWQ5M2Jh
MDU2ZDMwMTJlYjY0NTVlYmY2ODJkZjM4NWEzMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwK
QEAgLTExNiw3ICsxMTYsNyBAQCBpZiAobGVuZ3RoKCRmb250TmFtZXNJbikpIHsKICAgICBwcmlu
dENwcEhlYWQoJEYsICJDU1MiLCAkZmFtaWx5TmFtZXNGaWxlQmFzZSwgIldURiIpOwogCiAgICAg
d2hpbGUgKCBteSAoJG5hbWUsICRpZGVudGlmaWVyKSA9IGVhY2ggJXBhcmFtZXRlcnMgKSB7Ci0g
ICAgICAgIHByaW50IEYgIkRFRklORV9HTE9CQUwoQXRvbWljU3RyaW5nLCAkbmFtZSwgXCIkaWRl
bnRpZmllclwiKVxuIjsKKyAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9FWFBPUlQgREVGSU5FX0dM
T0JBTChBdG9taWNTdHJpbmcsICRuYW1lLCBcIiRpZGVudGlmaWVyXCIpXG4iOwogICAgIH0KIAog
ICAgIHByaW50SW5pdCgkRiwgMCk7CkBAIC02MjIsMTIgKzYyMiwxMiBAQCBzdWIgcHJpbnROYW1l
c0NwcEZpbGUKICAgICAKICAgICBteSAkbG93ZXJOYW1lc3BhY2UgPSBsYygkcGFyYW1ldGVyc3tu
YW1lc3BhY2VQcmVmaXh9KTsKIAotICAgIHByaW50IEYgIkRFRklORV9HTE9CQUwoQXRvbWljU3Ry
aW5nLCAke2xvd2VyTmFtZXNwYWNlfU5hbWVzcGFjZVVSSSwgXCIkcGFyYW1ldGVyc3tuYW1lc3Bh
Y2VVUkl9XCIpIjsKKyAgICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBERUZJTkVfR0xPQkFMKEF0
b21pY1N0cmluZywgJHtsb3dlck5hbWVzcGFjZX1OYW1lc3BhY2VVUkksIFwiJHBhcmFtZXRlcnN7
bmFtZXNwYWNlVVJJfVwiKSI7CiAKICAgICBpZiAoa2V5cyAlYWxsVGFncykgewogICAgICAgICBw
cmludCBGICIvLyBUYWdzXG4iOwogICAgICAgICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAlYWxs
VGFncykgewotICAgICAgICAgICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1l
LCAiLCAkbmFtZSwgIlRhZywgbnVsbEF0b20sIFwiJG5hbWVcIiwgJHtsb3dlck5hbWVzcGFjZX1O
YW1lc3BhY2VVUkkpO1xuIjsKKyAgICAgICAgICAgIHByaW50IEYgIldFQkNPUkVfRVhQT1JUIERF
RklORV9HTE9CQUwoUXVhbGlmaWVkTmFtZSwgIiwgJG5hbWUsICJUYWcsIG51bGxBdG9tLCBcIiRu
YW1lXCIsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJKTtcbiI7CiAgICAgICAgIH0KICAg
ICAgICAgCiAgICAgICAgIHByaW50IEYgIlxuXG5XZWJDb3JlOjpRdWFsaWZpZWROYW1lKiogZ2V0
JHBhcmFtZXRlcnN7bmFtZXNwYWNlfVRhZ3Moc2l6ZV90KiBzaXplKVxuIjsKQEAgLTY0NCw3ICs2
NDQsNyBAQCBzdWIgcHJpbnROYW1lc0NwcEZpbGUKICAgICBpZiAoa2V5cyAlYWxsQXR0cnMpIHsK
ICAgICAgICAgcHJpbnQgRiAiXG4vLyBBdHRyaWJ1dGVzXG4iOwogICAgICAgICBmb3IgbXkgJG5h
bWUgKHNvcnQga2V5cyAlYWxsQXR0cnMpIHsKLSAgICAgICAgICAgIHByaW50IEYgIkRFRklORV9H
TE9CQUwoUXVhbGlmaWVkTmFtZSwgIiwgJG5hbWUsICJBdHRyLCBudWxsQXRvbSwgXCIkbmFtZVwi
LCAke2xvd2VyTmFtZXNwYWNlfU5hbWVzcGFjZVVSSSk7XG4iOworICAgICAgICAgICAgcHJpbnQg
RiAiV0VCQ09SRV9FWFBPUlQgREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwg
IkF0dHIsIG51bGxBdG9tLCBcIiRuYW1lXCIsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJ
KTtcbiI7CiAgICAgICAgIH0KICAgICAgICAgcHJpbnQgRiAiXG5cbldlYkNvcmU6OlF1YWxpZmll
ZE5hbWUqKiBnZXQkcGFyYW1ldGVyc3tuYW1lc3BhY2V9QXR0cnMoc2l6ZV90KiBzaXplKVxuIjsK
ICAgICAgICAgcHJpbnQgRiAie1xuICAgIHN0YXRpYyBXZWJDb3JlOjpRdWFsaWZpZWROYW1lKiAk
cGFyYW1ldGVyc3tuYW1lc3BhY2V9QXR0cltdID0ge1xuIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0xvY2FsRmlsZVN5c3RlbS5oCmluZGV4IDI0N2JiMmNkZjhiZjEwMTg2YmQ3NmJmN2Q5NWY0Mzcw
MGI5M2U0NTMuLjcxZTAyZTkwZjcyMTRlNmJjNGI0ZjQ5OGQ1ZDRkODVmMGI2MzY4MDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaApAQCAtNDUsNyArNDUsNyBAQCBj
bGFzcyBGaWxlU3lzdGVtQ2FsbGJhY2s7CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0Owog
CiAvLyBLZWVwcyBwZXItcHJvY2VzcyBpbmZvcm1hdGlvbiBhbmQgcHJvdmlkZXMgYW4gZW50cnkg
cG9pbnQgdG8gb3BlbiBhIGZpbGUgc3lzdGVtLgotY2xhc3MgTG9jYWxGaWxlU3lzdGVtIHsKK2Ns
YXNzIFdFQkNPUkVfRVhQT1JUIExvY2FsRmlsZVN5c3RlbSB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoTG9jYWxGaWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIGEgcGVyLXBy
b2Nlc3MgaW5zdGFuY2Ugb2YgTG9jYWxGaWxlU3lzdGVtLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVIb3N0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAppbmRleCAwNDU1NmJl
OTZjZTgyMmM3OTE0ZWY0Nzc3NDE0OGUyYWM0Mzg5N2YwLi5hMTE3YmNmODBlZmMzMzEwYzhmODg4
OTdlOWI4YzYyN2IxYjQ2MzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3QuaApAQCAtNTYsNyArNTYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXBwbGljYXRpb25DYWNoZVN0b3JhZ2U7CiAjZW5kaWYK
IAotICAgIGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVIb3N0IHsKKyAgICBjbGFzcyBXRUJDT1JFX0VY
UE9SVCBBcHBsaWNhdGlvbkNhY2hlSG9zdCB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFwcGxpY2F0aW9uQ2FjaGVIb3N0KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVi
bGljOgogICAgICAgICAvLyBUaGUgU3RhdHVzIG51bWVyaWMgdmFsdWVzIGFyZSBzcGVjaWZpZWQg
aW4gdGhlIEhUTUw1IHNwZWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9B
c3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bS5oCmluZGV4IDc3OTIxMDFjNTMwYTIxYzI2NWNmYzRiNDZhMzQ2ZmI5MjBjNDEyNTMuLjk0ODhh
NWY3YjA5ZmVkZmNiNWVlNDY1YjEwNTczNDBjODk4MmM1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIEFzeW5jRmls
ZVN5c3RlbUNhbGxiYWNrczsKIGNsYXNzIEFzeW5jRmlsZVdyaXRlckNsaWVudDsKIAogLy8gVGhp
cyBjbGFzcyBwcm92aWRlcyBhc3luYyBpbnRlcmZhY2UgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGZp
bGUgc3lzdGVtIGltcGxlbWVudGF0aW9uLiAgTm90ZSB0aGF0IGFsbCB0aGUgbWV0aG9kcyB0YWtl
IHBsYXRmb3JtIHBhdGhzLgotY2xhc3MgQXN5bmNGaWxlU3lzdGVtIHsKK2NsYXNzIFdFQkNPUkVf
RVhQT1JUIEFzeW5jRmlsZVN5c3RlbSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXN5bmNG
aWxlU3lzdGVtKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5Bc3luY0ZpbGVTeXN0ZW0oKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAppbmRleCAzZWJiZWY3
MjJlM2NlYjUyYzA4MDBhYjZhMTQxNzg2YjhhOGIwZGFhLi4yZDBkOWYwZTU0MGY4YWUzODFjMGI3
NTI4ZjNkNjc3ZjA0YjFkODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
b2NhbGl6ZWRTdHJpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVk
U3RyaW5ncy5oCkBAIC0zMywxODAgKzMzLDE4MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAg
ICBjbGFzcyBJbnRTaXplOwogICAgIAotICAgIFN0cmluZyBpbnB1dEVsZW1lbnRBbHRUZXh0KCk7
Ci0gICAgU3RyaW5nIHJlc2V0QnV0dG9uRGVmYXVsdExhYmVsKCk7Ci0gICAgU3RyaW5nIHNlYXJj
aGFibGVJbmRleEludHJvZHVjdGlvbigpOwotICAgIFN0cmluZyBzdWJtaXRCdXR0b25EZWZhdWx0
TGFiZWwoKTsKLSAgICBTdHJpbmcgZmlsZUJ1dHRvbkNob29zZUZpbGVMYWJlbCgpOwotICAgIFN0
cmluZyBmaWxlQnV0dG9uQ2hvb3NlTXVsdGlwbGVGaWxlc0xhYmVsKCk7Ci0gICAgU3RyaW5nIGZp
bGVCdXR0b25Ob0ZpbGVTZWxlY3RlZExhYmVsKCk7Ci0gICAgU3RyaW5nIGZpbGVCdXR0b25Ob0Zp
bGVzU2VsZWN0ZWRMYWJlbCgpOwotICAgIFN0cmluZyBkZWZhdWx0RGV0YWlsc1N1bW1hcnlUZXh0
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGlucHV0RWxlbWVudEFsdFRleHQoKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgcmVzZXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VhcmNoYWJsZUluZGV4SW50cm9kdWN0aW9uKCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIHN1Ym1pdEJ1dHRvbkRlZmF1bHRMYWJlbCgpOworICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyBmaWxlQnV0dG9uQ2hvb3NlRmlsZUxhYmVsKCk7CisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIGZpbGVCdXR0b25DaG9vc2VNdWx0aXBsZUZpbGVzTGFiZWwoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZmlsZUJ1dHRvbk5vRmlsZVNlbGVjdGVkTGFiZWwo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZmlsZUJ1dHRvbk5vRmlsZXNTZWxlY3RlZExh
YmVsKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGRlZmF1bHREZXRhaWxzU3VtbWFyeVRl
eHQoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBTdHJpbmcgY29weUltYWdlVW5rbm93bkZp
bGVMYWJlbCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb3B5SW1hZ2VVbmtub3duRmls
ZUxhYmVsKCk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuTGlua0luTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTGlua1RvRGlzaygpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdDb3B5TGlua1RvQ2xpcGJvYXJkKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ09wZW5JbWFnZUluTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2soKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
Q29weUltYWdlVG9DbGlwYm9hcmQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnT3BlbkxpbmtJbk5ld1dpbmRvdygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rpc2soKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5l
d1dpbmRvdygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdE
b3dubG9hZEltYWdlVG9EaXNrKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCk7CiAjaWYgUExBVEZPUk0oUVQpIHx8IFBM
QVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCgpOwogI2VuZGlmCi0gICAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHkoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnR29CYWNrKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCgpOwot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1JlbG9hZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDdXQoKTsK
LSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3coKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weSgpOworICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdHb0JhY2soKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkKCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1N0b3AoKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUmVsb2FkKCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0N1dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdQYXN0ZSgpOwogI2lmIFBMQVRGT1JNKEdUSykKLSAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRGVsZXRlKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ0lucHV0TWV0aG9kcygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdVbmlj
b2RlKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0RlbGV0
ZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJbnB1dE1l
dGhvZHMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5p
Y29kZSgpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExB
VEZPUk0oRUZMKQotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGwoKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKCk7CiAj
ZW5kaWYKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQoKTsKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmcoKTsKLSAgICBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZygpOwotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdTZWFyY2hXZWIoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTG9va1Vw
SW5EaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRTdHJpbmcpOwotICAgIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdPcGVuTGluaygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdJZ25vcmVHcmFtbWFyKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5n
TWVudSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbChi
b29sIHNob3cpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKCk7
Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZygp
OwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxpbmco
KTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnUoKTsKLSAgICBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnQm9sZCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJ
dGFsaWMoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKCk7Ci0gICAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ091dGxpbmUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnV3JpdGluZ0RpcmVjdGlvbk1lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnVGV4dERpcmVjdGlvbk1lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
RGVmYXVsdERpcmVjdGlvbigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdMZWZ0VG9S
aWdodCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCgpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdOb0d1ZXNzZXNGb3VuZCgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVs
bGluZygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdMZWFy
blNwZWxsaW5nKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1NlYXJjaFdlYigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdMb29rVXBJbkRpY3Rpb25hcnkoY29uc3QgU3RyaW5nJiBzZWxlY3RlZFN0cmluZyk7CisgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rKCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZUdyYW1tYXIoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nob3dTcGVs
bGluZ1BhbmVsKGJvb2wgc2hvdyk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nKCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1hcldpdGhTcGVsbGluZygp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdGb250TWVudSgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdCb2xkKCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0l0YWxpYygpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmUoKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3V0bGluZSgpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdXcml0aW5nRGlyZWN0aW9u
TWVudSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUZXh0
RGlyZWN0aW9uTWVudSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdEZWZhdWx0RGlyZWN0aW9uKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0KCk7CiAjaWYgUExBVEZPUk0oTUFDKQotICAgIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCgpOwotICAgIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdTaG93Rm9udHMoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnU3R5bGVzKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nob3dDb2xvcnMoKTsK
LSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3BlZWNoTWVudSgpOwotICAgIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFraW5nKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1N0b3BTcGVha2luZygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3Jy
ZWN0U3BlbGxpbmdBdXRvbWF0aWNhbGx5KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1N1YnN0aXR1dGlvbnNNZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nob3dT
dWJzdGl0dXRpb25zKGJvb2wgc2hvdyk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nt
YXJ0Q29weVBhc3RlKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NtYXJ0UXVvdGVz
KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NtYXJ0RGFzaGVzKCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ1NtYXJ0TGlua3MoKTsKLSAgICBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnVGV4dFJlcGxhY2VtZW50KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1RyYW5zZm9ybWF0aW9uc01lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWFr
ZVVwcGVyQ2FzZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNYWtlTG93ZXJDYXNl
KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NhcGl0YWxpemUoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnQ2hhbmdlQmFjayhjb25zdCBTdHJpbmcmIHJlcGxhY2VkU3Ry
aW5nKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VhcmNo
SW5TcG90bGlnaHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnU2hvd0ZvbnRzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ1N0eWxlcygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdTaG93Q29sb3JzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ1NwZWVjaE1lbnUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnU3RhcnRTcGVha2luZygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnQ29ycmVjdFNwZWxsaW5nQXV0b21hdGljYWxseSgpOworICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdWJzdGl0dXRpb25zTWVudSgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93U3Vic3RpdHV0
aW9ucyhib29sIHNob3cpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdTbWFydENvcHlQYXN0ZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdTbWFydFF1b3RlcygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdTbWFydERhc2hlcygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdTbWFydExpbmtzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudCgpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUcmFuc2Zvcm1hdGlvbnNNZW51KCk7CisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01ha2VVcHBlckNhc2UoKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWFrZUxvd2VyQ2FzZSgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXpl
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoYW5nZUJh
Y2soY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZyk7CiAjZW5kaWYKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnT3BlblZpZGVvSW5OZXdXaW5kb3coKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnT3BlbkF1ZGlvSW5OZXdXaW5kb3coKTsKLSAgICBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnQ29weVZpZGVvTGlua1RvQ2xpcGJvYXJkKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0NvcHlBdWRpb0xpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdF
bnRlclZpZGVvRnVsbHNjcmVlbigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXkoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnSW5zcGVjdEVsZW1lbnQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnT3BlblZpZGVvSW5OZXdXaW5kb3coKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkF1ZGlvSW5OZXdXaW5kb3coKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ29weVZpZGVvTGlua1Rv
Q2xpcGJvYXJkKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z0NvcHlBdWRpb0xpbmtUb0NsaXBib2FyZCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpOworICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXko
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVz
ZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11
dGUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSW5zcGVj
dEVsZW1lbnQoKTsKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIAotICAgIFN0cmlu
ZyBzZWFyY2hNZW51Tm9SZWNlbnRTZWFyY2hlc1RleHQoKTsKLSAgICBTdHJpbmcgc2VhcmNoTWVu
dVJlY2VudFNlYXJjaGVzVGV4dCgpOwotICAgIFN0cmluZyBzZWFyY2hNZW51Q2xlYXJSZWNlbnRT
ZWFyY2hlc1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VhcmNoTWVudU5vUmVj
ZW50U2VhcmNoZXNUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlYXJjaE1lbnVS
ZWNlbnRTZWFyY2hlc1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VhcmNoTWVu
dUNsZWFyUmVjZW50U2VhcmNoZXNUZXh0KCk7CiAKLSAgICBTdHJpbmcgQVhXZWJBcmVhVGV4dCgp
OwotICAgIFN0cmluZyBBWExpbmtUZXh0KCk7Ci0gICAgU3RyaW5nIEFYTGlzdE1hcmtlclRleHQo
KTsKLSAgICBTdHJpbmcgQVhJbWFnZU1hcFRleHQoKTsKLSAgICBTdHJpbmcgQVhIZWFkaW5nVGV4
dCgpOwotICAgIFN0cmluZyBBWERlZmluaXRpb25MaXN0VGVybVRleHQoKTsKLSAgICBTdHJpbmcg
QVhEZWZpbml0aW9uTGlzdERlZmluaXRpb25UZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIEFYV2ViQXJlYVRleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhMaW5rVGV4
dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBBWExpc3RNYXJrZXJUZXh0KCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIEFYSW1hZ2VNYXBUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIEFYSGVhZGluZ1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhE
ZWZpbml0aW9uTGlzdFRlcm1UZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIEFYRGVm
aW5pdGlvbkxpc3REZWZpbml0aW9uVGV4dCgpOwogCiAjaWYgUExBVEZPUk0oTUFDKQotICAgIFN0
cmluZyBBWEFSSUFDb250ZW50R3JvdXBUZXh0KGNvbnN0IFN0cmluZyYgYXJpYVR5cGUpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBBWEFSSUFDb250ZW50R3JvdXBUZXh0KGNvbnN0IFN0cmlu
ZyYgYXJpYVR5cGUpOwogI2VuZGlmCiAgICAgCi0gICAgU3RyaW5nIEFYQnV0dG9uQWN0aW9uVmVy
YigpOwotICAgIFN0cmluZyBBWFJhZGlvQnV0dG9uQWN0aW9uVmVyYigpOwotICAgIFN0cmluZyBB
WFRleHRGaWVsZEFjdGlvblZlcmIoKTsKLSAgICBTdHJpbmcgQVhDaGVja2VkQ2hlY2tCb3hBY3Rp
b25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYVW5jaGVja2VkQ2hlY2tCb3hBY3Rpb25WZXJiKCk7Ci0g
ICAgU3RyaW5nIEFYTWVudUxpc3RBY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYTWVudUxpc3RQ
b3B1cEFjdGlvblZlcmIoKTsKLSAgICBTdHJpbmcgQVhMaW5rQWN0aW9uVmVyYigpOwotCi0gICAg
U3RyaW5nIG1pc3NpbmdQbHVnaW5UZXh0KCk7Ci0gICAgU3RyaW5nIGNyYXNoZWRQbHVnaW5UZXh0
KCk7Ci0gICAgU3RyaW5nIG11bHRpcGxlRmlsZVVwbG9hZFRleHQodW5zaWduZWQgbnVtYmVyT2ZG
aWxlcyk7Ci0gICAgU3RyaW5nIHVua25vd25GaWxlU2l6ZVRleHQoKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgQVhCdXR0b25BY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIEFYUmFkaW9CdXR0b25BY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IEFYVGV4dEZpZWxkQWN0aW9uVmVyYigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBBWENo
ZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhV
bmNoZWNrZWRDaGVja0JveEFjdGlvblZlcmIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
QVhNZW51TGlzdEFjdGlvblZlcmIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhNZW51
TGlzdFBvcHVwQWN0aW9uVmVyYigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBBWExpbmtB
Y3Rpb25WZXJiKCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgbWlzc2luZ1BsdWdpblRl
eHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY3Jhc2hlZFBsdWdpblRleHQoKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgbXVsdGlwbGVGaWxlVXBsb2FkVGV4dCh1bnNpZ25lZCBu
dW1iZXJPZkZpbGVzKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdW5rbm93bkZpbGVTaXpl
VGV4dCgpOwogCiAjaWYgUExBVEZPUk0oV0lOKQotICAgIFN0cmluZyB1cGxvYWRGaWxlVGV4dCgp
OwotICAgIFN0cmluZyBhbGxGaWxlc1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
dXBsb2FkRmlsZVRleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgYWxsRmlsZXNUZXh0
KCk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBTdHJpbmcgYnVpbHRJblBERlBs
dWdpbk5hbWUoKTsKLSAgICBTdHJpbmcgcGRmRG9jdW1lbnRUeXBlRGVzY3JpcHRpb24oKTsKLSAg
ICBTdHJpbmcga2V5Z2VuTWVudUl0ZW01MTIoKTsKLSAgICBTdHJpbmcga2V5Z2VuTWVudUl0ZW0x
MDI0KCk7Ci0gICAgU3RyaW5nIGtleWdlbk1lbnVJdGVtMjA0OCgpOwotICAgIFN0cmluZyBrZXln
ZW5LZXljaGFpbkl0ZW1OYW1lKGNvbnN0IFN0cmluZyYgaG9zdCk7CisgICAgV0VCQ09SRV9FWFBP
UlQgU3RyaW5nIGJ1aWx0SW5QREZQbHVnaW5OYW1lKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHBkZkRvY3VtZW50VHlwZURlc2NyaXB0aW9uKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIGtleWdlbk1lbnVJdGVtNTEyKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGtleWdl
bk1lbnVJdGVtMTAyNCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBrZXlnZW5NZW51SXRl
bTIwNDgoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5Z2VuS2V5Y2hhaW5JdGVtTmFt
ZShjb25zdCBTdHJpbmcmIGhvc3QpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCi0gICAg
U3RyaW5nIGh0bWxTZWxlY3RNdWx0aXBsZUl0ZW1zKHNpemVfdCBudW0pOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBodG1sU2VsZWN0TXVsdGlwbGVJdGVtcyhzaXplX3QgbnVtKTsKICNlbmRp
ZgogCi0gICAgU3RyaW5nIGltYWdlVGl0bGUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3Qg
SW50U2l6ZSYgc2l6ZSk7Ci0KLSAgICBTdHJpbmcgbWVkaWFFbGVtZW50TG9hZGluZ1N0YXRlVGV4
dCgpOwotICAgIFN0cmluZyBtZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0KCk7Ci0g
ICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJpbmcoY29uc3QgU3RyaW5n
Jik7Ci0gICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dChjb25z
dCBTdHJpbmcmKTsKLSAgICBTdHJpbmcgbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRpb24oZmxv
YXQpOwotCi0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgpOwot
ICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckNoZWNrYm94VGV4dCgp
OwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KCk7
Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxl
VGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclJhZGlv
VGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0ZvclNlbGVj
dFRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hUZXh0KCk7
Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yRW1haWxUZXh0KCk7
Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yTXVsdGlwbGVFbWFp
bFRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hGb3JVUkxU
ZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgp
OwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVRvb0xvbmdUZXh0KGludCB2YWx1ZUxlbmd0
aCwgaW50IG1heExlbmd0aCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VVbmRl
cmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWluaW11bSk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25N
ZXNzYWdlUmFuZ2VPdmVyZmxvd1RleHQoY29uc3QgU3RyaW5nJiBtYXhpbXVtKTsKLSAgICBTdHJp
bmcgdmFsaWRhdGlvbk1lc3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYgYmFzZSwg
Y29uc3QgU3RyaW5nJiBzdGVwKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgaW1hZ2VUaXRs
ZShjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBjb25zdCBJbnRTaXplJik7CisKKyAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgbWVkaWFFbGVtZW50TG9hZGluZ1N0YXRlVGV4dCgpOworICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyBtZWRpYUVsZW1lbnRMaXZlQnJvYWRjYXN0U3RhdGVUZXh0KCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGxvY2FsaXplZE1lZGlhQ29udHJvbEVsZW1lbnRTdHJp
bmcoY29uc3QgU3RyaW5nJik7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGxvY2FsaXplZE1l
ZGlhQ29udHJvbEVsZW1lbnRIZWxwVGV4dChjb25zdCBTdHJpbmcmKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgbG9jYWxpemVkTWVkaWFUaW1lRGVzY3JpcHRpb24oZmxvYXQpOworCisgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nVGV4dCgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2lu
Z0ZvckNoZWNrYm94VGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9u
TWVzc2FnZVZhbHVlTWlzc2luZ0ZvckZpbGVUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlVmFsdWVNaXNzaW5nRm9yTXVsdGlwbGVGaWxlVGV4dCgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zv
clJhZGlvVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2Fn
ZVZhbHVlTWlzc2luZ0ZvclNlbGVjdFRleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
dmFsaWRhdGlvbk1lc3NhZ2VUeXBlTWlzbWF0Y2hUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yRW1haWxUZXh0KCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9yTXVs
dGlwbGVFbWFpbFRleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1l
c3NhZ2VUeXBlTWlzbWF0Y2hGb3JVUkxUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IHZhbGlkYXRpb25NZXNzYWdlUGF0dGVybk1pc21hdGNoVGV4dCgpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVRvb0xvbmdUZXh0KGludCB2YWx1ZUxlbmd0aCwg
aW50IG1heExlbmd0aCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRpb25NZXNz
YWdlUmFuZ2VVbmRlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWluaW11bSk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlUmFuZ2VPdmVyZmxvd1RleHQoY29uc3Qg
U3RyaW5nJiBtYXhpbXVtKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1l
c3NhZ2VTdGVwTWlzbWF0Y2hUZXh0KGNvbnN0IFN0cmluZyYgYmFzZSwgY29uc3QgU3RyaW5nJiBz
dGVwKTsKIAogI2lmICFQTEFURk9STShDSFJPTUlVTSkKICNkZWZpbmUgV0VCX1VJX1NUUklORyhz
dHJpbmcsIGRlc2NyaXB0aW9uKSBXZWJDb3JlOjpsb2NhbGl6ZWRTdHJpbmcoc3RyaW5nKQogI2Rl
ZmluZSBXRUJfVUlfU1RSSU5HX0tFWShzdHJpbmcsIGtleSwgZGVzY3JpcHRpb24pIFdlYkNvcmU6
OmxvY2FsaXplZFN0cmluZyhrZXkpCiAKLSAgICBTdHJpbmcgbG9jYWxpemVkU3RyaW5nKGNvbnN0
IGNoYXIqIGtleSk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGxvY2FsaXplZFN0cmluZyhj
b25zdCBjaGFyKiBrZXkpOwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtRXhwb3J0TWFjcm9zLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oCmluZGV4IDZjNzA4
MTNhZGUyMmQ5NTJmOTM4Y2E5ZDMyMWUyYWM5NThiMDc4MzMuLjE3NmJlMDYzMGJhYWU2MzkyZDI0
NWIxYmFjNDcwNWU5MDBlN2I5YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtRXhwb3J0TWFjcm9zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1FeHBvcnRNYWNyb3MuaApAQCAtMzYsOSArMzYsOSBAQAogI2lmIFVTRShFWFBPUlRfTUFD
Uk9TKQogCiAjaWYgZGVmaW5lZChCVUlMRElOR19XZWJDb3JlKSB8fCBkZWZpbmVkKEJVSUxESU5H
X1dlYktpdCkKLSNkZWZpbmUgV0VCS0lUX0VYUE9SVERBVEEgV1RGX0VYUE9SVAorI2RlZmluZSBX
RUJDT1JFX0VYUE9SVCBXVEZfRVhQT1JUCiAjZWxzZQotI2RlZmluZSBXRUJLSVRfRVhQT1JUREFU
QSBXVEZfSU1QT1JUCisjZGVmaW5lIFdFQkNPUkVfRVhQT1JUIFdURl9JTVBPUlQKICNlbmRpZgog
CiAjZWxzZSAvLyAhVVNFKEVYUE9SVF9NQUNST1MpCkBAIC00NiwxNCArNDYsMTQgQEAKICNpZiAh
UExBVEZPUk0oQ0hST01JVU0pICYmIE9TKFdJTkRPV1MpICYmICFkZWZpbmVkKEJVSUxESU5HX1dY
X18pICYmICFDT01QSUxFUihHQ0MpCiAKICNpZiBkZWZpbmVkKEJVSUxESU5HX1dlYkNvcmUpIHx8
IGRlZmluZWQoQlVJTERJTkdfV2ViS2l0KQotI2RlZmluZSBXRUJLSVRfRVhQT1JUREFUQSBfX2Rl
Y2xzcGVjKGRsbGV4cG9ydCkKKyNkZWZpbmUgV0VCQ09SRV9FWFBPUlQgX19kZWNsc3BlYyhkbGxl
eHBvcnQpCiAjZWxzZQotI2RlZmluZSBXRUJLSVRfRVhQT1JUREFUQSBfX2RlY2xzcGVjKGRsbGlt
cG9ydCkKKyNkZWZpbmUgV0VCQ09SRV9FWFBPUlQgX19kZWNsc3BlYyhkbGxpbXBvcnQpCiAjZW5k
aWYKIAogI2Vsc2UgLy8gIVBMQVRGT1JNLi4uCiAKLSNkZWZpbmUgV0VCS0lUX0VYUE9SVERBVEEK
KyNkZWZpbmUgV0VCQ09SRV9FWFBPUlQKIAogI2VuZGlmIC8vICFQTEFURk9STS4uLgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9UaW1lci5jcHAKaW5kZXggZjJjZjI3MTkyMzFhZmQ0MjA4YmExYjA2ZDRmYzNh
MDIyYjIyMDVjZC4uZTM5ZTJkNTVkOWNmYmQzOGMwODA3NjFjMDA5ZjczOWMyNmJmYzk3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcApAQCAtMzUwLDQgKzM1MCwzIEBAIHZvaWQgVGltZXJC
YXNlOjpmaXJlVGltZXJzSW5OZXN0ZWRFdmVudExvb3AoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCmluZGV4IDYzN2JiYzA1NTNlNTVjODRhMDNk
YzE0YjUwYmIwNDk3NmVjZWEwOTEuLjQ3NDA3NGViZDlkNzJmMjhkMTEyY2JlNTlhNmQ0N2FlZDM2
NzYwY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaApAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRl
ZiBUaW1lcl9oCiAjZGVmaW5lIFRpbWVyX2gKIAorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFj
cm9zLmgiCisKICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CiAKQEAgLTM1LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBUaW1lckhlYXBFbGVtZW50OwogCi1jbGFzcyBUaW1lckJhc2UgeworY2xhc3MgV0VCQ09SRV9F
WFBPUlQgVGltZXJCYXNlIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShUaW1lckJhc2UpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBUaW1lckJhc2UoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaAppbmRleCA3
NTg4MmMwYTYzNWZmM2Y4Nzc0YzUyOWM3NDA0ZjFkZWQxZDUzYzMzLi4wOGI0YjM5MDkyNDZlYmU5
MzdmMTAyNWQ2MTkyYzFjZWM4OTRjMGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oCkBAIC0zOSw3ICszOSw3IEBAIGNsYXNzIEF1ZGlv
U291cmNlUHJvdmlkZXI7CiAvLyBBYnN0cmFjdGlvbiBmb3IgYW4gYXVkaW8gb3V0cHV0IHRvIHRo
ZSBhdWRpbyBoYXJkd2FyZQogLy8gQW4gQXVkaW9Tb3VyY2VQcm92aWRlciBpcyBjYWxsZWQgYmFj
ayBwZXJpb2RpY2FsbHkgdG8gcHJvdmlkZSB0aGUgcmVuZGVyZWQgYXVkaW8gc3RyZWFtLgogCi1j
bGFzcyBBdWRpb0Rlc3RpbmF0aW9uIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEF1ZGlvRGVzdGlu
YXRpb24gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEF1ZGlvRGVzdGluYXRpb24+
IGNyZWF0ZShBdWRpb1NvdXJjZVByb3ZpZGVyJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKaW5k
ZXggMTI4ZDJhM2U5ODgzY2QyYWI2Yjg0NTgwYzA2ZTJkYWZjMGU2MDMyZS4uMGYzMTM5NzlmYTYy
NTVlY2ZkNmY0MzZmZWVjZTdmYmRkNzQwZWE4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKQEAgLTkxLDcgKzkxLDcgQEAgc3Ry
dWN0IEZvbnRSZW5kZXJTdHlsZTsKIC8vIHN1cHBseSBpbXBsZW1lbnRhdGlvbnMgZm9yIFBsYXRm
b3JtIGZ1bmN0aW9uYWxpdHkgdGhhdCBXZWJDb3JlIGNhbm5vdCBhY2Nlc3MKIC8vIGRpcmVjdGx5
IChmb3IgZXhhbXBsZSwgYmVjYXVzZSBXZWJDb3JlIGlzIGluIGEgc2FuZGJveCkuCiAKLWNsYXNz
IFBsYXRmb3JtU3VwcG9ydCB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBQbGF0Zm9ybVN1cHBvcnQg
ewogcHVibGljOgogICAgIC8vIENhY2hlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgc3RhdGljIHZvaWQgY2FjaGVNZXRh
ZGF0YShjb25zdCBLVVJMJiwgZG91YmxlIHJlc3BvbnNlVGltZSwgY29uc3QgVmVjdG9yPGNoYXI+
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0M0QuaAppbmRleCA0NTVmZmUyYmNiOTBlYWM5YjkwMTRlNGYxODVkZWU3Mzk0NzYxYTI5
Li44MDRiMjA0MGU2ZDg1YjViOTk3YWQ0YzU0OWIwYjY0NjliYjkyNzg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKQEAg
LTExOSw3ICsxMTksNyBAQCBzdHJ1Y3QgQWN0aXZlSW5mbyB7CiAKIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dDNEUHJpdmF0ZTsKIAotY2xhc3MgR3JhcGhpY3NDb250ZXh0M0QgOiBwdWJsaWMgUmVmQ291
bnRlZDxHcmFwaGljc0NvbnRleHQzRD4geworY2xhc3MgV0VCQ09SRV9FWFBPUlQgR3JhcGhpY3ND
b250ZXh0M0QgOiBwdWJsaWMgUmVmQ291bnRlZDxHcmFwaGljc0NvbnRleHQzRD4gewogcHVibGlj
OgogICAgIGVudW0gewogICAgICAgICBERVBUSF9CVUZGRVJfQklUID0gMHgwMDAwMDEwMCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0V4dGVu
c2lvbnMzRENocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCmluZGV4IDUzMzIyZjBmMjVlZDQwN2EyNWU2YjYy
MzI3ZTg3MTI4OWQxOGJkNWEuLjU0OWU0ODFkNTU1ZmY0NTE1ODRmNjI1ZDkxMWI2Mzk0Yjc0OTIx
OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0V4dGVuc2lvbnMzRENocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRXh0ZW5zaW9uczNEQ2hyb21pdW0uaApAQCAtMzMsNyArMzMsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU7CiBjbGFz
cyBJbWFnZUJ1ZmZlcjsKIAotY2xhc3MgRXh0ZW5zaW9uczNEQ2hyb21pdW0gOiBwdWJsaWMgRXh0
ZW5zaW9uczNEIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEV4dGVuc2lvbnMzRENocm9taXVtIDog
cHVibGljIEV4dGVuc2lvbnMzRCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RXh0ZW5zaW9uczNE
Q2hyb21pdW0oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmgK
aW5kZXggNTM0MjQ0ZDc2YWRjYTQ4M2UxZDVmNDczNmJmZjg4MjJlODZkMDI5NC4uN2E1ZmJhNjMw
Yzc5NzFjOTk2OTBjOTNlOGEwZjU4NzI4Y2I3YTczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9NZWRpYVBs
YXllclByaXZhdGVDaHJvbWl1bS5oCkBAIC0zNyw3ICszNyw3IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JU
IE1lZGlhUGxheWVyUHJpdmF0ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJN
ZWRpYUVuZ2luZShNZWRpYUVuZ2luZVJlZ2lzdHJhcik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSW5wdXRIYW5k
bGVyLmgKaW5kZXggMzM3MjFmMWRmYzcwYzQ2NTcyNDdkNjc4MWZlOTY5ZjFhMjBiODlkNy4uM2Zh
NTQzZjYyMDQ3YzljNWQxNmVkZjMzMDQzOWY4OTJkZWZjOWE2MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0
SGFuZGxlci5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIEludFNpemU7CiAvLwogLy8gVGhlIEND
SW5wdXRIYW5kbGVyIGlzIGNvbnN0cnVjdGVkIHdpdGggYW4gSW5wdXRIYW5kbGVyQ2xpZW50LCB3
aGljaCBpcyB0aGUKIC8vIGludGVyZmFjZSBieSB3aGljaCB0aGUgaGFuZGxlciBjYW4gbWFuaXB1
bGF0ZSB0aGUgTGF5ZXJUcmVlLgotY2xhc3MgQ0NJbnB1dEhhbmRsZXJDbGllbnQgeworY2xhc3Mg
V0VCQ09SRV9FWFBPUlQgQ0NJbnB1dEhhbmRsZXJDbGllbnQgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKENDSW5wdXRIYW5kbGVyQ2xpZW50KTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
c2V0TmVlZHNSZWRyYXcoKSA9IDA7CkBAIC04MCw3ICs4MCw3IEBAIHByb3RlY3RlZDoKICAgICB2
aXJ0dWFsIH5DQ0lucHV0SGFuZGxlckNsaWVudCgpIHsgfQogfTsKIAotY2xhc3MgQ0NJbnB1dEhh
bmRsZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgQ0NJbnB1dEhhbmRsZXIgewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKENDSW5wdXRIYW5kbGVyKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxDQ0lucHV0SGFuZGxlcj4gY3JlYXRlKENDSW5wdXRIYW5kbGVyQ2xpZW50Kik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDUHJveHkuY3BwCmluZGV4IDllYmI3MWRjN2QzNDFhMjc5YjdhN2Y2NDdkYmE1ZWRmMTg0MzBi
N2IuLjU1NDMzNGY1YjU4ZjcxNTdiMTY3YTk1NmNmYWVhZTI2YjYxMjA4N2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJv
eHkuY3BwCkBAIC0zNywxMSArMzcsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3Bh
Y2UgewogI2lmbmRlZiBOREVCVUcKLWJvb2wgaW1wbFRocmVhZElzT3ZlcnJpZGRlbiA9IGZhbHNl
OwotVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRE92ZXJyaWRlblRvQmVJbXBsVGhyZWFkOworV0VC
Q09SRV9FWFBPUlQgYm9vbCBpbXBsVGhyZWFkSXNPdmVycmlkZGVuID0gZmFsc2U7CitXRUJDT1JF
X0VYUE9SVCBUaHJlYWRJZGVudGlmaWVyIHRocmVhZElET3ZlcnJpZGVuVG9CZUltcGxUaHJlYWQ7
CiAjZW5kaWYKLUNDVGhyZWFkKiBzX21haW5UaHJlYWQgPSAwOwotQ0NUaHJlYWQqIHNfaW1wbFRo
cmVhZCA9IDA7CitXRUJDT1JFX0VYUE9SVCBDQ1RocmVhZCogc19tYWluVGhyZWFkID0gMDsKK1dF
QkNPUkVfRVhQT1JUIENDVGhyZWFkKiBzX2ltcGxUaHJlYWQgPSAwOwogfQogCiB2b2lkIENDUHJv
eHk6OnNldE1haW5UaHJlYWQoQ0NUaHJlYWQqIHRocmVhZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaAppbmRleCAwMTYy
MjZjYTUxMjAxMzFmY2ZlM2ZjMTMzMTlhYzcxNjA4NzY3NTliLi5kZmJkMzBjMGI2MmNkM2QyNTRh
ZjBkZjc3OTg4ZjM5NmIxYTgzZWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oCkBAIC00Myw3ICs0Myw3IEBAIGNs
YXNzIFRleHR1cmVNYW5hZ2VyOwogCiAvLyBBYnN0cmFjdCBjbGFzcyByZXNwb25zaWJsZSBmb3Ig
cHJveHlpbmcgY29tbWFuZHMgZnJvbSB0aGUgbWFpbi10aHJlYWQgc2lkZSBvZgogLy8gdGhlIGNv
bXBvc2l0b3Igb3ZlciB0byB0aGUgY29tcG9zaXRvciBpbXBsZW1lbnRhdGlvbi4KLWNsYXNzIEND
UHJveHkgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgQ0NQcm94eSB7CiAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoQ0NQcm94eSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgc2V0TWFpblRocmVh
ZChDQ1RocmVhZCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1DZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtQ2VudGVyLmgKaW5kZXggYTM3ZDY2YTI2Yzc2NTFiY2RiYTFjN2M4
N2ZjNGMyYWMwYThmNjE4OS4uZGVhZDU1ZmQ3ZDFmMDlhZTM0ODQ4MjVmMWI1OTFhM2Y2ZDYzMjZm
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1DZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbUNlbnRlci5oCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ29tcGxldGVRdWVyeShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVk
aW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKSA9
IDA7CiB9OwogCi1jbGFzcyBNZWRpYVN0cmVhbUNlbnRlciB7CitjbGFzcyBXRUJDT1JFX0VYUE9S
VCBNZWRpYVN0cmVhbUNlbnRlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVkaWFTdHJl
YW1DZW50ZXIpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25I
YW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbkhhbmRsZXIuaAppbmRleCBmYTIyY2Y0YzdjYTQyODA1NTI5OTNlNDIzZWFiZWNkODczZGYx
YWM1Li5iYWNmYzUyY2FiMzIwYzdiZjU5YmQ2NWI3YTZkYjdiYjcwYmFlMDhhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkhhbmRs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbkhhbmRsZXIuaApAQCAtNDYsNyArNDYsNyBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQ7CiBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDsKICNlbmRpZgog
Ci1jbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgUGVl
ckNvbm5lY3Rpb25IYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyQ29ubmVj
dGlvbkhhbmRsZXIpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmgKaW5kZXggNTI4
NGE5YjBkNjAwZWM0ODgwOWVmNmJlNjY3NWViZWRmYTBhYTY0ZC4uZDgwNzA3YjE1YmM0Y2VhY2U2
ZmIyNTg2YzgwOTMxYTY1ZTQ2YzI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFJlc291cmNlUmVx
dWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIC8vIFJldHVybnMgYSBzaW5nbGUgaW5z
dGFuY2Ugb2YgQmxvYlJlZ2lzdHJ5LgotQmxvYlJlZ2lzdHJ5JiBibG9iUmVnaXN0cnkoKTsgCitX
RUJDT1JFX0VYUE9SVCBCbG9iUmVnaXN0cnkmIGJsb2JSZWdpc3RyeSgpOyAKIAogLy8gQmxvYlJl
Z2lzdHJ5IGlzIG5vdCB0aHJlYWQtc2FmZS4gSXQgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZyb20g
bWFpbiB0aHJlYWQuCiBjbGFzcyBCbG9iUmVnaXN0cnkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IDg2MjZlMDllODNjNTRiMjk0
NmEzODg1NjFkNzM3ZDNmZGNiMWRhZDQuLmE2NTQ3ZDUyY2IzNTJjNTUxYTM3ZmI1ZDY0YjBmYjEx
NmY2NjZjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmgKQEAgLTk1LDcgKzk1LDcgQEAgZW51bSBTdG9yZWRDcmVkZW50aWFscyB7CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBUaW1lcjsKIAotY2xhc3MgUmVzb3VyY2VIYW5k
bGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZXNvdXJjZUhhbmRsZT4KK2NsYXNzIFdFQkNPUkVfRVhQ
T1JUIFJlc291cmNlSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8UmVzb3VyY2VIYW5kbGU+CiAj
aWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoQ0ZORVRXT1JLKSB8fCBVU0UoQ1VSTCkKICAgICAsIHB1
YmxpYyBBdXRoZW50aWNhdGlvbkNsaWVudAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1NvY2tldFN0cmVhbUhhbmRsZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jaHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUu
aAppbmRleCA2ZTAyMTRkMjRiYzgyYjY2NTU3ZDY0YmQ0ZTc5MTk2ZWIyMGRmN2FmLi42NGUzYzM2
ZTE4YjAzYmU2NGMwNDZhZjk3MWIyZTNkYjgzMDc0MDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2Nocm9taXVtL1NvY2tldFN0cmVhbUhhbmRsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2hyb21pdW0vU29ja2V0U3RyZWFtSGFu
ZGxlLmgKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFNv
Y2tldFN0cmVhbUhhbmRsZUNsaWVudDsKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGVJbnRl
cm5hbDsKIAotICAgIGNsYXNzIFNvY2tldFN0cmVhbUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVk
PFNvY2tldFN0cmVhbUhhbmRsZT4sIHB1YmxpYyBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlIHsKKyAg
ICBjbGFzcyBXRUJDT1JFX0VYUE9SVCBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMgUmVmQ291
bnRlZDxTb2NrZXRTdHJlYW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQmFzZSB7
CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTb2NrZXRTdHJlYW1IYW5k
bGU+IGNyZWF0ZShjb25zdCBLVVJMJiB1cmwsIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudCogY2xp
ZW50KSB7IHJldHVybiBhZG9wdFJlZihuZXcgU29ja2V0U3RyZWFtSGFuZGxlKHVybCwgY2xpZW50
KSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlSW5mby5o
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlSW5mby5oCmluZGV4IGI5MDhiZDg5NDM2
YjNjZDUwOGY0OWJjMDlmMTNmYjY1ODM0YzhjNjIuLjEyYWY3Y2IwMTFlNDgzOGYzNGJjYTAzNDQx
ZTg2ZWM1NDk1YzkzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VJbmZvLmgKQEAgLTQz
LDcgKzQzLDcgQEAgY2xhc3MgU3RvcmFnZUluZm9FcnJvckNhbGxiYWNrOwogY2xhc3MgU3RvcmFn
ZUluZm9RdW90YUNhbGxiYWNrOwogY2xhc3MgU3RvcmFnZUluZm9Vc2FnZUNhbGxiYWNrOwogCi1j
bGFzcyBTdG9yYWdlSW5mbyA6IHB1YmxpYyBSZWZDb3VudGVkPFN0b3JhZ2VJbmZvPiB7CitjbGFz
cyBXRUJDT1JFX0VYUE9SVCBTdG9yYWdlSW5mbyA6IHB1YmxpYyBSZWZDb3VudGVkPFN0b3JhZ2VJ
bmZvPiB7CiBwdWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIFRFTVBPUkFSWSwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmgKaW5kZXggNjAxNzY0NWRkNzMwZmE3NTdm
YzUyYjI0MDQxMzRiZmE1OTBjMjU3YS4uMjk1YTZiM2VmYzgzZDQ1Njk5NWM5NzZiMWIxMDFjYmRm
MmJjZTU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNw
YWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmgKQEAg
LTM4LDcgKzM4LDcgQEAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBTdG9yYWdlQXJlYTsK
IAogLy8gVGhpcyBpbnRlcmZhY2UgaXMgcmVxdWlyZWQgZm9yIENocm9taXVtIHNpbmNlIHRoZXNl
IGFjdGlvbnMgbmVlZCB0byBiZSBwcm94aWVkIGJldHdlZW4gcHJvY2Vzc2VzLgotY2xhc3MgU3Rv
cmFnZU5hbWVzcGFjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFN0b3JhZ2VOYW1lc3BhY2U+IHsKK2Ns
YXNzIFdFQkNPUkVfRVhQT1JUIFN0b3JhZ2VOYW1lc3BhY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxT
dG9yYWdlTmFtZXNwYWNlPiB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFn
ZU5hbWVzcGFjZT4gbG9jYWxTdG9yYWdlTmFtZXNwYWNlKGNvbnN0IFN0cmluZyYgcGF0aCwgdW5z
aWduZWQgcXVvdGEpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VOYW1lc3BhY2U+IHNl
c3Npb25TdG9yYWdlTmFtZXNwYWNlKFBhZ2UqLCB1bnNpZ25lZCBxdW90YSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oCmluZGV4IGMzZDg3ZWM5
MGVhYzdiMGQ5MDA1ZWQxNTI5MDE4NGVhNzc1YjNlYWQuLjNjMjlkOWY5ZDM1NzA2NjEwNjUxNjdm
NWRhMWFjODZiYzNlNTk0ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5oCkBAIC00Nyw3ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiAgICAgLy8gSW50ZXJmYWNlIHRvIGEg
cmVwb3NpdG9yeSB3aGljaCBtYW5hZ2VzIHJlZmVyZW5jZXMgdG8gdGhlIHNldCBvZiBhY3RpdmUg
c2hhcmVkIHdvcmtlcnMuCi0gICAgY2xhc3MgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7CisgICAg
Y2xhc3MgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7CiAgICAgcHVibGlj
OgogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHBsYXRmb3JtIHN1cHBvcnRzIFNoYXJl
ZFdvcmtlcnMsIG90aGVyd2lzZSBmYWxzZS4KICAgICAgICAgc3RhdGljIGJvb2wgaXNBdmFpbGFi
bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFBy
b3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94eS5oCmluZGV4
IDA1OTc2YWY0MjViZGY2ZGMxYmNmYjJhNDA0ZDQ5ZTBkNDM1ZTA0NzkuLjQ5N2UyODQ3YzY4YzNk
NGZmMGIyNjIyMmIxMjdjOGQxODM5ZmQ2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29udGV4dFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0UHJveHkuaApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgY2xhc3MgV29ya2VyOwogCiAgICAgLy8gQSBwcm94eSB0byB0YWxrIHRvIHRoZSB3b3Jr
ZXIgY29udGV4dC4KLSAgICBjbGFzcyBXb3JrZXJDb250ZXh0UHJveHkgeworICAgIGNsYXNzIFdF
QkNPUkVfRVhQT1JUIFdvcmtlckNvbnRleHRQcm94eSB7CiAgICAgcHVibGljOgogICAgICAgICBz
dGF0aWMgV29ya2VyQ29udGV4dFByb3h5KiBjcmVhdGUoV29ya2VyKik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cAppbmRleCAxZTFhNDE2NjVlNzlkZDJjYTVkMzhhZGVkNjk1ODUxOWUxNTc0
MTQzLi42YjZiODNmNTVhNWZkNzcyNzM4NGMwZTgzNWUxYjMzNTNmYTlkOTM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02OTgsODAgKzY5OCwxNyBAQAogICAgICAgICAgICAgJ2Nv
bmRpdGlvbnMnOiBbCiAgICAgICAgICAgICAgICAgWydpbnNpZGVfY2hyb21pdW1fYnVpbGQ9PTEn
LCB7CiAgICAgICAgICAgICAgICAgICAgICd0eXBlJzogJzwoY29tcG9uZW50KScsCi0KICAgICAg
ICAgICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAj
IEFNSTogZHJvcCB0aGlzIGVudGlyZSBzZWN0aW9uPyAgQW55dGhpbmcgdGhhdCdzIGxlZnQgaGVy
ZSBzaG91bGQgaGF2ZSBhIHJlYXNvbi4KICAgICAgICAgICAgICAgICAgICAgICAgIFsnY29tcG9u
ZW50PT0ic2hhcmVkX2xpYnJhcnkiJywgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdk
ZWZpbmVzJzogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV0VCS0lUX0RMTCcs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnZGVwZW5kZW5jaWVzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
Li4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDp3ZWJjb3JlX2JpbmRpbmdzJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5n
eXAvV2ViQ29yZS5neXA6d2ViY29yZV90ZXN0X3N1cHBvcnQnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9iYXNlL2Jhc2UuZ3lwOnRlc3Rfc3Vw
cG9ydF9iYXNlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1f
c3JjX2RpcikvYnVpbGQvdGVtcF9neXAvZ29vZ2xldXJsLmd5cDpnb29nbGV1cmwnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2d0
ZXN0Lmd5cDpndGVzdCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9t
aXVtX3NyY19kaXIpL3Rlc3RpbmcvZ21vY2suZ3lwOmdtb2NrJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGhpcmRfcGFydHkvaWN1L2ljdS5n
eXA6KicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL3RoaXJkX3BhcnR5L2xpYmpwZWdfdHVyYm8vbGlianBlZy5neXA6bGlianBlZycsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3Bh
cnR5L2xpYnBuZy9saWJwbmcuZ3lwOmxpYnBuZycsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5L2xpYnhtbC9saWJ4bWwuZ3lw
OmxpYnhtbCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3Ny
Y19kaXIpL3RoaXJkX3BhcnR5L2xpYnhzbHQvbGlieHNsdC5neXA6bGlieHNsdCcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5
L21vZHBfYjY0L21vZHBfYjY0Lmd5cDptb2RwX2I2NCcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3RoaXJkX3BhcnR5L290cy9vdHMuZ3lwOm90
cycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIp
L3RoaXJkX3BhcnR5L3psaWIvemxpYi5neXA6emxpYicsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Y4L3Rvb2xzL2d5cC92OC5neXA6djgnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdlIG11c3Qgbm90IGFkZCB3ZWJraXRf
c3VwcG9ydCBoZXJlIGJlY2F1c2Ugb2YgY3ljbGljIGRlcGVuZGVuY3kuCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlyZWN0X2Rl
cGVuZGVudF9zZXR0aW5ncyc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rl
ZmluZXMnOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV0VCS0lUX0RM
TCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhwb3J0X2RlcGVu
ZGVudF9zZXR0aW5ncyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hy
b21pdW1fc3JjX2RpcikvYnVpbGQvdGVtcF9neXAvZ29vZ2xldXJsLmd5cDpnb29nbGV1cmwnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92OC90
b29scy9neXAvdjguZ3lwOnY4JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdpbmNsdWRlX2RpcnMnOiBbCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICMgV0FSTklORzogRG8gbm90IHZpZXcgdGhpcyBwYXJ0aWN1bGFy
IGNhc2UgYXMgYSBwcmVjZWRlbnQgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICMgaW5jbHVkaW5nIFdlYkNvcmUgaGVhZGVycyBpbiBEdW1wUmVuZGVyVHJlZSBwcm9qZWN0Lgot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS90ZXN0aW5nL3Y4
JywgIyBmb3IgV2ViQ29yZVRlc3RTdXBwb3J0LmgsIG5lZWRlZCB0byBsaW5rIGluIHdpbmRvdy5p
bnRlcm5hbHMgY29kZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdzb3VyY2VzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVzKScsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICdzcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAnLCAgICMgQ29t
cG9uZW50cyB0ZXN0IHJ1bm5lciBzdXBwb3J0LgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMhJzogWwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIFdlIHNob3VsZCBub3QgaW5jbHVkZSBmaWxlcyBkZXBl
bmRpbmcgb24gd2Via2l0X3N1cHBvcnQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICMgVGhlc2UgdGVzdHMgZGVwZW5kIG9uIHdlYmtpdF9zdXBwb3J0IGFuZAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIGZ1bmN0aW9ucyBkZWZpbmVkIG9ubHkgaW4gIVdFQktJVF9J
TVBMRU1FTlRBVElPTi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL0Fz
c29jaWF0ZWRVUkxMb2FkZXJUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICd0ZXN0cy9GcmFtZVRlc3RIZWxwZXJzLmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICd0ZXN0cy9Qb3B1cE1lbnVUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICd0ZXN0cy9SZW5kZXJUYWJsZUNlbGxUZXN0LmNwcCcsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJGcmFtZVRlc3QuY3BwJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dlYlBhZ2VOZXdTZXJpYWxpemVyVGVzdC5j
cHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvV2ViUGFnZVNlcmlh
bGl6ZXJUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9X
ZWJWaWV3VGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFsnT1M9PSJ3aW4iIG9yIE9TPT0ibWFjIicsIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGhpcmRfcGFydHkv
bnNzL25zcy5neXA6KicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgWydjbGFuZz09MScsIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICMgRklYTUU6IEl0IHdvdWxkIGJlIG5pY2UgdG8gZW5hYmxlIHRoaXMgaW4gc2hhcmVk
IGJ1aWxkcyB0b28sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGJ1dCB0
aGUgdGVzdCBmaWxlcyBoYXZlIGdsb2JhbCBjb25zdHJ1Y3RvcnMgZnJvbSB0aGUgR1RFU1QgbWFj
cm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYW5kIHdlIHB1bGwgaW4g
dGhlIHRlc3QgZmlsZXMgaW50byB0aGUgd2Via2l0IHRhcmdldCBpbiB0aGUKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICMgc2hhcmVkIGJ1aWxkLgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ2NmbGFncyEnOiBbJy1XZ2xvYmFsLWNvbnN0cnVjdG9ycydd
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3hjb2RlX3NldHRpbmdzJzog
ewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnV0FSTklOR19DRkxBR1Mh
JzogWyctV2dsb2JhbC1jb25zdHJ1Y3RvcnMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1dLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21z
dnNfc2V0dGluZ3MnOiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVkNMaW5rZXJU
b29sJzogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IFsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0VW5pdFRlc3RzLmd5cCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0VW5pdFRlc3RzLmd5cAppbmRleCBkNTBhZDE1
MjMwNzA2MmVmZjAzZDZkZjAyOTM5ZmUwMzI1OWM2ZDgzLi5kNjJiZTI4NDFiN2RhYTM3NTNkZTdj
Y2VkOTIyNTFhODg3NDBkM2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdFVuaXRUZXN0cy5neXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRVbml0
VGVzdHMuZ3lwCkBAIC02NSwzMyArNjUsMjMgQEAKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6d2Via2l0X3N1cHBv
cnQnLAogICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3dlYmtpdC9zdXBwb3J0
L3dlYmtpdF9zdXBwb3J0Lmd5cDp3ZWJraXRfdXNlcl9hZ2VudCcsCiAgICAgICAgICAgICBdLAot
ICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCi0gICAgICAgICAgICAgICAgJ3Rlc3RzL1J1bkFsbFRl
c3RzLmNwcCcsCi0gICAgICAgICAgICBdLAogICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsK
ICAgICAgICAgICAgICAgICAncHVibGljJywKICAgICAgICAgICAgICAgICAnc3JjJywKICAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAgICAgICAgICAndGVz
dHMvUnVuQWxsVGVzdHMuY3BwJywKKyAgICAgICAgICAgICAgICAnPEAod2Via2l0X3VuaXR0ZXN0
X2ZpbGVzKScsCisgICAgICAgICAgICBdLAogICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCi0g
ICAgICAgICAgICAgICAgWydpbnNpZGVfY2hyb21pdW1fYnVpbGQ9PTEgYW5kIGNvbXBvbmVudD09
InNoYXJlZF9saWJyYXJ5IicsIHsKLSAgICAgICAgICAgICAgICAgICAgJ2RlZmluZXMnOiBbCi0g
ICAgICAgICAgICAgICAgICAgICAgICAnV0VCS0lUX0RMTF9VTklUVEVTVCcsCi0gICAgICAgICAg
ICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgfSwgewotICAgICAgICAgICAgICAgICAgICAn
c291cmNlcyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJraXRfdW5pdHRlc3Rf
ZmlsZXMpJywKLSAgICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgJ2Nv
bmRpdGlvbnMnOiBbCi0gICAgICAgICAgICAgICAgICAgICAgICBbJ3Rvb2xraXRfdXNlc19ndGsg
PT0gMScsIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHVibGljL2d0aycsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmFyaWFi
bGVzJzogewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRklYTUU6IEVuYWJsZSB3YXJu
aW5ncyBvbiBvdGhlciBwbGF0Zm9ybXMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2No
cm9taXVtX2NvZGUnOiAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICB9XSwKKyAgICAgICAgICAgICAgICBbJ3Rvb2xraXRfdXNlc19ndGsg
PT0gMScsIHsKKyAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICdwdWJsaWMvZ3RrJywKICAgICAgICAgICAgICAgICAgICAgXSwKKyAg
ICAgICAgICAgICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICMgRklYTUU6IEVuYWJsZSB3YXJuaW5ncyBvbiBvdGhlciBwbGF0Zm9ybXMuCisgICAgICAgICAg
ICAgICAgICAgICAgICAnY2hyb21pdW1fY29kZSc6IDEsCisgICAgICAgICAgICAgICAgICAgIH0s
CiAgICAgICAgICAgICAgICAgfV0sCiAgICAgICAgICAgICAgICAgWydpbnNpZGVfY2hyb21pdW1f
YnVpbGQ9PTEgYW5kIE9TPT0id2luIiBhbmQgY29tcG9uZW50IT0ic2hhcmVkX2xpYnJhcnkiJywg
ewogICAgICAgICAgICAgICAgICAgICAnY29uZmlndXJhdGlvbnMnOiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21wb3NpdG9yLmgKaW5kZXggMzJiNjBlMjg0NWU4Nzg2
ZmY0YmI0NmU2YjlkMmJmMjkzZmVkNThhYS4uNzgwMzdmMTUyNTBiOWViZmNhZjA5ZmQ0YWFmOTU5
MzVjYjhhMjZmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Q29tcG9zaXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbXBv
c2l0b3IuaApAQCAtNDMsNyArNDMsNyBAQCBjbGFzcyBXZWJUaHJlYWQ7CiAvLwogLy8gVGhpcyBj
bGFzcyBjdXJyZW50bHkgdGVtcG9yYXJpbHkgaW5oZXJpdHMgZnJvbSBXZWJDb21wb3NpdG9ySW5w
dXRIYW5kbGVyCiAvLyB3aGlsZSB3ZSBtaWdyYXRlIGRvd25zdHJlYW0gY29kZSB0byB1c2UgV2Vi
Q29tcG9zaXRvcklucHV0SGFuZGxlciBkaXJlY3RseS4KLWNsYXNzIFdlYkNvbXBvc2l0b3IgOiBw
dWJsaWMgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlciB7CitjbGFzcyBXRUJLSVRfRVhQT1JUIFdl
YkNvbXBvc2l0b3IgOiBwdWJsaWMgV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlciB7CiBwdWJsaWM6
CiAgICAgLy8gSW5pdGlhbGl6ZXMgdGhlIGNvbXBvc2l0b3IuIFRocmVhZGVkIGNvbXBvc2l0aW5n
IGlzIGVuYWJsZWQgYnkgcGFzc2luZyBpbgogICAgIC8vIGEgbm9uLW51bGwgV2ViVGhyZWFkLiBO
byBjb21wb3NpdG9yIGNsYXNzZXMgb3IgbWV0aG9kcyBzaG91bGQgYmUgdXNlZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViVVJMRXJyb3IuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYlVSTEVycm9yLmgKaW5k
ZXggODYyZGJlYWEzYjNjMGYyOGUyNjk0ZjhkOGI2ZmIxOGEyZDFlODUwZi4uNGYyYTQxZWIxNGYz
MWJlZmQ4MzYyODEzZWVkMzUzNjdlZWQ2OTJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViVVJMRXJyb3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJVUkxFcnJvci5oCkBAIC0zMSw2ICszMSw3IEBA
CiAjaWZuZGVmIFdlYlVSTEVycm9yX2gKICNkZWZpbmUgV2ViVVJMRXJyb3JfaAogCisjaW5jbHVk
ZSAiV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSAiV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViVVJM
LmgiCiAKQEAgLTQwLDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBSZXNvdXJj
ZUVycm9yOyB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdHJ1Y3QgV2ViVVJMRXJyb3Igewor
c3RydWN0IFdFQktJVF9FWFBPUlQgV2ViVVJMRXJyb3IgewogICAgIC8vIEEgbmFtZXNwYWNlIGZv
ciAicmVhc29uIiB0byBzdXBwb3J0IHZhcmlvdXMgbGF5ZXJzIGdlbmVyYXRpbmcKICAgICAvLyBy
ZXNvdXJjZSBlcnJvcnMuIFdlYktpdCBkb2VzIG5vdCBjYXJlIGFib3V0IHRoZSB2YWx1ZSBvZiB0
aGlzCiAgICAgLy8gc3RyaW5nIGFzIGl0IHdpbGwganVzdCBiZSBwYXNzZWQgdmlhIGNhbGxiYWNr
cyB0byB0aGUgY29uc3VtZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9FZGl0b3JDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JD
bGllbnRJbXBsLmgKaW5kZXggYjE2N2I2YzJkNDY2YTRkZjJlZTBhYjNlMjQ5ZmU0MGMwOTMyZjE4
Ni4uNzAxMGI5NWM4NThhMjAyZjFkYTQ5NzU4NjFiM2RmOTBiZjFmOWJjZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuaApAQCAtMzQsNiArMzQsNyBA
QAogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIlRleHRDaGVja2VyQ2xpZW50
LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDb21tb24uaCIK
ICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDUsNyAr
NDYsNyBAQCBjbGFzcyBTcGVsbENoZWNrZXI7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdl
YlZpZXdJbXBsOwogCi1jbGFzcyBFZGl0b3JDbGllbnRJbXBsIDogcHVibGljIFdlYkNvcmU6OkVk
aXRvckNsaWVudCwgcHVibGljIFdlYkNvcmU6OlRleHRDaGVja2VyQ2xpZW50IHsKK2NsYXNzIFdF
QktJVF9FWFBPUlQgRWRpdG9yQ2xpZW50SW1wbCA6IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JDbGll
bnQsIHB1YmxpYyBXZWJDb3JlOjpUZXh0Q2hlY2tlckNsaWVudCB7CiBwdWJsaWM6CiAgICAgRWRp
dG9yQ2xpZW50SW1wbChXZWJWaWV3SW1wbCogd2ViVmlldyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmgKaW5kZXggYmU5
ZGI0Mjg3ZGI2ZWZhMzI4NWZjY2I4NTRmZWEzNDgzYWQxNWI2Yy4uOWE5OTY3ZmVkYTAwMWQwNmIz
OWJkMThhNDZlMzg0MjFmNTgyZWM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmgKQEAgLTI4LDYgKzI4LDcgQEAKIAog
I2luY2x1ZGUgIkV4dGVuc2lvbnMzRENocm9taXVtLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0M0QuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDb21tb24uaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgogI2luY2x1ZGUgPHd0Zi9P
d25QdHIuaD4KQEAgLTUyLDcgKzUzLDcgQEAgY2xhc3MgR3JhcGhpY3NDb250ZXh0M0RTd2FwQnVm
ZmVyc0NvbXBsZXRlQ2FsbGJhY2tBZGFwdGVyOwogY2xhc3MgR3JhcGhpY3NFcnJvck1lc3NhZ2VD
YWxsYmFja0FkYXB0ZXI7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRE1lbW9yeUFsbG9jYXRpb25D
aGFuZ2VkQ2FsbGJhY2tBZGFwdGVyOwogCi1jbGFzcyBHcmFwaGljc0NvbnRleHQzRFByaXZhdGUg
eworY2xhc3MgV0VCS0lUX0VYUE9SVCBHcmFwaGljc0NvbnRleHQzRFByaXZhdGUgewogcHVibGlj
OgogICAgIC8vIENhbGxlcnMgbXVzdCBtYWtlIHRoZSBjb250ZXh0IGN1cnJlbnQgYmVmb3JlIHVz
aW5nIGl0IEFORCBjaGVjayB0aGF0IHRoZSBjb250ZXh0IHdhcyBjcmVhdGVkIHN1Y2Nlc3NmdWxs
eQogICAgIC8vIHZpYSBDb250ZXh0TG9zdCBiZWZvcmUgdXNpbmcgdGhlIGNvbnRleHQgaW4gYW55
IHdheS4gT25jZSBtYWRlIGN1cnJlbnQgb24gYSB0aHJlYWQsIHRoZSBjb250ZXh0IGNhbm5vdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAppbmRl
eCA5MTcxODBiNjY3ZTA0ZjcxZWU2ZjdhZWRiZDE2ZDM3MjA2Y2ZlMWMyLi5lNTU0MWQ0ZjAyZTAw
NTIxYTQxNmI5ODVkMzNjYjY1ZDUxY2ZiY2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcApAQCAtMjIzLDEyICsyMjMsMTIgQEAgU3RyaW5n
IHVua25vd25GaWxlU2l6ZVRleHQoKQogCiAvLyBUaGUgZm9sbG93aW5nIHR3byBmdW5jdGlvbnMg
YXJlIG5vdCBkZWNsYXJlZCBpbiBMb2NhbGl6ZWRTdHJpbmdzLmguCiAvLyBUaGV5IGFyZSB1c2Vk
IGJ5IHRoZSBtZW51IGZvciB0aGUgSFRNTCBrZXlnZW4gdGFnLgotU3RyaW5nIGtleWdlbk1lbnVI
aWdoR3JhZGVLZXlTaXplKCkKK1dURl9FWFBPUlQgU3RyaW5nIGtleWdlbk1lbnVIaWdoR3JhZGVL
ZXlTaXplKCkKIHsKICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVkU3RyaW5nOjpLZXlnZW5N
ZW51SGlnaEdyYWRlS2V5U2l6ZSk7CiB9CiAKLVN0cmluZyBrZXlnZW5NZW51TWVkaXVtR3JhZGVL
ZXlTaXplKCkKK1dURl9FWFBPUlQgU3RyaW5nIGtleWdlbk1lbnVNZWRpdW1HcmFkZUtleVNpemUo
KQogewogICAgIHJldHVybiBxdWVyeShXZWJMb2NhbGl6ZWRTdHJpbmc6OktleWdlbk1lbnVNZWRp
dW1HcmFkZUtleVNpemUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViQ29tcG9zaXRvckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNv
bXBvc2l0b3JJbXBsLmgKaW5kZXggMzRjNmJkMGZkYzY3NjRkYjNhZGVkMmUyZTgzOTUzNjgzNGZh
YTM3ZS4uY2MyNzY1NDdiNTdhMjNhOWMzZTAyZDlkYzJiNzA4NTUzYjhlYWQ4ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvckltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW1wbC5oCkBAIC00MCw3ICs0
MCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJUaHJlYWQ7CiAKLWNsYXNzIFdl
YkNvbXBvc2l0b3JJbXBsIDogcHVibGljIFdlYkNvbXBvc2l0b3IgeworY2xhc3MgV0VCS0lUX0VY
UE9SVCBXZWJDb21wb3NpdG9ySW1wbCA6IHB1YmxpYyBXZWJDb21wb3NpdG9yIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJDb21wb3NpdG9ySW1wbCk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IGJvb2wgaW5pdGlhbGl6ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oCmluZGV4IDgzYjRiZDU0NjFh
YzM0YTUxNmJjZWRmZWM0MjRlYTFmNGNjMzA2YjYuLmJiYTQ5MGVjY2Q2NzE4M2M5YjFmZjk3NTE3
MjU0YWQzY2JjYzRkZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwuaApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIldlYkNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJXZWJDb21wb3NpdG9ySW5wdXRI
YW5kbGVyLmgiCiAjaW5jbHVkZSAiY2MvQ0NJbnB1dEhhbmRsZXIuaCIKKyNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJDb21tb24uaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KQEAgLTQ3LDcgKzQ4LDcg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVyQ2xp
ZW50OwogCiAvLyBUZW1wb3JhcmlseSBzdWJjbGFzc2luZyBmcm9tIFdlYkNvbXBvc2l0b3Igd2hp
bGUgZG93bnN0cmVhbSBjaGFuZ2VzIGxhbmQuCi1jbGFzcyBXZWJDb21wb3NpdG9ySW5wdXRIYW5k
bGVySW1wbCA6IHB1YmxpYyBXZWJDb21wb3NpdG9yLCBwdWJsaWMgV2ViQ29yZTo6Q0NJbnB1dEhh
bmRsZXIgeworY2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1w
bCA6IHB1YmxpYyBXZWJDb21wb3NpdG9yLCBwdWJsaWMgV2ViQ29yZTo6Q0NJbnB1dEhhbmRsZXIg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBs
KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxXZWJDb21wb3NpdG9ySW5wdXRIYW5k
bGVySW1wbD4gY3JlYXRlKFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyQ2xpZW50Kik7CkBAIC03Niw4
ICs3Nyw4IEBAIHByaXZhdGU6CiAjZW5kaWYKICAgICBib29sIG1fc2Nyb2xsU3RhcnRlZDsKIAot
ICAgIHN0YXRpYyBpbnQgc19uZXh0QXZhaWxhYmxlSWRlbnRpZmllcjsKLSAgICBzdGF0aWMgSGFz
aFNldDxXZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbCo+KiBzX2NvbXBvc2l0b3JzOworICAg
IHN0YXRpYyBXRUJLSVRfRVhQT1JUIGludCBzX25leHRBdmFpbGFibGVJZGVudGlmaWVyOworICAg
IHN0YXRpYyBXRUJLSVRfRVhQT1JUIEhhc2hTZXQ8V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGwqPiogc19jb21wb3NpdG9yczsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsLmgKaW5kZXggN2I3M2U3
MDgwZGQ2ZjFmMDU4NGM0YzYyMWRmM2E2ZWUzNGE3NWI1ZS4uMWI3MDk0MGRiZTdmZDJiYzAyNTJi
YjEwMGVmZmFiNTE1NWRmYjFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsLmgKQEAgLTI3LDExICsyNywxMiBA
QAogI2RlZmluZSBXZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGxfaAogCiAjaW5jbHVkZSAiUGx1
Z2luTGF5ZXJDaHJvbWl1bS5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgogI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBX
ZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwgOiBwdWJsaWMgV2ViQ29yZTo6UGx1Z2luTGF5ZXJD
aHJvbWl1bSB7CitjbGFzcyBXRUJLSVRfRVhQT1JUIFdlYkV4dGVybmFsVGV4dHVyZUxheWVySW1w
bCA6IHB1YmxpYyBXZWJDb3JlOjpQbHVnaW5MYXllckNocm9taXVtIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxXZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGw+IGNyZWF0ZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29u
dmVyc2lvbi5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZl
cnNpb24uaAppbmRleCBkNDdiZGE4MTQ5MmYxYjAxOTE5NmVkNjM5OGI1N2E2OTlmODQwMzEwLi40
ZjM1Mzk3YmIyMzQ0YWI1Mjc0ZmViNDM4MjQ3ODA4OTJiMTk0ZGM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmgKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybVdoZWVsRXZlbnQuaCIKICNpbmNsdWRlICJXZWJJbnB1dEV2ZW50LmgiCisjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEtl
eWJvYXJkRXZlbnQ7CkBAIC03NSw3ICs3Niw3IEBAIHB1YmxpYzoKIH07CiAjZW5kaWYKIAotY2xh
c3MgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlciA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9y
bUtleWJvYXJkRXZlbnQgeworY2xhc3MgV0VCS0lUX0VYUE9SVCBQbGF0Zm9ybUtleWJvYXJkRXZl
bnRCdWlsZGVyIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudCB7CiBwdWJs
aWM6CiAgICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlcihjb25zdCBXZWJLZXlib2FyZEV2
ZW50Jik7CiAgICAgdm9pZCBzZXRLZXlUeXBlKFR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMzgxOWVjYjY1NTQxZTFkNTNkYTA4NjgxZDI2NjA4YmRj
MzY1ZWE1Yi4uMWFkMzZiOWY3YjU0NDZkNDM0NWE3NjlhNTQ3ZjAwMmNlZjdhMDE5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0zMiw2ICszMiw3IEBACiAj
ZGVmaW5lIFdlYlZpZXdJbXBsX2gKIAogI2luY2x1ZGUgIldlYk5hdmlnYXRpb25Qb2xpY3kuaCIK
KyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDb21tb24uaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJM
YXllci5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkxheWVyVHJlZVZpZXcuaCIKICNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJMYXllclRyZWVWaWV3Q2xpZW50LmgiCkBAIC05Niw3ICs5Nyw3IEBAIGNs
YXNzIFdlYk1vdXNlV2hlZWxFdmVudDsKIGNsYXNzIFdlYlNldHRpbmdzSW1wbDsKIGNsYXNzIFdl
YlRvdWNoRXZlbnQ7CiAKLWNsYXNzIFdlYlZpZXdJbXBsIDogcHVibGljIFdlYlZpZXcsIHB1Ymxp
YyBXZWJMYXllclRyZWVWaWV3Q2xpZW50LCBwdWJsaWMgUmVmQ291bnRlZDxXZWJWaWV3SW1wbD4g
eworY2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJWaWV3SW1wbCA6IHB1YmxpYyBXZWJWaWV3LCBwdWJs
aWMgV2ViTGF5ZXJUcmVlVmlld0NsaWVudCwgcHVibGljIFJlZkNvdW50ZWQ8V2ViVmlld0ltcGw+
IHsKIHB1YmxpYzoKICAgICBlbnVtIEF1dG9ab29tVHlwZSB7CiAgICAgICAgIERvdWJsZVRhcCwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL1BhaW50QWdn
cmVnYXRvci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvcGFpbnRpbmcvUGFpbnRBZ2dy
ZWdhdG9yLmgKaW5kZXggZjA4M2U0MDE3NWE5MWFlMDg2MzVhY2IwMGMzYTI1ZmQ5NzMzMzJiNC4u
Y2ExOTRhYTc0OGE5MzdiM2YyMmQ4MmFlNmU1YWVjZDY3Y2Y3NTc1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvcGFpbnRpbmcvUGFpbnRBZ2dyZWdhdG9yLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvcGFpbnRpbmcvUGFpbnRBZ2dyZWdhdG9yLmgKQEAg
LTMzLDEzICszMywxNCBAQAogCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJJbnRS
ZWN0LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gVGhpcyBjbGFzcyBpcyByZXNwb25z
aWJsZSBmb3IgYWdncmVnYXRpbmcgbXVsdGlwbGUgaW52YWxpZGF0aW9uIGFuZCBzY3JvbGwKIC8v
IGNvbW1hbmRzIHRvIHByb2R1Y2UgYSBzY3JvbGwgYW5kIHJlcGFpbnQgc2VxdWVuY2UuCi1jbGFz
cyBQYWludEFnZ3JlZ2F0b3IgeworY2xhc3MgV0VCS0lUX0VYUE9SVCBQYWludEFnZ3JlZ2F0b3Ig
ewogcHVibGljOgogICAgIC8vIFRoaXMgc3RydWN0dXJlIGRlc2NyaWJlcyBhbiBhZ2dyZWdhdGlv
biBvZiBpbnZhbGlkYXRlUmVjdCBhbmQgc2Nyb2xsUmVjdAogICAgIC8vIGNhbGxzLiBJZiB8c2Ny
b2xsUmVjdHwgaXMgbm9uLWVtcHR5LCB0aGVuIHRoYXQgcmVjdCBzaG91bGQgYmUgc2Nyb2xsZWQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9SdW5BbGxUZXN0cy5jcHAKaW5kZXggZGMw
NTI4MjU3MWE3YzY4OGNkYjIwODk1NmMzNTRlNjNhMzNhM2MzYy4uNGQ4MWM0Mzg5YzYxYzBkY2Vh
MmMwYTVmZTlhNzc0NTkyMGJjMmJmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9SdW5BbGxUZXN0cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9SdW5BbGxUZXN0cy5jcHAKQEAgLTM1LDkgKzM1LDcgQEAKICNpbmNsdWRlICJwbGF0Zm9ybS9X
ZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaCIKICNpbmNsdWRlIDx3ZWJraXQvc3VwcG9ydC93ZWJraXRf
c3VwcG9ydC5oPgogCi0jaWYgZGVmaW5lZChXRUJLSVRfRExMX1VOSVRURVNUKQogI2luY2x1ZGUg
IldlYlVuaXRUZXN0cy5oIgotI2VuZGlmCiAKICNpbmNsdWRlIDxnbW9jay9nbW9jay5oPgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131200</attachid>
            <date>2012-03-10 19:26:23 -0800</date>
            <delta_ts>2012-03-11 10:44:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80062-20120310192622.patch</filename>
            <type>text/plain</type>
            <size>65114</size>
            <attacher name="Ami Fischman">fischman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MWMxN2I1ZmMwMjdmMWEzZDY1OWM0M2VlNDZkMTMzMWJmNjExNjU0Li5hNjU4ZWRlNDQ2MDQ2M2Zk
YzVjMmVhMWRhMDEyNjllNmJhZjI2MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMy0wOCAgQW1pIEZpc2NobWFuICA8ZmlzY2htYW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYktpdC5neXA6d2Via2l0IHNob3VsZCBub3QgZGVwZW5kIG9uIHRl
c3QgY29kZSAoISkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvY2hyb21pdW0vQ2hyb21pdW1UaHJl
YWRpbmcuaDoKKwogMjAxMi0wMy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBXZWJLaXQgY29tcGlsZWQgYnkgZ2NjIChYY29kZSAzLjIuNikgaGFuZ3Mgd2hp
bGUgcnVubmluZyBET00vQWNjZXNzb3JzLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNzZhODU3MTRjODQ5
MDAxYTg3MWI0MzE2NjhkZmQwNDk5MzdmMWNiLi4yYjZmODVhNGQ5ZWI4ZjkwNGFlYjRhNDU2NjQ5
MmNhMzU5MzZkZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTItMDMtMDggIEFt
aSBGaXNjaG1hbiAgPGZpc2NobWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQuZ3lw
OndlYmtpdCBzaG91bGQgbm90IGRlcGVuZCBvbiB0ZXN0IGNvZGUgKCEpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDA2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKGNvdmVyZWQg
YnkgZXhpc3RpbmcgdGVzdHMpCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL2Nocm9t
aXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnRDaGFubmVs
Lmg6CisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuaDoKKyAgICAgICAgKiBkb20vbWFrZV9uYW1l
cy5wbDoKKyAgICAgICAgKHByaW50TmFtZXNDcHBGaWxlKToKKyAgICAgICAgKiBmaWxlYXBpL0xv
Y2FsRmlsZVN5c3RlbS5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oOgorICAgICAgICAqIHBsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0V4dGVuc2lvbnMzRENocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvQmxvYlJlZ2lzdHJ5Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jaHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3Jh
Z2VJbmZvLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmg6CisgICAgICAg
ICogd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmg6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJDb250ZXh0UHJveHkuaDoKKwogMjAxMi0wMy0wOSAgUHJhdGlrIFNvbGFua2kgIDxwc29s
YW5raUBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4gUmVzb3VyY2VI
YW5kbGU6OnNldERlZmVyc0xvYWRpbmcoKTogZC0+bV9kZWZlcnNMb2FkaW5nICE9IGRlZmVycwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwZWMyNDhlNDFjZDVjNzlkNzYwNGE2NzA3OTZk
MDZjN2JiNDI3MGJkLi4wNjMxYTYwOWMwZmFmZWIxZTZhOGIwYjMxZTEzY2U4YzAxM2U0Y2FmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTA4ICBB
bWkgRmlzY2htYW4gIDxmaXNjaG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViS2l0Lmd5
cDp3ZWJraXQgc2hvdWxkIG5vdCBkZXBlbmQgb24gdGVzdCBjb2RlICghKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAwNjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAg
ICogV2ViS2l0VW5pdFRlc3RzLmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29tcG9zaXRvci5o
OgorICAgICAgICAqIHB1YmxpYy9wbGF0Zm9ybS9XZWJVUkxFcnJvci5oOgorICAgICAgICAqIHNy
Yy9FZGl0b3JDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZS5oOgorICAgICAgICAqIHNyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmtleWdlbk1lbnVIaWdoR3JhZGVLZXlTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Omtl
eWdlbk1lbnVNZWRpdW1HcmFkZUtleVNpemUpOgorICAgICAgICAqIHNyYy9XZWJDb21wb3NpdG9y
SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oOgor
ICAgICAgICAqIHNyYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwuaDoKKyAgICAgICAgKiBz
cmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwu
aDoKKyAgICAgICAgKiBzcmMvcGFpbnRpbmcvUGFpbnRBZ2dyZWdhdG9yLmg6CisgICAgICAgICog
dGVzdHMvUnVuQWxsVGVzdHMuY3BwOgorCiAyMDEyLTAzLTA5ICBFbWlsIEEgRWtsdW5kICA8ZWFl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgcm91bmRlZFBvaW50IHRvIEhpdFRlc3RSZXN1
bHQgYW5kIGNoYW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBpdApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDcxNmJiYTVkM2I4ODFlNmY2MTNhMWZhYWJkNTZlMjM3NmQ1Yjc0
ZDAuLjZlMTBkNTk5NGJlOWJjMzVlZmExNDNmYzA4ZjdhY2M2OGIzNDhiNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTExMzgsNyArMTEzOCw3IEBACiAgICBzaW5jZSBt
b3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5n
IG5ldyBoZWFkZXJzCiAgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBz
byB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKICAgIGJyZWFrYWdlcyBvbmUgcG9y
dCBhdCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkKKyNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShDSFJPTUlVTSkKICNkZWZp
bmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKICNlbHNlCiAjZGVmaW5lIFdURl9VU0VfRVhQT1JU
X01BQ1JPUyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVt
L0Nocm9taXVtVGhyZWFkaW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVt
L0Nocm9taXVtVGhyZWFkaW5nLmgKaW5kZXggMzkzODYyMTlkNjVjMWQ5MmNmZjRhNjU3YmZjNjNj
OTdmNTk4ZTZiYi4uNzBlYTI0NzU5MmZmYTM2OGFhNWYwMmJjNmU5OTg2MjAwMDg1YTczMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9jaHJvbWl1bS9DaHJvbWl1bVRocmVh
ZGluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvY2hyb21pdW0vQ2hyb21pdW1U
aHJlYWRpbmcuaApAQCAtMzEsMTAgKzMxLDEyIEBACiAjaWZuZGVmIENocm9taXVtVGhyZWFkaW5n
X2gKICNkZWZpbmUgQ2hyb21pdW1UaHJlYWRpbmdfaAogCisjaW5jbHVkZSA8d3RmL0V4cG9ydE1h
Y3Jvcy5oPgorCiBuYW1lc3BhY2UgV1RGIHsKIAogLy8gQW4gaW50ZXJmYWNlIHRvIHRoZSBlbWJl
ZGRpbmcgbGF5ZXIsIHdoaWNoIHByb3ZpZGVzIHRocmVhZGluZyBzdXBwb3J0LgotY2xhc3MgQ2hy
b21pdW1UaHJlYWRpbmcgeworY2xhc3MgV1RGX0VYUE9SVCBDaHJvbWl1bVRocmVhZGluZyB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgY2FsbE9uTWFpblRocmVhZCh2b2lkICgqZnVuYykodm9p
ZCopLCB2b2lkKiBjb250ZXh0KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL2Nocm9taXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCmluZGV4
IDY1N2M3OGU5ZTYxYzk1ZGNkYTQ0NWJkZTg0NDhjYzE3MWFmMzQ2NTYuLjM5N2ExOGY3NDhhODg0
MTJhMzI1OTU1ZTM2Nzk3MDIxNWIwYzc2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5o
CkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCisjaW5jbHVk
ZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0Myw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiAKIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGNsYXNzIGlzIGluIHRo
ZSBXZWJLaXQgQVBJIChDaHJvbWl1bSBzb3VyY2UgdHJlZSkKIC8vIGluIFdlYktpdC9jaHJvbWl1
bS9zcmMvRGF0YWJhc2VPYnNlcnZlci5jcHAuCi1jbGFzcyBEYXRhYmFzZU9ic2VydmVyIHsKK2Ns
YXNzIFdFQkNPUkVfRVhQT1JUIERhdGFiYXNlT2JzZXJ2ZXIgewogcHVibGljOgogICAgIHN0YXRp
YyBib29sIGNhbkVzdGFibGlzaERhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBsb25nKTsKICAgICBzdGF0aWMgdm9p
ZCBkYXRhYmFzZU9wZW5lZChBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVz
c2FnZVBvcnRDaGFubmVsLmgKaW5kZXggMDc2NjhhNGUyMjg0ZTU1OTdlMTZhMzgxNzA0YTU4Nzhk
ZmYyNjJkMy4uMzRhYjE1ZDAxOGY4ZDAwZjM5OGM1YWE4MzYwYzZlYjlhZjk3N2ViNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtMzEsOCArMzEsOCBAQAogI2lm
bmRlZiBNZXNzYWdlUG9ydENoYW5uZWxfaAogI2RlZmluZSBNZXNzYWdlUG9ydENoYW5uZWxfaAog
CisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgotCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAKICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CkBAIC01NSw3ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIC8vIE1lc3NhZ2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWluZGVwZW5kZW50IGludGVy
ZmFjZSB0byB0aGUgcmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNoYW5uZWwuCiAgICAgLy8gSXQg
YWN0cyBhcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgUGxhdGZvcm1N
ZXNzYWdlUG9ydENoYW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBw
bGF0Zm9ybS1kZXBlbmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52b2tlZCBiZWZvcmUgZGVzdHJ1
Y3Rpb24uCi0gICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsKKyAgICBjbGFzcyBXRUJDT1JF
X0VYUE9SVCBNZXNzYWdlUG9ydENoYW5uZWwgewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNZXNzYWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdl
UG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9RdWFsaWZpZWROYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWRO
YW1lLmNwcAppbmRleCBhNzQyNjI5NWVmMDY0ZWJlOWMwZmFkZWYwZjY3MDFkNTE2NThkYTNlLi4z
YTE2MmYzODRmOGUxZGVlZTE3NTYxMTg3OGIzODA3NWQ5MjdjZjE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1F1YWxpZmllZE5hbWUuY3BwCkBAIC0xMDMsNiArMTAzLDcgQEAgU3RyaW5nIFF1YWxpZmllZE5h
bWU6OnRvU3RyaW5nKCkgY29uc3QKIH0KIAogLy8gR2xvYmFsIGluaXQgcm91dGluZXMKK1dFQkNP
UkVfRVhQT1JUCiBERUZJTkVfR0xPQkFMKFF1YWxpZmllZE5hbWUsIGFueU5hbWUsIG51bGxBdG9t
LCBzdGFyQXRvbSwgc3RhckF0b20pCiAKIHZvaWQgUXVhbGlmaWVkTmFtZTo6aW5pdCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCA2MzZiMmE1MTUwYzllOTg3YzAyN2U3NTY5Nzky
ZDliYWMzNGE4OWU5Li44MzBiNDczZGIxMjI1MmRjYTllNzFlZTZhNzQ3ODk3MjA0YzU4ZWM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNpZm5kZWYg
UXVhbGlmaWVkTmFtZV9oCiAjZGVmaW5lIFF1YWxpZmllZE5hbWVfaAogCisjaW5jbHVkZSAiUGxh
dGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+
CkBAIC0zMyw3ICszNCw3IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAg
U3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIHsKK2Ns
YXNzIFdFQkNPUkVfRVhQT1JUIFF1YWxpZmllZE5hbWUgewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJl
ZkNvdW50ZWQ8UXVhbGlmaWVkTmFtZUltcGw+IHsKQEAgLTEwMyw3ICsxMDQsNyBAQCBwcml2YXRl
OgogfTsKIAogI2lmbmRlZiBXRUJDT1JFX1FVQUxJRklFRE5BTUVfSElERV9HTE9CQUxTCi1leHRl
cm4gY29uc3QgUXVhbGlmaWVkTmFtZSBhbnlOYW1lOworV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIGNv
bnN0IFF1YWxpZmllZE5hbWUgYW55TmFtZTsKIGlubGluZSBjb25zdCBRdWFsaWZpZWROYW1lJiBh
bnlRTmFtZSgpIHsgcmV0dXJuIGFueU5hbWU7IH0KICNlbmRpZgogCkBAIC0xMTcsNyArMTE4LDcg
QEAgaW5saW5lIHVuc2lnbmVkIGhhc2hDb21wb25lbnRzKGNvbnN0IFF1YWxpZmllZE5hbWVDb21w
b25lbnRzJiBidWYpCiAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9yeTxzaXplb2Yo
UXVhbGlmaWVkTmFtZUNvbXBvbmVudHMpPigmYnVmKTsKIH0KIAotc3RydWN0IFF1YWxpZmllZE5h
bWVIYXNoIHsKK3N0cnVjdCBXRUJDT1JFX0VYUE9SVCBRdWFsaWZpZWROYW1lSGFzaCB7CiAgICAg
c3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgeyByZXR1cm4g
aGFzaChuYW1lLmltcGwoKSk7IH0KIAogICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFF1
YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJbXBsKiBuYW1lKSAKQEAgLTEzOCwxMSArMTM5LDEx
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBEZWZhdWx0SGFzaDsKIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNv
cmU6OlF1YWxpZmllZE5hbWU+IHsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBXRUJDT1JFX0VYUE9S
VCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiB7CiAgICAgICAgIHR5cGVkZWYg
V2ViQ29yZTo6UXVhbGlmaWVkTmFtZUhhc2ggSGFzaDsKICAgICB9OwogICAgIAotICAgIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4geworICAgIHRlbXBsYXRlPD4g
c3RydWN0IFdFQkNPUkVfRVhQT1JUIEhhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4g
OiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gewogICAgICAg
ICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7CiAgICAgICAgIHN0
YXRpYyBXZWJDb3JlOjpRdWFsaWZpZWROYW1lIGVtcHR5VmFsdWUoKSB7IHJldHVybiBXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBudWxsQXRvbSwgbnVsbEF0b20pOyB9CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dl
YkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5kZXggYzhlZDU4YjU3NDc4ZGU1ZTYzNDY5YTM2Yzhi
ODA2ODIyZDk5ZTRmNS4uNTliNDI0ODU1MmU5NTlkMTg0NzBkM2U1NTA5MDk2MTIyMDc3NjhlYSAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAgLTExNiw3ICsxMTYsNyBAQCBpZiAobGVuZ3Ro
KCRmb250TmFtZXNJbikpIHsKICAgICBwcmludENwcEhlYWQoJEYsICJDU1MiLCAkZmFtaWx5TmFt
ZXNGaWxlQmFzZSwgIldURiIpOwogCiAgICAgd2hpbGUgKCBteSAoJG5hbWUsICRpZGVudGlmaWVy
KSA9IGVhY2ggJXBhcmFtZXRlcnMgKSB7Ci0gICAgICAgIHByaW50IEYgIkRFRklORV9HTE9CQUwo
QXRvbWljU3RyaW5nLCAkbmFtZSwgXCIkaWRlbnRpZmllclwiKVxuIjsKKyAgICAgICAgcHJpbnQg
RiAiV0VCQ09SRV9FWFBPUlQgREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsICRuYW1lLCBcIiRp
ZGVudGlmaWVyXCIpXG4iOwogICAgIH0KIAogICAgIHByaW50SW5pdCgkRiwgMCk7CkBAIC01MDks
NiArNTA5LDcgQEAgc3ViIHByaW50Q3BwSGVhZAogICAgIHByaW50IEYgIiNlbmRpZlxuXG4iOwog
CiAgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCIke25zTmFtZX1OYW1lcy5oXCJcblxuIjsKKyAgICBw
cmludCBGICIjaW5jbHVkZSBcIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmhcIlxuIjsKICAgICBwcmlu
dCBGICIjaW5jbHVkZSA8d3RmL1N0YXRpY0NvbnN0cnVjdG9ycy5oPlxuIjsKIAogICAgIHByaW50
IEYgIm5hbWVzcGFjZSBXZWJDb3JlIHtcblxuIjsKQEAgLTYyMiwxMiArNjIzLDEyIEBAIHN1YiBw
cmludE5hbWVzQ3BwRmlsZQogICAgIAogICAgIG15ICRsb3dlck5hbWVzcGFjZSA9IGxjKCRwYXJh
bWV0ZXJze25hbWVzcGFjZVByZWZpeH0pOwogCi0gICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChB
dG9taWNTdHJpbmcsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJLCBcIiRwYXJhbWV0ZXJz
e25hbWVzcGFjZVVSSX1cIikiOworICAgIHByaW50IEYgIldFQkNPUkVfRVhQT1JUIERFRklORV9H
TE9CQUwoQXRvbWljU3RyaW5nLCAke2xvd2VyTmFtZXNwYWNlfU5hbWVzcGFjZVVSSSwgXCIkcGFy
YW1ldGVyc3tuYW1lc3BhY2VVUkl9XCIpIjsKIAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7CiAg
ICAgICAgIHByaW50IEYgIi8vIFRhZ3NcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29ydCBr
ZXlzICVhbGxUYWdzKSB7Ci0gICAgICAgICAgICBwcmludCBGICJERUZJTkVfR0xPQkFMKFF1YWxp
ZmllZE5hbWUsICIsICRuYW1lLCAiVGFnLCBudWxsQXRvbSwgXCIkbmFtZVwiLCAke2xvd2VyTmFt
ZXNwYWNlfU5hbWVzcGFjZVVSSSk7XG4iOworICAgICAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9F
WFBPUlQgREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIlRhZywgbnVsbEF0
b20sIFwiJG5hbWVcIiwgJHtsb3dlck5hbWVzcGFjZX1OYW1lc3BhY2VVUkkpO1xuIjsKICAgICAg
ICAgfQogICAgICAgICAKICAgICAgICAgcHJpbnQgRiAiXG5cbldlYkNvcmU6OlF1YWxpZmllZE5h
bWUqKiBnZXQkcGFyYW1ldGVyc3tuYW1lc3BhY2V9VGFncyhzaXplX3QqIHNpemUpXG4iOwpAQCAt
NjQ0LDcgKzY0NSw3IEBAIHN1YiBwcmludE5hbWVzQ3BwRmlsZQogICAgIGlmIChrZXlzICVhbGxB
dHRycykgewogICAgICAgICBwcmludCBGICJcbi8vIEF0dHJpYnV0ZXNcbiI7CiAgICAgICAgIGZv
ciBteSAkbmFtZSAoc29ydCBrZXlzICVhbGxBdHRycykgewotICAgICAgICAgICAgcHJpbnQgRiAi
REVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIkF0dHIsIG51bGxBdG9tLCBc
IiRuYW1lXCIsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJKTtcbiI7CisgICAgICAgICAg
ICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBERUZJTkVfR0xPQkFMKFF1YWxpZmllZE5hbWUsICIs
ICRuYW1lLCAiQXR0ciwgbnVsbEF0b20sIFwiJG5hbWVcIiwgJHtsb3dlck5hbWVzcGFjZX1OYW1l
c3BhY2VVUkkpO1xuIjsKICAgICAgICAgfQogICAgICAgICBwcmludCBGICJcblxuV2ViQ29yZTo6
UXVhbGlmaWVkTmFtZSoqIGdldCRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRycyhzaXplX3QqIHNp
emUpXG4iOwogICAgICAgICBwcmludCBGICJ7XG4gICAgc3RhdGljIFdlYkNvcmU6OlF1YWxpZmll
ZE5hbWUqICRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRyW10gPSB7XG4iOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggMjQ3YmIyY2RmOGJmMTAxODZiZDc2YmY3
ZDk1ZjQzNzAwYjkzZTQ1My4uYzNiODQ0ZGRlNWM0YWQ3ODc2MDY4MDA1ODY4YTM1ZTE5ZDc4MGRm
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCkBAIC0zNCw2ICsz
NCw3IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lz
dGVtLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgRmlsZVN5c3RlbUNhbGxiYWNr
OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogLy8gS2VlcHMgcGVyLXByb2Nlc3Mg
aW5mb3JtYXRpb24gYW5kIHByb3ZpZGVzIGFuIGVudHJ5IHBvaW50IHRvIG9wZW4gYSBmaWxlIHN5
c3RlbS4KLWNsYXNzIExvY2FsRmlsZVN5c3RlbSB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBMb2Nh
bEZpbGVTeXN0ZW0gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsRmlsZVN5c3RlbSk7
CiBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyBhIHBlci1wcm9jZXNzIGluc3RhbmNlIG9mIExvY2Fs
RmlsZVN5c3RlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmgKaW5kZXggMDQ1NTZiZTk2Y2U4MjJjNzkxNGVmNDc3NzQxNDhl
MmFjNDM4OTdmMC4uNmEyODEyNWI5ZWQ3YjhlY2M5N2Q0ZDgwYWVlMDFiYmY4ODVmNDYzOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVIb3N0LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgQXBwbGljYXRpb25DYWNoZUhvc3Rf
aAogCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgi
CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICNlbmRpZgogCi0gICAgY2xh
c3MgQXBwbGljYXRpb25DYWNoZUhvc3QgeworICAgIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEFwcGxp
Y2F0aW9uQ2FjaGVIb3N0IHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRp
b25DYWNoZUhvc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAg
ICAgIC8vIFRoZSBTdGF0dXMgbnVtZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgSFRN
TDUgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5
c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKaW5kZXgg
Nzc5MjEwMWM1MzBhMjFjMjY1Y2ZjNGI0NmEzNDZmYjkyMGM0MTI1My4uYjMyYThhODlhZWZkYWZm
NWY0NWIwOGY2YTgwMDg5NGM0NzY3MDEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CiAKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgQXN5bmNGaWxlU3lz
dGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNs
YXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBz
eXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxh
dGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0geworY2xhc3MgV0VCQ09SRV9FWFBP
UlQgQXN5bmNGaWxlU3lzdGVtIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVT
eXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IDNlYmJlZjcyMmUz
Y2ViNTJjMDgwMGFiNmExNDE3ODZiOGE4YjBkYWEuLmEzOTgzZjc5MTdhOGIyNWVmZjE2MGQxYzgw
YWU2NjdkNTg2MzdmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2Fs
aXplZFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJp
bmdzLmgKQEAgLTI3LDE4NiArMjcsMTg3IEBACiAjaWZuZGVmIExvY2FsaXplZFN0cmluZ3NfaAog
I2RlZmluZSBMb2NhbGl6ZWRTdHJpbmdzX2gKIAorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFj
cm9zLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgSW50U2l6ZTsKICAgICAKLSAgICBTdHJpbmcgaW5wdXRFbGVtZW50QWx0VGV4
dCgpOwotICAgIFN0cmluZyByZXNldEJ1dHRvbkRlZmF1bHRMYWJlbCgpOwotICAgIFN0cmluZyBz
ZWFyY2hhYmxlSW5kZXhJbnRyb2R1Y3Rpb24oKTsKLSAgICBTdHJpbmcgc3VibWl0QnV0dG9uRGVm
YXVsdExhYmVsKCk7Ci0gICAgU3RyaW5nIGZpbGVCdXR0b25DaG9vc2VGaWxlTGFiZWwoKTsKLSAg
ICBTdHJpbmcgZmlsZUJ1dHRvbkNob29zZU11bHRpcGxlRmlsZXNMYWJlbCgpOwotICAgIFN0cmlu
ZyBmaWxlQnV0dG9uTm9GaWxlU2VsZWN0ZWRMYWJlbCgpOwotICAgIFN0cmluZyBmaWxlQnV0dG9u
Tm9GaWxlc1NlbGVjdGVkTGFiZWwoKTsKLSAgICBTdHJpbmcgZGVmYXVsdERldGFpbHNTdW1tYXJ5
VGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbnB1dEVsZW1lbnRBbHRUZXh0KCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHJlc2V0QnV0dG9uRGVmYXVsdExhYmVsKCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlYXJjaGFibGVJbmRleEludHJvZHVjdGlvbigpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzdWJtaXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZmlsZUJ1dHRvbkNob29zZUZpbGVMYWJlbCgpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBmaWxlQnV0dG9uQ2hvb3NlTXVsdGlwbGVGaWxlc0xhYmVs
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZpbGVCdXR0b25Ob0ZpbGVTZWxlY3RlZExh
YmVsKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZpbGVCdXR0b25Ob0ZpbGVzU2VsZWN0
ZWRMYWJlbCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBkZWZhdWx0RGV0YWlsc1N1bW1h
cnlUZXh0KCk7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgU3RyaW5nIGNvcHlJbWFnZVVua25v
d25GaWxlTGFiZWwoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29weUltYWdlVW5rbm93
bkZpbGVMYWJlbCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJbk5ld1dpbmRvdygpOwotICAgIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rpc2soKTsKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdygpOwotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3coKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNrKCk7CisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlMaW5rVG9DbGlwYm9hcmQo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkltYWdl
SW5OZXdXaW5kb3coKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnRG93bmxvYWRJbWFnZVRvRGlzaygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZCgpOwogI2lmIFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQoKTsKICNlbmRpZgot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdygpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ0dvQmFjaygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQo
KTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3RvcCgpOwotICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdSZWxvYWQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ3V0
KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Bhc3RlKCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHkoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnR29CYWNrKCk7CisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCgpOworICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wKCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1JlbG9hZCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDdXQoKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsKICNpZiBQTEFURk9STShHVEspCi0g
ICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZSgpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdJbnB1dE1ldGhvZHMoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
VW5pY29kZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdE
ZWxldGUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSW5w
dXRNZXRob2RzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1VuaWNvZGUoKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKEVGTCkKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCgp
OwogI2VuZGlmCi0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKCk7
Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0xlYXJuU3BlbGxpbmcoKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnU2VhcmNoV2ViKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0xv
b2tVcEluRGljdGlvbmFyeShjb25zdCBTdHJpbmcmIHNlbGVjdGVkU3RyaW5nKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmsoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnSWdub3JlR3JhbW1hcigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTcGVs
bGluZ01lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFu
ZWwoYm9vbCBzaG93KTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGlu
ZygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nV2hpbGVUeXBp
bmcoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2hlY2tHcmFtbWFyV2l0aFNwZWxs
aW5nKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0ZvbnRNZW51KCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0JvbGQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnSXRhbGljKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1VuZGVybGluZSgpOwot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKCk7Ci0gICAgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1RleHREaXJlY3Rpb25NZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0RlZmF1bHREaXJlY3Rpb24oKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTGVm
dFRvUmlnaHQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUmlnaHRUb0xlZnQoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91
bmQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSWdub3Jl
U3BlbGxpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
TGVhcm5TcGVsbGluZygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdTZWFyY2hXZWIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRTdHJpbmcpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluaygpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVHcmFtbWFy
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5n
TWVudSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93
U3BlbGxpbmdQYW5lbChib29sIHNob3cpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZygpOworICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxp
bmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRm9udE1l
bnUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQm9sZCgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJdGFsaWMoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ091dGxpbmUoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVj
dGlvbk1lbnUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
VGV4dERpcmVjdGlvbk1lbnUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdMZWZ0VG9SaWdodCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCgpOwogI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1N0eWxlcygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93Q29sb3Jz
KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnUoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZygpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
Q29ycmVjdFNwZWxsaW5nQXV0b21hdGljYWxseSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdTdWJzdGl0dXRpb25zTWVudSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdT
aG93U3Vic3RpdHV0aW9ucyhib29sIHNob3cpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdTbWFydENvcHlQYXN0ZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydFF1
b3RlcygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydERhc2hlcygpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydExpbmtzKCk7Ci0gICAgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdUcmFuc2Zvcm1hdGlvbnNNZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z01ha2VVcHBlckNhc2UoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWFrZUxvd2Vy
Q2FzZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplKCk7Ci0gICAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoYW5nZUJhY2soY29uc3QgU3RyaW5nJiByZXBsYWNl
ZFN0cmluZyk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nl
YXJjaEluU3BvdGxpZ2h0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1Nob3dGb250cygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdTdHlsZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnU2hvd0NvbG9ycygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdTcGVlY2hNZW51KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1N0YXJ0U3BlYWtpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHkoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3Vic3RpdHV0aW9uc01lbnUo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd1N1YnN0
aXR1dGlvbnMoYm9vbCBzaG93KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnU21hcnRDb3B5UGFzdGUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnU21hcnRRdW90ZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnU21hcnREYXNoZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU21hcnRMaW5rcygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUZXh0UmVwbGFjZW1lbnQoKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVHJhbnNmb3JtYXRpb25zTWVudSgpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNYWtlVXBwZXJDYXNlKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01ha2VMb3dlckNh
c2UoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2FwaXRh
bGl6ZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGFu
Z2VCYWNrKGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcpOwogI2VuZGlmCi0gICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ09wZW5WaWRlb0luTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ09wZW5BdWRpb0luTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ0NvcHlWaWRlb0xpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdDb3B5QXVkaW9MaW5rVG9DbGlwYm9hcmQoKTsKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
TWVkaWFQbGF5KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKTsK
LSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7Ci0gICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5WaWRlb0luTmV3V2luZG93KCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5BdWRpb0luTmV3V2luZG93KCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlWaWRlb0xp
bmtUb0NsaXBib2FyZCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdDb3B5QXVkaW9MaW5rVG9DbGlwYm9hcmQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3Jl
ZW4oKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlh
UGF1c2UoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVk
aWFNdXRlKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0lu
c3BlY3RFbGVtZW50KCk7CiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAKLSAgICBT
dHJpbmcgc2VhcmNoTWVudU5vUmVjZW50U2VhcmNoZXNUZXh0KCk7Ci0gICAgU3RyaW5nIHNlYXJj
aE1lbnVSZWNlbnRTZWFyY2hlc1RleHQoKTsKLSAgICBTdHJpbmcgc2VhcmNoTWVudUNsZWFyUmVj
ZW50U2VhcmNoZXNUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlYXJjaE1lbnVO
b1JlY2VudFNlYXJjaGVzVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZWFyY2hN
ZW51UmVjZW50U2VhcmNoZXNUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlYXJj
aE1lbnVDbGVhclJlY2VudFNlYXJjaGVzVGV4dCgpOwogCi0gICAgU3RyaW5nIEFYV2ViQXJlYVRl
eHQoKTsKLSAgICBTdHJpbmcgQVhMaW5rVGV4dCgpOwotICAgIFN0cmluZyBBWExpc3RNYXJrZXJU
ZXh0KCk7Ci0gICAgU3RyaW5nIEFYSW1hZ2VNYXBUZXh0KCk7Ci0gICAgU3RyaW5nIEFYSGVhZGlu
Z1RleHQoKTsKLSAgICBTdHJpbmcgQVhEZWZpbml0aW9uTGlzdFRlcm1UZXh0KCk7Ci0gICAgU3Ry
aW5nIEFYRGVmaW5pdGlvbkxpc3REZWZpbml0aW9uVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBBWFdlYkFyZWFUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIEFYTGlu
a1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhMaXN0TWFya2VyVGV4dCgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBBWEltYWdlTWFwVGV4dCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBBWEhlYWRpbmdUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IEFYRGVmaW5pdGlvbkxpc3RUZXJtVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBB
WERlZmluaXRpb25MaXN0RGVmaW5pdGlvblRleHQoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICBTdHJpbmcgQVhBUklBQ29udGVudEdyb3VwVGV4dChjb25zdCBTdHJpbmcmIGFyaWFUeXBlKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhBUklBQ29udGVudEdyb3VwVGV4dChjb25zdCBT
dHJpbmcmIGFyaWFUeXBlKTsKICNlbmRpZgogICAgIAotICAgIFN0cmluZyBBWEJ1dHRvbkFjdGlv
blZlcmIoKTsKLSAgICBTdHJpbmcgQVhSYWRpb0J1dHRvbkFjdGlvblZlcmIoKTsKLSAgICBTdHJp
bmcgQVhUZXh0RmllbGRBY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYQ2hlY2tlZENoZWNrQm94
QWN0aW9uVmVyYigpOwotICAgIFN0cmluZyBBWFVuY2hlY2tlZENoZWNrQm94QWN0aW9uVmVyYigp
OwotICAgIFN0cmluZyBBWE1lbnVMaXN0QWN0aW9uVmVyYigpOwotICAgIFN0cmluZyBBWE1lbnVM
aXN0UG9wdXBBY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYTGlua0FjdGlvblZlcmIoKTsKLQot
ICAgIFN0cmluZyBtaXNzaW5nUGx1Z2luVGV4dCgpOwotICAgIFN0cmluZyBjcmFzaGVkUGx1Z2lu
VGV4dCgpOwotICAgIFN0cmluZyBtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KHVuc2lnbmVkIG51bWJl
ck9mRmlsZXMpOwotICAgIFN0cmluZyB1bmtub3duRmlsZVNpemVUZXh0KCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIEFYQnV0dG9uQWN0aW9uVmVyYigpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBBWFJhZGlvQnV0dG9uQWN0aW9uVmVyYigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBBWFRleHRGaWVsZEFjdGlvblZlcmIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
QVhDaGVja2VkQ2hlY2tCb3hBY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IEFYVW5jaGVja2VkQ2hlY2tCb3hBY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIEFYTWVudUxpc3RBY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIEFY
TWVudUxpc3RQb3B1cEFjdGlvblZlcmIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhM
aW5rQWN0aW9uVmVyYigpOworCisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIG1pc3NpbmdQbHVn
aW5UZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNyYXNoZWRQbHVnaW5UZXh0KCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIG11bHRpcGxlRmlsZVVwbG9hZFRleHQodW5zaWdu
ZWQgbnVtYmVyT2ZGaWxlcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHVua25vd25GaWxl
U2l6ZVRleHQoKTsKIAogI2lmIFBMQVRGT1JNKFdJTikKLSAgICBTdHJpbmcgdXBsb2FkRmlsZVRl
eHQoKTsKLSAgICBTdHJpbmcgYWxsRmlsZXNUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHVwbG9hZEZpbGVUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGFsbEZpbGVz
VGV4dCgpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgU3RyaW5nIGJ1aWx0SW5Q
REZQbHVnaW5OYW1lKCk7Ci0gICAgU3RyaW5nIHBkZkRvY3VtZW50VHlwZURlc2NyaXB0aW9uKCk7
Ci0gICAgU3RyaW5nIGtleWdlbk1lbnVJdGVtNTEyKCk7Ci0gICAgU3RyaW5nIGtleWdlbk1lbnVJ
dGVtMTAyNCgpOwotICAgIFN0cmluZyBrZXlnZW5NZW51SXRlbTIwNDgoKTsKLSAgICBTdHJpbmcg
a2V5Z2VuS2V5Y2hhaW5JdGVtTmFtZShjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBidWlsdEluUERGUGx1Z2luTmFtZSgpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBwZGZEb2N1bWVudFR5cGVEZXNjcmlwdGlvbigpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBrZXlnZW5NZW51SXRlbTUxMigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBr
ZXlnZW5NZW51SXRlbTEwMjQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5Z2VuTWVu
dUl0ZW0yMDQ4KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGtleWdlbktleWNoYWluSXRl
bU5hbWUoY29uc3QgU3RyaW5nJiBob3N0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQot
ICAgIFN0cmluZyBodG1sU2VsZWN0TXVsdGlwbGVJdGVtcyhzaXplX3QgbnVtKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBTdHJpbmcgaHRtbFNlbGVjdE11bHRpcGxlSXRlbXMoc2l6ZV90IG51bSk7CiAj
ZW5kaWYKIAotICAgIFN0cmluZyBpbWFnZVRpdGxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNv
bnN0IEludFNpemUmIHNpemUpOwotCi0gICAgU3RyaW5nIG1lZGlhRWxlbWVudExvYWRpbmdTdGF0
ZVRleHQoKTsKLSAgICBTdHJpbmcgbWVkaWFFbGVtZW50TGl2ZUJyb2FkY2FzdFN0YXRlVGV4dCgp
OwotICAgIFN0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50U3RyaW5nKGNvbnN0IFN0
cmluZyYpOwotICAgIFN0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50SGVscFRleHQo
Y29uc3QgU3RyaW5nJik7Ci0gICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9u
KGZsb2F0KTsKLQotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQo
KTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRl
eHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4
dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxl
RmlsZVRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JS
YWRpb1RleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JT
ZWxlY3RUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4
dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvckVtYWlsVGV4
dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvck11bHRpcGxl
RW1haWxUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9y
VVJMVGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVBhdHRlcm5NaXNtYXRjaFRl
eHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUb29Mb25nVGV4dChpbnQgdmFsdWVM
ZW5ndGgsIGludCBtYXhMZW5ndGgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVJhbmdl
VW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOwotICAgIFN0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWF4aW11bSk7Ci0gICAg
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJh
c2UsIGNvbnN0IFN0cmluZyYgc3RlcCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGltYWdl
VGl0bGUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgSW50U2l6ZSYpOworCisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIG1lZGlhRWxlbWVudExvYWRpbmdTdGF0ZVRleHQoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgbWVkaWFFbGVtZW50TGl2ZUJyb2FkY2FzdFN0YXRlVGV4dCgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50
U3RyaW5nKGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBsb2NhbGl6
ZWRNZWRpYUNvbnRyb2xFbGVtZW50SGVscFRleHQoY29uc3QgU3RyaW5nJik7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGxvY2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9uKGZsb2F0KTsKKwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1Rl
eHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1p
c3NpbmdGb3JDaGVja2JveFRleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRh
dGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxlRmlsZVRleHQo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdGb3JSYWRpb1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1l
c3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvckVtYWlsVGV4dCgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZv
ck11bHRpcGxlRW1haWxUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRp
b25NZXNzYWdlVHlwZU1pc21hdGNoRm9yVVJMVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyB2YWxpZGF0aW9uTWVzc2FnZVBhdHRlcm5NaXNtYXRjaFRleHQoKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUb29Mb25nVGV4dChpbnQgdmFsdWVMZW5n
dGgsIGludCBtYXhMZW5ndGgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9u
TWVzc2FnZVJhbmdlVW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOworICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNv
bnN0IFN0cmluZyYgbWF4aW11bSk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRp
b25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJhc2UsIGNvbnN0IFN0cmlu
ZyYgc3RlcCk7CiAKICNpZiAhUExBVEZPUk0oQ0hST01JVU0pCiAjZGVmaW5lIFdFQl9VSV9TVFJJ
Tkcoc3RyaW5nLCBkZXNjcmlwdGlvbikgV2ViQ29yZTo6bG9jYWxpemVkU3RyaW5nKHN0cmluZykK
ICNkZWZpbmUgV0VCX1VJX1NUUklOR19LRVkoc3RyaW5nLCBrZXksIGRlc2NyaXB0aW9uKSBXZWJD
b3JlOjpsb2NhbGl6ZWRTdHJpbmcoa2V5KQogCi0gICAgU3RyaW5nIGxvY2FsaXplZFN0cmluZyhj
b25zdCBjaGFyKiBrZXkpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBsb2NhbGl6ZWRTdHJp
bmcoY29uc3QgY2hhcioga2V5KTsKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUV4cG9ydE1hY3Jvcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FeHBvcnRNYWNyb3MuaAppbmRleCA2
YzcwODEzYWRlMjJkOTUyZjkzOGNhOWQzMjFlMmFjOTU4YjA3ODMzLi4xNzZiZTA2MzBiYWFlNjM5
MmQyNDViMWJhYzQ3MDVlOTAwZTdiOWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtRXhwb3J0TWFjcm9zLmgKQEAgLTM2LDkgKzM2LDkgQEAKICNpZiBVU0UoRVhQT1JU
X01BQ1JPUykKIAogI2lmIGRlZmluZWQoQlVJTERJTkdfV2ViQ29yZSkgfHwgZGVmaW5lZChCVUlM
RElOR19XZWJLaXQpCi0jZGVmaW5lIFdFQktJVF9FWFBPUlREQVRBIFdURl9FWFBPUlQKKyNkZWZp
bmUgV0VCQ09SRV9FWFBPUlQgV1RGX0VYUE9SVAogI2Vsc2UKLSNkZWZpbmUgV0VCS0lUX0VYUE9S
VERBVEEgV1RGX0lNUE9SVAorI2RlZmluZSBXRUJDT1JFX0VYUE9SVCBXVEZfSU1QT1JUCiAjZW5k
aWYKIAogI2Vsc2UgLy8gIVVTRShFWFBPUlRfTUFDUk9TKQpAQCAtNDYsMTQgKzQ2LDE0IEBACiAj
aWYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSAmJiAhZGVmaW5lZChCVUlMRElO
R19XWF9fKSAmJiAhQ09NUElMRVIoR0NDKQogCiAjaWYgZGVmaW5lZChCVUlMRElOR19XZWJDb3Jl
KSB8fCBkZWZpbmVkKEJVSUxESU5HX1dlYktpdCkKLSNkZWZpbmUgV0VCS0lUX0VYUE9SVERBVEEg
X19kZWNsc3BlYyhkbGxleHBvcnQpCisjZGVmaW5lIFdFQkNPUkVfRVhQT1JUIF9fZGVjbHNwZWMo
ZGxsZXhwb3J0KQogI2Vsc2UKLSNkZWZpbmUgV0VCS0lUX0VYUE9SVERBVEEgX19kZWNsc3BlYyhk
bGxpbXBvcnQpCisjZGVmaW5lIFdFQkNPUkVfRVhQT1JUIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQog
I2VuZGlmCiAKICNlbHNlIC8vICFQTEFURk9STS4uLgogCi0jZGVmaW5lIFdFQktJVF9FWFBPUlRE
QVRBCisjZGVmaW5lIFdFQkNPUkVfRVhQT1JUCiAKICNlbmRpZiAvLyAhUExBVEZPUk0uLi4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCmluZGV4IGYyY2YyNzE5MjMxYWZkNDIwOGJhMWIwNmQ0
ZmMzYTAyMmIyMjA1Y2QuLmUzOWUyZDU1ZDljZmJkMzhjMDgwNzYxYzAwOWY3MzljMjZiZmM5NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKQEAgLTM1MCw0ICszNTAsMyBAQCB2b2lkIFRp
bWVyQmFzZTo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCA2MzdiYmMwNTUzZTU1Yzg0
YTAzZGMxNGI1MGJiMDQ5NzZlY2VhMDkxLi40NzQwNzRlYmQ5ZDcyZjI4ZDExMmNiZTU5YTZkNDdh
ZWQzNjc2MGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTI2LDYgKzI2LDggQEAKICNp
Zm5kZWYgVGltZXJfaAogI2RlZmluZSBUaW1lcl9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9y
dE1hY3Jvcy5oIgorCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgogCkBAIC0zNSw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3MgVGltZXJCYXNlIHsKK2NsYXNzIFdFQkNP
UkVfRVhQT1JUIFRpbWVyQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgKaW5k
ZXggNzU4ODJjMGE2MzVmZjNmODc3NGM1MjljNzQwNGYxZGVkMWQ1M2MzMy4uNWE5OTU3ZmYzY2Zh
MGJhMjkzMDNkOGFlNWFiYWRjNDkxNzJhYjJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRl
ZiBBdWRpb0Rlc3RpbmF0aW9uX2gKICNkZWZpbmUgQXVkaW9EZXN0aW5hdGlvbl9oCiAKKyNpbmNs
dWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOSw3ICs0MCw3IEBAIGNsYXNzIEF1ZGlv
U291cmNlUHJvdmlkZXI7CiAvLyBBYnN0cmFjdGlvbiBmb3IgYW4gYXVkaW8gb3V0cHV0IHRvIHRo
ZSBhdWRpbyBoYXJkd2FyZQogLy8gQW4gQXVkaW9Tb3VyY2VQcm92aWRlciBpcyBjYWxsZWQgYmFj
ayBwZXJpb2RpY2FsbHkgdG8gcHJvdmlkZSB0aGUgcmVuZGVyZWQgYXVkaW8gc3RyZWFtLgogCi1j
bGFzcyBBdWRpb0Rlc3RpbmF0aW9uIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEF1ZGlvRGVzdGlu
YXRpb24gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEF1ZGlvRGVzdGluYXRpb24+
IGNyZWF0ZShBdWRpb1NvdXJjZVByb3ZpZGVyJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKaW5k
ZXggMTI4ZDJhM2U5ODgzY2QyYWI2Yjg0NTgwYzA2ZTJkYWZjMGU2MDMyZS4uNGYwYWZkMTI1MDQ4
NzE2ZGQwYjgzYWU1NWQ2MjNmNjg1ZDllNGQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKQEAgLTQwLDYgKzQwLDcgQEAKICNp
bmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKICNpbmNsdWRlICJQ
YXN0ZWJvYXJkUHJpdmF0ZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgiCiAj
aW5jbHVkZSAiUGx1Z2luRGF0YS5oIgogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTkx
LDcgKzkyLDcgQEAgc3RydWN0IEZvbnRSZW5kZXJTdHlsZTsKIC8vIHN1cHBseSBpbXBsZW1lbnRh
dGlvbnMgZm9yIFBsYXRmb3JtIGZ1bmN0aW9uYWxpdHkgdGhhdCBXZWJDb3JlIGNhbm5vdCBhY2Nl
c3MKIC8vIGRpcmVjdGx5IChmb3IgZXhhbXBsZSwgYmVjYXVzZSBXZWJDb3JlIGlzIGluIGEgc2Fu
ZGJveCkuCiAKLWNsYXNzIFBsYXRmb3JtU3VwcG9ydCB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBQ
bGF0Zm9ybVN1cHBvcnQgewogcHVibGljOgogICAgIC8vIENhY2hlIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgc3RhdGlj
IHZvaWQgY2FjaGVNZXRhZGF0YShjb25zdCBLVVJMJiwgZG91YmxlIHJlc3BvbnNlVGltZSwgY29u
c3QgVmVjdG9yPGNoYXI+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA0NTVmZmUyYmNiOTBlYWM5YjkwMTRlNGYx
ODVkZWU3Mzk0NzYxYTI5Li5lMWQyNzcyYTJjOTIxMmVkNjY4Y2E5NWY5MDMwNGUzMjljYWJjNmJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMzRC5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5o
PgpAQCAtMTE5LDcgKzEyMCw3IEBAIHN0cnVjdCBBY3RpdmVJbmZvIHsKIAogY2xhc3MgR3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOwogCi1jbGFzcyBHcmFwaGljc0NvbnRleHQzRCA6IHB1YmxpYyBS
ZWZDb3VudGVkPEdyYXBoaWNzQ29udGV4dDNEPiB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBHcmFw
aGljc0NvbnRleHQzRCA6IHB1YmxpYyBSZWZDb3VudGVkPEdyYXBoaWNzQ29udGV4dDNEPiB7CiBw
dWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIERFUFRIX0JVRkZFUl9CSVQgPSAweDAwMDAwMTAw
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
RXh0ZW5zaW9uczNEQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0V4dGVuc2lvbnMzRENocm9taXVtLmgKaW5kZXggNTMzMjJmMGYyNWVkNDA3YTI1
ZTZiNjIzMjdlODcxMjg5ZDE4YmQ1YS4uMzE1ZDIyZjc5NDIxZjRmNmJmMTlmYzI5M2Y5ZWUyMjI0
N2JiYjM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRXh0ZW5zaW9uczNEQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCkBAIC0yNywxMyArMjcs
MTQgQEAKICNkZWZpbmUgRXh0ZW5zaW9uczNEQ2hyb21pdW1faAogCiAjaW5jbHVkZSAiRXh0ZW5z
aW9uczNELmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU7CiBjbGFzcyBJbWFn
ZUJ1ZmZlcjsKIAotY2xhc3MgRXh0ZW5zaW9uczNEQ2hyb21pdW0gOiBwdWJsaWMgRXh0ZW5zaW9u
czNEIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEV4dGVuc2lvbnMzRENocm9taXVtIDogcHVibGlj
IEV4dGVuc2lvbnMzRCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RXh0ZW5zaW9uczNEQ2hyb21p
dW0oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmgKaW5kZXgg
NTM0MjQ0ZDc2YWRjYTQ4M2UxZDVmNDczNmJmZjg4MjJlODZkMDI5NC4uZTlkNDcwNzE5OWUwMDQ2
MmQzM2IyMzI3ZDMwNDRjNjhkMjZhM2NhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9NZWRpYVBsYXllclBy
aXZhdGVDaHJvbWl1bS5oCkBAIC0zNCwxMCArMzQsMTEgQEAKICNpZiBFTkFCTEUoVklERU8pCiAK
ICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9y
dE1hY3Jvcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUGxheWVyUHJp
dmF0ZSB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVBsYXllclByaXZhdGUgewogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3Ry
YXIpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDSW5wdXRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oCmluZGV4IDMzNzIxZjFkZmM3MGM0NjU3
MjQ3ZDY3ODFmZTk2OWYxYTIwYjg5ZDcuLmEwYjBmMDZiNjRiM2I1OTVmNjExYzk2YWQ4MDEyNmEz
NWVjMmZiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDSW5wdXRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaApAQCAtMjQsNiArMjQsNyBAQAog
I2lmbmRlZiBDQ0lucHV0SGFuZGxlcl9oCiAjZGVmaW5lIENDSW5wdXRIYW5kbGVyX2gKIAorI2lu
Y2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNDAsNyArNDEsNyBAQCBjbGFz
cyBJbnRTaXplOwogLy8KIC8vIFRoZSBDQ0lucHV0SGFuZGxlciBpcyBjb25zdHJ1Y3RlZCB3aXRo
IGFuIElucHV0SGFuZGxlckNsaWVudCwgd2hpY2ggaXMgdGhlCiAvLyBpbnRlcmZhY2UgYnkgd2hp
Y2ggdGhlIGhhbmRsZXIgY2FuIG1hbmlwdWxhdGUgdGhlIExheWVyVHJlZS4KLWNsYXNzIENDSW5w
dXRIYW5kbGVyQ2xpZW50IHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIENDSW5wdXRIYW5kbGVyQ2xp
ZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlckNsaWVudCk7CiBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgPSAwOwpAQCAtODAsNyAr
ODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q0NJbnB1dEhhbmRsZXJDbGllbnQoKSB7
IH0KIH07CiAKLWNsYXNzIENDSW5wdXRIYW5kbGVyIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEND
SW5wdXRIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NJbnB1dEhhbmRsZXI+IGNyZWF0ZShD
Q0lucHV0SGFuZGxlckNsaWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcAppbmRleCA5ZWJiNzFkYzdkMzQx
YTI3OWI3YTdmNjQ3ZGJhNWVkZjE4NDMwYjdiLi41NTQzMzRmNWI1OGY3MTU3YjE2N2E5NTZjZmFl
YWUyNmI2MTIwODdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcApAQCAtMzcsMTEgKzM3LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKICNpZm5kZWYgTkRFQlVHCi1ib29sIGltcGxU
aHJlYWRJc092ZXJyaWRkZW4gPSBmYWxzZTsKLVRocmVhZElkZW50aWZpZXIgdGhyZWFkSURPdmVy
cmlkZW5Ub0JlSW1wbFRocmVhZDsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaW1wbFRocmVhZElzT3Zl
cnJpZGRlbiA9IGZhbHNlOworV0VCQ09SRV9FWFBPUlQgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJ
RE92ZXJyaWRlblRvQmVJbXBsVGhyZWFkOwogI2VuZGlmCi1DQ1RocmVhZCogc19tYWluVGhyZWFk
ID0gMDsKLUNDVGhyZWFkKiBzX2ltcGxUaHJlYWQgPSAwOworV0VCQ09SRV9FWFBPUlQgQ0NUaHJl
YWQqIHNfbWFpblRocmVhZCA9IDA7CitXRUJDT1JFX0VYUE9SVCBDQ1RocmVhZCogc19pbXBsVGhy
ZWFkID0gMDsKIH0KIAogdm9pZCBDQ1Byb3h5OjpzZXRNYWluVGhyZWFkKENDVGhyZWFkKiB0aHJl
YWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Byb3h5LmgKaW5kZXggMDE2MjI2Y2E1MTIwMTMxZmNmZTNmYzEzMzE5YWM3MTYwODc2
NzU5Yi4uZGE4ZGY2MmFiYWZkZDZhMjgxNjZiNWJmNjU1MTFiZjUyZjVjMTdhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJv
eHkuaApAQCAtMjYsNiArMjYsNyBAQAogI2RlZmluZSBDQ1Byb3h5X2gKIAogI2luY2x1ZGUgIklu
dFJlY3QuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQ0LDcgQEAgY2xhc3MgVGV4dHVyZU1hbmFnZXI7
CiAKIC8vIEFic3RyYWN0IGNsYXNzIHJlc3BvbnNpYmxlIGZvciBwcm94eWluZyBjb21tYW5kcyBm
cm9tIHRoZSBtYWluLXRocmVhZCBzaWRlIG9mCiAvLyB0aGUgY29tcG9zaXRvciBvdmVyIHRvIHRo
ZSBjb21wb3NpdG9yIGltcGxlbWVudGF0aW9uLgotY2xhc3MgQ0NQcm94eSB7CitjbGFzcyBXRUJD
T1JFX0VYUE9SVCBDQ1Byb3h5IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ1Byb3h5KTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzZXRNYWluVGhyZWFkKENDVGhyZWFkKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNl
bnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1D
ZW50ZXIuaAppbmRleCBhMzdkNjZhMjZjNzY1MWJjZGJhMWM3Yzg3ZmM0YzJhYzBhOGY2MTg5Li4z
ZDg4ZDI3NzUzMDlkY2RhMDU3YjQ2MzhmNzNjM2VkNGEyNTMyZmY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ2VudGVyLmgK
QEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAi
TWVkaWFTdHJlYW1Tb3VyY2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTcsNyAr
NTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlUXVlcnkoY29uc3Qg
TWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1T
b3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykgPSAwOwogfTsKIAotY2xhc3MgTWVkaWFTdHJlYW1D
ZW50ZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTdHJlYW1DZW50ZXIgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhU3RyZWFtQ2VudGVyKTsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uSGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKaW5kZXggZmEyMmNmNGM3
Y2E0MjgwNTUyOTkzZTQyM2VhYmVjZDg3M2RmMWFjNS4uZDk3NmU3NWYwMTNlNDYwMDFhMjM4NmI0
OTUwMmJiZWExZTZmYTViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKQEAgLTM0LDYgKzM0LDcg
QEAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1EZXNj
cmlwdG9yLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgpAQCAtNDYsNyArNDcsNyBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQ7CiBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDsKICNlbmRpZgog
Ci1jbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgUGVl
ckNvbm5lY3Rpb25IYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyQ29ubmVj
dGlvbkhhbmRsZXIpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmgKaW5kZXggNTI4
NGE5YjBkNjAwZWM0ODgwOWVmNmJlNjY3NWViZWRmYTBhYTY0ZC4uNzQ1MGMzOWU5ZTI0NDk5YThk
ODljODliZDc0ZWRjMjNkYjQ0YjhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIEJsb2JSZWdp
c3RyeV9oCiAjZGVmaW5lIEJsb2JSZWdpc3RyeV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9y
dE1hY3Jvcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00Nyw3ICs0OCw3IEBAIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIC8vIFJldHVy
bnMgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgQmxvYlJlZ2lzdHJ5LgotQmxvYlJlZ2lzdHJ5JiBibG9i
UmVnaXN0cnkoKTsgCitXRUJDT1JFX0VYUE9SVCBCbG9iUmVnaXN0cnkmIGJsb2JSZWdpc3RyeSgp
OyAKIAogLy8gQmxvYlJlZ2lzdHJ5IGlzIG5vdCB0aHJlYWQtc2FmZS4gSXQgc2hvdWxkIG9ubHkg
YmUgY2FsbGVkIGZyb20gbWFpbiB0aHJlYWQuCiBjbGFzcyBCbG9iUmVnaXN0cnkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IDg2
MjZlMDllODNjNTRiMjk0NmEzODg1NjFkNzM3ZDNmZGNiMWRhZDQuLjU0NTMyYzYxNWZlZjBmMDRj
N2YyMDc3ZjE3YTcyMzVlMDAyYjA4MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJB
dXRoZW50aWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNs
dWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9z
LmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiAjaWYgVVNFKFNPVVApCkBAIC05NSw3ICs5
Niw3IEBAIGVudW0gU3RvcmVkQ3JlZGVudGlhbHMgewogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAKLWNsYXNzIFJlc291cmNlSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8
UmVzb3VyY2VIYW5kbGU+CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBSZXNvdXJjZUhhbmRsZSA6IHB1
YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPgogI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNF
KENGTkVUV09SSykgfHwgVVNFKENVUkwpCiAgICAgLCBwdWJsaWMgQXV0aGVudGljYXRpb25DbGll
bnQKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
aHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2hyb21pdW0vU29ja2V0U3RyZWFtSGFuZGxlLmgKaW5kZXggNmUwMjE0ZDI0YmM4MmI2
NjU1N2Q2NGJkNGU3OTE5NmViMjBkZjdhZi4uN2JjM2M5ZDc5OWZjODI0ZGJmZGU5NmMzNzE3OGQ0
MWVlYmFkNzFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
aHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2Nocm9taXVtL1NvY2tldFN0cmVhbUhhbmRsZS5oCkBAIC0zMiw2ICszMiw3IEBA
CiAjaWZuZGVmIFNvY2tldFN0cmVhbUhhbmRsZV9oCiAjZGVmaW5lIFNvY2tldFN0cmVhbUhhbmRs
ZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgIlNvY2tl
dFN0cmVhbUhhbmRsZUJhc2UuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00
NCw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1I
YW5kbGVDbGllbnQ7CiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw7CiAKLSAg
ICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTb2NrZXRTdHJl
YW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQmFzZSB7CisgICAgY2xhc3MgV0VC
Q09SRV9FWFBPUlQgU29ja2V0U3RyZWFtSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8U29ja2V0
U3RyZWFtSGFuZGxlPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUJhc2UgewogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGUo
Y29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVudCkpOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUluZm8uaCBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUluZm8uaAppbmRleCBiOTA4YmQ4OTQzNmIzY2Q1MDhmNDli
YzA5ZjEzZmI2NTgzNGM4YzYyLi5jN2E4MmRhZmVmNTFkNzQzMWZiMzNiMDg4N2Q0NmIzOTBjYzQ2
OWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VJbmZvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlSW5mby5oCkBAIC0zMyw2ICszMyw3IEBA
CiAKICNpZiBFTkFCTEUoUVVPVEEpCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5o
IgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KIApAQCAtNDMsNyArNDQsNyBAQCBjbGFzcyBTdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2s7CiBj
bGFzcyBTdG9yYWdlSW5mb1F1b3RhQ2FsbGJhY2s7CiBjbGFzcyBTdG9yYWdlSW5mb1VzYWdlQ2Fs
bGJhY2s7CiAKLWNsYXNzIFN0b3JhZ2VJbmZvIDogcHVibGljIFJlZkNvdW50ZWQ8U3RvcmFnZUlu
Zm8+IHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFN0b3JhZ2VJbmZvIDogcHVibGljIFJlZkNvdW50
ZWQ8U3RvcmFnZUluZm8+IHsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgVEVNUE9SQVJZ
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaAppbmRleCA2MDE3NjQ1
ZGQ3MzBmYTc1N2ZjNTJiMjQwNDEzNGJmYTU5MGMyNTdhLi4zNzU4MGNlMzY4ZDY5ZGExZDgxZWYy
YjI1NTQ2OWYxYzZjNGQ5NTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VOYW1lc3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1l
c3BhY2UuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTdG9yYWdlTmFtZXNwYWNlX2gKICNk
ZWZpbmUgU3RvcmFnZU5hbWVzcGFjZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jv
cy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgpAQCAtMzgsNyArMzksNyBAQCBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFN0
b3JhZ2VBcmVhOwogCiAvLyBUaGlzIGludGVyZmFjZSBpcyByZXF1aXJlZCBmb3IgQ2hyb21pdW0g
c2luY2UgdGhlc2UgYWN0aW9ucyBuZWVkIHRvIGJlIHByb3hpZWQgYmV0d2VlbiBwcm9jZXNzZXMu
Ci1jbGFzcyBTdG9yYWdlTmFtZXNwYWNlIDogcHVibGljIFJlZkNvdW50ZWQ8U3RvcmFnZU5hbWVz
cGFjZT4geworY2xhc3MgV0VCQ09SRV9FWFBPUlQgU3RvcmFnZU5hbWVzcGFjZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFN0b3JhZ2VOYW1lc3BhY2U+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBsb2NhbFN0b3JhZ2VOYW1lc3BhY2UoY29uc3QgU3RyaW5n
JiBwYXRoLCB1bnNpZ25lZCBxdW90YSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZU5h
bWVzcGFjZT4gc2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UoUGFnZSosIHVuc2lnbmVkIHF1b3RhKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9y
eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKaW5k
ZXggYzNkODdlYzkwZWFjN2IwZDkwMDVlZDE1MjkwMTg0ZWE3NzViM2VhZC4uZWRjN2M4YWI1YTlj
ZGMxYWMwMjBiMWE5MTg3YWE2NTJjZWU0OTcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2lmIEVO
QUJMRShTSEFSRURfV09SS0VSUykKIAorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Nyw3ICs0OCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiAgICAgLy8gSW50ZXJm
YWNlIHRvIGEgcmVwb3NpdG9yeSB3aGljaCBtYW5hZ2VzIHJlZmVyZW5jZXMgdG8gdGhlIHNldCBv
ZiBhY3RpdmUgc2hhcmVkIHdvcmtlcnMuCi0gICAgY2xhc3MgU2hhcmVkV29ya2VyUmVwb3NpdG9y
eSB7CisgICAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7CiAg
ICAgcHVibGljOgogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHBsYXRmb3JtIHN1cHBv
cnRzIFNoYXJlZFdvcmtlcnMsIG90aGVyd2lzZSBmYWxzZS4KICAgICAgICAgc3RhdGljIGJvb2wg
aXNBdmFpbGFibGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94
eS5oCmluZGV4IDA1OTc2YWY0MjViZGY2ZGMxYmNmYjJhNDA0ZDQ5ZTBkNDM1ZTA0NzkuLmJiYjMw
N2E4Yzk4NTgzYjY4NzNjMDU0OTc4NjMyNzU0NTc1ZTViMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJM
RShXT1JLRVJTKQogCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ0LDcgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlcjsKIAogICAgIC8vIEEgcHJv
eHkgdG8gdGFsayB0byB0aGUgd29ya2VyIGNvbnRleHQuCi0gICAgY2xhc3MgV29ya2VyQ29udGV4
dFByb3h5IHsKKyAgICBjbGFzcyBXRUJDT1JFX0VYUE9SVCBXb3JrZXJDb250ZXh0UHJveHkgewog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFdvcmtlckNvbnRleHRQcm94eSogY3JlYXRlKFdv
cmtlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggMWUxYTQxNjY1ZTc5ZGQy
Y2E1ZDM4YWRlZDY5NTg1MTllMTU3NDE0My4uNmI2YjgzZjU1YTVmZDc3MjczODRjMGU4MzVlMWIz
MzUzZmE5ZDkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjk4LDgwICs2OTgs
MTcgQEAKICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsnaW5z
aWRlX2Nocm9taXVtX2J1aWxkPT0xJywgewogICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICc8
KGNvbXBvbmVudCknLAotCiAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWworICAg
ICAgICAgICAgICAgICAgICAgICAgIyBBTUk6IGRyb3AgdGhpcyBlbnRpcmUgc2VjdGlvbj8gIEFu
eXRoaW5nIHRoYXQncyBsZWZ0IGhlcmUgc2hvdWxkIGhhdmUgYSByZWFzb24uCiAgICAgICAgICAg
ICAgICAgICAgICAgICBbJ2NvbXBvbmVudD09InNoYXJlZF9saWJyYXJ5IicsIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnZGVmaW5lcyc6IFsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ1dFQktJVF9ETEwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXA6d2ViY29yZV9iaW5kaW5ncycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcu
Li8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBwb3J0
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikv
YmFzZS9iYXNlLmd5cDp0ZXN0X3N1cHBvcnRfYmFzZScsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2dsZXVybC5n
eXA6Z29vZ2xldXJsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21p
dW1fc3JjX2RpcikvdGVzdGluZy9ndGVzdC5neXA6Z3Rlc3QnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2dtb2NrLmd5cDpnbW9j
aycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIp
L3RoaXJkX3BhcnR5L2ljdS9pY3UuZ3lwOionLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJqcGVnX3R1cmJvL2xpYmpw
ZWcuZ3lwOmxpYmpwZWcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJv
bWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJwbmcvbGlicG5nLmd5cDpsaWJwbmcnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9w
YXJ0eS9saWJ4bWwvbGlieG1sLmd5cDpsaWJ4bWwnLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJ4c2x0L2xpYnhzbHQu
Z3lwOmxpYnhzbHQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9tb2RwX2I2NC9tb2RwX2I2NC5neXA6bW9kcF9iNjQnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGly
ZF9wYXJ0eS9vdHMvb3RzLmd5cDpvdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS96bGliL3psaWIuZ3lwOnpsaWInLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92OC90
b29scy9neXAvdjguZ3lwOnY4JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBX
ZSBtdXN0IG5vdCBhZGQgd2Via2l0X3N1cHBvcnQgaGVyZSBiZWNhdXNlIG9mIGN5Y2xpYyBkZXBl
bmRlbmN5LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2RpcmVjdF9kZXBlbmRlbnRfc2V0dGluZ3MnOiB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdkZWZpbmVzJzogWwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ1dFQktJVF9ETEwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2V4cG9ydF9kZXBlbmRlbnRfc2V0dGluZ3MnOiBbCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2ds
ZXVybC5neXA6Z29vZ2xldXJsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwo
Y2hyb21pdW1fc3JjX2RpcikvdjgvdG9vbHMvZ3lwL3Y4Lmd5cDp2OCcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9k
aXJzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdBUk5JTkc6IERvIG5v
dCB2aWV3IHRoaXMgcGFydGljdWxhciBjYXNlIGFzIGEgcHJlY2VkZW50IGZvcgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIGluY2x1ZGluZyBXZWJDb3JlIGhlYWRlcnMgaW4gRHVt
cFJlbmRlclRyZWUgcHJvamVjdC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4u
Ly4uL1dlYkNvcmUvdGVzdGluZy92OCcsICMgZm9yIFdlYkNvcmVUZXN0U3VwcG9ydC5oLCBuZWVk
ZWQgdG8gbGluayBpbiB3aW5kb3cuaW50ZXJuYWxzIGNvZGUuCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc291cmNlcyc6IFsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxlcykn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL1dlYlRlc3RpbmdTdXBwb3J0
LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViVGVzdGlu
Z1N1cHBvcnQuaCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJV
bml0VGVzdHMuY3BwJywgICAjIENvbXBvbmVudHMgdGVzdCBydW5uZXIgc3VwcG9ydC4KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdz
b3VyY2VzISc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBzaG91bGQg
bm90IGluY2x1ZGUgZmlsZXMgZGVwZW5kaW5nIG9uIHdlYmtpdF9zdXBwb3J0LgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRfc3Vw
cG9ydCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMgZGVm
aW5lZCBvbmx5IGluICFXRUJLSVRfSU1QTEVNRU5UQVRJT04uCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICd0ZXN0cy9Bc3NvY2lhdGVkVVJMTG9hZGVyVGVzdC5jcHAnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvRnJhbWVUZXN0SGVscGVycy5jcHAnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUG9wdXBNZW51VGVzdC5jcHAn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUmVuZGVyVGFibGVDZWxs
VGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvV2ViRnJh
bWVUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJQ
YWdlTmV3U2VyaWFsaXplclRlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3RzL1dlYlBhZ2VTZXJpYWxpemVyVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAndGVzdHMvV2ViVmlld1Rlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzog
WwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ09TPT0id2luIiBvciBPUz09Im1h
YyInLCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5jaWVz
JzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVt
X3NyY19kaXIpL3RoaXJkX3BhcnR5L25zcy9uc3MuZ3lwOionLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfV0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnY2xhbmc9PTEnLCB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNlIHRv
IGVuYWJsZSB0aGlzIGluIHNoYXJlZCBidWlsZHMgdG9vLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIyBidXQgdGhlIHRlc3QgZmlsZXMgaGF2ZSBnbG9iYWwgY29uc3RydWN0
b3JzIGZyb20gdGhlIEdURVNUIG1hY3JvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIGFuZCB3ZSBwdWxsIGluIHRoZSB0ZXN0IGZpbGVzIGludG8gdGhlIHdlYmtpdCB0YXJn
ZXQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNoYXJlZCBi
dWlsZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjZmxhZ3MhJzogWyct
V2dsb2JhbC1jb25zdHJ1Y3RvcnMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICd4Y29kZV9zZXR0aW5ncyc6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ1dBUk5JTkdfQ0ZMQUdTISc6IFsnLVdnbG9iYWwtY29uc3RydWN0b3JzJ10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdtc3ZzX3NldHRpbmdzJzogewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ1ZDTGlua2VyVG9vbCc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2NvbmRpdGlvbnMnOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L1dlYktpdFVuaXRUZXN0cy5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdFVuaXRU
ZXN0cy5neXAKaW5kZXggZDUwYWQxNTIzMDcwNjJlZmYwM2Q2ZGYwMjkzOWZlMDMyNTljNmQ4My4u
ZDYyYmUyODQxYjdkYWEzNzUzZGU3Y2NlZDkyMjUxYTg4NzQwZDNlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRVbml0VGVzdHMuZ3lwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0VW5pdFRlc3RzLmd5cApAQCAtNjUsMzMgKzY1LDIzIEBACiAgICAg
ICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikvd2Via2l0L3N1cHBvcnQvd2Via2l0X3N1
cHBvcnQuZ3lwOndlYmtpdF9zdXBwb3J0JywKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6d2Via2l0X3VzZXJfYWdl
bnQnLAogICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdzb3VyY2VzJzogWwotICAgICAgICAg
ICAgICAgICd0ZXN0cy9SdW5BbGxUZXN0cy5jcHAnLAotICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICdpbmNsdWRlX2RpcnMnOiBbCiAgICAgICAgICAgICAgICAgJ3B1YmxpYycsCiAgICAgICAg
ICAgICAgICAgJ3NyYycsCiAgICAgICAgICAgICBdLAorICAgICAgICAgICAgJ3NvdXJjZXMnOiBb
CisgICAgICAgICAgICAgICAgJ3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCcsCisgICAgICAgICAgICAg
ICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxlcyknLAorICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1
aWxkPT0xIGFuZCBjb21wb25lbnQ9PSJzaGFyZWRfbGlicmFyeSInLCB7Ci0gICAgICAgICAgICAg
ICAgICAgICdkZWZpbmVzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgJ1dFQktJVF9ETExf
VU5JVFRFU1QnLAotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIH0sIHsK
LSAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCi0gICAgICAgICAgICAgICAgICAgICAg
ICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVzKScsCi0gICAgICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgICAgICAg
ICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEnLCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B1
YmxpYy9ndGsnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjIEZJWE1FOiBFbmFibGUgd2FybmluZ3Mgb24gb3RoZXIgcGxhdGZvcm1zLgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdjaHJvbWl1bV9jb2RlJzogMSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgfV0sCisgICAgICAgICAgICAg
ICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEnLCB7CisgICAgICAgICAgICAgICAgICAgICdpbmNs
dWRlX2RpcnMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAncHVibGljL2d0aycsCiAgICAg
ICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICd2YXJpYWJsZXMnOiB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBFbmFibGUgd2FybmluZ3Mgb24gb3RoZXIg
cGxhdGZvcm1zLgorICAgICAgICAgICAgICAgICAgICAgICAgJ2Nocm9taXVtX2NvZGUnOiAxLAor
ICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAg
ICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1aWxkPT0xIGFuZCBPUz09IndpbiIgYW5kIGNvbXBvbmVu
dCE9InNoYXJlZF9saWJyYXJ5IicsIHsKICAgICAgICAgICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b25zJzogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29t
cG9zaXRvci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tcG9zaXRvci5o
CmluZGV4IDMyYjYwZTI4NDVlODc4NmZmNGJiNDZlNmI5ZDJiZjI5M2ZlZDU4YWEuLjc4MDM3ZjE1
MjUwYjllYmZjYWYwOWZkNGFhZjk1OTM1Y2I4YTI2ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJDb21wb3NpdG9yLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgV2Vi
VGhyZWFkOwogLy8KIC8vIFRoaXMgY2xhc3MgY3VycmVudGx5IHRlbXBvcmFyaWx5IGluaGVyaXRz
IGZyb20gV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcgogLy8gd2hpbGUgd2UgbWlncmF0ZSBkb3du
c3RyZWFtIGNvZGUgdG8gdXNlIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIgZGlyZWN0bHkuCi1j
bGFzcyBXZWJDb21wb3NpdG9yIDogcHVibGljIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIgewor
Y2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJDb21wb3NpdG9yIDogcHVibGljIFdlYkNvbXBvc2l0b3JJ
bnB1dEhhbmRsZXIgewogcHVibGljOgogICAgIC8vIEluaXRpYWxpemVzIHRoZSBjb21wb3NpdG9y
LiBUaHJlYWRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVkIGJ5IHBhc3NpbmcgaW4KICAgICAvLyBh
IG5vbi1udWxsIFdlYlRocmVhZC4gTm8gY29tcG9zaXRvciBjbGFzc2VzIG9yIG1ldGhvZHMgc2hv
dWxkIGJlIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3Bs
YXRmb3JtL1dlYlVSTEVycm9yLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0
Zm9ybS9XZWJVUkxFcnJvci5oCmluZGV4IDg2MmRiZWFhM2IzYzBmMjhlMjY5NGY4ZDhiNmZiMThh
MmQxZTg1MGYuLjRmMmE0MWViMTRmMzFiZWZkODM2MjgxM2VlZDM1MzY3ZWVkNjkyZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYlVSTEVycm9y
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViVVJMRXJy
b3IuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJVUkxFcnJvcl9oCiAjZGVmaW5lIFdl
YlVSTEVycm9yX2gKIAorI2luY2x1ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYlN0cmlu
Zy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgogCkBAIC00MCw3ICs0MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsgY2xhc3MgUmVzb3VyY2VFcnJvcjsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RydWN0IFdlYlVSTEVycm9yIHsKK3N0cnVjdCBXRUJLSVRfRVhQT1JUIFdlYlVSTEVycm9yIHsK
ICAgICAvLyBBIG5hbWVzcGFjZSBmb3IgInJlYXNvbiIgdG8gc3VwcG9ydCB2YXJpb3VzIGxheWVy
cyBnZW5lcmF0aW5nCiAgICAgLy8gcmVzb3VyY2UgZXJyb3JzLiBXZWJLaXQgZG9lcyBub3QgY2Fy
ZSBhYm91dCB0aGUgdmFsdWUgb2YgdGhpcwogICAgIC8vIHN0cmluZyBhcyBpdCB3aWxsIGp1c3Qg
YmUgcGFzc2VkIHZpYSBjYWxsYmFja3MgdG8gdGhlIGNvbnN1bWVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCmluZGV4IGIxNjdiNmMyZDQ2NmE0ZGYy
ZWUwYWIzZTI0OWZlNDBjMDkzMmYxODYuLjcwMTBiOTVjODU4YTIwMmYxZGE0OTc1ODYxYjNkZjkw
YmYxZjliY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNs
aWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJ
bXBsLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJUZXh0Q2hlY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgU3BlbGxDaGVja2VyOwogbmFtZXNw
YWNlIFdlYktpdCB7CiBjbGFzcyBXZWJWaWV3SW1wbDsKIAotY2xhc3MgRWRpdG9yQ2xpZW50SW1w
bCA6IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JDbGllbnQsIHB1YmxpYyBXZWJDb3JlOjpUZXh0Q2hl
Y2tlckNsaWVudCB7CitjbGFzcyBXRUJLSVRfRVhQT1JUIEVkaXRvckNsaWVudEltcGwgOiBwdWJs
aWMgV2ViQ29yZTo6RWRpdG9yQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6VGV4dENoZWNrZXJDbGll
bnQgewogcHVibGljOgogICAgIEVkaXRvckNsaWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRl
eHQzRFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZS5oCmluZGV4IGJlOWRiNDI4N2RiNmVmYTMyODVmY2NiODU0ZmVhMzQ4M2FkMTVi
NmMuLjlhOTk2N2ZlZGEwMDFkMDZiMzliZDE4YTQ2ZTM4NDIxZjU4MmVjNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5o
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJFeHRlbnNpb25zM0RDaHJvbWl1bS5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29t
bW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC01Miw3ICs1Myw3IEBAIGNsYXNzIEdy
YXBoaWNzQ29udGV4dDNEU3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQWRhcHRlcjsKIGNsYXNz
IEdyYXBoaWNzRXJyb3JNZXNzYWdlQ2FsbGJhY2tBZGFwdGVyOwogY2xhc3MgR3JhcGhpY3NDb250
ZXh0M0RNZW1vcnlBbGxvY2F0aW9uQ2hhbmdlZENhbGxiYWNrQWRhcHRlcjsKIAotY2xhc3MgR3Jh
cGhpY3NDb250ZXh0M0RQcml2YXRlIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgR3JhcGhpY3NDb250
ZXh0M0RQcml2YXRlIHsKIHB1YmxpYzoKICAgICAvLyBDYWxsZXJzIG11c3QgbWFrZSB0aGUgY29u
dGV4dCBjdXJyZW50IGJlZm9yZSB1c2luZyBpdCBBTkQgY2hlY2sgdGhhdCB0aGUgY29udGV4dCB3
YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkKICAgICAvLyB2aWEgQ29udGV4dExvc3QgYmVmb3JlIHVz
aW5nIHRoZSBjb250ZXh0IGluIGFueSB3YXkuIE9uY2UgbWFkZSBjdXJyZW50IG9uIGEgdGhyZWFk
LCB0aGUgY29udGV4dCBjYW5ub3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9j
YWxpemVkU3RyaW5ncy5jcHAKaW5kZXggOTE3MTgwYjY2N2UwNGY3MWVlNmY3YWVkYmQxNmQzNzIw
NmNmZTFjMi4uZTU1NDFkNGYwMmUwMDUyMWE0MTZiOTg1ZDMzY2I2NWQ1MWNmYmNlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKQEAgLTIy
MywxMiArMjIzLDEyIEBAIFN0cmluZyB1bmtub3duRmlsZVNpemVUZXh0KCkKIAogLy8gVGhlIGZv
bGxvd2luZyB0d28gZnVuY3Rpb25zIGFyZSBub3QgZGVjbGFyZWQgaW4gTG9jYWxpemVkU3RyaW5n
cy5oLgogLy8gVGhleSBhcmUgdXNlZCBieSB0aGUgbWVudSBmb3IgdGhlIEhUTUwga2V5Z2VuIHRh
Zy4KLVN0cmluZyBrZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6ZSgpCitXVEZfRVhQT1JUIFN0cmlu
ZyBrZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6ZSgpCiB7CiAgICAgcmV0dXJuIHF1ZXJ5KFdlYkxv
Y2FsaXplZFN0cmluZzo6S2V5Z2VuTWVudUhpZ2hHcmFkZUtleVNpemUpOwogfQogCi1TdHJpbmcg
a2V5Z2VuTWVudU1lZGl1bUdyYWRlS2V5U2l6ZSgpCitXVEZfRVhQT1JUIFN0cmluZyBrZXlnZW5N
ZW51TWVkaXVtR3JhZGVLZXlTaXplKCkKIHsKICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVk
U3RyaW5nOjpLZXlnZW5NZW51TWVkaXVtR3JhZGVLZXlTaXplKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW1wbC5oCmluZGV4IDM0YzZiZDBmZGM2NzY0
ZGIzYWRlZDJlMmU4Mzk1MzY4MzRmYWEzN2UuLmNjMjc2NTQ3YjU3YTIzYTljM2UwMmQ5ZGMyYjcw
ODU1M2I4ZWFkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNv
bXBvc2l0b3JJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9z
aXRvckltcGwuaApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
V2ViVGhyZWFkOwogCi1jbGFzcyBXZWJDb21wb3NpdG9ySW1wbCA6IHB1YmxpYyBXZWJDb21wb3Np
dG9yIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViQ29tcG9zaXRvckltcGwgOiBwdWJsaWMgV2Vi
Q29tcG9zaXRvciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29tcG9zaXRvckltcGwp
OwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGwuaAppbmRleCA4M2I0YmQ1NDYxYWMzNGE1MTZiY2VkZmVjNDI0ZWExZjRjYzMwNmI2Li5iYmE0
OTBlY2NkNjcxODNjOWIxZmY5NzUxNzI1NGFkM2NiY2M0ZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBs
LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJXZWJDb21wb3NpdG9yLmgiCiAjaW5jbHVk
ZSAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlci5oIgogI2luY2x1ZGUgImNjL0NDSW5wdXRIYW5k
bGVyLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CkBAIC00Nyw3ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQ29t
cG9zaXRvcklucHV0SGFuZGxlckNsaWVudDsKIAogLy8gVGVtcG9yYXJpbHkgc3ViY2xhc3Npbmcg
ZnJvbSBXZWJDb21wb3NpdG9yIHdoaWxlIGRvd25zdHJlYW0gY2hhbmdlcyBsYW5kLgotY2xhc3Mg
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciwgcHVi
bGljIFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViQ29t
cG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciwgcHVibGljIFdl
YkNvcmU6OkNDSW5wdXRIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb21w
b3NpdG9ySW5wdXRIYW5kbGVySW1wbCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw+IGNyZWF0ZShXZWJDb3JlOjpDQ0lucHV0SGFu
ZGxlckNsaWVudCopOwpAQCAtNzYsOCArNzcsOCBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9v
bCBtX3Njcm9sbFN0YXJ0ZWQ7CiAKLSAgICBzdGF0aWMgaW50IHNfbmV4dEF2YWlsYWJsZUlkZW50
aWZpZXI7Ci0gICAgc3RhdGljIEhhc2hTZXQ8V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwq
Piogc19jb21wb3NpdG9yczsKKyAgICBzdGF0aWMgV0VCS0lUX0VYUE9SVCBpbnQgc19uZXh0QXZh
aWxhYmxlSWRlbnRpZmllcjsKKyAgICBzdGF0aWMgV0VCS0lUX0VYUE9SVCBIYXNoU2V0PFdlYkNv
bXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKj4qIHNfY29tcG9zaXRvcnM7CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFeHRlcm5hbFRleHR1cmVMYXll
ckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxh
eWVySW1wbC5oCmluZGV4IDdiNzNlNzA4MGRkNmYxZjA1ODRjNGM2MjFkZjNhNmVlMzRhNzViNWUu
LjFiNzA5NDBkYmU3ZmQyYmMwMjUyYmIxMDBlZmZhYjUxNTVkZmIxYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1w
bC5oCkBAIC0yNywxMSArMjcsMTIgQEAKICNkZWZpbmUgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJ
bXBsX2gKIAogI2luY2x1ZGUgIlBsdWdpbkxheWVyQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJDb21tb24uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsIDogcHVibGlj
IFdlYkNvcmU6OlBsdWdpbkxheWVyQ2hyb21pdW0geworY2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJF
eHRlcm5hbFRleHR1cmVMYXllckltcGwgOiBwdWJsaWMgV2ViQ29yZTo6UGx1Z2luTGF5ZXJDaHJv
bWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViRXh0ZXJuYWxUZXh0dXJl
TGF5ZXJJbXBsPiBjcmVhdGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmgKaW5kZXggZDQ3YmRhODE0OTJmMWIwMTkxOTZl
ZDYzOThiNTdhNjk5Zjg0MDMxMC4uNGYzNTM5N2JiMjM0NGFiNTI3NGZlYjQzODI0NzgwODkyYjE5
NGRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVu
dENvbnZlcnNpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2
ZW50Q29udmVyc2lvbi5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1Ub3Vj
aEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiV2Vi
SW5wdXRFdmVudC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBLZXlib2FyZEV2ZW50OwpAQCAtNzUsNyArNzYsNyBAQCBwdWJs
aWM6CiB9OwogI2VuZGlmCiAKLWNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIgOiBw
dWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKK2NsYXNzIFdFQktJVF9FWFBP
UlQgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlciA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9y
bUtleWJvYXJkRXZlbnQgewogcHVibGljOgogICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxk
ZXIoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYpOwogICAgIHZvaWQgc2V0S2V5VHlwZShUeXBlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDM4MTllY2I2NTU0
MWUxZDUzZGEwODY4MWQyNjYwOGJkYzM2NWVhNWIuLjFhZDM2YjlmN2I1NDQ2ZDQzNDVhNzY5YTU0
N2YwMDJjZWY3YTAxOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
aApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBXZWJWaWV3SW1wbF9oCiAKICNpbmNsdWRlICJX
ZWJOYXZpZ2F0aW9uUG9saWN5LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAj
aW5jbHVkZSAicGxhdGZvcm0vV2ViTGF5ZXIuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJMYXll
clRyZWVWaWV3LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViTGF5ZXJUcmVlVmlld0NsaWVudC5o
IgpAQCAtOTYsNyArOTcsNyBAQCBjbGFzcyBXZWJNb3VzZVdoZWVsRXZlbnQ7CiBjbGFzcyBXZWJT
ZXR0aW5nc0ltcGw7CiBjbGFzcyBXZWJUb3VjaEV2ZW50OwogCi1jbGFzcyBXZWJWaWV3SW1wbCA6
IHB1YmxpYyBXZWJWaWV3LCBwdWJsaWMgV2ViTGF5ZXJUcmVlVmlld0NsaWVudCwgcHVibGljIFJl
ZkNvdW50ZWQ8V2ViVmlld0ltcGw+IHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViVmlld0ltcGwg
OiBwdWJsaWMgV2ViVmlldywgcHVibGljIFdlYkxheWVyVHJlZVZpZXdDbGllbnQsIHB1YmxpYyBS
ZWZDb3VudGVkPFdlYlZpZXdJbXBsPiB7CiBwdWJsaWM6CiAgICAgZW51bSBBdXRvWm9vbVR5cGUg
ewogICAgICAgICBEb3VibGVUYXAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9wYWludGluZy9QYWludEFnZ3JlZ2F0b3IuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5oCmluZGV4IGYwODNlNDAxNzVhOTFhZTA4NjM1
YWNiMDBjM2EyNWZkOTczMzMyYjQuLmNhMTk0YWE3NDhhOTM3YjNmMjJkODJhZTZlNWFlY2Q2N2Nm
NzU3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL1Bh
aW50QWdncmVnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5n
L1BhaW50QWdncmVnYXRvci5oCkBAIC0zMywxMyArMzMsMTQgQEAKIAogI2luY2x1ZGUgIkludFBv
aW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1v
bi5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8v
IFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIGFnZ3JlZ2F0aW5nIG11bHRpcGxlIGludmFs
aWRhdGlvbiBhbmQgc2Nyb2xsCiAvLyBjb21tYW5kcyB0byBwcm9kdWNlIGEgc2Nyb2xsIGFuZCBy
ZXBhaW50IHNlcXVlbmNlLgotY2xhc3MgUGFpbnRBZ2dyZWdhdG9yIHsKK2NsYXNzIFdFQktJVF9F
WFBPUlQgUGFpbnRBZ2dyZWdhdG9yIHsKIHB1YmxpYzoKICAgICAvLyBUaGlzIHN0cnVjdHVyZSBk
ZXNjcmliZXMgYW4gYWdncmVnYXRpb24gb2YgaW52YWxpZGF0ZVJlY3QgYW5kIHNjcm9sbFJlY3QK
ICAgICAvLyBjYWxscy4gSWYgfHNjcm9sbFJlY3R8IGlzIG5vbi1lbXB0eSwgdGhlbiB0aGF0IHJl
Y3Qgc2hvdWxkIGJlIHNjcm9sbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVu
QWxsVGVzdHMuY3BwCmluZGV4IGRjMDUyODI1NzFhN2M2ODhjZGIyMDg5NTZjMzU0ZTYzYTMzYTNj
M2MuLjRkODFjNDM4OWM2MWMwZGNlYTJjMGE1ZmU5YTc3NDU5MjBiYzJiZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCkBAIC0zNSw5ICszNSw3IEBA
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSA8
d2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaD4KIAotI2lmIGRlZmluZWQoV0VCS0lUX0RM
TF9VTklUVEVTVCkKICNpbmNsdWRlICJXZWJVbml0VGVzdHMuaCIKLSNlbmRpZgogCiAjaW5jbHVk
ZSA8Z21vY2svZ21vY2suaD4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131245</attachid>
            <date>2012-03-11 10:45:32 -0700</date>
            <delta_ts>2012-05-21 15:20:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80062-20120311104531.patch</filename>
            <type>text/plain</type>
            <size>65114</size>
            <attacher name="Ami Fischman">fischman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMzUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MWMxN2I1ZmMwMjdmMWEzZDY1OWM0M2VlNDZkMTMzMWJmNjExNjU0Li5hNjU4ZWRlNDQ2MDQ2M2Zk
YzVjMmVhMWRhMDEyNjllNmJhZjI2MjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMi0wMy0wOCAgQW1pIEZpc2NobWFuICA8ZmlzY2htYW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdlYktpdC5neXA6d2Via2l0IHNob3VsZCBub3QgZGVwZW5kIG9uIHRl
c3QgY29kZSAoISkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwMDYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvY2hyb21pdW0vQ2hyb21pdW1UaHJl
YWRpbmcuaDoKKwogMjAxMi0wMy0wOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBXZWJLaXQgY29tcGlsZWQgYnkgZ2NjIChYY29kZSAzLjIuNikgaGFuZ3Mgd2hp
bGUgcnVubmluZyBET00vQWNjZXNzb3JzLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNzZhODU3MTRjODQ5
MDAxYTg3MWI0MzE2NjhkZmQwNDk5MzdmMWNiLi4yYjZmODVhNGQ5ZWI4ZjkwNGFlYjRhNDU2NjQ5
MmNhMzU5MzZkZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTItMDMtMDggIEFt
aSBGaXNjaG1hbiAgPGZpc2NobWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQuZ3lw
OndlYmtpdCBzaG91bGQgbm90IGRlcGVuZCBvbiB0ZXN0IGNvZGUgKCEpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDA2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKGNvdmVyZWQg
YnkgZXhpc3RpbmcgdGVzdHMpCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL2Nocm9t
aXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBkb20vTWVzc2FnZVBvcnRDaGFubmVs
Lmg6CisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuaDoKKyAgICAgICAgKiBkb20vbWFrZV9uYW1l
cy5wbDoKKyAgICAgICAgKHByaW50TmFtZXNDcHBGaWxlKToKKyAgICAgICAgKiBmaWxlYXBpL0xv
Y2FsRmlsZVN5c3RlbS5oOgorICAgICAgICAqIGxvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlSG9zdC5oOgorICAgICAgICAqIHBsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9UaW1lci5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0V4dGVuc2lvbnMzRENocm9taXVtLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uSGFuZGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvQmxvYlJlZ2lzdHJ5Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29y
ay9jaHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3Jh
Z2VJbmZvLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmg6CisgICAgICAg
ICogd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmg6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJDb250ZXh0UHJveHkuaDoKKwogMjAxMi0wMy0wOSAgUHJhdGlrIFNvbGFua2kgIDxwc29s
YW5raUBhcHBsZS5jb20+CiAKICAgICAgICAgQXNzZXJ0aW9uIGZhaWx1cmUgaW4gUmVzb3VyY2VI
YW5kbGU6OnNldERlZmVyc0xvYWRpbmcoKTogZC0+bV9kZWZlcnNMb2FkaW5nICE9IGRlZmVycwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwZWMyNDhlNDFjZDVjNzlkNzYwNGE2NzA3OTZk
MDZjN2JiNDI3MGJkLi4wNjMxYTYwOWMwZmFmZWIxZTZhOGIwYjMxZTEzY2U4YzAxM2U0Y2FmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTA4ICBB
bWkgRmlzY2htYW4gIDxmaXNjaG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViS2l0Lmd5
cDp3ZWJraXQgc2hvdWxkIG5vdCBkZXBlbmQgb24gdGVzdCBjb2RlICghKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAwNjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAg
ICogV2ViS2l0VW5pdFRlc3RzLmd5cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29tcG9zaXRvci5o
OgorICAgICAgICAqIHB1YmxpYy9wbGF0Zm9ybS9XZWJVUkxFcnJvci5oOgorICAgICAgICAqIHNy
Yy9FZGl0b3JDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZS5oOgorICAgICAgICAqIHNyYy9Mb2NhbGl6ZWRTdHJpbmdzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmtleWdlbk1lbnVIaWdoR3JhZGVLZXlTaXplKToKKyAgICAgICAgKFdlYkNvcmU6Omtl
eWdlbk1lbnVNZWRpdW1HcmFkZUtleVNpemUpOgorICAgICAgICAqIHNyYy9XZWJDb21wb3NpdG9y
SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oOgor
ICAgICAgICAqIHNyYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllckltcGwuaDoKKyAgICAgICAgKiBz
cmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwu
aDoKKyAgICAgICAgKiBzcmMvcGFpbnRpbmcvUGFpbnRBZ2dyZWdhdG9yLmg6CisgICAgICAgICog
dGVzdHMvUnVuQWxsVGVzdHMuY3BwOgorCiAyMDEyLTAzLTA5ICBFbWlsIEEgRWtsdW5kICA8ZWFl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgcm91bmRlZFBvaW50IHRvIEhpdFRlc3RSZXN1
bHQgYW5kIGNoYW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBpdApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCmluZGV4IDcxNmJiYTVkM2I4ODFlNmY2MTNhMWZhYWJkNTZlMjM3NmQ1Yjc0
ZDAuLjZlMTBkNTk5NGJlOWJjMzVlZmExNDNmYzA4ZjdhY2M2OGIzNDhiNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTExMzgsNyArMTEzOCw3IEBACiAgICBzaW5jZSBt
b3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGluZGVwZW5kZW5jZSwgYWRkaW5n
IG5ldyBoZWFkZXJzCiAgICB0byBXVEYgY2F1c2VzIG1hbnkgcG9ydHMgdG8gYnJlYWssIGFuZCBz
byB0aGlzIHdheSB3ZSBjYW4gYWRkcmVzcyB0aGUgYnVpbGQKICAgIGJyZWFrYWdlcyBvbmUgcG9y
dCBhdCBhIHRpbWUuICovCi0jaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkKKyNpZiBQ
TEFURk9STShNQUMpIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShDSFJPTUlVTSkKICNkZWZp
bmUgV1RGX1VTRV9FWFBPUlRfTUFDUk9TIDEKICNlbHNlCiAjZGVmaW5lIFdURl9VU0VfRVhQT1JU
X01BQ1JPUyAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVt
L0Nocm9taXVtVGhyZWFkaW5nLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL2Nocm9taXVt
L0Nocm9taXVtVGhyZWFkaW5nLmgKaW5kZXggMzkzODYyMTlkNjVjMWQ5MmNmZjRhNjU3YmZjNjNj
OTdmNTk4ZTZiYi4uNzBlYTI0NzU5MmZmYTM2OGFhNWYwMmJjNmU5OTg2MjAwMDg1YTczMSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9jaHJvbWl1bS9DaHJvbWl1bVRocmVh
ZGluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvY2hyb21pdW0vQ2hyb21pdW1U
aHJlYWRpbmcuaApAQCAtMzEsMTAgKzMxLDEyIEBACiAjaWZuZGVmIENocm9taXVtVGhyZWFkaW5n
X2gKICNkZWZpbmUgQ2hyb21pdW1UaHJlYWRpbmdfaAogCisjaW5jbHVkZSA8d3RmL0V4cG9ydE1h
Y3Jvcy5oPgorCiBuYW1lc3BhY2UgV1RGIHsKIAogLy8gQW4gaW50ZXJmYWNlIHRvIHRoZSBlbWJl
ZGRpbmcgbGF5ZXIsIHdoaWNoIHByb3ZpZGVzIHRocmVhZGluZyBzdXBwb3J0LgotY2xhc3MgQ2hy
b21pdW1UaHJlYWRpbmcgeworY2xhc3MgV1RGX0VYUE9SVCBDaHJvbWl1bVRocmVhZGluZyB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIHZvaWQgY2FsbE9uTWFpblRocmVhZCh2b2lkICgqZnVuYykodm9p
ZCopLCB2b2lkKiBjb250ZXh0KTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL2Nocm9taXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCmluZGV4
IDY1N2M3OGU5ZTYxYzk1ZGNkYTQ0NWJkZTg0NDhjYzE3MWFmMzQ2NTYuLjM5N2ExOGY3NDhhODg0
MTJhMzI1OTU1ZTM2Nzk3MDIxNWIwYzc2MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5o
CkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCisjaW5jbHVk
ZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0Myw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ7CiAKIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGNsYXNzIGlzIGluIHRo
ZSBXZWJLaXQgQVBJIChDaHJvbWl1bSBzb3VyY2UgdHJlZSkKIC8vIGluIFdlYktpdC9jaHJvbWl1
bS9zcmMvRGF0YWJhc2VPYnNlcnZlci5jcHAuCi1jbGFzcyBEYXRhYmFzZU9ic2VydmVyIHsKK2Ns
YXNzIFdFQkNPUkVfRVhQT1JUIERhdGFiYXNlT2JzZXJ2ZXIgewogcHVibGljOgogICAgIHN0YXRp
YyBib29sIGNhbkVzdGFibGlzaERhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25lZCBsb25nKTsKICAgICBzdGF0aWMgdm9p
ZCBkYXRhYmFzZU9wZW5lZChBYnN0cmFjdERhdGFiYXNlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTWVzc2FnZVBvcnRDaGFubmVsLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVz
c2FnZVBvcnRDaGFubmVsLmgKaW5kZXggMDc2NjhhNGUyMjg0ZTU1OTdlMTZhMzgxNzA0YTU4Nzhk
ZmYyNjJkMy4uMzRhYjE1ZDAxOGY4ZDAwZjM5OGM1YWE4MzYwYzZlYjlhZjk3N2ViNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0Q2hhbm5lbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydENoYW5uZWwuaApAQCAtMzEsOCArMzEsOCBAQAogI2lm
bmRlZiBNZXNzYWdlUG9ydENoYW5uZWxfaAogI2RlZmluZSBNZXNzYWdlUG9ydENoYW5uZWxfaAog
CisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgotCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAKICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CkBAIC01NSw3ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIC8vIE1lc3NhZ2VQb3J0Q2hhbm5lbCBpcyBhIHBsYXRmb3JtLWluZGVwZW5kZW50IGludGVy
ZmFjZSB0byB0aGUgcmVtb3RlIHNpZGUgb2YgYSBtZXNzYWdlIGNoYW5uZWwuCiAgICAgLy8gSXQg
YWN0cyBhcyBhIHdyYXBwZXIgYXJvdW5kIHRoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgUGxhdGZvcm1N
ZXNzYWdlUG9ydENoYW5uZWwgaW1wbGVtZW50YXRpb24gd2hpY2ggZW5zdXJlcyB0aGF0IHRoZSBw
bGF0Zm9ybS1kZXBlbmRlbnQgY2xvc2UoKSBtZXRob2QgaXMgaW52b2tlZCBiZWZvcmUgZGVzdHJ1
Y3Rpb24uCi0gICAgY2xhc3MgTWVzc2FnZVBvcnRDaGFubmVsIHsKKyAgICBjbGFzcyBXRUJDT1JF
X0VYUE9SVCBNZXNzYWdlUG9ydENoYW5uZWwgewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShNZXNzYWdlUG9ydENoYW5uZWwpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNoYW5uZWwoUGFzc1JlZlB0cjxNZXNzYWdl
UG9ydD4sIFBhc3NSZWZQdHI8TWVzc2FnZVBvcnQ+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9RdWFsaWZpZWROYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWRO
YW1lLmNwcAppbmRleCBhNzQyNjI5NWVmMDY0ZWJlOWMwZmFkZWYwZjY3MDFkNTE2NThkYTNlLi4z
YTE2MmYzODRmOGUxZGVlZTE3NTYxMTg3OGIzODA3NWQ5MjdjZjE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1F1YWxpZmllZE5hbWUuY3BwCkBAIC0xMDMsNiArMTAzLDcgQEAgU3RyaW5nIFF1YWxpZmllZE5h
bWU6OnRvU3RyaW5nKCkgY29uc3QKIH0KIAogLy8gR2xvYmFsIGluaXQgcm91dGluZXMKK1dFQkNP
UkVfRVhQT1JUCiBERUZJTkVfR0xPQkFMKFF1YWxpZmllZE5hbWUsIGFueU5hbWUsIG51bGxBdG9t
LCBzdGFyQXRvbSwgc3RhckF0b20pCiAKIHZvaWQgUXVhbGlmaWVkTmFtZTo6aW5pdCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCA2MzZiMmE1MTUwYzllOTg3YzAyN2U3NTY5Nzky
ZDliYWMzNGE4OWU5Li44MzBiNDczZGIxMjI1MmRjYTllNzFlZTZhNzQ3ODk3MjA0YzU4ZWM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTIxLDYgKzIxLDcgQEAKICNpZm5kZWYg
UXVhbGlmaWVkTmFtZV9oCiAjZGVmaW5lIFF1YWxpZmllZE5hbWVfaAogCisjaW5jbHVkZSAiUGxh
dGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+
CkBAIC0zMyw3ICszNCw3IEBAIHN0cnVjdCBRdWFsaWZpZWROYW1lQ29tcG9uZW50cyB7CiAgICAg
U3RyaW5nSW1wbCogbV9uYW1lc3BhY2U7CiB9OwogCi1jbGFzcyBRdWFsaWZpZWROYW1lIHsKK2Ns
YXNzIFdFQkNPUkVfRVhQT1JUIFF1YWxpZmllZE5hbWUgewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwogcHVibGljOgogICAgIGNsYXNzIFF1YWxpZmllZE5hbWVJbXBsIDogcHVibGljIFJl
ZkNvdW50ZWQ8UXVhbGlmaWVkTmFtZUltcGw+IHsKQEAgLTEwMyw3ICsxMDQsNyBAQCBwcml2YXRl
OgogfTsKIAogI2lmbmRlZiBXRUJDT1JFX1FVQUxJRklFRE5BTUVfSElERV9HTE9CQUxTCi1leHRl
cm4gY29uc3QgUXVhbGlmaWVkTmFtZSBhbnlOYW1lOworV0VCQ09SRV9FWFBPUlQgZXh0ZXJuIGNv
bnN0IFF1YWxpZmllZE5hbWUgYW55TmFtZTsKIGlubGluZSBjb25zdCBRdWFsaWZpZWROYW1lJiBh
bnlRTmFtZSgpIHsgcmV0dXJuIGFueU5hbWU7IH0KICNlbmRpZgogCkBAIC0xMTcsNyArMTE4LDcg
QEAgaW5saW5lIHVuc2lnbmVkIGhhc2hDb21wb25lbnRzKGNvbnN0IFF1YWxpZmllZE5hbWVDb21w
b25lbnRzJiBidWYpCiAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9yeTxzaXplb2Yo
UXVhbGlmaWVkTmFtZUNvbXBvbmVudHMpPigmYnVmKTsKIH0KIAotc3RydWN0IFF1YWxpZmllZE5h
bWVIYXNoIHsKK3N0cnVjdCBXRUJDT1JFX0VYUE9SVCBRdWFsaWZpZWROYW1lSGFzaCB7CiAgICAg
c3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkgeyByZXR1cm4g
aGFzaChuYW1lLmltcGwoKSk7IH0KIAogICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0IFF1
YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJbXBsKiBuYW1lKSAKQEAgLTEzOCwxMSArMTM5LDEx
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVj
dCBEZWZhdWx0SGFzaDsKIAotICAgIHRlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNv
cmU6OlF1YWxpZmllZE5hbWU+IHsKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBXRUJDT1JFX0VYUE9S
VCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpRdWFsaWZpZWROYW1lPiB7CiAgICAgICAgIHR5cGVkZWYg
V2ViQ29yZTo6UXVhbGlmaWVkTmFtZUhhc2ggSGFzaDsKICAgICB9OwogICAgIAotICAgIHRlbXBs
YXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gOiBTaW1wbGVD
bGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4geworICAgIHRlbXBsYXRlPD4g
c3RydWN0IFdFQkNPUkVfRVhQT1JUIEhhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4g
OiBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8V2ViQ29yZTo6UXVhbGlmaWVkTmFtZT4gewogICAgICAg
ICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7CiAgICAgICAgIHN0
YXRpYyBXZWJDb3JlOjpRdWFsaWZpZWROYW1lIGVtcHR5VmFsdWUoKSB7IHJldHVybiBXZWJDb3Jl
OjpRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBudWxsQXRvbSwgbnVsbEF0b20pOyB9CiAgICAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsIGIvU291cmNlL1dl
YkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5kZXggYzhlZDU4YjU3NDc4ZGU1ZTYzNDY5YTM2Yzhi
ODA2ODIyZDk5ZTRmNS4uNTliNDI0ODU1MmU5NTlkMTg0NzBkM2U1NTA5MDk2MTIyMDc3NjhlYSAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAgLTExNiw3ICsxMTYsNyBAQCBpZiAobGVuZ3Ro
KCRmb250TmFtZXNJbikpIHsKICAgICBwcmludENwcEhlYWQoJEYsICJDU1MiLCAkZmFtaWx5TmFt
ZXNGaWxlQmFzZSwgIldURiIpOwogCiAgICAgd2hpbGUgKCBteSAoJG5hbWUsICRpZGVudGlmaWVy
KSA9IGVhY2ggJXBhcmFtZXRlcnMgKSB7Ci0gICAgICAgIHByaW50IEYgIkRFRklORV9HTE9CQUwo
QXRvbWljU3RyaW5nLCAkbmFtZSwgXCIkaWRlbnRpZmllclwiKVxuIjsKKyAgICAgICAgcHJpbnQg
RiAiV0VCQ09SRV9FWFBPUlQgREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsICRuYW1lLCBcIiRp
ZGVudGlmaWVyXCIpXG4iOwogICAgIH0KIAogICAgIHByaW50SW5pdCgkRiwgMCk7CkBAIC01MDks
NiArNTA5LDcgQEAgc3ViIHByaW50Q3BwSGVhZAogICAgIHByaW50IEYgIiNlbmRpZlxuXG4iOwog
CiAgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCIke25zTmFtZX1OYW1lcy5oXCJcblxuIjsKKyAgICBw
cmludCBGICIjaW5jbHVkZSBcIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmhcIlxuIjsKICAgICBwcmlu
dCBGICIjaW5jbHVkZSA8d3RmL1N0YXRpY0NvbnN0cnVjdG9ycy5oPlxuIjsKIAogICAgIHByaW50
IEYgIm5hbWVzcGFjZSBXZWJDb3JlIHtcblxuIjsKQEAgLTYyMiwxMiArNjIzLDEyIEBAIHN1YiBw
cmludE5hbWVzQ3BwRmlsZQogICAgIAogICAgIG15ICRsb3dlck5hbWVzcGFjZSA9IGxjKCRwYXJh
bWV0ZXJze25hbWVzcGFjZVByZWZpeH0pOwogCi0gICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChB
dG9taWNTdHJpbmcsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJLCBcIiRwYXJhbWV0ZXJz
e25hbWVzcGFjZVVSSX1cIikiOworICAgIHByaW50IEYgIldFQkNPUkVfRVhQT1JUIERFRklORV9H
TE9CQUwoQXRvbWljU3RyaW5nLCAke2xvd2VyTmFtZXNwYWNlfU5hbWVzcGFjZVVSSSwgXCIkcGFy
YW1ldGVyc3tuYW1lc3BhY2VVUkl9XCIpIjsKIAogICAgIGlmIChrZXlzICVhbGxUYWdzKSB7CiAg
ICAgICAgIHByaW50IEYgIi8vIFRhZ3NcbiI7CiAgICAgICAgIGZvciBteSAkbmFtZSAoc29ydCBr
ZXlzICVhbGxUYWdzKSB7Ci0gICAgICAgICAgICBwcmludCBGICJERUZJTkVfR0xPQkFMKFF1YWxp
ZmllZE5hbWUsICIsICRuYW1lLCAiVGFnLCBudWxsQXRvbSwgXCIkbmFtZVwiLCAke2xvd2VyTmFt
ZXNwYWNlfU5hbWVzcGFjZVVSSSk7XG4iOworICAgICAgICAgICAgcHJpbnQgRiAiV0VCQ09SRV9F
WFBPUlQgREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIlRhZywgbnVsbEF0
b20sIFwiJG5hbWVcIiwgJHtsb3dlck5hbWVzcGFjZX1OYW1lc3BhY2VVUkkpO1xuIjsKICAgICAg
ICAgfQogICAgICAgICAKICAgICAgICAgcHJpbnQgRiAiXG5cbldlYkNvcmU6OlF1YWxpZmllZE5h
bWUqKiBnZXQkcGFyYW1ldGVyc3tuYW1lc3BhY2V9VGFncyhzaXplX3QqIHNpemUpXG4iOwpAQCAt
NjQ0LDcgKzY0NSw3IEBAIHN1YiBwcmludE5hbWVzQ3BwRmlsZQogICAgIGlmIChrZXlzICVhbGxB
dHRycykgewogICAgICAgICBwcmludCBGICJcbi8vIEF0dHJpYnV0ZXNcbiI7CiAgICAgICAgIGZv
ciBteSAkbmFtZSAoc29ydCBrZXlzICVhbGxBdHRycykgewotICAgICAgICAgICAgcHJpbnQgRiAi
REVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCAiLCAkbmFtZSwgIkF0dHIsIG51bGxBdG9tLCBc
IiRuYW1lXCIsICR7bG93ZXJOYW1lc3BhY2V9TmFtZXNwYWNlVVJJKTtcbiI7CisgICAgICAgICAg
ICBwcmludCBGICJXRUJDT1JFX0VYUE9SVCBERUZJTkVfR0xPQkFMKFF1YWxpZmllZE5hbWUsICIs
ICRuYW1lLCAiQXR0ciwgbnVsbEF0b20sIFwiJG5hbWVcIiwgJHtsb3dlck5hbWVzcGFjZX1OYW1l
c3BhY2VVUkkpO1xuIjsKICAgICAgICAgfQogICAgICAgICBwcmludCBGICJcblxuV2ViQ29yZTo6
UXVhbGlmaWVkTmFtZSoqIGdldCRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRycyhzaXplX3QqIHNp
emUpXG4iOwogICAgICAgICBwcmludCBGICJ7XG4gICAgc3RhdGljIFdlYkNvcmU6OlF1YWxpZmll
ZE5hbWUqICRwYXJhbWV0ZXJze25hbWVzcGFjZX1BdHRyW10gPSB7XG4iOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvTG9jYWxGaWxlU3lzdGVtLmgKaW5kZXggMjQ3YmIyY2RmOGJmMTAxODZiZDc2YmY3
ZDk1ZjQzNzAwYjkzZTQ1My4uYzNiODQ0ZGRlNWM0YWQ3ODc2MDY4MDA1ODY4YTM1ZTE5ZDc4MGRm
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9Mb2NhbEZpbGVTeXN0ZW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0xvY2FsRmlsZVN5c3RlbS5oCkBAIC0zNCw2ICsz
NCw3IEBACiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lz
dGVtLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgRmlsZVN5c3RlbUNhbGxiYWNr
OwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogLy8gS2VlcHMgcGVyLXByb2Nlc3Mg
aW5mb3JtYXRpb24gYW5kIHByb3ZpZGVzIGFuIGVudHJ5IHBvaW50IHRvIG9wZW4gYSBmaWxlIHN5
c3RlbS4KLWNsYXNzIExvY2FsRmlsZVN5c3RlbSB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBMb2Nh
bEZpbGVTeXN0ZW0gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExvY2FsRmlsZVN5c3RlbSk7
CiBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyBhIHBlci1wcm9jZXNzIGluc3RhbmNlIG9mIExvY2Fs
RmlsZVN5c3RlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9B
cHBsaWNhdGlvbkNhY2hlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0Fw
cGxpY2F0aW9uQ2FjaGVIb3N0LmgKaW5kZXggMDQ1NTZiZTk2Y2U4MjJjNzkxNGVmNDc3NzQxNDhl
MmFjNDM4OTdmMC4uNmEyODEyNWI5ZWQ3YjhlY2M5N2Q0ZDgwYWVlMDFiYmY4ODVmNDYzOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2FjaGVI
b3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0FwcGxpY2F0aW9uQ2Fj
aGVIb3N0LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgQXBwbGljYXRpb25DYWNoZUhvc3Rf
aAogCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgi
CiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC01Niw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTsKICNlbmRpZgogCi0gICAgY2xh
c3MgQXBwbGljYXRpb25DYWNoZUhvc3QgeworICAgIGNsYXNzIFdFQkNPUkVfRVhQT1JUIEFwcGxp
Y2F0aW9uQ2FjaGVIb3N0IHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQXBwbGljYXRp
b25DYWNoZUhvc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAg
ICAgIC8vIFRoZSBTdGF0dXMgbnVtZXJpYyB2YWx1ZXMgYXJlIHNwZWNpZmllZCBpbiB0aGUgSFRN
TDUgc3BlYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5
c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKaW5kZXgg
Nzc5MjEwMWM1MzBhMjFjMjY1Y2ZjNGI0NmEzNDZmYjkyMGM0MTI1My4uYjMyYThhODlhZWZkYWZm
NWY0NWIwOGY2YTgwMDg5NGM0NzY3MDEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5
bmNGaWxlU3lzdGVtLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoRklMRV9TWVNURU0p
CiAKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgQXN5bmNGaWxlU3lz
dGVtQ2FsbGJhY2tzOwogY2xhc3MgQXN5bmNGaWxlV3JpdGVyQ2xpZW50OwogCiAvLyBUaGlzIGNs
YXNzIHByb3ZpZGVzIGFzeW5jIGludGVyZmFjZSBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZSBz
eXN0ZW0gaW1wbGVtZW50YXRpb24uICBOb3RlIHRoYXQgYWxsIHRoZSBtZXRob2RzIHRha2UgcGxh
dGZvcm0gcGF0aHMuCi1jbGFzcyBBc3luY0ZpbGVTeXN0ZW0geworY2xhc3MgV0VCQ09SRV9FWFBP
UlQgQXN5bmNGaWxlU3lzdGVtIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShBc3luY0ZpbGVT
eXN0ZW0pOwogcHVibGljOgogICAgIHZpcnR1YWwgfkFzeW5jRmlsZVN5c3RlbSgpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCmluZGV4IDNlYmJlZjcyMmUz
Y2ViNTJjMDgwMGFiNmExNDE3ODZiOGE4YjBkYWEuLmEzOTgzZjc5MTdhOGIyNWVmZjE2MGQxYzgw
YWU2NjdkNTg2MzdmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2Fs
aXplZFN0cmluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJp
bmdzLmgKQEAgLTI3LDE4NiArMjcsMTg3IEBACiAjaWZuZGVmIExvY2FsaXplZFN0cmluZ3NfaAog
I2RlZmluZSBMb2NhbGl6ZWRTdHJpbmdzX2gKIAorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFj
cm9zLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgSW50U2l6ZTsKICAgICAKLSAgICBTdHJpbmcgaW5wdXRFbGVtZW50QWx0VGV4
dCgpOwotICAgIFN0cmluZyByZXNldEJ1dHRvbkRlZmF1bHRMYWJlbCgpOwotICAgIFN0cmluZyBz
ZWFyY2hhYmxlSW5kZXhJbnRyb2R1Y3Rpb24oKTsKLSAgICBTdHJpbmcgc3VibWl0QnV0dG9uRGVm
YXVsdExhYmVsKCk7Ci0gICAgU3RyaW5nIGZpbGVCdXR0b25DaG9vc2VGaWxlTGFiZWwoKTsKLSAg
ICBTdHJpbmcgZmlsZUJ1dHRvbkNob29zZU11bHRpcGxlRmlsZXNMYWJlbCgpOwotICAgIFN0cmlu
ZyBmaWxlQnV0dG9uTm9GaWxlU2VsZWN0ZWRMYWJlbCgpOwotICAgIFN0cmluZyBmaWxlQnV0dG9u
Tm9GaWxlc1NlbGVjdGVkTGFiZWwoKTsKLSAgICBTdHJpbmcgZGVmYXVsdERldGFpbHNTdW1tYXJ5
VGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBpbnB1dEVsZW1lbnRBbHRUZXh0KCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHJlc2V0QnV0dG9uRGVmYXVsdExhYmVsKCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlYXJjaGFibGVJbmRleEludHJvZHVjdGlvbigpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzdWJtaXRCdXR0b25EZWZhdWx0TGFiZWwoKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgZmlsZUJ1dHRvbkNob29zZUZpbGVMYWJlbCgpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBmaWxlQnV0dG9uQ2hvb3NlTXVsdGlwbGVGaWxlc0xhYmVs
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZpbGVCdXR0b25Ob0ZpbGVTZWxlY3RlZExh
YmVsKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGZpbGVCdXR0b25Ob0ZpbGVzU2VsZWN0
ZWRMYWJlbCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBkZWZhdWx0RGV0YWlsc1N1bW1h
cnlUZXh0KCk7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgU3RyaW5nIGNvcHlJbWFnZVVua25v
d25GaWxlTGFiZWwoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29weUltYWdlVW5rbm93
bkZpbGVMYWJlbCgpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJbk5ld1dpbmRvdygpOwotICAgIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdEb3dubG9hZExpbmtUb0Rpc2soKTsKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnQ29weUxpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdPcGVuSW1hZ2VJbk5ld1dpbmRvdygpOwotICAgIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0NvcHlJbWFnZVRvQ2xpcGJvYXJkKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3coKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNrKCk7CisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlMaW5rVG9DbGlwYm9hcmQo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkltYWdl
SW5OZXdXaW5kb3coKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnRG93bmxvYWRJbWFnZVRvRGlzaygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZCgpOwogI2lmIFBMQVRGT1JNKFFUKSB8
fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQoKTsKICNlbmRpZgot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdygpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDb3B5KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ0dvQmFjaygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQo
KTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3RvcCgpOwotICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdSZWxvYWQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ3V0
KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Bhc3RlKCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5GcmFtZUluTmV3V2luZG93KCk7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHkoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnR29CYWNrKCk7CisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0dvRm9yd2FyZCgpOworICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTdG9wKCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1JlbG9hZCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDdXQoKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUGFzdGUoKTsKICNpZiBQTEFURk9STShHVEspCi0g
ICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0RlbGV0ZSgpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdJbnB1dE1ldGhvZHMoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
VW5pY29kZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdE
ZWxldGUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSW5w
dXRNZXRob2RzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z1VuaWNvZGUoKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKEVGTCkKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbCgp
OwogI2VuZGlmCi0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ05vR3Vlc3Nlc0ZvdW5kKCk7
Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0lnbm9yZVNwZWxsaW5nKCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0xlYXJuU3BlbGxpbmcoKTsKLSAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnU2VhcmNoV2ViKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0xv
b2tVcEluRGljdGlvbmFyeShjb25zdCBTdHJpbmcmIHNlbGVjdGVkU3RyaW5nKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmsoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnSWdub3JlR3JhbW1hcigpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTcGVs
bGluZ01lbnUoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd1NwZWxsaW5nUGFu
ZWwoYm9vbCBzaG93KTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGlu
ZygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nV2hpbGVUeXBp
bmcoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2hlY2tHcmFtbWFyV2l0aFNwZWxs
aW5nKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0ZvbnRNZW51KCk7Ci0gICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0JvbGQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnSXRhbGljKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1VuZGVybGluZSgpOwot
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPdXRsaW5lKCk7Ci0gICAgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1RleHREaXJlY3Rpb25NZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0RlZmF1bHREaXJlY3Rpb24oKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTGVm
dFRvUmlnaHQoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnUmlnaHRUb0xlZnQoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91
bmQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnSWdub3Jl
U3BlbGxpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
TGVhcm5TcGVsbGluZygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdTZWFyY2hXZWIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5KGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRTdHJpbmcpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluaygpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVHcmFtbWFy
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5n
TWVudSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93
U3BlbGxpbmdQYW5lbChib29sIHNob3cpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdDaGVja1NwZWxsaW5nKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmdXaGlsZVR5cGluZygpOworICAgIFdFQkNP
UkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGVja0dyYW1tYXJXaXRoU3BlbGxp
bmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRm9udE1l
bnUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQm9sZCgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdJdGFsaWMoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVW5kZXJsaW5lKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ091dGxpbmUoKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnV3JpdGluZ0RpcmVj
dGlvbk1lbnUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
VGV4dERpcmVjdGlvbk1lbnUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdMZWZ0VG9SaWdodCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdSaWdodFRvTGVmdCgpOwogI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzKCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1N0eWxlcygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTaG93Q29sb3Jz
KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1NwZWVjaE1lbnUoKTsKLSAgICBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU3RhcnRTcGVha2luZygpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
Q29ycmVjdFNwZWxsaW5nQXV0b21hdGljYWxseSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdTdWJzdGl0dXRpb25zTWVudSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdT
aG93U3Vic3RpdHV0aW9ucyhib29sIHNob3cpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdTbWFydENvcHlQYXN0ZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydFF1
b3RlcygpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydERhc2hlcygpOwotICAg
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdTbWFydExpbmtzKCk7Ci0gICAgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ1RleHRSZXBsYWNlbWVudCgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdUcmFuc2Zvcm1hdGlvbnNNZW51KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z01ha2VVcHBlckNhc2UoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWFrZUxvd2Vy
Q2FzZSgpOwotICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDYXBpdGFsaXplKCk7Ci0gICAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NoYW5nZUJhY2soY29uc3QgU3RyaW5nJiByZXBsYWNl
ZFN0cmluZyk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1Nl
YXJjaEluU3BvdGxpZ2h0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ1Nob3dGb250cygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdTdHlsZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnU2hvd0NvbG9ycygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdTcGVlY2hNZW51KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ1N0YXJ0U3BlYWtpbmcoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnU3RvcFNwZWFraW5nKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0NvcnJlY3RTcGVsbGluZ0F1dG9tYXRpY2FsbHkoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU3Vic3RpdHV0aW9uc01lbnUo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnU2hvd1N1YnN0
aXR1dGlvbnMoYm9vbCBzaG93KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnU21hcnRDb3B5UGFzdGUoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnU21hcnRRdW90ZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnU21hcnREYXNoZXMoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnU21hcnRMaW5rcygpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUZXh0UmVwbGFjZW1lbnQoKTsKKyAgICBXRUJDT1JFX0VY
UE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVHJhbnNmb3JtYXRpb25zTWVudSgpOworICAg
IFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNYWtlVXBwZXJDYXNlKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01ha2VMb3dlckNh
c2UoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnQ2FwaXRh
bGl6ZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdDaGFu
Z2VCYWNrKGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcpOwogI2VuZGlmCi0gICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ09wZW5WaWRlb0luTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ09wZW5BdWRpb0luTmV3V2luZG93KCk7Ci0gICAgU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ0NvcHlWaWRlb0xpbmtUb0NsaXBib2FyZCgpOwotICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdDb3B5QXVkaW9MaW5rVG9DbGlwYm9hcmQoKTsKLSAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOwotICAgIFN0cmluZyBjb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKTsKLSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
TWVkaWFQbGF5KCk7Ci0gICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKTsK
LSAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7Ci0gICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0luc3BlY3RFbGVtZW50KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5WaWRlb0luTmV3V2luZG93KCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ09wZW5BdWRpb0luTmV3V2luZG93KCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0NvcHlWaWRlb0xp
bmtUb0NsaXBib2FyZCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdDb3B5QXVkaW9MaW5rVG9DbGlwYm9hcmQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3Jl
ZW4oKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlh
UGF1c2UoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVk
aWFNdXRlKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0lu
c3BlY3RFbGVtZW50KCk7CiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAKLSAgICBT
dHJpbmcgc2VhcmNoTWVudU5vUmVjZW50U2VhcmNoZXNUZXh0KCk7Ci0gICAgU3RyaW5nIHNlYXJj
aE1lbnVSZWNlbnRTZWFyY2hlc1RleHQoKTsKLSAgICBTdHJpbmcgc2VhcmNoTWVudUNsZWFyUmVj
ZW50U2VhcmNoZXNUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlYXJjaE1lbnVO
b1JlY2VudFNlYXJjaGVzVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZWFyY2hN
ZW51UmVjZW50U2VhcmNoZXNUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHNlYXJj
aE1lbnVDbGVhclJlY2VudFNlYXJjaGVzVGV4dCgpOwogCi0gICAgU3RyaW5nIEFYV2ViQXJlYVRl
eHQoKTsKLSAgICBTdHJpbmcgQVhMaW5rVGV4dCgpOwotICAgIFN0cmluZyBBWExpc3RNYXJrZXJU
ZXh0KCk7Ci0gICAgU3RyaW5nIEFYSW1hZ2VNYXBUZXh0KCk7Ci0gICAgU3RyaW5nIEFYSGVhZGlu
Z1RleHQoKTsKLSAgICBTdHJpbmcgQVhEZWZpbml0aW9uTGlzdFRlcm1UZXh0KCk7Ci0gICAgU3Ry
aW5nIEFYRGVmaW5pdGlvbkxpc3REZWZpbml0aW9uVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBBWFdlYkFyZWFUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIEFYTGlu
a1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhMaXN0TWFya2VyVGV4dCgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBBWEltYWdlTWFwVGV4dCgpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBBWEhlYWRpbmdUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IEFYRGVmaW5pdGlvbkxpc3RUZXJtVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBB
WERlZmluaXRpb25MaXN0RGVmaW5pdGlvblRleHQoKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICBTdHJpbmcgQVhBUklBQ29udGVudEdyb3VwVGV4dChjb25zdCBTdHJpbmcmIGFyaWFUeXBlKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhBUklBQ29udGVudEdyb3VwVGV4dChjb25zdCBT
dHJpbmcmIGFyaWFUeXBlKTsKICNlbmRpZgogICAgIAotICAgIFN0cmluZyBBWEJ1dHRvbkFjdGlv
blZlcmIoKTsKLSAgICBTdHJpbmcgQVhSYWRpb0J1dHRvbkFjdGlvblZlcmIoKTsKLSAgICBTdHJp
bmcgQVhUZXh0RmllbGRBY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYQ2hlY2tlZENoZWNrQm94
QWN0aW9uVmVyYigpOwotICAgIFN0cmluZyBBWFVuY2hlY2tlZENoZWNrQm94QWN0aW9uVmVyYigp
OwotICAgIFN0cmluZyBBWE1lbnVMaXN0QWN0aW9uVmVyYigpOwotICAgIFN0cmluZyBBWE1lbnVM
aXN0UG9wdXBBY3Rpb25WZXJiKCk7Ci0gICAgU3RyaW5nIEFYTGlua0FjdGlvblZlcmIoKTsKLQot
ICAgIFN0cmluZyBtaXNzaW5nUGx1Z2luVGV4dCgpOwotICAgIFN0cmluZyBjcmFzaGVkUGx1Z2lu
VGV4dCgpOwotICAgIFN0cmluZyBtdWx0aXBsZUZpbGVVcGxvYWRUZXh0KHVuc2lnbmVkIG51bWJl
ck9mRmlsZXMpOwotICAgIFN0cmluZyB1bmtub3duRmlsZVNpemVUZXh0KCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIEFYQnV0dG9uQWN0aW9uVmVyYigpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBBWFJhZGlvQnV0dG9uQWN0aW9uVmVyYigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyBBWFRleHRGaWVsZEFjdGlvblZlcmIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
QVhDaGVja2VkQ2hlY2tCb3hBY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5n
IEFYVW5jaGVja2VkQ2hlY2tCb3hBY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIEFYTWVudUxpc3RBY3Rpb25WZXJiKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIEFY
TWVudUxpc3RQb3B1cEFjdGlvblZlcmIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgQVhM
aW5rQWN0aW9uVmVyYigpOworCisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIG1pc3NpbmdQbHVn
aW5UZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGNyYXNoZWRQbHVnaW5UZXh0KCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIG11bHRpcGxlRmlsZVVwbG9hZFRleHQodW5zaWdu
ZWQgbnVtYmVyT2ZGaWxlcyk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHVua25vd25GaWxl
U2l6ZVRleHQoKTsKIAogI2lmIFBMQVRGT1JNKFdJTikKLSAgICBTdHJpbmcgdXBsb2FkRmlsZVRl
eHQoKTsKLSAgICBTdHJpbmcgYWxsRmlsZXNUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHVwbG9hZEZpbGVUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGFsbEZpbGVz
VGV4dCgpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgU3RyaW5nIGJ1aWx0SW5Q
REZQbHVnaW5OYW1lKCk7Ci0gICAgU3RyaW5nIHBkZkRvY3VtZW50VHlwZURlc2NyaXB0aW9uKCk7
Ci0gICAgU3RyaW5nIGtleWdlbk1lbnVJdGVtNTEyKCk7Ci0gICAgU3RyaW5nIGtleWdlbk1lbnVJ
dGVtMTAyNCgpOwotICAgIFN0cmluZyBrZXlnZW5NZW51SXRlbTIwNDgoKTsKLSAgICBTdHJpbmcg
a2V5Z2VuS2V5Y2hhaW5JdGVtTmFtZShjb25zdCBTdHJpbmcmIGhvc3QpOworICAgIFdFQkNPUkVf
RVhQT1JUIFN0cmluZyBidWlsdEluUERGUGx1Z2luTmFtZSgpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBwZGZEb2N1bWVudFR5cGVEZXNjcmlwdGlvbigpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyBrZXlnZW5NZW51SXRlbTUxMigpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBr
ZXlnZW5NZW51SXRlbTEwMjQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcga2V5Z2VuTWVu
dUl0ZW0yMDQ4KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGtleWdlbktleWNoYWluSXRl
bU5hbWUoY29uc3QgU3RyaW5nJiBob3N0KTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQot
ICAgIFN0cmluZyBodG1sU2VsZWN0TXVsdGlwbGVJdGVtcyhzaXplX3QgbnVtKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBTdHJpbmcgaHRtbFNlbGVjdE11bHRpcGxlSXRlbXMoc2l6ZV90IG51bSk7CiAj
ZW5kaWYKIAotICAgIFN0cmluZyBpbWFnZVRpdGxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNv
bnN0IEludFNpemUmIHNpemUpOwotCi0gICAgU3RyaW5nIG1lZGlhRWxlbWVudExvYWRpbmdTdGF0
ZVRleHQoKTsKLSAgICBTdHJpbmcgbWVkaWFFbGVtZW50TGl2ZUJyb2FkY2FzdFN0YXRlVGV4dCgp
OwotICAgIFN0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50U3RyaW5nKGNvbnN0IFN0
cmluZyYpOwotICAgIFN0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50SGVscFRleHQo
Y29uc3QgU3RyaW5nJik7Ci0gICAgU3RyaW5nIGxvY2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9u
KGZsb2F0KTsKLQotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1RleHQo
KTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JDaGVja2JveFRl
eHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4
dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxl
RmlsZVRleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JS
YWRpb1RleHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JT
ZWxlY3RUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4
dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvckVtYWlsVGV4
dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvck11bHRpcGxl
RW1haWxUZXh0KCk7Ci0gICAgU3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoRm9y
VVJMVGV4dCgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVBhdHRlcm5NaXNtYXRjaFRl
eHQoKTsKLSAgICBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUb29Mb25nVGV4dChpbnQgdmFsdWVM
ZW5ndGgsIGludCBtYXhMZW5ndGgpOwotICAgIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVJhbmdl
VW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOwotICAgIFN0cmluZyB2YWxpZGF0
aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNvbnN0IFN0cmluZyYgbWF4aW11bSk7Ci0gICAg
U3RyaW5nIHZhbGlkYXRpb25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJh
c2UsIGNvbnN0IFN0cmluZyYgc3RlcCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGltYWdl
VGl0bGUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgSW50U2l6ZSYpOworCisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nIG1lZGlhRWxlbWVudExvYWRpbmdTdGF0ZVRleHQoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBTdHJpbmcgbWVkaWFFbGVtZW50TGl2ZUJyb2FkY2FzdFN0YXRlVGV4dCgp
OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBsb2NhbGl6ZWRNZWRpYUNvbnRyb2xFbGVtZW50
U3RyaW5nKGNvbnN0IFN0cmluZyYpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBsb2NhbGl6
ZWRNZWRpYUNvbnRyb2xFbGVtZW50SGVscFRleHQoY29uc3QgU3RyaW5nJik7CisgICAgV0VCQ09S
RV9FWFBPUlQgU3RyaW5nIGxvY2FsaXplZE1lZGlhVGltZURlc2NyaXB0aW9uKGZsb2F0KTsKKwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ1Rl
eHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1p
c3NpbmdGb3JDaGVja2JveFRleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRh
dGlvbk1lc3NhZ2VWYWx1ZU1pc3NpbmdGb3JGaWxlVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JU
IFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVZhbHVlTWlzc2luZ0Zvck11bHRpcGxlRmlsZVRleHQo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VWYWx1ZU1pc3Np
bmdGb3JSYWRpb1RleHQoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1l
c3NhZ2VWYWx1ZU1pc3NpbmdGb3JTZWxlY3RUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHZhbGlkYXRpb25NZXNzYWdlVHlwZU1pc21hdGNoVGV4dCgpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZvckVtYWlsVGV4dCgpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVR5cGVNaXNtYXRjaEZv
ck11bHRpcGxlRW1haWxUZXh0KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRp
b25NZXNzYWdlVHlwZU1pc21hdGNoRm9yVVJMVGV4dCgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0
cmluZyB2YWxpZGF0aW9uTWVzc2FnZVBhdHRlcm5NaXNtYXRjaFRleHQoKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgdmFsaWRhdGlvbk1lc3NhZ2VUb29Mb25nVGV4dChpbnQgdmFsdWVMZW5n
dGgsIGludCBtYXhMZW5ndGgpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9u
TWVzc2FnZVJhbmdlVW5kZXJmbG93VGV4dChjb25zdCBTdHJpbmcmIG1pbmltdW0pOworICAgIFdF
QkNPUkVfRVhQT1JUIFN0cmluZyB2YWxpZGF0aW9uTWVzc2FnZVJhbmdlT3ZlcmZsb3dUZXh0KGNv
bnN0IFN0cmluZyYgbWF4aW11bSk7CisgICAgV0VCQ09SRV9FWFBPUlQgU3RyaW5nIHZhbGlkYXRp
b25NZXNzYWdlU3RlcE1pc21hdGNoVGV4dChjb25zdCBTdHJpbmcmIGJhc2UsIGNvbnN0IFN0cmlu
ZyYgc3RlcCk7CiAKICNpZiAhUExBVEZPUk0oQ0hST01JVU0pCiAjZGVmaW5lIFdFQl9VSV9TVFJJ
Tkcoc3RyaW5nLCBkZXNjcmlwdGlvbikgV2ViQ29yZTo6bG9jYWxpemVkU3RyaW5nKHN0cmluZykK
ICNkZWZpbmUgV0VCX1VJX1NUUklOR19LRVkoc3RyaW5nLCBrZXksIGRlc2NyaXB0aW9uKSBXZWJD
b3JlOjpsb2NhbGl6ZWRTdHJpbmcoa2V5KQogCi0gICAgU3RyaW5nIGxvY2FsaXplZFN0cmluZyhj
b25zdCBjaGFyKiBrZXkpOworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBsb2NhbGl6ZWRTdHJp
bmcoY29uc3QgY2hhcioga2V5KTsKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUV4cG9ydE1hY3Jvcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1FeHBvcnRNYWNyb3MuaAppbmRleCA2
YzcwODEzYWRlMjJkOTUyZjkzOGNhOWQzMjFlMmFjOTU4YjA3ODMzLi4xNzZiZTA2MzBiYWFlNjM5
MmQyNDViMWJhYzQ3MDVlOTAwZTdiOWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtRXhwb3J0TWFjcm9zLmgKQEAgLTM2LDkgKzM2LDkgQEAKICNpZiBVU0UoRVhQT1JU
X01BQ1JPUykKIAogI2lmIGRlZmluZWQoQlVJTERJTkdfV2ViQ29yZSkgfHwgZGVmaW5lZChCVUlM
RElOR19XZWJLaXQpCi0jZGVmaW5lIFdFQktJVF9FWFBPUlREQVRBIFdURl9FWFBPUlQKKyNkZWZp
bmUgV0VCQ09SRV9FWFBPUlQgV1RGX0VYUE9SVAogI2Vsc2UKLSNkZWZpbmUgV0VCS0lUX0VYUE9S
VERBVEEgV1RGX0lNUE9SVAorI2RlZmluZSBXRUJDT1JFX0VYUE9SVCBXVEZfSU1QT1JUCiAjZW5k
aWYKIAogI2Vsc2UgLy8gIVVTRShFWFBPUlRfTUFDUk9TKQpAQCAtNDYsMTQgKzQ2LDE0IEBACiAj
aWYgIVBMQVRGT1JNKENIUk9NSVVNKSAmJiBPUyhXSU5ET1dTKSAmJiAhZGVmaW5lZChCVUlMRElO
R19XWF9fKSAmJiAhQ09NUElMRVIoR0NDKQogCiAjaWYgZGVmaW5lZChCVUlMRElOR19XZWJDb3Jl
KSB8fCBkZWZpbmVkKEJVSUxESU5HX1dlYktpdCkKLSNkZWZpbmUgV0VCS0lUX0VYUE9SVERBVEEg
X19kZWNsc3BlYyhkbGxleHBvcnQpCisjZGVmaW5lIFdFQkNPUkVfRVhQT1JUIF9fZGVjbHNwZWMo
ZGxsZXhwb3J0KQogI2Vsc2UKLSNkZWZpbmUgV0VCS0lUX0VYUE9SVERBVEEgX19kZWNsc3BlYyhk
bGxpbXBvcnQpCisjZGVmaW5lIFdFQkNPUkVfRVhQT1JUIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQog
I2VuZGlmCiAKICNlbHNlIC8vICFQTEFURk9STS4uLgogCi0jZGVmaW5lIFdFQktJVF9FWFBPUlRE
QVRBCisjZGVmaW5lIFdFQkNPUkVfRVhQT1JUCiAKICNlbmRpZiAvLyAhUExBVEZPUk0uLi4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCmluZGV4IGYyY2YyNzE5MjMxYWZkNDIwOGJhMWIwNmQ0
ZmMzYTAyMmIyMjA1Y2QuLmUzOWUyZDU1ZDljZmJkMzhjMDgwNzYxYzAwOWY3MzljMjZiZmM5NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKQEAgLTM1MCw0ICszNTAsMyBAQCB2b2lkIFRp
bWVyQmFzZTo6ZmlyZVRpbWVyc0luTmVzdGVkRXZlbnRMb29wKCkKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuaAppbmRleCA2MzdiYmMwNTUzZTU1Yzg0
YTAzZGMxNGI1MGJiMDQ5NzZlY2VhMDkxLi40NzQwNzRlYmQ5ZDcyZjI4ZDExMmNiZTU5YTZkNDdh
ZWQzNjc2MGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmgKQEAgLTI2LDYgKzI2LDggQEAKICNp
Zm5kZWYgVGltZXJfaAogI2RlZmluZSBUaW1lcl9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9y
dE1hY3Jvcy5oIgorCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgogCkBAIC0zNSw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgVGltZXJIZWFwRWxlbWVudDsKIAotY2xhc3MgVGltZXJCYXNlIHsKK2NsYXNzIFdFQkNP
UkVfRVhQT1JUIFRpbWVyQmFzZSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGltZXJCYXNl
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgVGltZXJCYXNlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb0Rlc3RpbmF0aW9uLmgKaW5k
ZXggNzU4ODJjMGE2MzVmZjNmODc3NGM1MjljNzQwNGYxZGVkMWQ1M2MzMy4uNWE5OTU3ZmYzY2Zh
MGJhMjkzMDNkOGFlNWFiYWRjNDkxNzJhYjJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9EZXN0aW5hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvRGVzdGluYXRpb24uaApAQCAtMjksNiArMjksNyBAQAogI2lmbmRl
ZiBBdWRpb0Rlc3RpbmF0aW9uX2gKICNkZWZpbmUgQXVkaW9EZXN0aW5hdGlvbl9oCiAKKyNpbmNs
dWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkBAIC0zOSw3ICs0MCw3IEBAIGNsYXNzIEF1ZGlv
U291cmNlUHJvdmlkZXI7CiAvLyBBYnN0cmFjdGlvbiBmb3IgYW4gYXVkaW8gb3V0cHV0IHRvIHRo
ZSBhdWRpbyBoYXJkd2FyZQogLy8gQW4gQXVkaW9Tb3VyY2VQcm92aWRlciBpcyBjYWxsZWQgYmFj
ayBwZXJpb2RpY2FsbHkgdG8gcHJvdmlkZSB0aGUgcmVuZGVyZWQgYXVkaW8gc3RyZWFtLgogCi1j
bGFzcyBBdWRpb0Rlc3RpbmF0aW9uIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEF1ZGlvRGVzdGlu
YXRpb24gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEF1ZGlvRGVzdGluYXRpb24+
IGNyZWF0ZShBdWRpb1NvdXJjZVByb3ZpZGVyJiwgZmxvYXQgc2FtcGxlUmF0ZSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKaW5k
ZXggMTI4ZDJhM2U5ODgzY2QyYWI2Yjg0NTgwYzA2ZTJkYWZjMGU2MDMyZS4uNGYwYWZkMTI1MDQ4
NzE2ZGQwYjgzYWU1NWQ2MjNmNjg1ZDllNGQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKQEAgLTQwLDYgKzQwLDcgQEAKICNp
bmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIlBhc3NSZWZQdHIuaCIKICNpbmNsdWRlICJQ
YXN0ZWJvYXJkUHJpdmF0ZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgiCiAj
aW5jbHVkZSAiUGx1Z2luRGF0YS5oIgogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTkx
LDcgKzkyLDcgQEAgc3RydWN0IEZvbnRSZW5kZXJTdHlsZTsKIC8vIHN1cHBseSBpbXBsZW1lbnRh
dGlvbnMgZm9yIFBsYXRmb3JtIGZ1bmN0aW9uYWxpdHkgdGhhdCBXZWJDb3JlIGNhbm5vdCBhY2Nl
c3MKIC8vIGRpcmVjdGx5IChmb3IgZXhhbXBsZSwgYmVjYXVzZSBXZWJDb3JlIGlzIGluIGEgc2Fu
ZGJveCkuCiAKLWNsYXNzIFBsYXRmb3JtU3VwcG9ydCB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBQ
bGF0Zm9ybVN1cHBvcnQgewogcHVibGljOgogICAgIC8vIENhY2hlIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgc3RhdGlj
IHZvaWQgY2FjaGVNZXRhZGF0YShjb25zdCBLVVJMJiwgZG91YmxlIHJlc3BvbnNlVGltZSwgY29u
c3QgVmVjdG9yPGNoYXI+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA0NTVmZmUyYmNiOTBlYWM5YjkwMTRlNGYx
ODVkZWU3Mzk0NzYxYTI5Li5lMWQyNzcyYTJjOTIxMmVkNjY4Y2E5NWY5MDMwNGUzMjljYWJjNmJh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMzRC5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0SGFzaFNldC5o
PgpAQCAtMTE5LDcgKzEyMCw3IEBAIHN0cnVjdCBBY3RpdmVJbmZvIHsKIAogY2xhc3MgR3JhcGhp
Y3NDb250ZXh0M0RQcml2YXRlOwogCi1jbGFzcyBHcmFwaGljc0NvbnRleHQzRCA6IHB1YmxpYyBS
ZWZDb3VudGVkPEdyYXBoaWNzQ29udGV4dDNEPiB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBHcmFw
aGljc0NvbnRleHQzRCA6IHB1YmxpYyBSZWZDb3VudGVkPEdyYXBoaWNzQ29udGV4dDNEPiB7CiBw
dWJsaWM6CiAgICAgZW51bSB7CiAgICAgICAgIERFUFRIX0JVRkZFUl9CSVQgPSAweDAwMDAwMTAw
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
RXh0ZW5zaW9uczNEQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0V4dGVuc2lvbnMzRENocm9taXVtLmgKaW5kZXggNTMzMjJmMGYyNWVkNDA3YTI1
ZTZiNjIzMjdlODcxMjg5ZDE4YmQ1YS4uMzE1ZDIyZjc5NDIxZjRmNmJmMTlmYzI5M2Y5ZWUyMjI0
N2JiYjM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRXh0ZW5zaW9uczNEQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCkBAIC0yNywxMyArMjcs
MTQgQEAKICNkZWZpbmUgRXh0ZW5zaW9uczNEQ2hyb21pdW1faAogCiAjaW5jbHVkZSAiRXh0ZW5z
aW9uczNELmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU7CiBjbGFzcyBJbWFn
ZUJ1ZmZlcjsKIAotY2xhc3MgRXh0ZW5zaW9uczNEQ2hyb21pdW0gOiBwdWJsaWMgRXh0ZW5zaW9u
czNEIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEV4dGVuc2lvbnMzRENocm9taXVtIDogcHVibGlj
IEV4dGVuc2lvbnMzRCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+RXh0ZW5zaW9uczNEQ2hyb21p
dW0oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL01lZGlhUGxheWVyUHJpdmF0ZUNocm9taXVtLmgKaW5kZXgg
NTM0MjQ0ZDc2YWRjYTQ4M2UxZDVmNDczNmJmZjg4MjJlODZkMDI5NC4uZTlkNDcwNzE5OWUwMDQ2
MmQzM2IyMzI3ZDMwNDRjNjhkMjZhM2NhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTWVkaWFQbGF5ZXJQcml2YXRlQ2hyb21pdW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9NZWRpYVBsYXllclBy
aXZhdGVDaHJvbWl1bS5oCkBAIC0zNCwxMCArMzQsMTEgQEAKICNpZiBFTkFCTEUoVklERU8pCiAK
ICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9y
dE1hY3Jvcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUGxheWVyUHJp
dmF0ZSB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBNZWRpYVBsYXllclByaXZhdGUgewogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3Ry
YXIpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDSW5wdXRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oCmluZGV4IDMzNzIxZjFkZmM3MGM0NjU3
MjQ3ZDY3ODFmZTk2OWYxYTIwYjg5ZDcuLmEwYjBmMDZiNjRiM2I1OTVmNjExYzk2YWQ4MDEyNmEz
NWVjMmZiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDSW5wdXRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaApAQCAtMjQsNiArMjQsNyBAQAog
I2lmbmRlZiBDQ0lucHV0SGFuZGxlcl9oCiAjZGVmaW5lIENDSW5wdXRIYW5kbGVyX2gKIAorI2lu
Y2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgiCiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxl
Lmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApAQCAtNDAsNyArNDEsNyBAQCBjbGFz
cyBJbnRTaXplOwogLy8KIC8vIFRoZSBDQ0lucHV0SGFuZGxlciBpcyBjb25zdHJ1Y3RlZCB3aXRo
IGFuIElucHV0SGFuZGxlckNsaWVudCwgd2hpY2ggaXMgdGhlCiAvLyBpbnRlcmZhY2UgYnkgd2hp
Y2ggdGhlIGhhbmRsZXIgY2FuIG1hbmlwdWxhdGUgdGhlIExheWVyVHJlZS4KLWNsYXNzIENDSW5w
dXRIYW5kbGVyQ2xpZW50IHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIENDSW5wdXRIYW5kbGVyQ2xp
ZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlckNsaWVudCk7CiBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzUmVkcmF3KCkgPSAwOwpAQCAtODAsNyAr
ODEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q0NJbnB1dEhhbmRsZXJDbGllbnQoKSB7
IH0KIH07CiAKLWNsYXNzIENDSW5wdXRIYW5kbGVyIHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIEND
SW5wdXRIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlcik7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NJbnB1dEhhbmRsZXI+IGNyZWF0ZShD
Q0lucHV0SGFuZGxlckNsaWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcAppbmRleCA5ZWJiNzFkYzdkMzQx
YTI3OWI3YTdmNjQ3ZGJhNWVkZjE4NDMwYjdiLi41NTQzMzRmNWI1OGY3MTU3YjE2N2E5NTZjZmFl
YWUyNmI2MTIwODdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmNwcApAQCAtMzcsMTEgKzM3LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKICNpZm5kZWYgTkRFQlVHCi1ib29sIGltcGxU
aHJlYWRJc092ZXJyaWRkZW4gPSBmYWxzZTsKLVRocmVhZElkZW50aWZpZXIgdGhyZWFkSURPdmVy
cmlkZW5Ub0JlSW1wbFRocmVhZDsKK1dFQkNPUkVfRVhQT1JUIGJvb2wgaW1wbFRocmVhZElzT3Zl
cnJpZGRlbiA9IGZhbHNlOworV0VCQ09SRV9FWFBPUlQgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJ
RE92ZXJyaWRlblRvQmVJbXBsVGhyZWFkOwogI2VuZGlmCi1DQ1RocmVhZCogc19tYWluVGhyZWFk
ID0gMDsKLUNDVGhyZWFkKiBzX2ltcGxUaHJlYWQgPSAwOworV0VCQ09SRV9FWFBPUlQgQ0NUaHJl
YWQqIHNfbWFpblRocmVhZCA9IDA7CitXRUJDT1JFX0VYUE9SVCBDQ1RocmVhZCogc19pbXBsVGhy
ZWFkID0gMDsKIH0KIAogdm9pZCBDQ1Byb3h5OjpzZXRNYWluVGhyZWFkKENDVGhyZWFkKiB0aHJl
YWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Byb3h5LmgKaW5kZXggMDE2MjI2Y2E1MTIwMTMxZmNmZTNmYzEzMzE5YWM3MTYwODc2
NzU5Yi4uZGE4ZGY2MmFiYWZkZDZhMjgxNjZiNWJmNjU1MTFiZjUyZjVjMTdhNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJv
eHkuaApAQCAtMjYsNiArMjYsNyBAQAogI2RlZmluZSBDQ1Byb3h5X2gKIAogI2luY2x1ZGUgIklu
dFJlY3QuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgPHd0
Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQ0LDcgQEAgY2xhc3MgVGV4dHVyZU1hbmFnZXI7
CiAKIC8vIEFic3RyYWN0IGNsYXNzIHJlc3BvbnNpYmxlIGZvciBwcm94eWluZyBjb21tYW5kcyBm
cm9tIHRoZSBtYWluLXRocmVhZCBzaWRlIG9mCiAvLyB0aGUgY29tcG9zaXRvciBvdmVyIHRvIHRo
ZSBjb21wb3NpdG9yIGltcGxlbWVudGF0aW9uLgotY2xhc3MgQ0NQcm94eSB7CitjbGFzcyBXRUJD
T1JFX0VYUE9SVCBDQ1Byb3h5IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ1Byb3h5KTsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBzZXRNYWluVGhyZWFkKENDVGhyZWFkKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNl
bnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1D
ZW50ZXIuaAppbmRleCBhMzdkNjZhMjZjNzY1MWJjZGJhMWM3Yzg3ZmM0YzJhYzBhOGY2MTg5Li4z
ZDg4ZDI3NzUzMDlkY2RhMDU3YjQ2MzhmNzNjM2VkNGEyNTMyZmY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ2VudGVyLmgK
QEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAi
TWVkaWFTdHJlYW1Tb3VyY2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgog
I2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTcsNyAr
NTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZENvbXBsZXRlUXVlcnkoY29uc3Qg
TWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1T
b3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykgPSAwOwogfTsKIAotY2xhc3MgTWVkaWFTdHJlYW1D
ZW50ZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgTWVkaWFTdHJlYW1DZW50ZXIgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKE1lZGlhU3RyZWFtQ2VudGVyKTsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uSGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKaW5kZXggZmEyMmNmNGM3
Y2E0MjgwNTUyOTkzZTQyM2VhYmVjZDg3M2RmMWFjNS4uZDk3NmU3NWYwMTNlNDYwMDFhMjM4NmI0
OTUwMmJiZWExZTZmYTViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25IYW5kbGVyLmgKQEAgLTM0LDYgKzM0LDcg
QEAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1EZXNj
cmlwdG9yLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1FeHBvcnRNYWNyb3MuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
UGFzc1JlZlB0ci5oPgpAQCAtNDYsNyArNDcsNyBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRs
ZXJDbGllbnQ7CiBjbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXJJbnRlcm5hbDsKICNlbmRpZgog
Ci1jbGFzcyBQZWVyQ29ubmVjdGlvbkhhbmRsZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgUGVl
ckNvbm5lY3Rpb25IYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyQ29ubmVj
dGlvbkhhbmRsZXIpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlZ2lzdHJ5LmgKaW5kZXggNTI4
NGE5YjBkNjAwZWM0ODgwOWVmNmJlNjY3NWViZWRmYTBhYTY0ZC4uNzQ1MGMzOWU5ZTI0NDk5YThk
ODljODliZDc0ZWRjMjNkYjQ0YjhlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9CbG9iUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JSZWdpc3RyeS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIEJsb2JSZWdp
c3RyeV9oCiAjZGVmaW5lIEJsb2JSZWdpc3RyeV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9y
dE1hY3Jvcy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00Nyw3ICs0OCw3IEBAIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIC8vIFJldHVy
bnMgYSBzaW5nbGUgaW5zdGFuY2Ugb2YgQmxvYlJlZ2lzdHJ5LgotQmxvYlJlZ2lzdHJ5JiBibG9i
UmVnaXN0cnkoKTsgCitXRUJDT1JFX0VYUE9SVCBCbG9iUmVnaXN0cnkmIGJsb2JSZWdpc3RyeSgp
OyAKIAogLy8gQmxvYlJlZ2lzdHJ5IGlzIG5vdCB0aHJlYWQtc2FmZS4gSXQgc2hvdWxkIG9ubHkg
YmUgY2FsbGVkIGZyb20gbWFpbiB0aHJlYWQuCiBjbGFzcyBCbG9iUmVnaXN0cnkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IDg2
MjZlMDllODNjNTRiMjk0NmEzODg1NjFkNzM3ZDNmZGNiMWRhZDQuLjU0NTMyYzYxNWZlZjBmMDRj
N2YyMDc3ZjE3YTcyMzVlMDAyYjA4MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJB
dXRoZW50aWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNs
dWRlICJOZXR3b3JraW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9z
LmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgogCiAjaWYgVVNFKFNPVVApCkBAIC05NSw3ICs5
Niw3IEBAIGVudW0gU3RvcmVkQ3JlZGVudGlhbHMgewogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
Y2xhc3MgVGltZXI7CiAKLWNsYXNzIFJlc291cmNlSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8
UmVzb3VyY2VIYW5kbGU+CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBSZXNvdXJjZUhhbmRsZSA6IHB1
YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPgogI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNF
KENGTkVUV09SSykgfHwgVVNFKENVUkwpCiAgICAgLCBwdWJsaWMgQXV0aGVudGljYXRpb25DbGll
bnQKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
aHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY2hyb21pdW0vU29ja2V0U3RyZWFtSGFuZGxlLmgKaW5kZXggNmUwMjE0ZDI0YmM4MmI2
NjU1N2Q2NGJkNGU3OTE5NmViMjBkZjdhZi4uN2JjM2M5ZDc5OWZjODI0ZGJmZGU5NmMzNzE3OGQ0
MWVlYmFkNzFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
aHJvbWl1bS9Tb2NrZXRTdHJlYW1IYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2Nocm9taXVtL1NvY2tldFN0cmVhbUhhbmRsZS5oCkBAIC0zMiw2ICszMiw3IEBA
CiAjaWZuZGVmIFNvY2tldFN0cmVhbUhhbmRsZV9oCiAjZGVmaW5lIFNvY2tldFN0cmVhbUhhbmRs
ZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgIlNvY2tl
dFN0cmVhbUhhbmRsZUJhc2UuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00
NCw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTb2NrZXRTdHJlYW1I
YW5kbGVDbGllbnQ7CiAgICAgY2xhc3MgU29ja2V0U3RyZWFtSGFuZGxlSW50ZXJuYWw7CiAKLSAg
ICBjbGFzcyBTb2NrZXRTdHJlYW1IYW5kbGUgOiBwdWJsaWMgUmVmQ291bnRlZDxTb2NrZXRTdHJl
YW1IYW5kbGU+LCBwdWJsaWMgU29ja2V0U3RyZWFtSGFuZGxlQmFzZSB7CisgICAgY2xhc3MgV0VC
Q09SRV9FWFBPUlQgU29ja2V0U3RyZWFtSGFuZGxlIDogcHVibGljIFJlZkNvdW50ZWQ8U29ja2V0
U3RyZWFtSGFuZGxlPiwgcHVibGljIFNvY2tldFN0cmVhbUhhbmRsZUJhc2UgewogICAgIHB1Ymxp
YzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U29ja2V0U3RyZWFtSGFuZGxlPiBjcmVhdGUo
Y29uc3QgS1VSTCYgdXJsLCBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQqIGNsaWVudCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFNvY2tldFN0cmVhbUhhbmRsZSh1cmwsIGNsaWVudCkpOyB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUluZm8uaCBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUluZm8uaAppbmRleCBiOTA4YmQ4OTQzNmIzY2Q1MDhmNDli
YzA5ZjEzZmI2NTgzNGM4YzYyLi5jN2E4MmRhZmVmNTFkNzQzMWZiMzNiMDg4N2Q0NmIzOTBjYzQ2
OWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VJbmZvLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlSW5mby5oCkBAIC0zMyw2ICszMyw3IEBA
CiAKICNpZiBFTkFCTEUoUVVPVEEpCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jvcy5o
IgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KIApAQCAtNDMsNyArNDQsNyBAQCBjbGFzcyBTdG9yYWdlSW5mb0Vycm9yQ2FsbGJhY2s7CiBj
bGFzcyBTdG9yYWdlSW5mb1F1b3RhQ2FsbGJhY2s7CiBjbGFzcyBTdG9yYWdlSW5mb1VzYWdlQ2Fs
bGJhY2s7CiAKLWNsYXNzIFN0b3JhZ2VJbmZvIDogcHVibGljIFJlZkNvdW50ZWQ8U3RvcmFnZUlu
Zm8+IHsKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFN0b3JhZ2VJbmZvIDogcHVibGljIFJlZkNvdW50
ZWQ8U3RvcmFnZUluZm8+IHsKIHB1YmxpYzoKICAgICBlbnVtIHsKICAgICAgICAgVEVNUE9SQVJZ
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaAppbmRleCA2MDE3NjQ1
ZGQ3MzBmYTc1N2ZjNTJiMjQwNDEzNGJmYTU5MGMyNTdhLi4zNzU4MGNlMzY4ZDY5ZGExZDgxZWYy
YjI1NTQ2OWYxYzZjNGQ5NTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VOYW1lc3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1l
c3BhY2UuaApAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBTdG9yYWdlTmFtZXNwYWNlX2gKICNk
ZWZpbmUgU3RvcmFnZU5hbWVzcGFjZV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybUV4cG9ydE1hY3Jv
cy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgpAQCAtMzgsNyArMzksNyBAQCBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFN0
b3JhZ2VBcmVhOwogCiAvLyBUaGlzIGludGVyZmFjZSBpcyByZXF1aXJlZCBmb3IgQ2hyb21pdW0g
c2luY2UgdGhlc2UgYWN0aW9ucyBuZWVkIHRvIGJlIHByb3hpZWQgYmV0d2VlbiBwcm9jZXNzZXMu
Ci1jbGFzcyBTdG9yYWdlTmFtZXNwYWNlIDogcHVibGljIFJlZkNvdW50ZWQ8U3RvcmFnZU5hbWVz
cGFjZT4geworY2xhc3MgV0VCQ09SRV9FWFBPUlQgU3RvcmFnZU5hbWVzcGFjZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPFN0b3JhZ2VOYW1lc3BhY2U+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTdG9yYWdlTmFtZXNwYWNlPiBsb2NhbFN0b3JhZ2VOYW1lc3BhY2UoY29uc3QgU3RyaW5n
JiBwYXRoLCB1bnNpZ25lZCBxdW90YSk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZU5h
bWVzcGFjZT4gc2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UoUGFnZSosIHVuc2lnbmVkIHF1b3RhKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9y
eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKaW5k
ZXggYzNkODdlYzkwZWFjN2IwZDkwMDVlZDE1MjkwMTg0ZWE3NzViM2VhZC4uZWRjN2M4YWI1YTlj
ZGMxYWMwMjBiMWE5MTg3YWE2NTJjZWU0OTcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2lmIEVO
QUJMRShTSEFSRURfV09SS0VSUykKIAorI2luY2x1ZGUgIlBsYXRmb3JtRXhwb3J0TWFjcm9zLmgi
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC00Nyw3ICs0OCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiAgICAgLy8gSW50ZXJm
YWNlIHRvIGEgcmVwb3NpdG9yeSB3aGljaCBtYW5hZ2VzIHJlZmVyZW5jZXMgdG8gdGhlIHNldCBv
ZiBhY3RpdmUgc2hhcmVkIHdvcmtlcnMuCi0gICAgY2xhc3MgU2hhcmVkV29ya2VyUmVwb3NpdG9y
eSB7CisgICAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyUmVwb3NpdG9yeSB7CiAg
ICAgcHVibGljOgogICAgICAgICAvLyBSZXR1cm5zIHRydWUgaWYgdGhlIHBsYXRmb3JtIHN1cHBv
cnRzIFNoYXJlZFdvcmtlcnMsIG90aGVyd2lzZSBmYWxzZS4KICAgICAgICAgc3RhdGljIGJvb2wg
aXNBdmFpbGFibGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHRQcm94
eS5oCmluZGV4IDA1OTc2YWY0MjViZGY2ZGMxYmNmYjJhNDA0ZDQ5ZTBkNDM1ZTA0NzkuLmJiYjMw
N2E4Yzk4NTgzYjY4NzNjMDU0OTc4NjMyNzU0NTc1ZTViMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJDb250ZXh0UHJveHkuaApAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJM
RShXT1JLRVJTKQogCiAjaW5jbHVkZSAiTWVzc2FnZVBvcnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bUV4cG9ydE1hY3Jvcy5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ0LDcgKzQ1LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdvcmtlcjsKIAogICAgIC8vIEEgcHJv
eHkgdG8gdGFsayB0byB0aGUgd29ya2VyIGNvbnRleHQuCi0gICAgY2xhc3MgV29ya2VyQ29udGV4
dFByb3h5IHsKKyAgICBjbGFzcyBXRUJDT1JFX0VYUE9SVCBXb3JrZXJDb250ZXh0UHJveHkgewog
ICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFdvcmtlckNvbnRleHRQcm94eSogY3JlYXRlKFdv
cmtlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggMWUxYTQxNjY1ZTc5ZGQy
Y2E1ZDM4YWRlZDY5NTg1MTllMTU3NDE0My4uNmI2YjgzZjU1YTVmZDc3MjczODRjMGU4MzVlMWIz
MzUzZmE5ZDkzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjk4LDgwICs2OTgs
MTcgQEAKICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsnaW5z
aWRlX2Nocm9taXVtX2J1aWxkPT0xJywgewogICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICc8
KGNvbXBvbmVudCknLAotCiAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWworICAg
ICAgICAgICAgICAgICAgICAgICAgIyBBTUk6IGRyb3AgdGhpcyBlbnRpcmUgc2VjdGlvbj8gIEFu
eXRoaW5nIHRoYXQncyBsZWZ0IGhlcmUgc2hvdWxkIGhhdmUgYSByZWFzb24uCiAgICAgICAgICAg
ICAgICAgICAgICAgICBbJ2NvbXBvbmVudD09InNoYXJlZF9saWJyYXJ5IicsIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnZGVmaW5lcyc6IFsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ1dFQktJVF9ETEwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXA6d2ViY29yZV9iaW5kaW5ncycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcu
Li8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBwb3J0
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikv
YmFzZS9iYXNlLmd5cDp0ZXN0X3N1cHBvcnRfYmFzZScsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2dsZXVybC5n
eXA6Z29vZ2xldXJsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21p
dW1fc3JjX2RpcikvdGVzdGluZy9ndGVzdC5neXA6Z3Rlc3QnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2dtb2NrLmd5cDpnbW9j
aycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIp
L3RoaXJkX3BhcnR5L2ljdS9pY3UuZ3lwOionLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJqcGVnX3R1cmJvL2xpYmpw
ZWcuZ3lwOmxpYmpwZWcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJv
bWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJwbmcvbGlicG5nLmd5cDpsaWJwbmcnLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9w
YXJ0eS9saWJ4bWwvbGlieG1sLmd5cDpsaWJ4bWwnLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9saWJ4c2x0L2xpYnhzbHQu
Z3lwOmxpYnhzbHQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS9tb2RwX2I2NC9tb2RwX2I2NC5neXA6bW9kcF9iNjQnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGly
ZF9wYXJ0eS9vdHMvb3RzLmd5cDpvdHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnPChjaHJvbWl1bV9zcmNfZGlyKS90aGlyZF9wYXJ0eS96bGliL3psaWIuZ3lwOnpsaWInLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92OC90
b29scy9neXAvdjguZ3lwOnY4JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBX
ZSBtdXN0IG5vdCBhZGQgd2Via2l0X3N1cHBvcnQgaGVyZSBiZWNhdXNlIG9mIGN5Y2xpYyBkZXBl
bmRlbmN5LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ2RpcmVjdF9kZXBlbmRlbnRfc2V0dGluZ3MnOiB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdkZWZpbmVzJzogWwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ1dFQktJVF9ETEwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2V4cG9ydF9kZXBlbmRlbnRfc2V0dGluZ3MnOiBbCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2ds
ZXVybC5neXA6Z29vZ2xldXJsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwo
Y2hyb21pdW1fc3JjX2RpcikvdjgvdG9vbHMvZ3lwL3Y4Lmd5cDp2OCcsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jbHVkZV9k
aXJzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdBUk5JTkc6IERvIG5v
dCB2aWV3IHRoaXMgcGFydGljdWxhciBjYXNlIGFzIGEgcHJlY2VkZW50IGZvcgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIGluY2x1ZGluZyBXZWJDb3JlIGhlYWRlcnMgaW4gRHVt
cFJlbmRlclRyZWUgcHJvamVjdC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4u
Ly4uL1dlYkNvcmUvdGVzdGluZy92OCcsICMgZm9yIFdlYkNvcmVUZXN0U3VwcG9ydC5oLCBuZWVk
ZWQgdG8gbGluayBpbiB3aW5kb3cuaW50ZXJuYWxzIGNvZGUuCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc291cmNlcyc6IFsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxlcykn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3JjL1dlYlRlc3RpbmdTdXBwb3J0
LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViVGVzdGlu
Z1N1cHBvcnQuaCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJV
bml0VGVzdHMuY3BwJywgICAjIENvbXBvbmVudHMgdGVzdCBydW5uZXIgc3VwcG9ydC4KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdz
b3VyY2VzISc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBzaG91bGQg
bm90IGluY2x1ZGUgZmlsZXMgZGVwZW5kaW5nIG9uIHdlYmtpdF9zdXBwb3J0LgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRfc3Vw
cG9ydCBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMgZGVm
aW5lZCBvbmx5IGluICFXRUJLSVRfSU1QTEVNRU5UQVRJT04uCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICd0ZXN0cy9Bc3NvY2lhdGVkVVJMTG9hZGVyVGVzdC5jcHAnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvRnJhbWVUZXN0SGVscGVycy5jcHAnLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUG9wdXBNZW51VGVzdC5jcHAn
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvUmVuZGVyVGFibGVDZWxs
VGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvV2ViRnJh
bWVUZXN0LmNwcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9XZWJQ
YWdlTmV3U2VyaWFsaXplclRlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3Rlc3RzL1dlYlBhZ2VTZXJpYWxpemVyVGVzdC5jcHAnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAndGVzdHMvV2ViVmlld1Rlc3QuY3BwJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzog
WwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ09TPT0id2luIiBvciBPUz09Im1h
YyInLCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5jaWVz
JzogWwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVt
X3NyY19kaXIpL3RoaXJkX3BhcnR5L25zcy9uc3MuZ3lwOionLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfV0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnY2xhbmc9PTEnLCB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNlIHRv
IGVuYWJsZSB0aGlzIGluIHNoYXJlZCBidWlsZHMgdG9vLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIyBidXQgdGhlIHRlc3QgZmlsZXMgaGF2ZSBnbG9iYWwgY29uc3RydWN0
b3JzIGZyb20gdGhlIEdURVNUIG1hY3JvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjIGFuZCB3ZSBwdWxsIGluIHRoZSB0ZXN0IGZpbGVzIGludG8gdGhlIHdlYmtpdCB0YXJn
ZXQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNoYXJlZCBi
dWlsZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjZmxhZ3MhJzogWyct
V2dsb2JhbC1jb25zdHJ1Y3RvcnMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICd4Y29kZV9zZXR0aW5ncyc6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ1dBUk5JTkdfQ0ZMQUdTISc6IFsnLVdnbG9iYWwtY29uc3RydWN0b3JzJ10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdtc3ZzX3NldHRpbmdzJzogewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ1ZDTGlua2VyVG9vbCc6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2NvbmRpdGlvbnMnOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L1dlYktpdFVuaXRUZXN0cy5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdFVuaXRU
ZXN0cy5neXAKaW5kZXggZDUwYWQxNTIzMDcwNjJlZmYwM2Q2ZGYwMjkzOWZlMDMyNTljNmQ4My4u
ZDYyYmUyODQxYjdkYWEzNzUzZGU3Y2NlZDkyMjUxYTg4NzQwZDNlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXRVbml0VGVzdHMuZ3lwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0VW5pdFRlc3RzLmd5cApAQCAtNjUsMzMgKzY1LDIzIEBACiAgICAg
ICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2Rpcikvd2Via2l0L3N1cHBvcnQvd2Via2l0X3N1
cHBvcnQuZ3lwOndlYmtpdF9zdXBwb3J0JywKICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS93ZWJraXQvc3VwcG9ydC93ZWJraXRfc3VwcG9ydC5neXA6d2Via2l0X3VzZXJfYWdl
bnQnLAogICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICdzb3VyY2VzJzogWwotICAgICAgICAg
ICAgICAgICd0ZXN0cy9SdW5BbGxUZXN0cy5jcHAnLAotICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICdpbmNsdWRlX2RpcnMnOiBbCiAgICAgICAgICAgICAgICAgJ3B1YmxpYycsCiAgICAgICAg
ICAgICAgICAgJ3NyYycsCiAgICAgICAgICAgICBdLAorICAgICAgICAgICAgJ3NvdXJjZXMnOiBb
CisgICAgICAgICAgICAgICAgJ3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCcsCisgICAgICAgICAgICAg
ICAgJzxAKHdlYmtpdF91bml0dGVzdF9maWxlcyknLAorICAgICAgICAgICAgXSwKICAgICAgICAg
ICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1
aWxkPT0xIGFuZCBjb21wb25lbnQ9PSJzaGFyZWRfbGlicmFyeSInLCB7Ci0gICAgICAgICAgICAg
ICAgICAgICdkZWZpbmVzJzogWwotICAgICAgICAgICAgICAgICAgICAgICAgJ1dFQktJVF9ETExf
VU5JVFRFU1QnLAotICAgICAgICAgICAgICAgICAgICBdLAotICAgICAgICAgICAgICAgIH0sIHsK
LSAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCi0gICAgICAgICAgICAgICAgICAgICAg
ICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVzKScsCi0gICAgICAgICAgICAgICAgICAgIF0sCi0g
ICAgICAgICAgICAgICAgICAgICdjb25kaXRpb25zJzogWwotICAgICAgICAgICAgICAgICAgICAg
ICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEnLCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ2luY2x1ZGVfZGlycyc6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B1
YmxpYy9ndGsnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjIEZJWE1FOiBFbmFibGUgd2FybmluZ3Mgb24gb3RoZXIgcGxhdGZvcm1zLgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdjaHJvbWl1bV9jb2RlJzogMSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgfV0sCisgICAgICAgICAgICAg
ICAgWyd0b29sa2l0X3VzZXNfZ3RrID09IDEnLCB7CisgICAgICAgICAgICAgICAgICAgICdpbmNs
dWRlX2RpcnMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAncHVibGljL2d0aycsCiAgICAg
ICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICd2YXJpYWJsZXMnOiB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAjIEZJWE1FOiBFbmFibGUgd2FybmluZ3Mgb24gb3RoZXIg
cGxhdGZvcm1zLgorICAgICAgICAgICAgICAgICAgICAgICAgJ2Nocm9taXVtX2NvZGUnOiAxLAor
ICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIH1dLAogICAgICAgICAgICAg
ICAgIFsnaW5zaWRlX2Nocm9taXVtX2J1aWxkPT0xIGFuZCBPUz09IndpbiIgYW5kIGNvbXBvbmVu
dCE9InNoYXJlZF9saWJyYXJ5IicsIHsKICAgICAgICAgICAgICAgICAgICAgJ2NvbmZpZ3VyYXRp
b25zJzogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29t
cG9zaXRvci5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tcG9zaXRvci5o
CmluZGV4IDMyYjYwZTI4NDVlODc4NmZmNGJiNDZlNmI5ZDJiZjI5M2ZlZDU4YWEuLjc4MDM3ZjE1
MjUwYjllYmZjYWYwOWZkNGFhZjk1OTM1Y2I4YTI2ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJDb21wb3NpdG9yLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgV2Vi
VGhyZWFkOwogLy8KIC8vIFRoaXMgY2xhc3MgY3VycmVudGx5IHRlbXBvcmFyaWx5IGluaGVyaXRz
IGZyb20gV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcgogLy8gd2hpbGUgd2UgbWlncmF0ZSBkb3du
c3RyZWFtIGNvZGUgdG8gdXNlIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIgZGlyZWN0bHkuCi1j
bGFzcyBXZWJDb21wb3NpdG9yIDogcHVibGljIFdlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXIgewor
Y2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJDb21wb3NpdG9yIDogcHVibGljIFdlYkNvbXBvc2l0b3JJ
bnB1dEhhbmRsZXIgewogcHVibGljOgogICAgIC8vIEluaXRpYWxpemVzIHRoZSBjb21wb3NpdG9y
LiBUaHJlYWRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVkIGJ5IHBhc3NpbmcgaW4KICAgICAvLyBh
IG5vbi1udWxsIFdlYlRocmVhZC4gTm8gY29tcG9zaXRvciBjbGFzc2VzIG9yIG1ldGhvZHMgc2hv
dWxkIGJlIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3Bs
YXRmb3JtL1dlYlVSTEVycm9yLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0
Zm9ybS9XZWJVUkxFcnJvci5oCmluZGV4IDg2MmRiZWFhM2IzYzBmMjhlMjY5NGY4ZDhiNmZiMThh
MmQxZTg1MGYuLjRmMmE0MWViMTRmMzFiZWZkODM2MjgxM2VlZDM1MzY3ZWVkNjkyZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYlVSTEVycm9y
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViVVJMRXJy
b3IuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBXZWJVUkxFcnJvcl9oCiAjZGVmaW5lIFdl
YlVSTEVycm9yX2gKIAorI2luY2x1ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYlN0cmlu
Zy5oIgogI2luY2x1ZGUgIldlYlVSTC5oIgogCkBAIC00MCw3ICs0MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsgY2xhc3MgUmVzb3VyY2VFcnJvcjsgfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
c3RydWN0IFdlYlVSTEVycm9yIHsKK3N0cnVjdCBXRUJLSVRfRVhQT1JUIFdlYlVSTEVycm9yIHsK
ICAgICAvLyBBIG5hbWVzcGFjZSBmb3IgInJlYXNvbiIgdG8gc3VwcG9ydCB2YXJpb3VzIGxheWVy
cyBnZW5lcmF0aW5nCiAgICAgLy8gcmVzb3VyY2UgZXJyb3JzLiBXZWJLaXQgZG9lcyBub3QgY2Fy
ZSBhYm91dCB0aGUgdmFsdWUgb2YgdGhpcwogICAgIC8vIHN0cmluZyBhcyBpdCB3aWxsIGp1c3Qg
YmUgcGFzc2VkIHZpYSBjYWxsYmFja3MgdG8gdGhlIGNvbnN1bWVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5oCmluZGV4IGIxNjdiNmMyZDQ2NmE0ZGYy
ZWUwYWIzZTI0OWZlNDBjMDkzMmYxODYuLjcwMTBiOTVjODU4YTIwMmYxZGE0OTc1ODYxYjNkZjkw
YmYxZjliY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNs
aWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJ
bXBsLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJFZGl0b3JDbGllbnQuaCIKICNpbmNs
dWRlICJUZXh0Q2hlY2tlckNsaWVudC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQ1LDcgKzQ2LDcgQEAgY2xhc3MgU3BlbGxDaGVja2VyOwogbmFtZXNw
YWNlIFdlYktpdCB7CiBjbGFzcyBXZWJWaWV3SW1wbDsKIAotY2xhc3MgRWRpdG9yQ2xpZW50SW1w
bCA6IHB1YmxpYyBXZWJDb3JlOjpFZGl0b3JDbGllbnQsIHB1YmxpYyBXZWJDb3JlOjpUZXh0Q2hl
Y2tlckNsaWVudCB7CitjbGFzcyBXRUJLSVRfRVhQT1JUIEVkaXRvckNsaWVudEltcGwgOiBwdWJs
aWMgV2ViQ29yZTo6RWRpdG9yQ2xpZW50LCBwdWJsaWMgV2ViQ29yZTo6VGV4dENoZWNrZXJDbGll
bnQgewogcHVibGljOgogICAgIEVkaXRvckNsaWVudEltcGwoV2ViVmlld0ltcGwqIHdlYlZpZXcp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRl
eHQzRFByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZS5oCmluZGV4IGJlOWRiNDI4N2RiNmVmYTMyODVmY2NiODU0ZmVhMzQ4M2FkMTVi
NmMuLjlhOTk2N2ZlZGEwMDFkMDZiMzliZDE4YTQ2ZTM4NDIxZjU4MmVjNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5o
CkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJFeHRlbnNpb25zM0RDaHJvbWl1bS5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29t
bW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CkBAIC01Miw3ICs1Myw3IEBAIGNsYXNzIEdy
YXBoaWNzQ29udGV4dDNEU3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQWRhcHRlcjsKIGNsYXNz
IEdyYXBoaWNzRXJyb3JNZXNzYWdlQ2FsbGJhY2tBZGFwdGVyOwogY2xhc3MgR3JhcGhpY3NDb250
ZXh0M0RNZW1vcnlBbGxvY2F0aW9uQ2hhbmdlZENhbGxiYWNrQWRhcHRlcjsKIAotY2xhc3MgR3Jh
cGhpY3NDb250ZXh0M0RQcml2YXRlIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgR3JhcGhpY3NDb250
ZXh0M0RQcml2YXRlIHsKIHB1YmxpYzoKICAgICAvLyBDYWxsZXJzIG11c3QgbWFrZSB0aGUgY29u
dGV4dCBjdXJyZW50IGJlZm9yZSB1c2luZyBpdCBBTkQgY2hlY2sgdGhhdCB0aGUgY29udGV4dCB3
YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkKICAgICAvLyB2aWEgQ29udGV4dExvc3QgYmVmb3JlIHVz
aW5nIHRoZSBjb250ZXh0IGluIGFueSB3YXkuIE9uY2UgbWFkZSBjdXJyZW50IG9uIGEgdGhyZWFk
LCB0aGUgY29udGV4dCBjYW5ub3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9j
YWxpemVkU3RyaW5ncy5jcHAKaW5kZXggOTE3MTgwYjY2N2UwNGY3MWVlNmY3YWVkYmQxNmQzNzIw
NmNmZTFjMi4uZTU1NDFkNGYwMmUwMDUyMWE0MTZiOTg1ZDMzY2I2NWQ1MWNmYmNlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxpemVkU3RyaW5ncy5jcHAKQEAgLTIy
MywxMiArMjIzLDEyIEBAIFN0cmluZyB1bmtub3duRmlsZVNpemVUZXh0KCkKIAogLy8gVGhlIGZv
bGxvd2luZyB0d28gZnVuY3Rpb25zIGFyZSBub3QgZGVjbGFyZWQgaW4gTG9jYWxpemVkU3RyaW5n
cy5oLgogLy8gVGhleSBhcmUgdXNlZCBieSB0aGUgbWVudSBmb3IgdGhlIEhUTUwga2V5Z2VuIHRh
Zy4KLVN0cmluZyBrZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6ZSgpCitXVEZfRVhQT1JUIFN0cmlu
ZyBrZXlnZW5NZW51SGlnaEdyYWRlS2V5U2l6ZSgpCiB7CiAgICAgcmV0dXJuIHF1ZXJ5KFdlYkxv
Y2FsaXplZFN0cmluZzo6S2V5Z2VuTWVudUhpZ2hHcmFkZUtleVNpemUpOwogfQogCi1TdHJpbmcg
a2V5Z2VuTWVudU1lZGl1bUdyYWRlS2V5U2l6ZSgpCitXVEZfRVhQT1JUIFN0cmluZyBrZXlnZW5N
ZW51TWVkaXVtR3JhZGVLZXlTaXplKCkKIHsKICAgICByZXR1cm4gcXVlcnkoV2ViTG9jYWxpemVk
U3RyaW5nOjpLZXlnZW5NZW51TWVkaXVtR3JhZGVLZXlTaXplKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW1wbC5oCmluZGV4IDM0YzZiZDBmZGM2NzY0
ZGIzYWRlZDJlMmU4Mzk1MzY4MzRmYWEzN2UuLmNjMjc2NTQ3YjU3YTIzYTljM2UwMmQ5ZGMyYjcw
ODU1M2I4ZWFkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNv
bXBvc2l0b3JJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9z
aXRvckltcGwuaApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
V2ViVGhyZWFkOwogCi1jbGFzcyBXZWJDb21wb3NpdG9ySW1wbCA6IHB1YmxpYyBXZWJDb21wb3Np
dG9yIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViQ29tcG9zaXRvckltcGwgOiBwdWJsaWMgV2Vi
Q29tcG9zaXRvciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29tcG9zaXRvckltcGwp
OwogcHVibGljOgogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlcklt
cGwuaAppbmRleCA4M2I0YmQ1NDYxYWMzNGE1MTZiY2VkZmVjNDI0ZWExZjRjYzMwNmI2Li5iYmE0
OTBlY2NkNjcxODNjOWIxZmY5NzUxNzI1NGFkM2NiY2M0ZGRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBs
LmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJXZWJDb21wb3NpdG9yLmgiCiAjaW5jbHVk
ZSAiV2ViQ29tcG9zaXRvcklucHV0SGFuZGxlci5oIgogI2luY2x1ZGUgImNjL0NDSW5wdXRIYW5k
bGVyLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+CkBAIC00Nyw3ICs0OCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViQ29t
cG9zaXRvcklucHV0SGFuZGxlckNsaWVudDsKIAogLy8gVGVtcG9yYXJpbHkgc3ViY2xhc3Npbmcg
ZnJvbSBXZWJDb21wb3NpdG9yIHdoaWxlIGRvd25zdHJlYW0gY2hhbmdlcyBsYW5kLgotY2xhc3Mg
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciwgcHVi
bGljIFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyIHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViQ29t
cG9zaXRvcklucHV0SGFuZGxlckltcGwgOiBwdWJsaWMgV2ViQ29tcG9zaXRvciwgcHVibGljIFdl
YkNvcmU6OkNDSW5wdXRIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb21w
b3NpdG9ySW5wdXRIYW5kbGVySW1wbCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8
V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGw+IGNyZWF0ZShXZWJDb3JlOjpDQ0lucHV0SGFu
ZGxlckNsaWVudCopOwpAQCAtNzYsOCArNzcsOCBAQCBwcml2YXRlOgogI2VuZGlmCiAgICAgYm9v
bCBtX3Njcm9sbFN0YXJ0ZWQ7CiAKLSAgICBzdGF0aWMgaW50IHNfbmV4dEF2YWlsYWJsZUlkZW50
aWZpZXI7Ci0gICAgc3RhdGljIEhhc2hTZXQ8V2ViQ29tcG9zaXRvcklucHV0SGFuZGxlckltcGwq
Piogc19jb21wb3NpdG9yczsKKyAgICBzdGF0aWMgV0VCS0lUX0VYUE9SVCBpbnQgc19uZXh0QXZh
aWxhYmxlSWRlbnRpZmllcjsKKyAgICBzdGF0aWMgV0VCS0lUX0VYUE9SVCBIYXNoU2V0PFdlYkNv
bXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsKj4qIHNfY29tcG9zaXRvcnM7CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJFeHRlcm5hbFRleHR1cmVMYXll
ckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxh
eWVySW1wbC5oCmluZGV4IDdiNzNlNzA4MGRkNmYxZjA1ODRjNGM2MjFkZjNhNmVlMzRhNzViNWUu
LjFiNzA5NDBkYmU3ZmQyYmMwMjUyYmIxMDBlZmZhYjUxNTVkZmIxYzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkV4dGVybmFsVGV4dHVyZUxheWVySW1w
bC5oCkBAIC0yNywxMSArMjcsMTIgQEAKICNkZWZpbmUgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJ
bXBsX2gKIAogI2luY2x1ZGUgIlBsdWdpbkxheWVyQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJDb21tb24uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXJJbXBsIDogcHVibGlj
IFdlYkNvcmU6OlBsdWdpbkxheWVyQ2hyb21pdW0geworY2xhc3MgV0VCS0lUX0VYUE9SVCBXZWJF
eHRlcm5hbFRleHR1cmVMYXllckltcGwgOiBwdWJsaWMgV2ViQ29yZTo6UGx1Z2luTGF5ZXJDaHJv
bWl1bSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViRXh0ZXJuYWxUZXh0dXJl
TGF5ZXJJbXBsPiBjcmVhdGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmgKaW5kZXggZDQ3YmRhODE0OTJmMWIwMTkxOTZl
ZDYzOThiNTdhNjk5Zjg0MDMxMC4uNGYzNTM5N2JiMjM0NGFiNTI3NGZlYjQzODI0NzgwODkyYjE5
NGRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVu
dENvbnZlcnNpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2
ZW50Q29udmVyc2lvbi5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1Ub3Vj
aEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiV2Vi
SW5wdXRFdmVudC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBLZXlib2FyZEV2ZW50OwpAQCAtNzUsNyArNzYsNyBAQCBwdWJs
aWM6CiB9OwogI2VuZGlmCiAKLWNsYXNzIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxkZXIgOiBw
dWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1LZXlib2FyZEV2ZW50IHsKK2NsYXNzIFdFQktJVF9FWFBP
UlQgUGxhdGZvcm1LZXlib2FyZEV2ZW50QnVpbGRlciA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9y
bUtleWJvYXJkRXZlbnQgewogcHVibGljOgogICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudEJ1aWxk
ZXIoY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYpOwogICAgIHZvaWQgc2V0S2V5VHlwZShUeXBlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDM4MTllY2I2NTU0
MWUxZDUzZGEwODY4MWQyNjYwOGJkYzM2NWVhNWIuLjFhZDM2YjlmN2I1NDQ2ZDQzNDVhNzY5YTU0
N2YwMDJjZWY3YTAxOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
aApAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBXZWJWaWV3SW1wbF9oCiAKICNpbmNsdWRlICJX
ZWJOYXZpZ2F0aW9uUG9saWN5LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCiAj
aW5jbHVkZSAicGxhdGZvcm0vV2ViTGF5ZXIuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJMYXll
clRyZWVWaWV3LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViTGF5ZXJUcmVlVmlld0NsaWVudC5o
IgpAQCAtOTYsNyArOTcsNyBAQCBjbGFzcyBXZWJNb3VzZVdoZWVsRXZlbnQ7CiBjbGFzcyBXZWJT
ZXR0aW5nc0ltcGw7CiBjbGFzcyBXZWJUb3VjaEV2ZW50OwogCi1jbGFzcyBXZWJWaWV3SW1wbCA6
IHB1YmxpYyBXZWJWaWV3LCBwdWJsaWMgV2ViTGF5ZXJUcmVlVmlld0NsaWVudCwgcHVibGljIFJl
ZkNvdW50ZWQ8V2ViVmlld0ltcGw+IHsKK2NsYXNzIFdFQktJVF9FWFBPUlQgV2ViVmlld0ltcGwg
OiBwdWJsaWMgV2ViVmlldywgcHVibGljIFdlYkxheWVyVHJlZVZpZXdDbGllbnQsIHB1YmxpYyBS
ZWZDb3VudGVkPFdlYlZpZXdJbXBsPiB7CiBwdWJsaWM6CiAgICAgZW51bSBBdXRvWm9vbVR5cGUg
ewogICAgICAgICBEb3VibGVUYXAsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9wYWludGluZy9QYWludEFnZ3JlZ2F0b3IuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL3BhaW50aW5nL1BhaW50QWdncmVnYXRvci5oCmluZGV4IGYwODNlNDAxNzVhOTFhZTA4NjM1
YWNiMDBjM2EyNWZkOTczMzMyYjQuLmNhMTk0YWE3NDhhOTM3YjNmMjJkODJhZTZlNWFlY2Q2N2Nm
NzU3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5nL1Bh
aW50QWdncmVnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL3BhaW50aW5n
L1BhaW50QWdncmVnYXRvci5oCkBAIC0zMywxMyArMzMsMTQgQEAKIAogI2luY2x1ZGUgIkludFBv
aW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1v
bi5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIC8v
IFRoaXMgY2xhc3MgaXMgcmVzcG9uc2libGUgZm9yIGFnZ3JlZ2F0aW5nIG11bHRpcGxlIGludmFs
aWRhdGlvbiBhbmQgc2Nyb2xsCiAvLyBjb21tYW5kcyB0byBwcm9kdWNlIGEgc2Nyb2xsIGFuZCBy
ZXBhaW50IHNlcXVlbmNlLgotY2xhc3MgUGFpbnRBZ2dyZWdhdG9yIHsKK2NsYXNzIFdFQktJVF9F
WFBPUlQgUGFpbnRBZ2dyZWdhdG9yIHsKIHB1YmxpYzoKICAgICAvLyBUaGlzIHN0cnVjdHVyZSBk
ZXNjcmliZXMgYW4gYWdncmVnYXRpb24gb2YgaW52YWxpZGF0ZVJlY3QgYW5kIHNjcm9sbFJlY3QK
ICAgICAvLyBjYWxscy4gSWYgfHNjcm9sbFJlY3R8IGlzIG5vbi1lbXB0eSwgdGhlbiB0aGF0IHJl
Y3Qgc2hvdWxkIGJlIHNjcm9sbGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL1J1bkFsbFRlc3RzLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVu
QWxsVGVzdHMuY3BwCmluZGV4IGRjMDUyODI1NzFhN2M2ODhjZGIyMDg5NTZjMzU0ZTYzYTMzYTNj
M2MuLjRkODFjNDM4OWM2MWMwZGNlYTJjMGE1ZmU5YTc3NDU5MjBiYzJiZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvUnVuQWxsVGVzdHMuY3BwCkBAIC0zNSw5ICszNSw3IEBA
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSA8
d2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaD4KIAotI2lmIGRlZmluZWQoV0VCS0lUX0RM
TF9VTklUVEVTVCkKICNpbmNsdWRlICJXZWJVbml0VGVzdHMuaCIKLSNlbmRpZgogCiAjaW5jbHVk
ZSA8Z21vY2svZ21vY2suaD4KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>