<?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>53540</bug_id>
          
          <creation_ts>2011-02-01 15:41:26 -0800</creation_ts>
          <short_desc>Rename PLATFORM(CF) to USE(CF)</short_desc>
          <delta_ts>2011-04-16 04:00:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          <blocked>58728</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>mjs</cc>
    
    <cc>psolanki</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343603</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-01 15:41:26 -0800</bug_when>
    <thetext>Rename PLATFORM(CF) to USE(COREFOUNDATION)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343606</commentid>
    <comment_count>1</comment_count>
      <attachid>80842</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-01 15:43:19 -0800</bug_when>
    <thetext>Created attachment 80842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343626</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-01 15:59:02 -0800</bug_when>
    <thetext>Attachment 80842 did not build on chromium:
Build output: http://queues.webkit.org/results/7684754</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343702</commentid>
    <comment_count>3</comment_count>
      <attachid>80842</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-01 17:20:01 -0800</bug_when>
    <thetext>Comment on attachment 80842
Patch

Changing from PLATFORM to USE might be OK. But changing from CF to COREFOUNDATION is bad since we also use CF as suffixes on file names. This generally will make the source tree harder to read. If those file names did not exist, then I could see the argument since CF is quite a short acronym and many might not be aware of its meaning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343703</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-01 17:20:26 -0800</bug_when>
    <thetext>Maciej, do you have an opinion on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343712</commentid>
    <comment_count>5</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-01 17:39:49 -0800</bug_when>
    <thetext>Attachment 80842 did not build on win:
Build output: http://queues.webkit.org/results/7687360</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343735</commentid>
    <comment_count>6</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-02-01 18:03:41 -0800</bug_when>
    <thetext>Attachment 80842 did not build on gtk:
Build output: http://queues.webkit.org/results/7681924</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343848</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-01 21:58:46 -0800</bug_when>
    <thetext>Attachment 80842 did not build on chromium:
Build output: http://queues.webkit.org/results/7682899</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343883</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-01 23:21:24 -0800</bug_when>
    <thetext>Attachment 80842 did not build on mac:
Build output: http://queues.webkit.org/results/7686729</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343884</commentid>
    <comment_count>9</comment_count>
      <attachid>80895</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-01 23:26:52 -0800</bug_when>
    <thetext>Created attachment 80895
Patch

(In reply to comment #3)
&gt; Changing from PLATFORM to USE might be OK. But changing from CF to COREFOUNDATION is bad since we also use CF as suffixes on file names. This generally will make the source tree harder to read. If those file names did not exist, then I could see the argument since CF is quite a short acronym and many might not be aware of its meaning.
I agree, the filename suffix is a good argument against renaming to COREFOUNDATION (at least in this patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343885</commentid>
    <comment_count>10</comment_count>
      <attachid>80896</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-01 23:28:25 -0800</bug_when>
    <thetext>Created attachment 80896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343887</commentid>
    <comment_count>11</comment_count>
      <attachid>80897</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-01 23:32:07 -0800</bug_when>
    <thetext>Created attachment 80897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347499</commentid>
    <comment_count>12</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-08 10:37:43 -0800</bug_when>
    <thetext>@darin: ping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355529</commentid>
    <comment_count>13</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-22 12:58:35 -0800</bug_when>
    <thetext>ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355562</commentid>
    <comment_count>14</comment_count>
      <attachid>80897</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-22 13:44:59 -0800</bug_when>
    <thetext>Comment on attachment 80897
Patch

Rejecting attachment 80897 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 2

Last 500 characters of output:
t 1 with fuzz 3.
patching file Source/WebKit2/UIProcess/WebBackForwardList.h
patching file Source/WebKit2/UIProcess/WebPageProxy.cpp
Hunk #1 succeeded at 961 (offset 115 lines).
patching file Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/DumpRenderTree/config.h

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Darin Adler&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7948289</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355565</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 13:52:12 -0800</bug_when>
    <thetext>Could someone please explain why USE(CF) is more appropriate than PLATFORM(CF)? I&apos;m not saying that this change is wrong, but how can it be landed without any explanation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355573</commentid>
    <comment_count>16</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-22 14:00:46 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; Could someone please explain why USE(CF) is more appropriate than PLATFORM(CF)? I&apos;m not saying that this change is wrong, but how can it be landed without any explanation?

CF is not a platform. CF is a library we can use. There are some old webkit-dev mails about &quot;better names&quot;: http://thread.gmane.org/gmane.os.opendarwin.webkit.devel/4998/focus=5002.

IMHO the title of the bug is self explaining and I don&apos;t se much value in additional info in the ChangeLog. If you a good content for it I&apos;ll add it. ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355633</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-02-22 14:54:49 -0800</bug_when>
    <thetext>This doesn&apos;t have to be in ChangeLog.

What makes library a platform? WX and Qt are also technically libraries, so should we rename PLATFORM(QT) to USE(QT)? I honestly don&apos;t understand how the decision was made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355872</commentid>
    <comment_count>18</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-22 22:16:23 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; This doesn&apos;t have to be in ChangeLog.
&gt; 
&gt; What makes library a platform? WX and Qt are also technically libraries, so should we rename PLATFORM(QT) to USE(QT)? I honestly don&apos;t understand how the decision was made.

PLATFORM should be something be something representing a set of used libraries. E.g. Qt uses always Qt unicode, Qt graphichs, Qt network and so on. The CF stuff is used by Apples Mac and Windows port and some parts are used by WinCairo too.

My vision is to remove all PLATFORM macros and replace them with USE macros: PLATFORM(QT) will then renamed to USE(QT_UNICODE), USE(QT_GRAPHICS), USE(QT_NETWORK), USE(QT_XML) and so on. This will enable us to use Qt rendering with curl network backend and ICU unicode. This maybe doesn&apos;t make much sense, but on OS(WINDOWS) you can then choose between CG, Cairo and GDI for graphics rendering  and CF, CUrl, Soup and WinInet for networking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355880</commentid>
    <comment_count>19</comment_count>
      <attachid>83448</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-22 22:44:31 -0800</bug_when>
    <thetext>Created attachment 83448
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355987</commentid>
    <comment_count>20</comment_count>
      <attachid>83448</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-23 03:31:34 -0800</bug_when>
    <thetext>Comment on attachment 83448
Patch for landing

Clearing flags on attachment: 83448

Committed r79434: &lt;http://trac.webkit.org/changeset/79434&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355988</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-23 03:31:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80842</attachid>
            <date>2011-02-01 15:43:19 -0800</date>
            <delta_ts>2011-02-01 23:26:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53540-20110202004315.patch</filename>
            <type>text/plain</type>
            <size>40670</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDkxMDlkNDIwOGYzODkzZjVmODVkODQ0ZDUyMmMx
ZTk0MjYzYmY2NmQuLjBkYmVkOTAwM2Y5ZTdhYzFlNGE3MWU1OWQyZGNmZTFlMTNjOGJjN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTAyLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShDRikgdG8gVVNFKENP
UkVGT1VOREFUSU9OKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTM1NDAKKworICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHA6CisgICAg
ICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6CisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbERhdGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFs
RGF0YSk6CisgICAgICAgICogd3RmL0N1cnJlbnRUaW1lLmNwcDoKKyAgICAgICAgKiB3dGYvUGxh
dGZvcm0uaDoKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuaDoKKyAgICAgICAgKiB3
dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNvbXB1dGVI
YXNoKToKKyAgICAgICAgKiB3dGYvdGV4dC9XVEZTdHJpbmcuaDoKKyAgICAgICAgKiB3dGYvdW5p
Y29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwOgorICAgICAgICAoV1RGOjpDb2xsYXRvcjo6dXNlckRl
ZmF1bHQpOgorCiAyMDExLTAyLTAxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzcyOTcuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDU4
MzhiNjA3M2VlZjVhZmYxY2RjNTg1NzIyZTg0ZGVjM2U3MjZlY2QuLmE4ZDY2ZDBkYTNmNGMxZGRl
MmZlZjUzMmI5ZDA1MmNmYmM2ZmEwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgZW51bSBMb2NhbGVE
YXRlVGltZUZvcm1hdCB7IExvY2FsZURhdGVBbmRUaW1lLCBMb2NhbGVEYXRlLCBMb2NhbGVUaW1l
IH07CiAjaWYgUExBVEZPUk0oTUFDKQogCiAvLyBGSVhNRTogU2luY2UgdGhpcyBpcyBzdXBlcmlv
ciB0byB0aGUgc3RyZnRpbWUtYmFzZWQgdmVyc2lvbiwgd2h5IGxpbWl0IHRoaXMgdG8gUExBVEZP
Uk0oTUFDKT8KLS8vIEluc3RlYWQgd2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoaXMgd2hlbmV2
ZXIgUExBVEZPUk0oQ0YpIGlzIHRydWUuCisvLyBJbnN0ZWFkIHdlIHNob3VsZCBjb25zaWRlciB1
c2luZyB0aGlzIHdoZW5ldmVyIFVTRShDT1JFRk9VTkRBVElPTikgaXMgdHJ1ZS4KIAogc3RhdGlj
IENGRGF0ZUZvcm1hdHRlclN0eWxlIHN0eWxlRnJvbUFyZ1N0cmluZyhjb25zdCBVU3RyaW5nJiBz
dHJpbmcsIENGRGF0ZUZvcm1hdHRlclN0eWxlIGRlZmF1bHRTdHlsZSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcApp
bmRleCA0MTRhMGFkNDBlZTNjODY4Y2MzNDVjNzBkMzVmMDJjYWM1ZDkzY2RiLi5lNWNmNDNjN2Zl
NDNlOTNkOGY4NzI4YjY2ZjNjNzYxOGU0N2ViNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwCkBAIC0zNyw3ICsz
Nyw3IEBACiAjaW5jbHVkZSA8d3RmL1dURlRocmVhZERhdGEuaD4KICNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0Uo
Q09SRUZPVU5EQVRJT04pCiAjZXJyb3IgIlRoaXMgZmlsZSBzaG91bGQgb25seSBiZSB1c2VkIG9u
IENGIHBsYXRmb3Jtcy4iCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsRGF0YS5jcHAKaW5kZXggYTM2MzM3NzQ3NWU0Nzk2MWQxYjViNDc2MGVmOTQw
NjcyMDc0MzVlNi4uOTUzNjQxMTgwODJiZmM1YWQ5YTA4MzcwMzY2M2M3NjgyZjY3ODkzZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCkBAIC0x
NjAsNyArMTYwLDcgQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEoR2xvYmFsRGF0YVR5cGUg
Z2xvYmFsRGF0YVR5cGUsIFRocmVhZFN0YWNrVHlwZSB0aHJlYWQKICAgICBzdGFydFByb2ZpbGVy
U2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogI2lmIEVOQUJMRShKSVQpICYmIEVOQUJMRShJTlRF
UlBSRVRFUikKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAg
Q0ZTdHJpbmdSZWYgY2FuVXNlSklUS2V5ID0gQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZygwICwg
IkphdmFTY3JpcHRDb3JlVXNlSklUIiwga0NGU3RyaW5nRW5jb2RpbmdNYWNSb21hbik7CiAgICAg
Q0ZCb29sZWFuUmVmIGNhblVzZUpJVCA9IChDRkJvb2xlYW5SZWYpQ0ZQcmVmZXJlbmNlc0NvcHlB
cHBWYWx1ZShjYW5Vc2VKSVRLZXksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uKTsK
ICAgICBpZiAoY2FuVXNlSklUKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL0N1cnJlbnRUaW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRp
bWUuY3BwCmluZGV4IDU2NzI0Y2I4NmRjYTY2Y2MzYTUyM2IxNTk2ZTczMzEzOGI2MzE2MGUuLjQ3
MzcyMTkyZGQ3OWU1ZmM1NWY5ZGM4MWQyZDlhODM3YzM4YWQwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAKICNpZiBPUyhX
SU5ET1dTKQogCi0vLyBXaW5kb3dzIGlzIGZpcnN0IHNpbmNlIHdlIHdhbnQgdG8gdXNlIGhpcmVz
IHRpbWVycywgZGVzcGl0ZSBQTEFURk9STShDRikKKy8vIFdpbmRvd3MgaXMgZmlyc3Qgc2luY2Ug
d2Ugd2FudCB0byB1c2UgaGlyZXMgdGltZXJzLCBkZXNwaXRlIFVTRShDT1JFRk9VTkRBVElPTikK
IC8vIGJlaW5nIGRlZmluZWQuCiAvLyBJZiBkZWZpbmVkLCBXSU4zMl9MRUFOX0FORF9NRUFOIGRp
c2FibGVzIHRpbWVCZWdpblBlcmlvZC90aW1lRW5kUGVyaW9kLgogI3VuZGVmIFdJTjMyX0xFQU5f
QU5EX01FQU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAwN2Y1N2YwYTNi
MGI0NDA0NWQxMWE3NjU0OThkOGU2ODMzZWRiZjE1Li5hOTkyYzQ1ZjJiMTFlMDVhYmVjZTRlZjhj
ZDE2ZTQ2YTM5YWI1NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02
MTQsNyArNjE0LDcgQEAKICNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCiAj
ZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCiAjZW5kaWYKLSNkZWZpbmUgV1RGX1BM
QVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFRk9VTkRBVElPTiAxCiAjZGVmaW5lIFdU
Rl9VU0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNkZWZpbmUg
SEFWRV9SRUFETElORSAxCkBAIC02MjgsNyArNjI4LDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oQ0hST01JVU0pICYmIE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNk
ZWZpbmUgV1RGX1VTRV9DT1JFRk9VTkRBVElPTiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMg
MQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNkZWZpbmUgV1RGX1VTRV9DQVJCT05f
U0VDVVJFX0lOUFVUX01PREUgMQpAQCAtNjM5LDcgKzYzOSw3IEBACiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVm
aW5lIFdURl9VU0VfQ09SRUZPVU5EQVRJT04gMQogI2VuZGlmCiAKICNpZiBPUyhEQVJXSU4pICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZP
Uk0oUVQpCkBAIC02NTgsNyArNjU4LDcgQEAKICNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VW
RU5UUyAxCiAjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQogI2RlZmluZSBIQVZF
X1JFQURMSU5FIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9D
T1JFRk9VTkRBVElPTiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZF
X1BUSFJFQURfUldMT0NLIDEKICNlbmRpZgpAQCAtNjc5LDcgKzY3OSw3IEBACiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0Yg
MQorI2RlZmluZSBXVEZfVVNFX0NPUkVGT1VOREFUSU9OIDEKICNkZWZpbmUgV1RGX1VTRV9QVEhS
RUFEUyAwCiAjZW5kaWYKIApAQCAtNjg3LDcgKzY4Nyw3IEBACiAjZGVmaW5lIEVOQUJMRV9BU1NF
TUJMRVIgMQogI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKICNpZiBPUyhE
QVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ09SRUZP
VU5EQVRJT04gMQogI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgogI2RlZmluZSBXVEZfVVNFX0NP
UkVfVEVYVCAxCiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90
ZXh0L0F0b21pY1N0cmluZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21p
Y1N0cmluZy5oCmluZGV4IGFiNWIzNjZiNzBhMzM4YzUyYjhkNTE5NmU4YTQ3NjkwODBkYWY0YjUu
LmEyYjc4ZDc5MzFiOTE3NmYyYzFjYTFiMThiZDRjYWI0YjIyNGJlYjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTk1LDcgKzk1LDcgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqKTsKICAgICAKLSNp
ZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgQXRvbWljU3RyaW5n
KENGU3RyaW5nUmVmIHMpIDogIG1fc3RyaW5nKGFkZChTdHJpbmcocykuaW1wbCgpKSkgeyB9CiAg
ICAgQ0ZTdHJpbmdSZWYgY3JlYXRlQ0ZTdHJpbmcoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5j
cmVhdGVDRlN0cmluZygpOyB9CiAjZW5kaWYgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi90ZXh0L1N0cmluZ0ltcGwuaAppbmRleCAyNTQxMWUxMjEyMTVmMGU3NGNjMzg4ZDAzMzRlYWE0
MmMxNGU4MDM5Li4zYzU4NjEwM2VjY2M3OGFiYTM2ZjZmNWU3OTZlNzc2ODBhNWMxODM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsLmgKQEAgLTM0LDcgKzM0
LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oPgogI2luY2x1ZGUgPHd0
Zi91bmljb2RlL1VuaWNvZGUuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9V
TkRBVElPTikKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZTdHJpbmcgKiBDRlN0cmluZ1JlZjsK
ICNlbmRpZgogCkBAIC0yMzcsOSArMjM3LDkgQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQgaGFz
aCgpIGNvbnN0IHsgaWYgKCFtX2hhc2gpIG1faGFzaCA9IGNvbXB1dGVIYXNoKG1fZGF0YSwgbV9s
ZW5ndGgpOyByZXR1cm4gbV9oYXNoOyB9CiAgICAgdW5zaWduZWQgZXhpc3RpbmdIYXNoKCkgY29u
c3QgeyBBU1NFUlQobV9oYXNoKTsgcmV0dXJuIG1faGFzaDsgfQotICAgIHN0YXRpYyB1bnNpZ25l
ZCBjb21wdXRlSGFzaChjb25zdCBVQ2hhciogZGF0YSwgdW5zaWduZWQgbGVuZ3RoKSB7IHJldHVy
biBXVEY6OlN0cmluZ0hhc2hlcjo6Y3JlYXRlSGFzaDxVQ2hhcj4oZGF0YSwgbGVuZ3RoKTsgfQot
ICAgIHN0YXRpYyB1bnNpZ25lZCBjb21wdXRlSGFzaChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25l
ZCBsZW5ndGgpIHsgcmV0dXJuIFdURjo6U3RyaW5nSGFzaGVyOjpjcmVhdGVIYXNoPGNoYXI+KGRh
dGEsIGxlbmd0aCk7IH0KLSAgICBzdGF0aWMgdW5zaWduZWQgY29tcHV0ZUhhc2goY29uc3QgY2hh
ciogZGF0YSkgeyByZXR1cm4gV1RGOjpTdHJpbmdIYXNoZXI6OmNyZWF0ZUhhc2g8Y2hhcj4oZGF0
YSk7IH0KKyAgICBzdGF0aWMgdW5zaWduZWQgY29tcHV0ZUhhc2goY29uc3QgVUNoYXIqIGRhdGEs
IHVuc2lnbmVkIGxlbmd0aCkgeyByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFzaDxVQ2hh
cj4oZGF0YSwgbGVuZ3RoKTsgfQorICAgIHN0YXRpYyB1bnNpZ25lZCBjb21wdXRlSGFzaChjb25z
dCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpIHsgcmV0dXJuIFN0cmluZ0hhc2hlcjo6Y29t
cHV0ZUhhc2g8Y2hhcj4oZGF0YSwgbGVuZ3RoKTsgfQorICAgIHN0YXRpYyB1bnNpZ25lZCBjb21w
dXRlSGFzaChjb25zdCBjaGFyKiBkYXRhKSB7IHJldHVybiBTdHJpbmdIYXNoZXI6OmNvbXB1dGVI
YXNoPGNoYXI+KGRhdGEpOyB9CiAKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgZGVyZWYoKSB7IG1f
cmVmQ291bnRBbmRGbGFncyAtPSBzX3JlZkNvdW50SW5jcmVtZW50OyBpZiAoIShtX3JlZkNvdW50
QW5kRmxhZ3MgJiAoc19yZWZDb3VudE1hc2sgfCBzX3JlZkNvdW50RmxhZ1N0YXRpYykpKSBkZWxl
dGUgdGhpczsgfQogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBoYXNPbmVSZWYoKSBjb25zdCB7IHJl
dHVybiAobV9yZWZDb3VudEFuZEZsYWdzICYgKHNfcmVmQ291bnRNYXNrIHwgc19yZWZDb3VudEZs
YWdTdGF0aWMpKSA9PSBzX3JlZkNvdW50SW5jcmVtZW50OyB9CkBAIC0zMTgsNyArMzE4LDcgQEAg
cHVibGljOgogCiAgICAgV1RGOjpVbmljb2RlOjpEaXJlY3Rpb24gZGVmYXVsdFdyaXRpbmdEaXJl
Y3Rpb24oKTsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICAg
ICBDRlN0cmluZ1JlZiBjcmVhdGVDRlN0cmluZygpOwogI2VuZGlmCiAjaWZkZWYgX19PQkpDX18K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCAwYWVlMmVm
ZDdkZjE0NGE4ODUzNmQ3NzcyNTYyZTBlYjVjZjAyNzJlLi5mZTEwZjQ4NzZkZTU1Y2UzMWQ2YjNh
NmQ1NTdiMmI5N2RjOWQ2ZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvV1RGU3RyaW5nLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1dU
RlN0cmluZy5oCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjZW5k
aWYKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKIHR5cGVkZWYg
Y29uc3Qgc3RydWN0IF9fQ0ZTdHJpbmcgKiBDRlN0cmluZ1JlZjsKICNlbmRpZgogCkBAIC0yODQs
NyArMjg0LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGVBKCkg
Y29uc3Q7CiAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZUIoKSBjb25zdDsKIAotI2lm
IFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICAgICBTdHJpbmcoQ0ZTdHJp
bmdSZWYpOwogICAgIENGU3RyaW5nUmVmIGNyZWF0ZUNGU3RyaW5nKCkgY29uc3Q7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9pY3UvQ29sbGF0
b3JJQ1UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRv
cklDVS5jcHAKaW5kZXggODA1YjExNDdiNTRhYWM1NjI3ODQwMzUwZWJmMjc1ODlmYTUyZmQ4ZC4u
M2RjNjFkNGE1NzI3OTYwZmQ5MWJjYTM5Njk0NGM3ZmQyMDkxYmUzMCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5jcHAKQEAg
LTU5LDcgKzU5LDcgQEAgQ29sbGF0b3I6OkNvbGxhdG9yKGNvbnN0IGNoYXIqIGxvY2FsZSkKIAog
UGFzc093blB0cjxDb2xsYXRvcj4gQ29sbGF0b3I6OnVzZXJEZWZhdWx0KCkKIHsKLSNpZiBPUyhE
QVJXSU4pICYmIFBMQVRGT1JNKENGKQorI2lmIE9TKERBUldJTikgJiYgVVNFKENPUkVGT1VOREFU
SU9OKQogICAgIC8vIE1hYyBPUyBYIGRvZXNuJ3Qgc2V0IFVOSVggbG9jYWxlIHRvIG1hdGNoIHVz
ZXItc2VsZWN0ZWQgb25lLCBzbyBJQ1UgZGVmYXVsdCBkb2Vzbid0IHdvcmsuCiAjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYm
ICFPUyhJT1MpCiAgICAgUmV0YWluUHRyPENGTG9jYWxlUmVmPiBjdXJyZW50TG9jYWxlKEFkb3B0
Q0YsIENGTG9jYWxlQ29weUN1cnJlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM2MjdmMmE1YTFhOGI0
YjM3MTAwMjcyNDcyNzNmYmYxYjM5OGZlYS4uZTdiYmE4YTM4MDEwN2VhMDNkZjAwMDI1Y2IzZGZl
YzIxYzAxMmRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTAyLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShDRikgdG8gVVNFKENP
UkVGT1VOREFUSU9OKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTM1NDAKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAg
ICAqIGVkaXRpbmcvU21hcnRSZXBsYWNlLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL1NtYXJ0UmVw
bGFjZUlDVS5jcHA6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWwpOgorICAgICAg
ICAqIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmFyY2hpdmVNSU1FVHlwZXMpOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9LVVJMLmg6CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vU2hhcmVkQnVmZmVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9VVUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNh
bm9uaWNhbFVVSURTdHJpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNlcnRpZmljYXRlUGF0aCk6CisgICAgICAgICogcGxh
dGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9T
dHJpbmdJbXBsQ0YuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vQlN0cmluZy5oOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9D
bGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0V2ViTG9jRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpnZXRVUkwpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2xp
cGJvYXJkRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp3cml0ZUZpbGVUb0RhdGFPYmplY3QpOgorICAgICAgICAqIHBsYXRm
b3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNo
UG9wdXBNZW51V2luOjplbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVu
dVdpbjo6c2F2ZVJlY2VudFNlYXJjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVw
TWVudVdpbjo6bG9hZFJlY2VudFNlYXJjaGVzKToKKwogMjAxMS0wMi0wMSAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBNYWMgcHJvZHVjdGlvbiBidWlsZHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDI1OTRkMjk5MDRmMzkzOTAx
MmY1NWJhYzkyYTA2ZmZmMWE2OWJjNWQuLmY5NjYwYmZlNzBjM2NlMmEzOTBhZjg1YWMzZTQ3OWNm
NTYxYTBhY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMTc5
LDcgKzExNzksNyBAQAogICAgICAgICAgICAgIyBBZGRpdGlvbmFsIGZpbGVzIGZyb20gdGhlIFdl
YkNvcmUgTWFjIGJ1aWxkIHRoYXQgYXJlIHByZXNlbnRseQogICAgICAgICAgICAgIyB1c2VkIGlu
IHRoZSBXZWJDb3JlIENocm9taXVtIE1hYyBidWlsZCB0b28uCiAKLSAgICAgICAgICAgICMgVGhl
IE1hYyBidWlsZCBpcyBQTEFURk9STV9DRiBidXQgZG9lcyBub3QgdXNlIENGTmV0d29yay4KKyAg
ICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBVU0VfQ09SRUZPVU5EQVRJT04gYnV0IGRvZXMg
bm90IHVzZSBDRk5ldHdvcmsuCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnQ0ZcXC5jcHAkJ10s
CiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnbmV0d29yay9jZi8nXSwKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TbWFydFJlcGxhY2UuY3BwCmluZGV4IGM1ZjUyNDAzYTIyODZiZGNmZDRmYjNhZTNm
MDc0MDkwYzZkOWZhNjEuLmRiNjVmZjI4YjIyMGUwZDY0YzMxYzI2OTFhMzExMmM0ZmFiZGE2NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKQEAgLTI5LDcgKzI5LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTbWFydFJlcGxhY2UuaCIKIAotI2lm
ICFQTEFURk9STShDRikgJiYgIVVTRShJQ1VfVU5JQ09ERSkKKyNpZiAhVVNFKENPUkVGT1VOREFU
SU9OKSAmJiAhVVNFKElDVV9VTklDT0RFKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQw
LDQgKzQwLDQgQEAgYm9vbCBpc0NoYXJhY3RlclNtYXJ0UmVwbGFjZUV4ZW1wdChVQ2hhcjMyIGMs
IGJvb2wgaXNQcmV2aW91c0NoYXJhY3RlcikKIAogfQogCi0jZW5kaWYgLy8gIVBMQVRGT1JNKENG
KQorI2VuZGlmIC8vICFVU0UoQ09SRUZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZUlDVS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NtYXJ0UmVwbGFjZUlDVS5jcHAKaW5kZXggOWFjZDM1MGVkM2E2Yzg4M2M5ZmE5OTc2MGI2OTAw
NDNhY2M0M2FjNC4uYjFhMTAwNjdhMjc5OTRhMDc2MWMxMWY3YzhiMTA5YjUzNjg2YWEwZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2VJQ1UuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNwcApAQCAtMzAsNyArMzAs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNtYXJ0UmVwbGFjZS5oIgogCi0j
aWYgIVBMQVRGT1JNKENGKSAmJiBVU0UoSUNVX1VOSUNPREUpCisjaWYgIVVTRShDT1JFRk9VTkRB
VElPTikgJiYgVVNFKElDVV9VTklDT0RFKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAj
aW5jbHVkZSA8dW5pY29kZS91c2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KQEAg
LTk3LDQgKzk3LDQgQEAgYm9vbCBpc0NoYXJhY3RlclNtYXJ0UmVwbGFjZUV4ZW1wdChVQ2hhcjMy
IGMsIGJvb2wgaXNQcmV2aW91c0NoYXJhY3RlcikKIAogfQogCi0jZW5kaWYgLy8gIVBMQVRGT1JN
KENGKSAmJiBVU0UoSUNVX1VOSUNPREUpCisjZW5kaWYgLy8gIVVTRShDT1JFRk9VTkRBVElPTikg
JiYgVVNFKElDVV9VTklDT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01h
aW5SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNl
TG9hZGVyLmNwcAppbmRleCBlNmFiZWZkMWI0M2FmNjRkMGY4MmIxZjJlNjY3Y2VhMjBhODRmZmJm
Li5iZWI0OTlkMWFjNzI3OWZhOWFiYjMyYTNhNWJjZDEyY2YyMTRkNjhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtMzU4LDcgKzM1OCw3IEBA
IHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcikKIAogICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVy
ZSBjYWxsYmFja3MgY2FuIGJlIGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJl
ZC4KICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMu
Ci0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgQVNTRVJU
KHNob3VsZExvYWRBc0VtcHR5RG9jdW1lbnQoci51cmwoKSkgfHwgIWRlZmVyc0xvYWRpbmcoKSk7
CiAjZW5kaWYKIApAQCAtNDI1LDcgKzQyNSw3IEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpk
aWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBsb25nIGxvbmcKIAog
ICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVyZSBjYWxsYmFja3MgY2FuIGJl
IGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJlZC4KICAgICAvLyBTZWUgPHJk
YXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMuCi0jaWYgIVBMQVRGT1JNKENG
KQorI2lmICFVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgQVNTRVJUKCFkZWZlcnNMb2FkaW5nKCkp
OwogI2VuZGlmCiAgCkBAIC00NDYsNyArNDQ2LDcgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6
OmRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpCiB7CiAgICAgLy8gVGhlcmUgaXMg
YSBidWcgaW4gQ0ZOZXR3b3JrIHdoZXJlIGNhbGxiYWNrcyBjYW4gYmUgZGlzcGF0Y2hlZCBldmVu
IHdoZW4gbG9hZHMgYXJlIGRlZmVycmVkLgogICAgIC8vIFNlZSA8cmRhcjovL3Byb2JsZW0vNjMw
NDYwMD4gZm9yIG1vcmUgZGV0YWlscy4KLSNpZiAhUExBVEZPUk0oQ0YpCisjaWYgIVVTRShDT1JF
Rk9VTkRBVElPTikKICAgICBBU1NFUlQoc2hvdWxkTG9hZEFzRW1wdHlEb2N1bWVudChmcmFtZUxv
YWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpLT51cmwoKSkgfHwgIWRlZmVyc0xvYWRpbmco
KSk7CiAjZW5kaWYKICAgICAKQEAgLTQ3Nyw3ICs0NzcsNyBAQCB2b2lkIE1haW5SZXNvdXJjZUxv
YWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikKIAogICAgIC8vIFRoZXJl
IGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVyZSBjYWxsYmFja3MgY2FuIGJlIGRpc3BhdGNoZWQg
ZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJlZC4KICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVt
LzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMuCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0Uo
Q09SRUZPVU5EQVRJT04pCiAgICAgQVNTRVJUKCFkZWZlcnNMb2FkaW5nKCkpOwogI2VuZGlmCiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFj
dG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5j
cHAKaW5kZXggMmUxMDhjNTQ5NDZhYjA2MDcyZmQ1YmE4Y2YyNGM5NmEyYzliNjU2MC4uZjdhNzBj
Y2Q5Nzc2ZWNjMzNiYTIxZTA4YzI0YWM2MjFhYTM2MjgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcApAQCAtMzIsNyArMzIsNyBAQAog
I2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgogCi0jaWYgUExBVEZPUk0oQ0YpICYmICFQTEFURk9STShRVCkKKyNpZiBVU0UoQ09SRUZPVU5E
QVRJT04pICYmICFQTEFURk9STShRVCkKICNpbmNsdWRlICJMZWdhY3lXZWJBcmNoaXZlLmgiCiAj
ZW5kaWYKIApAQCAtNjAsNyArNjAsNyBAQCBzdGF0aWMgQXJjaGl2ZU1JTUVUeXBlc01hcCYgYXJj
aGl2ZU1JTUVUeXBlcygpCiAgICAgaWYgKGluaXRpYWxpemVkKQogICAgICAgICByZXR1cm4gbWlt
ZVR5cGVzOwogCi0jaWYgUExBVEZPUk0oQ0YpICYmICFQTEFURk9STShRVCkKKyNpZiBVU0UoQ09S
RUZPVU5EQVRJT04pICYmICFQTEFURk9STShRVCkKICAgICBtaW1lVHlwZXMuc2V0KCJhcHBsaWNh
dGlvbi94LXdlYmFyY2hpdmUiLCBhcmNoaXZlRmFjdG9yeUNyZWF0ZTxMZWdhY3lXZWJBcmNoaXZl
Pik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5
c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IGQ5MjNm
ZTYwYmRmMzVhYjEwYTk0ZTlhMDdjNmQxOTU2ZjliZDRlYjQuLjcyNTM1M2VlMTA2MjBiNmE1ZjAx
YWU1MjkxNDY4YTFhMDY5M2QyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgK
QEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikK
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKIApAQCAtNDcsNyArNDcsNyBAQAog
I2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENGKSB8fCAoUExBVEZPUk0oUVQpICYmIGRl
ZmluZWQoUV9XU19NQUMpKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikgfHwgKFBMQVRGT1JNKFFU
KSAmJiBkZWZpbmVkKFFfV1NfTUFDKSkKIHR5cGVkZWYgc3RydWN0IF9fQ0ZCdW5kbGUqIENGQnVu
ZGxlUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRkRhdGEqIENGRGF0YVJlZjsKICNlbmRp
ZgpAQCAtODQsNyArODQsNyBAQCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTW9kdWxlOwogI2VuZGlm
CiAjZWxpZiBQTEFURk9STShHVEspCiB0eXBlZGVmIEdNb2R1bGUqIFBsYXRmb3JtTW9kdWxlOwot
I2VsaWYgUExBVEZPUk0oQ0YpCisjZWxpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiB0eXBlZGVmIENG
QnVuZGxlUmVmIFBsYXRmb3JtTW9kdWxlOwogI2Vsc2UKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1N
b2R1bGU7CkBAIC0xODksNyArMTg5LDcgQEAgYm9vbCB1bmxvYWRNb2R1bGUoUGxhdGZvcm1Nb2R1
bGUpOwogLy8gRW5jb2RlIGEgc3RyaW5nIGZvciB1c2Ugd2l0aGluIGEgZmlsZSBuYW1lLgogU3Ry
aW5nIGVuY29kZUZvckZpbGVOYW1lKGNvbnN0IFN0cmluZyYpOwogCi0jaWYgUExBVEZPUk0oQ0Yp
CisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogUmV0YWluUHRyPENGVVJMUmVmPiBwYXRoQXNVUkwo
Y29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS1VSTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oCmluZGV4IGNiZjBk
OGI4MzI0N2FmNzI2OTIyMWQ1ZjQ1ZDcxYjg5ZTUwMjIyZjIuLjIyNGM2NmMyMGM3YWM4NTMwOWZm
ZGYyNDRmOGQxY2Q3NTg4MTlhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0tVUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmgKQEAgLTI5LDcgKzI5
LDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiB0eXBlZGVm
IGNvbnN0IHN0cnVjdCBfX0NGVVJMKiBDRlVSTFJlZjsKICNlbmRpZgogCkBAIC0xODYsNyArMTg2
LDcgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHBhdGhBZnRlckxhc3RTbGFzaCgpIGNvbnN0Owog
ICAgIG9wZXJhdG9yIGNvbnN0IFN0cmluZyYoKSBjb25zdCB7IHJldHVybiBzdHJpbmcoKTsgfQog
Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogICAgIEtVUkwoQ0ZV
UkxSZWYpOwogICAgIENGVVJMUmVmIGNyZWF0ZUNGVVJMKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKaW5kZXggNmQ2MzczNGU5YzIxNDYyN2FlNDg4
ODM0MzZhMDE2YjIzZTIzZmI4Ni4uMGE3YjQzNGFiZDk1MWU5YTZlMjllN2ZjZTdlNTEyODhlYWI4
NjI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKQEAgLTQwOCw3ICs0
MDgsNyBAQCBLVVJMOjpLVVJMKGNvbnN0IENTdHJpbmcmIGNhbm9uaWNhbFNwZWMsCiAgICAgICAg
IG1fdXJsLnNldEFzY2lpKGNhbm9uaWNhbFNwZWMpOwogfQogCi0jaWYgUExBVEZPUk0oQ0YpCisj
aWYgVVNFKENPUkVGT1VOREFUSU9OKQogS1VSTDo6S1VSTChDRlVSTFJlZikKIHsKICAgICBub3RJ
bXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9v
cFRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAppbmRleCBm
OGM1MjlmY2ViMmQxNzAzMGIyNmEzNjljMGIzMTM0MTQ0YjA1NmEwLi4zMWVkNGJmY2Q0YzRhMWFk
MjI3MGYyZGYzYTQwYWUzYjc5Y2QzNDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29w
VGltZXIuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGZpcmVk
KCkgPSAwOwogCiBwcml2YXRlOgotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRB
VElPTikKICAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29wVGltZXJSZWY+IG1fdGltZXI7CiAjZW5kaWYK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcAppbmRleCAzNWE3Yjdj
NDI2ZTYyMjc3ZTc3YTExMTZlMTgyOWQ1NWJlMWQzNDAzLi4yZGRjMmRmMzVmOGRiYzQyMzQ2MWJh
MTU3MmQzZjI5Y2M1ODA1ZWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
aGFyZWRCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZl
ci5jcHAKQEAgLTIzOSw3ICsyMzksNyBAQCB1bnNpZ25lZCBTaGFyZWRCdWZmZXI6OmdldFNvbWVE
YXRhKGNvbnN0IGNoYXIqJiBzb21lRGF0YSwgdW5zaWduZWQgcG9zaXRpb24pIGNvbgogICAgIHJl
dHVybiBzZWdtZW50ID09IHNlZ21lbnRzIC0gMSA/IHNlZ21lbnRlZFNpemUgLSBwb3NpdGlvbiA6
IHNlZ21lbnRTaXplIC0gcG9zaXRpb25JblNlZ21lbnQ7CiB9CiAKLSNpZiAhUExBVEZPUk0oQ0Yp
IHx8IFBMQVRGT1JNKFFUKQorI2lmICFVU0UoQ09SRUZPVU5EQVRJT04pIHx8IFBMQVRGT1JNKFFU
KQogCiBpbmxpbmUgdm9pZCBTaGFyZWRCdWZmZXI6OmNsZWFyUGxhdGZvcm1EYXRhKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKaW5kZXggYmZjNTkzMTJjMzIyZTBjOTkx
OGJhZDdlZDYzZTNmODljOTQ2NjVmYy4uODkwMWE1MjdkOTQyMDM0Zjk5ZjNkMjA5NGYzMGM0ZDhh
NTJlOThlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKQEAgLTMyLDcg
KzMyLDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKIApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6
CiAgICAgTlNEYXRhICpjcmVhdGVOU0RhdGEoKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFy
ZWRCdWZmZXI+IHdyYXBOU0RhdGEoTlNEYXRhICpkYXRhKTsKICNlbmRpZgotI2lmIFBMQVRGT1JN
KENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICAgICBDRkRhdGFSZWYgY3JlYXRlQ0ZEYXRh
KCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiB3cmFwQ0ZEYXRhKENGRGF0
YVJlZik7CiAjZW5kaWYKQEAgLTEyNyw3ICsxMjcsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUg
VmVjdG9yPGNoYXI+IG1fYnVmZmVyOwogICAgIG11dGFibGUgVmVjdG9yPGNoYXIqPiBtX3NlZ21l
bnRzOwogICAgIE93blB0cjxQdXJnZWFibGVCdWZmZXI+IG1fcHVyZ2VhYmxlQnVmZmVyOwotI2lm
IFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICAgICBTaGFyZWRCdWZmZXIo
Q0ZEYXRhUmVmKTsKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBtX2NmRGF0YTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9VVUlELmNwcAppbmRleCBjMDcyZjRhYzBiYWZkM2JjNjI4NzgxMTFlYWQz
YmI3NWJjOGM3YTBjLi5hMDc4ZTkzNDQ2YmUwNmNlZTFlOGU5ZWRkNjBhZTA0Njk5YzQwNjE3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcApAQCAtMzksMTEgKzM5LDExIEBACiAKICNpZiBPUyhX
SU5ET1dTKQogI2luY2x1ZGUgPG9iamJhc2UuaD4KLSNlbGlmIE9TKERBUldJTikgJiYgUExBVEZP
Uk0oQ0YpCisjZWxpZiBPUyhEQVJXSU4pICYmIFVTRShDT1JFRk9VTkRBVElPTikKICNpbmNsdWRl
IDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VsaWYgT1MoTElOVVgpICYmICFQ
TEFURk9STShDSFJPTUlVTSkKICNpbmNsdWRlIDxzdGRpby5oPgotI2VsaWYgKE9TKExJTlVYKSAm
JiBQTEFURk9STShDSFJPTUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFQTEFURk9STShDRikpCisj
ZWxpZiAoT1MoTElOVVgpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERBUldJTikgJiYg
IVVTRShDT1JFRk9VTkRBVElPTikpCiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNlbmRpZgpAQCAtNzEsNyArNzEsNyBA
QCBTdHJpbmcgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpCiAgICAgU3RyaW5nIGNhbm9uaWNh
bFV1aWRTdHIgPSBTdHJpbmcodXVpZFN0ciArIDEsIG51bSAtIDMpLmxvd2VyKCk7IC8vIHJlbW92
ZSBvcGVuaW5nIGFuZCBjbG9zaW5nIGJyYWNrZXQgYW5kIG1ha2UgaXQgbG93ZXIuCiAgICAgQVNT
RVJUKGNhbm9uaWNhbFV1aWRTdHJbdXVpZFZlcnNpb25JZGVudGlmaWVySW5kZXhdID09IHV1aWRW
ZXJzaW9uUmVxdWlyZWQpOwogICAgIHJldHVybiBjYW5vbmljYWxVdWlkU3RyOwotI2VsaWYgT1Mo
REFSV0lOKSAmJiBQTEFURk9STShDRikKKyNlbGlmIE9TKERBUldJTikgJiYgVVNFKENPUkVGT1VO
REFUSU9OKQogICAgIENGVVVJRFJlZiB1dWlkID0gQ0ZVVUlEQ3JlYXRlKDApOwogICAgIENGU3Ry
aW5nUmVmIHV1aWRTdHJSZWYgPSBDRlVVSURDcmVhdGVTdHJpbmcoMCwgdXVpZCk7CiAgICAgU3Ry
aW5nIHV1aWRTdHIodXVpZFN0clJlZik7CkBAIC05Myw3ICs5Myw3IEBAIFN0cmluZyBjcmVhdGVD
YW5vbmljYWxVVUlEU3RyaW5nKCkKICAgICBTdHJpbmcgY2Fub25pY2FsVXVpZFN0ciA9IFN0cmlu
Zyh1dWlkU3RyKS5sb3dlcigpOyAvLyBtYWtlIGl0IGxvd2VyLgogICAgIEFTU0VSVChjYW5vbmlj
YWxVdWlkU3RyW3V1aWRWZXJzaW9uSWRlbnRpZmllckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVp
cmVkKTsKICAgICByZXR1cm4gY2Fub25pY2FsVXVpZFN0cjsKLSNlbGlmIChPUyhMSU5VWCkgJiYg
UExBVEZPUk0oQ0hST01JVU0pKSB8fCAoT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oQ0YpKQorI2Vs
aWYgKE9TKExJTlVYKSAmJiBQTEFURk9STShDSFJPTUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFV
U0UoQ09SRUZPVU5EQVRJT04pKQogICAgIHVuc2lnbmVkIHJhbmRvbURhdGFbNF07CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHJhbmRvbURhdGEpOyArK2kpCiAg
ICAgICAgIHJhbmRvbURhdGFbaV0gPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVy
KCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpICsgMS4wKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKaW5kZXgg
ZDUxOGQ4NzE3OGFjODFhMmFiNjAwNmI2OWZlOTAyZGZlNmY3ZTQwMC4uNzJmMmMwMDA0ZjMxODY3
MTEzOTA2MDE5MDQ4NGQ0MjliMmJmOWEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaApAQCAtMzcsNyArMzcsNyBAQAogdHlwZWRlZiBz
dHJ1Y3QgX1NvdXBTZXNzaW9uIFNvdXBTZXNzaW9uOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShD
RikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGRGF0
YSAqIENGRGF0YVJlZjsKICNlbmRpZgogCkBAIC0xNDAsNyArMTQwLDcgQEAgcHVibGljOgogI2lm
IFBMQVRGT1JNKFdJTikgJiYgVVNFKENVUkwpCiAgICAgc3RhdGljIHZvaWQgc2V0SG9zdEFsbG93
c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKLSNpZiBQTEFURk9S
TShXSU4pICYmIFVTRShDVVJMKSAmJiBQTEFURk9STShDRikKKyNpZiBQTEFURk9STShXSU4pICYm
IFVTRShDVVJMKSAmJiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgc3RhdGljIHZvaWQgc2V0Q2xp
ZW50Q2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJiBob3N0LCBDRkRhdGFSZWYpOwogI2VuZGlmCiAK
QEAgLTIxMCw3ICsyMTAsNyBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZv
aWQgY3JlYXRlTlNVUkxDb25uZWN0aW9uKGlkIGRlbGVnYXRlLCBib29sIHNob3VsZFVzZUNyZWRl
bnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZik7Ci0jZWxpZiBQTEFURk9STShD
RikKKyNlbGlmIFVTRShDT1JFRk9VTkRBVElPTikKICAgICB2b2lkIGNyZWF0ZUNGVVJMQ29ubmVj
dGlvbihib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRT
bmlmZik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAppbmRleCA5Y2M5MTQ4YTg0Mjg4MDAyY2NkYTlmNmRi
YmQ2NDMzZmQ3NjUxMWZiLi4yOTNlMDk2NDYxNTFlMGVjNWE3OTkyMjE4MGFhYTkyYzBhMDhkN2Zh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVx
dWVzdEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuaApAQCAtMjM2LDcgKzIzNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAKICAgICB1bnNpZ25lZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJI
b3N0KCk7CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAg
Ym9vbCBpc0hUVFBQaXBlbGluaW5nRW5hYmxlZCgpOwogICAgIGJvb2wgc2hvdWxkRm9yY2VIVFRQ
UGlwZWxpbmluZ1ByaW9yaXR5SGlnaCgpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKaW5k
ZXggZjM2MGY4NmU5MDQ0MWFhNDFjOGY0OGU3YmU1OWE3OTNkNzFmZjcwYy4uMTRjYjMxNzAyNWI4
ODQzMDYwNjJkNTcxYmZkNTAyZDljMzY1N2ZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKQEAg
LTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZU1hbmFnZXIuaCIKICNpbmNs
dWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgUExBVEZPUk0oQ0Yp
CisjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ09SRUZPVU5EQVRJT04pCiAjaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKQEAgLTEy
NCw3ICsxMjQsNyBAQCBib29sIFJlc291cmNlSGFuZGxlOjpzdXBwb3J0c0J1ZmZlcmVkRGF0YSgp
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi0jaWYgUExBVEZPUk0oV0lOKSAmJiBQTEFURk9STShD
RikKKyNpZiBQTEFURk9STShXSU4pICYmIFVTRShDT1JFRk9VTkRBVElPTikKIHN0YXRpYyBIYXNo
U2V0PFN0cmluZz4mIGFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGVIb3N0cygpCiB7CiAgICAgc3Rh
dGljIEhhc2hTZXQ8U3RyaW5nPiBob3N0czsKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpzZXRIb3N0QWxsb3dzQW55SFRUUFNDZXJ0aWZpY2F0ZShjb25zdCBTdHJpbmcm
IGhvc3QpCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgUExBVEZPUk0oQ0YpCisj
aWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ09SRUZPVU5EQVRJT04pCiAvLyBGSVhNRTogIFRoZSBD
RkRhdGFSZWYgd2lsbCBuZWVkIHRvIGJlIHNvbWV0aGluZyBlbHNlIHdoZW4KIC8vIGJ1aWxkaW5n
IHdpdGhvdXQgCiBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIFJldGFpblB0cjxDRkRhdGFSZWY+ID4m
IGNsaWVudENlcnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKaW5kZXggMmU0MjU5Y2Uz
ZDhmZTNmZjRkMDcyMDcyYTc3MDY3MGIwMzc1YjA2ZS4uYTM0MGVkMjU4OTA0NDFhYzRjYzM4Mjhl
YTUxOTRiNDEzOWI5ZDNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKQEAgLTQ0LDcg
KzQ0LDcgQEAKIAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KLSNpZiBQ
TEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtNjYsNyArNjYs
NyBAQCBzdGF0aWMgY29uc3QgYm9vbCBpZ25vcmVTU0xFcnJvcnMgPSBnZXRlbnYoIldFQktJVF9J
R05PUkVfU1NMX0VSUk9SUyIpOwogCiBzdGF0aWMgQ1N0cmluZyBjZXJ0aWZpY2F0ZVBhdGgoKQog
ewotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICAgICBDRkJ1bmRs
ZVJlZiB3ZWJLaXRCdW5kbGUgPSBDRkJ1bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RS
KCJjb20uYXBwbGUuV2ViS2l0IikpOwogICAgIGlmICh3ZWJLaXRCdW5kbGUpIHsKICAgICAgICAg
UmV0YWluUHRyPENGVVJMUmVmPiBjZXJ0VVJMUmVmKEFkb3B0Q0YsIENGQnVuZGxlQ29weVJlc291
cmNlVVJMKHdlYktpdEJ1bmRsZSwgQ0ZTVFIoImNhY2VydCIpLCBDRlNUUigicGVtIiksIENGU1RS
KCJjZXJ0aWZpY2F0ZXMiKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9jZi9TdHJpbmdDRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0
cmluZ0NGLmNwcAppbmRleCBkY2FmOGZiOTdlZDc3MmM2YWM1YzdjYjgyYjhhMWVkNmU4ZjU1ZTQ5
Li5jMmZiZTg5NmU4ZTQ5NGQ5MDI0YTcxYTc4ZDI0MzgwOWY3MzkyMDdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0NGLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0NGLmNwcApAQCAtMjEsNyArMjEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpZiBQ
TEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAKICNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogCkBAIC01Miw0ICs1Miw0IEBAIENGU3RyaW5nUmVm
IFN0cmluZzo6Y3JlYXRlQ0ZTdHJpbmcoKSBjb25zdAogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9S
TShDRikKKyNlbmRpZiAvLyBVU0UoQ09SRUZPVU5EQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAKaW5kZXggMDE1NzkxODNjZjExOTg0
NDQyZmVhYjcwMmU3NWYyOTkyZDc0N2YyNC4uNGE5ODZmZDQwZTJiMGY4NWMwN2Y4NGE3NTg3MDQx
YjA0MmQ5YjEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9T
dHJpbmdJbXBsQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvU3Ry
aW5nSW1wbENGLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVT
RShDT1JFRk9VTkRBVElPTikKIAogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0
aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTE1OSw0ICsxNTksNCBAQCBD
RlN0cmluZ1JlZiBTdHJpbmdJbXBsOjpjcmVhdGVDRlN0cmluZygpCiAKIH0KIAotI2VuZGlmIC8v
IFBMQVRGT1JNKENGKQorI2VuZGlmIC8vIFVTRShDT1JFRk9VTkRBVElPTikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcAppbmRleCA0ZDZkMTFlZDEyM2VhYWJjZjAxZWE5MzRk
NDJmMTY2MWNhNGU4ODE0Li42ZmJiODI0MzczZWNmNzY0NDg2YWNlMDE1YWVkOTk5MzlkODQyMjMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcuY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSA8dGNoYXIuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAKLSNpZiBQTEFU
Rk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRp
b24vQ29yZUZvdW5kYXRpb24uaD4KICNlbmRpZgogCkBAIC05Myw3ICs5Myw3IEBAIEJTdHJpbmc6
OkJTdHJpbmcoY29uc3QgVVN0cmluZyYgcykKICAgICAgICAgbV9ic3RyID0gU3lzQWxsb2NTdHJp
bmdMZW4ocy5jaGFyYWN0ZXJzKCksIHMubGVuZ3RoKCkpOwogfQogCi0jaWYgUExBVEZPUk0oQ0Yp
CisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogQlN0cmluZzo6QlN0cmluZyhDRlN0cmluZ1JlZiBj
ZnN0cikKICAgICA6IG1fYnN0cigwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0JTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9CU3RyaW5n
LmgKaW5kZXggYmRiZjE4OWYxYzM2N2IwZDUwYTNjMmZjZWQ1N2RkYTBmOTliNTJlYi4uZTVjNDk0
YzljMDMyMjI3YWRmMDk4YTNjNGE5OGY4NDJhZGFhZDhiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS93aW4vQlN0cmluZy5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogdHlwZWRl
ZiBjb25zdCBzdHJ1Y3QgX19DRlN0cmluZyAqIENGU3RyaW5nUmVmOwogI2VuZGlmCiAKQEAgLTUx
LDcgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBCU3RyaW5nKGNvbnN0IEF0
b21pY1N0cmluZyYpOwogICAgICAgICBCU3RyaW5nKGNvbnN0IEtVUkwmKTsKICAgICAgICAgQlN0
cmluZyhjb25zdCBKU0M6OlVTdHJpbmcmKTsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09S
RUZPVU5EQVRJT04pCiAgICAgICAgIEJTdHJpbmcoQ0ZTdHJpbmdSZWYpOwogI2VuZGlmCiAgICAg
ICAgIH5CU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
Q2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwCmluZGV4IDYyOWFkOTk3MmRiNjhiNjM4ZjczOWU4NThj
MTYwMmNlZmFhYTZhZjIuLjI1NDdjYTUwODQwYzFhOGM2OWZhNTQyMDFhMzJkMjI2ZjUwZTNmZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRp
ZXNXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGls
aXRpZXNXaW4uY3BwCkBAIC0zNywxNCArMzcsMTQgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICNpbmNsdWRlIDxDb3JlRm91bmRh
dGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRp
ZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09S
RUZPVU5EQVRJT04pCiBGT1JNQVRFVEMqIGNmSERyb3BGb3JtYXQoKQogewogICAgIHN0YXRpYyBG
T1JNQVRFVEMgdXJsRm9ybWF0ID0ge0NGX0hEUk9QLCAwLCBEVkFTUEVDVF9DT05URU5ULCAtMSwg
VFlNRURfSEdMT0JBTH07CkBAIC04Miw3ICs4Miw3IEBAIHN0YXRpYyBib29sIGdldERhdGFNYXBJ
dGVtKGNvbnN0IERyYWdEYXRhTWFwKiBkYXRhT2JqZWN0LCBGT1JNQVRFVEMqIGZvcm1hdCwgU3Ry
CiBzdGF0aWMgYm9vbCBnZXRXZWJMb2NEYXRhKElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBTdHJp
bmcmIHVybCwgU3RyaW5nKiB0aXRsZSkgCiB7CiAgICAgYm9vbCBzdWNjZWVkZWQgPSBmYWxzZTsK
LSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgV0NIQVIgZmls
ZW5hbWVbTUFYX1BBVEhdOwogICAgIFdDSEFSIHVybEJ1ZmZlcltJTlRFUk5FVF9NQVhfVVJMX0xF
TkdUSF07CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCBleGl0OgogCiBzdGF0aWMgYm9vbCBnZXRXZWJM
b2NEYXRhKGNvbnN0IERyYWdEYXRhTWFwKiBkYXRhT2JqZWN0LCBTdHJpbmcmIHVybCwgU3RyaW5n
KiB0aXRsZSkgCiB7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQog
ICAgIFdDSEFSIGZpbGVuYW1lW01BWF9QQVRIXTsKICAgICBXQ0hBUiB1cmxCdWZmZXJbSU5URVJO
RVRfTUFYX1VSTF9MRU5HVEhdOwogCkBAIC0zODksNyArMzg5LDcgQEAgU3RyaW5nIGdldFVSTChJ
RGF0YU9iamVjdCogZGF0YU9iamVjdCwgRHJhZ0RhdGE6OkZpbGVuYW1lQ29udmVyc2lvblBvbGlj
eSBmaWxlbmEKICAgICAgICAgUmVsZWFzZVN0Z01lZGl1bSgmc3RvcmUpOwogICAgICAgICBzdWNj
ZXNzID0gdHJ1ZTsKICAgICB9Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFU
SU9OKQogICAgIGVsc2UgaWYgKGZpbGVuYW1lUG9saWN5ID09IERyYWdEYXRhOjpDb252ZXJ0Rmls
ZW5hbWVzKSB7CiAgICAgICAgIGlmIChTVUNDRUVERUQoZGF0YU9iamVjdC0+R2V0RGF0YShmaWxl
bmFtZVdGb3JtYXQoKSwgJnN0b3JlKSkpIHsKICAgICAgICAgICAgIC8vIGZpbGUgdXNpbmcgdW5p
Y29kZQpAQCAtNDMzLDcgKzQzMyw3IEBAIFN0cmluZyBnZXRVUkwoY29uc3QgRHJhZ0RhdGFNYXAq
IGRhdGEsIERyYWdEYXRhOjpGaWxlbmFtZUNvbnZlcnNpb25Qb2xpY3kgZmlsZW5hCiAgICAgICAg
IHJldHVybiBleHRyYWN0VVJMKHVybCwgdGl0bGUpOwogICAgIGlmIChnZXREYXRhTWFwSXRlbShk
YXRhLCB1cmxGb3JtYXQoKSwgdXJsKSkKICAgICAgICAgcmV0dXJuIGV4dHJhY3RVUkwodXJsLCB0
aXRsZSk7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogICAgIGlm
IChmaWxlbmFtZVBvbGljeSAhPSBEcmFnRGF0YTo6Q29udmVydEZpbGVuYW1lcykKICAgICAgICAg
cmV0dXJuIHVybDsKIApAQCAtNjQxLDcgKzY0MSw3IEBAIHZvaWQgZ2V0VXRmOERhdGEoSURhdGFP
YmplY3QqIGRhdGEsIEZPUk1BVEVUQyogZm9ybWF0LCBWZWN0b3I8U3RyaW5nPiYgZGF0YVN0cmlu
CiAgICAgUmVsZWFzZVN0Z01lZGl1bSgmc3RvcmUpOwogfQogCi0jaWYgUExBVEZPUk0oQ0YpCisj
aWYgVVNFKENPUkVGT1VOREFUSU9OKQogdm9pZCBnZXRDZkRhdGEoSURhdGFPYmplY3QqIGRhdGEs
IEZPUk1BVEVUQyogZm9ybWF0LCBWZWN0b3I8U3RyaW5nPiYgZGF0YVN0cmluZ3MpCiB7CiAgICAg
U1RHTUVESVVNIHN0b3JlOwpAQCAtNjczLDcgKzY3Myw3IEBAIHZvaWQgZ2V0Q2xpcGJvYXJkRGF0
YShJRGF0YU9iamVjdCAqZGF0YU9iamVjdCwgRk9STUFURVRDKiBmb3JtYXQsIFZlY3RvcjxTdHJp
bmc+CiAgICAgICAgIGZvcm1hdE1hcC5hZGQodGV4dGh0bWxGb3JtYXQoKS0+Y2ZGb3JtYXQsIGdl
dFN0cmluZ0RhdGE8VUNoYXI+KTsKICAgICAgICAgZm9ybWF0TWFwLmFkZChwbGFpblRleHRGb3Jt
YXQoKS0+Y2ZGb3JtYXQsIGdldFN0cmluZ0RhdGE8Y2hhcj4pOwogICAgICAgICBmb3JtYXRNYXAu
YWRkKHBsYWluVGV4dFdGb3JtYXQoKS0+Y2ZGb3JtYXQsIGdldFN0cmluZ0RhdGE8VUNoYXI+KTsK
LSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgICAgIGZvcm1h
dE1hcC5hZGQoY2ZIRHJvcEZvcm1hdCgpLT5jZkZvcm1hdCwgZ2V0Q2ZEYXRhKTsKICNlbmRpZgog
ICAgICAgICBmb3JtYXRNYXAuYWRkKGZpbGVuYW1lRm9ybWF0KCktPmNmRm9ybWF0LCBnZXRTdHJp
bmdEYXRhPGNoYXI+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdp
bi5jcHAKaW5kZXggMzk0NjEwYzc5NWNjMTlmOGMwNjdjMWRmOTVkNjAyYmI4NmU4OWZhNy4uNTk3
Mjk1Y2RiZWNhOGIxODYyOTUzOTk4MmVjOGQ5YTdlMWFjNzU2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHAKQEAgLTMxOCw3ICszMTgsNyBAQCBzdGF0
aWMgSFJFU1VMVCB3cml0ZUZpbGVUb0RhdGFPYmplY3QoSURhdGFPYmplY3QqIGRhdGFPYmplY3Qs
IEhHTE9CQUwgZmlsZURlc2NyaQogICAgIGlmIChGQUlMRUQoaHIgPSBkYXRhT2JqZWN0LT5TZXRE
YXRhKGZlLCAmbWVkaXVtLCBUUlVFKSkpCiAgICAgICAgIGdvdG8gZXhpdDsKIAotI2lmIFBMQVRG
T1JNKENGKQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICAgICAvLyBIRFJPUAogICAgIGlmICho
RHJvcENvbnRlbnQpIHsKICAgICAgICAgbWVkaXVtLmhHbG9iYWwgPSBoRHJvcENvbnRlbnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51V2lu
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3Bw
CmluZGV4IDdhZTgwMGIzYjdlMjcwNjlkOWQ1MGY3MTFhN2NjMDYwNGM5ZjJhZDcuLmVkOTcyODNm
YmJjOWM2ZGNlMTQ5ZWY2MmVhZjQ5OWVhMzljOWVlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwCkBAIC0yMyw3ICsyMyw3IEBA
CiAKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKENG
KQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAj
ZW5kaWYKIApAQCAtNDEsMTQgKzQxLDE0IEBAIFBvcHVwTWVudSogU2VhcmNoUG9wdXBNZW51V2lu
Ojpwb3B1cE1lbnUoKQogCiBib29sIFNlYXJjaFBvcHVwTWVudVdpbjo6ZW5hYmxlZCgpCiB7Ci0j
aWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogICAgIHJldHVybiB0cnVl
OwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIH0KIAotI2lmIFBMQVRGT1JNKENG
KQorI2lmIFVTRShDT1JFRk9VTkRBVElPTikKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+
IGF1dG9zYXZlS2V5KGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKICAgICBTdHJpbmcga2V5ID0gImNv
bS5hcHBsZS5XZWJLaXQuc2VhcmNoRmllbGQ6IiArIG5hbWU7CkBAIC02MSw3ICs2MSw3IEBAIHZv
aWQgU2VhcmNoUG9wdXBNZW51V2luOjpzYXZlUmVjZW50U2VhcmNoZXMoY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lLCBjb25zdCBWZWN0CiAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAg
UmV0YWluUHRyPENGTXV0YWJsZUFycmF5UmVmPiBpdGVtczsKIAogICAgIHNpemVfdCBzaXplID0g
c2VhcmNoSXRlbXMuc2l6ZSgpOwpAQCAtODMsNyArODMsNyBAQCB2b2lkIFNlYXJjaFBvcHVwTWVu
dVdpbjo6bG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgVmVjdG9y
PFN0cgogICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgUExB
VEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogICAgIHNlYXJjaEl0ZW1zLmNsZWFy
KCk7CiAgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGl0ZW1zKEFkb3B0Q0YsIHJlaW50ZXJwcmV0
X2Nhc3Q8Q0ZBcnJheVJlZj4oQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1ZShhdXRvc2F2ZUtleShu
YW1lKS5nZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24pKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2YvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jZi9DaGFu
Z2VMb2cKaW5kZXggZTJjMmM4MzE3MWNmZWIyZjVkNGNhMjcwNGNkNmJkMzI5MzgzZTI4MS4uMGZi
Zjg5MWUwNWNmYzE0N2UyN2NjOTlkMDNkYzFkMDcyZjgxZmJhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jZi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jZi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW5hbWUgUExBVEZPUk0oQ0YpIHRvIFVTRShDT1JFRk9VTkRBVElPTikKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHA6CisKIDIwMTEtMDEtMjYgIFl1
cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2YvV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3BwIGIvU291cmNlL1dlYktpdC9jZi9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAKaW5kZXggNmJmNWRiZDNjNTY0ZGU1MDI5
OGMxYmRjMjAyZGIwNjc1NDE3ZjI2YS4uYjJhMWYxMDAyYTVhNzAzZjY5NTg3OGI4YzIzNDgzOTY4
NGQ3ODgxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnRDRi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAKQEAgLTI1LDEyICsyNSwxMiBAQAogCiAvLyBGSVhN
RTogT24gV2luZG93cywgd2UgcmVxdWlyZSBhbGwgV2ViS2l0IHNvdXJjZSBmaWxlcyB0byBpbmNs
dWRlIGNvbmZpZy5oCiAvLyBiZWZvcmUgaW5jbHVkaW5nIGFueSBvdGhlciBmaWxlcy4gRmFpbGlu
ZyB0byBpbmNsdWRlIGNvbmZpZy5oIHdpbGwgbGVhdmUKLS8vIFdURl9QTEFURk9STV9DRiBhbmQg
V1RGX1VTRV9KU0MgdW5kZWZpbmVkLCBjYXVzaW5nIGJ1aWxkIGZhaWx1cmVzIGluIHRoaXMgCisv
LyBXVEZfVVNFX0NPUkVGT1VOREFUSU9OIGFuZCBXVEZfVVNFX0pTQyB1bmRlZmluZWQsIGNhdXNp
bmcgYnVpbGQgZmFpbHVyZXMgaW4gdGhpcyAKIC8vIGZpbGUuIEJ1dCBNYWMgZG9lc24ndCBoYXZl
IGEgY29uZmlnLmggZm9yIFdlYktpdCwgc28gd2UgY2FuJ3QgaW5jbHVkZSB0aGUgCi0vLyBXaW5k
b3dzIG9uZSBoZXJlLiBGb3Igbm93IHdlIGNhbiBqdXN0IGRlZmluZSBXVEZfUExBVEZPUk1fQ0Ys
ICBXVEZfVVNFX0pTQywgYW5kCisvLyBXaW5kb3dzIG9uZSBoZXJlLiBGb3Igbm93IHdlIGNhbiBq
dXN0IGRlZmluZSBXVEZfVVNFX0NPUkVGT1VOREFUSU9OLCAgV1RGX1VTRV9KU0MsIGFuZAogLy8g
V1RGX1VTRV9DRk5FVFdPUksgbWFudWFsbHksIGJ1dCB3ZSBuZWVkIGEgYmV0dGVyIGxvbmctdGVy
bSBzb2x1dGlvbi4KLSNpZm5kZWYgV1RGX1BMQVRGT1JNX0NGCi0jZGVmaW5lIFdURl9QTEFURk9S
TV9DRiAxCisjaWZuZGVmIFdURl9VU0VfQ09SRUZPVU5EQVRJT04KKyNkZWZpbmUgV1RGX1VTRV9D
T1JFRk9VTkRBVElPTiAxCiAjZW5kaWYKIAogI2lmbmRlZiBXVEZfVVNFX0pTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdl
TG9nCmluZGV4IDkyYWZmZmVmNDU5ZjYyNjRmYTAzNGZiODUzMDJlMDFkZGMyYjIyODIuLmMwOWQ2
M2FiODg2ODJhYzUxMzUwOGRjMGRiZDMzMGQwMjU4NDZlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW5hbWUgUExBVEZPUk0oQ0YpIHRvIFVTRShDT1JFRk9VTkRBVElPTikKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBX
ZWJWaWV3LmNwcDoKKwogMjAxMS0wMS0zMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAK
aW5kZXggN2Y5OGEwMGJiZGMzZmU2Y2UwNjI4MTU4ODU0OTNkZGNkY2NjNGFiYy4uYmIwMzA1NDcx
YjFmOGRmNTBhOTU3OWQ0YTMyOWRmZDA3YTFhMzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAg
LTE0MSw3ICsxNDEsNyBAQAogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHQuaD4KICNl
bmRpZgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogI2luY2x1
ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGQ1NGQ2MDA3Zjk3NDg3YmEyMjBmMjg1OTU3NzE2YTU5ZGUxZTlkZWEuLmUyMGVjNDBhODQ1
MDE1MmM0OGE1NDhmMjlmOTc1YzI2OGE4NDYxYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUExB
VEZPUk0oQ0YpIHRvIFVTRShDT1JFRk9VTkRBVElPTikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
QmFja0ZvcndhcmRMaXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwOgorICAgICAgICAoV2ViS2l0Ojpmb3JtYXRMb2NhbGl6ZWRTdHJpbmcpOgorCiAyMDEx
LTAyLTAxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJC
YWNrRm9yd2FyZExpc3QuaAppbmRleCBmNTFhYjI2NGU3NWY2N2Y0ZDhkOWExMjliMjNhY2E0ZmY5
OWNjNzJmLi5iMmIwM2JkODYxZmFmYTAxMzJhMzljNzFhZGFmYTVhZGE5NjIwNzczIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCkBAIC0zMyw3ICsz
Myw3IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShD
T1JFRk9VTkRBVElPTikKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9DRkRpY3Rpb25hcnkuaD4K
ICNlbmRpZgogCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEltbXV0
YWJsZUFycmF5PiBiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGlt
aXQpOwogICAgIFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGZvcndhcmRMaXN0QXNJbW11dGFi
bGVBcnJheVdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCk7CiAKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGNyZWF0ZUNGRGljdGlv
bmFyeVJlcHJlc2VudGF0aW9uKFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5U2Vzc2lvblN0YXRl
RmlsdGVyQ2FsbGJhY2ssIHZvaWQqIGNvbnRleHQpIGNvbnN0OwogICAgIGJvb2wgcmVzdG9yZUZy
b21DRkRpY3Rpb25hcnlSZXByZXNlbnRhdGlvbihDRkRpY3Rpb25hcnlSZWYpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDM5ZjdkNDRkZGFh
ZjRlM2IzMDE2Zjk0YmI5ZjZmMWQ0YWNkMTY0MTMuLjRmZmQyODQ0MzQzMzA4MWE3Y2FhMzkzZGI2
YjlhMjk1Y2UxYTBjMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC04NDYsNyArODQ2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnRlcm1pbmF0ZVByb2Nl
c3MoKQogICAgIHByb2Nlc3MoKS0+dGVybWluYXRlKCk7CiB9CiAKLSNpZiAhUExBVEZPUk0oQ0Yp
IHx8IGRlZmluZWQoQlVJTERJTkdfUVRfXykKKyNpZiAhVVNFKENPUkVGT1VOREFUSU9OKSB8fCBk
ZWZpbmVkKEJVSUxESU5HX1FUX18pCiBQYXNzUmVmUHRyPFdlYkRhdGE+IFdlYlBhZ2VQcm94eTo6
c2Vzc2lvblN0YXRlRGF0YShXZWJQYWdlUHJveHlTZXNzaW9uU3RhdGVGaWx0ZXJDYWxsYmFjaywg
dm9pZCogY29udGV4dCkgY29uc3QKIHsKICAgICAvLyBGSVhNRTogUmV0dXJuIHNlc3Npb24gc3Rh
dGUgZGF0YSBmb3Igc2F2aW5nIFBhZ2Ugc3RhdGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5jcHAKaW5kZXggMjYxNTg1MmNlZGFhODc1NTFmM2U2OWVkMDc5YzA1M2U0M2UxMmMyMS4u
YzMwMjEyN2EyYjZkYTU2NDJlYjAzNTUyMjYxZTQ3MzUxNzE5ZGY0MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgPHd0Zi9N
YXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi0jaWYgUExBVEZP
Uk0oQ0YpCisjaWYgVVNFKENPUkVGT1VOREFUSU9OKQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KICNlbmRpZgogCkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogLy8gdHlw
ZSBhY2NvcmRpbmcgdG8gc2VjdGlvbiAxOC43LzMgb2YgdGhlIEMrKyBOMTkwNSBzdGFuZGFyZC4K
IHN0YXRpYyBTdHJpbmcgZm9ybWF0TG9jYWxpemVkU3RyaW5nKFN0cmluZyBmb3JtYXQsIC4uLikK
IHsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ09SRUZPVU5EQVRJT04pCiAgICAgdmFfbGlz
dCBhcmd1bWVudHM7CiAgICAgdmFfc3RhcnQoYXJndW1lbnRzLCBmb3JtYXQpOwogICAgIFJldGFp
blB0cjxDRlN0cmluZ1JlZj4gZm9ybWF0Q0ZTdHJpbmcoQWRvcHRDRiwgZm9ybWF0LmNyZWF0ZUNG
U3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IGQ1ZTFmNmI4Y2VlZjAzYjZhYzdmMDc5YzViYmE2ZmZkZDlhNjk0MjcuLjg4MDM0NDY3
ZmFlNjJjZjVjMmNhODkyYjJlMTJhYzlmZDE4YjA1Y2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMi0wMSAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUExBVEZPUk0oQ0YpIHRvIFVT
RShDT1JFRk9VTkRBVElPTikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jb25maWcuaDoKKwog
MjAxMS0wMi0wMSAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2NvbmZpZy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmgKaW5kZXgg
NTVlMmRjMTdmYWUwY2M4MTc5N2RiOWJlZjQ1ZTRiZmZhYjlhZjdkYy4uOTYzNWE0Njg0NzdkMDBm
YjU4YWZmOTg1YWVjODliZDAwOGYwZmFmNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY29uZmlnLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmgKQEAgLTQxLDcg
KzQxLDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBXVEZfUExBVEZP
Uk1fQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NPUkVGT1VOREFUSU9OIDEKIAogI2lmICFkZWZpbmVk
KE1BQ19PU19YX1ZFUlNJT05fMTBfNSkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8
IE1BQ19PU19YX1ZFUlNJT05fMTBfNQogI2RlZmluZSBCVUlMRElOR19PTl9USUdFUiAxCkBAIC01
Myw3ICs1Myw3IEBACiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAjaWYgUExBVEZPUk0oV0lO
KQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMSAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFRk9VTkRB
VElPTiAxIAogI2lmIGRlZmluZWQoV0lOX0NBSVJPKQogI2RlZmluZSBXVEZfUExBVEZPUk1fQ0FJ
Uk8gMQogI2RlZmluZSBXVEZfVVNFX0NVUkwgMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80895</attachid>
            <date>2011-02-01 23:26:52 -0800</date>
            <delta_ts>2011-02-01 23:28:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53540.patch</filename>
            <type>text/plain</type>
            <size>38498</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDkxMDlkNDIwOGYzODkzZjVmODVkODQ0ZDUyMmMx
ZTk0MjYzYmY2NmQuLjBkYmVkOTAwM2Y5ZTdhYzFlNGE3MWU1OWQyZGNmZTFlMTNjOGJjN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTAyLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShDRikgdG8gVVNFKENG
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NDAK
KworICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHA6CisgICAgICAgICogcnVudGlt
ZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERh
dGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YSk6CisgICAg
ICAgICogd3RmL0N1cnJlbnRUaW1lLmNwcDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJp
bmdJbXBsLmg6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNvbXB1dGVIYXNoKToKKyAgICAg
ICAgKiB3dGYvdGV4dC9XVEZTdHJpbmcuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9pY3UvQ29s
bGF0b3JJQ1UuY3BwOgorICAgICAgICAoV1RGOjpDb2xsYXRvcjo6dXNlckRlZmF1bHQpOgorCiAy
MDExLTAyLTAxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzcyOTcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDU4MzhiNjA3M2VlZjVh
ZmYxY2RjNTg1NzIyZTg0ZGVjM2U3MjZlY2QuLmE4ZDY2ZDBkYTNmNGMxZGRlMmZlZjUzMmI5ZDA1
MmNmYmM2ZmEwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQ
cm90b3R5cGUuY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgZW51bSBMb2NhbGVEYXRlVGltZUZvcm1h
dCB7IExvY2FsZURhdGVBbmRUaW1lLCBMb2NhbGVEYXRlLCBMb2NhbGVUaW1lIH07CiAjaWYgUExB
VEZPUk0oTUFDKQogCiAvLyBGSVhNRTogU2luY2UgdGhpcyBpcyBzdXBlcmlvciB0byB0aGUgc3Ry
ZnRpbWUtYmFzZWQgdmVyc2lvbiwgd2h5IGxpbWl0IHRoaXMgdG8gUExBVEZPUk0oTUFDKT8KLS8v
IEluc3RlYWQgd2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoaXMgd2hlbmV2ZXIgUExBVEZPUk0o
Q0YpIGlzIHRydWUuCisvLyBJbnN0ZWFkIHdlIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGlzIHdo
ZW5ldmVyIFVTRShDRikgaXMgdHJ1ZS4KIAogc3RhdGljIENGRGF0ZUZvcm1hdHRlclN0eWxlIHN0
eWxlRnJvbUFyZ1N0cmluZyhjb25zdCBVU3RyaW5nJiBzdHJpbmcsIENGRGF0ZUZvcm1hdHRlclN0
eWxlIGRlZmF1bHRTdHlsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAppbmRleCA0MTRhMGFkNDBlZTNjODY4Y2Mz
NDVjNzBkMzVmMDJjYWM1ZDkzY2RiLi5lNWNmNDNjN2ZlNDNlOTNkOGY4NzI4YjY2ZjNjNzYxOGU0
N2ViNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2
aXR5Q2FsbGJhY2tDRi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NB
Y3Rpdml0eUNhbGxiYWNrQ0YuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL1dU
RlRocmVhZERhdGEuaD4KICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5o
PgogCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAjZXJyb3IgIlRoaXMgZmlsZSBz
aG91bGQgb25seSBiZSB1c2VkIG9uIENGIHBsYXRmb3Jtcy4iCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAKaW5kZXggYTM2MzM3NzQ3
NWU0Nzk2MWQxYjViNDc2MGVmOTQwNjcyMDc0MzVlNi4uOTUzNjQxMTgwODJiZmM1YWQ5YTA4Mzcw
MzY2M2M3NjgyZjY3ODkzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuY3BwCkBAIC0xNjAsNyArMTYwLDcgQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2Jh
bERhdGEoR2xvYmFsRGF0YVR5cGUgZ2xvYmFsRGF0YVR5cGUsIFRocmVhZFN0YWNrVHlwZSB0aHJl
YWQKICAgICBzdGFydFByb2ZpbGVyU2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogI2lmIEVOQUJM
RShKSVQpICYmIEVOQUJMRShJTlRFUlBSRVRFUikKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0Uo
Q0YpCiAgICAgQ0ZTdHJpbmdSZWYgY2FuVXNlSklUS2V5ID0gQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0
cmluZygwICwgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwga0NGU3RyaW5nRW5jb2RpbmdNYWNSb21h
bik7CiAgICAgQ0ZCb29sZWFuUmVmIGNhblVzZUpJVCA9IChDRkJvb2xlYW5SZWYpQ0ZQcmVmZXJl
bmNlc0NvcHlBcHBWYWx1ZShjYW5Vc2VKSVRLZXksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxp
Y2F0aW9uKTsKICAgICBpZiAoY2FuVXNlSklUKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
Q3VycmVudFRpbWUuY3BwCmluZGV4IDU2NzI0Y2I4NmRjYTY2Y2MzYTUyM2IxNTk2ZTczMzEzOGI2
MzE2MGUuLjQ3MzcyMTkyZGQ3OWU1ZmM1NWY5ZGM4MWQyZDlhODM3YzM4YWQwOGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAK
ICNpZiBPUyhXSU5ET1dTKQogCi0vLyBXaW5kb3dzIGlzIGZpcnN0IHNpbmNlIHdlIHdhbnQgdG8g
dXNlIGhpcmVzIHRpbWVycywgZGVzcGl0ZSBQTEFURk9STShDRikKKy8vIFdpbmRvd3MgaXMgZmly
c3Qgc2luY2Ugd2Ugd2FudCB0byB1c2UgaGlyZXMgdGltZXJzLCBkZXNwaXRlIFVTRShDRikKIC8v
IGJlaW5nIGRlZmluZWQuCiAvLyBJZiBkZWZpbmVkLCBXSU4zMl9MRUFOX0FORF9NRUFOIGRpc2Fi
bGVzIHRpbWVCZWdpblBlcmlvZC90aW1lRW5kUGVyaW9kLgogI3VuZGVmIFdJTjMyX0xFQU5fQU5E
X01FQU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAwN2Y1N2YwYTNiMGI0
NDA0NWQxMWE3NjU0OThkOGU2ODMzZWRiZjE1Li5hOTkyYzQ1ZjJiMTFlMDVhYmVjZTRlZjhjZDE2
ZTQ2YTM5YWI1NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTQs
NyArNjE0LDcgQEAKICNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCiAjZGVm
aW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCiAjZW5kaWYKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JFRk9VTkRBVElPTiAxCiAjZGVmaW5lIFdURl9V
U0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNkZWZpbmUgSEFW
RV9SRUFETElORSAxCkBAIC02MjgsNyArNjI4LDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
Q0hST01JVU0pICYmIE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZp
bmUgV1RGX1VTRV9DT1JFRk9VTkRBVElPTiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQog
I2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNkZWZpbmUgV1RGX1VTRV9DQVJCT05fU0VD
VVJFX0lOUFVUX01PREUgMQpAQCAtNjM5LDcgKzYzOSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRG
T1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVmaW5l
IFdURl9VU0VfQ09SRUZPVU5EQVRJT04gMQogI2VuZGlmCiAKICNpZiBPUyhEQVJXSU4pICYmICFk
ZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0o
UVQpCkBAIC02NTgsNyArNjU4LDcgQEAKICNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5U
UyAxCiAjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQogI2RlZmluZSBIQVZFX1JF
QURMSU5FIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DT1JF
Rk9VTkRBVElPTiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZFX1BU
SFJFQURfUldMT0NLIDEKICNlbmRpZgpAQCAtNjc5LDcgKzY3OSw3IEBACiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMQor
I2RlZmluZSBXVEZfVVNFX0NPUkVGT1VOREFUSU9OIDEKICNkZWZpbmUgV1RGX1VTRV9QVEhSRUFE
UyAwCiAjZW5kaWYKIApAQCAtNjg3LDcgKzY4Nyw3IEBACiAjZGVmaW5lIEVOQUJMRV9BU1NFTUJM
RVIgMQogI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKICNpZiBPUyhEQVJX
SU4pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ09SRUZPVU5E
QVRJT04gMQogI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgogI2RlZmluZSBXVEZfVVNFX0NPUkVf
VEVYVCAxCiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0
L0F0b21pY1N0cmluZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0
cmluZy5oCmluZGV4IGFiNWIzNjZiNzBhMzM4YzUyYjhkNTE5NmU4YTQ3NjkwODBkYWY0YjUuLmEy
Yjc4ZDc5MzFiOTE3NmYyYzFjYTFiMThiZDRjYWI0YjIyNGJlYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTk1LDcgKzk1LDcgQEAgcHVi
bGljOgogCiAgICAgc3RhdGljIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqKTsKICAgICAKLSNpZiBQ
TEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMp
IDogIG1fc3RyaW5nKGFkZChTdHJpbmcocykuaW1wbCgpKSkgeyB9CiAgICAgQ0ZTdHJpbmdSZWYg
Y3JlYXRlQ0ZTdHJpbmcoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5jcmVhdGVDRlN0cmluZygp
OyB9CiAjZW5kaWYgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3Rl
eHQvU3RyaW5nSW1wbC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0lt
cGwuaAppbmRleCAyNTQxMWUxMjEyMTVmMGU3NGNjMzg4ZDAzMzRlYWE0MmMxNGU4MDM5Li4zYzU4
NjEwM2VjY2M3OGFiYTM2ZjZmNWU3OTZlNzc2ODBhNWMxODM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsLmgKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdJbXBsQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNv
ZGUuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKIHR5cGVkZWYgY29uc3Qgc3Ry
dWN0IF9fQ0ZTdHJpbmcgKiBDRlN0cmluZ1JlZjsKICNlbmRpZgogCkBAIC0zMTgsNyArMzE4LDcg
QEAgcHVibGljOgogCiAgICAgV1RGOjpVbmljb2RlOjpEaXJlY3Rpb24gZGVmYXVsdFdyaXRpbmdE
aXJlY3Rpb24oKTsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBDRlN0cmlu
Z1JlZiBjcmVhdGVDRlN0cmluZygpOwogI2VuZGlmCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCAwYWVlMmVmZDdkZjE0NGE4
ODUzNmQ3NzcyNTYyZTBlYjVjZjAyNzJlLi5mZTEwZjQ4NzZkZTU1Y2UzMWQ2YjNhNmQ1NTdiMmI5
N2RjOWQ2ZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RG
U3RyaW5nLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1dURlN0cmluZy5o
CkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjZW5kaWYKIAotI2lm
IFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZTdHJp
bmcgKiBDRlN0cmluZ1JlZjsKICNlbmRpZgogCkBAIC0yODQsNyArMjg0LDcgQEAgcHVibGljOgog
ICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGVBKCkgY29uc3Q7CiAgICAgb3BlcmF0b3Ig
VW5zcGVjaWZpZWRCb29sVHlwZUIoKSBjb25zdDsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVT
RShDRikKICAgICBTdHJpbmcoQ0ZTdHJpbmdSZWYpOwogICAgIENGU3RyaW5nUmVmIGNyZWF0ZUNG
U3RyaW5nKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5jcHAKaW5kZXggODA1YjExNDdiNTRhYWM1NjI3
ODQwMzUwZWJmMjc1ODlmYTUyZmQ4ZC4uM2RjNjFkNGE1NzI3OTYwZmQ5MWJjYTM5Njk0NGM3ZmQy
MDkxYmUzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2lj
dS9Db2xsYXRvcklDVS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L2ljdS9Db2xsYXRvcklDVS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgQ29sbGF0b3I6OkNvbGxhdG9y
KGNvbnN0IGNoYXIqIGxvY2FsZSkKIAogUGFzc093blB0cjxDb2xsYXRvcj4gQ29sbGF0b3I6OnVz
ZXJEZWZhdWx0KCkKIHsKLSNpZiBPUyhEQVJXSU4pICYmIFBMQVRGT1JNKENGKQorI2lmIE9TKERB
UldJTikgJiYgVVNFKENGKQogICAgIC8vIE1hYyBPUyBYIGRvZXNuJ3Qgc2V0IFVOSVggbG9jYWxl
IHRvIG1hdGNoIHVzZXItc2VsZWN0ZWQgb25lLCBzbyBJQ1UgZGVmYXVsdCBkb2Vzbid0IHdvcmsu
CiAjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmICFPUyhJT1MpCiAgICAgUmV0YWluUHRyPENGTG9jYWxlUmVmPiBjdXJyZW50
TG9jYWxlKEFkb3B0Q0YsIENGTG9jYWxlQ29weUN1cnJlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM2
MjdmMmE1YTFhOGI0YjM3MTAwMjcyNDcyNzNmYmYxYjM5OGZlYS4uZTdiYmE4YTM4MDEwN2VhMDNk
ZjAwMDI1Y2IzZGZlYzIxYzAxMmRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEx
LTAyLTAxICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShD
RikgdG8gVVNFKENGKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTM1NDAKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAg
ICAqIGVkaXRpbmcvU21hcnRSZXBsYWNlLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL1NtYXJ0UmVw
bGFjZUlDVS5jcHA6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6
CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWwpOgorICAgICAg
ICAqIGxvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmFyY2hpdmVNSU1FVHlwZXMpOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9LVVJMLmg6CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmg6CisgICAgICAgICogcGxhdGZv
cm0vU2hhcmVkQnVmZmVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9VVUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNh
bm9uaWNhbFVVSURTdHJpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2Uu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNlcnRpZmljYXRlUGF0aCk6CisgICAgICAgICogcGxh
dGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9T
dHJpbmdJbXBsQ0YuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vQlN0cmluZy5oOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9D
bGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0V2ViTG9jRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpnZXRVUkwpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2xp
cGJvYXJkRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp3cml0ZUZpbGVUb0RhdGFPYmplY3QpOgorICAgICAgICAqIHBsYXRm
b3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNo
UG9wdXBNZW51V2luOjplbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVu
dVdpbjo6c2F2ZVJlY2VudFNlYXJjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVw
TWVudVdpbjo6bG9hZFJlY2VudFNlYXJjaGVzKToKKwogMjAxMS0wMi0wMSAgU2FtIFdlaW5pZyAg
PHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBNYWMgcHJvZHVjdGlvbiBidWlsZHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDI1OTRkMjk5MDRmMzkzOTAx
MmY1NWJhYzkyYTA2ZmZmMWE2OWJjNWQuLmY5NjYwYmZlNzBjM2NlMmEzOTBhZjg1YWMzZTQ3OWNm
NTYxYTBhY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMTc5
LDcgKzExNzksNyBAQAogICAgICAgICAgICAgIyBBZGRpdGlvbmFsIGZpbGVzIGZyb20gdGhlIFdl
YkNvcmUgTWFjIGJ1aWxkIHRoYXQgYXJlIHByZXNlbnRseQogICAgICAgICAgICAgIyB1c2VkIGlu
IHRoZSBXZWJDb3JlIENocm9taXVtIE1hYyBidWlsZCB0b28uCiAKLSAgICAgICAgICAgICMgVGhl
IE1hYyBidWlsZCBpcyBQTEFURk9STV9DRiBidXQgZG9lcyBub3QgdXNlIENGTmV0d29yay4KKyAg
ICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBVU0VfQ09SRUZPVU5EQVRJT04gYnV0IGRvZXMg
bm90IHVzZSBDRk5ldHdvcmsuCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnQ0ZcXC5jcHAkJ10s
CiAgICAgICAgICAgICBbJ2V4Y2x1ZGUnLCAnbmV0d29yay9jZi8nXSwKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TbWFydFJlcGxhY2UuY3BwCmluZGV4IGM1ZjUyNDAzYTIyODZiZGNmZDRmYjNhZTNm
MDc0MDkwYzZkOWZhNjEuLmRiNjVmZjI4YjIyMGUwZDY0YzMxYzI2OTFhMzExMmM0ZmFiZGE2NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKQEAgLTI5LDcgKzI5LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTbWFydFJlcGxhY2UuaCIKIAotI2lm
ICFQTEFURk9STShDRikgJiYgIVVTRShJQ1VfVU5JQ09ERSkKKyNpZiAhVVNFKENGKSAmJiAhVVNF
KElDVV9VTklDT0RFKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDQgKzQwLDQgQEAg
Ym9vbCBpc0NoYXJhY3RlclNtYXJ0UmVwbGFjZUV4ZW1wdChVQ2hhcjMyIGMsIGJvb2wgaXNQcmV2
aW91c0NoYXJhY3RlcikKIAogfQogCi0jZW5kaWYgLy8gIVBMQVRGT1JNKENGKQorI2VuZGlmIC8v
ICFVU0UoQ0YpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFj
ZUlDVS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZUlDVS5jcHAKaW5k
ZXggOWFjZDM1MGVkM2E2Yzg4M2M5ZmE5OTc2MGI2OTAwNDNhY2M0M2FjNC4uYjFhMTAwNjdhMjc5
OTRhMDc2MWMxMWY3YzhiMTA5YjUzNjg2YWEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TbWFydFJlcGxhY2VJQ1UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
U21hcnRSZXBsYWNlSUNVLmNwcApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNtYXJ0UmVwbGFjZS5oIgogCi0jaWYgIVBMQVRGT1JNKENGKSAmJiBVU0Uo
SUNVX1VOSUNPREUpCisjaWYgIVVTRShDRikgJiYgVVNFKElDVV9VTklDT0RFKQogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8dW5pY29kZS91c2V0Lmg+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KQEAgLTk3LDQgKzk3LDQgQEAgYm9vbCBpc0NoYXJhY3RlclNtYXJ0
UmVwbGFjZUV4ZW1wdChVQ2hhcjMyIGMsIGJvb2wgaXNQcmV2aW91c0NoYXJhY3RlcikKIAogfQog
Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKENGKSAmJiBVU0UoSUNVX1VOSUNPREUpCisjZW5kaWYgLy8g
IVVTRShDRikgJiYgVVNFKElDVV9VTklDT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFp
blJlc291cmNlTG9hZGVyLmNwcAppbmRleCBlNmFiZWZkMWI0M2FmNjRkMGY4MmIxZjJlNjY3Y2Vh
MjBhODRmZmJmLi5iZWI0OTlkMWFjNzI3OWZhOWFiYjMyYTNhNWJjZDEyY2YyMTRkNjhhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtMzU4LDcg
KzM1OCw3IEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcikKIAogICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0
d29yayB3aGVyZSBjYWxsYmFja3MgY2FuIGJlIGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFy
ZSBkZWZlcnJlZC4KICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3Jl
IGRldGFpbHMuCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAgICAgQVNTRVJUKHNo
b3VsZExvYWRBc0VtcHR5RG9jdW1lbnQoci51cmwoKSkgfHwgIWRlZmVyc0xvYWRpbmcoKSk7CiAj
ZW5kaWYKIApAQCAtNDI1LDcgKzQyNSw3IEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpkaWRS
ZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBsb25nIGxvbmcKIAogICAg
IC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVyZSBjYWxsYmFja3MgY2FuIGJlIGRp
c3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJlZC4KICAgICAvLyBTZWUgPHJkYXI6
Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMuCi0jaWYgIVBMQVRGT1JNKENGKQor
I2lmICFVU0UoQ0YpCiAgICAgQVNTRVJUKCFkZWZlcnNMb2FkaW5nKCkpOwogI2VuZGlmCiAgCkBA
IC00NDYsNyArNDQ2LDcgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRp
bmcoZG91YmxlIGZpbmlzaFRpbWUpCiB7CiAgICAgLy8gVGhlcmUgaXMgYSBidWcgaW4gQ0ZOZXR3
b3JrIHdoZXJlIGNhbGxiYWNrcyBjYW4gYmUgZGlzcGF0Y2hlZCBldmVuIHdoZW4gbG9hZHMgYXJl
IGRlZmVycmVkLgogICAgIC8vIFNlZSA8cmRhcjovL3Byb2JsZW0vNjMwNDYwMD4gZm9yIG1vcmUg
ZGV0YWlscy4KLSNpZiAhUExBVEZPUk0oQ0YpCisjaWYgIVVTRShDRikKICAgICBBU1NFUlQoc2hv
dWxkTG9hZEFzRW1wdHlEb2N1bWVudChmcmFtZUxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRl
cigpLT51cmwoKSkgfHwgIWRlZmVyc0xvYWRpbmcoKSk7CiAjZW5kaWYKICAgICAKQEAgLTQ3Nyw3
ICs0NzcsNyBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJj
ZUVycm9yJiBlcnJvcikKIAogICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVy
ZSBjYWxsYmFja3MgY2FuIGJlIGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJl
ZC4KICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMu
Ci0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAgICAgQVNTRVJUKCFkZWZlcnNMb2Fk
aW5nKCkpOwogI2VuZGlmCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
YXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2
ZS9BcmNoaXZlRmFjdG9yeS5jcHAKaW5kZXggMmUxMDhjNTQ5NDZhYjA2MDcyZmQ1YmE4Y2YyNGM5
NmEyYzliNjU2MC4uZjdhNzBjY2Q5Nzc2ZWNjMzNiYTIxZTA4YzI0YWM2MjFhYTM2MjgyOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcApA
QCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogCi0jaWYgUExBVEZPUk0oQ0YpICYmICFQTEFURk9STShRVCkK
KyNpZiBVU0UoQ0YpICYmICFQTEFURk9STShRVCkKICNpbmNsdWRlICJMZWdhY3lXZWJBcmNoaXZl
LmgiCiAjZW5kaWYKIApAQCAtNjAsNyArNjAsNyBAQCBzdGF0aWMgQXJjaGl2ZU1JTUVUeXBlc01h
cCYgYXJjaGl2ZU1JTUVUeXBlcygpCiAgICAgaWYgKGluaXRpYWxpemVkKQogICAgICAgICByZXR1
cm4gbWltZVR5cGVzOwogCi0jaWYgUExBVEZPUk0oQ0YpICYmICFQTEFURk9STShRVCkKKyNpZiBV
U0UoQ0YpICYmICFQTEFURk9STShRVCkKICAgICBtaW1lVHlwZXMuc2V0KCJhcHBsaWNhdGlvbi94
LXdlYmFyY2hpdmUiLCBhcmNoaXZlRmFjdG9yeUNyZWF0ZTxMZWdhY3lXZWJBcmNoaXZlPik7CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IGQ5MjNmZTYwYmRm
MzVhYjEwYTk0ZTlhMDdjNmQxOTU2ZjliZDRlYjQuLjcyNTM1M2VlMTA2MjBiNmE1ZjAxYWU1Mjkx
NDY4YTFhMDY5M2QyYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVT
eXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTM1
LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CiAjZW5kaWYKIApAQCAtNDcsNyArNDcsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAot
I2lmIFBMQVRGT1JNKENGKSB8fCAoUExBVEZPUk0oUVQpICYmIGRlZmluZWQoUV9XU19NQUMpKQor
I2lmIFVTRShDRikgfHwgKFBMQVRGT1JNKFFUKSAmJiBkZWZpbmVkKFFfV1NfTUFDKSkKIHR5cGVk
ZWYgc3RydWN0IF9fQ0ZCdW5kbGUqIENGQnVuZGxlUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
X19DRkRhdGEqIENGRGF0YVJlZjsKICNlbmRpZgpAQCAtODQsNyArODQsNyBAQCB0eXBlZGVmIHZv
aWQqIFBsYXRmb3JtTW9kdWxlOwogI2VuZGlmCiAjZWxpZiBQTEFURk9STShHVEspCiB0eXBlZGVm
IEdNb2R1bGUqIFBsYXRmb3JtTW9kdWxlOwotI2VsaWYgUExBVEZPUk0oQ0YpCisjZWxpZiBVU0Uo
Q0YpCiB0eXBlZGVmIENGQnVuZGxlUmVmIFBsYXRmb3JtTW9kdWxlOwogI2Vsc2UKIHR5cGVkZWYg
dm9pZCogUGxhdGZvcm1Nb2R1bGU7CkBAIC0xODksNyArMTg5LDcgQEAgYm9vbCB1bmxvYWRNb2R1
bGUoUGxhdGZvcm1Nb2R1bGUpOwogLy8gRW5jb2RlIGEgc3RyaW5nIGZvciB1c2Ugd2l0aGluIGEg
ZmlsZSBuYW1lLgogU3RyaW5nIGVuY29kZUZvckZpbGVOYW1lKGNvbnN0IFN0cmluZyYpOwogCi0j
aWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogUmV0YWluUHRyPENGVVJMUmVmPiBwYXRoQXNV
UkwoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vS1VSTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oCmluZGV4IGNi
ZjBkOGI4MzI0N2FmNzI2OTIyMWQ1ZjQ1ZDcxYjg5ZTUwMjIyZjIuLjIyNGM2NmMyMGM3YWM4NTMw
OWZmZGYyNDRmOGQxY2Q3NTg4MTlhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0tVUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmgKQEAgLTI5LDcg
KzI5LDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiB0eXBlZGVmIGNvbnN0IHN0
cnVjdCBfX0NGVVJMKiBDRlVSTFJlZjsKICNlbmRpZgogCkBAIC0xODYsNyArMTg2LDcgQEAgcHVi
bGljOgogICAgIHVuc2lnbmVkIHBhdGhBZnRlckxhc3RTbGFzaCgpIGNvbnN0OwogICAgIG9wZXJh
dG9yIGNvbnN0IFN0cmluZyYoKSBjb25zdCB7IHJldHVybiBzdHJpbmcoKTsgfQogCi0jaWYgUExB
VEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIEtVUkwoQ0ZVUkxSZWYpOwogICAgIENGVVJMUmVm
IGNyZWF0ZUNGVVJMKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdv
b2dsZS5jcHAKaW5kZXggNmQ2MzczNGU5YzIxNDYyN2FlNDg4ODM0MzZhMDE2YjIzZTIzZmI4Ni4u
MGE3YjQzNGFiZDk1MWU5YTZlMjllN2ZjZTdlNTEyODhlYWI4NjI1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKQEAgLTQwOCw3ICs0MDgsNyBAQCBLVVJMOjpLVVJMKGNv
bnN0IENTdHJpbmcmIGNhbm9uaWNhbFNwZWMsCiAgICAgICAgIG1fdXJsLnNldEFzY2lpKGNhbm9u
aWNhbFNwZWMpOwogfQogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogS1VSTDo6S1VS
TChDRlVSTFJlZikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9SdW5Mb29wVGltZXIuaAppbmRleCBmOGM1MjlmY2ViMmQxNzAzMGIyNmEzNjljMGIzMTM0MTQ0
YjA1NmEwLi4zMWVkNGJmY2Q0YzRhMWFkMjI3MGYyZGYzYTQwYWUzYjc5Y2QzNDNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGZpcmVkKCkgPSAwOwogCiBwcml2YXRlOgotI2lmIFBMQVRGT1JN
KENGKQorI2lmIFVTRShDRikKICAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29wVGltZXJSZWY+IG1fdGlt
ZXI7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcApp
bmRleCAzNWE3YjdjNDI2ZTYyMjc3ZTc3YTExMTZlMTgyOWQ1NWJlMWQzNDAzLi4yZGRjMmRmMzVm
OGRiYzQyMzQ2MWJhMTU3MmQzZjI5Y2M1ODA1ZWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1NoYXJlZEJ1ZmZlci5jcHAKQEAgLTIzOSw3ICsyMzksNyBAQCB1bnNpZ25lZCBTaGFyZWRCdWZm
ZXI6OmdldFNvbWVEYXRhKGNvbnN0IGNoYXIqJiBzb21lRGF0YSwgdW5zaWduZWQgcG9zaXRpb24p
IGNvbgogICAgIHJldHVybiBzZWdtZW50ID09IHNlZ21lbnRzIC0gMSA/IHNlZ21lbnRlZFNpemUg
LSBwb3NpdGlvbiA6IHNlZ21lbnRTaXplIC0gcG9zaXRpb25JblNlZ21lbnQ7CiB9CiAKLSNpZiAh
UExBVEZPUk0oQ0YpIHx8IFBMQVRGT1JNKFFUKQorI2lmICFVU0UoQ0YpIHx8IFBMQVRGT1JNKFFU
KQogCiBpbmxpbmUgdm9pZCBTaGFyZWRCdWZmZXI6OmNsZWFyUGxhdGZvcm1EYXRhKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKaW5kZXggYmZjNTkzMTJjMzIyZTBjOTkx
OGJhZDdlZDYzZTNmODljOTQ2NjVmYy4uODkwMWE1MjdkOTQyMDM0Zjk5ZjNkMjA5NGYzMGM0ZDhh
NTJlOThlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKQEAgLTMyLDcg
KzMyLDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CiAjZW5kaWYKIApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgTlNEYXRh
ICpjcmVhdGVOU0RhdGEoKTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IHdy
YXBOU0RhdGEoTlNEYXRhICpkYXRhKTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVT
RShDRikKICAgICBDRkRhdGFSZWYgY3JlYXRlQ0ZEYXRhKCk7CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2hhcmVkQnVmZmVyPiB3cmFwQ0ZEYXRhKENGRGF0YVJlZik7CiAjZW5kaWYKQEAgLTEyNyw3
ICsxMjcsNyBAQCBwcml2YXRlOgogICAgIG11dGFibGUgVmVjdG9yPGNoYXI+IG1fYnVmZmVyOwog
ICAgIG11dGFibGUgVmVjdG9yPGNoYXIqPiBtX3NlZ21lbnRzOwogICAgIE93blB0cjxQdXJnZWFi
bGVCdWZmZXI+IG1fcHVyZ2VhYmxlQnVmZmVyOwotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShD
RikKICAgICBTaGFyZWRCdWZmZXIoQ0ZEYXRhUmVmKTsKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVm
PiBtX2NmRGF0YTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VVVJRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcAppbmRleCBjMDcyZjRh
YzBiYWZkM2JjNjI4NzgxMTFlYWQzYmI3NWJjOGM3YTBjLi5hMDc4ZTkzNDQ2YmUwNmNlZTFlOGU5
ZWRkNjBhZTA0Njk5YzQwNjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
VUlELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcApAQCAtMzksMTEg
KzM5LDExIEBACiAKICNpZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgPG9iamJhc2UuaD4KLSNlbGlm
IE9TKERBUldJTikgJiYgUExBVEZPUk0oQ0YpCisjZWxpZiBPUyhEQVJXSU4pICYmIFVTRShDRikK
ICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VsaWYgT1MoTElO
VVgpICYmICFQTEFURk9STShDSFJPTUlVTSkKICNpbmNsdWRlIDxzdGRpby5oPgotI2VsaWYgKE9T
KExJTlVYKSAmJiBQTEFURk9STShDSFJPTUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFQTEFURk9S
TShDRikpCisjZWxpZiAoT1MoTElOVVgpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERB
UldJTikgJiYgIVVTRShDRikpCiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNlbmRpZgpAQCAtNzEsNyArNzEsNyBAQCBT
dHJpbmcgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpCiAgICAgU3RyaW5nIGNhbm9uaWNhbFV1
aWRTdHIgPSBTdHJpbmcodXVpZFN0ciArIDEsIG51bSAtIDMpLmxvd2VyKCk7IC8vIHJlbW92ZSBv
cGVuaW5nIGFuZCBjbG9zaW5nIGJyYWNrZXQgYW5kIG1ha2UgaXQgbG93ZXIuCiAgICAgQVNTRVJU
KGNhbm9uaWNhbFV1aWRTdHJbdXVpZFZlcnNpb25JZGVudGlmaWVySW5kZXhdID09IHV1aWRWZXJz
aW9uUmVxdWlyZWQpOwogICAgIHJldHVybiBjYW5vbmljYWxVdWlkU3RyOwotI2VsaWYgT1MoREFS
V0lOKSAmJiBQTEFURk9STShDRikKKyNlbGlmIE9TKERBUldJTikgJiYgVVNFKENGKQogICAgIENG
VVVJRFJlZiB1dWlkID0gQ0ZVVUlEQ3JlYXRlKDApOwogICAgIENGU3RyaW5nUmVmIHV1aWRTdHJS
ZWYgPSBDRlVVSURDcmVhdGVTdHJpbmcoMCwgdXVpZCk7CiAgICAgU3RyaW5nIHV1aWRTdHIodXVp
ZFN0clJlZik7CkBAIC05Myw3ICs5Myw3IEBAIFN0cmluZyBjcmVhdGVDYW5vbmljYWxVVUlEU3Ry
aW5nKCkKICAgICBTdHJpbmcgY2Fub25pY2FsVXVpZFN0ciA9IFN0cmluZyh1dWlkU3RyKS5sb3dl
cigpOyAvLyBtYWtlIGl0IGxvd2VyLgogICAgIEFTU0VSVChjYW5vbmljYWxVdWlkU3RyW3V1aWRW
ZXJzaW9uSWRlbnRpZmllckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVpcmVkKTsKICAgICByZXR1
cm4gY2Fub25pY2FsVXVpZFN0cjsKLSNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01J
VU0pKSB8fCAoT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oQ0YpKQorI2VsaWYgKE9TKExJTlVYKSAm
JiBQTEFURk9STShDSFJPTUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFVU0UoQ0YpKQogICAgIHVu
c2lnbmVkIHJhbmRvbURhdGFbNF07CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJS
QVlfTEVOR1RIKHJhbmRvbURhdGEpOyArK2kpCiAgICAgICAgIHJhbmRvbURhdGFbaV0gPSBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1
bnNpZ25lZD46Om1heCgpICsgMS4wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKaW5kZXggZDUxOGQ4NzE3OGFjODFhMmFiNjAwNmI2OWZl
OTAyZGZlNmY3ZTQwMC4uNzJmMmMwMDA0ZjMxODY3MTEzOTA2MDE5MDQ4NGQ0MjliMmJmOWEwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
aApAQCAtMzcsNyArMzcsNyBAQAogdHlwZWRlZiBzdHJ1Y3QgX1NvdXBTZXNzaW9uIFNvdXBTZXNz
aW9uOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiB0eXBlZGVmIGNv
bnN0IHN0cnVjdCBfX0NGRGF0YSAqIENGRGF0YVJlZjsKICNlbmRpZgogCkBAIC0xNDAsNyArMTQw
LDcgQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNFKENVUkwpCiAgICAgc3RhdGlj
IHZvaWQgc2V0SG9zdEFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7CiAj
ZW5kaWYKLSNpZiBQTEFURk9STShXSU4pICYmIFVTRShDVVJMKSAmJiBQTEFURk9STShDRikKKyNp
ZiBQTEFURk9STShXSU4pICYmIFVTRShDVVJMKSAmJiBVU0UoQ0YpCiAgICAgc3RhdGljIHZvaWQg
c2V0Q2xpZW50Q2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJiBob3N0LCBDRkRhdGFSZWYpOwogI2Vu
ZGlmCiAKQEAgLTIxMCw3ICsyMTAsNyBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgY3JlYXRlTlNVUkxDb25uZWN0aW9uKGlkIGRlbGVnYXRlLCBib29sIHNob3VsZFVz
ZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZik7Ci0jZWxpZiBQTEFU
Rk9STShDRikKKyNlbGlmIFVTRShDRikKICAgICB2b2lkIGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihi
b29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZik7
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZVJlcXVlc3RCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlUmVxdWVzdEJhc2UuaAppbmRleCA5Y2M5MTQ4YTg0Mjg4MDAyY2NkYTlmNmRiYmQ2NDMz
ZmQ3NjUxMWZiLi4yOTNlMDk2NDYxNTFlMGVjNWE3OTkyMjE4MGFhYTkyYzBhMDhkN2ZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVz
dEJhc2UuaApAQCAtMjM2LDcgKzIzNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAg
ICB1bnNpZ25lZCBpbml0aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCk7
CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgYm9vbCBpc0hUVFBQaXBlbGlu
aW5nRW5hYmxlZCgpOwogICAgIGJvb2wgc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5
SGlnaCgpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKaW5kZXggZjM2MGY4NmU5MDQ0MWFh
NDFjOGY0OGU3YmU1OWE3OTNkNzFmZjcwYy4uMTRjYjMxNzAyNWI4ODQzMDYwNjJkNTcxYmZkNTAy
ZDljMzY1N2ZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNp
bmNsdWRlICJSZXNvdXJjZUhhbmRsZU1hbmFnZXIuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIu
aCIKIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgUExBVEZPUk0oQ0YpCisjaWYgUExBVEZPUk0oV0lO
KSAmJiBVU0UoQ0YpCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CiAjZW5kaWYKQEAgLTEyNCw3ICsxMjQsNyBAQCBib29sIFJlc291cmNlSGFu
ZGxlOjpzdXBwb3J0c0J1ZmZlcmVkRGF0YSgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi0jaWYg
UExBVEZPUk0oV0lOKSAmJiBQTEFURk9STShDRikKKyNpZiBQTEFURk9STShXSU4pICYmIFVTRShD
RikKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGVIb3N0
cygpCiB7CiAgICAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiBob3N0czsKQEAgLTEzOCw3ICsxMzgs
NyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpzZXRIb3N0QWxsb3dzQW55SFRUUFNDZXJ0aWZpY2F0
ZShjb25zdCBTdHJpbmcmIGhvc3QpCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikgJiYg
UExBVEZPUk0oQ0YpCisjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0YpCiAvLyBGSVhNRTogIFRo
ZSBDRkRhdGFSZWYgd2lsbCBuZWVkIHRvIGJlIHNvbWV0aGluZyBlbHNlIHdoZW4KIC8vIGJ1aWxk
aW5nIHdpdGhvdXQgCiBzdGF0aWMgSGFzaE1hcDxTdHJpbmcsIFJldGFpblB0cjxDRkRhdGFSZWY+
ID4mIGNsaWVudENlcnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKaW5kZXggMmU0MjU5
Y2UzZDhmZTNmZjRkMDcyMDcyYTc3MDY3MGIwMzc1YjA2ZS4uYTM0MGVkMjU4OTA0NDFhYzRjYzM4
MjhlYTUxOTRiNDEzOWI5ZDNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKQEAgLTQ0
LDcgKzQ0LDcgQEAKIAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KLSNp
ZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgog
I2VuZGlmCiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtNjYsNyArNjYsNyBAQCBzdGF0
aWMgY29uc3QgYm9vbCBpZ25vcmVTU0xFcnJvcnMgPSBnZXRlbnYoIldFQktJVF9JR05PUkVfU1NM
X0VSUk9SUyIpOwogCiBzdGF0aWMgQ1N0cmluZyBjZXJ0aWZpY2F0ZVBhdGgoKQogewotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBDRkJ1bmRsZVJlZiB3ZWJLaXRCdW5kbGUgPSBD
RkJ1bmRsZUdldEJ1bmRsZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViS2l0Iikp
OwogICAgIGlmICh3ZWJLaXRCdW5kbGUpIHsKICAgICAgICAgUmV0YWluUHRyPENGVVJMUmVmPiBj
ZXJ0VVJMUmVmKEFkb3B0Q0YsIENGQnVuZGxlQ29weVJlc291cmNlVVJMKHdlYktpdEJ1bmRsZSwg
Q0ZTVFIoImNhY2VydCIpLCBDRlNUUigicGVtIiksIENGU1RSKCJjZXJ0aWZpY2F0ZXMiKSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0NGLmNwcAppbmRleCBkY2Fm
OGZiOTdlZDc3MmM2YWM1YzdjYjgyYjhhMWVkNmU4ZjU1ZTQ5Li5jMmZiZTg5NmU4ZTQ5NGQ5MDI0
YTcxYTc4ZDI0MzgwOWY3MzkyMDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L2NmL1N0cmluZ0NGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L2NmL1N0cmluZ0NGLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0Uo
Q0YpCiAKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogCkBAIC01
Miw0ICs1Miw0IEBAIENGU3RyaW5nUmVmIFN0cmluZzo6Y3JlYXRlQ0ZTdHJpbmcoKSBjb25zdAog
CiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRikKKyNlbmRpZiAvLyBVU0UoQ0YpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAKaW5kZXggMDE1
NzkxODNjZjExOTg0NDQyZmVhYjcwMmU3NWYyOTkyZDc0N2YyNC4uNGE5ODZmZDQwZTJiMGY4NWMw
N2Y4NGE3NTg3MDQxYjA0MmQ5YjEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KIAotI2lmIFBMQVRGT1JN
KENGKQorI2lmIFVTRShDRikKIAogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0
aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTE1OSw0ICsxNTksNCBAQCBD
RlN0cmluZ1JlZiBTdHJpbmdJbXBsOjpjcmVhdGVDRlN0cmluZygpCiAKIH0KIAotI2VuZGlmIC8v
IFBMQVRGT1JNKENGKQorI2VuZGlmIC8vIFVTRShDRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9CU3RyaW5nLmNwcAppbmRleCA0ZDZkMTFlZDEyM2VhYWJjZjAxZWE5MzRkNDJmMTY2MWNhNGU4
ODE0Li42ZmJiODI0MzczZWNmNzY0NDg2YWNlMDE1YWVkOTk5MzlkODQyMjMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVk
ZSA8dGNoYXIuaD4KICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ0YpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNl
bmRpZgogCkBAIC05Myw3ICs5Myw3IEBAIEJTdHJpbmc6OkJTdHJpbmcoY29uc3QgVVN0cmluZyYg
cykKICAgICAgICAgbV9ic3RyID0gU3lzQWxsb2NTdHJpbmdMZW4ocy5jaGFyYWN0ZXJzKCksIHMu
bGVuZ3RoKCkpOwogfQogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogQlN0cmluZzo6
QlN0cmluZyhDRlN0cmluZ1JlZiBjZnN0cikKICAgICA6IG1fYnN0cigwKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9CU3RyaW5nLmgKaW5kZXggYmRiZjE4OWYxYzM2N2IwZDUwYTNjMmZjZWQ1
N2RkYTBmOTliNTJlYi4uZTVjNDk0YzljMDMyMjI3YWRmMDk4YTNjNGE5OGY4NDJhZGFhZDhiZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5oCkBAIC0yOCw3ICsyOCw3IEBACiAK
ICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENG
KQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRlN0cmluZyAqIENGU3RyaW5nUmVmOwogI2VuZGlm
CiAKQEAgLTUxLDcgKzUxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBCU3RyaW5n
KGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgICAgICBCU3RyaW5nKGNvbnN0IEtVUkwmKTsKICAg
ICAgICAgQlN0cmluZyhjb25zdCBKU0M6OlVTdHJpbmcmKTsKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ0YpCiAgICAgICAgIEJTdHJpbmcoQ0ZTdHJpbmdSZWYpOwogI2VuZGlmCiAgICAgICAg
IH5CU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xp
cGJvYXJkVXRpbGl0aWVzV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlw
Ym9hcmRVdGlsaXRpZXNXaW4uY3BwCmluZGV4IDYyOWFkOTk3MmRiNjhiNjM4ZjczOWU4NThjMTYw
MmNlZmFhYTZhZjIuLjI1NDdjYTUwODQwYzFhOGM2OWZhNTQyMDFhMzJkMjI2ZjUwZTNmZjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNX
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRp
ZXNXaW4uY3BwCkBAIC0zNywxNCArMzcsMTQgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAotI2lmIFBMQVRG
T1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRh
dGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiBGT1JNQVRFVEMqIGNm
SERyb3BGb3JtYXQoKQogewogICAgIHN0YXRpYyBGT1JNQVRFVEMgdXJsRm9ybWF0ID0ge0NGX0hE
Uk9QLCAwLCBEVkFTUEVDVF9DT05URU5ULCAtMSwgVFlNRURfSEdMT0JBTH07CkBAIC04Miw3ICs4
Miw3IEBAIHN0YXRpYyBib29sIGdldERhdGFNYXBJdGVtKGNvbnN0IERyYWdEYXRhTWFwKiBkYXRh
T2JqZWN0LCBGT1JNQVRFVEMqIGZvcm1hdCwgU3RyCiBzdGF0aWMgYm9vbCBnZXRXZWJMb2NEYXRh
KElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBTdHJpbmcmIHVybCwgU3RyaW5nKiB0aXRsZSkgCiB7
CiAgICAgYm9vbCBzdWNjZWVkZWQgPSBmYWxzZTsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0Uo
Q0YpCiAgICAgV0NIQVIgZmlsZW5hbWVbTUFYX1BBVEhdOwogICAgIFdDSEFSIHVybEJ1ZmZlcltJ
TlRFUk5FVF9NQVhfVVJMX0xFTkdUSF07CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCBleGl0OgogCiBz
dGF0aWMgYm9vbCBnZXRXZWJMb2NEYXRhKGNvbnN0IERyYWdEYXRhTWFwKiBkYXRhT2JqZWN0LCBT
dHJpbmcmIHVybCwgU3RyaW5nKiB0aXRsZSkgCiB7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNF
KENGKQogICAgIFdDSEFSIGZpbGVuYW1lW01BWF9QQVRIXTsKICAgICBXQ0hBUiB1cmxCdWZmZXJb
SU5URVJORVRfTUFYX1VSTF9MRU5HVEhdOwogCkBAIC0zODksNyArMzg5LDcgQEAgU3RyaW5nIGdl
dFVSTChJRGF0YU9iamVjdCogZGF0YU9iamVjdCwgRHJhZ0RhdGE6OkZpbGVuYW1lQ29udmVyc2lv
blBvbGljeSBmaWxlbmEKICAgICAgICAgUmVsZWFzZVN0Z01lZGl1bSgmc3RvcmUpOwogICAgICAg
ICBzdWNjZXNzID0gdHJ1ZTsKICAgICB9Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQog
ICAgIGVsc2UgaWYgKGZpbGVuYW1lUG9saWN5ID09IERyYWdEYXRhOjpDb252ZXJ0RmlsZW5hbWVz
KSB7CiAgICAgICAgIGlmIChTVUNDRUVERUQoZGF0YU9iamVjdC0+R2V0RGF0YShmaWxlbmFtZVdG
b3JtYXQoKSwgJnN0b3JlKSkpIHsKICAgICAgICAgICAgIC8vIGZpbGUgdXNpbmcgdW5pY29kZQpA
QCAtNDMzLDcgKzQzMyw3IEBAIFN0cmluZyBnZXRVUkwoY29uc3QgRHJhZ0RhdGFNYXAqIGRhdGEs
IERyYWdEYXRhOjpGaWxlbmFtZUNvbnZlcnNpb25Qb2xpY3kgZmlsZW5hCiAgICAgICAgIHJldHVy
biBleHRyYWN0VVJMKHVybCwgdGl0bGUpOwogICAgIGlmIChnZXREYXRhTWFwSXRlbShkYXRhLCB1
cmxGb3JtYXQoKSwgdXJsKSkKICAgICAgICAgcmV0dXJuIGV4dHJhY3RVUkwodXJsLCB0aXRsZSk7
Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIGlmIChmaWxlbmFtZVBvbGljeSAh
PSBEcmFnRGF0YTo6Q29udmVydEZpbGVuYW1lcykKICAgICAgICAgcmV0dXJuIHVybDsKIApAQCAt
NjQxLDcgKzY0MSw3IEBAIHZvaWQgZ2V0VXRmOERhdGEoSURhdGFPYmplY3QqIGRhdGEsIEZPUk1B
VEVUQyogZm9ybWF0LCBWZWN0b3I8U3RyaW5nPiYgZGF0YVN0cmluCiAgICAgUmVsZWFzZVN0Z01l
ZGl1bSgmc3RvcmUpOwogfQogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogdm9pZCBn
ZXRDZkRhdGEoSURhdGFPYmplY3QqIGRhdGEsIEZPUk1BVEVUQyogZm9ybWF0LCBWZWN0b3I8U3Ry
aW5nPiYgZGF0YVN0cmluZ3MpCiB7CiAgICAgU1RHTUVESVVNIHN0b3JlOwpAQCAtNjczLDcgKzY3
Myw3IEBAIHZvaWQgZ2V0Q2xpcGJvYXJkRGF0YShJRGF0YU9iamVjdCAqZGF0YU9iamVjdCwgRk9S
TUFURVRDKiBmb3JtYXQsIFZlY3RvcjxTdHJpbmc+CiAgICAgICAgIGZvcm1hdE1hcC5hZGQodGV4
dGh0bWxGb3JtYXQoKS0+Y2ZGb3JtYXQsIGdldFN0cmluZ0RhdGE8VUNoYXI+KTsKICAgICAgICAg
Zm9ybWF0TWFwLmFkZChwbGFpblRleHRGb3JtYXQoKS0+Y2ZGb3JtYXQsIGdldFN0cmluZ0RhdGE8
Y2hhcj4pOwogICAgICAgICBmb3JtYXRNYXAuYWRkKHBsYWluVGV4dFdGb3JtYXQoKS0+Y2ZGb3Jt
YXQsIGdldFN0cmluZ0RhdGE8VUNoYXI+KTsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0Yp
CiAgICAgICAgIGZvcm1hdE1hcC5hZGQoY2ZIRHJvcEZvcm1hdCgpLT5jZkZvcm1hdCwgZ2V0Q2ZE
YXRhKTsKICNlbmRpZgogICAgICAgICBmb3JtYXRNYXAuYWRkKGZpbGVuYW1lRm9ybWF0KCktPmNm
Rm9ybWF0LCBnZXRTdHJpbmdEYXRhPGNoYXI+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0NsaXBib2FyZFdpbi5jcHAKaW5kZXggMzk0NjEwYzc5NWNjMTlmOGMwNjdjMWRmOTVkNjAy
YmI4NmU4OWZhNy4uNTk3Mjk1Y2RiZWNhOGIxODYyOTUzOTk4MmVjOGQ5YTdlMWFjNzU2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHAKQEAgLTMxOCw3
ICszMTgsNyBAQCBzdGF0aWMgSFJFU1VMVCB3cml0ZUZpbGVUb0RhdGFPYmplY3QoSURhdGFPYmpl
Y3QqIGRhdGFPYmplY3QsIEhHTE9CQUwgZmlsZURlc2NyaQogICAgIGlmIChGQUlMRUQoaHIgPSBk
YXRhT2JqZWN0LT5TZXREYXRhKGZlLCAmbWVkaXVtLCBUUlVFKSkpCiAgICAgICAgIGdvdG8gZXhp
dDsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICAvLyBIRFJPUAogICAgIGlm
IChoRHJvcENvbnRlbnQpIHsKICAgICAgICAgbWVkaXVtLmhHbG9iYWwgPSBoRHJvcENvbnRlbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51
V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4u
Y3BwCmluZGV4IDdhZTgwMGIzYjdlMjcwNjlkOWQ1MGY3MTFhN2NjMDYwNGM5ZjJhZDcuLmVkOTcy
ODNmYmJjOWM2ZGNlMTQ5ZWY2MmVhZjQ5OWVhMzljOWVlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwCkBAIC0yMyw3ICsyMyw3
IEBACiAKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JN
KENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKIApA
QCAtNDEsMTQgKzQxLDE0IEBAIFBvcHVwTWVudSogU2VhcmNoUG9wdXBNZW51V2luOjpwb3B1cE1l
bnUoKQogCiBib29sIFNlYXJjaFBvcHVwTWVudVdpbjo6ZW5hYmxlZCgpCiB7Ci0jaWYgUExBVEZP
Uk0oQ0YpCisjaWYgVVNFKENGKQogICAgIHJldHVybiB0cnVlOwogI2Vsc2UKICAgICByZXR1cm4g
ZmFsc2U7CiAjZW5kaWYKIH0KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKIHN0YXRp
YyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGF1dG9zYXZlS2V5KGNvbnN0IFN0cmluZyYgbmFtZSkK
IHsKICAgICBTdHJpbmcga2V5ID0gImNvbS5hcHBsZS5XZWJLaXQuc2VhcmNoRmllbGQ6IiArIG5h
bWU7CkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgU2VhcmNoUG9wdXBNZW51V2luOjpzYXZlUmVjZW50
U2VhcmNoZXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0CiAgICAgaWYgKG5h
bWUuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBV
U0UoQ0YpCiAgICAgUmV0YWluUHRyPENGTXV0YWJsZUFycmF5UmVmPiBpdGVtczsKIAogICAgIHNp
emVfdCBzaXplID0gc2VhcmNoSXRlbXMuc2l6ZSgpOwpAQCAtODMsNyArODMsNyBAQCB2b2lkIFNl
YXJjaFBvcHVwTWVudVdpbjo6bG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYg
bmFtZSwgVmVjdG9yPFN0cgogICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
OwogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIHNlYXJjaEl0ZW1zLmNsZWFy
KCk7CiAgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGl0ZW1zKEFkb3B0Q0YsIHJlaW50ZXJwcmV0
X2Nhc3Q8Q0ZBcnJheVJlZj4oQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1ZShhdXRvc2F2ZUtleShu
YW1lKS5nZXQoKSwga0NGUHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24pKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2YvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jZi9DaGFu
Z2VMb2cKaW5kZXggZTJjMmM4MzE3MWNmZWIyZjVkNGNhMjcwNGNkNmJkMzI5MzgzZTI4MS4uMGZi
Zjg5MWUwNWNmYzE0N2UyN2NjOTlkMDNkYzFkMDcyZjgxZmJhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jZi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jZi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW5hbWUgUExBVEZPUk0oQ0YpIHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHA6CisKIDIwMTEtMDEtMjYgIFl1cnkgU2VtaWtoYXRz
a3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVs
ZG1hbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2YvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Q0YuY3BwIGIvU291cmNlL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnRDRi5jcHAKaW5kZXggNmJmNWRiZDNjNTY0ZGU1MDI5OGMxYmRjMjAyZGIw
Njc1NDE3ZjI2YS4uYjJhMWYxMDAyYTVhNzAzZjY5NTg3OGI4YzIzNDgzOTY4NGQ3ODgxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnRDRi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnRDRi5jcHAKQEAgLTI1LDEyICsyNSwxMiBAQAogCiAvLyBGSVhNRTogT24gV2luZG93
cywgd2UgcmVxdWlyZSBhbGwgV2ViS2l0IHNvdXJjZSBmaWxlcyB0byBpbmNsdWRlIGNvbmZpZy5o
CiAvLyBiZWZvcmUgaW5jbHVkaW5nIGFueSBvdGhlciBmaWxlcy4gRmFpbGluZyB0byBpbmNsdWRl
IGNvbmZpZy5oIHdpbGwgbGVhdmUKLS8vIFdURl9QTEFURk9STV9DRiBhbmQgV1RGX1VTRV9KU0Mg
dW5kZWZpbmVkLCBjYXVzaW5nIGJ1aWxkIGZhaWx1cmVzIGluIHRoaXMgCisvLyBXVEZfVVNFX0NP
UkVGT1VOREFUSU9OIGFuZCBXVEZfVVNFX0pTQyB1bmRlZmluZWQsIGNhdXNpbmcgYnVpbGQgZmFp
bHVyZXMgaW4gdGhpcyAKIC8vIGZpbGUuIEJ1dCBNYWMgZG9lc24ndCBoYXZlIGEgY29uZmlnLmgg
Zm9yIFdlYktpdCwgc28gd2UgY2FuJ3QgaW5jbHVkZSB0aGUgCi0vLyBXaW5kb3dzIG9uZSBoZXJl
LiBGb3Igbm93IHdlIGNhbiBqdXN0IGRlZmluZSBXVEZfUExBVEZPUk1fQ0YsICBXVEZfVVNFX0pT
QywgYW5kCisvLyBXaW5kb3dzIG9uZSBoZXJlLiBGb3Igbm93IHdlIGNhbiBqdXN0IGRlZmluZSBX
VEZfVVNFX0NPUkVGT1VOREFUSU9OLCAgV1RGX1VTRV9KU0MsIGFuZAogLy8gV1RGX1VTRV9DRk5F
VFdPUksgbWFudWFsbHksIGJ1dCB3ZSBuZWVkIGEgYmV0dGVyIGxvbmctdGVybSBzb2x1dGlvbi4K
LSNpZm5kZWYgV1RGX1BMQVRGT1JNX0NGCi0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjaWZu
ZGVmIFdURl9VU0VfQ09SRUZPVU5EQVRJT04KKyNkZWZpbmUgV1RGX1VTRV9DT1JFRk9VTkRBVElP
TiAxCiAjZW5kaWYKIAogI2lmbmRlZiBXVEZfVVNFX0pTQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDky
YWZmZmVmNDU5ZjYyNjRmYTAzNGZiODUzMDJlMDFkZGMyYjIyODIuLmMwOWQ2M2FiODg2ODJhYzUx
MzUwOGRjMGRiZDMzMGQwMjU4NDZlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUExB
VEZPUk0oQ0YpIHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKwogMjAxMS0wMS0z
MSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggN2Y5OGEwMGJiZGMzZmU2Y2Uw
NjI4MTU4ODU0OTNkZGNkY2NjNGFiYy4uYmIwMzA1NDcxYjFmOGRmNTBhOTU3OWQ0YTMyOWRmZDA3
YTFhMzA4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTE0MSw3ICsxNDEsNyBAQAogI2luY2x1
ZGUgPENvcmVHcmFwaGljcy9DR0NvbnRleHQuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0Yp
CisjaWYgVVNFKENGKQogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGQ1NGQ2MDA3Zjk3NDg3YmEyMjBmMjg1OTU3NzE2YTU5
ZGUxZTlkZWEuLmUyMGVjNDBhODQ1MDE1MmM0OGE1NDhmMjlmOTc1YzI2OGE4NDYxYTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxw
YXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW5hbWUgUExBVEZPUk0oQ0YpIHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0Ojpmb3JtYXRMb2NhbGl6ZWRTdHJpbmcp
OgorCiAyMDExLTAyLTAxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaAppbmRleCBmNTFhYjI2NGU3NWY2N2Y0ZDhkOWExMjli
MjNhY2E0ZmY5OWNjNzJmLi5iMmIwM2JkODYxZmFmYTAxMzJhMzljNzFhZGFmYTVhZGE5NjIwNzcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCkBA
IC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2lmIFBMQVRGT1JNKENGKQor
I2lmIFVTRShDRikKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9DRkRpY3Rpb25hcnkuaD4KICNl
bmRpZgogCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEltbXV0YWJs
ZUFycmF5PiBiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQp
OwogICAgIFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGZvcndhcmRMaXN0QXNJbW11dGFibGVB
cnJheVdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCk7CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBV
U0UoQ0YpCiAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGNyZWF0ZUNGRGljdGlvbmFyeVJlcHJlc2VudGF0
aW9uKFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5U2Vzc2lvblN0YXRlRmlsdGVyQ2FsbGJhY2ss
IHZvaWQqIGNvbnRleHQpIGNvbnN0OwogICAgIGJvb2wgcmVzdG9yZUZyb21DRkRpY3Rpb25hcnlS
ZXByZXNlbnRhdGlvbihDRkRpY3Rpb25hcnlSZWYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDM5ZjdkNDRkZGFhZjRlM2IzMDE2Zjk0YmI5
ZjZmMWQ0YWNkMTY0MTMuLjRmZmQyODQ0MzQzMzA4MWE3Y2FhMzkzZGI2YjlhMjk1Y2UxYTBjMzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NDYsNyAr
ODQ2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnRlcm1pbmF0ZVByb2Nlc3MoKQogICAgIHByb2Nl
c3MoKS0+dGVybWluYXRlKCk7CiB9CiAKLSNpZiAhUExBVEZPUk0oQ0YpIHx8IGRlZmluZWQoQlVJ
TERJTkdfUVRfXykKKyNpZiAhVVNFKENGKSB8fCBkZWZpbmVkKEJVSUxESU5HX1FUX18pCiBQYXNz
UmVmUHRyPFdlYkRhdGE+IFdlYlBhZ2VQcm94eTo6c2Vzc2lvblN0YXRlRGF0YShXZWJQYWdlUHJv
eHlTZXNzaW9uU3RhdGVGaWx0ZXJDYWxsYmFjaywgdm9pZCogY29udGV4dCkgY29uc3QKIHsKICAg
ICAvLyBGSVhNRTogUmV0dXJuIHNlc3Npb24gc3RhdGUgZGF0YSBmb3Igc2F2aW5nIFBhZ2Ugc3Rh
dGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5kZXggMjYxNTg1MmNlZGFh
ODc1NTFmM2U2OWVkMDc5YzA1M2U0M2UxMmMyMS4uYzMwMjEyN2EyYjZkYTU2NDJlYjAzNTUyMjYx
ZTQ3MzUxNzE5ZGY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAt
MzgsNyArMzgsNyBAQAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogLy8gdHlwZSBhY2NvcmRpbmcgdG8gc2VjdGlvbiAxOC43LzMgb2YgdGhlIEMr
KyBOMTkwNSBzdGFuZGFyZC4KIHN0YXRpYyBTdHJpbmcgZm9ybWF0TG9jYWxpemVkU3RyaW5nKFN0
cmluZyBmb3JtYXQsIC4uLikKIHsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAg
dmFfbGlzdCBhcmd1bWVudHM7CiAgICAgdmFfc3RhcnQoYXJndW1lbnRzLCBmb3JtYXQpOwogICAg
IFJldGFpblB0cjxDRlN0cmluZ1JlZj4gZm9ybWF0Q0ZTdHJpbmcoQWRvcHRDRiwgZm9ybWF0LmNy
ZWF0ZUNGU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGQ1ZTFmNmI4Y2VlZjAzYjZhYzdmMDc5YzViYmE2ZmZkZDlhNjk0MjcuLjg4
MDM0NDY3ZmFlNjJjZjVjMmNhODkyYjJlMTJhYzlmZDE4YjA1Y2IgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0w
Mi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUExBVEZPUk0oQ0Yp
IHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUzNTQwCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jb25maWcuaDoKKwogMjAxMS0w
Mi0wMSAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2NvbmZpZy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmgKaW5kZXggNTVlMmRj
MTdmYWUwY2M4MTc5N2RiOWJlZjQ1ZTRiZmZhYjlhZjdkYy4uOTYzNWE0Njg0NzdkMDBmYjU4YWZm
OTg1YWVjODliZDAwOGYwZmFmNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29u
ZmlnLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmgKQEAgLTQxLDcgKzQxLDcg
QEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0Yg
MQorI2RlZmluZSBXVEZfVVNFX0NPUkVGT1VOREFUSU9OIDEKIAogI2lmICFkZWZpbmVkKE1BQ19P
U19YX1ZFUlNJT05fMTBfNSkgfHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19P
U19YX1ZFUlNJT05fMTBfNQogI2RlZmluZSBCVUlMRElOR19PTl9USUdFUiAxCkBAIC01Myw3ICs1
Myw3IEBACiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAjaWYgUExBVEZPUk0oV0lOKQotI2Rl
ZmluZSBXVEZfUExBVEZPUk1fQ0YgMSAKKyNkZWZpbmUgV1RGX1VTRV9DT1JFRk9VTkRBVElPTiAx
IAogI2lmIGRlZmluZWQoV0lOX0NBSVJPKQogI2RlZmluZSBXVEZfUExBVEZPUk1fQ0FJUk8gMQog
I2RlZmluZSBXVEZfVVNFX0NVUkwgMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80896</attachid>
            <date>2011-02-01 23:28:25 -0800</date>
            <delta_ts>2011-02-01 23:32:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53540.patch</filename>
            <type>text/plain</type>
            <size>38354</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDkxMDlkNDIwOGYzODkzZjVmODVkODQ0ZDUyMmMx
ZTk0MjYzYmY2NmQuLjBkYmVkOTAwM2Y5ZTdhYzFlNGE3MWU1OWQyZGNmZTFlMTNjOGJjN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTAyLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShDRikgdG8gVVNFKENG
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NDAK
KworICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHA6CisgICAgICAgICogcnVudGlt
ZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERh
dGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YSk6CisgICAg
ICAgICogd3RmL0N1cnJlbnRUaW1lLmNwcDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJp
bmdJbXBsLmg6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNvbXB1dGVIYXNoKToKKyAgICAg
ICAgKiB3dGYvdGV4dC9XVEZTdHJpbmcuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9pY3UvQ29s
bGF0b3JJQ1UuY3BwOgorICAgICAgICAoV1RGOjpDb2xsYXRvcjo6dXNlckRlZmF1bHQpOgorCiAy
MDExLTAyLTAxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzcyOTcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDU4MzhiNjA3M2VlZjVh
ZmYxY2RjNTg1NzIyZTg0ZGVjM2U3MjZlY2QuLmE4ZDY2ZDBkYTNmNGMxZGRlMmZlZjUzMmI5ZDA1
MmNmYmM2ZmEwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQ
cm90b3R5cGUuY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgZW51bSBMb2NhbGVEYXRlVGltZUZvcm1h
dCB7IExvY2FsZURhdGVBbmRUaW1lLCBMb2NhbGVEYXRlLCBMb2NhbGVUaW1lIH07CiAjaWYgUExB
VEZPUk0oTUFDKQogCiAvLyBGSVhNRTogU2luY2UgdGhpcyBpcyBzdXBlcmlvciB0byB0aGUgc3Ry
ZnRpbWUtYmFzZWQgdmVyc2lvbiwgd2h5IGxpbWl0IHRoaXMgdG8gUExBVEZPUk0oTUFDKT8KLS8v
IEluc3RlYWQgd2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoaXMgd2hlbmV2ZXIgUExBVEZPUk0o
Q0YpIGlzIHRydWUuCisvLyBJbnN0ZWFkIHdlIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGlzIHdo
ZW5ldmVyIFVTRShDRikgaXMgdHJ1ZS4KIAogc3RhdGljIENGRGF0ZUZvcm1hdHRlclN0eWxlIHN0
eWxlRnJvbUFyZ1N0cmluZyhjb25zdCBVU3RyaW5nJiBzdHJpbmcsIENGRGF0ZUZvcm1hdHRlclN0
eWxlIGRlZmF1bHRTdHlsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAppbmRleCA0MTRhMGFkNDBlZTNjODY4Y2Mz
NDVjNzBkMzVmMDJjYWM1ZDkzY2RiLi5lNWNmNDNjN2ZlNDNlOTNkOGY4NzI4YjY2ZjNjNzYxOGU0
N2ViNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2
aXR5Q2FsbGJhY2tDRi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NB
Y3Rpdml0eUNhbGxiYWNrQ0YuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL1dU
RlRocmVhZERhdGEuaD4KICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5o
PgogCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAjZXJyb3IgIlRoaXMgZmlsZSBz
aG91bGQgb25seSBiZSB1c2VkIG9uIENGIHBsYXRmb3Jtcy4iCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAKaW5kZXggYTM2MzM3NzQ3
NWU0Nzk2MWQxYjViNDc2MGVmOTQwNjcyMDc0MzVlNi4uOTUzNjQxMTgwODJiZmM1YWQ5YTA4Mzcw
MzY2M2M3NjgyZjY3ODkzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuY3BwCkBAIC0xNjAsNyArMTYwLDcgQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2Jh
bERhdGEoR2xvYmFsRGF0YVR5cGUgZ2xvYmFsRGF0YVR5cGUsIFRocmVhZFN0YWNrVHlwZSB0aHJl
YWQKICAgICBzdGFydFByb2ZpbGVyU2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogI2lmIEVOQUJM
RShKSVQpICYmIEVOQUJMRShJTlRFUlBSRVRFUikKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0Uo
Q0YpCiAgICAgQ0ZTdHJpbmdSZWYgY2FuVXNlSklUS2V5ID0gQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0
cmluZygwICwgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwga0NGU3RyaW5nRW5jb2RpbmdNYWNSb21h
bik7CiAgICAgQ0ZCb29sZWFuUmVmIGNhblVzZUpJVCA9IChDRkJvb2xlYW5SZWYpQ0ZQcmVmZXJl
bmNlc0NvcHlBcHBWYWx1ZShjYW5Vc2VKSVRLZXksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxp
Y2F0aW9uKTsKICAgICBpZiAoY2FuVXNlSklUKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
Q3VycmVudFRpbWUuY3BwCmluZGV4IDU2NzI0Y2I4NmRjYTY2Y2MzYTUyM2IxNTk2ZTczMzEzOGI2
MzE2MGUuLjQ3MzcyMTkyZGQ3OWU1ZmM1NWY5ZGM4MWQyZDlhODM3YzM4YWQwOGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAK
ICNpZiBPUyhXSU5ET1dTKQogCi0vLyBXaW5kb3dzIGlzIGZpcnN0IHNpbmNlIHdlIHdhbnQgdG8g
dXNlIGhpcmVzIHRpbWVycywgZGVzcGl0ZSBQTEFURk9STShDRikKKy8vIFdpbmRvd3MgaXMgZmly
c3Qgc2luY2Ugd2Ugd2FudCB0byB1c2UgaGlyZXMgdGltZXJzLCBkZXNwaXRlIFVTRShDRikKIC8v
IGJlaW5nIGRlZmluZWQuCiAvLyBJZiBkZWZpbmVkLCBXSU4zMl9MRUFOX0FORF9NRUFOIGRpc2Fi
bGVzIHRpbWVCZWdpblBlcmlvZC90aW1lRW5kUGVyaW9kLgogI3VuZGVmIFdJTjMyX0xFQU5fQU5E
X01FQU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAwN2Y1N2YwYTNiMGI0
NDA0NWQxMWE3NjU0OThkOGU2ODMzZWRiZjE1Li5hOTkyYzQ1ZjJiMTFlMDVhYmVjZTRlZjhjZDE2
ZTQ2YTM5YWI1NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTQs
NyArNjE0LDcgQEAKICNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCiAjZGVm
aW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCiAjZW5kaWYKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMg
MQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNkZWZpbmUgSEFWRV9SRUFETElORSAx
CkBAIC02MjgsNyArNjI4LDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pICYm
IE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9D
RiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldM
T0NLIDEKICNkZWZpbmUgV1RGX1VTRV9DQVJCT05fU0VDVVJFX0lOUFVUX01PREUgMQpAQCAtNjM5
LDcgKzYzOSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0j
ZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ0YgMQogI2VuZGlmCiAK
ICNpZiBPUyhEQVJXSU4pICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhUExBVEZP
Uk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCkBAIC02NTgsNyArNjU4LDcgQEAKICNkZWZpbmUgRU5B
QkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCiAjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJ
TkcgMQogI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEK
KyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmlu
ZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNlbmRpZgpAQCAtNjc5LDcgKzY3OSw3IEBACiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfUExBVEZP
Uk1fQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NGIDEKICNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAw
CiAjZW5kaWYKIApAQCAtNjg3LDcgKzY4Nyw3IEBACiAjZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIg
MQogI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKICNpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ0YgMQogI2lmbmRl
ZiBCVUlMRElOR19PTl9USUdFUgogI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCiAjZWxzZQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCmluZGV4IGFi
NWIzNjZiNzBhMzM4YzUyYjhkNTE5NmU4YTQ3NjkwODBkYWY0YjUuLmEyYjc4ZDc5MzFiOTE3NmYy
YzFjYTFiMThiZDRjYWI0YjIyNGJlYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqKTsKICAgICAKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ0YpCiAgICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDogIG1fc3RyaW5nKGFk
ZChTdHJpbmcocykuaW1wbCgpKSkgeyB9CiAgICAgQ0ZTdHJpbmdSZWYgY3JlYXRlQ0ZTdHJpbmco
KSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5jcmVhdGVDRlN0cmluZygpOyB9CiAjZW5kaWYgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAppbmRleCAyNTQx
MWUxMjEyMTVmMGU3NGNjMzg4ZDAzMzRlYWE0MmMxNGU4MDM5Li4zYzU4NjEwM2VjY2M3OGFiYTM2
ZjZmNWU3OTZlNzc2ODBhNWMxODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4
dC9TdHJpbmdJbXBsLmgKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdJbXBsQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZTdHJpbmcg
KiBDRlN0cmluZ1JlZjsKICNlbmRpZgogCkBAIC0zMTgsNyArMzE4LDcgQEAgcHVibGljOgogCiAg
ICAgV1RGOjpVbmljb2RlOjpEaXJlY3Rpb24gZGVmYXVsdFdyaXRpbmdEaXJlY3Rpb24oKTsKIAot
I2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBDRlN0cmluZ1JlZiBjcmVhdGVDRlN0
cmluZygpOwogI2VuZGlmCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCAwYWVlMmVmZDdkZjE0NGE4ODUzNmQ3NzcyNTYyZTBl
YjVjZjAyNzJlLi5mZTEwZjQ4NzZkZTU1Y2UzMWQ2YjNhNmQ1NTdiMmI5N2RjOWQ2ZmQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1dURlN0cmluZy5oCkBAIC0zMSw3ICszMSw3
IEBACiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENGKQor
I2lmIFVTRShDRikKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZTdHJpbmcgKiBDRlN0cmluZ1Jl
ZjsKICNlbmRpZgogCkBAIC0yODQsNyArMjg0LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIFVu
c3BlY2lmaWVkQm9vbFR5cGVBKCkgY29uc3Q7CiAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29s
VHlwZUIoKSBjb25zdDsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBTdHJp
bmcoQ0ZTdHJpbmdSZWYpOwogICAgIENGU3RyaW5nUmVmIGNyZWF0ZUNGU3RyaW5nKCkgY29uc3Q7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2lj
dS9Db2xsYXRvcklDVS5jcHAKaW5kZXggODA1YjExNDdiNTRhYWM1NjI3ODQwMzUwZWJmMjc1ODlm
YTUyZmQ4ZC4uM2RjNjFkNGE1NzI3OTYwZmQ5MWJjYTM5Njk0NGM3ZmQyMDkxYmUzMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklD
VS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgQ29sbGF0b3I6OkNvbGxhdG9yKGNvbnN0IGNoYXIqIGxv
Y2FsZSkKIAogUGFzc093blB0cjxDb2xsYXRvcj4gQ29sbGF0b3I6OnVzZXJEZWZhdWx0KCkKIHsK
LSNpZiBPUyhEQVJXSU4pICYmIFBMQVRGT1JNKENGKQorI2lmIE9TKERBUldJTikgJiYgVVNFKENG
KQogICAgIC8vIE1hYyBPUyBYIGRvZXNuJ3Qgc2V0IFVOSVggbG9jYWxlIHRvIG1hdGNoIHVzZXIt
c2VsZWN0ZWQgb25lLCBzbyBJQ1UgZGVmYXVsdCBkb2Vzbid0IHdvcmsuCiAjaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFP
UyhJT1MpCiAgICAgUmV0YWluUHRyPENGTG9jYWxlUmVmPiBjdXJyZW50TG9jYWxlKEFkb3B0Q0Ys
IENGTG9jYWxlQ29weUN1cnJlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM2MjdmMmE1YTFhOGI0YjM3
MTAwMjcyNDcyNzNmYmYxYjM5OGZlYS4uZTdiYmE4YTM4MDEwN2VhMDNkZjAwMDI1Y2IzZGZlYzIx
YzAxMmRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTAyLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShDRikgdG8gVVNFKENGKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NDAKKwor
ICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIGVkaXRpbmcvU21h
cnRSZXBsYWNlLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL1NtYXJ0UmVwbGFjZUlDVS5jcHA6Cisg
ICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWwpOgorICAgICAgICAqIGxvYWRlci9hcmNo
aXZlL0FyY2hpdmVGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFyY2hpdmVNSU1FVHlw
ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9LVVJMLmg6CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vUnVuTG9vcFRpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVy
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9VVUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNhbm9uaWNhbFVVSURTdHJp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNlcnRpZmljYXRlUGF0aCk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9T
dHJpbmdDRi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vQlN0cmluZy5oOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRp
ZXNXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0V2ViTG9jRGF0YSk6CisgICAgICAgIChX
ZWJDb3JlOjpnZXRVUkwpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2xpcGJvYXJkRGF0YSk6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp3cml0ZUZpbGVUb0RhdGFPYmplY3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9TZWFyY2hQ
b3B1cE1lbnVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51V2luOjpl
bmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudVdpbjo6c2F2ZVJlY2Vu
dFNlYXJjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudVdpbjo6bG9hZFJl
Y2VudFNlYXJjaGVzKToKKwogMjAxMS0wMi0wMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBNYWMgcHJvZHVjdGlvbiBidWlsZHMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDI1OTRkMjk5MDRmMzkzOTAxMmY1NWJhYzkyYTA2ZmZm
MWE2OWJjNWQuLmY5NjYwYmZlNzBjM2NlMmEzOTBhZjg1YWMzZTQ3OWNmNTYxYTBhY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMTc5LDcgKzExNzksNyBAQAog
ICAgICAgICAgICAgIyBBZGRpdGlvbmFsIGZpbGVzIGZyb20gdGhlIFdlYkNvcmUgTWFjIGJ1aWxk
IHRoYXQgYXJlIHByZXNlbnRseQogICAgICAgICAgICAgIyB1c2VkIGluIHRoZSBXZWJDb3JlIENo
cm9taXVtIE1hYyBidWlsZCB0b28uCiAKLSAgICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBQ
TEFURk9STV9DRiBidXQgZG9lcyBub3QgdXNlIENGTmV0d29yay4KKyAgICAgICAgICAgICMgVGhl
IE1hYyBidWlsZCBpcyBVU0VfQ09SRUZPVU5EQVRJT04gYnV0IGRvZXMgbm90IHVzZSBDRk5ldHdv
cmsuCiAgICAgICAgICAgICBbJ2luY2x1ZGUnLCAnQ0ZcXC5jcHAkJ10sCiAgICAgICAgICAgICBb
J2V4Y2x1ZGUnLCAnbmV0d29yay9jZi8nXSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TbWFydFJlcGxhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJl
cGxhY2UuY3BwCmluZGV4IGM1ZjUyNDAzYTIyODZiZGNmZDRmYjNhZTNmMDc0MDkwYzZkOWZhNjEu
LmRiNjVmZjI4YjIyMGUwZDY0YzMxYzI2OTFhMzExMmM0ZmFiZGE2NDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTbWFydFJlcGxhY2UuaCIKIAotI2lmICFQTEFURk9STShDRikg
JiYgIVVTRShJQ1VfVU5JQ09ERSkKKyNpZiAhVVNFKENGKSAmJiAhVVNFKElDVV9VTklDT0RFKQog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQwLDQgKzQwLDQgQEAgYm9vbCBpc0NoYXJhY3Rl
clNtYXJ0UmVwbGFjZUV4ZW1wdChVQ2hhcjMyIGMsIGJvb2wgaXNQcmV2aW91c0NoYXJhY3RlcikK
IAogfQogCi0jZW5kaWYgLy8gIVBMQVRGT1JNKENGKQorI2VuZGlmIC8vICFVU0UoQ0YpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZUlDVS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZUlDVS5jcHAKaW5kZXggOWFjZDM1MGVkM2E2
Yzg4M2M5ZmE5OTc2MGI2OTAwNDNhY2M0M2FjNC4uYjFhMTAwNjdhMjc5OTRhMDc2MWMxMWY3Yzhi
MTA5YjUzNjg2YWEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJl
cGxhY2VJQ1UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlSUNV
LmNwcApAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNt
YXJ0UmVwbGFjZS5oIgogCi0jaWYgIVBMQVRGT1JNKENGKSAmJiBVU0UoSUNVX1VOSUNPREUpCisj
aWYgIVVTRShDRikgJiYgVVNFKElDVV9VTklDT0RFKQogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCiAjaW5jbHVkZSA8dW5pY29kZS91c2V0Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KQEAgLTk3LDQgKzk3LDQgQEAgYm9vbCBpc0NoYXJhY3RlclNtYXJ0UmVwbGFjZUV4ZW1wdChV
Q2hhcjMyIGMsIGJvb2wgaXNQcmV2aW91c0NoYXJhY3RlcikKIAogfQogCi0jZW5kaWYgLy8gIVBM
QVRGT1JNKENGKSAmJiBVU0UoSUNVX1VOSUNPREUpCisjZW5kaWYgLy8gIVVTRShDRikgJiYgVVNF
KElDVV9VTklDT0RFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNv
dXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmNwcAppbmRleCBlNmFiZWZkMWI0M2FmNjRkMGY4MmIxZjJlNjY3Y2VhMjBhODRmZmJmLi5iZWI0
OTlkMWFjNzI3OWZhOWFiYjMyYTNhNWJjZDEyY2YyMTRkNjhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApAQCAtMzU4LDcgKzM1OCw3IEBAIHZvaWQg
TWFpblJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcikKIAogICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVyZSBjYWxs
YmFja3MgY2FuIGJlIGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJlZC4KICAg
ICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMuCi0jaWYg
IVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAgICAgQVNTRVJUKHNob3VsZExvYWRBc0VtcHR5
RG9jdW1lbnQoci51cmwoKSkgfHwgIWRlZmVyc0xvYWRpbmcoKSk7CiAjZW5kaWYKIApAQCAtNDI1
LDcgKzQyNSw3IEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0YShjb25z
dCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBsb25nIGxvbmcKIAogICAgIC8vIFRoZXJlIGlzIGEg
YnVnIGluIENGTmV0d29yayB3aGVyZSBjYWxsYmFja3MgY2FuIGJlIGRpc3BhdGNoZWQgZXZlbiB3
aGVuIGxvYWRzIGFyZSBkZWZlcnJlZC4KICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzYzMDQ2
MDA+IGZvciBtb3JlIGRldGFpbHMuCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAg
ICAgQVNTRVJUKCFkZWZlcnNMb2FkaW5nKCkpOwogI2VuZGlmCiAgCkBAIC00NDYsNyArNDQ2LDcg
QEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlz
aFRpbWUpCiB7CiAgICAgLy8gVGhlcmUgaXMgYSBidWcgaW4gQ0ZOZXR3b3JrIHdoZXJlIGNhbGxi
YWNrcyBjYW4gYmUgZGlzcGF0Y2hlZCBldmVuIHdoZW4gbG9hZHMgYXJlIGRlZmVycmVkLgogICAg
IC8vIFNlZSA8cmRhcjovL3Byb2JsZW0vNjMwNDYwMD4gZm9yIG1vcmUgZGV0YWlscy4KLSNpZiAh
UExBVEZPUk0oQ0YpCisjaWYgIVVTRShDRikKICAgICBBU1NFUlQoc2hvdWxkTG9hZEFzRW1wdHlE
b2N1bWVudChmcmFtZUxvYWRlcigpLT5hY3RpdmVEb2N1bWVudExvYWRlcigpLT51cmwoKSkgfHwg
IWRlZmVyc0xvYWRpbmcoKSk7CiAjZW5kaWYKICAgICAKQEAgLTQ3Nyw3ICs0NzcsNyBAQCB2b2lk
IE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbChjb25zdCBSZXNvdXJjZUVycm9yJiBlcnJvcikK
IAogICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVyZSBjYWxsYmFja3MgY2Fu
IGJlIGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJlZC4KICAgICAvLyBTZWUg
PHJkYXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMuCi0jaWYgIVBMQVRGT1JN
KENGKQorI2lmICFVU0UoQ0YpCiAgICAgQVNTRVJUKCFkZWZlcnNMb2FkaW5nKCkpOwogI2VuZGlm
CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZl
RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9y
eS5jcHAKaW5kZXggMmUxMDhjNTQ5NDZhYjA2MDcyZmQ1YmE4Y2YyNGM5NmEyYzliNjU2MC4uZjdh
NzBjY2Q5Nzc2ZWNjMzNiYTIxZTA4YzI0YWM2MjFhYTM2MjgyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcApAQCAtMzIsNyArMzIsNyBA
QAogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgogCi0jaWYgUExBVEZPUk0oQ0YpICYmICFQTEFURk9STShRVCkKKyNpZiBVU0UoQ0YpICYm
ICFQTEFURk9STShRVCkKICNpbmNsdWRlICJMZWdhY3lXZWJBcmNoaXZlLmgiCiAjZW5kaWYKIApA
QCAtNjAsNyArNjAsNyBAQCBzdGF0aWMgQXJjaGl2ZU1JTUVUeXBlc01hcCYgYXJjaGl2ZU1JTUVU
eXBlcygpCiAgICAgaWYgKGluaXRpYWxpemVkKQogICAgICAgICByZXR1cm4gbWltZVR5cGVzOwog
Ci0jaWYgUExBVEZPUk0oQ0YpICYmICFQTEFURk9STShRVCkKKyNpZiBVU0UoQ0YpICYmICFQTEFU
Rk9STShRVCkKICAgICBtaW1lVHlwZXMuc2V0KCJhcHBsaWNhdGlvbi94LXdlYmFyY2hpdmUiLCBh
cmNoaXZlRmFjdG9yeUNyZWF0ZTxMZWdhY3lXZWJBcmNoaXZlPik7CiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IGQ5MjNmZTYwYmRmMzVhYjEwYTk0ZTlhMDdj
NmQxOTU2ZjliZDRlYjQuLjcyNTM1M2VlMTA2MjBiNmE1ZjAxYWU1MjkxNDY4YTFhMDY5M2QyYzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTM1LDcgKzM1LDcgQEAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5k
aWYKIApAQCAtNDcsNyArNDcsNyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENG
KSB8fCAoUExBVEZPUk0oUVQpICYmIGRlZmluZWQoUV9XU19NQUMpKQorI2lmIFVTRShDRikgfHwg
KFBMQVRGT1JNKFFUKSAmJiBkZWZpbmVkKFFfV1NfTUFDKSkKIHR5cGVkZWYgc3RydWN0IF9fQ0ZC
dW5kbGUqIENGQnVuZGxlUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRkRhdGEqIENGRGF0
YVJlZjsKICNlbmRpZgpAQCAtODQsNyArODQsNyBAQCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTW9k
dWxlOwogI2VuZGlmCiAjZWxpZiBQTEFURk9STShHVEspCiB0eXBlZGVmIEdNb2R1bGUqIFBsYXRm
b3JtTW9kdWxlOwotI2VsaWYgUExBVEZPUk0oQ0YpCisjZWxpZiBVU0UoQ0YpCiB0eXBlZGVmIENG
QnVuZGxlUmVmIFBsYXRmb3JtTW9kdWxlOwogI2Vsc2UKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1N
b2R1bGU7CkBAIC0xODksNyArMTg5LDcgQEAgYm9vbCB1bmxvYWRNb2R1bGUoUGxhdGZvcm1Nb2R1
bGUpOwogLy8gRW5jb2RlIGEgc3RyaW5nIGZvciB1c2Ugd2l0aGluIGEgZmlsZSBuYW1lLgogU3Ry
aW5nIGVuY29kZUZvckZpbGVOYW1lKGNvbnN0IFN0cmluZyYpOwogCi0jaWYgUExBVEZPUk0oQ0Yp
CisjaWYgVVNFKENGKQogUmV0YWluUHRyPENGVVJMUmVmPiBwYXRoQXNVUkwoY29uc3QgU3RyaW5n
Jik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oCmluZGV4IGNiZjBkOGI4MzI0N2FmNzI2
OTIyMWQ1ZjQ1ZDcxYjg5ZTUwMjIyZjIuLjIyNGM2NmMyMGM3YWM4NTMwOWZmZGYyNDRmOGQxY2Q3
NTg4MTlhNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKLSNpZiBQ
TEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGVVJMKiBD
RlVSTFJlZjsKICNlbmRpZgogCkBAIC0xODYsNyArMTg2LDcgQEAgcHVibGljOgogICAgIHVuc2ln
bmVkIHBhdGhBZnRlckxhc3RTbGFzaCgpIGNvbnN0OwogICAgIG9wZXJhdG9yIGNvbnN0IFN0cmlu
ZyYoKSBjb25zdCB7IHJldHVybiBzdHJpbmcoKTsgfQogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYg
VVNFKENGKQogICAgIEtVUkwoQ0ZVUkxSZWYpOwogICAgIENGVVJMUmVmIGNyZWF0ZUNGVVJMKCkg
Y29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxH
b29nbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHAKaW5kZXgg
NmQ2MzczNGU5YzIxNDYyN2FlNDg4ODM0MzZhMDE2YjIzZTIzZmI4Ni4uMGE3YjQzNGFiZDk1MWU5
YTZlMjllN2ZjZTdlNTEyODhlYWI4NjI1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vS1VSTEdvb2dsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTEdv
b2dsZS5jcHAKQEAgLTQwOCw3ICs0MDgsNyBAQCBLVVJMOjpLVVJMKGNvbnN0IENTdHJpbmcmIGNh
bm9uaWNhbFNwZWMsCiAgICAgICAgIG1fdXJsLnNldEFzY2lpKGNhbm9uaWNhbFNwZWMpOwogfQog
Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogS1VSTDo6S1VSTChDRlVSTFJlZikKIHsK
ICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUnVuTG9vcFRpbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIu
aAppbmRleCBmOGM1MjlmY2ViMmQxNzAzMGIyNmEzNjljMGIzMTM0MTQ0YjA1NmEwLi4zMWVkNGJm
Y2Q0YzRhMWFkMjI3MGYyZGYzYTQwYWUzYjc5Y2QzNDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9SdW5Mb29wVGltZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9SdW5Mb29wVGltZXIuaApAQCAtNTYsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIGZpcmVkKCkgPSAwOwogCiBwcml2YXRlOgotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShD
RikKICAgICBSZXRhaW5QdHI8Q0ZSdW5Mb29wVGltZXJSZWY+IG1fdGltZXI7CiAjZW5kaWYKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcAppbmRleCAzNWE3YjdjNDI2
ZTYyMjc3ZTc3YTExMTZlMTgyOWQ1NWJlMWQzNDAzLi4yZGRjMmRmMzVmOGRiYzQyMzQ2MWJhMTU3
MmQzZjI5Y2M1ODA1ZWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5j
cHAKQEAgLTIzOSw3ICsyMzksNyBAQCB1bnNpZ25lZCBTaGFyZWRCdWZmZXI6OmdldFNvbWVEYXRh
KGNvbnN0IGNoYXIqJiBzb21lRGF0YSwgdW5zaWduZWQgcG9zaXRpb24pIGNvbgogICAgIHJldHVy
biBzZWdtZW50ID09IHNlZ21lbnRzIC0gMSA/IHNlZ21lbnRlZFNpemUgLSBwb3NpdGlvbiA6IHNl
Z21lbnRTaXplIC0gcG9zaXRpb25JblNlZ21lbnQ7CiB9CiAKLSNpZiAhUExBVEZPUk0oQ0YpIHx8
IFBMQVRGT1JNKFFUKQorI2lmICFVU0UoQ0YpIHx8IFBMQVRGT1JNKFFUKQogCiBpbmxpbmUgdm9p
ZCBTaGFyZWRCdWZmZXI6OmNsZWFyUGxhdGZvcm1EYXRhKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2hhcmVkQnVmZmVyLmgKaW5kZXggYmZjNTkzMTJjMzIyZTBjOTkxOGJhZDdlZDYzZTNmODlj
OTQ2NjVmYy4uODkwMWE1MjdkOTQyMDM0Zjk5ZjNkMjA5NGYzMGM0ZDhhNTJlOThlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmgKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5k
aWYKIApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgTlNEYXRhICpjcmVhdGVOU0RhdGEo
KTsKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IHdyYXBOU0RhdGEoTlNEYXRh
ICpkYXRhKTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBDRkRh
dGFSZWYgY3JlYXRlQ0ZEYXRhKCk7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVy
PiB3cmFwQ0ZEYXRhKENGRGF0YVJlZik7CiAjZW5kaWYKQEAgLTEyNyw3ICsxMjcsNyBAQCBwcml2
YXRlOgogICAgIG11dGFibGUgVmVjdG9yPGNoYXI+IG1fYnVmZmVyOwogICAgIG11dGFibGUgVmVj
dG9yPGNoYXIqPiBtX3NlZ21lbnRzOwogICAgIE93blB0cjxQdXJnZWFibGVCdWZmZXI+IG1fcHVy
Z2VhYmxlQnVmZmVyOwotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBTaGFyZWRC
dWZmZXIoQ0ZEYXRhUmVmKTsKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBtX2NmRGF0YTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcAppbmRleCBjMDcyZjRhYzBiYWZkM2JjNjI4Nzgx
MTFlYWQzYmI3NWJjOGM3YTBjLi5hMDc4ZTkzNDQ2YmUwNmNlZTFlOGU5ZWRkNjBhZTA0Njk5YzQw
NjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlELmNwcApAQCAtMzksMTEgKzM5LDExIEBACiAKICNp
ZiBPUyhXSU5ET1dTKQogI2luY2x1ZGUgPG9iamJhc2UuaD4KLSNlbGlmIE9TKERBUldJTikgJiYg
UExBVEZPUk0oQ0YpCisjZWxpZiBPUyhEQVJXSU4pICYmIFVTRShDRikKICNpbmNsdWRlIDxDb3Jl
Rm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VsaWYgT1MoTElOVVgpICYmICFQTEFURk9S
TShDSFJPTUlVTSkKICNpbmNsdWRlIDxzdGRpby5oPgotI2VsaWYgKE9TKExJTlVYKSAmJiBQTEFU
Rk9STShDSFJPTUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFQTEFURk9STShDRikpCisjZWxpZiAo
T1MoTElOVVgpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERBUldJTikgJiYgIVVTRShD
RikpCiAjaW5jbHVkZSA8d3RmL1JhbmRvbU51bWJlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1aWxkZXIuaD4KICNlbmRpZgpAQCAtNzEsNyArNzEsNyBAQCBTdHJpbmcgY3JlYXRlQ2Fu
b25pY2FsVVVJRFN0cmluZygpCiAgICAgU3RyaW5nIGNhbm9uaWNhbFV1aWRTdHIgPSBTdHJpbmco
dXVpZFN0ciArIDEsIG51bSAtIDMpLmxvd2VyKCk7IC8vIHJlbW92ZSBvcGVuaW5nIGFuZCBjbG9z
aW5nIGJyYWNrZXQgYW5kIG1ha2UgaXQgbG93ZXIuCiAgICAgQVNTRVJUKGNhbm9uaWNhbFV1aWRT
dHJbdXVpZFZlcnNpb25JZGVudGlmaWVySW5kZXhdID09IHV1aWRWZXJzaW9uUmVxdWlyZWQpOwog
ICAgIHJldHVybiBjYW5vbmljYWxVdWlkU3RyOwotI2VsaWYgT1MoREFSV0lOKSAmJiBQTEFURk9S
TShDRikKKyNlbGlmIE9TKERBUldJTikgJiYgVVNFKENGKQogICAgIENGVVVJRFJlZiB1dWlkID0g
Q0ZVVUlEQ3JlYXRlKDApOwogICAgIENGU3RyaW5nUmVmIHV1aWRTdHJSZWYgPSBDRlVVSURDcmVh
dGVTdHJpbmcoMCwgdXVpZCk7CiAgICAgU3RyaW5nIHV1aWRTdHIodXVpZFN0clJlZik7CkBAIC05
Myw3ICs5Myw3IEBAIFN0cmluZyBjcmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKCkKICAgICBTdHJp
bmcgY2Fub25pY2FsVXVpZFN0ciA9IFN0cmluZyh1dWlkU3RyKS5sb3dlcigpOyAvLyBtYWtlIGl0
IGxvd2VyLgogICAgIEFTU0VSVChjYW5vbmljYWxVdWlkU3RyW3V1aWRWZXJzaW9uSWRlbnRpZmll
ckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVpcmVkKTsKICAgICByZXR1cm4gY2Fub25pY2FsVXVp
ZFN0cjsKLSNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01JVU0pKSB8fCAoT1MoREFS
V0lOKSAmJiAhUExBVEZPUk0oQ0YpKQorI2VsaWYgKE9TKExJTlVYKSAmJiBQTEFURk9STShDSFJP
TUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFVU0UoQ0YpKQogICAgIHVuc2lnbmVkIHJhbmRvbURh
dGFbNF07CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHJhbmRv
bURhdGEpOyArK2kpCiAgICAgICAgIHJhbmRvbURhdGFbaV0gPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgp
ICsgMS4wKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
SGFuZGxlLmgKaW5kZXggZDUxOGQ4NzE3OGFjODFhMmFiNjAwNmI2OWZlOTAyZGZlNmY3ZTQwMC4u
NzJmMmMwMDA0ZjMxODY3MTEzOTA2MDE5MDQ4NGQ0MjliMmJmOWEwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaApAQCAtMzcsNyArMzcs
NyBAQAogdHlwZWRlZiBzdHJ1Y3QgX1NvdXBTZXNzaW9uIFNvdXBTZXNzaW9uOwogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NG
RGF0YSAqIENGRGF0YVJlZjsKICNlbmRpZgogCkBAIC0xNDAsNyArMTQwLDcgQEAgcHVibGljOgog
I2lmIFBMQVRGT1JNKFdJTikgJiYgVVNFKENVUkwpCiAgICAgc3RhdGljIHZvaWQgc2V0SG9zdEFs
bG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKLSNpZiBQTEFU
Rk9STShXSU4pICYmIFVTRShDVVJMKSAmJiBQTEFURk9STShDRikKKyNpZiBQTEFURk9STShXSU4p
ICYmIFVTRShDVVJMKSAmJiBVU0UoQ0YpCiAgICAgc3RhdGljIHZvaWQgc2V0Q2xpZW50Q2VydGlm
aWNhdGUoY29uc3QgU3RyaW5nJiBob3N0LCBDRkRhdGFSZWYpOwogI2VuZGlmCiAKQEAgLTIxMCw3
ICsyMTAsNyBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZvaWQgY3JlYXRl
TlNVUkxDb25uZWN0aW9uKGlkIGRlbGVnYXRlLCBib29sIHNob3VsZFVzZUNyZWRlbnRpYWxTdG9y
YWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZik7Ci0jZWxpZiBQTEFURk9STShDRikKKyNlbGlm
IFVTRShDRikKICAgICB2b2lkIGNyZWF0ZUNGVVJMQ29ubmVjdGlvbihib29sIHNob3VsZFVzZUNy
ZWRlbnRpYWxTdG9yYWdlLCBib29sIHNob3VsZENvbnRlbnRTbmlmZik7CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJh
c2UuaAppbmRleCA5Y2M5MTQ4YTg0Mjg4MDAyY2NkYTlmNmRiYmQ2NDMzZmQ3NjUxMWZiLi4yOTNl
MDk2NDYxNTFlMGVjNWE3OTkyMjE4MGFhYTkyYzBhMDhkN2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaApAQCAtMjM2
LDcgKzIzNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICB1bnNpZ25lZCBpbml0
aWFsaXplTWF4aW11bUhUVFBDb25uZWN0aW9uQ291bnRQZXJIb3N0KCk7CiAKLSNpZiBQTEFURk9S
TShDRikKKyNpZiBVU0UoQ0YpCiAgICAgYm9vbCBpc0hUVFBQaXBlbGluaW5nRW5hYmxlZCgpOwog
ICAgIGJvb2wgc2hvdWxkRm9yY2VIVFRQUGlwZWxpbmluZ1ByaW9yaXR5SGlnaCgpOwogI2Vsc2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJj
ZUhhbmRsZUN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jl
c291cmNlSGFuZGxlQ3VybC5jcHAKaW5kZXggZjM2MGY4NmU5MDQ0MWFhNDFjOGY0OGU3YmU1OWE3
OTNkNzFmZjcwYy4uMTRjYjMxNzAyNWI4ODQzMDYwNjJkNTcxYmZkNTAyZDljMzY1N2ZjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFu
ZGxlQ3VybC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jl
c291cmNlSGFuZGxlQ3VybC5jcHAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZU1hbmFnZXIuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAotI2lmIFBMQVRG
T1JNKFdJTikgJiYgUExBVEZPUk0oQ0YpCisjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0YpCiAj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAj
ZW5kaWYKQEAgLTEyNCw3ICsxMjQsNyBAQCBib29sIFJlc291cmNlSGFuZGxlOjpzdXBwb3J0c0J1
ZmZlcmVkRGF0YSgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi0jaWYgUExBVEZPUk0oV0lOKSAm
JiBQTEFURk9STShDRikKKyNpZiBQTEFURk9STShXSU4pICYmIFVTRShDRikKIHN0YXRpYyBIYXNo
U2V0PFN0cmluZz4mIGFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGVIb3N0cygpCiB7CiAgICAgc3Rh
dGljIEhhc2hTZXQ8U3RyaW5nPiBob3N0czsKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpzZXRIb3N0QWxsb3dzQW55SFRUUFNDZXJ0aWZpY2F0ZShjb25zdCBTdHJpbmcm
IGhvc3QpCiB9CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgUExBVEZPUk0oQ0YpCisj
aWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0YpCiAvLyBGSVhNRTogIFRoZSBDRkRhdGFSZWYgd2ls
bCBuZWVkIHRvIGJlIHNvbWV0aGluZyBlbHNlIHdoZW4KIC8vIGJ1aWxkaW5nIHdpdGhvdXQgCiBz
dGF0aWMgSGFzaE1hcDxTdHJpbmcsIFJldGFpblB0cjxDRkRhdGFSZWY+ID4mIGNsaWVudENlcnRz
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNv
dXJjZUhhbmRsZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
dXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKaW5kZXggMmU0MjU5Y2UzZDhmZTNmZjRkMDcy
MDcyYTc3MDY3MGIwMzc1YjA2ZS4uYTM0MGVkMjU4OTA0NDFhYzRjYzM4MjhlYTUxOTRiNDEzOWI5
ZDNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jl
c291cmNlSGFuZGxlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL1Jlc291cmNlSGFuZGxlTWFuYWdlci5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAKIAog
I2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KLSNpZiBQTEFURk9STShDRikK
KyNpZiBVU0UoQ0YpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgY29uc3QgYm9vbCBp
Z25vcmVTU0xFcnJvcnMgPSBnZXRlbnYoIldFQktJVF9JR05PUkVfU1NMX0VSUk9SUyIpOwogCiBz
dGF0aWMgQ1N0cmluZyBjZXJ0aWZpY2F0ZVBhdGgoKQogewotI2lmIFBMQVRGT1JNKENGKQorI2lm
IFVTRShDRikKICAgICBDRkJ1bmRsZVJlZiB3ZWJLaXRCdW5kbGUgPSBDRkJ1bmRsZUdldEJ1bmRs
ZVdpdGhJZGVudGlmaWVyKENGU1RSKCJjb20uYXBwbGUuV2ViS2l0IikpOwogICAgIGlmICh3ZWJL
aXRCdW5kbGUpIHsKICAgICAgICAgUmV0YWluUHRyPENGVVJMUmVmPiBjZXJ0VVJMUmVmKEFkb3B0
Q0YsIENGQnVuZGxlQ29weVJlc291cmNlVVJMKHdlYktpdEJ1bmRsZSwgQ0ZTVFIoImNhY2VydCIp
LCBDRlNUUigicGVtIiksIENGU1RSKCJjZXJ0aWZpY2F0ZXMiKSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0NGLmNwcAppbmRleCBkY2FmOGZiOTdlZDc3MmM2YWM1
YzdjYjgyYjhhMWVkNmU4ZjU1ZTQ5Li5jMmZiZTg5NmU4ZTQ5NGQ5MDI0YTcxYTc4ZDI0MzgwOWY3
MzkyMDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmlu
Z0NGLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0NGLmNw
cApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAKICNpbmNsdWRl
IDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogCkBAIC01Miw0ICs1Miw0IEBAIENG
U3RyaW5nUmVmIFN0cmluZzo6Y3JlYXRlQ0ZTdHJpbmcoKSBjb25zdAogCiB9CiAKLSNlbmRpZiAv
LyBQTEFURk9STShDRikKKyNlbmRpZiAvLyBVU0UoQ0YpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAKaW5kZXggMDE1NzkxODNjZjExOTg0NDQy
ZmVhYjcwMmU3NWYyOTkyZDc0N2YyNC4uNGE5ODZmZDQwZTJiMGY4NWMwN2Y4NGE3NTg3MDQxYjA0
MmQ5YjEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJp
bmdJbXBsQ0YuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvU3RyaW5n
SW1wbENGLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0ltcGwuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShD
RikKIAogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTE1OSw0ICsxNTksNCBAQCBDRlN0cmluZ1JlZiBTdHJp
bmdJbXBsOjpjcmVhdGVDRlN0cmluZygpCiAKIH0KIAotI2VuZGlmIC8vIFBMQVRGT1JNKENGKQor
I2VuZGlmIC8vIFVTRShDRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9CU3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcApp
bmRleCA0ZDZkMTFlZDEyM2VhYWJjZjAxZWE5MzRkNDJmMTY2MWNhNGU4ODE0Li42ZmJiODI0Mzcz
ZWNmNzY0NDg2YWNlMDE1YWVkOTk5MzlkODQyMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0JTdHJpbmcuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8dGNoYXIuaD4KICNp
bmNsdWRlIDx3aW5kb3dzLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAjaW5j
bHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNlbmRpZgogCkBAIC05Myw3
ICs5Myw3IEBAIEJTdHJpbmc6OkJTdHJpbmcoY29uc3QgVVN0cmluZyYgcykKICAgICAgICAgbV9i
c3RyID0gU3lzQWxsb2NTdHJpbmdMZW4ocy5jaGFyYWN0ZXJzKCksIHMubGVuZ3RoKCkpOwogfQog
Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogQlN0cmluZzo6QlN0cmluZyhDRlN0cmlu
Z1JlZiBjZnN0cikKICAgICA6IG1fYnN0cigwKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0JTdHJpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9C
U3RyaW5nLmgKaW5kZXggYmRiZjE4OWYxYzM2N2IwZDUwYTNjMmZjZWQ1N2RkYTBmOTliNTJlYi4u
ZTVjNDk0YzljMDMyMjI3YWRmMDk4YTNjNGE5OGY4NDJhZGFhZDhiZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vQlN0cmluZy5oCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlIDx3dGYv
Rm9yd2FyZC5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogdHlwZWRlZiBjb25z
dCBzdHJ1Y3QgX19DRlN0cmluZyAqIENGU3RyaW5nUmVmOwogI2VuZGlmCiAKQEAgLTUxLDcgKzUx
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBCU3RyaW5nKGNvbnN0IEF0b21pY1N0
cmluZyYpOwogICAgICAgICBCU3RyaW5nKGNvbnN0IEtVUkwmKTsKICAgICAgICAgQlN0cmluZyhj
b25zdCBKU0M6OlVTdHJpbmcmKTsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAg
ICAgIEJTdHJpbmcoQ0ZTdHJpbmdSZWYpOwogI2VuZGlmCiAgICAgICAgIH5CU3RyaW5nKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVz
V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNX
aW4uY3BwCmluZGV4IDYyOWFkOTk3MmRiNjhiNjM4ZjczOWU4NThjMTYwMmNlZmFhYTZhZjIuLjI1
NDdjYTUwODQwYzFhOGM2OWZhNTQyMDFhMzJkMjI2ZjUwZTNmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3BwCkBAIC0z
NywxNCArMzcsMTQgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVT
RShDRikKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNp
ZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiBGT1JNQVRFVEMqIGNmSERyb3BGb3JtYXQoKQog
ewogICAgIHN0YXRpYyBGT1JNQVRFVEMgdXJsRm9ybWF0ID0ge0NGX0hEUk9QLCAwLCBEVkFTUEVD
VF9DT05URU5ULCAtMSwgVFlNRURfSEdMT0JBTH07CkBAIC04Miw3ICs4Miw3IEBAIHN0YXRpYyBi
b29sIGdldERhdGFNYXBJdGVtKGNvbnN0IERyYWdEYXRhTWFwKiBkYXRhT2JqZWN0LCBGT1JNQVRF
VEMqIGZvcm1hdCwgU3RyCiBzdGF0aWMgYm9vbCBnZXRXZWJMb2NEYXRhKElEYXRhT2JqZWN0KiBk
YXRhT2JqZWN0LCBTdHJpbmcmIHVybCwgU3RyaW5nKiB0aXRsZSkgCiB7CiAgICAgYm9vbCBzdWNj
ZWVkZWQgPSBmYWxzZTsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgV0NIQVIg
ZmlsZW5hbWVbTUFYX1BBVEhdOwogICAgIFdDSEFSIHVybEJ1ZmZlcltJTlRFUk5FVF9NQVhfVVJM
X0xFTkdUSF07CiAKQEAgLTEyMiw3ICsxMjIsNyBAQCBleGl0OgogCiBzdGF0aWMgYm9vbCBnZXRX
ZWJMb2NEYXRhKGNvbnN0IERyYWdEYXRhTWFwKiBkYXRhT2JqZWN0LCBTdHJpbmcmIHVybCwgU3Ry
aW5nKiB0aXRsZSkgCiB7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIFdDSEFS
IGZpbGVuYW1lW01BWF9QQVRIXTsKICAgICBXQ0hBUiB1cmxCdWZmZXJbSU5URVJORVRfTUFYX1VS
TF9MRU5HVEhdOwogCkBAIC0zODksNyArMzg5LDcgQEAgU3RyaW5nIGdldFVSTChJRGF0YU9iamVj
dCogZGF0YU9iamVjdCwgRHJhZ0RhdGE6OkZpbGVuYW1lQ29udmVyc2lvblBvbGljeSBmaWxlbmEK
ICAgICAgICAgUmVsZWFzZVN0Z01lZGl1bSgmc3RvcmUpOwogICAgICAgICBzdWNjZXNzID0gdHJ1
ZTsKICAgICB9Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIGVsc2UgaWYgKGZp
bGVuYW1lUG9saWN5ID09IERyYWdEYXRhOjpDb252ZXJ0RmlsZW5hbWVzKSB7CiAgICAgICAgIGlm
IChTVUNDRUVERUQoZGF0YU9iamVjdC0+R2V0RGF0YShmaWxlbmFtZVdGb3JtYXQoKSwgJnN0b3Jl
KSkpIHsKICAgICAgICAgICAgIC8vIGZpbGUgdXNpbmcgdW5pY29kZQpAQCAtNDMzLDcgKzQzMyw3
IEBAIFN0cmluZyBnZXRVUkwoY29uc3QgRHJhZ0RhdGFNYXAqIGRhdGEsIERyYWdEYXRhOjpGaWxl
bmFtZUNvbnZlcnNpb25Qb2xpY3kgZmlsZW5hCiAgICAgICAgIHJldHVybiBleHRyYWN0VVJMKHVy
bCwgdGl0bGUpOwogICAgIGlmIChnZXREYXRhTWFwSXRlbShkYXRhLCB1cmxGb3JtYXQoKSwgdXJs
KSkKICAgICAgICAgcmV0dXJuIGV4dHJhY3RVUkwodXJsLCB0aXRsZSk7Ci0jaWYgUExBVEZPUk0o
Q0YpCisjaWYgVVNFKENGKQogICAgIGlmIChmaWxlbmFtZVBvbGljeSAhPSBEcmFnRGF0YTo6Q29u
dmVydEZpbGVuYW1lcykKICAgICAgICAgcmV0dXJuIHVybDsKIApAQCAtNjQxLDcgKzY0MSw3IEBA
IHZvaWQgZ2V0VXRmOERhdGEoSURhdGFPYmplY3QqIGRhdGEsIEZPUk1BVEVUQyogZm9ybWF0LCBW
ZWN0b3I8U3RyaW5nPiYgZGF0YVN0cmluCiAgICAgUmVsZWFzZVN0Z01lZGl1bSgmc3RvcmUpOwog
fQogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogdm9pZCBnZXRDZkRhdGEoSURhdGFP
YmplY3QqIGRhdGEsIEZPUk1BVEVUQyogZm9ybWF0LCBWZWN0b3I8U3RyaW5nPiYgZGF0YVN0cmlu
Z3MpCiB7CiAgICAgU1RHTUVESVVNIHN0b3JlOwpAQCAtNjczLDcgKzY3Myw3IEBAIHZvaWQgZ2V0
Q2xpcGJvYXJkRGF0YShJRGF0YU9iamVjdCAqZGF0YU9iamVjdCwgRk9STUFURVRDKiBmb3JtYXQs
IFZlY3RvcjxTdHJpbmc+CiAgICAgICAgIGZvcm1hdE1hcC5hZGQodGV4dGh0bWxGb3JtYXQoKS0+
Y2ZGb3JtYXQsIGdldFN0cmluZ0RhdGE8VUNoYXI+KTsKICAgICAgICAgZm9ybWF0TWFwLmFkZChw
bGFpblRleHRGb3JtYXQoKS0+Y2ZGb3JtYXQsIGdldFN0cmluZ0RhdGE8Y2hhcj4pOwogICAgICAg
ICBmb3JtYXRNYXAuYWRkKHBsYWluVGV4dFdGb3JtYXQoKS0+Y2ZGb3JtYXQsIGdldFN0cmluZ0Rh
dGE8VUNoYXI+KTsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgICAgIGZvcm1h
dE1hcC5hZGQoY2ZIRHJvcEZvcm1hdCgpLT5jZkZvcm1hdCwgZ2V0Q2ZEYXRhKTsKICNlbmRpZgog
ICAgICAgICBmb3JtYXRNYXAuYWRkKGZpbGVuYW1lRm9ybWF0KCktPmNmRm9ybWF0LCBnZXRTdHJp
bmdEYXRhPGNoYXI+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9D
bGlwYm9hcmRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdp
bi5jcHAKaW5kZXggMzk0NjEwYzc5NWNjMTlmOGMwNjdjMWRmOTVkNjAyYmI4NmU4OWZhNy4uNTk3
Mjk1Y2RiZWNhOGIxODYyOTUzOTk4MmVjOGQ5YTdlMWFjNzU2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHAKQEAgLTMxOCw3ICszMTgsNyBAQCBzdGF0
aWMgSFJFU1VMVCB3cml0ZUZpbGVUb0RhdGFPYmplY3QoSURhdGFPYmplY3QqIGRhdGFPYmplY3Qs
IEhHTE9CQUwgZmlsZURlc2NyaQogICAgIGlmIChGQUlMRUQoaHIgPSBkYXRhT2JqZWN0LT5TZXRE
YXRhKGZlLCAmbWVkaXVtLCBUUlVFKSkpCiAgICAgICAgIGdvdG8gZXhpdDsKIAotI2lmIFBMQVRG
T1JNKENGKQorI2lmIFVTRShDRikKICAgICAvLyBIRFJPUAogICAgIGlmIChoRHJvcENvbnRlbnQp
IHsKICAgICAgICAgbWVkaXVtLmhHbG9iYWwgPSBoRHJvcENvbnRlbnQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51V2luLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwCmluZGV4IDdhZTgw
MGIzYjdlMjcwNjlkOWQ1MGY3MTFhN2NjMDYwNGM5ZjJhZDcuLmVkOTcyODNmYmJjOWM2ZGNlMTQ5
ZWY2MmVhZjQ5OWVhMzljOWVlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9TZWFyY2hQb3B1cE1lbnVXaW4uY3BwCkBAIC0yMyw3ICsyMyw3IEBACiAKICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShD
RikKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKIApAQCAtNDEsMTQgKzQxLDE0
IEBAIFBvcHVwTWVudSogU2VhcmNoUG9wdXBNZW51V2luOjpwb3B1cE1lbnUoKQogCiBib29sIFNl
YXJjaFBvcHVwTWVudVdpbjo6ZW5hYmxlZCgpCiB7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNF
KENGKQogICAgIHJldHVybiB0cnVlOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYK
IH0KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKIHN0YXRpYyBSZXRhaW5QdHI8Q0ZT
dHJpbmdSZWY+IGF1dG9zYXZlS2V5KGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKICAgICBTdHJpbmcg
a2V5ID0gImNvbS5hcHBsZS5XZWJLaXQuc2VhcmNoRmllbGQ6IiArIG5hbWU7CkBAIC02MSw3ICs2
MSw3IEBAIHZvaWQgU2VhcmNoUG9wdXBNZW51V2luOjpzYXZlUmVjZW50U2VhcmNoZXMoY29uc3Qg
QXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0CiAgICAgaWYgKG5hbWUuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm47CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgUmV0
YWluUHRyPENGTXV0YWJsZUFycmF5UmVmPiBpdGVtczsKIAogICAgIHNpemVfdCBzaXplID0gc2Vh
cmNoSXRlbXMuc2l6ZSgpOwpAQCAtODMsNyArODMsNyBAQCB2b2lkIFNlYXJjaFBvcHVwTWVudVdp
bjo6bG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgVmVjdG9yPFN0
cgogICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgUExBVEZP
Uk0oQ0YpCisjaWYgVVNFKENGKQogICAgIHNlYXJjaEl0ZW1zLmNsZWFyKCk7CiAgICAgUmV0YWlu
UHRyPENGQXJyYXlSZWY+IGl0ZW1zKEFkb3B0Q0YsIHJlaW50ZXJwcmV0X2Nhc3Q8Q0ZBcnJheVJl
Zj4oQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1ZShhdXRvc2F2ZUtleShuYW1lKS5nZXQoKSwga0NG
UHJlZmVyZW5jZXNDdXJyZW50QXBwbGljYXRpb24pKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2YvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jZi9DaGFuZ2VMb2cKaW5kZXggZTJj
MmM4MzE3MWNmZWIyZjVkNGNhMjcwNGNkNmJkMzI5MzgzZTI4MS4uMGZiZjg5MWUwNWNmYzE0N2Uy
N2NjOTlkMDNkYzFkMDcyZjgxZmJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jZi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jZi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUExBVEZP
Uk0oQ0YpIHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnRDRi5jcHA6CisKIDIwMTEtMDEtMjYgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2YvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0Yu
Y3BwIGIvU291cmNlL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRD
Ri5jcHAKaW5kZXggNmJmNWRiZDNjNTY0ZGU1MDI5OGMxYmRjMjAyZGIwNjc1NDE3ZjI2YS4uYjJh
MWYxMDAyYTVhNzAzZjY5NTg3OGI4YzIzNDgzOTY4NGQ3ODgxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jZi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRDRi5jcHAK
QEAgLTI1LDEyICsyNSwxMiBAQAogCiAvLyBGSVhNRTogT24gV2luZG93cywgd2UgcmVxdWlyZSBh
bGwgV2ViS2l0IHNvdXJjZSBmaWxlcyB0byBpbmNsdWRlIGNvbmZpZy5oCiAvLyBiZWZvcmUgaW5j
bHVkaW5nIGFueSBvdGhlciBmaWxlcy4gRmFpbGluZyB0byBpbmNsdWRlIGNvbmZpZy5oIHdpbGwg
bGVhdmUKLS8vIFdURl9QTEFURk9STV9DRiBhbmQgV1RGX1VTRV9KU0MgdW5kZWZpbmVkLCBjYXVz
aW5nIGJ1aWxkIGZhaWx1cmVzIGluIHRoaXMgCisvLyBXVEZfVVNFX0NGIGFuZCBXVEZfVVNFX0pT
QyB1bmRlZmluZWQsIGNhdXNpbmcgYnVpbGQgZmFpbHVyZXMgaW4gdGhpcyAKIC8vIGZpbGUuIEJ1
dCBNYWMgZG9lc24ndCBoYXZlIGEgY29uZmlnLmggZm9yIFdlYktpdCwgc28gd2UgY2FuJ3QgaW5j
bHVkZSB0aGUgCi0vLyBXaW5kb3dzIG9uZSBoZXJlLiBGb3Igbm93IHdlIGNhbiBqdXN0IGRlZmlu
ZSBXVEZfUExBVEZPUk1fQ0YsICBXVEZfVVNFX0pTQywgYW5kCisvLyBXaW5kb3dzIG9uZSBoZXJl
LiBGb3Igbm93IHdlIGNhbiBqdXN0IGRlZmluZSBXVEZfVVNFX0NGLCAgV1RGX1VTRV9KU0MsIGFu
ZAogLy8gV1RGX1VTRV9DRk5FVFdPUksgbWFudWFsbHksIGJ1dCB3ZSBuZWVkIGEgYmV0dGVyIGxv
bmctdGVybSBzb2x1dGlvbi4KLSNpZm5kZWYgV1RGX1BMQVRGT1JNX0NGCi0jZGVmaW5lIFdURl9Q
TEFURk9STV9DRiAxCisjaWZuZGVmIFdURl9VU0VfQ0YKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAj
ZW5kaWYKIAogI2lmbmRlZiBXVEZfVVNFX0pTQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDkyYWZmZmVm
NDU5ZjYyNjRmYTAzNGZiODUzMDJlMDFkZGMyYjIyODIuLmMwOWQ2M2FiODg2ODJhYzUxMzUwOGRj
MGRiZDMzMGQwMjU4NDZlYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAx
MS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUExBVEZPUk0o
Q0YpIHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKwogMjAxMS0wMS0zMSAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRh
bSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwIGIvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKaW5kZXggN2Y5OGEwMGJiZGMzZmU2Y2UwNjI4MTU4
ODU0OTNkZGNkY2NjNGFiYy4uYmIwMzA1NDcxYjFmOGRmNTBhOTU3OWQ0YTMyOWRmZDA3YTFhMzA4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC93aW4vV2ViVmlldy5jcHAKQEAgLTE0MSw3ICsxNDEsNyBAQAogI2luY2x1ZGUgPENv
cmVHcmFwaGljcy9DR0NvbnRleHQuaD4KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYg
VVNFKENGKQogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IGQ1NGQ2MDA3Zjk3NDg3YmEyMjBmMjg1OTU3NzE2YTU5ZGUxZTlk
ZWEuLmUyMGVjNDBhODQ1MDE1MmM0OGE1NDhmMjlmOTc1YzI2OGE4NDYxYTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMS0wMi0wMSAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW5hbWUgUExBVEZPUk0oQ0YpIHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViQmFja0ZvcndhcmRMaXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwOgorICAgICAgICAoV2ViS2l0Ojpmb3JtYXRMb2NhbGl6ZWRTdHJpbmcpOgorCiAy
MDExLTAyLTAxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJCYWNrRm9yd2FyZExpc3QuaAppbmRleCBmNTFhYjI2NGU3NWY2N2Y0ZDhkOWExMjliMjNhY2E0
ZmY5OWNjNzJmLi5iMmIwM2JkODYxZmFmYTAxMzJhMzljNzFhZGFmYTVhZGE5NjIwNzczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCkBAIC0zMyw3
ICszMyw3IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVT
RShDRikKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9DRkRpY3Rpb25hcnkuaD4KICNlbmRpZgog
CkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5
PiBiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpOwogICAg
IFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGZvcndhcmRMaXN0QXNJbW11dGFibGVBcnJheVdp
dGhMaW1pdCh1bnNpZ25lZCBsaW1pdCk7CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0Yp
CiAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGNyZWF0ZUNGRGljdGlvbmFyeVJlcHJlc2VudGF0aW9uKFdl
YlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5U2Vzc2lvblN0YXRlRmlsdGVyQ2FsbGJhY2ssIHZvaWQq
IGNvbnRleHQpIGNvbnN0OwogICAgIGJvb2wgcmVzdG9yZUZyb21DRkRpY3Rpb25hcnlSZXByZXNl
bnRhdGlvbihDRkRpY3Rpb25hcnlSZWYpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDM5ZjdkNDRkZGFhZjRlM2IzMDE2Zjk0YmI5ZjZmMWQ0
YWNkMTY0MTMuLjRmZmQyODQ0MzQzMzA4MWE3Y2FhMzkzZGI2YjlhMjk1Y2UxYTBjMzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NDYsNyArODQ2LDcg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OnRlcm1pbmF0ZVByb2Nlc3MoKQogICAgIHByb2Nlc3MoKS0+
dGVybWluYXRlKCk7CiB9CiAKLSNpZiAhUExBVEZPUk0oQ0YpIHx8IGRlZmluZWQoQlVJTERJTkdf
UVRfXykKKyNpZiAhVVNFKENGKSB8fCBkZWZpbmVkKEJVSUxESU5HX1FUX18pCiBQYXNzUmVmUHRy
PFdlYkRhdGE+IFdlYlBhZ2VQcm94eTo6c2Vzc2lvblN0YXRlRGF0YShXZWJQYWdlUHJveHlTZXNz
aW9uU3RhdGVGaWx0ZXJDYWxsYmFjaywgdm9pZCogY29udGV4dCkgY29uc3QKIHsKICAgICAvLyBG
SVhNRTogUmV0dXJuIHNlc3Npb24gc3RhdGUgZGF0YSBmb3Igc2F2aW5nIFBhZ2Ugc3RhdGUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKaW5kZXggMjYxNTg1MmNlZGFhODc1NTFm
M2U2OWVkMDc5YzA1M2U0M2UxMmMyMS4uYzMwMjEyN2EyYjZkYTU2NDJlYjAzNTUyMjYxZTQ3MzUx
NzE5ZGY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMzgsNyAr
MzgsNyBAQAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogCkBAIC01Nyw3ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogLy8gdHlwZSBhY2NvcmRpbmcgdG8gc2VjdGlvbiAxOC43LzMgb2YgdGhlIEMrKyBOMTkw
NSBzdGFuZGFyZC4KIHN0YXRpYyBTdHJpbmcgZm9ybWF0TG9jYWxpemVkU3RyaW5nKFN0cmluZyBm
b3JtYXQsIC4uLikKIHsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgdmFfbGlz
dCBhcmd1bWVudHM7CiAgICAgdmFfc3RhcnQoYXJndW1lbnRzLCBmb3JtYXQpOwogICAgIFJldGFp
blB0cjxDRlN0cmluZ1JlZj4gZm9ybWF0Q0ZTdHJpbmcoQWRvcHRDRiwgZm9ybWF0LmNyZWF0ZUNG
U3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IGQ1ZTFmNmI4Y2VlZjAzYjZhYzdmMDc5YzViYmE2ZmZkZDlhNjk0MjcuLjg4MDM0NDY3
ZmFlNjJjZjVjMmNhODkyYjJlMTJhYzlmZDE4YjA1Y2IgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wMi0wMSAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgUExBVEZPUk0oQ0YpIHRvIFVT
RShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUz
NTQwCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jb25maWcuaDoKKwogMjAxMS0wMi0wMSAg
TWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nv
bmZpZy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmgKaW5kZXggNTVlMmRjMTdmYWUw
Y2M4MTc5N2RiOWJlZjQ1ZTRiZmZhYjlhZjdkYy4uOTYzNWE0Njg0NzdkMDBmYjU4YWZmOTg1YWVj
ODliZDAwOGYwZmFmNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmgK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmgKQEAgLTQxLDcgKzQxLDcgQEAKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMQorI2Rl
ZmluZSBXVEZfVVNFX0NGIDEKIAogI2lmICFkZWZpbmVkKE1BQ19PU19YX1ZFUlNJT05fMTBfNSkg
fHwgTUFDX09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA8IE1BQ19PU19YX1ZFUlNJT05fMTBfNQog
I2RlZmluZSBCVUlMRElOR19PTl9USUdFUiAxCkBAIC01Myw3ICs1Myw3IEBACiAjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQogCiAjaWYgUExBVEZPUk0oV0lOKQotI2RlZmluZSBXVEZfUExBVEZPUk1f
Q0YgMSAKKyNkZWZpbmUgV1RGX1VTRV9DRiAxIAogI2lmIGRlZmluZWQoV0lOX0NBSVJPKQogI2Rl
ZmluZSBXVEZfUExBVEZPUk1fQ0FJUk8gMQogI2RlZmluZSBXVEZfVVNFX0NVUkwgMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80897</attachid>
            <date>2011-02-01 23:32:07 -0800</date>
            <delta_ts>2011-02-22 22:44:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53540.patch</filename>
            <type>text/plain</type>
            <size>38343</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDkxMDlkNDIwOGYzODkzZjVmODVkODQ0ZDUyMmMx
ZTk0MjYzYmY2NmQuLjBkYmVkOTAwM2Y5ZTdhYzFlNGE3MWU1OWQyZGNmZTFlMTNjOGJjN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTAyLTAxICBQYXRy
aWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShDRikgdG8gVVNFKENG
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NDAK
KworICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlwZS5jcHA6CisgICAgICAgICogcnVudGlt
ZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbERh
dGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OkpTR2xvYmFsRGF0YSk6CisgICAg
ICAgICogd3RmL0N1cnJlbnRUaW1lLmNwcDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAg
ICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuaDoKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJp
bmdJbXBsLmg6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNvbXB1dGVIYXNoKToKKyAgICAg
ICAgKiB3dGYvdGV4dC9XVEZTdHJpbmcuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9pY3UvQ29s
bGF0b3JJQ1UuY3BwOgorICAgICAgICAoV1RGOjpDb2xsYXRvcjo6dXNlckRlZmF1bHQpOgorCiAy
MDExLTAyLTAxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzcyOTcuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCmluZGV4IDU4MzhiNjA3M2VlZjVh
ZmYxY2RjNTg1NzIyZTg0ZGVjM2U3MjZlY2QuLmE4ZDY2ZDBkYTNmNGMxZGRlMmZlZjUzMmI5ZDA1
MmNmYmM2ZmEwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Rh
dGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQ
cm90b3R5cGUuY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAgZW51bSBMb2NhbGVEYXRlVGltZUZvcm1h
dCB7IExvY2FsZURhdGVBbmRUaW1lLCBMb2NhbGVEYXRlLCBMb2NhbGVUaW1lIH07CiAjaWYgUExB
VEZPUk0oTUFDKQogCiAvLyBGSVhNRTogU2luY2UgdGhpcyBpcyBzdXBlcmlvciB0byB0aGUgc3Ry
ZnRpbWUtYmFzZWQgdmVyc2lvbiwgd2h5IGxpbWl0IHRoaXMgdG8gUExBVEZPUk0oTUFDKT8KLS8v
IEluc3RlYWQgd2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIHRoaXMgd2hlbmV2ZXIgUExBVEZPUk0o
Q0YpIGlzIHRydWUuCisvLyBJbnN0ZWFkIHdlIHNob3VsZCBjb25zaWRlciB1c2luZyB0aGlzIHdo
ZW5ldmVyIFVTRShDRikgaXMgdHJ1ZS4KIAogc3RhdGljIENGRGF0ZUZvcm1hdHRlclN0eWxlIHN0
eWxlRnJvbUFyZ1N0cmluZyhjb25zdCBVU3RyaW5nJiBzdHJpbmcsIENGRGF0ZUZvcm1hdHRlclN0
eWxlIGRlZmF1bHRTdHlsZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAppbmRleCA0MTRhMGFkNDBlZTNjODY4Y2Mz
NDVjNzBkMzVmMDJjYWM1ZDkzY2RiLi5lNWNmNDNjN2ZlNDNlOTNkOGY4NzI4YjY2ZjNjNzYxOGU0
N2ViNjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2
aXR5Q2FsbGJhY2tDRi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NB
Y3Rpdml0eUNhbGxiYWNrQ0YuY3BwCkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL1dU
RlRocmVhZERhdGEuaD4KICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5o
PgogCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAjZXJyb3IgIlRoaXMgZmlsZSBz
aG91bGQgb25seSBiZSB1c2VkIG9uIENGIHBsYXRmb3Jtcy4iCiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsRGF0YS5jcHAKaW5kZXggYTM2MzM3NzQ3
NWU0Nzk2MWQxYjViNDc2MGVmOTQwNjcyMDc0MzVlNi4uOTUzNjQxMTgwODJiZmM1YWQ5YTA4Mzcw
MzY2M2M3NjgyZjY3ODkzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxEYXRhLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbERhdGEuY3BwCkBAIC0xNjAsNyArMTYwLDcgQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2Jh
bERhdGEoR2xvYmFsRGF0YVR5cGUgZ2xvYmFsRGF0YVR5cGUsIFRocmVhZFN0YWNrVHlwZSB0aHJl
YWQKICAgICBzdGFydFByb2ZpbGVyU2VydmVySWZOZWVkZWQoKTsKICNlbmRpZgogI2lmIEVOQUJM
RShKSVQpICYmIEVOQUJMRShJTlRFUlBSRVRFUikKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0Uo
Q0YpCiAgICAgQ0ZTdHJpbmdSZWYgY2FuVXNlSklUS2V5ID0gQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0
cmluZygwICwgIkphdmFTY3JpcHRDb3JlVXNlSklUIiwga0NGU3RyaW5nRW5jb2RpbmdNYWNSb21h
bik7CiAgICAgQ0ZCb29sZWFuUmVmIGNhblVzZUpJVCA9IChDRkJvb2xlYW5SZWYpQ0ZQcmVmZXJl
bmNlc0NvcHlBcHBWYWx1ZShjYW5Vc2VKSVRLZXksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxp
Y2F0aW9uKTsKICAgICBpZiAoY2FuVXNlSklUKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0N1cnJlbnRUaW1lLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
Q3VycmVudFRpbWUuY3BwCmluZGV4IDU2NzI0Y2I4NmRjYTY2Y2MzYTUyM2IxNTk2ZTczMzEzOGI2
MzE2MGUuLjQ3MzcyMTkyZGQ3OWU1ZmM1NWY5ZGM4MWQyZDlhODM3YzM4YWQwOGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAK
ICNpZiBPUyhXSU5ET1dTKQogCi0vLyBXaW5kb3dzIGlzIGZpcnN0IHNpbmNlIHdlIHdhbnQgdG8g
dXNlIGhpcmVzIHRpbWVycywgZGVzcGl0ZSBQTEFURk9STShDRikKKy8vIFdpbmRvd3MgaXMgZmly
c3Qgc2luY2Ugd2Ugd2FudCB0byB1c2UgaGlyZXMgdGltZXJzLCBkZXNwaXRlIFVTRShDRikKIC8v
IGJlaW5nIGRlZmluZWQuCiAvLyBJZiBkZWZpbmVkLCBXSU4zMl9MRUFOX0FORF9NRUFOIGRpc2Fi
bGVzIHRpbWVCZWdpblBlcmlvZC90aW1lRW5kUGVyaW9kLgogI3VuZGVmIFdJTjMyX0xFQU5fQU5E
X01FQU4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCAwN2Y1N2YwYTNiMGI0
NDA0NWQxMWE3NjU0OThkOGU2ODMzZWRiZjE1Li5hOTkyYzQ1ZjJiMTFlMDVhYmVjZTRlZjhjZDE2
ZTQ2YTM5YWI1NTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRm
b3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTQs
NyArNjE0LDcgQEAKICNpZiAhZGVmaW5lZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCiAjZGVm
aW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAxCiAjZW5kaWYKLSNkZWZpbmUgV1RGX1BMQVRG
T1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMg
MQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNkZWZpbmUgSEFWRV9SRUFETElORSAx
CkBAIC02MjgsNyArNjI4LDcgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pICYm
IE9TKERBUldJTikKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9D
RiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldM
T0NLIDEKICNkZWZpbmUgV1RGX1VTRV9DQVJCT05fU0VDVVJFX0lOUFVUX01PREUgMQpAQCAtNjM5
LDcgKzYzOSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0j
ZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ0YgMQogI2VuZGlmCiAK
ICNpZiBPUyhEQVJXSU4pICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhUExBVEZP
Uk0oR1RLKSAmJiAhUExBVEZPUk0oUVQpCkBAIC02NTgsNyArNjU4LDcgQEAKICNkZWZpbmUgRU5B
QkxFX09SSUVOVEFUSU9OX0VWRU5UUyAxCiAjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJ
TkcgMQogI2RlZmluZSBIQVZFX1JFQURMSU5FIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEK
KyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmlu
ZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNlbmRpZgpAQCAtNjc5LDcgKzY3OSw3IEBACiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKFdJTikgJiYgIU9TKFdJTkNFKQotI2RlZmluZSBXVEZfUExBVEZP
Uk1fQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NGIDEKICNkZWZpbmUgV1RGX1VTRV9QVEhSRUFEUyAw
CiAjZW5kaWYKIApAQCAtNjg3LDcgKzY4Nyw3IEBACiAjZGVmaW5lIEVOQUJMRV9BU1NFTUJMRVIg
MQogI2RlZmluZSBFTkFCTEVfR0xPQkFMX0ZBU1RNQUxMT0NfTkVXIDAKICNpZiBPUyhEQVJXSU4p
Ci0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAxCisjZGVmaW5lIFdURl9VU0VfQ0YgMQogI2lmbmRl
ZiBCVUlMRElOR19PTl9USUdFUgogI2RlZmluZSBXVEZfVVNFX0NPUkVfVEVYVCAxCiAjZWxzZQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCmluZGV4IGFi
NWIzNjZiNzBhMzM4YzUyYjhkNTE5NmU4YTQ3NjkwODBkYWY0YjUuLmEyYjc4ZDc5MzFiOTE3NmYy
YzFjYTFiMThiZDRjYWI0YjIyNGJlYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3RleHQvQXRvbWljU3RyaW5nLmgKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogCiAgICAgc3Rh
dGljIHZvaWQgcmVtb3ZlKFN0cmluZ0ltcGwqKTsKICAgICAKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ0YpCiAgICAgQXRvbWljU3RyaW5nKENGU3RyaW5nUmVmIHMpIDogIG1fc3RyaW5nKGFk
ZChTdHJpbmcocykuaW1wbCgpKSkgeyB9CiAgICAgQ0ZTdHJpbmdSZWYgY3JlYXRlQ0ZTdHJpbmco
KSBjb25zdCB7IHJldHVybiBtX3N0cmluZy5jcmVhdGVDRlN0cmluZygpOyB9CiAjZW5kaWYgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAppbmRleCAyNTQx
MWUxMjEyMTVmMGU3NGNjMzg4ZDAzMzRlYWE0MmMxNGU4MDM5Li4zYzU4NjEwM2VjY2M3OGFiYTM2
ZjZmNWU3OTZlNzc2ODBhNWMxODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3RleHQvU3RyaW5nSW1wbC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4
dC9TdHJpbmdJbXBsLmgKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdJbXBsQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZTdHJpbmcg
KiBDRlN0cmluZ1JlZjsKICNlbmRpZgogCkBAIC0zMTgsNyArMzE4LDcgQEAgcHVibGljOgogCiAg
ICAgV1RGOjpVbmljb2RlOjpEaXJlY3Rpb24gZGVmYXVsdFdyaXRpbmdEaXJlY3Rpb24oKTsKIAot
I2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBDRlN0cmluZ1JlZiBjcmVhdGVDRlN0
cmluZygpOwogI2VuZGlmCiAjaWZkZWYgX19PQkpDX18KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvdGV4dC9XVEZTdHJpbmcuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvdGV4dC9XVEZTdHJpbmcuaAppbmRleCAwYWVlMmVmZDdkZjE0NGE4ODUzNmQ3NzcyNTYyZTBl
YjVjZjAyNzJlLi5mZTEwZjQ4NzZkZTU1Y2UzMWQ2YjNhNmQ1NTdiMmI5N2RjOWQ2ZmQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1dURlN0cmluZy5oCkBAIC0zMSw3ICszMSw3
IEBACiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENGKQor
I2lmIFVTRShDRikKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZTdHJpbmcgKiBDRlN0cmluZ1Jl
ZjsKICNlbmRpZgogCkBAIC0yODQsNyArMjg0LDcgQEAgcHVibGljOgogICAgIG9wZXJhdG9yIFVu
c3BlY2lmaWVkQm9vbFR5cGVBKCkgY29uc3Q7CiAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29s
VHlwZUIoKSBjb25zdDsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBTdHJp
bmcoQ0ZTdHJpbmdSZWYpOwogICAgIENGU3RyaW5nUmVmIGNyZWF0ZUNGU3RyaW5nKCkgY29uc3Q7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2lj
dS9Db2xsYXRvcklDVS5jcHAKaW5kZXggODA1YjExNDdiNTRhYWM1NjI3ODQwMzUwZWJmMjc1ODlm
YTUyZmQ4ZC4uM2RjNjFkNGE1NzI3OTYwZmQ5MWJjYTM5Njk0NGM3ZmQyMDkxYmUzMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklDVS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklD
VS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgQ29sbGF0b3I6OkNvbGxhdG9yKGNvbnN0IGNoYXIqIGxv
Y2FsZSkKIAogUGFzc093blB0cjxDb2xsYXRvcj4gQ29sbGF0b3I6OnVzZXJEZWZhdWx0KCkKIHsK
LSNpZiBPUyhEQVJXSU4pICYmIFBMQVRGT1JNKENGKQorI2lmIE9TKERBUldJTikgJiYgVVNFKENG
KQogICAgIC8vIE1hYyBPUyBYIGRvZXNuJ3Qgc2V0IFVOSVggbG9jYWxlIHRvIG1hdGNoIHVzZXIt
c2VsZWN0ZWQgb25lLCBzbyBJQ1UgZGVmYXVsdCBkb2Vzbid0IHdvcmsuCiAjaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fVElHRVIpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFP
UyhJT1MpCiAgICAgUmV0YWluUHRyPENGTG9jYWxlUmVmPiBjdXJyZW50TG9jYWxlKEFkb3B0Q0Ys
IENGTG9jYWxlQ29weUN1cnJlbnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM2MjdmMmE1YTFhOGI0YjM3
MTAwMjcyNDcyNzNmYmYxYjM5OGZlYS4uZTdiYmE4YTM4MDEwN2VhMDNkZjAwMDI1Y2IzZGZlYzIx
YzAxMmRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDExLTAyLTAxICBQYXRyaWNr
IEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBQTEFURk9STShDRikgdG8gVVNFKENGKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NDAKKwor
ICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOgorICAgICAgICAqIGVkaXRpbmcvU21h
cnRSZXBsYWNlLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL1NtYXJ0UmVwbGFjZUlDVS5jcHA6Cisg
ICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWwpOgorICAgICAgICAqIGxvYWRlci9hcmNo
aXZlL0FyY2hpdmVGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFyY2hpdmVNSU1FVHlw
ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9LVVJMLmg6CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZS5jcHA6CisgICAgICAgICog
cGxhdGZvcm0vUnVuTG9vcFRpbWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVy
LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9VVUlELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNhbm9uaWNhbFVVSURTdHJp
bmcpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNlcnRpZmljYXRlUGF0aCk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9T
dHJpbmdDRi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3Bw
OgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vQlN0cmluZy5oOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRp
ZXNXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Z2V0V2ViTG9jRGF0YSk6CisgICAgICAgIChX
ZWJDb3JlOjpnZXRVUkwpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2xpcGJvYXJkRGF0YSk6Cisg
ICAgICAgICogcGxhdGZvcm0vd2luL0NsaXBib2FyZFdpbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp3cml0ZUZpbGVUb0RhdGFPYmplY3QpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9TZWFyY2hQ
b3B1cE1lbnVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51V2luOjpl
bmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudVdpbjo6c2F2ZVJlY2Vu
dFNlYXJjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudVdpbjo6bG9hZFJl
Y2VudFNlYXJjaGVzKToKKwogMjAxMS0wMi0wMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBNYWMgcHJvZHVjdGlvbiBidWlsZHMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDI1OTRkMjk5MDRmMzkzOTAxMmY1NWJhYzkyYTA2ZmZm
MWE2OWJjNWQuLmY5NjYwYmZlNzBjM2NlMmEzOTBhZjg1YWMzZTQ3OWNmNTYxYTBhY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMTc5LDcgKzExNzksNyBAQAog
ICAgICAgICAgICAgIyBBZGRpdGlvbmFsIGZpbGVzIGZyb20gdGhlIFdlYkNvcmUgTWFjIGJ1aWxk
IHRoYXQgYXJlIHByZXNlbnRseQogICAgICAgICAgICAgIyB1c2VkIGluIHRoZSBXZWJDb3JlIENo
cm9taXVtIE1hYyBidWlsZCB0b28uCiAKLSAgICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBQ
TEFURk9STV9DRiBidXQgZG9lcyBub3QgdXNlIENGTmV0d29yay4KKyAgICAgICAgICAgICMgVGhl
IE1hYyBidWlsZCBpcyBVU0UoQ0YpIGJ1dCBkb2VzIG5vdCB1c2UgQ0ZOZXR3b3JrLgogICAgICAg
ICAgICAgWydpbmNsdWRlJywgJ0NGXFwuY3BwJCddLAogICAgICAgICAgICAgWydleGNsdWRlJywg
J25ldHdvcmsvY2YvJ10sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21h
cnRSZXBsYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlLmNwcApp
bmRleCBjNWY1MjQwM2EyMjg2YmRjZmQ0ZmIzYWUzZjA3NDA5MGM2ZDlmYTYxLi5kYjY1ZmYyOGIy
MjBlMGQ2NGMzMWMyNjkxYTMxMTJjNGZhYmRhNjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9T
bWFydFJlcGxhY2UuY3BwCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiU21hcnRSZXBsYWNlLmgiCiAKLSNpZiAhUExBVEZPUk0oQ0YpICYmICFVU0UoSUNV
X1VOSUNPREUpCisjaWYgIVVTRShDRikgJiYgIVVTRShJQ1VfVU5JQ09ERSkKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC00MCw0ICs0MCw0IEBAIGJvb2wgaXNDaGFyYWN0ZXJTbWFydFJlcGxh
Y2VFeGVtcHQoVUNoYXIzMiBjLCBib29sIGlzUHJldmlvdXNDaGFyYWN0ZXIpCiAKIH0KIAotI2Vu
ZGlmIC8vICFQTEFURk9STShDRikKKyNlbmRpZiAvLyAhVVNFKENGKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2VJQ1UuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TbWFydFJlcGxhY2VJQ1UuY3BwCmluZGV4IDlhY2QzNTBlZDNhNmM4ODNjOWZhOTk3
NjBiNjkwMDQzYWNjNDNhYzQuLmIxYTEwMDY3YTI3OTk0YTA3NjFjMTFmN2M4YjEwOWI1MzY4NmFh
MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZUlDVS5jcHAKQEAgLTMw
LDcgKzMwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTbWFydFJlcGxhY2Uu
aCIKIAotI2lmICFQTEFURk9STShDRikgJiYgVVNFKElDVV9VTklDT0RFKQorI2lmICFVU0UoQ0Yp
ICYmIFVTRShJQ1VfVU5JQ09ERSkKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1
ZGUgPHVuaWNvZGUvdXNldC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkBAIC05Nyw0
ICs5Nyw0IEBAIGJvb2wgaXNDaGFyYWN0ZXJTbWFydFJlcGxhY2VFeGVtcHQoVUNoYXIzMiBjLCBi
b29sIGlzUHJldmlvdXNDaGFyYWN0ZXIpCiAKIH0KIAotI2VuZGlmIC8vICFQTEFURk9STShDRikg
JiYgVVNFKElDVV9VTklDT0RFKQorI2VuZGlmIC8vICFVU0UoQ0YpICYmIFVTRShJQ1VfVU5JQ09E
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
ZTZhYmVmZDFiNDNhZjY0ZDBmODJiMWYyZTY2N2NlYTIwYTg0ZmZiZi4uYmViNDk5ZDFhYzcyNzlm
YTlhYmIzMmEzYTViY2QxMmNmMjE0ZDY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01h
aW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM1OCw3ICszNTgsNyBAQCB2b2lkIE1haW5SZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIpCiAK
ICAgICAvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBDRk5ldHdvcmsgd2hlcmUgY2FsbGJhY2tzIGNhbiBi
ZSBkaXNwYXRjaGVkIGV2ZW4gd2hlbiBsb2FkcyBhcmUgZGVmZXJyZWQuCiAgICAgLy8gU2VlIDxy
ZGFyOi8vcHJvYmxlbS82MzA0NjAwPiBmb3IgbW9yZSBkZXRhaWxzLgotI2lmICFQTEFURk9STShD
RikKKyNpZiAhVVNFKENGKQogICAgIEFTU0VSVChzaG91bGRMb2FkQXNFbXB0eURvY3VtZW50KHIu
dXJsKCkpIHx8ICFkZWZlcnNMb2FkaW5nKCkpOwogI2VuZGlmCiAKQEAgLTQyNSw3ICs0MjUsNyBA
QCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0
YSwgaW50IGxlbmd0aCwgbG9uZyBsb25nCiAKICAgICAvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBDRk5l
dHdvcmsgd2hlcmUgY2FsbGJhY2tzIGNhbiBiZSBkaXNwYXRjaGVkIGV2ZW4gd2hlbiBsb2FkcyBh
cmUgZGVmZXJyZWQuCiAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS82MzA0NjAwPiBmb3IgbW9y
ZSBkZXRhaWxzLgotI2lmICFQTEFURk9STShDRikKKyNpZiAhVVNFKENGKQogICAgIEFTU0VSVCgh
ZGVmZXJzTG9hZGluZygpKTsKICNlbmRpZgogIApAQCAtNDQ2LDcgKzQ0Niw3IEBAIHZvaWQgTWFp
blJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogewog
ICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVyZSBjYWxsYmFja3MgY2FuIGJl
IGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJlZC4KICAgICAvLyBTZWUgPHJk
YXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3JlIGRldGFpbHMuCi0jaWYgIVBMQVRGT1JNKENG
KQorI2lmICFVU0UoQ0YpCiAgICAgQVNTRVJUKHNob3VsZExvYWRBc0VtcHR5RG9jdW1lbnQoZnJh
bWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+dXJsKCkpIHx8ICFkZWZlcnNMb2Fk
aW5nKCkpOwogI2VuZGlmCiAgICAgCkBAIC00NzcsNyArNDc3LDcgQEAgdm9pZCBNYWluUmVzb3Vy
Y2VMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAKICAgICAvLyBU
aGVyZSBpcyBhIGJ1ZyBpbiBDRk5ldHdvcmsgd2hlcmUgY2FsbGJhY2tzIGNhbiBiZSBkaXNwYXRj
aGVkIGV2ZW4gd2hlbiBsb2FkcyBhcmUgZGVmZXJyZWQuCiAgICAgLy8gU2VlIDxyZGFyOi8vcHJv
YmxlbS82MzA0NjAwPiBmb3IgbW9yZSBkZXRhaWxzLgotI2lmICFQTEFURk9STShDRikKKyNpZiAh
VVNFKENGKQogICAgIEFTU0VSVCghZGVmZXJzTG9hZGluZygpKTsKICNlbmRpZgogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmluZGV4
IDJlMTA4YzU0OTQ2YWIwNjA3MmZkNWJhOGNmMjRjOTZhMmM5YjY1NjAuLmY3YTcwY2NkOTc3NmVj
YzMzYmEyMWUwOGMyNGFjNjIxYWEzNjI4MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRl
ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAotI2lm
IFBMQVRGT1JNKENGKSAmJiAhUExBVEZPUk0oUVQpCisjaWYgVVNFKENGKSAmJiAhUExBVEZPUk0o
UVQpCiAjaW5jbHVkZSAiTGVnYWN5V2ViQXJjaGl2ZS5oIgogI2VuZGlmCiAKQEAgLTYwLDcgKzYw
LDcgQEAgc3RhdGljIEFyY2hpdmVNSU1FVHlwZXNNYXAmIGFyY2hpdmVNSU1FVHlwZXMoKQogICAg
IGlmIChpbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJuIG1pbWVUeXBlczsKIAotI2lmIFBMQVRG
T1JNKENGKSAmJiAhUExBVEZPUk0oUVQpCisjaWYgVVNFKENGKSAmJiAhUExBVEZPUk0oUVQpCiAg
ICAgbWltZVR5cGVzLnNldCgiYXBwbGljYXRpb24veC13ZWJhcmNoaXZlIiwgYXJjaGl2ZUZhY3Rv
cnlDcmVhdGU8TGVnYWN5V2ViQXJjaGl2ZT4pOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVTeXN0ZW0uaAppbmRleCBkOTIzZmU2MGJkZjM1YWIxMGE5NGU5YTA3YzZkMTk1NmY5YmQ0
ZWI0Li43MjUzNTNlZTEwNjIwYjZhNWYwMWFlNTI5MTQ2OGExYTA2OTNkMmMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQTEFURk9STShDRikK
KyNpZiBVU0UoQ0YpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAKQEAgLTQ3
LDcgKzQ3LDcgQEAKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDRikgfHwgKFBMQVRG
T1JNKFFUKSAmJiBkZWZpbmVkKFFfV1NfTUFDKSkKKyNpZiBVU0UoQ0YpIHx8IChQTEFURk9STShR
VCkgJiYgZGVmaW5lZChRX1dTX01BQykpCiB0eXBlZGVmIHN0cnVjdCBfX0NGQnVuZGxlKiBDRkJ1
bmRsZVJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9fQ0ZEYXRhKiBDRkRhdGFSZWY7CiAjZW5k
aWYKQEAgLTg0LDcgKzg0LDcgQEAgdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybU1vZHVsZTsKICNlbmRp
ZgogI2VsaWYgUExBVEZPUk0oR1RLKQogdHlwZWRlZiBHTW9kdWxlKiBQbGF0Zm9ybU1vZHVsZTsK
LSNlbGlmIFBMQVRGT1JNKENGKQorI2VsaWYgVVNFKENGKQogdHlwZWRlZiBDRkJ1bmRsZVJlZiBQ
bGF0Zm9ybU1vZHVsZTsKICNlbHNlCiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTW9kdWxlOwpAQCAt
MTg5LDcgKzE4OSw3IEBAIGJvb2wgdW5sb2FkTW9kdWxlKFBsYXRmb3JtTW9kdWxlKTsKIC8vIEVu
Y29kZSBhIHN0cmluZyBmb3IgdXNlIHdpdGhpbiBhIGZpbGUgbmFtZS4KIFN0cmluZyBlbmNvZGVG
b3JGaWxlTmFtZShjb25zdCBTdHJpbmcmKTsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShD
RikKIFJldGFpblB0cjxDRlVSTFJlZj4gcGF0aEFzVVJMKGNvbnN0IFN0cmluZyYpOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0tVUkwuaAppbmRleCBjYmYwZDhiODMyNDdhZjcyNjkyMjFkNWY0NWQ3
MWI4OWU1MDIyMmYyLi4yMjRjNjZjMjBjN2FjODUzMDlmZmRmMjQ0ZjhkMWNkNzU4ODE5YTQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vS1VSTC5oCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCi0jaWYgUExBVEZPUk0oQ0Yp
CisjaWYgVVNFKENGKQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRlVSTCogQ0ZVUkxSZWY7CiAj
ZW5kaWYKIApAQCAtMTg2LDcgKzE4Niw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBwYXRoQWZ0
ZXJMYXN0U2xhc2goKSBjb25zdDsKICAgICBvcGVyYXRvciBjb25zdCBTdHJpbmcmKCkgY29uc3Qg
eyByZXR1cm4gc3RyaW5nKCk7IH0KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAg
ICBLVVJMKENGVVJMUmVmKTsKICAgICBDRlVSTFJlZiBjcmVhdGVDRlVSTCgpIGNvbnN0OwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCmluZGV4IDZkNjM3MzRlOWMy
MTQ2MjdhZTQ4ODgzNDM2YTAxNmIyM2UyM2ZiODYuLjBhN2I0MzRhYmQ5NTFlOWE2ZTI5ZTdmY2U3
ZTUxMjg4ZWFiODYyNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxH
b29nbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCkBA
IC00MDgsNyArNDA4LDcgQEAgS1VSTDo6S1VSTChjb25zdCBDU3RyaW5nJiBjYW5vbmljYWxTcGVj
LAogICAgICAgICBtX3VybC5zZXRBc2NpaShjYW5vbmljYWxTcGVjKTsKIH0KIAotI2lmIFBMQVRG
T1JNKENGKQorI2lmIFVTRShDRikKIEtVUkw6OktVUkwoQ0ZVUkxSZWYpCiB7CiAgICAgbm90SW1w
bGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BU
aW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggZjhj
NTI5ZmNlYjJkMTcwMzBiMjZhMzY5YzBiMzEzNDE0NGIwNTZhMC4uMzFlZDRiZmNkNGM0YTFhZDIy
NzBmMmRmM2E0MGFlM2I3OWNkMzQzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vUnVuTG9vcFRpbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRp
bWVyLmgKQEAgLTU2LDcgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgp
ID0gMDsKIAogcHJpdmF0ZToKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgUmV0
YWluUHRyPENGUnVuTG9vcFRpbWVyUmVmPiBtX3RpbWVyOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAKaW5kZXggMzVhN2I3YzQyNmU2MjI3N2U3N2Ex
MTE2ZTE4MjlkNTViZTFkMzQwMy4uMmRkYzJkZjM1ZjhkYmM0MjM0NjFiYTE1NzJkM2YyOWNjNTgw
NWVmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCkBAIC0yMzks
NyArMjM5LDcgQEAgdW5zaWduZWQgU2hhcmVkQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFy
KiYgc29tZURhdGEsIHVuc2lnbmVkIHBvc2l0aW9uKSBjb24KICAgICByZXR1cm4gc2VnbWVudCA9
PSBzZWdtZW50cyAtIDEgPyBzZWdtZW50ZWRTaXplIC0gcG9zaXRpb24gOiBzZWdtZW50U2l6ZSAt
IHBvc2l0aW9uSW5TZWdtZW50OwogfQogCi0jaWYgIVBMQVRGT1JNKENGKSB8fCBQTEFURk9STShR
VCkKKyNpZiAhVVNFKENGKSB8fCBQTEFURk9STShRVCkKIAogaW5saW5lIHZvaWQgU2hhcmVkQnVm
ZmVyOjpjbGVhclBsYXRmb3JtRGF0YSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TaGFyZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1
ZmZlci5oCmluZGV4IGJmYzU5MzEyYzMyMmUwYzk5MThiYWQ3ZWQ2M2UzZjg5Yzk0NjY1ZmMuLjg5
MDFhNTI3ZDk0MjAzNGY5OWYzZDIwOTRmMzBjNGQ4YTUyZTk4ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NoYXJlZEJ1ZmZlci5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQTEFURk9STShDRikK
KyNpZiBVU0UoQ0YpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAKQEAgLTY5
LDcgKzY5LDcgQEAgcHVibGljOgogICAgIE5TRGF0YSAqY3JlYXRlTlNEYXRhKCk7CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiB3cmFwTlNEYXRhKE5TRGF0YSAqZGF0YSk7CiAj
ZW5kaWYKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgQ0ZEYXRhUmVmIGNyZWF0
ZUNGRGF0YSgpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gd3JhcENGRGF0
YShDRkRhdGFSZWYpOwogI2VuZGlmCkBAIC0xMjcsNyArMTI3LDcgQEAgcHJpdmF0ZToKICAgICBt
dXRhYmxlIFZlY3RvcjxjaGFyPiBtX2J1ZmZlcjsKICAgICBtdXRhYmxlIFZlY3RvcjxjaGFyKj4g
bV9zZWdtZW50czsKICAgICBPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBtX3B1cmdlYWJsZUJ1ZmZl
cjsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgU2hhcmVkQnVmZmVyKENGRGF0
YVJlZik7CiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gbV9jZkRhdGE7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVVVJRC5jcHAKaW5kZXggYzA3MmY0YWMwYmFmZDNiYzYyODc4MTExZWFkM2JiNzVi
YzhjN2EwYy4uYTA3OGU5MzQ0NmJlMDZjZWUxZThlOWVkZDYwYWUwNDY5OWM0MDYxNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vVVVJRC5jcHAKQEAgLTM5LDExICszOSwxMSBAQAogCiAjaWYgT1MoV0lORE9X
UykKICNpbmNsdWRlIDxvYmpiYXNlLmg+Ci0jZWxpZiBPUyhEQVJXSU4pICYmIFBMQVRGT1JNKENG
KQorI2VsaWYgT1MoREFSV0lOKSAmJiBVU0UoQ0YpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24v
Q29yZUZvdW5kYXRpb24uaD4KICNlbGlmIE9TKExJTlVYKSAmJiAhUExBVEZPUk0oQ0hST01JVU0p
CiAjaW5jbHVkZSA8c3RkaW8uaD4KLSNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01J
VU0pKSB8fCAoT1MoREFSV0lOKSAmJiAhUExBVEZPUk0oQ0YpKQorI2VsaWYgKE9TKExJTlVYKSAm
JiBQTEFURk9STShDSFJPTUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFVU0UoQ0YpKQogI2luY2x1
ZGUgPHd0Zi9SYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVy
Lmg+CiAjZW5kaWYKQEAgLTcxLDcgKzcxLDcgQEAgU3RyaW5nIGNyZWF0ZUNhbm9uaWNhbFVVSURT
dHJpbmcoKQogICAgIFN0cmluZyBjYW5vbmljYWxVdWlkU3RyID0gU3RyaW5nKHV1aWRTdHIgKyAx
LCBudW0gLSAzKS5sb3dlcigpOyAvLyByZW1vdmUgb3BlbmluZyBhbmQgY2xvc2luZyBicmFja2V0
IGFuZCBtYWtlIGl0IGxvd2VyLgogICAgIEFTU0VSVChjYW5vbmljYWxVdWlkU3RyW3V1aWRWZXJz
aW9uSWRlbnRpZmllckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVpcmVkKTsKICAgICByZXR1cm4g
Y2Fub25pY2FsVXVpZFN0cjsKLSNlbGlmIE9TKERBUldJTikgJiYgUExBVEZPUk0oQ0YpCisjZWxp
ZiBPUyhEQVJXSU4pICYmIFVTRShDRikKICAgICBDRlVVSURSZWYgdXVpZCA9IENGVVVJRENyZWF0
ZSgwKTsKICAgICBDRlN0cmluZ1JlZiB1dWlkU3RyUmVmID0gQ0ZVVUlEQ3JlYXRlU3RyaW5nKDAs
IHV1aWQpOwogICAgIFN0cmluZyB1dWlkU3RyKHV1aWRTdHJSZWYpOwpAQCAtOTMsNyArOTMsNyBA
QCBTdHJpbmcgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpCiAgICAgU3RyaW5nIGNhbm9uaWNh
bFV1aWRTdHIgPSBTdHJpbmcodXVpZFN0cikubG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dlci4KICAg
ICBBU1NFUlQoY2Fub25pY2FsVXVpZFN0clt1dWlkVmVyc2lvbklkZW50aWZpZXJJbmRleF0gPT0g
dXVpZFZlcnNpb25SZXF1aXJlZCk7CiAgICAgcmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7Ci0jZWxp
ZiAoT1MoTElOVVgpICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERBUldJTikgJiYgIVBM
QVRGT1JNKENGKSkKKyNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01JVU0pKSB8fCAo
T1MoREFSV0lOKSAmJiAhVVNFKENGKSkKICAgICB1bnNpZ25lZCByYW5kb21EYXRhWzRdOwogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChyYW5kb21EYXRhKTsgKytp
KQogICAgICAgICByYW5kb21EYXRhW2ldID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJhbmRvbU51
bWJlcigpICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSArIDEuMCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRs
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmlu
ZGV4IGQ1MThkODcxNzhhYzgxYTJhYjYwMDZiNjlmZTkwMmRmZTZmN2U0MDAuLjcyZjJjMDAwNGYz
MTg2NzExMzkwNjAxOTA0ODRkNDI5YjJiZjlhMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTM3LDcgKzM3LDcgQEAKIHR5cGVk
ZWYgc3RydWN0IF9Tb3VwU2Vzc2lvbiBTb3VwU2Vzc2lvbjsKICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oQ0YpCisjaWYgVVNFKENGKQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRkRhdGEgKiBDRkRh
dGFSZWY7CiAjZW5kaWYKIApAQCAtMTQwLDcgKzE0MCw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9S
TShXSU4pICYmIFVTRShDVVJMKQogICAgIHN0YXRpYyB2b2lkIHNldEhvc3RBbGxvd3NBbnlIVFRQ
U0NlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oV0lOKSAm
JiBVU0UoQ1VSTCkgJiYgUExBVEZPUk0oQ0YpCisjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ1VS
TCkgJiYgVVNFKENGKQogICAgIHN0YXRpYyB2b2lkIHNldENsaWVudENlcnRpZmljYXRlKGNvbnN0
IFN0cmluZyYgaG9zdCwgQ0ZEYXRhUmVmKTsKICNlbmRpZgogCkBAIC0yMTAsNyArMjEwLDcgQEAg
cHJpdmF0ZToKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIGNyZWF0ZU5TVVJMQ29ubmVj
dGlvbihpZCBkZWxlZ2F0ZSwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbCBz
aG91bGRDb250ZW50U25pZmYpOwotI2VsaWYgUExBVEZPUk0oQ0YpCisjZWxpZiBVU0UoQ0YpCiAg
ICAgdm9pZCBjcmVhdGVDRlVSTENvbm5lY3Rpb24oYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3Rv
cmFnZSwgYm9vbCBzaG91bGRDb250ZW50U25pZmYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXgg
OWNjOTE0OGE4NDI4ODAwMmNjZGE5ZjZkYmJkNjQzM2ZkNzY1MTFmYi4uMjkzZTA5NjQ2MTUxZTBl
YzVhNzk5MjIxODBhYWE5MmMwYTA4ZDdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTIzNiw3ICsyMzYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiAgICAgdW5zaWduZWQgaW5pdGlhbGl6ZU1heGlt
dW1IVFRQQ29ubmVjdGlvbkNvdW50UGVySG9zdCgpOwogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYg
VVNFKENGKQogICAgIGJvb2wgaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKTsKICAgICBib29sIHNo
b3VsZEZvcmNlSFRUUFBpcGVsaW5pbmdQcmlvcml0eUhpZ2goKTsKICNlbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJs
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZUN1cmwuY3BwCmluZGV4IGYzNjBmODZlOTA0NDFhYTQxYzhmNDhlN2JlNTlhNzkzZDcxZmY3MGMu
LjE0Y2IzMTcwMjViODg0MzA2MDYyZDU3MWJmZDUwMmQ5YzM2NTdmYzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZUN1cmwuY3BwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVNYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpZiBQTEFURk9STShXSU4pICYm
IFBMQVRGT1JNKENGKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNFKENGKQogI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCkBAIC0x
MjQsNyArMTI0LDcgQEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6c3VwcG9ydHNCdWZmZXJlZERhdGEo
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgUExBVEZPUk0o
Q0YpCisjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0YpCiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+
JiBhbGxvd3NBbnlIVFRQU0NlcnRpZmljYXRlSG9zdHMoKQogewogICAgIHN0YXRpYyBIYXNoU2V0
PFN0cmluZz4gaG9zdHM7CkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6
c2V0SG9zdEFsbG93c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJiBob3N0KQogfQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pICYmIFBMQVRGT1JNKENGKQorI2lmIFBMQVRGT1JN
KFdJTikgJiYgVVNFKENGKQogLy8gRklYTUU6ICBUaGUgQ0ZEYXRhUmVmIHdpbGwgbmVlZCB0byBi
ZSBzb21ldGhpbmcgZWxzZSB3aGVuCiAvLyBidWlsZGluZyB3aXRob3V0IAogc3RhdGljIEhhc2hN
YXA8U3RyaW5nLCBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiA+JiBjbGllbnRDZXJ0cygpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJj
ZUhhbmRsZU1hbmFnZXIuY3BwCmluZGV4IDJlNDI1OWNlM2Q4ZmUzZmY0ZDA3MjA3MmE3NzA2NzBi
MDM3NWIwNmUuLmEzNDBlZDI1ODkwNDQxYWM0Y2MzODI4ZWE1MTk0YjQxMzliOWQzYjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9S
ZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3BwCkBAIC00NCw3ICs0NCw3IEBACiAKICNpbmNsdWRlIDxl
cnJuby5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENG
KQogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KQEAgLTY2LDcgKzY2LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgaWdub3JlU1NMRXJy
b3JzID0gZ2V0ZW52KCJXRUJLSVRfSUdOT1JFX1NTTF9FUlJPUlMiKTsKIAogc3RhdGljIENTdHJp
bmcgY2VydGlmaWNhdGVQYXRoKCkKIHsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAg
ICAgQ0ZCdW5kbGVSZWYgd2ViS2l0QnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRp
ZmllcihDRlNUUigiY29tLmFwcGxlLldlYktpdCIpKTsKICAgICBpZiAod2ViS2l0QnVuZGxlKSB7
CiAgICAgICAgIFJldGFpblB0cjxDRlVSTFJlZj4gY2VydFVSTFJlZihBZG9wdENGLCBDRkJ1bmRs
ZUNvcHlSZXNvdXJjZVVSTCh3ZWJLaXRCdW5kbGUsIENGU1RSKCJjYWNlcnQiKSwgQ0ZTVFIoInBl
bSIpLCBDRlNUUigiY2VydGlmaWNhdGVzIikpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvY2YvU3RyaW5nQ0YuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9jZi9TdHJpbmdDRi5jcHAKaW5kZXggZGNhZjhmYjk3ZWQ3NzJjNmFjNWM3Y2I4MmI4YTFl
ZDZlOGY1NWU0OS4uYzJmYmU4OTZlOGU0OTRkOTAyNGE3MWE3OGQyNDM4MDlmNzM5MjA3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHAKQEAgLTIxLDcg
KzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogCiAjaW5jbHVkZSA8Q29yZUZvdW5k
YXRpb24vQ29yZUZvdW5kYXRpb24uaD4KIApAQCAtNTIsNCArNTIsNCBAQCBDRlN0cmluZ1JlZiBT
dHJpbmc6OmNyZWF0ZUNGU3RyaW5nKCkgY29uc3QKIAogfQogCi0jZW5kaWYgLy8gUExBVEZPUk0o
Q0YpCisjZW5kaWYgLy8gVVNFKENGKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9jZi9TdHJpbmdJbXBsQ0YuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9jZi9TdHJpbmdJbXBsQ0YuY3BwCmluZGV4IDAxNTc5MTgzY2YxMTk4NDQ0MmZlYWI3MDJlNzVm
Mjk5MmQ3NDdmMjQuLjRhOTg2ZmQ0MGUyYjBmODVjMDdmODRhNzU4NzA0MWIwNDJkOWIxMzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvU3RyaW5nSW1wbENGLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAK
QEAgLTIxLDcgKzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdJbXBsLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAKICNpbmNs
dWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+CkBAIC0xNTksNCArMTU5LDQgQEAgQ0ZTdHJpbmdSZWYgU3RyaW5nSW1wbDo6Y3Jl
YXRlQ0ZTdHJpbmcoKQogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRikKKyNlbmRpZiAvLyBV
U0UoQ0YpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5jcHAKaW5kZXggNGQ2ZDEx
ZWQxMjNlYWFiY2YwMWVhOTM0ZDQyZjE2NjFjYTRlODgxNC4uNmZiYjgyNDM3M2VjZjc2NDQ4NmFj
ZTAxNWFlZDk5OTM5ZDg0MjIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL0JTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9CU3RyaW5n
LmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgPHRjaGFyLmg+CiAjaW5jbHVkZSA8d2lu
ZG93cy5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogI2luY2x1ZGUgPENvcmVG
b3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjZW5kaWYKIApAQCAtOTMsNyArOTMsNyBAQCBC
U3RyaW5nOjpCU3RyaW5nKGNvbnN0IFVTdHJpbmcmIHMpCiAgICAgICAgIG1fYnN0ciA9IFN5c0Fs
bG9jU3RyaW5nTGVuKHMuY2hhcmFjdGVycygpLCBzLmxlbmd0aCgpKTsKIH0KIAotI2lmIFBMQVRG
T1JNKENGKQorI2lmIFVTRShDRikKIEJTdHJpbmc6OkJTdHJpbmcoQ0ZTdHJpbmdSZWYgY2ZzdHIp
CiAgICAgOiBtX2JzdHIoMCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9CU3RyaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5oCmlu
ZGV4IGJkYmYxODlmMWMzNjdiMGQ1MGEzYzJmY2VkNTdkZGEwZjk5YjUyZWIuLmU1YzQ5NGM5YzAz
MjIyN2FkZjA5OGEzYzRhOThmODQyYWRhYWQ4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9CU3RyaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L0JTdHJpbmcuaApAQCAtMjgsNyArMjgsNyBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
IAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKIHR5cGVkZWYgY29uc3Qgc3RydWN0IF9f
Q0ZTdHJpbmcgKiBDRlN0cmluZ1JlZjsKICNlbmRpZgogCkBAIC01MSw3ICs1MSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgQlN0cmluZyhjb25zdCBBdG9taWNTdHJpbmcmKTsKICAg
ICAgICAgQlN0cmluZyhjb25zdCBLVVJMJik7CiAgICAgICAgIEJTdHJpbmcoY29uc3QgSlNDOjpV
U3RyaW5nJik7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgICAgICBCU3RyaW5n
KENGU3RyaW5nUmVmKTsKICNlbmRpZgogICAgICAgICB+QlN0cmluZygpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcAppbmRl
eCA2MjlhZDk5NzJkYjY4YjYzOGY3MzllODU4YzE2MDJjZWZhYWE2YWYyLi4yNTQ3Y2E1MDg0MGMx
YThjNjlmYTU0MjAxYTMyZDIyNmY1MGUzZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcApAQCAtMzcsMTQgKzM3LDE0
IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0NvbmNhdGVuYXRlLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAjaW5j
bHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgUExBVEZPUk0o
Q0YpCisjaWYgVVNFKENGKQogRk9STUFURVRDKiBjZkhEcm9wRm9ybWF0KCkKIHsKICAgICBzdGF0
aWMgRk9STUFURVRDIHVybEZvcm1hdCA9IHtDRl9IRFJPUCwgMCwgRFZBU1BFQ1RfQ09OVEVOVCwg
LTEsIFRZTUVEX0hHTE9CQUx9OwpAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgYm9vbCBnZXREYXRh
TWFwSXRlbShjb25zdCBEcmFnRGF0YU1hcCogZGF0YU9iamVjdCwgRk9STUFURVRDKiBmb3JtYXQs
IFN0cgogc3RhdGljIGJvb2wgZ2V0V2ViTG9jRGF0YShJRGF0YU9iamVjdCogZGF0YU9iamVjdCwg
U3RyaW5nJiB1cmwsIFN0cmluZyogdGl0bGUpIAogewogICAgIGJvb2wgc3VjY2VlZGVkID0gZmFs
c2U7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIFdDSEFSIGZpbGVuYW1lW01B
WF9QQVRIXTsKICAgICBXQ0hBUiB1cmxCdWZmZXJbSU5URVJORVRfTUFYX1VSTF9MRU5HVEhdOwog
CkBAIC0xMjIsNyArMTIyLDcgQEAgZXhpdDoKIAogc3RhdGljIGJvb2wgZ2V0V2ViTG9jRGF0YShj
b25zdCBEcmFnRGF0YU1hcCogZGF0YU9iamVjdCwgU3RyaW5nJiB1cmwsIFN0cmluZyogdGl0bGUp
IAogewotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBXQ0hBUiBmaWxlbmFtZVtN
QVhfUEFUSF07CiAgICAgV0NIQVIgdXJsQnVmZmVyW0lOVEVSTkVUX01BWF9VUkxfTEVOR1RIXTsK
IApAQCAtMzg5LDcgKzM4OSw3IEBAIFN0cmluZyBnZXRVUkwoSURhdGFPYmplY3QqIGRhdGFPYmpl
Y3QsIERyYWdEYXRhOjpGaWxlbmFtZUNvbnZlcnNpb25Qb2xpY3kgZmlsZW5hCiAgICAgICAgIFJl
bGVhc2VTdGdNZWRpdW0oJnN0b3JlKTsKICAgICAgICAgc3VjY2VzcyA9IHRydWU7CiAgICAgfQot
I2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBlbHNlIGlmIChmaWxlbmFtZVBvbGlj
eSA9PSBEcmFnRGF0YTo6Q29udmVydEZpbGVuYW1lcykgewogICAgICAgICBpZiAoU1VDQ0VFREVE
KGRhdGFPYmplY3QtPkdldERhdGEoZmlsZW5hbWVXRm9ybWF0KCksICZzdG9yZSkpKSB7CiAgICAg
ICAgICAgICAvLyBmaWxlIHVzaW5nIHVuaWNvZGUKQEAgLTQzMyw3ICs0MzMsNyBAQCBTdHJpbmcg
Z2V0VVJMKGNvbnN0IERyYWdEYXRhTWFwKiBkYXRhLCBEcmFnRGF0YTo6RmlsZW5hbWVDb252ZXJz
aW9uUG9saWN5IGZpbGVuYQogICAgICAgICByZXR1cm4gZXh0cmFjdFVSTCh1cmwsIHRpdGxlKTsK
ICAgICBpZiAoZ2V0RGF0YU1hcEl0ZW0oZGF0YSwgdXJsRm9ybWF0KCksIHVybCkpCiAgICAgICAg
IHJldHVybiBleHRyYWN0VVJMKHVybCwgdGl0bGUpOwotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVT
RShDRikKICAgICBpZiAoZmlsZW5hbWVQb2xpY3kgIT0gRHJhZ0RhdGE6OkNvbnZlcnRGaWxlbmFt
ZXMpCiAgICAgICAgIHJldHVybiB1cmw7CiAKQEAgLTY0MSw3ICs2NDEsNyBAQCB2b2lkIGdldFV0
ZjhEYXRhKElEYXRhT2JqZWN0KiBkYXRhLCBGT1JNQVRFVEMqIGZvcm1hdCwgVmVjdG9yPFN0cmlu
Zz4mIGRhdGFTdHJpbgogICAgIFJlbGVhc2VTdGdNZWRpdW0oJnN0b3JlKTsKIH0KIAotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKIHZvaWQgZ2V0Q2ZEYXRhKElEYXRhT2JqZWN0KiBkYXRh
LCBGT1JNQVRFVEMqIGZvcm1hdCwgVmVjdG9yPFN0cmluZz4mIGRhdGFTdHJpbmdzKQogewogICAg
IFNUR01FRElVTSBzdG9yZTsKQEAgLTY3Myw3ICs2NzMsNyBAQCB2b2lkIGdldENsaXBib2FyZERh
dGEoSURhdGFPYmplY3QgKmRhdGFPYmplY3QsIEZPUk1BVEVUQyogZm9ybWF0LCBWZWN0b3I8U3Ry
aW5nPgogICAgICAgICBmb3JtYXRNYXAuYWRkKHRleHRodG1sRm9ybWF0KCktPmNmRm9ybWF0LCBn
ZXRTdHJpbmdEYXRhPFVDaGFyPik7CiAgICAgICAgIGZvcm1hdE1hcC5hZGQocGxhaW5UZXh0Rm9y
bWF0KCktPmNmRm9ybWF0LCBnZXRTdHJpbmdEYXRhPGNoYXI+KTsKICAgICAgICAgZm9ybWF0TWFw
LmFkZChwbGFpblRleHRXRm9ybWF0KCktPmNmRm9ybWF0LCBnZXRTdHJpbmdEYXRhPFVDaGFyPik7
Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgICAgICBmb3JtYXRNYXAuYWRkKGNm
SERyb3BGb3JtYXQoKS0+Y2ZGb3JtYXQsIGdldENmRGF0YSk7CiAjZW5kaWYKICAgICAgICAgZm9y
bWF0TWFwLmFkZChmaWxlbmFtZUZvcm1hdCgpLT5jZkZvcm1hdCwgZ2V0U3RyaW5nRGF0YTxjaGFy
Pik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2lu
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uY3BwCmluZGV4
IDM5NDYxMGM3OTVjYzE5ZjhjMDY3YzFkZjk1ZDYwMmJiODZlODlmYTcuLjU5NzI5NWNkYmVjYThi
MTg2Mjk1Mzk5ODJlYzhkOWE3ZTFhYzc1NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9DbGlwYm9hcmRXaW4uY3BwCkBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGljIEhSRVNVTFQg
d3JpdGVGaWxlVG9EYXRhT2JqZWN0KElEYXRhT2JqZWN0KiBkYXRhT2JqZWN0LCBIR0xPQkFMIGZp
bGVEZXNjcmkKICAgICBpZiAoRkFJTEVEKGhyID0gZGF0YU9iamVjdC0+U2V0RGF0YShmZSwgJm1l
ZGl1bSwgVFJVRSkpKQogICAgICAgICBnb3RvIGV4aXQ7CiAKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ0YpCiAgICAgLy8gSERST1AKICAgICBpZiAoaERyb3BDb250ZW50KSB7CiAgICAgICAg
IG1lZGl1bS5oR2xvYmFsID0gaERyb3BDb250ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL1NlYXJjaFBvcHVwTWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51V2luLmNwcAppbmRleCA3YWU4MDBiM2I3ZTI3MDY5
ZDlkNTBmNzExYTdjYzA2MDRjOWYyYWQ3Li5lZDk3MjgzZmJiYzljNmRjZTE0OWVmNjJlYWY0OTll
YTM5YzllZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNo
UG9wdXBNZW51V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNo
UG9wdXBNZW51V2luLmNwcApAQCAtMjMsNyArMjMsNyBAQAogCiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAKQEAgLTQxLDE0ICs0MSwxNCBAQCBQb3B1cE1l
bnUqIFNlYXJjaFBvcHVwTWVudVdpbjo6cG9wdXBNZW51KCkKIAogYm9vbCBTZWFyY2hQb3B1cE1l
bnVXaW46OmVuYWJsZWQoKQogewotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBy
ZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiB9CiAKLSNpZiBQ
TEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiBzdGF0aWMgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBh
dXRvc2F2ZUtleShjb25zdCBTdHJpbmcmIG5hbWUpCiB7CiAgICAgU3RyaW5nIGtleSA9ICJjb20u
YXBwbGUuV2ViS2l0LnNlYXJjaEZpZWxkOiIgKyBuYW1lOwpAQCAtNjEsNyArNjEsNyBAQCB2b2lk
IFNlYXJjaFBvcHVwTWVudVdpbjo6c2F2ZVJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSwgY29uc3QgVmVjdAogICAgIGlmIChuYW1lLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIFJldGFpblB0cjxDRk11
dGFibGVBcnJheVJlZj4gaXRlbXM7CiAKICAgICBzaXplX3Qgc2l6ZSA9IHNlYXJjaEl0ZW1zLnNp
emUoKTsKQEAgLTgzLDcgKzgzLDcgQEAgdm9pZCBTZWFyY2hQb3B1cE1lbnVXaW46OmxvYWRSZWNl
bnRTZWFyY2hlcyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIFZlY3RvcjxTdHIKICAgICBpZiAo
bmFtZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lm
IFVTRShDRikKICAgICBzZWFyY2hJdGVtcy5jbGVhcigpOwogICAgIFJldGFpblB0cjxDRkFycmF5
UmVmPiBpdGVtcyhBZG9wdENGLCByZWludGVycHJldF9jYXN0PENGQXJyYXlSZWY+KENGUHJlZmVy
ZW5jZXNDb3B5QXBwVmFsdWUoYXV0b3NhdmVLZXkobmFtZSkuZ2V0KCksIGtDRlByZWZlcmVuY2Vz
Q3VycmVudEFwcGxpY2F0aW9uKSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2NmL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2YvQ2hhbmdlTG9nCmluZGV4IGUyYzJjODMxNzFjZmVi
MmY1ZDRjYTI3MDRjZDZiZDMyOTM4M2UyODEuLjBmYmY4OTFlMDVjZmMxNDdlMjdjYzk5ZDAzZGMx
ZDA3MmY4MWZiYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2YvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2YvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDItMDEg
IFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIFBMQVRGT1JNKENGKSB0byBV
U0UoQ0YpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MzU0MAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3Bw
OgorCiAyMDExLTAxLTI2ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2NmL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudENGLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2YvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3BwCmluZGV4
IDZiZjVkYmQzYzU2NGRlNTAyOThjMWJkYzIwMmRiMDY3NTQxN2YyNmEuLmIyYTFmMTAwMmE1YTcw
M2Y2OTU4NzhiOGMyMzQ4Mzk2ODRkNzg4MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2Yv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2YvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3BwCkBAIC0yNSwxMiAr
MjUsMTIgQEAKIAogLy8gRklYTUU6IE9uIFdpbmRvd3MsIHdlIHJlcXVpcmUgYWxsIFdlYktpdCBz
b3VyY2UgZmlsZXMgdG8gaW5jbHVkZSBjb25maWcuaAogLy8gYmVmb3JlIGluY2x1ZGluZyBhbnkg
b3RoZXIgZmlsZXMuIEZhaWxpbmcgdG8gaW5jbHVkZSBjb25maWcuaCB3aWxsIGxlYXZlCi0vLyBX
VEZfUExBVEZPUk1fQ0YgYW5kIFdURl9VU0VfSlNDIHVuZGVmaW5lZCwgY2F1c2luZyBidWlsZCBm
YWlsdXJlcyBpbiB0aGlzIAorLy8gV1RGX1VTRV9DRiBhbmQgV1RGX1VTRV9KU0MgdW5kZWZpbmVk
LCBjYXVzaW5nIGJ1aWxkIGZhaWx1cmVzIGluIHRoaXMgCiAvLyBmaWxlLiBCdXQgTWFjIGRvZXNu
J3QgaGF2ZSBhIGNvbmZpZy5oIGZvciBXZWJLaXQsIHNvIHdlIGNhbid0IGluY2x1ZGUgdGhlIAot
Ly8gV2luZG93cyBvbmUgaGVyZS4gRm9yIG5vdyB3ZSBjYW4ganVzdCBkZWZpbmUgV1RGX1BMQVRG
T1JNX0NGLCAgV1RGX1VTRV9KU0MsIGFuZAorLy8gV2luZG93cyBvbmUgaGVyZS4gRm9yIG5vdyB3
ZSBjYW4ganVzdCBkZWZpbmUgV1RGX1VTRV9DRiwgIFdURl9VU0VfSlNDLCBhbmQKIC8vIFdURl9V
U0VfQ0ZORVRXT1JLIG1hbnVhbGx5LCBidXQgd2UgbmVlZCBhIGJldHRlciBsb25nLXRlcm0gc29s
dXRpb24uCi0jaWZuZGVmIFdURl9QTEFURk9STV9DRgotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0Yg
MQorI2lmbmRlZiBXVEZfVVNFX0NGCisjZGVmaW5lIFdURl9VU0VfQ0YgMQogI2VuZGlmCiAKICNp
Zm5kZWYgV1RGX1VTRV9KU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCA5MmFmZmZlZjQ1OWY2MjY0ZmEw
MzRmYjg1MzAyZTAxZGRjMmIyMjgyLi5jMDlkNjNhYjg4NjgyYWM1MTM1MDhkYzBkYmQzMzBkMDI1
ODQ2ZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDItMDEgIFBh
dHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIFBMQVRGT1JNKENGKSB0byBVU0Uo
Q0YpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU0
MAorCisgICAgICAgICogV2ViVmlldy5jcHA6CisKIDIwMTEtMDEtMzEgIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYlZpZXcuY3BwCmluZGV4IDdmOThhMDBiYmRjM2ZlNmNlMDYyODE1ODg1NDkzZGRjZGNj
YzRhYmMuLmJiMDMwNTQ3MWIxZjhkZjUwYTk1NzlkNGEzMjlkZmQwN2ExYTMwODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuY3BwCkBAIC0xNDEsNyArMTQxLDcgQEAKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3Mv
Q0dDb250ZXh0Lmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICNp
bmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBkNTRkNjAwN2Y5NzQ4N2JhMjIwZjI4NTk1NzcxNmE1OWRlMWU5ZGVhLi5lMjBlYzQw
YTg0NTAxNTJjNDhhNTQ4ZjI5Zjk3NWMyNjhhODQ2MWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTEtMDItMDEgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1l
IFBMQVRGT1JNKENGKSB0byBVU0UoQ0YpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MzU0MAorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkTGlzdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Zm9ybWF0TG9jYWxpemVkU3RyaW5nKToKKwogMjAxMS0wMi0wMSAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
QmFja0ZvcndhcmRMaXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0Zvcndh
cmRMaXN0LmgKaW5kZXggZjUxYWIyNjRlNzVmNjdmNGQ4ZDlhMTI5YjIzYWNhNGZmOTljYzcyZi4u
YjJiMDNiZDg2MWZhZmEwMTMyYTM5YzcxYWRhZmE1YWRhOTYyMDc3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaApAQCAtMzMsNyArMzMsNyBAQAog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAjaW5j
bHVkZSA8Q29yZUZvdW5kYXRpb24vQ0ZEaWN0aW9uYXJ5Lmg+CiAjZW5kaWYKIApAQCAtNzcsNyAr
NzcsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gYmFja0xpc3RB
c0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KTsKICAgICBQYXNzUmVmUHRy
PEltbXV0YWJsZUFycmF5PiBmb3J3YXJkTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5z
aWduZWQgbGltaXQpOwogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIENGRGlj
dGlvbmFyeVJlZiBjcmVhdGVDRkRpY3Rpb25hcnlSZXByZXNlbnRhdGlvbihXZWJQYWdlUHJveHk6
OldlYlBhZ2VQcm94eVNlc3Npb25TdGF0ZUZpbHRlckNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBj
b25zdDsKICAgICBib29sIHJlc3RvcmVGcm9tQ0ZEaWN0aW9uYXJ5UmVwcmVzZW50YXRpb24oQ0ZE
aWN0aW9uYXJ5UmVmKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCAzOWY3ZDQ0ZGRhYWY0ZTNiMzAxNmY5NGJiOWY2ZjFkNGFjZDE2NDEzLi40
ZmZkMjg0NDM0MzMwODFhN2NhYTM5M2RiNmI5YTI5NWNlMWEwYzM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtODQ2LDcgKzg0Niw3IEBAIHZvaWQgV2Vi
UGFnZVByb3h5Ojp0ZXJtaW5hdGVQcm9jZXNzKCkKICAgICBwcm9jZXNzKCktPnRlcm1pbmF0ZSgp
OwogfQogCi0jaWYgIVBMQVRGT1JNKENGKSB8fCBkZWZpbmVkKEJVSUxESU5HX1FUX18pCisjaWYg
IVVTRShDRikgfHwgZGVmaW5lZChCVUlMRElOR19RVF9fKQogUGFzc1JlZlB0cjxXZWJEYXRhPiBX
ZWJQYWdlUHJveHk6OnNlc3Npb25TdGF0ZURhdGEoV2ViUGFnZVByb3h5U2Vzc2lvblN0YXRlRmls
dGVyQ2FsbGJhY2ssIHZvaWQqIGNvbnRleHQpIGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFJldHVy
biBzZXNzaW9uIHN0YXRlIGRhdGEgZm9yIHNhdmluZyBQYWdlIHN0YXRlLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDI2MTU4NTJjZWRhYTg3NTUxZjNlNjllZDA3OWMw
NTNlNDNlMTJjMjEuLmMzMDIxMjdhMmI2ZGE1NjQyZWIwMzU1MjI2MWU0NzM1MTcxOWRmNDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTM4LDcgKzM4LDcgQEAKICNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
IAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAjZW5kaWYKIApAQCAtNTcsNyArNTcsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIC8vIHR5
cGUgYWNjb3JkaW5nIHRvIHNlY3Rpb24gMTguNy8zIG9mIHRoZSBDKysgTjE5MDUgc3RhbmRhcmQu
CiBzdGF0aWMgU3RyaW5nIGZvcm1hdExvY2FsaXplZFN0cmluZyhTdHJpbmcgZm9ybWF0LCAuLi4p
CiB7Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAgIHZhX2xpc3QgYXJndW1lbnRz
OwogICAgIHZhX3N0YXJ0KGFyZ3VtZW50cywgZm9ybWF0KTsKICAgICBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+IGZvcm1hdENGU3RyaW5nKEFkb3B0Q0YsIGZvcm1hdC5jcmVhdGVDRlN0cmluZygpKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNWUx
ZjZiOGNlZWYwM2I2YWM3ZjA3OWM1YmJhNmZmZGQ5YTY5NDI3Li44ODAzNDQ2N2ZhZTYyY2Y1YzJj
YTg5MmIyZTEyYWM5ZmQxOGIwNWNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDItMDEgIFBhdHJpY2sgR2Fu
c3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIFBMQVRGT1JNKENGKSB0byBVU0UoQ0YpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU0MAorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY29uZmlnLmg6CisKIDIwMTEtMDItMDEgIE1paGFpIFBhcnBh
cml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMg
Um9iaW5zb24uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jb25maWcuaCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2NvbmZpZy5oCmluZGV4IDU1ZTJkYzE3ZmFlMGNjODE3OTdkYjli
ZWY0NWU0YmZmYWI5YWY3ZGMuLjk2MzVhNDY4NDc3ZDAwZmI1OGFmZjk4NWFlYzg5YmQwMDhmMGZh
ZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2NvbmZpZy5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2NvbmZpZy5oCkBAIC00MSw3ICs0MSw3IEBACiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VT
RV9DRiAxCiAKICNpZiAhZGVmaW5lZChNQUNfT1NfWF9WRVJTSU9OXzEwXzUpIHx8IE1BQ19PU19Y
X1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNfT1NfWF9WRVJTSU9OXzEwXzUKICNkZWZpbmUgQlVJ
TERJTkdfT05fVElHRVIgMQpAQCAtNTMsNyArNTMsNyBAQAogI2VuZGlmIC8vIFBMQVRGT1JNKE1B
QykKIAogI2lmIFBMQVRGT1JNKFdJTikKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEgCisjZGVm
aW5lIFdURl9VU0VfQ0YgMSAKICNpZiBkZWZpbmVkKFdJTl9DQUlSTykKICNkZWZpbmUgV1RGX1BM
QVRGT1JNX0NBSVJPIDEKICNkZWZpbmUgV1RGX1VTRV9DVVJMIDEK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83448</attachid>
            <date>2011-02-22 22:44:31 -0800</date>
            <delta_ts>2011-02-23 03:31:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53540-20110223074427.patch</filename>
            <type>text/plain</type>
            <size>40083</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk0MDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDdm
M2MxMDk0NGY3MzYzNGQwZGU5ZDk2N2NlYTcyZDM0NTQzMTJkMTIuLjA1ZTJmMTc4MzNmMDcxYzI4
MmVkZGRjMDY0Zjc1NjgzYjFkMzFiZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIzIEBACisyMDExLTAyLTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFJlbmFt
ZSBQTEFURk9STShDRikgdG8gVVNFKENGKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NDAKKworICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3RvdHlw
ZS5jcHA6CisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHA6CisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbERhdGEuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERh
dGE6OkpTR2xvYmFsRGF0YSk6CisgICAgICAgICogd3RmL0N1cnJlbnRUaW1lLmNwcDoKKyAgICAg
ICAgKiB3dGYvUGxhdGZvcm0uaDoKKyAgICAgICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuaDoK
KyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChXVEY6OlN0cmluZ0lt
cGw6OmNvbXB1dGVIYXNoKToKKyAgICAgICAgKiB3dGYvdGV4dC9XVEZTdHJpbmcuaDoKKyAgICAg
ICAgKiB3dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwOgorICAgICAgICAoV1RGOjpDb2xs
YXRvcjo6dXNlckRlZmF1bHQpOgorCiAyMDExLTAyLTIyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5y
ZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCBy
NzkzNjcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJv
dG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUu
Y3BwCmluZGV4IDU4NzdjMTAyMmI4ZmVlMDNiOTI1NThlOTgxMTU4MTQzYjVkNjI5MjkuLjMxNGJh
YTRjMmM5Y2FhMjlmM2UyOGZiYWFjZjY5OWNiOTljNTM4MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0RhdGVQcm90b3R5cGUuY3BwCkBAIC0xMzAsNyArMTMwLDcgQEAg
ZW51bSBMb2NhbGVEYXRlVGltZUZvcm1hdCB7IExvY2FsZURhdGVBbmRUaW1lLCBMb2NhbGVEYXRl
LCBMb2NhbGVUaW1lIH07CiAjaWYgUExBVEZPUk0oTUFDKQogCiAvLyBGSVhNRTogU2luY2UgdGhp
cyBpcyBzdXBlcmlvciB0byB0aGUgc3RyZnRpbWUtYmFzZWQgdmVyc2lvbiwgd2h5IGxpbWl0IHRo
aXMgdG8gUExBVEZPUk0oTUFDKT8KLS8vIEluc3RlYWQgd2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5n
IHRoaXMgd2hlbmV2ZXIgUExBVEZPUk0oQ0YpIGlzIHRydWUuCisvLyBJbnN0ZWFkIHdlIHNob3Vs
ZCBjb25zaWRlciB1c2luZyB0aGlzIHdoZW5ldmVyIFVTRShDRikgaXMgdHJ1ZS4KIAogc3RhdGlj
IENGRGF0ZUZvcm1hdHRlclN0eWxlIHN0eWxlRnJvbUFyZ1N0cmluZyhjb25zdCBVU3RyaW5nJiBz
dHJpbmcsIENGRGF0ZUZvcm1hdHRlclN0eWxlIGRlZmF1bHRTdHlsZSkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgKaW5kZXggOWI2
ZWYwNGE3ZTMzMjc4NGQxYzJjYjNiZTc2ZmYyZjhjNDlhNDAzYy4uZWFiYjRjYzU1MDQxNTJkYzk0
NmM0Yzc1MDNmMmVlM2E1NDg4NzIyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmgKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRl
IDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAotI2lmIFBMQVRG
T1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRh
dGlvbi5oPgogI2VuZGlmCiAKQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgogICAgIHZvaWQgb3Bl
cmF0b3IoKSgpOwogICAgIHZvaWQgc3luY2hyb25pemUoKTsKIAotI2lmIFBMQVRGT1JNKENGKQor
I2lmIFVTRShDRikKIHByb3RlY3RlZDoKICAgICBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhl
YXAqLCBDRlJ1bkxvb3BSZWYpOwogICAgIHZvaWQgY29tbW9uQ29uc3RydWN0b3IoSGVhcCosIENG
UnVuTG9vcFJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9H
Q0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAKaW5kZXggMjExYzQyM2Q4ZGQ2NDc3MWQ5NjgwMDUzZmUz
OGVjODYxMzhmY2MxNy4uMTVmNmRlOGQ5ZGIzZDdlN2Y2NzQ1NGI2MDczMTMxZmZhZjBlOTQyMyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxi
YWNrQ0YuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlD
YWxsYmFja0NGLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KICNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgogCi0jaWYgIVBMQVRGT1JNKENGKQor
I2lmICFVU0UoQ0YpCiAjZXJyb3IgIlRoaXMgZmlsZSBzaG91bGQgb25seSBiZSB1c2VkIG9uIENG
IHBsYXRmb3Jtcy4iCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsRGF0YS5jcHAKaW5kZXggZGNiZTNjNGJiZDUwYTdiMmIyMDE0Y2Y1MzU5ZGI4MTE0
NDc3OWQzNC4uMTQ1MjRjOGNmNzQ5MDYzMmNiMzJkNjJmNjI2MWUzN2JkMTE0ZjUwZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxEYXRhLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbERhdGEuY3BwCkBAIC0xNjAs
NyArMTYwLDcgQEAgSlNHbG9iYWxEYXRhOjpKU0dsb2JhbERhdGEoR2xvYmFsRGF0YVR5cGUgZ2xv
YmFsRGF0YVR5cGUsIFRocmVhZFN0YWNrVHlwZSB0aHJlYWQKICAgICBzdGFydFByb2ZpbGVyU2Vy
dmVySWZOZWVkZWQoKTsKICNlbmRpZgogI2lmIEVOQUJMRShKSVQpICYmIEVOQUJMRShJTlRFUlBS
RVRFUikKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgQ0ZTdHJpbmdSZWYgY2Fu
VXNlSklUS2V5ID0gQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZygwICwgIkphdmFTY3JpcHRDb3Jl
VXNlSklUIiwga0NGU3RyaW5nRW5jb2RpbmdNYWNSb21hbik7CiAgICAgQ0ZCb29sZWFuUmVmIGNh
blVzZUpJVCA9IChDRkJvb2xlYW5SZWYpQ0ZQcmVmZXJlbmNlc0NvcHlBcHBWYWx1ZShjYW5Vc2VK
SVRLZXksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uKTsKICAgICBpZiAoY2FuVXNl
SklUKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0N1cnJlbnRUaW1l
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3VycmVudFRpbWUuY3BwCmluZGV4IDU2
NzI0Y2I4NmRjYTY2Y2MzYTUyM2IxNTk2ZTczMzEzOGI2MzE2MGUuLjQyMDUyMjc2MDg1ZTgyMDll
YzgzZTkxZTExNjBkY2E3M2NiYjFkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvQ3VycmVudFRpbWUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ3Vy
cmVudFRpbWUuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAKICNpZiBPUyhXSU5ET1dTKQogCi0vLyBX
aW5kb3dzIGlzIGZpcnN0IHNpbmNlIHdlIHdhbnQgdG8gdXNlIGhpcmVzIHRpbWVycywgZGVzcGl0
ZSBQTEFURk9STShDRikKKy8vIFdpbmRvd3MgaXMgZmlyc3Qgc2luY2Ugd2Ugd2FudCB0byB1c2Ug
aGlyZXMgdGltZXJzLCBkZXNwaXRlIFVTRShDRikKIC8vIGJlaW5nIGRlZmluZWQuCiAvLyBJZiBk
ZWZpbmVkLCBXSU4zMl9MRUFOX0FORF9NRUFOIGRpc2FibGVzIHRpbWVCZWdpblBlcmlvZC90aW1l
RW5kUGVyaW9kLgogI3VuZGVmIFdJTjMyX0xFQU5fQU5EX01FQU4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaAppbmRleCAxYTlhZmNiYTc0YmYzMTBjZTZjNjRjYmQ5MDI2MzA4OTY1M2M4
ZWNiLi5hYTVkMWFiNTVkNmQ0OGZlOTk0NmRmYjkxZGNlY2RlOWVlMDZhZTVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC02MTUsNyArNjE1LDcgQEAKICNpZiAhZGVmaW5l
ZChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpCiAjZGVmaW5lIEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCAxCiAjZW5kaWYKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VT
RV9DRiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURf
UldMT0NLIDEKICNkZWZpbmUgSEFWRV9SRUFETElORSAxCkBAIC02MzAsNyArNjMwLDcgQEAKICNl
bmRpZgogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pICYmIE9TKERBUldJTikKLSNkZWZpbmUgV1RG
X1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAjZGVmaW5lIFdURl9VU0VfUFRI
UkVBRFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEKICNkZWZpbmUgV1RGX1VTRV9D
QVJCT05fU0VDVVJFX0lOUFVUX01PREUgMQpAQCAtNjQxLDcgKzY0MSw3IEBACiAjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKFFUKSAmJiBPUyhEQVJXSU4pCi0jZGVmaW5lIFdURl9QTEFURk9STV9DRiAx
CisjZGVmaW5lIFdURl9VU0VfQ0YgMQogI2VuZGlmCiAKICNpZiBPUyhEQVJXSU4pICYmICFkZWZp
bmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhUExBVEZPUk0oR1RLKSAmJiAhUExBVEZPUk0oUVQp
CkBAIC02NjAsNyArNjYwLDcgQEAKICNkZWZpbmUgRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAx
CiAjZGVmaW5lIEVOQUJMRV9SRVBBSU5UX1RIUk9UVExJTkcgMQogI2RlZmluZSBIQVZFX1JFQURM
SU5FIDEKLSNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAj
ZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMQogI2RlZmluZSBIQVZFX1BUSFJFQURfUldMT0NLIDEK
ICNkZWZpbmUgRU5BQkxFX1dFQl9BUkNISVZFIDEKQEAgLTY4Miw3ICs2ODIsNyBAQAogI2VuZGlm
CiAKICNpZiBQTEFURk9STShXSU4pICYmICFPUyhXSU5DRSkKLSNkZWZpbmUgV1RGX1BMQVRGT1JN
X0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAjZGVmaW5lIFdURl9VU0VfUFRIUkVBRFMgMAog
I2VuZGlmCiAKQEAgLTcwMiw3ICs3MDIsNyBAQAogI2RlZmluZSBFTkFCTEVfQVNTRU1CTEVSIDEK
ICNkZWZpbmUgRU5BQkxFX0dMT0JBTF9GQVNUTUFMTE9DX05FVyAwCiAjaWYgT1MoREFSV0lOKQot
I2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMQorI2RlZmluZSBXVEZfVVNFX0NGIDEKICNpZm5kZWYg
QlVJTERJTkdfT05fVElHRVIKICNkZWZpbmUgV1RGX1VTRV9DT1JFX1RFWFQgMQogI2RlZmluZSBF
TkFCTEVfV0VCX0FSQ0hJVkUgMQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9SZXRhaW5QdHIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUmV0YWluUHRyLmgKaW5k
ZXggNjI3NDBmY2QzMDVkNDM3ODY1NTE3YWRlMzQwYzEyMDIyMTRlMDBhNi4uM2ExMTU4OTE1MDY3
ODFiNzhkM2NlNGQ2NDlmYjc3ODcxM2ZhZTZmMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9SZXRhaW5QdHIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Jl
dGFpblB0ci5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiVHlwZVRyYWl0cy5oIgogI2lu
Y2x1ZGUgPGFsZ29yaXRobT4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNs
dWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAppbmRleCBhYjViMzY2Yjcw
YTMzOGM1MmI4ZDUxOTZlOGE0NzY5MDgwZGFmNGI1Li40NWE3MWU3MDU5ZGFmZjYyZTQyZWY3OTM2
M2RkNWIxZjc4MzBlYjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3Rl
eHQvQXRvbWljU3RyaW5nLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L0F0
b21pY1N0cmluZy5oCkBAIC05NSw3ICs5NSw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyB2b2lk
IHJlbW92ZShTdHJpbmdJbXBsKik7CiAgICAgCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENG
KQogICAgIEF0b21pY1N0cmluZyhDRlN0cmluZ1JlZiBzKSA6ICBtX3N0cmluZyhhZGQoU3RyaW5n
KHMpLmltcGwoKSkpIHsgfQogICAgIENGU3RyaW5nUmVmIGNyZWF0ZUNGU3RyaW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9zdHJpbmcuY3JlYXRlQ0ZTdHJpbmcoKTsgfQogI2VuZGlmICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsLmgKaW5kZXggNmRlODdjODQ3ZDAw
ZDhiYTdhYjMwMmY0MTRlYTZiMjQ4ODg1MzIxZC4uNGFkMmRlYzNiNTZiMjg5MjRjMzNjZThiNjQw
Y2MwNGFmMGYxNDgzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi90ZXh0
L1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5n
SW1wbC5oCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSW1wbEJh
c2UuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKLSNpZiBQTEFURk9STShD
RikKKyNpZiBVU0UoQ0YpCiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NGU3RyaW5nICogQ0ZTdHJp
bmdSZWY7CiAjZW5kaWYKIApAQCAtMzE4LDcgKzMxOCw3IEBAIHB1YmxpYzoKIAogICAgIFdURjo6
VW5pY29kZTo6RGlyZWN0aW9uIGRlZmF1bHRXcml0aW5nRGlyZWN0aW9uKGJvb2wqIGhhc1N0cm9u
Z0RpcmVjdGlvbmFsaXR5ID0gMCk7CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAg
ICAgQ0ZTdHJpbmdSZWYgY3JlYXRlQ0ZTdHJpbmcoKTsKICNlbmRpZgogI2lmZGVmIF9fT0JKQ19f
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvV1RGU3RyaW5nLmgKaW5kZXggN2FlYTgx
ZWFhOTUzZDBlZjdjY2Q1MzFiOTc1MDM1YzQyNDlhYWU2YS4uMGFjOGYwZTVlNGRiZjdiYWZjNTEy
MjkwZWE4ZGViZTFjMTdkOTI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi90ZXh0L1dURlN0cmluZy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9X
VEZTdHJpbmcuaApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgPG9iamMvb2JqYy5oPgogI2Vu
ZGlmCiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiB0eXBlZGVmIGNvbnN0IHN0cnVj
dCBfX0NGU3RyaW5nICogQ0ZTdHJpbmdSZWY7CiAjZW5kaWYKIApAQCAtMjg5LDcgKzI4OSw3IEBA
IHB1YmxpYzoKICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlQSgpIGNvbnN0OwogICAg
IG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGVCKCkgY29uc3Q7CiAKLSNpZiBQTEFURk9STShD
RikKKyNpZiBVU0UoQ0YpCiAgICAgU3RyaW5nKENGU3RyaW5nUmVmKTsKICAgICBDRlN0cmluZ1Jl
ZiBjcmVhdGVDRlN0cmluZygpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvaWN1L0NvbGxhdG9ySUNVLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwCmluZGV4IDgwNWIxMTQ3
YjU0YWFjNTYyNzg0MDM1MGViZjI3NTg5ZmE1MmZkOGQuLmNhMjdiYTJiMWEzZGY1M2Y2NDEyM2Rl
ZjljYTBlMTcyMGM5ZjVlY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwCkBAIC01OSw3ICs1OSw3IEBAIENvbGxhdG9y
OjpDb2xsYXRvcihjb25zdCBjaGFyKiBsb2NhbGUpCiAKIFBhc3NPd25QdHI8Q29sbGF0b3I+IENv
bGxhdG9yOjp1c2VyRGVmYXVsdCgpCiB7Ci0jaWYgT1MoREFSV0lOKSAmJiBQTEFURk9STShDRikK
KyNpZiBPUyhEQVJXSU4pICYmIFVTRShDRikKICAgICAvLyBNYWMgT1MgWCBkb2Vzbid0IHNldCBV
TklYIGxvY2FsZSB0byBtYXRjaCB1c2VyLXNlbGVjdGVkIG9uZSwgc28gSUNVIGRlZmF1bHQgZG9l
c24ndCB3b3JrLgogI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1RJR0VSKSAmJiAhZGVmaW5lZChC
VUlMRElOR19PTl9MRU9QQVJEKSAmJiAhT1MoSU9TKQogICAgIFJldGFpblB0cjxDRkxvY2FsZVJl
Zj4gY3VycmVudExvY2FsZShBZG9wdENGLCBDRkxvY2FsZUNvcHlDdXJyZW50KCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDM0ODQ2ZmE5OWE3YjQ0OTZlODVlMzIyNDhmMjIxMmFlOWEwZTM5ZTQuLmQyNzBhZmIy
Y2I5Y2YxOGU3ODgzNDQzYWI2YTcyMmExMzZmOTQxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
OCBAQAorMjAxMS0wMi0yMiAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBSZW5hbWUgUExB
VEZPUk0oQ0YpIHRvIFVTRShDRikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUzNTQwCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoK
KyAgICAgICAgKiBlZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHA6CisgICAgICAgICogZWRpdGluZy9T
bWFydFJlcGxhY2VJQ1UuY3BwOgorICAgICAgICAqIGxvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVz
cG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZl
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExv
YWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpkaWRGYWlsKToK
KyAgICAgICAgKiBsb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjphcmNoaXZlTUlNRVR5cGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVt
Lmg6CisgICAgICAgICogcGxhdGZvcm0vS1VSTC5oOgorICAgICAgICAqIHBsYXRmb3JtL0tVUkxH
b29nbGUuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL1J1bkxvb3BUaW1lci5oOgorICAgICAgICAq
IHBsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVm
ZmVyLmg6CisgICAgICAgICogcGxhdGZvcm0vVVVJRC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
cmVhdGVDYW5vbmljYWxVVUlEU3RyaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVl
c3RCYXNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxl
Q3VybC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxl
TWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjZXJ0aWZpY2F0ZVBhdGgpOgorICAgICAg
ICAqIHBsYXRmb3JtL3RleHQvY2YvU3RyaW5nQ0YuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvY2YvU3RyaW5nSW1wbENGLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vQlN0cmluZy5j
cHA6CisgICAgICAgICogcGxhdGZvcm0vd2luL0JTdHJpbmcuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vQ2xpcGJvYXJkVXRpbGl0aWVzV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldFdl
YkxvY0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0VVJMKToKKyAgICAgICAgKFdlYkNvcmU6
OmdldENsaXBib2FyZERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGVGaWxlVG9EYXRhT2JqZWN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlYXJjaFBvcHVwTWVudVdpbjo6ZW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hQ
b3B1cE1lbnVXaW46OnNhdmVSZWNlbnRTZWFyY2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTZWFy
Y2hQb3B1cE1lbnVXaW46OmxvYWRSZWNlbnRTZWFyY2hlcyk6CisKIDIwMTEtMDItMjIgIEFuZHJl
YXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBC
ZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IGI4OWZl
MTk3YmE2YzZiNWFmNWVkMGM5YmJiM2Y0ZDRlYzg3YjllYzUuLjRhZjJlOWE3ZmVlYzNmNTMzYjYw
N2MyZTY4NjUwNjJlMTJhNGY5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCkBAIC0xMjE3LDcgKzEyMTcsNyBAQAogICAgICAgICAgICAgIyBBZGRpdGlvbmFsIGZpbGVz
IGZyb20gdGhlIFdlYkNvcmUgTWFjIGJ1aWxkIHRoYXQgYXJlIHByZXNlbnRseQogICAgICAgICAg
ICAgIyB1c2VkIGluIHRoZSBXZWJDb3JlIENocm9taXVtIE1hYyBidWlsZCB0b28uCiAKLSAgICAg
ICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBQTEFURk9STV9DRiBidXQgZG9lcyBub3QgdXNlIENG
TmV0d29yay4KKyAgICAgICAgICAgICMgVGhlIE1hYyBidWlsZCBpcyBVU0UoQ0YpIGJ1dCBkb2Vz
IG5vdCB1c2UgQ0ZOZXR3b3JrLgogICAgICAgICAgICAgWydpbmNsdWRlJywgJ0NGXFwuY3BwJCdd
LAogICAgICAgICAgICAgWydleGNsdWRlJywgJ25ldHdvcmsvY2YvJ10sCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU21hcnRSZXBsYWNlLmNwcAppbmRleCBjNWY1MjQwM2EyMjg2YmRjZmQ0ZmIzYWUz
ZjA3NDA5MGM2ZDlmYTYxLi43YjhjYTQ1NjQzMTFjMTI5OTU4ZjM1ZWIyOTczMWFhYzI4YzhlZDhh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2UuY3BwCkBAIC0yOSw3ICsyOSw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU21hcnRSZXBsYWNlLmgiCiAKLSNp
ZiAhUExBVEZPUk0oQ0YpICYmICFVU0UoSUNVX1VOSUNPREUpCisjaWYgIVVTRShDRikgJiYgIVVT
RShJQ1VfVU5JQ09ERSkKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MCw0ICs0MCw0IEBA
IGJvb2wgaXNDaGFyYWN0ZXJTbWFydFJlcGxhY2VFeGVtcHQoVUNoYXIzMiBjLCBib29sIGlzUHJl
dmlvdXNDaGFyYWN0ZXIpCiAKIH0KIAotI2VuZGlmIC8vICFQTEFURk9STShDRikKKyNlbmRpZiAv
LyAhVVNFKENGKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxh
Y2VJQ1UuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2VJQ1UuY3BwCmlu
ZGV4IDlhY2QzNTBlZDNhNmM4ODNjOWZhOTk3NjBiNjkwMDQzYWNjNDNhYzQuLmMzNTA3YWQwYzFj
M2U3ODhkNDk4NDUzYTdiZTQ5MGM1OWVlMjVjMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NtYXJ0UmVwbGFjZUlDVS5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJTbWFydFJlcGxhY2UuaCIKIAotI2lmICFQTEFURk9STShDRikgJiYgVVNF
KElDVV9VTklDT0RFKQorI2lmICFVU0UoQ0YpICYmIFVTRShJQ1VfVU5JQ09ERSkKICNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHVuaWNvZGUvdXNldC5oPgogI2luY2x1ZGUg
PHd0Zi9Bc3NlcnRpb25zLmg+CkBAIC05Nyw0ICs5Nyw0IEBAIGJvb2wgaXNDaGFyYWN0ZXJTbWFy
dFJlcGxhY2VFeGVtcHQoVUNoYXIzMiBjLCBib29sIGlzUHJldmlvdXNDaGFyYWN0ZXIpCiAKIH0K
IAotI2VuZGlmIC8vICFQTEFURk9STShDRikgJiYgVVNFKElDVV9VTklDT0RFKQorI2VuZGlmIC8v
ICFVU0UoQ0YpICYmIFVTRShJQ1VfVU5JQ09ERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01h
aW5SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNGJkYjlhZDU3MWM0Yzg1ZGFhYjRlNTYyNmNhYjUy
NjlmZjBiMWFlZC4uZWFmZjNhMGU2YTE5ZDZlNWMwNDZjN2RlY2I5MDI1NWNkZDhhYzExMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM1OSw3
ICszNTksNyBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHIpCiAKICAgICAvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBDRk5l
dHdvcmsgd2hlcmUgY2FsbGJhY2tzIGNhbiBiZSBkaXNwYXRjaGVkIGV2ZW4gd2hlbiBsb2FkcyBh
cmUgZGVmZXJyZWQuCiAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS82MzA0NjAwPiBmb3IgbW9y
ZSBkZXRhaWxzLgotI2lmICFQTEFURk9STShDRikKKyNpZiAhVVNFKENGKQogICAgIEFTU0VSVChz
aG91bGRMb2FkQXNFbXB0eURvY3VtZW50KHIudXJsKCkpIHx8ICFkZWZlcnNMb2FkaW5nKCkpOwog
I2VuZGlmCiAKQEAgLTQyNiw3ICs0MjYsNyBAQCB2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6ZGlk
UmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCwgbG9uZyBsb25nCiAKICAg
ICAvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBDRk5ldHdvcmsgd2hlcmUgY2FsbGJhY2tzIGNhbiBiZSBk
aXNwYXRjaGVkIGV2ZW4gd2hlbiBsb2FkcyBhcmUgZGVmZXJyZWQuCiAgICAgLy8gU2VlIDxyZGFy
Oi8vcHJvYmxlbS82MzA0NjAwPiBmb3IgbW9yZSBkZXRhaWxzLgotI2lmICFQTEFURk9STShDRikK
KyNpZiAhVVNFKENGKQogICAgIEFTU0VSVCghZGVmZXJzTG9hZGluZygpKTsKICNlbmRpZgogIApA
QCAtNDQ3LDcgKzQ0Nyw3IEBAIHZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2Fk
aW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogewogICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0
d29yayB3aGVyZSBjYWxsYmFja3MgY2FuIGJlIGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFy
ZSBkZWZlcnJlZC4KICAgICAvLyBTZWUgPHJkYXI6Ly9wcm9ibGVtLzYzMDQ2MDA+IGZvciBtb3Jl
IGRldGFpbHMuCi0jaWYgIVBMQVRGT1JNKENGKQorI2lmICFVU0UoQ0YpCiAgICAgQVNTRVJUKHNo
b3VsZExvYWRBc0VtcHR5RG9jdW1lbnQoZnJhbWVMb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2Fk
ZXIoKS0+dXJsKCkpIHx8ICFkZWZlcnNMb2FkaW5nKCkpOwogI2VuZGlmCiAgICAgCkBAIC00Nzgs
NyArNDc4LDcgQEAgdm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWwoY29uc3QgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IpCiAKICAgICAvLyBUaGVyZSBpcyBhIGJ1ZyBpbiBDRk5ldHdvcmsgd2hl
cmUgY2FsbGJhY2tzIGNhbiBiZSBkaXNwYXRjaGVkIGV2ZW4gd2hlbiBsb2FkcyBhcmUgZGVmZXJy
ZWQuCiAgICAgLy8gU2VlIDxyZGFyOi8vcHJvYmxlbS82MzA0NjAwPiBmb3IgbW9yZSBkZXRhaWxz
LgotI2lmICFQTEFURk9STShDRikKKyNpZiAhVVNFKENGKQogICAgIEFTU0VSVCghZGVmZXJzTG9h
ZGluZygpKTsKICNlbmRpZgogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2FyY2hpdmUvQXJjaGl2ZUZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FyY2hp
dmUvQXJjaGl2ZUZhY3RvcnkuY3BwCmluZGV4IGIwMmI4MzEwNDE4ZmMyN2QzOGIxNzcwNGVjNDA5
OThjMjkzYjMwNjAuLmEyMDdhZjdmZjlkYTliYmZmNzRiNmQ0MmE0MTJhM2QyYmUzMjBlYjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcmNoaXZlL0FyY2hpdmVGYWN0b3J5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXJjaGl2ZS9BcmNoaXZlRmFjdG9yeS5jcHAK
QEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAotI2lmIFBMQVRGT1JNKENGKSAmJiAhUExBVEZPUk0oUVQp
CisjaWYgVVNFKENGKSAmJiAhUExBVEZPUk0oUVQpCiAjaW5jbHVkZSAiTGVnYWN5V2ViQXJjaGl2
ZS5oIgogI2VuZGlmCiAKQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIEFyY2hpdmVNSU1FVHlwZXNN
YXAmIGFyY2hpdmVNSU1FVHlwZXMoKQogICAgIGlmIChpbml0aWFsaXplZCkKICAgICAgICAgcmV0
dXJuIG1pbWVUeXBlczsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBtaW1l
VHlwZXMuc2V0KCJhcHBsaWNhdGlvbi94LXdlYmFyY2hpdmUiLCBhcmNoaXZlRmFjdG9yeUNyZWF0
ZTxMZWdhY3lXZWJBcmNoaXZlPik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5
c3RlbS5oCmluZGV4IGQ5MjNmZTYwYmRmMzVhYjEwYTk0ZTlhMDdjNmQxOTU2ZjliZDRlYjQuLjhi
N2QwZjA0ZGVhNTg3ZmU1ZmE5OGQ2ZjU3NTBhMWYxMjU4ZWIxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTM1LDcgKzM1LDcgQEAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVT
RShDRikKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjZW5kaWYKIApAQCAtNDcsNyArNDcs
NyBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENGKSB8fCAoUExBVEZPUk0oUVQp
ICYmIGRlZmluZWQoUV9XU19NQUMpKQorI2lmIFVTRShDRikgfHwgKFBMQVRGT1JNKFFUKSAmJiBk
ZWZpbmVkKFFfV1NfTUFDKSkKIHR5cGVkZWYgc3RydWN0IF9fQ0ZCdW5kbGUqIENGQnVuZGxlUmVm
OwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRkRhdGEqIENGRGF0YVJlZjsKICNlbmRpZgpAQCAt
ODQsNyArODQsNyBAQCB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtTW9kdWxlOwogI2VuZGlmCiAjZWxp
ZiBQTEFURk9STShHVEspCiB0eXBlZGVmIEdNb2R1bGUqIFBsYXRmb3JtTW9kdWxlOwotI2VsaWYg
UExBVEZPUk0oQ0YpCisjZWxpZiBVU0UoQ0YpCiB0eXBlZGVmIENGQnVuZGxlUmVmIFBsYXRmb3Jt
TW9kdWxlOwogI2Vsc2UKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1Nb2R1bGU7CkBAIC0xODksNyAr
MTg5LDcgQEAgYm9vbCB1bmxvYWRNb2R1bGUoUGxhdGZvcm1Nb2R1bGUpOwogLy8gRW5jb2RlIGEg
c3RyaW5nIGZvciB1c2Ugd2l0aGluIGEgZmlsZSBuYW1lLgogU3RyaW5nIGVuY29kZUZvckZpbGVO
YW1lKGNvbnN0IFN0cmluZyYpOwogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogUmV0
YWluUHRyPENGVVJMUmVmPiBwYXRoQXNVUkwoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS1VSTC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vS1VSTC5oCmluZGV4IDUyMWU3Y2EzYjg5NWJhMWM0YTA0ODEwOTg5NGZlY2JmYTQx
MjE2NzAuLjYxZWEwOTYwNzc2ZDQyMjhmOWQ5ZDQ2Y2NhMzRmYzM2NDUxNjQ5ZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9LVVJMLmgKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJVUkxTdHJpbmcuaCIK
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENG
KQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRlVSTCogQ0ZVUkxSZWY7CiAjZW5kaWYKIApAQCAt
MTkwLDcgKzE5MCw3IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBwYXRoQWZ0ZXJMYXN0U2xhc2go
KSBjb25zdDsKICAgICBvcGVyYXRvciBjb25zdCBTdHJpbmcmKCkgY29uc3QgeyByZXR1cm4gc3Ry
aW5nKCk7IH0KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBLVVJMKENGVVJM
UmVmKTsKICAgICBDRlVSTFJlZiBjcmVhdGVDRlVSTCgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCmluZGV4IDA2OTdiMzMxMThmN2MyNzQzNDYxMDY4
MDAyYzlmYzdmZmNlYmZlNzIuLjM4N2MxYTI3MGE5YjY2ZDcyNTg0OTBmMjcwYmIzYmM0MTA0YmRi
NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tVUkxHb29nbGUuY3BwCkBAIC0zODEsNyArMzgx
LDcgQEAgS1VSTDo6S1VSTChjb25zdCBDU3RyaW5nJiBjYW5vbmljYWxTcGVjLAogICAgICAgICBt
X3VybC5zZXRBc2NpaShjYW5vbmljYWxTcGVjKTsKIH0KIAotI2lmIFBMQVRGT1JNKENGKQorI2lm
IFVTRShDRikKIEtVUkw6OktVUkwoQ0ZVUkxSZWYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bkxvb3BUaW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKaW5kZXggZjhjNTI5ZmNlYjJkMTcw
MzBiMjZhMzY5YzBiMzEzNDE0NGIwNTZhMC4uODY3YjE1OWE3NjRmZTkxMTEzYzRhM2UzM2Q1MDcy
NWMxNTg5ZmU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRp
bWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVuTG9vcFRpbWVyLmgKQEAgLTU2
LDcgKzU2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpID0gMDsKIAogcHJp
dmF0ZToKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgUmV0YWluUHRyPENGUnVu
TG9vcFRpbWVyUmVmPiBtX3RpbWVyOwogI2VuZGlmCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1NoYXJlZEJ1ZmZlci5jcHAKaW5kZXggMzVhN2I3YzQyNmU2MjI3N2U3N2ExMTE2ZTE4MjlkNTVi
ZTFkMzQwMy4uMzQ1NTNlYzRjNGQ1Zjk2MGQ2NjhiMWE3ODYzYzgwMTk3ZTkyNDA5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCkBAIC0yMzksNyArMjM5LDcgQEAg
dW5zaWduZWQgU2hhcmVkQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgc29tZURhdGEs
IHVuc2lnbmVkIHBvc2l0aW9uKSBjb24KICAgICByZXR1cm4gc2VnbWVudCA9PSBzZWdtZW50cyAt
IDEgPyBzZWdtZW50ZWRTaXplIC0gcG9zaXRpb24gOiBzZWdtZW50U2l6ZSAtIHBvc2l0aW9uSW5T
ZWdtZW50OwogfQogCi0jaWYgIVBMQVRGT1JNKENGKSB8fCBQTEFURk9STShRVCkKKyNpZiAhVVNF
KENGKSB8fCBQTEFURk9STShRVCkKIAogaW5saW5lIHZvaWQgU2hhcmVkQnVmZmVyOjpjbGVhclBs
YXRmb3JtRGF0YSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFy
ZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCmluZGV4
IDNjOTJjZjM0ODQzN2NlMTJlZTVmMDE5Y2IwYjMzN2Q2YTU3M2RjNmQuLmE2NTE3ZDgwNDg1YmU0
ZDllNDA0OWY4ZDFlY2EyNGM1ZWIyNTVhMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZEJ1ZmZlci5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0Yp
CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAKQEAgLTY5LDcgKzY5LDcgQEAg
cHVibGljOgogICAgIE5TRGF0YSAqY3JlYXRlTlNEYXRhKCk7CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2hhcmVkQnVmZmVyPiB3cmFwTlNEYXRhKE5TRGF0YSAqZGF0YSk7CiAjZW5kaWYKLSNpZiBQ
TEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgQ0ZEYXRhUmVmIGNyZWF0ZUNGRGF0YSgpOwog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gd3JhcENGRGF0YShDRkRhdGFSZWYp
OwogI2VuZGlmCkBAIC0xMzAsNyArMTMwLDcgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFZlY3Rv
cjxjaGFyPiBtX2J1ZmZlcjsKICAgICBtdXRhYmxlIFZlY3RvcjxjaGFyKj4gbV9zZWdtZW50czsK
ICAgICBPd25QdHI8UHVyZ2VhYmxlQnVmZmVyPiBtX3B1cmdlYWJsZUJ1ZmZlcjsKLSNpZiBQTEFU
Rk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgU2hhcmVkQnVmZmVyKENGRGF0YVJlZik7CiAgICAg
UmV0YWluUHRyPENGRGF0YVJlZj4gbV9jZkRhdGE7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVVVJ
RC5jcHAKaW5kZXggYzA3MmY0YWMwYmFmZDNiYzYyODc4MTExZWFkM2JiNzViYzhjN2EwYy4uN2Y1
OTA4MThkNDYyMzZlYjQ2ZjUzYzg2Mzc2YTg2MzliOTFjMGIxMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVVVJRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VVVJRC5jcHAKQEAgLTM5LDExICszOSwxMSBAQAogCiAjaWYgT1MoV0lORE9XUykKICNpbmNsdWRl
IDxvYmpiYXNlLmg+Ci0jZWxpZiBPUyhEQVJXSU4pICYmIFBMQVRGT1JNKENGKQorI2VsaWYgT1Mo
REFSV0lOKSAmJiBVU0UoQ0YpCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRp
b24uaD4KICNlbGlmIE9TKExJTlVYKSAmJiAhUExBVEZPUk0oQ0hST01JVU0pCiAjaW5jbHVkZSA8
c3RkaW8uaD4KLSNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01JVU0pKSB8fCAoT1Mo
REFSV0lOKSAmJiAhUExBVEZPUk0oQ0YpKQorI2VsaWYgKE9TKExJTlVYKSAmJiBQTEFURk9STShD
SFJPTUlVTSkpIHx8IChPUyhEQVJXSU4pICYmICFVU0UoQ0YpKQogI2luY2x1ZGUgPHd0Zi9SYW5k
b21OdW1iZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAjZW5kaWYK
QEAgLTcxLDcgKzcxLDcgQEAgU3RyaW5nIGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKQogICAg
IFN0cmluZyBjYW5vbmljYWxVdWlkU3RyID0gU3RyaW5nKHV1aWRTdHIgKyAxLCBudW0gLSAzKS5s
b3dlcigpOyAvLyByZW1vdmUgb3BlbmluZyBhbmQgY2xvc2luZyBicmFja2V0IGFuZCBtYWtlIGl0
IGxvd2VyLgogICAgIEFTU0VSVChjYW5vbmljYWxVdWlkU3RyW3V1aWRWZXJzaW9uSWRlbnRpZmll
ckluZGV4XSA9PSB1dWlkVmVyc2lvblJlcXVpcmVkKTsKICAgICByZXR1cm4gY2Fub25pY2FsVXVp
ZFN0cjsKLSNlbGlmIE9TKERBUldJTikgJiYgUExBVEZPUk0oQ0YpCisjZWxpZiBPUyhEQVJXSU4p
ICYmIFVTRShDRikKICAgICBDRlVVSURSZWYgdXVpZCA9IENGVVVJRENyZWF0ZSgwKTsKICAgICBD
RlN0cmluZ1JlZiB1dWlkU3RyUmVmID0gQ0ZVVUlEQ3JlYXRlU3RyaW5nKDAsIHV1aWQpOwogICAg
IFN0cmluZyB1dWlkU3RyKHV1aWRTdHJSZWYpOwpAQCAtOTMsNyArOTMsNyBAQCBTdHJpbmcgY3Jl
YXRlQ2Fub25pY2FsVVVJRFN0cmluZygpCiAgICAgU3RyaW5nIGNhbm9uaWNhbFV1aWRTdHIgPSBT
dHJpbmcodXVpZFN0cikubG93ZXIoKTsgLy8gbWFrZSBpdCBsb3dlci4KICAgICBBU1NFUlQoY2Fu
b25pY2FsVXVpZFN0clt1dWlkVmVyc2lvbklkZW50aWZpZXJJbmRleF0gPT0gdXVpZFZlcnNpb25S
ZXF1aXJlZCk7CiAgICAgcmV0dXJuIGNhbm9uaWNhbFV1aWRTdHI7Ci0jZWxpZiAoT1MoTElOVVgp
ICYmIFBMQVRGT1JNKENIUk9NSVVNKSkgfHwgKE9TKERBUldJTikgJiYgIVBMQVRGT1JNKENGKSkK
KyNlbGlmIChPUyhMSU5VWCkgJiYgUExBVEZPUk0oQ0hST01JVU0pKSB8fCAoT1MoREFSV0lOKSAm
JiAhVVNFKENGKSkKICAgICB1bnNpZ25lZCByYW5kb21EYXRhWzRdOwogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgV1RGX0FSUkFZX0xFTkdUSChyYW5kb21EYXRhKTsgKytpKQogICAgICAgICBy
YW5kb21EYXRhW2ldID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJhbmRvbU51bWJlcigpICogKHN0
ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSArIDEuMCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IDhhZDY2ZTRi
NTZmOTMwNmFhNTZiOGIxNzc0N2FmMWU4MWRmYmJjZjkuLjlhZDc2NTI1YzczZWM0MmJiMzA2OGE1
NDJmNGFlODRhZmVlNjIyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTM3LDcgKzM3LDcgQEAKIHR5cGVkZWYgc3RydWN0IF9T
b3VwU2Vzc2lvbiBTb3VwU2Vzc2lvbjsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYg
VVNFKENGKQogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19DRkRhdGEgKiBDRkRhdGFSZWY7CiAjZW5k
aWYKIApAQCAtMTQwLDcgKzE0MCw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShXSU4pICYmIFVT
RShDVVJMKQogICAgIHN0YXRpYyB2b2lkIHNldEhvc3RBbGxvd3NBbnlIVFRQU0NlcnRpZmljYXRl
KGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ1VSTCkg
JiYgUExBVEZPUk0oQ0YpCisjaWYgUExBVEZPUk0oV0lOKSAmJiBVU0UoQ1VSTCkgJiYgVVNFKENG
KQogICAgIHN0YXRpYyB2b2lkIHNldENsaWVudENlcnRpZmljYXRlKGNvbnN0IFN0cmluZyYgaG9z
dCwgQ0ZEYXRhUmVmKTsKICNlbmRpZgogCkBAIC0yMTAsNyArMjEwLDcgQEAgcHJpdmF0ZToKIAog
I2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIGNyZWF0ZU5TVVJMQ29ubmVjdGlvbihpZCBkZWxl
Z2F0ZSwgYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbCBzaG91bGRDb250ZW50
U25pZmYpOwotI2VsaWYgUExBVEZPUk0oQ0YpCisjZWxpZiBVU0UoQ0YpCiAgICAgdm9pZCBjcmVh
dGVDRlVSTENvbm5lY3Rpb24oYm9vbCBzaG91bGRVc2VDcmVkZW50aWFsU3RvcmFnZSwgYm9vbCBz
aG91bGRDb250ZW50U25pZmYpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKaW5kZXggYmY1MzAxMDE2ZDU3
NmZhY2E1MzQ4MjA2MjI0MzQxOGNlMGVhYjIzZC4uZWM3ZTMyYWNjZWUyZWExMGE4Mzk3ZTBmOTFl
NDM5N2U0YjU2Njk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmgKQEAgLTI0MCw3ICsyNDAsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgCiAgICAgdW5zaWduZWQgaW5pdGlhbGl6ZU1heGltdW1IVFRQQ29ubmVj
dGlvbkNvdW50UGVySG9zdCgpOwogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogICAg
IGJvb2wgaXNIVFRQUGlwZWxpbmluZ0VuYWJsZWQoKTsKICAgICBib29sIHNob3VsZEZvcmNlSFRU
UFBpcGVsaW5pbmdQcmlvcml0eUhpZ2goKTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCmlu
ZGV4IGYzNjBmODZlOTA0NDFhYTQxYzhmNDhlN2JlNTlhNzkzZDcxZmY3MGMuLjFkMjc2YWEwMjYx
YWI2ODhjNDFlOWQyNTRkMTg5MTIwNjA1YzY4MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCkBA
IC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAKLSNpZiBQTEFURk9STShXSU4pICYmIFBMQVRGT1JNKENG
KQorI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNFKENGKQogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCkBAIC0xMjQsNyArMTI0LDcg
QEAgYm9vbCBSZXNvdXJjZUhhbmRsZTo6c3VwcG9ydHNCdWZmZXJlZERhdGEoKQogICAgIHJldHVy
biBmYWxzZTsKIH0KIAotI2lmIFBMQVRGT1JNKFdJTikgJiYgUExBVEZPUk0oQ0YpCisjaWYgUExB
VEZPUk0oV0lOKSAmJiBVU0UoQ0YpCiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+JiBhbGxvd3NBbnlI
VFRQU0NlcnRpZmljYXRlSG9zdHMoKQogewogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4gaG9z
dHM7CkBAIC0xMzgsNyArMTM4LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0SG9zdEFsbG93
c0FueUhUVFBTQ2VydGlmaWNhdGUoY29uc3QgU3RyaW5nJiBob3N0KQogfQogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShXSU4pICYmIFBMQVRGT1JNKENGKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNF
KENGKQogLy8gRklYTUU6ICBUaGUgQ0ZEYXRhUmVmIHdpbGwgbmVlZCB0byBiZSBzb21ldGhpbmcg
ZWxzZSB3aGVuCiAvLyBidWlsZGluZyB3aXRob3V0IAogc3RhdGljIEhhc2hNYXA8U3RyaW5nLCBS
ZXRhaW5QdHI8Q0ZEYXRhUmVmPiA+JiBjbGllbnRDZXJ0cygpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVNYW5hZ2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFn
ZXIuY3BwCmluZGV4IDJlNDI1OWNlM2Q4ZmUzZmY0ZDA3MjA3MmE3NzA2NzBiMDM3NWIwNmUuLmYw
ZmQ0MDNmOGNjYzMxZjAxZDZmZjhkMDI5NjU1YTU5MjEwZjJhY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZU1hbmFnZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZU1hbmFnZXIuY3BwCkBAIC00NCw3ICs0NCw3IEBACiAKICNpbmNsdWRlIDxlcnJuby5oPgogI2lu
Y2x1ZGUgPHN0ZGlvLmg+Ci0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KICNlbmRpZgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KQEAg
LTY2LDcgKzY2LDcgQEAgc3RhdGljIGNvbnN0IGJvb2wgaWdub3JlU1NMRXJyb3JzID0gZ2V0ZW52
KCJXRUJLSVRfSUdOT1JFX1NTTF9FUlJPUlMiKTsKIAogc3RhdGljIENTdHJpbmcgY2VydGlmaWNh
dGVQYXRoKCkKIHsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgQ0ZCdW5kbGVS
ZWYgd2ViS2l0QnVuZGxlID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigi
Y29tLmFwcGxlLldlYktpdCIpKTsKICAgICBpZiAod2ViS2l0QnVuZGxlKSB7CiAgICAgICAgIFJl
dGFpblB0cjxDRlVSTFJlZj4gY2VydFVSTFJlZihBZG9wdENGLCBDRkJ1bmRsZUNvcHlSZXNvdXJj
ZVVSTCh3ZWJLaXRCdW5kbGUsIENGU1RSKCJjYWNlcnQiKSwgQ0ZTVFIoInBlbSIpLCBDRlNUUigi
Y2VydGlmaWNhdGVzIikpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvY2YvU3RyaW5nQ0YuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJp
bmdDRi5jcHAKaW5kZXggZGNhZjhmYjk3ZWQ3NzJjNmFjNWM3Y2I4MmI4YTFlZDZlOGY1NWU0OS4u
MGExOTI4Yjg3MTEyMzBjYjUxZTM1NWEzYjU0NGZjMDIzODNhZmZjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdDRi5jcHAKQEAgLTIxLDcgKzIxLDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCi0jaWYgUExB
VEZPUk0oQ0YpCisjaWYgVVNFKENGKQogCiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZv
dW5kYXRpb24uaD4KIApAQCAtNTIsNCArNTIsNCBAQCBDRlN0cmluZ1JlZiBTdHJpbmc6OmNyZWF0
ZUNGU3RyaW5nKCkgY29uc3QKIAogfQogCi0jZW5kaWYgLy8gUExBVEZPUk0oQ0YpCisjZW5kaWYg
Ly8gVVNFKENGKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9T
dHJpbmdJbXBsQ0YuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9TdHJpbmdJ
bXBsQ0YuY3BwCmluZGV4IDAxNTc5MTgzY2YxMTk4NDQ0MmZlYWI3MDJlNzVmMjk5MmQ3NDdmMjQu
LmM5OWRkYWM5OTBmNjljYWE1NWQ3N2Y1NmU5MTMwMDY4MTQ2NWViN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHAKQEAgLTIxLDcgKzIx
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBs
Lmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAKICNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CkBA
IC0xNTksNCArMTU5LDQgQEAgQ0ZTdHJpbmdSZWYgU3RyaW5nSW1wbDo6Y3JlYXRlQ0ZTdHJpbmco
KQogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShDRikKKyNlbmRpZiAvLyBVU0UoQ0YpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5jcHAKaW5kZXggNjYyMmY5NjYxMWJhZWNmOGNm
YjRjOWJlMTk4MTdjZDIyYTZhNGUzZS4uODcyYWI3ZWFjMDIzYzAwYTMyMDM5ODg5NGYzZDk4OWU0
NzYyY2YwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9CU3RyaW5nLmNwcApAQCAtMzEs
NyArMzEsNyBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
aWNTdHJpbmcuaD4KIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDxD
b3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VuZGlmCiAKQEAgLTkyLDcgKzkyLDcg
QEAgQlN0cmluZzo6QlN0cmluZyhjb25zdCBVU3RyaW5nJiBzKQogICAgICAgICBtX2JzdHIgPSBT
eXNBbGxvY1N0cmluZ0xlbihzLmNoYXJhY3RlcnMoKSwgcy5sZW5ndGgoKSk7CiB9CiAKLSNpZiBQ
TEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiBCU3RyaW5nOjpCU3RyaW5nKENGU3RyaW5nUmVmIGNm
c3RyKQogICAgIDogbV9ic3RyKDApCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS93aW4vQlN0cmluZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0JTdHJpbmcu
aAppbmRleCBiZGJmMTg5ZjFjMzY3YjBkNTBhM2MyZmNlZDU3ZGRhMGY5OWI1MmViLi45MjJkM2Uy
ZmI0NjA0MWFhN2M0MjZkNTkwZDcxNzUxN2M5NDE2ZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQlN0cmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3dpbi9CU3RyaW5nLmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiB0eXBlZGVmIGNvbnN0IHN0cnVj
dCBfX0NGU3RyaW5nICogQ0ZTdHJpbmdSZWY7CiAjZW5kaWYKIApAQCAtNTEsNyArNTEsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEJTdHJpbmcoY29uc3QgQXRvbWljU3RyaW5nJik7
CiAgICAgICAgIEJTdHJpbmcoY29uc3QgS1VSTCYpOwogICAgICAgICBCU3RyaW5nKGNvbnN0IEpT
Qzo6VVN0cmluZyYpOwotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICAgICAgQlN0
cmluZyhDRlN0cmluZ1JlZik7CiAjZW5kaWYKICAgICAgICAgfkJTdHJpbmcoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRVdGlsaXRpZXNXaW4uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAK
aW5kZXggNzdiOTVlZmVkM2ViNGZiOWZjODhmNjE5YjE4OGE3NmQ5NzE1NWI4ZS4uNTEzOTkyZDZi
ZjhlMWIwZTUyZGRjNTY1ZDJhY2NjNGY4Mjk5MDk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL0NsaXBib2FyZFV0aWxpdGllc1dpbi5jcHAKQEAgLTM4LDE0ICsz
OCwxNCBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdDb25jYXRlbmF0ZS5oPgogCi0jaWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQog
I2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIFBMQVRG
T1JNKENGKQorI2lmIFVTRShDRikKIEZPUk1BVEVUQyogY2ZIRHJvcEZvcm1hdCgpCiB7CiAgICAg
c3RhdGljIEZPUk1BVEVUQyB1cmxGb3JtYXQgPSB7Q0ZfSERST1AsIDAsIERWQVNQRUNUX0NPTlRF
TlQsIC0xLCBUWU1FRF9IR0xPQkFMfTsKQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGJvb2wgZ2V0
RGF0YU1hcEl0ZW0oY29uc3QgRHJhZ0RhdGFNYXAqIGRhdGFPYmplY3QsIEZPUk1BVEVUQyogZm9y
bWF0LCBTdHIKIHN0YXRpYyBib29sIGdldFdlYkxvY0RhdGEoSURhdGFPYmplY3QqIGRhdGFPYmpl
Y3QsIFN0cmluZyYgdXJsLCBTdHJpbmcqIHRpdGxlKSAKIHsKICAgICBib29sIHN1Y2NlZWRlZCA9
IGZhbHNlOwotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBXQ0hBUiBmaWxlbmFt
ZVtNQVhfUEFUSF07CiAgICAgV0NIQVIgdXJsQnVmZmVyW0lOVEVSTkVUX01BWF9VUkxfTEVOR1RI
XTsKIApAQCAtMTIzLDcgKzEyMyw3IEBAIGV4aXQ6CiAKIHN0YXRpYyBib29sIGdldFdlYkxvY0Rh
dGEoY29uc3QgRHJhZ0RhdGFNYXAqIGRhdGFPYmplY3QsIFN0cmluZyYgdXJsLCBTdHJpbmcqIHRp
dGxlKSAKIHsKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgV0NIQVIgZmlsZW5h
bWVbTUFYX1BBVEhdOwogICAgIFdDSEFSIHVybEJ1ZmZlcltJTlRFUk5FVF9NQVhfVVJMX0xFTkdU
SF07CiAKQEAgLTM5MCw3ICszOTAsNyBAQCBTdHJpbmcgZ2V0VVJMKElEYXRhT2JqZWN0KiBkYXRh
T2JqZWN0LCBEcmFnRGF0YTo6RmlsZW5hbWVDb252ZXJzaW9uUG9saWN5IGZpbGVuYQogICAgICAg
ICBSZWxlYXNlU3RnTWVkaXVtKCZzdG9yZSk7CiAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlOwogICAg
IH0KLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgZWxzZSBpZiAoZmlsZW5hbWVQ
b2xpY3kgPT0gRHJhZ0RhdGE6OkNvbnZlcnRGaWxlbmFtZXMpIHsKICAgICAgICAgaWYgKFNVQ0NF
RURFRChkYXRhT2JqZWN0LT5HZXREYXRhKGZpbGVuYW1lV0Zvcm1hdCgpLCAmc3RvcmUpKSkgewog
ICAgICAgICAgICAgLy8gZmlsZSB1c2luZyB1bmljb2RlCkBAIC00MzQsNyArNDM0LDcgQEAgU3Ry
aW5nIGdldFVSTChjb25zdCBEcmFnRGF0YU1hcCogZGF0YSwgRHJhZ0RhdGE6OkZpbGVuYW1lQ29u
dmVyc2lvblBvbGljeSBmaWxlbmEKICAgICAgICAgcmV0dXJuIGV4dHJhY3RVUkwodXJsLCB0aXRs
ZSk7CiAgICAgaWYgKGdldERhdGFNYXBJdGVtKGRhdGEsIHVybEZvcm1hdCgpLCB1cmwpKQogICAg
ICAgICByZXR1cm4gZXh0cmFjdFVSTCh1cmwsIHRpdGxlKTsKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ0YpCiAgICAgaWYgKGZpbGVuYW1lUG9saWN5ICE9IERyYWdEYXRhOjpDb252ZXJ0Rmls
ZW5hbWVzKQogICAgICAgICByZXR1cm4gdXJsOwogCkBAIC02NTQsNyArNjU0LDcgQEAgdm9pZCBn
ZXRVdGY4RGF0YShJRGF0YU9iamVjdCogZGF0YSwgRk9STUFURVRDKiBmb3JtYXQsIFZlY3RvcjxT
dHJpbmc+JiBkYXRhU3RyaW4KICAgICBSZWxlYXNlU3RnTWVkaXVtKCZzdG9yZSk7CiB9CiAKLSNp
ZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiB2b2lkIGdldENGRGF0YShJRGF0YU9iamVjdCog
ZGF0YSwgRk9STUFURVRDKiBmb3JtYXQsIFZlY3RvcjxTdHJpbmc+JiBkYXRhU3RyaW5ncykKIHsK
ICAgICBTVEdNRURJVU0gc3RvcmU7CkBAIC03MTAsNyArNzEwLDcgQEAgdm9pZCBzZXRVdGY4RGF0
YShJRGF0YU9iamVjdCogZGF0YSwgRk9STUFURVRDKiBmb3JtYXQsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBkYXQKICAgICA6Okdsb2JhbEZyZWUobWVkaXVtLmhHbG9iYWwpOwogfQogCi0jaWYgUExB
VEZPUk0oQ0YpCisjaWYgVVNFKENGKQogdm9pZCBzZXRDRkRhdGEoSURhdGFPYmplY3QqIGRhdGEs
IEZPUk1BVEVUQyogZm9ybWF0LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZGF0YVN0cmluZ3MpCiB7
CiAgICAgU1RHTUVESVVNIG1lZGl1bSA9IHswfTsKQEAgLTczOCw3ICs3MzgsNyBAQCBzdGF0aWMg
Y29uc3QgQ2xpcGJvYXJkRm9ybWF0TWFwJiBnZXRDbGlwYm9hcmRNYXAoKQogICAgICAgICBmb3Jt
YXRNYXAuYWRkKHRleHRodG1sRm9ybWF0KCktPmNmRm9ybWF0LCBuZXcgQ2xpcGJvYXJkRGF0YUl0
ZW0odGV4dGh0bWxGb3JtYXQoKSwgZ2V0U3RyaW5nRGF0YTxVQ2hhcj4sIHNldFVDaGFyRGF0YSkp
OwogICAgICAgICBmb3JtYXRNYXAuYWRkKHBsYWluVGV4dEZvcm1hdCgpLT5jZkZvcm1hdCwgIG5l
dyBDbGlwYm9hcmREYXRhSXRlbShwbGFpblRleHRGb3JtYXQoKSwgZ2V0U3RyaW5nRGF0YTxjaGFy
Piwgc2V0VXRmOERhdGEpKTsKICAgICAgICAgZm9ybWF0TWFwLmFkZChwbGFpblRleHRXRm9ybWF0
KCktPmNmRm9ybWF0LCAgbmV3IENsaXBib2FyZERhdGFJdGVtKHBsYWluVGV4dFdGb3JtYXQoKSwg
Z2V0U3RyaW5nRGF0YTxVQ2hhcj4sIHNldFVDaGFyRGF0YSkpOwotI2lmIFBMQVRGT1JNKENGKQor
I2lmIFVTRShDRikKICAgICAgICAgZm9ybWF0TWFwLmFkZChjZkhEcm9wRm9ybWF0KCktPmNmRm9y
bWF0LCAgbmV3IENsaXBib2FyZERhdGFJdGVtKGNmSERyb3BGb3JtYXQoKSwgZ2V0Q0ZEYXRhLCBz
ZXRDRkRhdGEpKTsKICNlbmRpZgogICAgICAgICBmb3JtYXRNYXAuYWRkKGZpbGVuYW1lRm9ybWF0
KCktPmNmRm9ybWF0LCAgbmV3IENsaXBib2FyZERhdGFJdGVtKGZpbGVuYW1lRm9ybWF0KCksIGdl
dFN0cmluZ0RhdGE8Y2hhcj4sIHNldFV0ZjhEYXRhKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vQ2xpcGJvYXJkV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9DbGlwYm9hcmRXaW4uY3BwCmluZGV4IGMwYWY3MTIzNGUxNTFiMWE4ZWM4NWUxZWE4
NTc0ZDg2ODQ5M2RiZTguLjc5MWVjODY1MTE0MGQ3N2Y5ZmY4Zjk3MzBkNDdiMmI1MTZjNjkwOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9DbGlwYm9hcmRXaW4uY3BwCkBAIC0z
MTgsNyArMzE4LDcgQEAgc3RhdGljIEhSRVNVTFQgd3JpdGVGaWxlVG9EYXRhT2JqZWN0KElEYXRh
T2JqZWN0KiBkYXRhT2JqZWN0LCBIR0xPQkFMIGZpbGVEZXNjcmkKICAgICBpZiAoRkFJTEVEKGhy
ID0gZGF0YU9iamVjdC0+U2V0RGF0YShmZSwgJm1lZGl1bSwgVFJVRSkpKQogICAgICAgICBnb3Rv
IGV4aXQ7CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiAgICAgLy8gSERST1AKICAg
ICBpZiAoaERyb3BDb250ZW50KSB7CiAgICAgICAgIG1lZGl1bS5oR2xvYmFsID0gaERyb3BDb250
ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1NlYXJjaFBvcHVw
TWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51
V2luLmNwcAppbmRleCA3YWU4MDBiM2I3ZTI3MDY5ZDlkNTBmNzExYTdjYzA2MDRjOWYyYWQ3Li5h
NWNhOWI3NDQ2OTJmMjg3ZjIzZjM0ODE1MGIwOGY2NWUxZmY5NWZlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51V2luLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2VhcmNoUG9wdXBNZW51V2luLmNwcApAQCAtMjMsNyAr
MjMsNyBAQAogCiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CiAKLSNpZiBQTEFU
Rk9STShDRikKKyNpZiBVU0UoQ0YpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlm
CiAKQEAgLTQxLDE0ICs0MSwxNCBAQCBQb3B1cE1lbnUqIFNlYXJjaFBvcHVwTWVudVdpbjo6cG9w
dXBNZW51KCkKIAogYm9vbCBTZWFyY2hQb3B1cE1lbnVXaW46OmVuYWJsZWQoKQogewotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgcmV0
dXJuIGZhbHNlOwogI2VuZGlmCiB9CiAKLSNpZiBQTEFURk9STShDRikKKyNpZiBVU0UoQ0YpCiBz
dGF0aWMgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBhdXRvc2F2ZUtleShjb25zdCBTdHJpbmcmIG5h
bWUpCiB7CiAgICAgU3RyaW5nIGtleSA9ICJjb20uYXBwbGUuV2ViS2l0LnNlYXJjaEZpZWxkOiIg
KyBuYW1lOwpAQCAtNjEsNyArNjEsNyBAQCB2b2lkIFNlYXJjaFBvcHVwTWVudVdpbjo6c2F2ZVJl
Y2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgY29uc3QgVmVjdAogICAgIGlm
IChuYW1lLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0jaWYgUExBVEZPUk0oQ0YpCisj
aWYgVVNFKENGKQogICAgIFJldGFpblB0cjxDRk11dGFibGVBcnJheVJlZj4gaXRlbXM7CiAKICAg
ICBzaXplX3Qgc2l6ZSA9IHNlYXJjaEl0ZW1zLnNpemUoKTsKQEAgLTgzLDcgKzgzLDcgQEAgdm9p
ZCBTZWFyY2hQb3B1cE1lbnVXaW46OmxvYWRSZWNlbnRTZWFyY2hlcyhjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWUsIFZlY3RvcjxTdHIKICAgICBpZiAobmFtZS5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybjsKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBzZWFyY2hJdGVtcy5j
bGVhcigpOwogICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBpdGVtcyhBZG9wdENGLCByZWludGVy
cHJldF9jYXN0PENGQXJyYXlSZWY+KENGUHJlZmVyZW5jZXNDb3B5QXBwVmFsdWUoYXV0b3NhdmVL
ZXkobmFtZSkuZ2V0KCksIGtDRlByZWZlcmVuY2VzQ3VycmVudEFwcGxpY2F0aW9uKSkpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2NmL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2Yv
Q2hhbmdlTG9nCmluZGV4IGI0MTg1NDAwNTg0MTQwOTQ4MjJlYjNlMTA3MTZmZTRmNDJiOWMwMjYu
Ljc2YzE2Y2JkMGQwY2YwM2Q0M2YwZWQ3ZjEzNWNlMWJmZjU0Nzc3YmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2YvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2YvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDItMjIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dh
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgUmVuYW1lIFBMQVRGT1JNKENGKSB0byBVU0UoQ0YpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU0MAorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yQ2xpZW50Q0YuY3BwOgorCiAyMDExLTAyLTAzICBZdXJ5IFNlbWlraGF0
c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZl
bGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2NmL1dlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudENGLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2YvV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50Q0YuY3BwCmluZGV4IGI5YWZhMWFjMzUzMWZjMzUzMDQ4N2JlMTM5ZWMy
M2QyNDc0YzJjMzMuLjdmZTdlNWZmNzAxNTgzNTc5ZGU1ZjI4ZTk0MTZiNWI3YjhjYzcwZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2YvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50Q0YuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2YvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50Q0YuY3BwCkBAIC0yNSwxMiArMjUsMTIgQEAKIAogLy8gRklYTUU6IE9uIFdpbmRv
d3MsIHdlIHJlcXVpcmUgYWxsIFdlYktpdCBzb3VyY2UgZmlsZXMgdG8gaW5jbHVkZSBjb25maWcu
aAogLy8gYmVmb3JlIGluY2x1ZGluZyBhbnkgb3RoZXIgZmlsZXMuIEZhaWxpbmcgdG8gaW5jbHVk
ZSBjb25maWcuaCB3aWxsIGxlYXZlCi0vLyBXVEZfUExBVEZPUk1fQ0YgYW5kIFdURl9VU0VfSlND
IHVuZGVmaW5lZCwgY2F1c2luZyBidWlsZCBmYWlsdXJlcyBpbiB0aGlzIAorLy8gV1RGX1VTRV9D
RiBhbmQgV1RGX1VTRV9KU0MgdW5kZWZpbmVkLCBjYXVzaW5nIGJ1aWxkIGZhaWx1cmVzIGluIHRo
aXMgCiAvLyBmaWxlLiBCdXQgTWFjIGRvZXNuJ3QgaGF2ZSBhIGNvbmZpZy5oIGZvciBXZWJLaXQs
IHNvIHdlIGNhbid0IGluY2x1ZGUgdGhlIAotLy8gV2luZG93cyBvbmUgaGVyZS4gRm9yIG5vdyB3
ZSBjYW4ganVzdCBkZWZpbmUgV1RGX1BMQVRGT1JNX0NGLCAgV1RGX1VTRV9KU0MsIGFuZAorLy8g
V2luZG93cyBvbmUgaGVyZS4gRm9yIG5vdyB3ZSBjYW4ganVzdCBkZWZpbmUgV1RGX1VTRV9DRiwg
IFdURl9VU0VfSlNDLCBhbmQKIC8vIFdURl9VU0VfQ0ZORVRXT1JLIG1hbnVhbGx5LCBidXQgd2Ug
bmVlZCBhIGJldHRlciBsb25nLXRlcm0gc29sdXRpb24uCi0jaWZuZGVmIFdURl9QTEFURk9STV9D
RgotI2RlZmluZSBXVEZfUExBVEZPUk1fQ0YgMQorI2lmbmRlZiBXVEZfVVNFX0NGCisjZGVmaW5l
IFdURl9VU0VfQ0YgMQogI2VuZGlmCiAKICNpZm5kZWYgV1RGX1VTRV9KU0MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZwppbmRleCAxMWU2YjMzNzVmM2Q4YzU0YTZhYmFlMGYzMDExM2NkMTg0YThjYmVmLi4xYjc4Mzll
NjM5MTAyZTUzNmE2MzQ4N2VkZDc0MmQ3YTRjOWY5M2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMTEtMDItMjIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUmVu
YW1lIFBMQVRGT1JNKENGKSB0byBVU0UoQ0YpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01MzU0MAorCisgICAgICAgICogV2ViVmlldy5jcHA6CisKIDIw
MTEtMDItMjIgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3Bw
CmluZGV4IGI1YWU5MmNjNDE3MTU0ZTEyYTNlMjRmZjRiMTViMmMwMmU5NTk5NjIuLjk2NjM1MDdj
MWFjMzQ5YWM2NDUwYTk3YWUxNTAyMTk2MmUwOGJmZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCkBA
IC0xNDAsNyArMTQwLDcgQEAKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ0dDb250ZXh0Lmg+CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKENGKQorI2lmIFVTRShDRikKICNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzNjVlM2Ix
ZTY5NWUzZWY2ZDI1ODExOTZkNjhmMjAxZjkxZmExM2Q3Li44NzAzZDZlNjIzOTYxMTdjODQ0MDEx
MGU5OTE3OTcyNzcwNTcwNzYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDIt
MjIgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUmVuYW1lIFBMQVRGT1JNKENGKSB0byBV
U0UoQ0YpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MzU0MAorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Zm9ybWF0TG9jYWxpemVkU3RyaW5nKToKKwogMjAxMS0wMi0yMiAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgogCiAgICAgICAgIExMVk0gQ29tcGlsZXIgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCmluZGV4IDMzNzY3NzFm
ZTg4MDYxZDg0ODU4ZDU3ZjExZjY2MDg3ZjY5NDg4NzYuLmVhZDBmY2EwNmE0NjI5MzIxYzVjZDBk
OWFiYzI4NzAwMDUwMDQyNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJCYWNrRm9yd2FyZExpc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFj
a0ZvcndhcmRMaXN0LmgKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0j
aWYgUExBVEZPUk0oQ0YpCisjaWYgVVNFKENGKQogI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NG
RGljdGlvbmFyeS5oPgogI2VuZGlmCiAKQEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIFBh
c3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGJhY2tMaXN0QXNJbW11dGFibGVBcnJheVdpdGhMaW1p
dCh1bnNpZ25lZCBsaW1pdCk7CiAgICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gZm9yd2Fy
ZExpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KTsKIAotI2lmIFBM
QVRGT1JNKENGKQorI2lmIFVTRShDRikKICAgICBDRkRpY3Rpb25hcnlSZWYgY3JlYXRlQ0ZEaWN0
aW9uYXJ5UmVwcmVzZW50YXRpb24oV2ViUGFnZVByb3h5OjpXZWJQYWdlUHJveHlTZXNzaW9uU3Rh
dGVGaWx0ZXJDYWxsYmFjaywgdm9pZCogY29udGV4dCkgY29uc3Q7CiAgICAgYm9vbCByZXN0b3Jl
RnJvbUNGRGljdGlvbmFyeVJlcHJlc2VudGF0aW9uKENGRGljdGlvbmFyeVJlZik7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTFkNDY2MDY3
YjRjYjk5YjJiZWQxOTllZjI3ZTIwMjgyMmRkODgxNC4uZDQzMjZhOWU2ZmM4ZTA4MmY1MmM3MmY1
MDkwNjRkNWYxZTJiNjYxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKQEAgLTk2MCw3ICs5NjAsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6dGVybWluYXRlUHJv
Y2VzcygpCiAgICAgcHJvY2VzcygpLT50ZXJtaW5hdGUoKTsKIH0KIAotI2lmICFQTEFURk9STShD
RikgfHwgZGVmaW5lZChCVUlMRElOR19RVF9fKQorI2lmICFVU0UoQ0YpIHx8IGRlZmluZWQoQlVJ
TERJTkdfUVRfXykKIFBhc3NSZWZQdHI8V2ViRGF0YT4gV2ViUGFnZVByb3h5OjpzZXNzaW9uU3Rh
dGVEYXRhKFdlYlBhZ2VQcm94eVNlc3Npb25TdGF0ZUZpbHRlckNhbGxiYWNrLCB2b2lkKiBjb250
ZXh0KSBjb25zdAogewogICAgIC8vIEZJWE1FOiBSZXR1cm4gc2Vzc2lvbiBzdGF0ZSBkYXRhIGZv
ciBzYXZpbmcgUGFnZSBzdGF0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApp
bmRleCA4YTNjMzc3NzFhZmY1MzUwYzJkYjU3Mjg1ODAxY2U2NTA1Yjg3ZTM4Li5hNGU3NWUyMGVi
OGRhNzE1YzZjNTFlYzk5ZWY2MGIwN2MzMDRhZmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLSNpZiBQTEFURk9STShDRikKKyNp
ZiBVU0UoQ0YpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2VuZGlmCiAKQEAgLTU3LDcg
KzU3LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAvLyB0eXBlIGFjY29yZGluZyB0byBzZWN0aW9u
IDE4LjcvMyBvZiB0aGUgQysrIE4xOTA1IHN0YW5kYXJkLgogc3RhdGljIFN0cmluZyBmb3JtYXRM
b2NhbGl6ZWRTdHJpbmcoU3RyaW5nIGZvcm1hdCwgLi4uKQogewotI2lmIFBMQVRGT1JNKENGKQor
I2lmIFVTRShDRikKICAgICB2YV9saXN0IGFyZ3VtZW50czsKICAgICB2YV9zdGFydChhcmd1bWVu
dHMsIGZvcm1hdCk7CiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBmb3JtYXRDRlN0cmluZyhB
ZG9wdENGLCBmb3JtYXQuY3JlYXRlQ0ZTdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGZiMzc4NTVlZmViZDk2OTk2ZmY1ZTI2MjI5
YmVlYWY2MDA4MTEyOC4uMDRiZWRmODczMGJiZjk1Nzc0MjhjY2QzODRkYzg5MjBkMjc1N2I3MCAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDExLTAyLTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFJlbmFt
ZSBQTEFURk9STShDRikgdG8gVVNFKENGKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTM1NDAKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2NvbmZp
Zy5oOgorCiAyMDExLTAyLTIyICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jb25maWcuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2NvbmZpZy5o
CmluZGV4IDU1ZTJkYzE3ZmFlMGNjODE3OTdkYjliZWY0NWU0YmZmYWI5YWY3ZGMuLjM1MWEyYjEz
YWY2NmE3ZDdkMzkyMzk3YTU1OWIwYWM0ZGRkOGJlMTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2NvbmZpZy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2NvbmZpZy5oCkBA
IC00MSw3ICs0MSw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgV1RG
X1BMQVRGT1JNX0NGIDEKKyNkZWZpbmUgV1RGX1VTRV9DRiAxCiAKICNpZiAhZGVmaW5lZChNQUNf
T1NfWF9WRVJTSU9OXzEwXzUpIHx8IE1BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPCBNQUNf
T1NfWF9WRVJTSU9OXzEwXzUKICNkZWZpbmUgQlVJTERJTkdfT05fVElHRVIgMQpAQCAtNTMsNyAr
NTMsNyBAQAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogI2lmIFBMQVRGT1JNKFdJTikKLSNk
ZWZpbmUgV1RGX1BMQVRGT1JNX0NGIDEgCisjZGVmaW5lIFdURl9VU0VfQ0YgMSAKICNpZiBkZWZp
bmVkKFdJTl9DQUlSTykKICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NBSVJPIDEKICNkZWZpbmUgV1RG
X1VTRV9DVVJMIDEK
</data>

          </attachment>
      

    </bug>

</bugzilla>