<?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>126094</bug_id>
          
          <creation_ts>2013-12-20 16:16:49 -0800</creation_ts>
          <short_desc>Change &quot;threaded scrolling&quot; terminology to &quot;asynchronous scrolling&quot;</short_desc>
          <delta_ts>2013-12-21 14:26:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>962101</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-20 16:16:49 -0800</bug_when>
    <thetext>Change &quot;threaded scrolling&quot; terminology to &quot;asynchronous scrolling&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962103</commentid>
    <comment_count>1</comment_count>
      <attachid>219809</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-20 16:24:06 -0800</bug_when>
    <thetext>Created attachment 219809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962104</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-20 16:32:45 -0800</bug_when>
    <thetext>https://trac.webkit.org/r160944</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962226</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-21 02:36:48 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; https://trac.webkit.org/r160944

FYI: It broke the Apple Windows build.

     1&gt;WebKit.exp : error LNK2001: unresolved external symbol &quot;public: class WTF::String __thiscall WebCore::Page::mainThreadScrollingReasonsAsText(void)&quot; (?mainThreadScrollingReasonsAsText@Page@WebCore@@QAE?AVString@WTF@@XZ)
     1&gt;C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\bin32\WebKit.dll : fatal error LNK1120: 1 unresolved externals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962229</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-21 02:53:07 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; https://trac.webkit.org/r160944
&gt; 
&gt; FYI: It broke the Apple Windows build.
&gt; 
&gt;      1&gt;WebKit.exp : error LNK2001: unresolved external symbol &quot;public: class WTF::String __thiscall WebCore::Page::mainThreadScrollingReasonsAsText(void)&quot; (?mainThreadScrollingReasonsAsText@Page@WebCore@@QAE?AVString@WTF@@XZ)
&gt;      1&gt;C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\bin32\WebKit.dll : fatal error LNK1120: 1 unresolved externals

Didn&apos;t that get fixed in http://trac.webkit.org/changeset/160948?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962274</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-21 14:26:46 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; https://trac.webkit.org/r160944
&gt; &gt; 
&gt; &gt; FYI: It broke the Apple Windows build.
&gt; &gt; 
&gt; &gt;      1&gt;WebKit.exp : error LNK2001: unresolved external symbol &quot;public: class WTF::String __thiscall WebCore::Page::mainThreadScrollingReasonsAsText(void)&quot; (?mainThreadScrollingReasonsAsText@Page@WebCore@@QAE?AVString@WTF@@XZ)
&gt; &gt;      1&gt;C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\bin32\WebKit.dll : fatal error LNK1120: 1 unresolved externals
&gt; 
&gt; Didn&apos;t that get fixed in http://trac.webkit.org/changeset/160948?

Maybe yes ... but it seems r160944 broke the Windows build again:
https://bugs.webkit.org/show_bug.cgi?id=126082#c8</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219809</attachid>
            <date>2013-12-20 16:24:06 -0800</date>
            <delta_ts>2013-12-20 16:27:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126094-20131220162405.patch</filename>
            <type>text/plain</type>
            <size>73568</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwOTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM1MWYyZTQ2ZDRhZjQ5MzMzYjY1ODFi
YTE3NTg2NTgyNTQwZDYzNGUuLmQ1YTc3NWY5M2QyYmY1NzhlNjFkNGY1ZDA2MjU2NDhiNDViYzdl
NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMTItMjAgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlICJ0aHJlYWRlZCBzY3JvbGxpbmci
IHRlcm1pbm9sb2d5IHRvICJhc3luY2hyb25vdXMgc2Nyb2xsaW5nIgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2MDk0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIEVOQUJMRV9USFJFQURFRF9T
Q1JPTExJTkcgdG8gRU5BQkxFX0FTWU5DX1NDUk9MTElORy4KKworICAgICAgICAqIHd0Zi9GZWF0
dXJlRGVmaW5lcy5oOgorCiAyMDEzLTEyLTIwICBUYW1hcyBHZXJnZWx5ICA8dGdlcmdlbHkudS1z
emVnZWRAcGFydG5lci5zYW1zdW5nLmNvbT4KIAogICAgICAgICBCdWlsZCBmYWlscyBpbiBkZWJ1
ZyBtb2RlIGFmdGVyIHIxNjA4MzQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdmZGJjOTI3ZTcyMGE0ZWQ2YzQz
NWU1YmI1Nzg1ZDU5Nzg3MmI5Mi4uZGMwZjljODdjZDA3NmMyYzA3NmY0M2I4ZDAwZGY1ZTU4ZTU4
MzAwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDEzLTEyLTIwICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIENoYW5nZSAidGhyZWFkZWQg
c2Nyb2xsaW5nIiB0ZXJtaW5vbG9neSB0byAiYXN5bmNocm9ub3VzIHNjcm9sbGluZyIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjA5NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBFTkFCTEVf
VEhSRUFERURfU0NST0xMSU5HIHRvIEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcsIGFuZCBjaGFuZ2UK
KyAgICAgICAgcmVmZXJlbmNlcyB0byAibWFpbiB0aHJlYWQgc2Nyb2xsaW5nIiB0byAic3luY2hy
b25vdXMgc2Nyb2xsaW5nIi4KKyAgICAgICAgCisgICAgICAgIEluIGEgZmV3IHBsYWNlcywgZnVu
Y3Rpb25zIHdpdGggbmFtZXMgbGlrZSBzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25N
YWluVGhyZWFkKCkKKyAgICAgICAgd2VyZSBhY3R1YWxseSByZXR1cm5pbmcgU3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zLCBzbyByZW5hbWUgdGhlbSBhcHByb3ByaWF0ZWx5LgorCisgICAgICAg
ICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaG91bGRVcGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVy
U2Nyb2xsaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6aXNSdWJiZXJCYW5kSW5Q
cm9ncmVzcyk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlcXVlc3RTY3JvbGxQb3Np
dGlvblVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnVwZGF0ZXNTY3JvbGxM
YXllclBvc2l0aW9uT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
d2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6OnN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCk6CisgICAgICAgICogcGFn
ZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6U2Nyb2xsaW5nQ29vcmRpbmF0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmlld0hh
c1Nsb3dSZXBhaW50T2JqZWN0c0RpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Rml4ZWRPYmplY3RzRGlkQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN5bmNocm9ub3Vz
U2Nyb2xsaW5nUmVhc29ucyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRv
cjo6dXBkYXRlU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRGb3JjZVN5bmNocm9ub3VzU2Nyb2xsTGF5ZXJQb3Np
dGlvblVwZGF0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN5
bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nv
b3JkaW5hdG9yOjpzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0U3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZUZpeGVkTm9kZS5jcHA6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUu
Y3BwOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0
YXRlU2Nyb2xsaW5nTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGU6OnNldFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OmR1bXBQcm9wZXJ0aWVzKToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuaDogQXdrd2Fy
ZCAiUmVhc29uc0ZvclN5bmNocm9ub3VzU2Nyb2xsaW5nIiB0byBhdm9pZAorICAgICAgICBjb25m
bGljdCB3aXRoIHRoZSBlbnVtIGNhbGxlZCBTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMuCisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDoKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaDoKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RocmVhZC5jcHA6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVGhyZWFkLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmNwcDoKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4p
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmg6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6c3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlOjpzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSk6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmg6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1t
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNldFN5bmNocm9u
b3VzU2Nyb2xsaW5nUmVhc29ucyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvck1hYzo6Y29tbWl0VHJlZVN0YXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nU3RhdGVOb2RlTWFjLm1tOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RocmVhZE1hYy5tbToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjp1cGRhdGVCZWZvcmVDaGlsZHJlbik6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYzo6c2Nyb2xs
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVN
YWM6OnNldFNjcm9sbFBvc2l0aW9uV2l0aG91dENvbnRlbnRFZGdlQ29uc3RyYWludHMpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWM6OnNldFNjcm9sbExh
eWVyUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6bG9nVGhyZWFkZWRTY3JvbGxpbmdNb2Rl
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
aDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUu
bW06CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhcjo6c3VwcG9ydHNVcGRhdGVPblNlY29uZGFyeVRocmVhZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY2EvbWFjL1RpbGVDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNv
bnRyb2xsZXI6OlRpbGVDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVDb250cm9s
bGVyOjp1cGRhdGVUaWxlQ292ZXJhZ2VNYXApOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXI6OnJlbGVhc2VNZW1vcnkpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2V0dXBGb250U3VicGl4ZWxR
dWFudGl6YXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0ZVRpbGVDb3ZlcmFnZSk6CisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjptYWluVGhy
ZWFkU2Nyb2xsaW5nUmVhc29ucyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgor
CiAyMDEzLTEyLTIwICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBDcmFzaGVzIGluIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OmNvbXB1dGVBY2Nlc3NpYmls
aXR5SXNJZ25vcmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2ZDIxNGMzMjdiMjBiM2I5ODQ3YTUwMTkxNTM2
OTg5YTBmODFmZjI3Li5kMzE1MWY0ZTAxZWUyMmU2ODI0MGRiYjMyZDVmMDZhOWI5N2ZiY2FjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTMtMTItMjAgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlICJ0aHJlYWRlZCBzY3JvbGxp
bmciIHRlcm1pbm9sb2d5IHRvICJhc3luY2hyb25vdXMgc2Nyb2xsaW5nIgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2MDk0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBSZW5hbWUgRU5BQkxF
X1RIUkVBREVEX1NDUk9MTElORyB0byBFTkFCTEVfQVNZTkNfU0NST0xMSU5HLCBhbmQgY2hhbmdl
CisgICAgICAgIHJlZmVyZW5jZXMgdG8gIm1haW4gdGhyZWFkIHNjcm9sbGluZyIgdG8gInN5bmNo
cm9ub3VzIHNjcm9sbGluZyIuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnRE
aXNwYXRjaGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RXZlbnREaXNwYXRjaGVyOjp3aGVlbEV2
ZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6fldlYlBhZ2Up
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhOjpkaWRJbnN0YWxsUGFnZU92ZXJsYXkpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYTo6ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkpOgorICAgICAgICAo
V2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlUHJlZmVyZW5jZXMp
OgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6ZGlzcGF0
Y2hBZnRlckVuc3VyaW5nVXBkYXRlZFNjcm9sbFBvc2l0aW9uKToKKwogMjAxMy0xMi0yMCAgRW5y
aXF1ZSBPY2HDsWEgR29uesOhbGV6ICA8ZW9jYW5oYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtH
VEtdIFRoZSBmdWxsc2NyZWVuIEFQSSBzaG91bGQgYmUgZW5hYmxlZCBieSBkZWZhdWx0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaAppbmRleCBlOTg3NDcyOGEyYTJlNjAzMGU5M2U4ZDFmZjAzOGJkM2Mw
MzdmZWE0Li44YTZmYTUzNmY0ZTA2YzJiMmQ3MTQyNzRhMWVhZmQ2MWY1M2Q1ZmI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE5OCw4ICsxOTgsOCBAQAogI2RlZmluZSBFTkFCTEVfU01P
T1RIX1NDUk9MTElORyAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9USFJFQURFRF9T
Q1JPTExJTkcpCi0jZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JPTExJTkcgMQorI2lmICFkZWZp
bmVkKEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcpCisjZGVmaW5lIEVOQUJMRV9BU1lOQ19TQ1JPTExJ
TkcgMQogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU8pCkBAIC04MDQsOCArODA0LDggQEAKICNk
ZWZpbmUgRU5BQkxFX1RIUkVBREVEX0hUTUxfUEFSU0VSIDAKICNlbmRpZgogCi0jaWYgIWRlZmlu
ZWQoRU5BQkxFX1RIUkVBREVEX1NDUk9MTElORykKLSNkZWZpbmUgRU5BQkxFX1RIUkVBREVEX1ND
Uk9MTElORyAwCisjaWYgIWRlZmluZWQoRU5BQkxFX0FTWU5DX1NDUk9MTElORykKKyNkZWZpbmUg
RU5BQkxFX0FTWU5DX1NDUk9MTElORyAwCiAjZW5kaWYKIAogI2lmICFkZWZpbmVkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDVkNmQ1NDEyZWNlNjYyMzkyMWQx
NjgwMTExNjg0YWQ5ZjYxZjJlZWIuLmExMDE5YTk5Zjk2OGYzMGNjMmY2NDUzYjhhYTA2NzViOWEy
YTNkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC05OTQsNyArOTk0LDcgQEAgX19aTjdXZWJD
b3JlNFBhZ2UyNHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEV2CiBfX1pON1dlYkNvcmU0UGFnZTI1
c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9uc0V2CiBfX1pON1dlYkNvcmU0UGFnZTMxc2V0Q3VzdG9t
SFRNTFRva2VuaXplckNodW5rU2l6ZUVpCiBfX1pON1dlYkNvcmU0UGFnZTMxc2V0Q3VzdG9tSFRN
TFRva2VuaXplclRpbWVEZWxheUVkCi1fX1pON1dlYkNvcmU0UGFnZTMybWFpblRocmVhZFNjcm9s
bGluZ1JlYXNvbnNBc1RleHRFdgorX19aTjdXZWJDb3JlNFBhZ2UzM3N5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29uc0FzVGV4dEV2CiBfX1pON1dlYkNvcmU0UGFnZTMyc2V0TWVtb3J5Q2FjaGVDbGll
bnRDYWxsc0VuYWJsZWRFYgogX19aTjdXZWJDb3JlNFBhZ2UzNXJlc3VtZUFjdGl2ZURPTU9iamVj
dHNBbmRBbmltYXRpb25zRXYKIF9fWk43V2ViQ29yZTRQYWdlMzZzZXRTaG91bGRTdXBwcmVzc1Nj
cm9sbGJhckFuaW1hdGlvbnNFYgpAQCAtMjg1OCwxNCArMjg1OCwxNCBAQCBfX1pON1dlYkNvcmU4
RG9jdW1lbnQxM3N2Z0V4dGVuc2lvbnNFdgogX19aTjdXZWJDb3JlOERvY3VtZW50MTlhY2Nlc3NT
VkdFeHRlbnNpb25zRXYKICNlbmRpZgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykK
KyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogX19aTjdXZWJDb3JlMTNTY3JvbGxpbmdUcmVl
MjFzZXRDYW5SdWJiZXJCYW5kU3RhdGVFYmJiYgogX19aTjdXZWJDb3JlMTNTY3JvbGxpbmdUcmVl
MjF0cnlUb0hhbmRsZVdoZWVsRXZlbnRFUktOU18xOFBsYXRmb3JtV2hlZWxFdmVudEUKIF9fWk43
V2ViQ29yZTEzU2Nyb2xsaW5nVHJlZTM3c2V0U2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5h
YmxlZEViCiBfX1pON1dlYkNvcmUxM1Njcm9sbGluZ1RyZWVEMUV2CiBfX1pON1dlYkNvcmUxNVNj
cm9sbGluZ1RocmVhZDE1ZGlzcGF0Y2hCYXJyaWVyRVJLTjNXVEY4RnVuY3Rpb25JRnZ2RUVFCiBf
X1pON1dlYkNvcmUxNVNjcm9sbGluZ1RocmVhZDhkaXNwYXRjaEVSS04zV1RGOEZ1bmN0aW9uSUZ2
dkVFRQotX19aTjdXZWJDb3JlMjBTY3JvbGxpbmdDb29yZGluYXRvcjQ0c2V0Rm9yY2VNYWluVGhy
ZWFkU2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXNFYgorX19aTjdXZWJDb3JlMjBTY3JvbGxpbmdD
b29yZGluYXRvcjQ1c2V0Rm9yY2VTeW5jaHJvbm91c1Njcm9sbExheWVyUG9zaXRpb25VcGRhdGVz
RWIKIF9fWk43V2ViQ29yZTRQYWdlMjBzY3JvbGxpbmdDb29yZGluYXRvckV2CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDAwZjVkMWFjYTNjMjU1YzczN2RlOGVkMDdm
MzkwYTdlZmM3YTA4YjQuLjFmZTJmMmUxZTY5ZGM3NzUyN2JiMjNlNmFhZjdhZTkwNjU0OWI2MDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTE5NzQsNyArMTk3NCw3IEBAIHZvaWQg
RnJhbWVWaWV3Ojp1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsaW5nKCkKIAogYm9vbCBG
cmFtZVZpZXc6OnNob3VsZFVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGxpbmcoKSBj
b25zdAogewotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKEFTWU5D
X1NDUk9MTElORykKICAgICAvLyBJZiB0aGUgc2Nyb2xsaW5nIHRocmVhZCBpcyB1cGRhdGluZyB0
aGUgZml4ZWQgZWxlbWVudHMsIHRoZW4gdGhlIEZyYW1lVmlldyBzaG91bGQgbm90IHVwZGF0ZSB0
aGVtIGFzIHdlbGwuCiAKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5wYWdlKCk7CkBAIC0xOTkx
LDcgKzE5OTEsNyBAQCBib29sIEZyYW1lVmlldzo6c2hvdWxkVXBkYXRlQ29tcG9zaXRpbmdMYXll
cnNBZnRlclNjcm9sbGluZygpIGNvbnN0CiAgICAgaWYgKCFzY3JvbGxpbmdDb29yZGluYXRvci0+
c3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJzKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0g
ICAgaWYgKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0
aW9uT25NYWluVGhyZWFkKCkpCisgICAgaWYgKHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zaG91bGRV
cGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogICAgIGlmIChpblByb2dyYW1tYXRpY1Njcm9sbCgpKQpAQCAtMjAyNCw3ICsyMDI0
LDcgQEAgYm9vbCBGcmFtZVZpZXc6OmlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdAogICAg
IC8vIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjppc1J1YmJlckJhbmRJblByb2dyZXNzKCkuCiAgICAg
aWYgKFBhZ2UqIHBhZ2UgPSBmcmFtZSgpLnBhZ2UoKSkgewogICAgICAgICBpZiAoU2Nyb2xsaW5n
Q29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRp
bmF0b3IoKSkgewotICAgICAgICAgICAgaWYgKCFzY3JvbGxpbmdDb29yZGluYXRvci0+c2hvdWxk
VXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZCgpKQorICAgICAgICAgICAgaWYg
KCFzY3JvbGxpbmdDb29yZGluYXRvci0+c2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvblN5
bmNocm9ub3VzbHkoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPmlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKTsKICAgICAgICAgfQogICAgIH0KQEAgLTIwMzks
NyArMjAzOSw3IEBAIGJvb2wgRnJhbWVWaWV3Ojppc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29u
c3QKIAogYm9vbCBGcmFtZVZpZXc6OnJlcXVlc3RTY3JvbGxQb3NpdGlvblVwZGF0ZShjb25zdCBJ
bnRQb2ludCYgcG9zaXRpb24pCiB7Ci0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNp
ZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogICAgIGlmIChUaWxlZEJhY2tpbmcqIHRpbGVkQmFj
a2luZyA9IHRoaXMtPnRpbGVkQmFja2luZygpKSB7CiAgICAgICAgIEludFJlY3QgdmlzaWJsZVJl
Y3QgPSB2aXNpYmxlQ29udGVudFJlY3QoKTsKICAgICAgICAgdmlzaWJsZVJlY3Quc2V0TG9jYXRp
b24ocG9zaXRpb24pOwpAQCAtMjk4OSw3ICsyOTg5LDcgQEAgYm9vbCBGcmFtZVZpZXc6OnVwZGF0
ZXNTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkgY29uc3QKIHsKICAgICBpZiAoUGFn
ZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7CiAgICAgICAgIGlmIChTY3JvbGxpbmdDb29yZGlu
YXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5zY3JvbGxpbmdDb29yZGluYXRvcigp
KQotICAgICAgICAgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zaG91bGRVcGRhdGVT
Y3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCk7CisgICAgICAgICAgICByZXR1cm4gc2Ny
b2xsaW5nQ29vcmRpbmF0b3ItPnNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25TeW5jaHJv
bm91c2x5KCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CkBAIC00MDAzLDcgKzQwMDMsNyBA
QCBib29sIEZyYW1lVmlldzo6d2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdo
ZWVsRXZlbnQpCiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKEFTWU5DX1ND
Uk9MTElORykKICAgICBpZiAoUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpKSB7CiAgICAgICAg
IGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSBwYWdlLT5z
Y3JvbGxpbmdDb29yZGluYXRvcigpKSB7CiAgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nQ29vcmRp
bmF0b3ItPmNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJhbWVWaWV3KHRoaXMpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKaW5kZXggOGNmMDVkZGI5ODk3ZmYxNjc1N2QwNTMwNDRhNGZlYWI2MzY5Mjg2OS4uZmNm
YjA1Y2Q0OWY3ZDRkODBkMGFkMjY0NGRmMGExNzEyM2FlMGRiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CkBAIC0yNzksMTMgKzI3OSwxMyBAQCBTdHJpbmcgUGFnZTo6c2Nyb2xsaW5nU3RhdGVUcmVlQXNU
ZXh0KCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKLVN0cmluZyBQYWdlOjptYWluVGhyZWFk
U2Nyb2xsaW5nUmVhc29uc0FzVGV4dCgpCitTdHJpbmcgUGFnZTo6c3luY2hyb25vdXNTY3JvbGxp
bmdSZWFzb25zQXNUZXh0KCkKIHsKICAgICBpZiAoRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9tYWlu
RnJhbWUtPmRvY3VtZW50KCkpCiAgICAgICAgIGRvY3VtZW50LT51cGRhdGVMYXlvdXQoKTsKIAog
ICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IgPSB0aGlz
LT5zY3JvbGxpbmdDb29yZGluYXRvcigpKQotICAgICAgICByZXR1cm4gc2Nyb2xsaW5nQ29vcmRp
bmF0b3ItPm1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KCk7CisgICAgICAgIHJldHVy
biBzY3JvbGxpbmdDb29yZGluYXRvci0+c3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0
KCk7CiAKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGU2MDFkMDg0
YjIxZTBhZmRhNTIyMDA3MjcxNTE1OTM2ODU5YzIwNjUuLjg3ZDBkNGE5NmU5Yzc2ZjRmODQ3NjEy
YjFiNjU1MDVhZDI2NDI1NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC0yMDYsNyArMjA2LDcgQEAgcHVi
bGljOgogICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcigpOwog
CiAgICAgU3RyaW5nIHNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpOwotICAgIFN0cmluZyBtYWlu
VGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCgpOworICAgIFN0cmluZyBzeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnNBc1RleHQoKTsKICAgICBQYXNzUmVmUHRyPENsaWVudFJlY3RMaXN0PiBu
b25GYXN0U2Nyb2xsYWJsZVJlY3RzKGNvbnN0IEZyYW1lKik7CiAKICAgICBTZXR0aW5ncyYgc2V0
dGluZ3MoKSBjb25zdCB7IHJldHVybiAqbV9zZXR0aW5nczsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IDM1
YWQxYTg2ZmJmY2VkZmUwZjc5ZWFkYmM5ZjgzYjU0NjZhMDA2OGYuLmIzYTkzOWJkNjMwNjc0YzQ0
MzllNzczYTRlNmE4NzIyNjEwN2IxNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAK
ICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogI2luY2x1
ZGUgIlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmgiCiAjZW5kaWYKIApAQCAtNjEsNyArNjEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFnZSogcGFnZSkKIHsKLSNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpICYmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKSAmJiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQog
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMocGFnZSkpOwog
I2VuZGlmCiAKQEAgLTgxLDcgKzgxLDcgQEAgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX3VwZGF0ZU1haW5GcmFtZVNjcm9sbFBv
c2l0aW9uVGltZXIodGhpcywgJlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVNYWluRnJhbWVT
Y3JvbGxQb3NpdGlvblRpbWVyRmlyZWQpCiAgICAgLCBtX3NjaGVkdWxlZFVwZGF0ZUlzUHJvZ3Jh
bW1hdGljU2Nyb2xsKGZhbHNlKQogICAgICwgbV9zY2hlZHVsZWRTY3JvbGxpbmdMYXllclBvc2l0
aW9uQWN0aW9uKFN5bmNTY3JvbGxpbmdMYXllclBvc2l0aW9uKQotICAgICwgbV9mb3JjZU1haW5U
aHJlYWRTY3JvbGxMYXllclBvc2l0aW9uVXBkYXRlcyhmYWxzZSkKKyAgICAsIG1fZm9yY2VTeW5j
aHJvbm91c1Njcm9sbExheWVyUG9zaXRpb25VcGRhdGVzKGZhbHNlKQogewogfQogCkBAIC0xODIs
NyArMTgyLDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3SGFzU2xvd1Jl
cGFpbnRPYmplY3RzRGlkQ2hhbmdlKEZyYW1lVmlldyogZnIKICAgICBpZiAoIWNvb3JkaW5hdGVz
U2Nyb2xsaW5nRm9yRnJhbWVWaWV3KGZyYW1lVmlldykpCiAgICAgICAgIHJldHVybjsKIAotICAg
IHVwZGF0ZVNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQoKTsKKyAg
ICB1cGRhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKTsKIH0KIAogdm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3Rml4ZWRPYmplY3RzRGlkQ2hhbmdlKEZyYW1lVmlldyog
ZnJhbWVWaWV3KQpAQCAtMTkzLDcgKzE5Myw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OmZyYW1lVmlld0ZpeGVkT2JqZWN0c0RpZENoYW5nZShGcmFtZVZpZXcqIGZyYW1lVmlldykKICAg
ICBpZiAoIWNvb3JkaW5hdGVzU2Nyb2xsaW5nRm9yRnJhbWVWaWV3KGZyYW1lVmlldykpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIHVwZGF0ZVNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25P
bk1haW5UaHJlYWQoKTsKKyAgICB1cGRhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKTsK
IH0KIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAgLTI3MSw3ICsyNzEsNyBA
QCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2Uo
RnJhbWVWaWV3KiBmcmFtZVZpZXcpCiAKICAgICBmcmFtZVZpZXdMYXlvdXRVcGRhdGVkKGZyYW1l
Vmlldyk7CiAgICAgcmVjb21wdXRlV2hlZWxFdmVudEhhbmRsZXJDb3VudEZvckZyYW1lVmlldyhm
cmFtZVZpZXcpOwotICAgIHVwZGF0ZVNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1h
aW5UaHJlYWQoKTsKKyAgICB1cGRhdGVTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKTsKIH0K
IAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRhdGVNYWluRnJhbWVTY3Jv
bGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIGJvb2wgcHJvZ3JhbW1h
dGljU2Nyb2xsLCBTZXRPclN5bmNTY3JvbGxpbmdMYXllclBvc2l0aW9uIHNjcm9sbGluZ0xheWVy
UG9zaXRpb25BY3Rpb24pCkBAIC0zOTIsNDAgKzM5Miw0MCBAQCBib29sIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpoYXNWaXNpYmxlU2xvd1JlcGFpbnRWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cyhG
cmFtZQogI2VuZGlmCiB9CiAKLU1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yOjptYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucygpIGNvbnN0CitTeW5jaHJvbm91
c1Njcm9sbGluZ1JlYXNvbnMgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29ucygpIGNvbnN0CiB7CiAgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtX3BhZ2Ut
Pm1haW5GcmFtZSgpLnZpZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKLSAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PE1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zPigwKTsKKyAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucz4oMCk7CiAKLSAgICBN
YWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyA9IChN
YWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucykwOworICAgIFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVh
c29ucyBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMgPSAoU3luY2hyb25vdXNTY3JvbGxpbmdS
ZWFzb25zKTA7CiAKLSAgICBpZiAobV9mb3JjZU1haW5UaHJlYWRTY3JvbGxMYXllclBvc2l0aW9u
VXBkYXRlcykKLSAgICAgICAgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMgfD0gRm9yY2VkT25N
YWluVGhyZWFkOworICAgIGlmIChtX2ZvcmNlU3luY2hyb25vdXNTY3JvbGxMYXllclBvc2l0aW9u
VXBkYXRlcykKKyAgICAgICAgc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zIHw9IEZvcmNlZE9u
TWFpblRocmVhZDsKICAgICBpZiAoZnJhbWVWaWV3LT5oYXNTbG93UmVwYWludE9iamVjdHMoKSkK
LSAgICAgICAgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMgfD0gSGFzU2xvd1JlcGFpbnRPYmpl
Y3RzOworICAgICAgICBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMgfD0gSGFzU2xvd1JlcGFp
bnRPYmplY3RzOwogICAgIGlmICghc3VwcG9ydHNGaXhlZFBvc2l0aW9uTGF5ZXJzKCkgJiYgZnJh
bWVWaWV3LT5oYXNWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cygpKQotICAgICAgICBtYWluVGhy
ZWFkU2Nyb2xsaW5nUmVhc29ucyB8PSBIYXNWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c1dpdGhv
dXRTdXBwb3J0aW5nRml4ZWRMYXllcnM7CisgICAgICAgIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVh
c29ucyB8PSBIYXNWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c1dpdGhvdXRTdXBwb3J0aW5nRml4
ZWRMYXllcnM7CiAgICAgaWYgKHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVycygpICYmIGhhc1Zp
c2libGVTbG93UmVwYWludFZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzKGZyYW1lVmlldykpCi0g
ICAgICAgIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zIHw9IEhhc05vbkxheWVyVmlld3BvcnRD
b25zdHJhaW5lZE9iamVjdHM7CisgICAgICAgIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyB8
PSBIYXNOb25MYXllclZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzOwogICAgIGlmIChtX3BhZ2Ut
Pm1haW5GcmFtZSgpLmRvY3VtZW50KCkgJiYgbV9wYWdlLT5tYWluRnJhbWUoKS5kb2N1bWVudCgp
LT5pc0ltYWdlRG9jdW1lbnQoKSkKLSAgICAgICAgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMg
fD0gSXNJbWFnZURvY3VtZW50OworICAgICAgICBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMg
fD0gSXNJbWFnZURvY3VtZW50OwogCi0gICAgcmV0dXJuIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFz
b25zOworICAgIHJldHVybiBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnM7CiB9CiAKLXZvaWQg
U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnVwZGF0ZVNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRp
b25Pbk1haW5UaHJlYWQoKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlU3luY2hy
b25vdXNTY3JvbGxpbmdSZWFzb25zKCkKIHsKLSAgICBzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXll
clBvc2l0aW9uT25NYWluVGhyZWFkKG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKCkpOworICAg
IHNldFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNv
bnMoKSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldEZvcmNlTWFpblRocmVh
ZFNjcm9sbExheWVyUG9zaXRpb25VcGRhdGVzKGJvb2wgZm9yY2VNYWluVGhyZWFkU2Nyb2xsTGF5
ZXJQb3NpdGlvblVwZGF0ZXMpCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRGb3JjZVN5
bmNocm9ub3VzU2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXMoYm9vbCBmb3JjZVN5bmNocm9ub3Vz
U2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXMpCiB7Ci0gICAgaWYgKG1fZm9yY2VNYWluVGhyZWFk
U2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXMgPT0gZm9yY2VNYWluVGhyZWFkU2Nyb2xsTGF5ZXJQ
b3NpdGlvblVwZGF0ZXMpCisgICAgaWYgKG1fZm9yY2VTeW5jaHJvbm91c1Njcm9sbExheWVyUG9z
aXRpb25VcGRhdGVzID09IGZvcmNlU3luY2hyb25vdXNTY3JvbGxMYXllclBvc2l0aW9uVXBkYXRl
cykKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9mb3JjZU1haW5UaHJlYWRTY3JvbGxMYXllclBv
c2l0aW9uVXBkYXRlcyA9IGZvcmNlTWFpblRocmVhZFNjcm9sbExheWVyUG9zaXRpb25VcGRhdGVz
OwotICAgIHVwZGF0ZVNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQo
KTsKKyAgICBtX2ZvcmNlU3luY2hyb25vdXNTY3JvbGxMYXllclBvc2l0aW9uVXBkYXRlcyA9IGZv
cmNlU3luY2hyb25vdXNTY3JvbGxMYXllclBvc2l0aW9uVXBkYXRlczsKKyAgICB1cGRhdGVTeW5j
aHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKTsKIH0KIAogU2Nyb2xsaW5nTm9kZUlEIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yOjp1bmlxdWVTY3JvbGxMYXllcklEKCkKQEAgLTQzOSw3ICs0MzksNyBAQCBT
dHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpIGNv
bnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1TdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0
b3I6Om1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zQXNUZXh0KE1haW5UaHJlYWRTY3JvbGxpbmdS
ZWFzb25zIHJlYXNvbnMpCitTdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN5bmNocm9ub3Vz
U2Nyb2xsaW5nUmVhc29uc0FzVGV4dChTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMgcmVhc29u
cykKIHsKICAgICBTdHJpbmdCdWlsZGVyIHN0cmluZ0J1aWxkZXI7CiAKQEAgLTQ1OSw5ICs0NTks
OSBAQCBTdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6Om1haW5UaHJlYWRTY3JvbGxpbmdSZWFz
b25zQXNUZXh0KE1haW5UaHJlYWRTY3JvbGxpbgogICAgIHJldHVybiBzdHJpbmdCdWlsZGVyLnRv
U3RyaW5nKCk7CiB9CiAKLVN0cmluZyBTY3JvbGxpbmdDb29yZGluYXRvcjo6bWFpblRocmVhZFNj
cm9sbGluZ1JlYXNvbnNBc1RleHQoKSBjb25zdAorU3RyaW5nIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnNBc1RleHQoKSBjb25zdAogewotICAgIHJldHVy
biBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dChtYWluVGhyZWFkU2Nyb2xsaW5nUmVh
c29ucygpKTsKKyAgICByZXR1cm4gc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0KHN5
bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKaW5kZXggMDA0MWFkOTYzMGMyMzEwZjg0YzcwZTM0YWUyMmU1NGVhN2Y2YTI1My4u
N2QyYzNhMjdhMTE5MDg2YzQzYTRjYzBmN2QxN2I4NDg5MGUyNThjOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0z
NCw3ICszNCw3IEBACiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NS
T0xMSU5HKQogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNh
ZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpAQCAtNDYsNyArNDYs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXR5cGVkZWYgdW5zaWduZWQgTWFpblRocmVh
ZFNjcm9sbGluZ1JlYXNvbnM7Cit0eXBlZGVmIHVuc2lnbmVkIFN5bmNocm9ub3VzU2Nyb2xsaW5n
UmVhc29uczsKIHR5cGVkZWYgdWludDY0X3QgU2Nyb2xsaW5nTm9kZUlEOwogCiBlbnVtIFNjcm9s
bGluZ05vZGVUeXBlIHsgU2Nyb2xsaW5nTm9kZSwgRml4ZWROb2RlLCBTdGlja3lOb2RlIH07CkBA
IC02MCw3ICs2MCw3IEBAIGNsYXNzIFJlZ2lvbjsKIGNsYXNzIFNjcm9sbGFibGVBcmVhOwogY2xh
c3MgVmlld3BvcnRDb25zdHJhaW50czsKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
CisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKIGNsYXNzIFNjcm9sbGluZ1RyZWU7CiAjZW5k
aWYKIApAQCAtMTA3LDcgKzEwNyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwYWdl
RGVzdHJveWVkKCk7CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lmIEVOQUJM
RShBU1lOQ19TQ1JPTExJTkcpCiAgICAgdmlydHVhbCBTY3JvbGxpbmdUcmVlKiBzY3JvbGxpbmdU
cmVlKCkgY29uc3QgeyByZXR1cm4gMDsgfQogI2VuZGlmCiAKQEAgLTE0MCw3ICsxNDAsNyBAQCBw
dWJsaWM6CiAjZW5kaWYKIAogICAgIC8vIEZvcmNlIGFsbCBzY3JvbGwgbGF5ZXIgcG9zaXRpb24g
dXBkYXRlcyB0byBoYXBwZW4gb24gdGhlIG1haW4gdGhyZWFkLgotICAgIHZvaWQgc2V0Rm9yY2VN
YWluVGhyZWFkU2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXMoYm9vbCk7CisgICAgdm9pZCBzZXRG
b3JjZVN5bmNocm9ub3VzU2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXMoYm9vbCk7CiAKICAgICAv
LyBUaGVzZSB2aXJ0dWFsIGZ1bmN0aW9ucyBhcmUgY3VycmVudGx5IHVuaXF1ZSB0byB0aGUgdGhy
ZWFkZWQgc2Nyb2xsaW5nIGFyY2hpdGVjdHVyZS4gCiAgICAgLy8gVGhlaXIgbWVhbmluZ2Z1bCBp
bXBsZW1lbnRhdGlvbnMgYXJlIGluIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLgpAQCAtMTcyLDE2
ICsxNzIsMTYgQEAgcHVibGljOgogICAgICAgICBJc0ltYWdlRG9jdW1lbnQgPSAxIDw8IDQKICAg
ICB9OwogCi0gICAgTWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMgbWFpblRocmVhZFNjcm9sbGlu
Z1JlYXNvbnMoKSBjb25zdDsKLSAgICBib29sIHNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRp
b25Pbk1haW5UaHJlYWQoKSBjb25zdCB7IHJldHVybiBtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29u
cygpICE9IDA7IH0KKyAgICBTeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMgc3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRVcGRhdGVTY3JvbGxMYXll
clBvc2l0aW9uU3luY2hyb25vdXNseSgpIGNvbnN0IHsgcmV0dXJuIHN5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29ucygpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lTY3JvbGxhYmxl
QXJlYShTY3JvbGxhYmxlQXJlYSopIHsgfQogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxhYmxlQXJl
YVNjcm9sbExheWVyRGlkQ2hhbmdlKFNjcm9sbGFibGVBcmVhKikgeyB9CiAgICAgdmlydHVhbCB2
b2lkIHNjcm9sbGFibGVBcmVhU2Nyb2xsYmFyTGF5ZXJEaWRDaGFuZ2UoU2Nyb2xsYWJsZUFyZWEq
LCBTY3JvbGxiYXJPcmllbnRhdGlvbikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldExheWVySXND
b250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKEdyYXBoaWNzTGF5ZXIqLCBib29sKSB7IH0K
IAotICAgIHN0YXRpYyBTdHJpbmcgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1RleHQoTWFp
blRocmVhZFNjcm9sbGluZ1JlYXNvbnMpOwotICAgIFN0cmluZyBtYWluVGhyZWFkU2Nyb2xsaW5n
UmVhc29uc0FzVGV4dCgpIGNvbnN0OworICAgIHN0YXRpYyBTdHJpbmcgc3luY2hyb25vdXNTY3Jv
bGxpbmdSZWFzb25zQXNUZXh0KFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyk7CisgICAgU3Ry
aW5nIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uc0FzVGV4dCgpIGNvbnN0OwogCiAgICAgUmVn
aW9uIGNvbXB1dGVOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBGcmFtZSosIGNvbnN0IElu
dFBvaW50JiBmcmFtZUxvY2F0aW9uKSBjb25zdDsKIApAQCAtMjA0LDEwICsyMDQsMTAgQEAgcHJv
dGVjdGVkOgogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCByZWNvbXB1dGVXaGVlbEV2ZW50
SGFuZGxlckNvdW50Rm9yRnJhbWVWaWV3KEZyYW1lVmlldyopIHsgfQotICAgIHZpcnR1YWwgdm9p
ZCBzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKE1haW5UaHJl
YWRTY3JvbGxpbmdSZWFzb25zKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc2V0U3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zKFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucykgeyB9CiAKICAgICB2
aXJ0dWFsIGJvb2wgaGFzVmlzaWJsZVNsb3dSZXBhaW50Vmlld3BvcnRDb25zdHJhaW5lZE9iamVj
dHMoRnJhbWVWaWV3KikgY29uc3Q7Ci0gICAgdm9pZCB1cGRhdGVTaG91bGRVcGRhdGVTY3JvbGxM
YXllclBvc2l0aW9uT25NYWluVGhyZWFkKCk7CisgICAgdm9pZCB1cGRhdGVTeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnMoKTsKICAgICAKICAgICB2b2lkIHVwZGF0ZU1haW5GcmFtZVNjcm9sbFBv
c2l0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvcj4qKTsKIApAQCAtMjE2
LDcgKzIxNiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3NjaGVkdWxlZFVwZGF0ZUlzUHJvZ3Jh
bW1hdGljU2Nyb2xsOwogICAgIFNldE9yU3luY1Njcm9sbGluZ0xheWVyUG9zaXRpb24gbV9zY2hl
ZHVsZWRTY3JvbGxpbmdMYXllclBvc2l0aW9uQWN0aW9uOwogCi0gICAgYm9vbCBtX2ZvcmNlTWFp
blRocmVhZFNjcm9sbExheWVyUG9zaXRpb25VcGRhdGVzOworICAgIGJvb2wgbV9mb3JjZVN5bmNo
cm9ub3VzU2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKaW5kZXggOThiMWQ3MTBjZGEwMzUzMjczNzg1ZTFlZWRj
ZDc3NzNjN2U3YmM1ZS4uMmJkMGYzZGZmMjgxN2RlZTY1ZWExZjdlZWZiZDM0MDJhMDk5MDQ3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlRml4ZWROb2RlLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlRleHRTdHJl
YW0uaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NS
T0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaWYgRU5BQkxFKEFTWU5DX1ND
Uk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTExMyw0ICsxMTMsNCBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpk
dW1wUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywgaW50IGluZGVudCkgY29uc3QKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykg
fHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JP
TExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCmluZGV4IDNl
MDY5N2VlZmEwZTIzNGYxMjQwYTFiZjM5NWExMmJhY2ZkN2ZlMTEuLjY5ZWY0NjhmOTgwN2Y0NmY1
OGVkZGVhMDAzM2YyZmZhMzgwOThkOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaApAQCAtMjYsNyArMjYsNyBA
QAogI2lmbmRlZiBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZV9oCiAjZGVmaW5lIFNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlX2gKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSB8fCBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJhaW50cy5o
IgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgpAQCAtNjksNiArNjksNiBAQCBTQ1JP
TExJTkdfU1RBVEVfTk9ERV9UWVBFX0NBU1RTKFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLCBpc0Zp
eGVkTm9kZSgpKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2VuZGlm
IC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykK
IAogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCmluZGV4IDI4NDdh
ZjRjNTRhYjc0YjFkZmU5YzQwYjFhYTA2NmZkNmYzNWUwOTIuLjRjYjRlODI3Nzc4YWI3YWU0MTNj
ZDgyZGNmMDc4ZTNhZDQxZGZmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlTm9kZS5oIgogCi0jaWYgRU5B
QkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lm
IEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAog
I2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5n
U3RhdGVUcmVlLmgiCkBAIC0xNTYsNCArMTU2LDQgQEAgU3RyaW5nIFNjcm9sbGluZ1N0YXRlTm9k
ZTo6c2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTKQorI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpIHx8IFVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKaW5kZXggN2FmMzQ3OGE4YTIyOTMzNTBkYjM5YjBh
Zjk3MTgyYTU2ZDI0NGVlMC4uMGMyMDM1ODcxMDBhMWY3NjA0YWJmOTYxNmFhMWNiYzI5YWU0YTA0
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVOb2RlLmgKQEAgLTI2LDcgKzI2LDcgQEAKICNpZm5kZWYgU2Nyb2xsaW5nU3RhdGVOb2RlX2gK
ICNkZWZpbmUgU2Nyb2xsaW5nU3RhdGVOb2RlX2gKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JP
TExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyNpZiBFTkFCTEUoQVNZTkNfU0NS
T0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJQbGF0Zm9y
bUxheWVyLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKQEAgLTExOSw2ICsx
MTksNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisj
ZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKQogCiAjZW5kaWYgLy8gU2Nyb2xsaW5nU3RhdGVOb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGUuY3BwCmluZGV4IDg4YWNmODQzY2ZlYmQ4MTcxOGMzMTlkMGZjNGVjMmVhZmU3NTdlMmIuLjI1
NTNiODM5MzBhYzg4NmUxMTNkYmRjNDdlOWFlYjg5OWZiMzY3MmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIgogCi0jaWYgRU5BQkxFKFRIUkVBREVE
X1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIEVOQUJMRShBU1lO
Q19TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2luY2x1ZGUgIlNj
cm9sbGluZ1N0YXRlVHJlZS5oIgogI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKQEAgLTUwLDcgKzUw
LDcgQEAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGlu
Z05vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlKiBzdGEKICNlbmRpZgogICAgICwgbV9mcmFtZVNjYWxl
RmFjdG9yKDEpCiAgICAgLCBtX3doZWVsRXZlbnRIYW5kbGVyQ291bnQoMCkKLSAgICAsIG1fc2hv
dWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZCgwKQorICAgICwgbV9zeW5j
aHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoMCkKICAgICAsIG1fYmVoYXZpb3JGb3JGaXhlZChTdGlj
a1RvRG9jdW1lbnRCb3VuZHMpCiAgICAgLCBtX2hlYWRlckhlaWdodCgwKQogICAgICwgbV9mb290
ZXJIZWlnaHQoMCkKQEAgLTcxLDcgKzcxLDcgQEAgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
OjpTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVTY3IKICAg
ICAsIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb24oc3RhdGVOb2RlLm5vbkZhc3RTY3JvbGxhYmxl
UmVnaW9uKCkpCiAgICAgLCBtX2ZyYW1lU2NhbGVGYWN0b3Ioc3RhdGVOb2RlLmZyYW1lU2NhbGVG
YWN0b3IoKSkKICAgICAsIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudChzdGF0ZU5vZGUud2hlZWxF
dmVudEhhbmRsZXJDb3VudCgpKQotICAgICwgbV9zaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0
aW9uT25NYWluVGhyZWFkKHN0YXRlTm9kZS5zaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9u
T25NYWluVGhyZWFkKCkpCisgICAgLCBtX3N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhzdGF0
ZU5vZGUuc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKCkpCiAgICAgLCBtX2JlaGF2aW9yRm9y
Rml4ZWQoc3RhdGVOb2RlLnNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cygpKQogICAgICwg
bV9oZWFkZXJIZWlnaHQoc3RhdGVOb2RlLmhlYWRlckhlaWdodCgpKQogICAgICwgbV9mb290ZXJI
ZWlnaHQoc3RhdGVOb2RlLmZvb3RlckhlaWdodCgpKQpAQCAtMTYzLDEzICsxNjMsMTMgQEAgdm9p
ZCBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OnNldFdoZWVsRXZlbnRIYW5kbGVyQ291bnQo
dW5zaWduZWQgd2hlZWxFdmVudEgKICAgICBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+c2V0SGFzQ2hh
bmdlZFByb3BlcnRpZXModHJ1ZSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdO
b2RlOjpzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKE1haW5U
aHJlYWRTY3JvbGxpbmdSZWFzb25zIHJlYXNvbnMpCit2b2lkIFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZTo6c2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFN5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29ucyByZWFzb25zKQogewotICAgIGlmIChtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVy
UG9zaXRpb25Pbk1haW5UaHJlYWQgPT0gcmVhc29ucykKKyAgICBpZiAobV9zeW5jaHJvbm91c1Nj
cm9sbGluZ1JlYXNvbnMgPT0gcmVhc29ucykKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9zaG91
bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkID0gcmVhc29uczsKLSAgICBz
ZXRQcm9wZXJ0eUNoYW5nZWQoU2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRo
cmVhZCk7CisgICAgbV9zeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMgPSByZWFzb25zOworICAg
IHNldFByb3BlcnR5Q2hhbmdlZChSZWFzb25zRm9yU3luY2hyb25vdXNTY3JvbGxpbmcpOwogICAg
IG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5zZXRIYXNDaGFuZ2VkUHJvcGVydGllcyh0cnVlKTsKIH0K
IApAQCAtMjMwLDkgKzIzMCw5IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpk
dW1wUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywgaW50IGluZGVudCkgY29uCiAgICAgICAgIHRz
IDw8ICIoZnJhbWUgc2NhbGUgZmFjdG9yICIgPDwgbV9mcmFtZVNjYWxlRmFjdG9yIDw8ICIpXG4i
OwogICAgIH0KIAotICAgIGlmIChtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1h
aW5UaHJlYWQpIHsKKyAgICBpZiAobV9zeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMpIHsKICAg
ICAgICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwotICAgICAgICB0cyA8PCAiKFNjcm9s
bGluZyBvbiBtYWluIHRocmVhZCBiZWNhdXNlOiAiIDw8IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpt
YWluVGhyZWFkU2Nyb2xsaW5nUmVhc29uc0FzVGV4dChtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVy
UG9zaXRpb25Pbk1haW5UaHJlYWQpIDw8ICIpXG4iOworICAgICAgICB0cyA8PCAiKFNjcm9sbGlu
ZyBvbiBtYWluIHRocmVhZCBiZWNhdXNlOiAiIDw8IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzeW5j
aHJvbm91c1Njcm9sbGluZ1JlYXNvbnNBc1RleHQobV9zeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNv
bnMpIDw8ICIpXG4iOwogICAgIH0KIAogICAgIGlmIChtX3JlcXVlc3RlZFNjcm9sbFBvc2l0aW9u
ICE9IEludFBvaW50KCkpIHsKQEAgLTI0OCw0ICsyNDgsNCBAQCB2b2lkIFNjcm9sbGluZ1N0YXRl
U2Nyb2xsaW5nTm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBpbmRlbnQp
IGNvbgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFE
RURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjZW5kaWYgLy8gRU5B
QkxFKEFTWU5DX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGUuaAppbmRleCA1ZTQxNGRkMDY1ZjYzMDgwYjA2OTU4NTc1OWMxNWYzZDAwMjFh
Y2JjLi45YmZkYjlhMGNjYzc4NDcwMjJhODYyMTMwYmI0ODA5MDY1YTllYjM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGUuaApAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxpbmdTdGF0ZVNj
cm9sbGluZ05vZGVfaAogI2RlZmluZSBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGVfaAogCi0j
aWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNT
KQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElD
UykKIAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJSZWdpb24uaCIKQEAgLTU2LDcg
KzU2LDcgQEAgcHVibGljOgogICAgICAgICBGcmFtZVNjYWxlRmFjdG9yLAogICAgICAgICBOb25G
YXN0U2Nyb2xsYWJsZVJlZ2lvbiwKICAgICAgICAgV2hlZWxFdmVudEhhbmRsZXJDb3VudCwKLSAg
ICAgICAgU2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZCwKKyAgICAg
ICAgUmVhc29uc0ZvclN5bmNocm9ub3VzU2Nyb2xsaW5nLAogICAgICAgICBSZXF1ZXN0ZWRTY3Jv
bGxQb3NpdGlvbiwKICAgICAgICAgQ291bnRlclNjcm9sbGluZ0xheWVyLAogICAgICAgICBIZWFk
ZXJIZWlnaHQsCkBAIC04NSw4ICs4NSw4IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB3aGVlbEV2
ZW50SGFuZGxlckNvdW50KCkgY29uc3QgeyByZXR1cm4gbV93aGVlbEV2ZW50SGFuZGxlckNvdW50
OyB9CiAgICAgdm9pZCBzZXRXaGVlbEV2ZW50SGFuZGxlckNvdW50KHVuc2lnbmVkKTsKIAotICAg
IE1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zIHNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRp
b25Pbk1haW5UaHJlYWQoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVy
UG9zaXRpb25Pbk1haW5UaHJlYWQ7IH0KLSAgICB2b2lkIHNldFNob3VsZFVwZGF0ZVNjcm9sbExh
eWVyUG9zaXRpb25Pbk1haW5UaHJlYWQoTWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMpOworICAg
IFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMo
KSBjb25zdCB7IHJldHVybiBtX3N5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29uczsgfQorICAgIHZv
aWQgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVh
c29ucyk7CiAKICAgICBjb25zdCBTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMmIHNjcm9sbGFibGVB
cmVhUGFyYW1ldGVycygpIGNvbnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFQYXJhbWV0ZXJz
OyB9CiAgICAgdm9pZCBzZXRTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMoY29uc3QgU2Nyb2xsYWJs
ZUFyZWFQYXJhbWV0ZXJzJiBwYXJhbXMpOwpAQCAtMTUzLDcgKzE1Myw3IEBAIHByaXZhdGU6CiAg
ICAgUmVnaW9uIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb247CiAgICAgZmxvYXQgbV9mcmFtZVNj
YWxlRmFjdG9yOwogICAgIHVuc2lnbmVkIG1fd2hlZWxFdmVudEhhbmRsZXJDb3VudDsKLSAgICBN
YWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyBtX3Nob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRp
b25Pbk1haW5UaHJlYWQ7CisgICAgU3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zIG1fc3luY2hy
b25vdXNTY3JvbGxpbmdSZWFzb25zOwogICAgIFNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50
cyBtX2JlaGF2aW9yRm9yRml4ZWQ7CiAgICAgaW50IG1faGVhZGVySGVpZ2h0OwogICAgIGludCBt
X2Zvb3RlckhlaWdodDsKQEAgLTE2NSw2ICsxNjUsNiBAQCBTQ1JPTExJTkdfU1RBVEVfTk9ERV9U
WVBFX0NBU1RTKFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSwgaXNTY3JvbGxpbmdOb2RlKCkp
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjZW5kaWYgLy8gRU5BQkxF
KEFTWU5DX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjZW5kaWYg
Ly8gU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwCmluZGV4
IDczYjVhZGU1MjMzYjY3MWIyMGVlYWQ2NTg2MjZmODJhM2ViMjllM2EuLmFmODY4ZDg2OWJiZmJh
NDZlMjAzNmM3OGZlZTYxMDQ5YzU5ZGJlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcApAQCAtMjYs
NyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZS5oIgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpIHx8IFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKIAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNs
dWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUuaCIKQEAgLTEzMiw0ICsxMzIsNCBAQCB2b2lkIFNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBp
bmRlbnQpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyNlbmRp
ZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZS5oCmluZGV4IGE3MjJkNzgwMTNkOTU5MDllMDg5ZmM5NmU1NTE0MWY3YmIw
NmM4ODkuLjg1NjFlZTFmODhjYmVhZTNlMDMxNTUzODIzN2FkNDc2Mzc0ODM3ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3Rp
Y2t5Tm9kZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlU3RpY2t5
Tm9kZV9oCiAjZGVmaW5lIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZV9oCiAKLSNpZiBFTkFCTEUo
VEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaWYgRU5B
QkxFKEFTWU5DX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5j
bHVkZSAiU2Nyb2xsaW5nQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZU5v
ZGUuaCIKQEAgLTY5LDYgKzY5LDYgQEAgU0NST0xMSU5HX1NUQVRFX05PREVfVFlQRV9DQVNUUyhT
Y3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUsIGlzU3RpY2t5Tm9kZSgpKTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykgfHwgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQorI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcp
IHx8IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKIAogI2VuZGlmIC8vIFNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZVRyZWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVUcmVlLmNwcAppbmRleCA3NWQzZmE3YjFhNzViM2U2ZjFjN2Y3Y2FiZDY3Yzg5
N2NmOTk2Yjk4Li4wNjQxMzQ4NjQ2YzQxZWNmMWM2ZTdmMjExMTdiMmQ0MzVhM2NmMTVlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJl
ZS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJT
Y3JvbGxpbmdTdGF0ZVRyZWUuaCIKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSB8
fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5oIgpAQCAt
MTg2LDQgKzE4Niw0IEBAIFNjcm9sbGluZ1N0YXRlTm9kZSogU2Nyb2xsaW5nU3RhdGVUcmVlOjpz
dGF0ZU5vZGVGb3JJRChTY3JvbGxpbmdOb2RlSUQgc2Nyb2xsTGF5CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpIHx8IFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKKyNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKSB8
fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oCmluZGV4IGViMDkxOTc3ZGVmYzY4NTc2ZTcx
YjM1YWQwZDJlNjljOTFkYzEzMjMuLmQxMzBkMThiZmVhZTlkM2RkMjRiMDI3ZDA0NThmOWQyNDhm
NjYwOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlVHJlZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFNjcm9sbGluZ1N0YXRlVHJl
ZV9oCiAjZGVmaW5lIFNjcm9sbGluZ1N0YXRlVHJlZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaWYgRU5BQkxFKEFTWU5D
X1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogCiAjaW5jbHVkZSAiU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmgiCiAjaW5jbHVkZSA8d3RmL093blB0ci5oPgpAQCAt
ODIsNiArODIsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKSB8fCBVU0UoQ09PUkRJTkFURURfR1JBUEhJ
Q1MpCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykgfHwgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQogCiAjZW5kaWYgLy8gU2Nyb2xsaW5nU3RhdGVUcmVlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RocmVhZC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUaHJlYWQuY3BwCmluZGV4IDQ1ZTc4
OGNjYjExNzEyODMyMmJhYjYwNWQwYjUzZWY1YWRjNzc4Y2YuLjQ2OTBiZDljZWEwNWEwNTRlODgx
YjAxMGJiMzE0ZDVjZGY0YjUwMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nVGhyZWFkLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RocmVhZC5oIgogCi0jaWYgRU5BQkxFKFRIUkVB
REVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogCiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KIApAQCAtMTE5LDQgKzExOSw0IEBAIHZvaWQgU2Nyb2xsaW5nVGhy
ZWFkOjpkaXNwYXRjaEZ1bmN0aW9uc0Zyb21TY3JvbGxpbmdUaHJlYWQoKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2Vu
ZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RocmVhZC5oCmluZGV4IDlkM2VkZDc2YTRmOWY4OGU2Y2ZjZGU2
MjBlYmMzZmY1ZWYwM2Y3M2MuLmNlM2I2OGYwMGQ1YjM4NWVhNWM0MWQ3YmE1NDJjMTNmNWU3YmNh
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ro
cmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RocmVh
ZC5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFNjcm9sbGluZ1RocmVhZF9oCiAjZGVmaW5l
IFNjcm9sbGluZ1RocmVhZF9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lm
IEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgog
I2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtODUsNiArODUsNiBAQCBwcml2YXRlOgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NS
T0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNlbmRpZiAvLyBT
Y3JvbGxpbmdUaHJlYWRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdUcmVlLmNwcAppbmRleCAwODViYjY4YmZiNzNkOWQzODcyYmIxOTMyNWNlZDlhYzI3ZWYx
ODczLi5iMGIzYWNhZWRmODUyY2UwNTJiMjFmNGQ0YTVjZDZmYTFmZTQ3NGM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWUuaCIK
IAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKEFTWU5DX1NDUk9M
TElORykKIAogI2luY2x1ZGUgIlBsYXRmb3JtV2hlZWxFdmVudC5oIgogI2luY2x1ZGUgIlNjcm9s
bGluZ0Nvb3JkaW5hdG9yLmgiCkBAIC0zNjEsNCArMzYxLDQgQEAgYm9vbCBTY3JvbGxpbmdUcmVl
OjpzY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKCkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNlbmRpZiAv
LyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZS5oCmluZGV4IDMyYWEyNmExNzEyOWY1OTI4NTQwYmU1YmNiMGY4ZTBj
MTg2MGUyOWEuLjg3Y2VjZWVjZGU3MzEzZGVmYjBmNDEzNTNlOWI0YmM1ZTY1ZTFjOTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgU2Nyb2xsaW5nVHJlZV9oCiAjZGVmaW5lIFNjcm9sbGluZ1RyZWVf
aAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NS
T0xMSU5HKQogCiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiUmVn
aW9uLmgiCkBAIC0xNDUsNiArMTQ1LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNlbmRpZiAvLyBF
TkFCTEUoQVNZTkNfU0NST0xMSU5HKQogCiAjZW5kaWYgLy8gU2Nyb2xsaW5nVHJlZV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5jcHAK
aW5kZXggMzcwNWU5YjZhZGUyNjJjZmRmNWQ2NDE3MjdmMjY0YjhkYmY4MjVjMy4uN2ZlODVmMzU3
NmYxYjI4ZDZjNDM3YmNiODhlNWZjNWQ1ZDE0NjM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmNwcApAQCAtMjYsNyArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVOb2RlLmgiCiAK
LSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJ
TkcpCiAKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUuaCIKIApAQCAtNzQsNCArNzQsNCBA
QCB2b2lkIFNjcm9sbGluZ1RyZWVOb2RlOjpyZW1vdmVDaGlsZChTY3JvbGxpbmdUcmVlTm9kZSog
bm9kZSkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKFRIUkVB
REVEX1NDUk9MTElORykKKyNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmgKaW5kZXgg
MjJkNmYzMDQ3MjQ5NWJhODc5ZjcwMDVlNGNiNDY2NmJhN2I3MzJiYy4uNjFiYWQ2Mjc0ZDBlNDA2
OGZkNGNhODhhNzJhNTY0ZTAzYjc5NDlmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oCkBAIC0yNiw3ICsyNiw3IEBACiAjaWZuZGVm
IFNjcm9sbGluZ1RyZWVOb2RlX2gKICNkZWZpbmUgU2Nyb2xsaW5nVHJlZU5vZGVfaAogCi0jaWYg
RU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQog
CiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCkBAIC03Myw2
ICs3Myw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9M
TElORykKIAogI2VuZGlmIC8vIFNjcm9sbGluZ1RyZWVOb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
LmNwcAppbmRleCBlNDU1ZjQwN2ZmNTI0NzY5OGI3MjNjNDg5NTlkZGI1YTNjYmM2ZjQyLi5kMmVj
OTZkMzY1Zjk2ODVhODhkYWRiOTFiNmU2OGJjMDMxOTY3ZTNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGUuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaCIKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JP
TExJTkcpCisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKIAogI2luY2x1ZGUgIlNjcm9sbGlu
Z1N0YXRlVHJlZS5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWUuaCIKQEAgLTM4LDcgKzM4LDcg
QEAgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2Rl
KFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1QKICAgICAsIG1fZnJhbWVTY2FsZUZhY3RvcigxKQog
ICAgICwgbV9oZWFkZXJIZWlnaHQoMCkKICAgICAsIG1fZm9vdGVySGVpZ2h0KDApCi0gICAgLCBt
X3Nob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQoMCkKKyAgICAsIG1f
c3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKDApCiAgICAgLCBtX2JlaGF2aW9yRm9yRml4ZWQo
U3RpY2tUb0RvY3VtZW50Qm91bmRzKQogewogfQpAQCAtNzEsOCArNzEsOCBAQCB2b2lkIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlOjp1cGRhdGVCZWZvcmVDaGlsZHJlbihTY3JvbGxpbmdTdGF0
ZU5vZGUqIHN0YXRlTgogICAgIGlmIChzdGF0ZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZTo6RnJhbWVTY2FsZUZhY3RvcikpCiAgICAgICAgIG1fZnJhbWVT
Y2FsZUZhY3RvciA9IHN0YXRlLT5mcmFtZVNjYWxlRmFjdG9yKCk7CiAKLSAgICBpZiAoc3RhdGUt
Pmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OlNob3VsZFVw
ZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQpKQotICAgICAgICBtX3Nob3VsZFVw
ZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQgPSBzdGF0ZS0+c2hvdWxkVXBkYXRl
U2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZCgpOworICAgIGlmIChzdGF0ZS0+aGFzQ2hh
bmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6UmVhc29uc0ZvclN5bmNo
cm9ub3VzU2Nyb2xsaW5nKSkKKyAgICAgICAgbV9zeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMg
PSBzdGF0ZS0+c3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKCk7CiAKICAgICBpZiAoc3RhdGUt
Pmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGU6OkhlYWRlckhl
aWdodCkpCiAgICAgICAgIG1faGVhZGVySGVpZ2h0ID0gc3RhdGUtPmhlYWRlckhlaWdodCgpOwpA
QCAtODYsNCArODYsNCBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlOjp1cGRhdGVC
ZWZvcmVDaGlsZHJlbihTY3JvbGxpbmdTdGF0ZU5vZGUqIHN0YXRlTgogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlm
IC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuaAppbmRleCBmNGU4
MDM3OGY2ZDc5NDEzYzhlZmNmY2E3MzgyZWQ0MzQ1MDRhOTM4Li5hYjA5OGM5OWY1N2U3ZDc3Mjk2
NTUyMGQwZGQxZWFjYTkwNmVjNGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgKQEAgLTI2LDcgKzI2
LDcgQEAKICNpZm5kZWYgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVfaAogI2RlZmluZSBTY3Jv
bGxpbmdUcmVlU2Nyb2xsaW5nTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5H
KQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNpbmNsdWRlICJJbnRSZWN0LmgiCiAj
aW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKQEAgLTUzLDcgKzUzLDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmKSA9
IDA7CiAKLSAgICBNYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyBzaG91bGRVcGRhdGVTY3JvbGxM
YXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRVcGRhdGVT
Y3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkOyB9CisgICAgU3luY2hyb25vdXNTY3JvbGxp
bmdSZWFzb25zIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpIGNvbnN0IHsgcmV0dXJuIG1f
c3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zOyB9CisgICAgYm9vbCBzaG91bGRVcGRhdGVTY3Jv
bGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgpIGNvbnN0IHsgcmV0dXJuIG1fc3luY2hyb25v
dXNTY3JvbGxpbmdSZWFzb25zOyB9CiAKIHByb3RlY3RlZDoKICAgICBTY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKQEAgLTk2LDEyICs5
NywxMiBAQCBwcml2YXRlOgogICAgIGludCBtX2hlYWRlckhlaWdodDsKICAgICBpbnQgbV9mb290
ZXJIZWlnaHQ7CiAKLSAgICBNYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyBtX3Nob3VsZFVwZGF0
ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQ7CisgICAgU3luY2hyb25vdXNTY3JvbGxp
bmdSZWFzb25zIG1fc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zOwogICAgIFNjcm9sbEJlaGF2
aW9yRm9yRml4ZWRFbGVtZW50cyBtX2JlaGF2aW9yRm9yRml4ZWQ7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2Vu
ZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCmluZGV4IDZiMDMzZmU2MThmMjhi
MzVjN2E2MWMwZDc4OTA5YWQ0N2JkYzQ1MTAuLjM2MGUzYjFkZTQ0ZTQ0MmU5NGZkYTc4YjhjMGJm
MGIyMzQ3YWQ0OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oCkBAIC0yNiw3ICsyNiw3IEBACiAj
aWZuZGVmIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjX2gKICNkZWZpbmUgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWNfaAogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUo
QVNZTkNfU0NST0xMSU5HKQogCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKIApA
QCAtOTEsNyArOTEsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzeW5jQ2hpbGRQb3Np
dGlvbnMoY29uc3QgTGF5b3V0UmVjdCYgdmlld3BvcnRSZWN0KSBPVkVSUklERTsKIAogICAgIHZp
cnR1YWwgdm9pZCByZWNvbXB1dGVXaGVlbEV2ZW50SGFuZGxlckNvdW50Rm9yRnJhbWVWaWV3KEZy
YW1lVmlldyopOwotICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGRVcGRhdGVTY3JvbGxMYXllclBv
c2l0aW9uT25NYWluVGhyZWFkKE1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFN5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29ucyk7CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFzVmlzaWJsZVNsb3dSZXBhaW50Vmll
d3BvcnRDb25zdHJhaW5lZE9iamVjdHMoRnJhbWVWaWV3KikgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KIApAQCAtMTIwLDYgKzEyMCw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5B
QkxFKEFTWU5DX1NDUk9MTElORykKIAogI2VuZGlmIC8vIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdDb29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCBjY2ZjY2NhMzBiZTE4ZTUwNmY2NTFiZjQz
M2UwNDMzZjQ3Y2Q5NjU5Li5hMjgzNmJkMDE4MjYzMjc0MGFjM2I5MDczMGFlNmIwYTdiMjE3ODg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxF
KEFTWU5DX1NDUk9MTElORykKIAogI2ltcG9ydCAiU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaCIK
IApAQCAtMzEyLDcgKzMxMiw3IEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNldFNj
cm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50c0Zvck5vZGUoU2Nyb2xsQmVoCiAgICAgc2NoZWR1
bGVUcmVlU3RhdGVDb21taXQoKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6
c2V0U2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZChNYWluVGhyZWFk
U2Nyb2xsaW5nUmVhc29ucyByZWFzb25zKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6
c2V0U3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29u
cyByZWFzb25zKQogewogICAgIGlmICghbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnJvb3RTdGF0ZU5v
ZGUoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzIyLDcgKzMyMiw3IEBAIHZvaWQgU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWM6OnNldFNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5U
aHJlYWQoTWFpCiAgICAgLy8gaW4gb3JkZXIgdG8gYXZvaWQgbGF5ZXIgcG9zaXRpb25pbmcgYnVn
cy4KICAgICBpZiAocmVhc29ucykKICAgICAgICAgdXBkYXRlTWFpbkZyYW1lU2Nyb2xsTGF5ZXJQ
b3NpdGlvbigpOwotICAgIG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5yb290U3RhdGVOb2RlKCktPnNl
dFNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQocmVhc29ucyk7Cisg
ICAgbV9zY3JvbGxpbmdTdGF0ZVRyZWUtPnJvb3RTdGF0ZU5vZGUoKS0+c2V0U3luY2hyb25vdXNT
Y3JvbGxpbmdSZWFzb25zKHJlYXNvbnMpOwogICAgIHNjaGVkdWxlVHJlZVN0YXRlQ29tbWl0KCk7
CiB9CiAKQEAgLTQyNywxMiArNDI3LDEyIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6
OmNvbW1pdFRyZWVTdGF0ZSgpCiAgICAgICAgIHJldHVybjsKIAogICAgIFNjcm9sbGluZ01vZGVJ
bmRpY2F0aW9uIGluZGljYXRvck1vZGU7Ci0gICAgaWYgKHNob3VsZFVwZGF0ZVNjcm9sbExheWVy
UG9zaXRpb25Pbk1haW5UaHJlYWQoKSkKLSAgICAgICAgaW5kaWNhdG9yTW9kZSA9IE1haW5UaHJl
YWRTY3JvbGxpbmdCZWNhdXNlT2ZTdHlsZUluZGljYXRpb247CisgICAgaWYgKHNob3VsZFVwZGF0
ZVNjcm9sbExheWVyUG9zaXRpb25TeW5jaHJvbm91c2x5KCkpCisgICAgICAgIGluZGljYXRvck1v
ZGUgPSBTeW5jaHJvbm91c1Njcm9sbGluZ0JlY2F1c2VPZlN0eWxlSW5kaWNhdGlvbjsKICAgICBl
bHNlIGlmIChtX3Njcm9sbGluZ1N0YXRlVHJlZS0+cm9vdFN0YXRlTm9kZSgpICYmIG1fc2Nyb2xs
aW5nU3RhdGVUcmVlLT5yb290U3RhdGVOb2RlKCktPndoZWVsRXZlbnRIYW5kbGVyQ291bnQoKSkK
LSAgICAgICAgaW5kaWNhdG9yTW9kZSA9ICBNYWluVGhyZWFkU2Nyb2xsaW5nQmVjYXVzZU9mRXZl
bnRIYW5kbGVyc0luZGljYXRpb247CisgICAgICAgIGluZGljYXRvck1vZGUgPSAgU3luY2hyb25v
dXNTY3JvbGxpbmdCZWNhdXNlT2ZFdmVudEhhbmRsZXJzSW5kaWNhdGlvbjsKICAgICBlbHNlCi0g
ICAgICAgIGluZGljYXRvck1vZGUgPSBUaHJlYWRlZFNjcm9sbGluZ0luZGljYXRpb247CisgICAg
ICAgIGluZGljYXRvck1vZGUgPSBBc3luY1Njcm9sbGluZ0luZGljYXRpb247CiAgICAgCiAgICAg
dGlsZWRCYWNraW5nLT5zZXRTY3JvbGxpbmdNb2RlSW5kaWNhdGlvbihpbmRpY2F0b3JNb2RlKTsK
IH0KQEAgLTQ0Nyw0ICs0NDcsNCBAQCBTdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnNj
cm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxF
KEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdTdGF0ZU5vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nU3RhdGVOb2RlTWFjLm1tCmluZGV4IDllMWI4NGIwMTU0OTAy
YWU5NzczODU3MmE2NDE5YWYxZDkxY2YxNmQuLmNmMDYyZDFlMjRlMjU4YWIyNTdlNTQwODViZjEx
YWJhOTdkYTJjNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdTdGF0ZU5vZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1N0YXRlTm9kZU1hYy5tbQpAQCAtMjksNyArMjksNyBAQAogI2lu
Y2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUuaCIK
IAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKEFTWU5DX1NDUk9M
TElORykKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01OSw0ICs1OSw0IEBAIHZvaWQgU2Ny
b2xsaW5nU3RhdGVOb2RlOjpzZXRTY3JvbGxMYXllcihHcmFwaGljc0xheWVyKiBncmFwaGljc0xh
eWVyKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJM
RShBU1lOQ19TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZU1hYy5tbQpp
bmRleCBmM2RlYTkyZmJmNTU3NzcwNzMzYWM1YjlhZDRhMGZjZWY2YThlOTUyLi40YmM3ZmQ5ZDU3
NWFkYzQ2YjhmZDExZWZhNGM5Njg2NDFjN2RkMDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdTdGF0ZVNjcm9s
bGluZ05vZGVNYWMubW0KQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVt
ZU1hYy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlVHJlZS5oIgogCi0jaWYgRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTExNyw0ICsxMTcsNCBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZTo6c2V0U2Nyb2xsYmFyUGFpbnRlcnNGcm9tU2Nyb2xsYmFycyhTY3JvbGxiYXIq
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9T
Q1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUaHJlYWRNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVGhyZWFkTWFjLm1t
CmluZGV4IDc4OTc1OTEwMjEwMmM4N2NmOGJlZmJjMzQyYmQ5YWQxZmI2ZWRhYzYuLjRiMjllYzBm
MjRhMDNlY2FhY2ZiOGFjZDllZDdkNDE1YmMxYTZmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUaHJlYWRNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RocmVhZE1hYy5tbQpAQCAtMjYs
NyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RocmVh
ZC5oIgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNf
U0NST0xMSU5HKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTcwLDQgKzcwLDQgQEAgdm9p
ZCBTY3JvbGxpbmdUaHJlYWQ6OnRocmVhZFJ1bkxvb3BTb3VyY2VDYWxsYmFjaygpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
CisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oCmlu
ZGV4IDE3ZjZiNTY3NjEyZTU3OWFjMjQ4OWU3OTg5NWE3NzVkZTBkZmQ5NDMuLjM2ZTQyOWI2MmI5
ODRiZmJlMjRmMGM3NjU5ZGVjYWFmM2YzMDAwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaApAQCAt
MjYsNyArMjYsNyBAQAogI2lmbmRlZiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlX2gKICNkZWZpbmUg
U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5H
KQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNpbmNsdWRlICJTY3JvbGxpbmdDb25z
dHJhaW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVOb2RlLmgiCkBAIC01Niw2ICs1Niw2
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykK
IAogI2VuZGlmIC8vIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGVfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0gYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5t
bQppbmRleCA4M2ZhNjI1ZTY0MDM1M2EzYzE2MTcxY2QzYTQzYWU3MDIyMzhjMmM0Li4wMmY4Mzll
NDRlMmIzYzI3MWU4NzdkZjQ5MmJhNDgzM2U1NTA1MjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5t
bQpAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcm9s
bGluZ1RyZWVGaXhlZE5vZGUuaCIKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisj
aWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKIAogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZS5oIgpAQCAtODUsNCArODUsNCBAQCB2
b2lkIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OnBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdl
KGNvbnN0IEludFJlY3QmIHZpZXdwbwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19T
Q1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oCmluZGV4IDIxMDRhYjg4
MTYwMDcxNTc3MTA4ZWY1NTY1OWVmY2E5ZGJhYzlkMDguLjViZTUzOWYyN2I5Njk0NDViMWU2NTEw
NTczOTkwMTc1ZTFkZjU3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oCkBA
IC0yNiw3ICsyNiw3IEBACiAjaWZuZGVmIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjX2gK
ICNkZWZpbmUgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWNfaAogCi0jaWYgRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogCiAjaW5jbHVk
ZSAiU2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVt
ZU1hYy5oIgpAQCAtOTQsNiArOTQsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2VuZGlmIC8vIEVO
QUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNlbmRpZiAvLyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZU1hY19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVNYWMubW0KaW5kZXggZjU0YjAw
MjU5OGYzMWY5ZWViMzEyNTQ2NjkwYmMyZGU5ZDc3ZWY1Mi4uZjBhMjljZWE1Y2FmYTMyZjEwYzdk
ODg2MmQ0ZTY5MzNjZGI1N2U1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5t
bQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJTY3JvbGxp
bmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oIgogCi0jaWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElO
RykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogCiAjaW1wb3J0ICJGcmFtZVZpZXcuaCIK
ICNpbXBvcnQgIk5TU2Nyb2xsZXJJbXBEZXRhaWxzLmgiCkBAIC00Niw3ICs0Niw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIHZvaWQgbG9nVGhyZWFkZWRTY3JvbGxpbmdNb2Rl
KHVuc2lnbmVkIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKTsKK3N0YXRpYyB2b2lkIGxvZ1Ro
cmVhZGVkU2Nyb2xsaW5nTW9kZSh1bnNpZ25lZCBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMp
Owogc3RhdGljIHZvaWQgbG9nV2hlZWxFdmVudEhhbmRsZXJDb3VudENoYW5nZWQodW5zaWduZWQp
OwogCiAKQEAgLTkyLDEwICs5Miw4IEBAIHZvaWQgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVN
YWM6OnVwZGF0ZUJlZm9yZUNoaWxkcmVuKFNjcm9sbGluZ1N0YXRlTm9kZSogc3RhCiAgICAgICAg
IG1faG9yaXpvbnRhbFNjcm9sbGJhclBhaW50ZXIgPSBzY3JvbGxpbmdTdGF0ZU5vZGUtPmhvcml6
b250YWxTY3JvbGxiYXJQYWludGVyKCk7CiAgICAgfQogCi0gICAgaWYgKHNjcm9sbGluZ1N0YXRl
Tm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6U2hv
dWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZCkpIHsKLSAgICAgICAgdW5z
aWduZWQgbWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMgPSB0aGlzLT5zaG91bGRVcGRhdGVTY3Jv
bGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCk7Ci0KLSAgICAgICAgaWYgKG1haW5UaHJlYWRT
Y3JvbGxpbmdSZWFzb25zKSB7CisgICAgaWYgKHNjcm9sbGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdl
ZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTo6UmVhc29uc0ZvclN5bmNocm9u
b3VzU2Nyb2xsaW5nKSkgeworICAgICAgICBpZiAoc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3Np
dGlvblN5bmNocm9ub3VzbHkoKSkgewogICAgICAgICAgICAgLy8gV2UncmUgdHJhbnNpdGlvbmlu
ZyB0byB0aGUgc2xvdyAidXBkYXRlIHNjcm9sbCBsYXllciBwb3NpdGlvbiBvbiB0aGUgbWFpbiB0
aHJlYWQiIG1vZGUuCiAgICAgICAgICAgICAvLyBJbml0aWFsaXplIHRoZSBwcm9iYWJsZSBtYWlu
IHRocmVhZCBzY3JvbGwgcG9zaXRpb24gd2l0aCB0aGUgY3VycmVudCBzY3JvbGwgbGF5ZXIgcG9z
aXRpb24uCiAgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nU3RhdGVOb2RlLT5oYXNDaGFuZ2VkUHJv
cGVydHkoU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpSZXF1ZXN0ZWRTY3JvbGxQb3NpdGlv
bikpCkBAIC0xMDcsNyArMTA1LDcgQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1h
Yzo6dXBkYXRlQmVmb3JlQ2hpbGRyZW4oU2Nyb2xsaW5nU3RhdGVOb2RlKiBzdGEKICAgICAgICAg
fQogCiAgICAgICAgIGlmIChzY3JvbGxpbmdUcmVlKCkuc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dn
aW5nRW5hYmxlZCgpKQotICAgICAgICAgICAgbG9nVGhyZWFkZWRTY3JvbGxpbmdNb2RlKG1haW5U
aHJlYWRTY3JvbGxpbmdSZWFzb25zKTsKKyAgICAgICAgICAgIGxvZ1RocmVhZGVkU2Nyb2xsaW5n
TW9kZShzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMoKSk7CiAgICAgfQogCiAgICAgaWYgKHNj
cm9sbGluZ1N0YXRlTm9kZS0+aGFzQ2hhbmdlZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlU2Nyb2xs
aW5nTm9kZTo6V2hlZWxFdmVudEhhbmRsZXJDb3VudCkpIHsKQEAgLTI5Miw3ICsyOTAsNyBAQCB2
b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjphZGp1c3RTY3JvbGxQb3NpdGlvblRv
Qm91bmRzSWZOZWNlc3NhcnkoKQogCiBJbnRQb2ludCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZU1hYzo6c2Nyb2xsUG9zaXRpb24oKSBjb25zdAogewotICAgIGlmIChzaG91bGRVcGRhdGVTY3Jv
bGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkpCisgICAgaWYgKHNob3VsZFVwZGF0ZVNjcm9s
bExheWVyUG9zaXRpb25TeW5jaHJvbm91c2x5KCkpCiAgICAgICAgIHJldHVybiBtX3Byb2JhYmxl
TWFpblRocmVhZFNjcm9sbFBvc2l0aW9uOwogCiAgICAgQ0dQb2ludCBzY3JvbGxMYXllclBvc2l0
aW9uID0gbV9zY3JvbGxMYXllci5nZXQoKS5wb3NpdGlvbjsKQEAgLTMxNSw3ICszMTMsNyBAQCB2
b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbldpdGhv
dXRDb250ZW50RWRnZUNvbnN0cmFpbgogewogICAgIHVwZGF0ZU1haW5GcmFtZVBpblN0YXRlKHNj
cm9sbFBvc2l0aW9uKTsKIAotICAgIGlmIChzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9u
T25NYWluVGhyZWFkKCkpIHsKKyAgICBpZiAoc2hvdWxkVXBkYXRlU2Nyb2xsTGF5ZXJQb3NpdGlv
blN5bmNocm9ub3VzbHkoKSkgewogICAgICAgICBtX3Byb2JhYmxlTWFpblRocmVhZFNjcm9sbFBv
c2l0aW9uID0gc2Nyb2xsUG9zaXRpb247CiAgICAgICAgIHNjcm9sbGluZ1RyZWUoKS51cGRhdGVN
YWluRnJhbWVTY3JvbGxQb3NpdGlvbihzY3JvbGxQb3NpdGlvbiwgU2V0U2Nyb2xsaW5nTGF5ZXJQ
b3NpdGlvbik7CiAgICAgICAgIHJldHVybjsKQEAgLTMyNyw3ICszMjUsNyBAQCB2b2lkIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRTY3JvbGxQb3NpdGlvbldpdGhvdXRDb250ZW50
RWRnZUNvbnN0cmFpbgogCiB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjOjpzZXRT
Y3JvbGxMYXllclBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbikKIHsKLSAgICBBU1NF
UlQoIXNob3VsZFVwZGF0ZVNjcm9sbExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQoKSk7CisgICAg
QVNTRVJUKCFzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uU3luY2hyb25vdXNseSgpKTsK
ICAgICBtX3Njcm9sbExheWVyLmdldCgpLnBvc2l0aW9uID0gQ0dQb2ludE1ha2UoLXBvc2l0aW9u
LngoKSArIHNjcm9sbE9yaWdpbigpLngoKSwgLXBvc2l0aW9uLnkoKSArIHNjcm9sbE9yaWdpbigp
LnkoKSk7CiAKICAgICBTY3JvbGxCZWhhdmlvckZvckZpeGVkRWxlbWVudHMgYmVoYXZpb3JGb3JG
aXhlZCA9IHNjcm9sbEJlaGF2aW9yRm9yRml4ZWRFbGVtZW50cygpOwpAQCAtNDYwLDIwICs0NTgs
MjAgQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYzo6bG9nRXhwb3NlZFVuZmls
bGVkQXJlYSgpCiAgICAgbV9sYXN0U2Nyb2xsSGFkVW5maWxsZWRQaXhlbHMgPSB1bmZpbGxlZEFy
ZWE7CiB9CiAKLXN0YXRpYyB2b2lkIGxvZ1RocmVhZGVkU2Nyb2xsaW5nTW9kZSh1bnNpZ25lZCBt
YWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucykKK3N0YXRpYyB2b2lkIGxvZ1RocmVhZGVkU2Nyb2xs
aW5nTW9kZSh1bnNpZ25lZCBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMpCiB7Ci0gICAgaWYg
KG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKSB7CisgICAgaWYgKHN5bmNocm9ub3VzU2Nyb2xs
aW5nUmVhc29ucykgewogICAgICAgICBTdHJpbmdCdWlsZGVyIHJlYXNvbnNEZXNjcmlwdGlvbjsK
IAotICAgICAgICBpZiAobWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMgJiBTY3JvbGxpbmdDb29y
ZGluYXRvcjo6Rm9yY2VkT25NYWluVGhyZWFkKQorICAgICAgICBpZiAoc3luY2hyb25vdXNTY3Jv
bGxpbmdSZWFzb25zICYgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OkZvcmNlZE9uTWFpblRocmVhZCkK
ICAgICAgICAgICAgIHJlYXNvbnNEZXNjcmlwdGlvbi5hcHBlbmQoImZvcmNlZCwiKTsKLSAgICAg
ICAgaWYgKG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zICYgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
Okhhc1Nsb3dSZXBhaW50T2JqZWN0cykKKyAgICAgICAgaWYgKHN5bmNocm9ub3VzU2Nyb2xsaW5n
UmVhc29ucyAmIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpIYXNTbG93UmVwYWludE9iamVjdHMpCiAg
ICAgICAgICAgICByZWFzb25zRGVzY3JpcHRpb24uYXBwZW5kKCJzbG93LXJlcGFpbnQgb2JqZWN0
cywiKTsKLSAgICAgICAgaWYgKG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zICYgU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6Okhhc1ZpZXdwb3J0Q29uc3RyYWluZWRPYmplY3RzV2l0aG91dFN1cHBvcnRp
bmdGaXhlZExheWVycykKKyAgICAgICAgaWYgKHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyAm
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpIYXNWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0c1dpdGhv
dXRTdXBwb3J0aW5nRml4ZWRMYXllcnMpCiAgICAgICAgICAgICByZWFzb25zRGVzY3JpcHRpb24u
YXBwZW5kKCJ2aWV3cG9ydC1jb25zdHJhaW5lZCBvYmplY3RzLCIpOwotICAgICAgICBpZiAobWFp
blRocmVhZFNjcm9sbGluZ1JlYXNvbnMgJiBTY3JvbGxpbmdDb29yZGluYXRvcjo6SGFzTm9uTGF5
ZXJWaWV3cG9ydENvbnN0cmFpbmVkT2JqZWN0cykKKyAgICAgICAgaWYgKHN5bmNocm9ub3VzU2Ny
b2xsaW5nUmVhc29ucyAmIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpIYXNOb25MYXllclZpZXdwb3J0
Q29uc3RyYWluZWRPYmplY3RzKQogICAgICAgICAgICAgcmVhc29uc0Rlc2NyaXB0aW9uLmFwcGVu
ZCgibm9uLWxheWVyIHZpZXdwb3J0LWNvbnN0cmFpbmVkIG9iamVjdHMsIik7Ci0gICAgICAgIGlm
IChtYWluVGhyZWFkU2Nyb2xsaW5nUmVhc29ucyAmIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpJc0lt
YWdlRG9jdW1lbnQpCisgICAgICAgIGlmIChzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMgJiBT
Y3JvbGxpbmdDb29yZGluYXRvcjo6SXNJbWFnZURvY3VtZW50KQogICAgICAgICAgICAgcmVhc29u
c0Rlc2NyaXB0aW9uLmFwcGVuZCgiaW1hZ2UgZG9jdW1lbnQsIik7CiAKICAgICAgICAgLy8gU3Ry
aXAgdGhlIHRyYWlsaW5nIGNvbW1hLgpAQCAtNDkxLDQgKzQ4OSw0IEBAIHZvaWQgbG9nV2hlZWxF
dmVudEhhbmRsZXJDb3VudENoYW5nZWQodW5zaWduZWQgY291bnQpCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYg
Ly8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgKaW5kZXggZjcw
ODE0YTk3MTRmYzdmMmM4MGM5N2RjNDA1ZDM0NTA2ZTZhYWExOC4uODBmZjQwMGU1NDlmNTRiMjM2
MjBhZTdmMzg4YTk0NTM1YmEwYTFkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgKQEAgLTI2LDcg
KzI2LDcgQEAKICNpZm5kZWYgU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGVfaAogI2RlZmluZSBTY3Jv
bGxpbmdUcmVlU3RpY2t5Tm9kZV9oCiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQor
I2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAKICNpbmNsdWRlICJTY3JvbGxpbmdDb25zdHJh
aW50cy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVOb2RlLmgiCkBAIC01Niw2ICs1Niw2IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShU
SFJFQURFRF9TQ1JPTExJTkcpCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykKIAog
I2VuZGlmIC8vIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5t
bQppbmRleCBkZTZjOTBjM2NmNDdjZjA1ZDdkOTAzYWVkNTczM2RmZGQ1OGU1ZmVlLi5iNWY2YTRl
NWU1MjU2ZDNkNTlhNDYxMzA1MmZjZjk2MzljNjAwY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2Rl
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2Ny
b2xsaW5nVHJlZVN0aWNreU5vZGUuaCIKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
CisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKIAogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWUuaCIKQEAgLTg5LDQgKzg5LDQg
QEAgdm9pZCBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6cGFyZW50U2Nyb2xsUG9zaXRpb25EaWRD
aGFuZ2UoY29uc3QgSW50UmVjdCYgdmlld3AKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0j
ZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNlbmRpZiAvLyBFTkFCTEUoQVNZ
TkNfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YmFyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5jcHAKaW5kZXggOWU0
YTYzYjExNzI3OGYzYzdmM2IwZDUzMjgxMzk3NzViNmQwY2JjNS4uYjk4Y2NhMzExZTQ1NTM0ZjVh
NGEyY2Q5NjlkZGNjMDRjODZjYTc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYmFyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXIu
Y3BwCkBAIC01NDcsNyArNTQ3LDcgQEAgYm9vbCBTY3JvbGxiYXI6OnN1cHBvcnRzVXBkYXRlT25T
ZWNvbmRhcnlUaHJlYWQoKSBjb25zdAogewogICAgIC8vIEl0J3MgdW5mb3J0dW5hdGUgdGhhdCB0
aGlzIG5lZWRzIHRvIGJlIGRvbmUgd2l0aCBhbiBpZmRlZi4gSWRlYWxseSB0aGVyZSB3b3VsZCBi
ZSBhYmxlIHRvIGZlYXR1cmUtZGV0ZWN0CiAgICAgLy8gdGhlIG5lY2Vzc2FyeSBzdXBwb3J0IHdp
dGhpbiBBcHBLaXQuCi0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTAwMCAmJiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lmIFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAg
JiYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYSA/
ICFtX3Njcm9sbGFibGVBcmVhLT51cGRhdGVzU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVh
ZCgpIDogZmFsc2U7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmgKaW5kZXggNDU2NjdjZmFhN2M1MGJk
OWZiNTQ1Yzc0ZjFkNWQ0MDg4NzZkMDg4OC4uYTA1ZGJmOWFmNWQ5NTEyZWZiMmQ3NzExMzU1OWQy
NGMyNmNhZTViMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
VGlsZWRCYWNraW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGls
ZWRCYWNraW5nLmgKQEAgLTM0LDkgKzM0LDkgQEAgY2xhc3MgUGxhdGZvcm1DQUxheWVyOwogI2Vu
ZGlmCiAKIGVudW0gU2Nyb2xsaW5nTW9kZUluZGljYXRpb24gewotICAgIE1haW5UaHJlYWRTY3Jv
bGxpbmdCZWNhdXNlT2ZTdHlsZUluZGljYXRpb24sCi0gICAgTWFpblRocmVhZFNjcm9sbGluZ0Jl
Y2F1c2VPZkV2ZW50SGFuZGxlcnNJbmRpY2F0aW9uLAotICAgIFRocmVhZGVkU2Nyb2xsaW5nSW5k
aWNhdGlvbgorICAgIFN5bmNocm9ub3VzU2Nyb2xsaW5nQmVjYXVzZU9mU3R5bGVJbmRpY2F0aW9u
LAorICAgIFN5bmNocm9ub3VzU2Nyb2xsaW5nQmVjYXVzZU9mRXZlbnRIYW5kbGVyc0luZGljYXRp
b24sCisgICAgQXN5bmNTY3JvbGxpbmdJbmRpY2F0aW9uCiB9OwogCiBjbGFzcyBUaWxlZEJhY2tp
bmcgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFj
L1RpbGVDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
bWFjL1RpbGVDb250cm9sbGVyLm1tCmluZGV4IGY5ODlmMzAxOTJjOGY5YjA0NWIzN2YwNDcwZDAz
OTcyNDkzMjE0YjcuLjAyZmI5Zjc4YjQzOGI2N2JkYWIzM2Y4NjU2OTNmNDU0MDBlOWNkZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL21hYy9UaWxlQ29u
dHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMv
VGlsZUNvbnRyb2xsZXIubW0KQEAgLTcwLDcgKzcwLDcgQEAgVGlsZUNvbnRyb2xsZXI6OlRpbGVD
b250cm9sbGVyKFBsYXRmb3JtQ0FMYXllciogcm9vdFBsYXRmb3JtTGF5ZXIpCiAgICAgLCBtX2Ns
aXBzVG9FeHBvc2VkUmVjdChmYWxzZSkKICAgICAsIG1faGFzVGlsZXNXaXRoVGVtcG9yYXJ5U2Nh
bGVGYWN0b3IoZmFsc2UpCiAgICAgLCBtX3RpbGVEZWJ1Z0JvcmRlcldpZHRoKDApCi0gICAgLCBt
X2luZGljYXRvck1vZGUoVGhyZWFkZWRTY3JvbGxpbmdJbmRpY2F0aW9uKQorICAgICwgbV9pbmRp
Y2F0b3JNb2RlKEFzeW5jU2Nyb2xsaW5nSW5kaWNhdGlvbikKIHsKICAgICBtX3RpbGVDb250YWlu
ZXJMYXllciA9IG1fdGlsZUNhY2hlTGF5ZXItPmNyZWF0ZUNvbXBhdGlibGVMYXllcihQbGF0Zm9y
bUNBTGF5ZXI6OkxheWVyVHlwZUxheWVyLCBudWxscHRyKTsKICNpZm5kZWYgTkRFQlVHCkBAIC05
NjMsMTMgKzk2MywxMyBAQCB2b2lkIFRpbGVDb250cm9sbGVyOjp1cGRhdGVUaWxlQ292ZXJhZ2VN
YXAoKQogCiAgICAgQ29sb3IgdmlzaWJsZVJlY3RJbmRpY2F0b3JDb2xvcjsKICAgICBzd2l0Y2gg
KG1faW5kaWNhdG9yTW9kZSkgewotICAgIGNhc2UgTWFpblRocmVhZFNjcm9sbGluZ0JlY2F1c2VP
ZlN0eWxlSW5kaWNhdGlvbjoKKyAgICBjYXNlIFN5bmNocm9ub3VzU2Nyb2xsaW5nQmVjYXVzZU9m
U3R5bGVJbmRpY2F0aW9uOgogICAgICAgICB2aXNpYmxlUmVjdEluZGljYXRvckNvbG9yID0gQ29s
b3IoMjU1LCAwLCAwKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNYWluVGhyZWFkU2Nyb2xs
aW5nQmVjYXVzZU9mRXZlbnRIYW5kbGVyc0luZGljYXRpb246CisgICAgY2FzZSBTeW5jaHJvbm91
c1Njcm9sbGluZ0JlY2F1c2VPZkV2ZW50SGFuZGxlcnNJbmRpY2F0aW9uOgogICAgICAgICB2aXNp
YmxlUmVjdEluZGljYXRvckNvbG9yID0gQ29sb3IoMjU1LCAyNTUsIDApOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIFRocmVhZGVkU2Nyb2xsaW5nSW5kaWNhdGlvbjoKKyAgICBjYXNlIEFzeW5j
U2Nyb2xsaW5nSW5kaWNhdGlvbjoKICAgICAgICAgdmlzaWJsZVJlY3RJbmRpY2F0b3JDb2xvciA9
IENvbG9yKDAsIDIwMCwgMCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVyTWFjLm1tCmlu
ZGV4IGFkODVlNjAxOTdkN2JiZTg4NDlmNGJkZGY4ZGFlMDRhMmU0OWRmYzMuLmFjOWQwY2ZhY2Nk
Y2I0YTMyOWQzYzI5ZmNkYzAwODI2OWY4MDkwOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL01lbW9yeVByZXNzdXJlSGFuZGxlck1hYy5tbQpAQCAtMTcxLDcg
KzE3MSw3IEBAIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpyZWxlYXNlTWVtb3J5KGJvb2wp
CiAgICAgLy8gRmFzdE1hbGxvYyBoYXMgbG9jay1mcmVlIHRocmVhZCBzcGVjaWZpYyBjYWNoZXMg
dGhhdCBjYW4gb25seSBiZSBjbGVhcmVkIGZyb20gdGhlIHRocmVhZCBpdHNlbGYuCiAgICAgU3Rv
cmFnZVRocmVhZDo6cmVsZWFzZUZhc3RNYWxsb2NGcmVlTWVtb3J5SW5BbGxUaHJlYWRzKCk7CiAg
ICAgV29ya2VyVGhyZWFkOjpyZWxlYXNlRmFzdE1hbGxvY0ZyZWVNZW1vcnlJbkFsbFRocmVhZHMo
KTsKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lmIEVOQUJMRShBU1lOQ19TQ1JP
TExJTkcpCiAgICAgU2Nyb2xsaW5nVGhyZWFkOjpkaXNwYXRjaChiaW5kKFdURjo6cmVsZWFzZUZh
c3RNYWxsb2NGcmVlTWVtb3J5KSk7CiAjZW5kaWYKICAgICBXVEY6OnJlbGVhc2VGYXN0TWFsbG9j
RnJlZU1lbW9yeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5k
ZXggNzFjZTQ2MDVjYjNmZTljYjFjOGNhMzcxZDQxOGU4ZWM0Yjc4MDJlMS4uMjQzYjEwMDJjM2Q1
Yjk4ZGI5NGU1NjgwOGIyZTU1NTdhMjE1YTg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC0zODk4LDEwICszODk4LDEwIEBAIGJvb2wgUmVuZGVyTGF5ZXI6
OnNldHVwRm9udFN1YnBpeGVsUXVhbnRpemF0aW9uKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Ym9vbCYKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgYm9vbCBzY3JvbGxpbmdPbk1haW5U
aHJlYWQgPSB0cnVlOwotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxF
KEFTWU5DX1NDUk9MTElORykKICAgICBpZiAoUGFnZSogcGFnZSA9IHJlbmRlcmVyKCkuZnJhbWUo
KS5wYWdlKCkpIHsKICAgICAgICAgaWYgKFNjcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdD
b29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCi0gICAgICAgICAgICBz
Y3JvbGxpbmdPbk1haW5UaHJlYWQgPSBzY3JvbGxpbmdDb29yZGluYXRvci0+c2hvdWxkVXBkYXRl
U2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVhZCgpOworICAgICAgICAgICAgc2Nyb2xsaW5n
T25NYWluVGhyZWFkID0gc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNob3VsZFVwZGF0ZVNjcm9sbExh
eWVyUG9zaXRpb25TeW5jaHJvbm91c2x5KCk7CiAgICAgfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggZWJjMDFkMWRi
MjAyMzU2OGIyMzg1NzM3OGIyYmRmNDZjZjE4ZWRhNy4uMDI1OWFiNWIxMTJkZjQ1MGFkYzI5NDVi
MThlYjg2MDA3OWY1OTIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKQEAgLTIzOCw3ICsyMzgsNyBAQCBzdGF0aWMgVGlsZWRCYWNraW5n
OjpUaWxlQ292ZXJhZ2UgY29tcHV0ZVRpbGVDb3ZlcmFnZShSZW5kZXJMYXllckJhY2tpbmcqIGJh
Y2tpbgogICAgIGlmIChTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3Ig
PSBzY3JvbGxpbmdDb29yZGluYXRvckZyb21MYXllcihiYWNraW5nLT5vd25pbmdMYXllcigpKSkg
ewogICAgICAgICAvLyBBc2sgb3VyIFRpbGVkQmFja2luZyBmb3IgbGFyZ2UgdGlsZXMgdW5sZXNz
IHRoZSBvbmx5IHJlYXNvbiB3ZSdyZSBtYWluLXRocmVhZC1zY3JvbGxpbmcKICAgICAgICAgLy8g
aXMgYSBwYWdlIG92ZXJsYXkgKGZpbmQtaW4tcGFnZSwgdGhlIFdlYiBJbnNwZWN0b3IgaGlnaGxp
Z2h0IG1lY2hhbmlzbSwgZXRjLikuCi0gICAgICAgIGlmIChzY3JvbGxpbmdDb29yZGluYXRvci0+
bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMoKSAmIH5TY3JvbGxpbmdDb29yZGluYXRvcjo6Rm9y
Y2VkT25NYWluVGhyZWFkKQorICAgICAgICBpZiAoc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnN5bmNo
cm9ub3VzU2Nyb2xsaW5nUmVhc29ucygpICYgflNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpGb3JjZWRP
bk1haW5UaHJlYWQpCiAgICAgICAgICAgICB0aWxlQ292ZXJhZ2UgfD0gVGlsZWRCYWNraW5nOjpD
b3ZlcmFnZUZvclNsb3dTY3JvbGxpbmc7CiAgICAgfQogICAgIHJldHVybiB0aWxlQ292ZXJhZ2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYjgwYzRjM2U5MTA2MDJjODJh
NTYxNjg1ZmJhMTBmZTRiMTliMGU4Mi4uYTc5NmU4Zjk1OWIxMDgwZTFlYWFjZjA3ZmIyYWJiNjYx
MmYzYzRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTcwNCw3ICsx
NzA0LDcgQEAgU3RyaW5nIEludGVybmFsczo6bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnMoRXhj
ZXB0aW9uQ29kZSYgZWMpIGNvbnN0CiAgICAgaWYgKCFwYWdlKQogICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7CiAKLSAgICByZXR1cm4gcGFnZS0+bWFpblRocmVhZFNjcm9sbGluZ1JlYXNvbnNBc1Rl
eHQoKTsKKyAgICByZXR1cm4gcGFnZS0+c3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zQXNUZXh0
KCk7CiB9CiAKIFBhc3NSZWZQdHI8Q2xpZW50UmVjdExpc3Q+IEludGVybmFsczo6bm9uRmFzdFNj
cm9sbGFibGVSZWN0cyhFeGNlcHRpb25Db2RlJiBlYykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbAppbmRleCAwNDdhNTA1ZjY4NWQ2NGYwZTBmNDAwZDhmYjk0ZDc3MGQ2Yjlj
NDk2Li4wNzY5M2I0NDc0ZDdhZmU1OWMyNTAyMTc3OWE1OGNhNDVhNTBkZTlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0xNzAsNyArMTcwLDcgQEAKICAgICBbUmFpc2Vz
RXhjZXB0aW9uXSBET01TdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KERvY3VtZW50IGRvY3VtZW50LCBv
cHRpb25hbCB1bnNpZ25lZCBzaG9ydCBmbGFncyk7CiAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBE
T01TdHJpbmcgc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0KCk7Ci0gICAgW1JhaXNlc0V4Y2VwdGlv
bl0gRE9NU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKCk7CisgICAgW1JhaXNlc0V4
Y2VwdGlvbl0gRE9NU3RyaW5nIG1haW5UaHJlYWRTY3JvbGxpbmdSZWFzb25zKCk7IC8vIEZJWE1F
OiByZW5hbWUgdG8gc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKCkuCiAgICAgW1JhaXNlc0V4
Y2VwdGlvbl0gQ2xpZW50UmVjdExpc3Qgbm9uRmFzdFNjcm9sbGFibGVSZWN0cygpOwogCiAgICAg
W1JhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHJlcGFpbnRSZWN0c0FzVGV4dCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNw
cAppbmRleCA5NTdhNGI1YzljZWY5OTA4MWY3ZWQ3MmYzNzA2ZTIzOWU3YTE4ZDFhLi41MjYwYzBm
MWVlMWZmMTM0YjhiMGFlMDExOTBjYTFkOWJjMjE1YjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcApAQCAtMzYsNyAr
MzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxv
b3AuaD4KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKEFTWU5D
X1NDUk9MTElORykKICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxpbmdUaHJlYWQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Nj
cm9sbGluZ1RyZWUuaD4KQEAgLTYwLDcgKzYwLDcgQEAgRXZlbnREaXNwYXRjaGVyOjp+RXZlbnRE
aXNwYXRjaGVyKCkKIHsKIH0KIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYg
RU5BQkxFKEFTWU5DX1NDUk9MTElORykKIHZvaWQgRXZlbnREaXNwYXRjaGVyOjphZGRTY3JvbGxp
bmdUcmVlRm9yUGFnZShXZWJQYWdlKiB3ZWJQYWdlKQogewogICAgIE11dGV4TG9ja2VyIGxvY2tl
cihtX3Njcm9sbGluZ1RyZWVzTXV0ZXgpOwpAQCAtODYsNyArODYsNyBAQCB2b2lkIEV2ZW50RGlz
cGF0Y2hlcjo6aW5pdGlhbGl6ZUNvbm5lY3Rpb24oQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVj
dGlvbikKIAogdm9pZCBFdmVudERpc3BhdGNoZXI6OndoZWVsRXZlbnQodWludDY0X3QgcGFnZUlE
LCBjb25zdCBXZWJXaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBib29sIGNhblJ1YmJlckJhbmRBdExl
ZnQsIGJvb2wgY2FuUnViYmVyQmFuZEF0UmlnaHQsIGJvb2wgY2FuUnViYmVyQmFuZEF0VG9wLCBi
b29sIGNhblJ1YmJlckJhbmRBdEJvdHRvbSkKIHsKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xM
SU5HKQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgTXV0ZXhMb2NrZXIgbG9ja2Vy
KG1fc2Nyb2xsaW5nVHJlZXNNdXRleCk7CiAgICAgaWYgKFNjcm9sbGluZ1RyZWUqIHNjcm9sbGlu
Z1RyZWUgPSBtX3Njcm9sbGluZ1RyZWVzLmdldChwYWdlSUQpKSB7CiAgICAgICAgIFBsYXRmb3Jt
V2hlZWxFdmVudCBwbGF0Zm9ybVdoZWVsRXZlbnQgPSBwbGF0Zm9ybSh3aGVlbEV2ZW50KTsKQEAg
LTEyNSw3ICsxMjUsNyBAQCB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hXaGVlbEV2ZW50
KHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViV2hlZWxFdmVudCYgdwogICAgIHdlYlBhZ2UtPndo
ZWVsRXZlbnQod2hlZWxFdmVudCk7CiB9CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5H
KQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiB2b2lkIEV2ZW50RGlzcGF0Y2hlcjo6c2Vu
ZERpZFJlY2VpdmVFdmVudCh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYkV2ZW50JiBldmVudCwg
Ym9vbCBkaWRIYW5kbGVFdmVudCkKIHsKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5wYXJlbnRQ
cm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFJlY2Vp
dmVFdmVudChzdGF0aWNfY2FzdDx1aW50MzJfdD4oZXZlbnQudHlwZSgpKSwgZGlkSGFuZGxlRXZl
bnQpLCBwYWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0V2ZW50RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0V2ZW50RGlzcGF0Y2hlci5oCmluZGV4IDMyOWEzOTVmNWMzNTU5YmFlMGZmNGIwY2NhZTc0MTc1
OTBlNDc1MWYuLjhkM2YyMjYwZjNiZjZjNTMyZDZlZWY3MTYwZjMxMzdmZWQwNzkyNDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERpc3BhdGNoZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVy
LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2ZW50
RGlzcGF0Y2hlcj4gY3JlYXRlKCk7CiAgICAgfkV2ZW50RGlzcGF0Y2hlcigpOwogCi0jaWYgRU5B
QkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogICAg
IHZvaWQgYWRkU2Nyb2xsaW5nVHJlZUZvclBhZ2UoV2ViUGFnZSopOwogICAgIHZvaWQgcmVtb3Zl
U2Nyb2xsaW5nVHJlZUZvclBhZ2UoV2ViUGFnZSopOwogI2VuZGlmCkBAIC02NiwxMyArNjYsMTMg
QEAgcHJpdmF0ZToKICAgICAvLyBUaGlzIGlzIGNhbGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQuCiAg
ICAgdm9pZCBkaXNwYXRjaFdoZWVsRXZlbnQodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJXaGVl
bEV2ZW50Jik7CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lmIEVOQUJMRShB
U1lOQ19TQ1JPTExJTkcpCiAgICAgdm9pZCBzZW5kRGlkUmVjZWl2ZUV2ZW50KHVpbnQ2NF90IHBh
Z2VJRCwgY29uc3QgV2ViRXZlbnQmLCBib29sIGRpZEhhbmRsZUV2ZW50KTsKICNlbmRpZgogCiAg
ICAgUmVmUHRyPFdvcmtRdWV1ZT4gbV9xdWV1ZTsKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JP
TExJTkcpCisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBNdXRleCBtX3Njcm9sbGlu
Z1RyZWVzTXV0ZXg7CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmVmUHRyPFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWU+PiBtX3Njcm9sbGluZ1RyZWVzOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZWE2YWQ0M2RhNzg1YzE5ZmI5ZjA4
ZDYxMjRmZjU0MTQxN2FiMWVkNC4uNTc0YWRmNzZjOGRlNDcwOWU4MThjNWJhMjQxZDNhNWJiMGIy
Y2YwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtMzE3LDcgKzMxNyw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBj
b25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgIG1fZHJhd2lu
Z0FyZWEgPSBEcmF3aW5nQXJlYTo6Y3JlYXRlKHRoaXMsIHBhcmFtZXRlcnMpOwogICAgIG1fZHJh
d2luZ0FyZWEtPnNldFBhaW50aW5nRW5hYmxlZChmYWxzZSk7CiAKLSNpZiBFTkFCTEUoVEhSRUFE
RURfU0NST0xMSU5HKQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAgICAgbV91c2VUaHJl
YWRlZFNjcm9sbGluZyA9IHBhcmFtZXRlcnMuc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5Ojp0aHJlYWRlZFNjcm9sbGluZ0VuYWJsZWRLZXkoKSk7CiAgICAgaWYgKCFt
X2RyYXdpbmdBcmVhLT5zdXBwb3J0c1RocmVhZGVkU2Nyb2xsaW5nKCkpCiAgICAgICAgIG1fdXNl
VGhyZWFkZWRTY3JvbGxpbmcgPSBmYWxzZTsKQEAgLTQyMyw3ICs0MjMsNyBAQCBXZWJQYWdlOjpX
ZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKICAgICB3ZWJQYWdlQ291bnRlci5pbmNyZW1lbnQoKTsKICNlbmRpZgogCi0j
aWYgRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5H
KQogICAgIGlmIChtX3VzZVRocmVhZGVkU2Nyb2xsaW5nKQogICAgICAgICBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5ldmVudERpc3BhdGNoZXIoKS5hZGRTY3JvbGxpbmdUcmVlRm9yUGFnZSh0aGlzKTsK
ICNlbmRpZgpAQCAtNDM2LDcgKzQzNiw3IEBAIFdlYlBhZ2U6On5XZWJQYWdlKCkKIAogICAgIEFT
U0VSVCghbV9wYWdlKTsKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5B
QkxFKEFTWU5DX1NDUk9MTElORykKICAgICBpZiAobV91c2VUaHJlYWRlZFNjcm9sbGluZykKICAg
ICAgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuZXZlbnREaXNwYXRjaGVyKCkucmVtb3ZlU2Nyb2xs
aW5nVHJlZUZvclBhZ2UodGhpcyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhLm1tCmluZGV4IGIwOTI2ODkyZTQ0ZDYzZjJlOTJiMWM2YjFkMGYzMjliZGRj
ZGI5MDAuLjA0MmE2ZDkwODMyYjE2NDg4YTcyOWFiYjdkNjAxYTg3NWI1ZTk1YTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNTIsNyArNTIsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9UaWxlZEJhY2tpbmcuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAKLSNpZiBFTkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lmIEVOQUJMRShBU1lOQ19T
Q1JPTExJTkcpCiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1Njcm9sbGluZ1RocmVhZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxp
bmdUcmVlLmg+CkBAIC0xODYsOSArMTg2LDkgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYTo6c2NoZWR1bGVDb21wb3NpdGluZ0xheWVyRmx1c2goKQogCiB2b2lkIFRpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpkaWRJbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkq
IHBhZ2VPdmVybGF5KQogewotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5B
QkxFKEFTWU5DX1NDUk9MTElORykKICAgICBpZiAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9s
bGluZ0Nvb3JkaW5hdG9yID0gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5zY3JvbGxpbmdDb29yZGlu
YXRvcigpKQotICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2V0Rm9yY2VNYWluVGhyZWFk
U2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXModHJ1ZSk7CisgICAgICAgIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLT5zZXRGb3JjZVN5bmNocm9ub3VzU2Nyb2xsTGF5ZXJQb3NpdGlvblVwZGF0ZXModHJ1
ZSk7CiAjZW5kaWYKIAogICAgIGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIocGFnZU92ZXJsYXkpOwpA
QCAtMjAyLDEwICsyMDIsMTAgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6
ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqIHBhZ2VPdmUKICAgICBpZiAobV9w
YWdlT3ZlcmxheUxheWVycy5zaXplKCkpCiAgICAgICAgIHJldHVybjsKIAotI2lmIEVOQUJMRShU
SFJFQURFRF9TQ1JPTExJTkcpCisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBpZiAo
UGFnZSogcGFnZSA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKSkgewogICAgICAgICBpZiAoU2Nyb2xs
aW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29v
cmRpbmF0b3IoKSkKLSAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zZXRGb3JjZU1h
aW5UaHJlYWRTY3JvbGxMYXllclBvc2l0aW9uVXBkYXRlcyhmYWxzZSk7CisgICAgICAgICAgICBz
Y3JvbGxpbmdDb29yZGluYXRvci0+c2V0Rm9yY2VTeW5jaHJvbm91c1Njcm9sbExheWVyUG9zaXRp
b25VcGRhdGVzKGZhbHNlKTsKICAgICB9CiAjZW5kaWYKIH0KQEAgLTI0MSw3ICsyNDEsNyBAQCB2
b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlJgogewogICAgIFNldHRpbmdzJiBzZXR0aW5ncyA9IG1fd2Vi
UGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKTsKIAotI2lmIEVOQUJMRShUSFJFQURFRF9TQ1JP
TExJTkcpCisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBpZiAoU2Nyb2xsaW5nQ29v
cmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5z
Y3JvbGxpbmdDb29yZGluYXRvcigpKSB7CiAgICAgICAgIGJvb2wgc2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCA9IG1fd2ViUGFnZS0+c2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5n
RW5hYmxlZCgpOwogICAgICAgICBTY3JvbGxpbmdUaHJlYWQ6OmRpc3BhdGNoKGJpbmQoJlNjcm9s
bGluZ1RyZWU6OnNldFNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQsIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yLT5zY3JvbGxpbmdUcmVlKCksIHNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQpKTsKQEAgLTMwMiw3ICszMDIsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9zaXRpb24oYwog
ewogICAgIEZ1bmN0aW9uPHZvaWQgKCk+IGZ1bmN0aW9uID0gZnVuY3Rpb25SZWY7CiAKLSNpZiBF
TkFCTEUoVEhSRUFERURfU0NST0xMSU5HKQorI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCiAg
ICAgaWYgKCFtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpIHsK
ICAgICAgICAgZnVuY3Rpb24oKTsKICAgICAgICAgcmV0dXJuOwo=
</data>
<flag name="review"
          id="243472"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>