<?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>99771</bug_id>
          
          <creation_ts>2012-10-18 15:53:50 -0700</creation_ts>
          <short_desc>[WK2] WebKit2 does not build without PLUGIN_PROCESS on Mac</short_desc>
          <delta_ts>2012-10-18 19:44:00 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>gustavo</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>745673</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-10-18 15:53:50 -0700</bug_when>
    <thetext>And that is getting pretty annoying. Let&apos;s fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745699</commentid>
    <comment_count>1</comment_count>
      <attachid>169499</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-10-18 16:10:42 -0700</bug_when>
    <thetext>Created attachment 169499
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745710</commentid>
    <comment_count>2</comment_count>
      <attachid>169499</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-18 16:19:05 -0700</bug_when>
    <thetext>Comment on attachment 169499
Patch

Attachment 169499 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14464179</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745726</commentid>
    <comment_count>3</comment_count>
      <attachid>169504</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-10-18 16:37:38 -0700</bug_when>
    <thetext>Created attachment 169504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745866</commentid>
    <comment_count>4</comment_count>
      <attachid>169504</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-10-18 18:36:57 -0700</bug_when>
    <thetext>Comment on attachment 169504
Patch

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

&gt; Source/WebKit2/Platform/CoreIPC/MessageID.h:115
&gt; +#if ENABLE(PLUGIN_PROCESS)
&gt;      // Messages sent by the UI process to the shared worker process.
&gt;      MessageClassSharedWorkerProcess,
&gt; +#endif // ENABLE(PLUGIN_PROCESS)

I think this should be ENABLE(SHARED_WORKER_PROCESS).

&gt; Source/WebKit2/UIProcess/Launcher/ProcessLauncher.h:51
&gt;          PluginProcess,

Maybe PluginProcess should be surrounded with #ifdefs too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745900</commentid>
    <comment_count>5</comment_count>
      <attachid>169534</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-10-18 19:20:53 -0700</bug_when>
    <thetext>Created attachment 169534
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745913</commentid>
    <comment_count>6</comment_count>
      <attachid>169534</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-18 19:43:56 -0700</bug_when>
    <thetext>Comment on attachment 169534
Patch for landing

Clearing flags on attachment: 169534

Committed r131844: &lt;http://trac.webkit.org/changeset/131844&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745914</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-18 19:44:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169499</attachid>
            <date>2012-10-18 16:10:42 -0700</date>
            <delta_ts>2012-10-18 16:37:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99771-20121018160927.patch</filename>
            <type>text/plain</type>
            <size>51520</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDdlY2M5MzU4ZTg3ZWI0
MWNmZjE2OTU2YzZjM2ExMGFkNzFhZjgzYS4uYzk1OWZiOTM3NzYwZDMxYzM1ZDg3NGI1YmY4NmJk
YzdhNDViZTc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTE4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFNhZmFy
aSBkb2VzIG5vdCBidWlsZCB3aXRob3V0IFBMVUdJTl9QUk9DRVNTCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTc3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IFRoZSBzeW1i
b2wgaXMgdXNlZCBieSBXZWJDb3JlIFRlc3QgU3VwcG9ydCwgbW92ZSBpdAorICAgICAgICB0byB0
aGUgZ2VuZXJhbCBzZWN0aW9uLgorCiAyMDEyLTEwLTE3ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJl
aG5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OmNv
bnRlbnREYXRhRXF1aXZhbGVudCBvbmx5IGxvb2tzIGF0IHRoZSBmaXJzdCBDb250ZW50RGF0YQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDcxZWIxODM2NmM0NWNkMjc3NTEyOThkYzc1MWYyYjczZTM2NjU1OGYuLjFm
NzUyZmM0MGU5YzQzNDU0NTYzY2ZjNDcyNDM3NDhmMDQyZWIzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxMi0xMC0xOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbV0syXSBTYWZhcmkgZG9lcyBub3QgYnVpbGQgd2l0aG91dCBQTFVH
SU5fUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTk3NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKSwgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VT
UykgYW5kIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQorICAgICAgICBhcyBuZWVkZWQgdG8g
ZXhjbHVkZSB0aGUgY29kZSB3aXRoIGRlcGVuZGVuY2llcyBvbiBQTFVHSU5fUFJPQ0VTUy4KKwor
ICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmg6CisgICAgICAgICogU2hhcmVk
L1NoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAqIFNo
YXJlZC9TaGFyZWRXb3JrZXJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICog
U2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmNwcDoKKyAgICAgICAgKiBT
aGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MuaDoKKyAgICAgICAgKiBTaGFy
ZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAg
ICogU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01hYy5tbToKKyAg
ICAgICAgKiBTaGFyZWRXb3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFpbk1h
Yy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdLQ29udGV4dFNldEFkZGl0aW9uYWxQbHVnaW5zRGlyZWN0b3J5KToKKyAgICAgICAgKFdLQ29u
dGV4dEdldFBsdWdpblNpdGVEYXRhTWFuYWdlcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdLUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyR2V0VHlwZUlEKToKKyAgICAgICAgKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyR2V0U2l0
ZXNXaXRoRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6cHJvY2Vzc1R5cGVBc1N0
cmluZyk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6Z2V0UHJvY2Vzc1R5cGVG
cm9tU3RyaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMu
bW06CisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZVByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luSW5mb1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1
Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9XZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9tYWMv
UGx1Z2luSW5mb1N0b3JlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6
OmdldFBsdWdpbkluZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJl
ZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvU2hhcmVkV29y
a2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9T
aGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5Lm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6V2ViQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRl
eHQ6On5XZWJDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2hvdWxkVGVy
bWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZGlzY29ubmVjdFByb2Nlc3Mp
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgor
ICAgICAgICAoV2ViQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKToKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQmxvY2tJ
bnNlY3VyZVBsdWdpblZlcnNpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lmg6CisgICAgICAgIChXZWJQcm9jZXNzUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0MlByZWZpeC5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlUGx1
Z2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnJlY3JlYXRlUGx1
Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6V2Vi
UGxhdGZvcm1TdHJhdGVnaWVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpyZWZyZXNoUGx1Z2lucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Z2V0UGx1Z2luSW5mbyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgIChX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpjcmVhdGVQbHVnaW4pOgorICAgICAgICAoV2ViS2l0OjpjYW5QbHVn
aW5IYW5kbGVSZXNwb25zZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKFdlYlBhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
OgorICAgICAgICAoV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluOgorCiAyMDEyLTEwLTE1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIE1lc3NhZ2VFbmNvZGVyIGFuZCBNZXNzYWdlRGVjb2Rl
ciBzdWJjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGQ1YmY4NWVmMzVmNmEzN2RmNGRm
MGM0YjljMDE3ZDY5NWZjN2I3YWYuLjEwM2U5NDBlZDZlZDBkYWQ4MjA3YjhjMTE3ZDNkNzVlZGNh
OGI0NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC02MjksNiArNjI5LDcgQEAgX19aTjdXZWJD
b3JlMjVIaXN0b3J5UHJvcGVydHlMaXN0V3JpdGVyQzJFdgogX19aTjdXZWJDb3JlMjVJbW11dGFi
bGVTdHlsZVByb3BlcnR5U2V0RDFFdgogX19aTjdXZWJDb3JlMjVhZGRMYW5ndWFnZUNoYW5nZU9i
c2VydmVyRVB2UEZ2UzBfRQogX19aTjdXZWJDb3JlMjVjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVz
RU5TXzE3Vmlld3BvcnRBcmd1bWVudHNFaWlpZk5TXzdJbnRTaXplRQorX19aTjdXZWJDb3JlMjVq
c1N0cmluZ1dpdGhDYWNoZVNsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk4zV1RGN0hhc2hNYXBJ
UE5TM18xMFN0cmluZ0ltcGxFTlMwXzRXZWFrSU5TMF84SlNTdHJpbmdFRUVOUzNfN1B0ckhhc2hJ
UzZfRUVOUzNfMTBIYXNoVHJhaXRzSVM2X0VFTlNDX0lTOV9FRUVFUzZfCiBfX1pON1dlYkNvcmUy
NlVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yMjdwcm9jZXNzaW5nVXNlclR5cGluZ0dlc3R1cmVF
dgogX19aTjdXZWJDb3JlMjZVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcjI4Zm9jdXNlZEVsZW1l
bnRBdEdlc3R1cmVTdGFydEV2CiBfX1pON1dlYkNvcmUyNnN0b3BPYnNlcnZpbmdDb29raWVDaGFu
Z2VzRXYKQEAgLTIzNjEsNyArMjM2Miw2IEBAIF9fTlBOX1VURjhGcm9tSWRlbnRpZmllcgogX19a
TjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjB3aW5kb3dTY3JpcHROUE9iamVjdEV2CiBfX1pO
N1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNsZWFudXBTY3JpcHRPYmplY3RzRm9yUGx1Z2lu
RVB2CiBfX1pON1dlYkNvcmUxN0hUTUxQbHVnSW5FbGVtZW50MTFnZXROUE9iamVjdEV2Ci1fX1pO
N1dlYkNvcmUyNWpzU3RyaW5nV2l0aENhY2hlU2xvd0Nhc2VFUE4zSlNDOUV4ZWNTdGF0ZUVSTjNX
VEY3SGFzaE1hcElQTlMzXzEwU3RyaW5nSW1wbEVOUzBfNFdlYWtJTlMwXzhKU1N0cmluZ0VFRU5T
M183UHRySGFzaElTNl9FRU5TM18xMEhhc2hUcmFpdHNJUzZfRUVOU0NfSVM5X0VFRUVTNl8KIF9f
Wk5LN1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luOWNhbkFjY2Vzc0VQS1MwXwogX19aTks3V2ViQ29y
ZTRLVVJMN2hhc1BhdGhFdgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9NZXNzYWdlSUQuaAppbmRleCAzOGEzMWNiYTY4ODE5MzA2NWE3NDE1OTA4MTNmZTQ2OTllZTVi
MzdlLi5kMTg0YTUwZDRiNTIwYTA0OWYwNjE4NWExYjU5YjIwZjgzNzc0OGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEwOSw4ICsxMDksMTAgQEAg
ZW51bSBNZXNzYWdlQ2xhc3MgewogICAgIC8vIE1lc3NhZ2VzIHNlbnQgYnkgdGhlIFVJIHByb2Nl
c3MgdG8gdGhlIG5ldHdvcmsgcHJvY2Vzcy4KICAgICBNZXNzYWdlQ2xhc3NOZXR3b3JrUHJvY2Vz
cywKIAorI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICAvLyBNZXNzYWdlcyBzZW50IGJ5
IHRoZSBVSSBwcm9jZXNzIHRvIHRoZSBzaGFyZWQgd29ya2VyIHByb2Nlc3MuCiAgICAgTWVzc2Fn
ZUNsYXNzU2hhcmVkV29ya2VyUHJvY2VzcywKKyNlbmRpZiAvLyBFTkFCTEUoUExVR0lOX1BST0NF
U1MpCiAKICAgICAvLyBNZXNzYWdlcyBzZW50IGJ5IHRoZSBzaGFyZWQgd29ya2VyIHByb2Nlc3Mg
dG8gdGhlIFVJIHByb2Nlc3MuCiAgICAgTWVzc2FnZUNsYXNzU2hhcmVkV29ya2VyUHJvY2Vzc1By
b3h5LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdvcmtlclByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdv
cmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGZhNTY0YWRjMTRhNjQ0YzEz
NTZjZGQxY2U1YWU3ZmY0MWNlZTk0MjcuLmI2NjkzMDdlYmMyMzA2ZmY5N2I4MGU0OTczY2NlYzE3
OTRjOWJhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWRXb3JrZXJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
U2hhcmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTI2LDYgKzI2LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQor
CiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC02
MCwzICs2Miw1IEBAIGJvb2wgU2hhcmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjCiAKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWRXb3JrZXJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggM2E2MGI0YzNkNjdiNGU1ZDE5YmY1MzNiMGFlYzM0ZWEy
OTlhNzc5ZC4uM2ZlZjk3NTM1YjI0NDY1YjA5NDQyNGE5NTI1OTNjZmNiOGNjMzgyMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVkV29ya2VyUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVmIFNoYXJlZFdv
cmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnNfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzX2gKIAorI2lmIEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NF
U1MpCisKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1B
QykKQEAgLTU1LDQgKzU3LDYgQEAgc3RydWN0IFNoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShT
SEFSRURfV09SS0VSX1BST0NFU1MpCisKICNlbmRpZiAvLyBTaGFyZWRXb3JrZXJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtl
clByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRX
b3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MuY3BwCmluZGV4IDVjNGIyMDZhMDhhNWUx
Zjc1NjQ0OTY1MWQ3ZmRiNTEwNjBmZWVhOGEuLmZjMjEwODhjZTQyZDkxYjNhMGNjMWM0ZGRmMzM5
NDBlY2YyYzEyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nl
c3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkV29y
a2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclByb2Nlc3MuaCIKIAorI2lm
IEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCisKICNpbmNsdWRlICJBcmd1bWVudENvZGVy
cy5oIgogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCkBAIC0xOTIsMyArMTk0LDUgQEAgdm9pZCBTaGFyZWRX
b3JrZXJQcm9jZXNzOjptaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCkKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdv
cmtlclByb2Nlc3MuaAppbmRleCBkODY0MTU1N2VkM2FjOGE0ODMxM2Q2NjhhZDAzZWQyMWEzMGZk
Y2QxLi4wODU0MzllZDg1YTgzMjU4MTU2YTJhMTc2ZTk1MmYwY2ZiYTkzY2VhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclBy
b2Nlc3MuaApAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBTaGFyZWRXb3JrZXJQcm9jZXNzX2gK
ICNkZWZpbmUgU2hhcmVkV29ya2VyUHJvY2Vzc19oCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktF
Ul9QUk9DRVNTKQorCiAjaW5jbHVkZSAiQ2hpbGRQcm9jZXNzLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIApAQCAtODAsNCArODIsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCisKICNlbmRp
ZiAvLyBTaGFyZWRXb3JrZXJQcm9jZXNzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZFdvcmtlclByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5tZXNzYWdl
cy5pbgppbmRleCAyMzk1MmY5YTcxMGFjZDExOTIzZTUyOGU3NjEzNTU2OTllNjdiNTE1Li4zY2Q3
NTMzN2I3ZmVlODQ2OWIwOTRlODE0OGVhNTVjMzY5MjQ5ODlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQ
cm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yMCw2ICsyMCw4IEBACiAjIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQor
CiBtZXNzYWdlcyAtPiBTaGFyZWRXb3JrZXJQcm9jZXNzIHsKICAgICAjIEluaXRpYWxpemVzIHRo
ZSBzaGFyZWQgd29ya2VyIHByb2Nlc3MuCiAgICAgSW5pdGlhbGl6ZVNoYXJlZFdvcmtlclByb2Nl
c3MoV2ViS2l0OjpTaGFyZWRXb3JrZXJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMpCkBAIC0yOSwzICszMSw1IEBAIG1lc3NhZ2VzIC0+IFNoYXJlZFdv
cmtlclByb2Nlc3MgewogICAgICMgYSBjb25uZWN0aW9uIGlkZW50aWZpZXIuCiAgICAgQ3JlYXRl
V2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKQogfQorCisjZW5kaWYgLy8gRU5BQkxFKFNIQVJFRF9XT1JL
RVJfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nl
c3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRX
b3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFjLm1tCmluZGV4IDgxYjFmNjA3
OTBlYWE4NDE0NWIzYTk4M2MyZmE1ZjZkN2VhMTg4MTEuLjM0MWFmZTk2YTI2N2Y4MDJhODY2MjMy
YzExNzY3NGVkOTRhMDk4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtl
clByb2Nlc3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01hYy5tbQpAQCAt
MjYsNiArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJTaGFyZWRXb3JrZXJQ
cm9jZXNzLmgiCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW1wb3J0
ICJTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiU2hhcmVkV29y
a2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6
ZWRTdHJpbmdzLmg+CkBAIC03MiwzICs3NCw1IEBAIHZvaWQgU2hhcmVkV29ya2VyUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplKGNvbnN0IFNoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFNIQVJFRF9XT1JL
RVJfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nl
c3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWluTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01haW5NYWMubW0KaW5kZXgg
MDI0ZjEwOTQ5OThjOTZiOTg1NDZkYTgxYTBlYjE1MDVjOTMxNjQwYi4uZDk0ZDQ4YjQ1YTVkMGQw
NzA4OTk5MGI4MzVhMGY1Njc5OGM2ZWZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01haW5NYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vz
c01haW5NYWMubW0KQEAgLTI2LDYgKzI2LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9y
dCAiU2hhcmVkV29ya2VyUHJvY2Vzc01haW4uaCIKIAorI2lmIEVOQUJMRShTSEFSRURfV09SS0VS
X1BST0NFU1MpCisKICNpbXBvcnQgIkNvbW1hbmRMaW5lLmgiCiAjaW1wb3J0ICJFbnZpcm9ubWVu
dFV0aWxpdGllcy5oIgogI2ltcG9ydCAiU2hhcmVkV29ya2VyUHJvY2Vzcy5oIgpAQCAtMTA1LDMg
KzEwNyw1IEBAIGludCBTaGFyZWRXb3JrZXJQcm9jZXNzTWFpbihjb25zdCBDb21tYW5kTGluZSYg
Y29tbWFuZExpbmUpCiB9CiAKIH0KKworI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09SS0VSX1BS
T0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCmlu
ZGV4IDI2ZTRhYjZhNDkwYmIwNmEyMmVhNjgzYWJmYzcwYTQzOTZmNTFjY2EuLjExN2JiZWRhMzE0
ZDFkYmU2YjBjNjU1NWExZmYyODBjYzc1NDAyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiV2Vi
VVJMUmVxdWVzdC5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpAQCAtMTQyLDcgKzE0
MywxMiBAQCB2b2lkIFdLQ29udGV4dFNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoV0tDb250ZXh0
UmVmIGNvbnRleHRSZWYsIGJvb2wgdXNlRm9udFNtbwogCiB2b2lkIFdLQ29udGV4dFNldEFkZGl0
aW9uYWxQbHVnaW5zRGlyZWN0b3J5KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1N0cmluZ1Jl
ZiBwbHVnaW5zRGlyZWN0b3J5KQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
ICAgIHRvSW1wbChjb250ZXh0UmVmKS0+c2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkodG9J
bXBsKHBsdWdpbnNEaXJlY3RvcnkpLT5zdHJpbmcoKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShjb250ZXh0UmVmKTsKKyAgICBVTlVTRURfUEFSQU0ocGx1Z2luc0RpcmVjdG9yeSk7CisjZW5k
aWYKIH0KIAogdm9pZCBXS0NvbnRleHRSZWdpc3RlclVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChX
S0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tTdHJpbmdSZWYgdXJsU2NoZW1lKQpAQCAtMjI0LDcg
KzIzMCwxMSBAQCBXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYgV0tDb250ZXh0R2V0Tm90aWZpY2F0
aW9uTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dFJlZgogCiBXS1BsdWdpblNpdGVEYXRhTWFu
YWdlclJlZiBXS0NvbnRleHRHZXRQbHVnaW5TaXRlRGF0YU1hbmFnZXIoV0tDb250ZXh0UmVmIGNv
bnRleHRSZWYpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgcmV0dXJu
IHRvQVBJKHRvSW1wbChjb250ZXh0UmVmKS0+cGx1Z2luU2l0ZURhdGFNYW5hZ2VyKCkpOworI2Vs
c2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgogfQogCiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVm
IFdLQ29udGV4dEdldFJlc291cmNlQ2FjaGVNYW5hZ2VyKFdLQ29udGV4dFJlZiBjb250ZXh0UmVm
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BsdWdp
blNpdGVEYXRhTWFuYWdlci5jcHAKaW5kZXggMTc5NjEwYjBjZGMzOWE2ZDNkM2ZhNDdhZGFjNzU5
NjE2OTE1MWM4ZS4uMzk1MzlmNDQ5NWIwZWE1ZmRmNGVjZTMwMzY1OWVjYzFhMjA3OGZmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQbHVnaW5T
aXRlRGF0YU1hbmFnZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCIKIAorI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldlYlBsdWdpblNpdGVEYXRh
TWFuYWdlci5oIgogCkBAIC0zOCwxMiArMzksMjIgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
V0tUeXBlSUQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRUeXBlSUQoKQogeworI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHJldHVybiB0b0FQSShXZWJQbHVnaW5TaXRlRGF0
YU1hbmFnZXI6OkFQSVR5cGUpOworI2Vsc2UKKyAgICByZXR1cm4gQVBJT2JqZWN0OjpUeXBlTnVs
bDsKKyNlbmRpZgogfQogCiB2b2lkIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyR2V0U2l0ZXNXaXRo
RGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2VyUmVmLCB2b2lkKiBjb250ZXh0
LCBXS1BsdWdpblNpdGVEYXRhTWFuYWdlckdldFNpdGVzV2l0aERhdGFGdW5jdGlvbiBjYWxsYmFj
aykKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICB0b0ltcGwobWFuYWdl
clJlZiktPmdldFNpdGVzV2l0aERhdGEoQXJyYXlDYWxsYmFjazo6Y3JlYXRlKGNvbnRleHQsIGNh
bGxiYWNrKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShtYW5hZ2VyUmVmKTsKKyAgICBVTlVT
RURfUEFSQU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKKyNlbmRpZgog
fQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwCmluZGV4IDc3MWE2
ZWVmNzEyZjZkNzFkZGFhZmY0YmU5MmZjYjU3MTBmMDdiZTIuLmRkNWQzOGFiNTg3YmU3MzRiYThj
ZjQ3NjJjMDg0ZmM4ZmJlNTVhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03Nyw4ICs3NywxMCBAQCBjb25zdCBj
aGFyKiBQcm9jZXNzTGF1bmNoZXI6OnByb2Nlc3NUeXBlQXNTdHJpbmcoUHJvY2Vzc1R5cGUgcHJv
Y2Vzc1R5cGUpCiAgICAgICAgIHJldHVybiAicGx1Z2lucHJvY2VzcyI7CiAgICAgY2FzZSBOZXR3
b3JrUHJvY2VzczoKICAgICAgICAgcmV0dXJuICJuZXR3b3JrcHJvY2VzcyI7CisjaWYgRU5BQkxF
KFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKICAgICBjYXNlIFNoYXJlZFdvcmtlclByb2Nlc3M6CiAg
ICAgICAgIHJldHVybiAic2hhcmVkd29ya2VycHJvY2VzcyI7CisjZW5kaWYKICAgICB9CiAKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTEwMSwxMiArMTAzLDEyIEBAIGJvb2wgUHJvY2Vz
c0xhdW5jaGVyOjpnZXRQcm9jZXNzVHlwZUZyb21TdHJpbmcoY29uc3QgY2hhciogc3RyaW5nLCBQ
cm9jZXNzVHlwZSYKICAgICAgICAgcHJvY2Vzc1R5cGUgPSBOZXR3b3JrUHJvY2VzczsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQotCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VT
UykKICAgICBpZiAoIXN0cmNtcChzdHJpbmcsICJzaGFyZWR3b3JrZXJwcm9jZXNzIikpIHsKICAg
ICAgICAgcHJvY2Vzc1R5cGUgPSBTaGFyZWRXb3JrZXJQcm9jZXNzOwogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9Ci0KKyNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCmluZGV4
IDU5ODNhNzZhNzU5YmJjYmI1NjJhMDk0NGEyN2Q0MzdlZDIyODMwNDcuLmJjMmIxY2Y0ZWFmZjMz
ZGI2ZTIzNjlmOGExYjM2MzBmZGQ5NjRjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUwLDcgKzUwLDkgQEAgcHVibGlj
OgogICAgICAgICBXZWJQcm9jZXNzLAogICAgICAgICBQbHVnaW5Qcm9jZXNzLAogICAgICAgICBO
ZXR3b3JrUHJvY2VzcywKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogICAgICAg
ICBTaGFyZWRXb3JrZXJQcm9jZXNzCisjZW5kaWYKICAgICB9OwogCiAgICAgc3RydWN0IExhdW5j
aE9wdGlvbnMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCBhOWMyMGRhMzI0MjFmMjYyZDI3
MWUwNWI4ZDQwMTRkYWJlYzE3NmZhLi44ODNmMzAzMmYxNDY2NWEyMTY1MDVmMDExODcwNDAyZjRh
ZjA2Mzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFj
L1Byb2Nlc3NMYXVuY2hlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQpAQCAtMzgwLDkgKzM4MCwxMSBAQCBzdGF0
aWMgdm9pZCBjcmVhdGVQcm9jZXNzKGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9u
cyYgbGF1bmNoT3B0aW9ucywgYgogICAgICAgICBwcm9jZXNzUGF0aCA9IFt3ZWJLaXQyQnVuZGxl
IHBhdGhGb3JBdXhpbGlhcnlFeGVjdXRhYmxlOkAiTmV0d29ya1Byb2Nlc3MuYXBwIl07CiAgICAg
ICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKICAg
ICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6U2hhcmVkV29ya2VyUHJvY2VzczoKICAgICAgICAgcHJv
Y2Vzc1BhdGggPSBbd2ViS2l0MkJ1bmRsZSBwYXRoRm9yQXV4aWxpYXJ5RXhlY3V0YWJsZTpAIlNo
YXJlZFdvcmtlclByb2Nlc3MuYXBwIl07CiAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgfQog
CiAgICAgTlNTdHJpbmcgKmZyYW1ld29ya0V4ZWN1dGFibGVQYXRoID0gW3dlYktpdDJCdW5kbGUg
ZXhlY3V0YWJsZVBhdGhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKaW5kZXggYmZmOGZhOTQxNTI2NTIxYTY5ZWU3M2E4YmI2
OTI1NjcwYjJlNDgwZC4uODA0NDU1NDkwNGFmNDM5OGZhZWUwY2MzNjZlM2M2NTI3Y2VhYjlhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZv
U3RvcmUuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
UGx1Z2luSW5mb1N0b3JlLmgiCiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKwog
I2luY2x1ZGUgIlBsdWdpbk1vZHVsZUluZm8uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0tVUkwuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KQEAgLTI0NywzICsyNDksNSBA
QCBQbHVnaW5Nb2R1bGVJbmZvIFBsdWdpbkluZm9TdG9yZTo6aW5mb0ZvclBsdWdpbldpdGhQYXRo
KGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuaAppbmRleCAxYjIwODJkYmIw
MzE5MWQwM2Y0NWM1MDlhYmVlZTE1NzNmN2QzYTgxLi4yODdlYzkyNjJjMzU1NzYxZDI2NWFhYjQ1
MTE0MjBhN2U0MTE5MzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEwLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBQbHVnaW5JbmZv
U3RvcmVfaAogI2RlZmluZSBQbHVnaW5JbmZvU3RvcmVfaAogCisjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCisKICNpbmNsdWRlICJQbHVnaW5Nb2R1bGVJbmZvLmgiCiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIApAQCAtOTQsNCArOTYsNiBAQCBwcml2YXRlOgog
ICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKKwogI2VuZGlmIC8vIFBsdWdpbkluZm9TdG9yZV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyLmNwcAppbmRleCAyNDZlZWI0NDdlMzZjZDYzZjhmNDRiMDEzYTQ2MWZkNjVmNTZjOGQz
Li5mZjk2YWI5NmNlYTNlZmE1YmNkMDFkYWUyMTNhYjJjZTkxMmM1ODE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVE
YXRhTWFuYWdlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCIKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQorCiAjaW5jbHVkZSAiSW1tdXRhYmxlQXJyYXkuaCIKICNpbmNsdWRlICJQbHVn
aW5Qcm9jZXNzTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKQEAgLTI5MSwzICsy
OTMsNCBAQCB2b2lkIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6ZGlkQ2xlYXJTaXRlRGF0YUZv
ckFsbFBsdWdpbnModWludDY0X3QgY2FsbGJhY2tJRAogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFn
ZXIuaAppbmRleCA5ZWZhMTc1MTMyYWIxMGRlNDI1OGMxYTEzOGU4OWVlNTdkZjM3N2U5Li45YjAy
NWNjMzhiODZmZmUyMmFiMzEwMjgzYWZiZDFiY2ZmZWM3ZGE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFn
ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXJoCiAj
ZGVmaW5lIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcl9oCiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKKwogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkFyZ3VtZW50
cy5oIgogI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgpAQCAtODUsNCArODcsNiBAQCBwcml2
YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKQorCiAjZW5kaWYgLy8gV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZv
U3RvcmVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2lu
SW5mb1N0b3JlTWFjLm1tCmluZGV4IDI5Yzc0NGZmZGEyYTNlMDYyODI4M2Q5MzliZGY1MmFiNzEx
YjY2NGMuLjViYWNjMmMyYTk2OTFhYjQ0MGI0MWIzODdkMmE0NDQ1MTY4N2FjYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbklu
Zm9TdG9yZU1hYy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAy
MDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjYsNiArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJQbHVnaW5JbmZvU3RvcmUuaCIKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQor
CiAjaW1wb3J0ICJOZXRzY2FwZVBsdWdpbk1vZHVsZS5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVt
SW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1N0cmluZ0V4dHJhcy5oPgpA
QCAtNzMsMTMgKzc1LDcgQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjppbmRpdmlk
dWFsUGx1Z2luUGF0aHMoKQogCiBib29sIFBsdWdpbkluZm9TdG9yZTo6Z2V0UGx1Z2luSW5mbyhj
b25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbikKIHsKLSNp
ZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICByZXR1cm4gTmV0c2NhcGVQbHVnaW5N
b2R1bGU6OmdldFBsdWdpbkluZm8ocGx1Z2luUGF0aCwgcGx1Z2luKTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKHBsdWdpblBhdGgpOwotICAgIFVOVVNFRF9QQVJBTShwbHVnaW4pOwotICAgIHJl
dHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiBzdGF0aWMgc2l6ZV90IGZpbmRQbHVnaW5XaXRoQnVu
ZGxlSWRlbnRpZmllcihjb25zdCBWZWN0b3I8UGx1Z2luTW9kdWxlSW5mbz4mIHBsdWdpbnMsIGNv
bnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllcikKQEAgLTE1NSwzICsxNTEsNSBAQCBTdHJpbmcg
UGx1Z2luSW5mb1N0b3JlOjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4
dGVuc2lvbikKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2Vy
LmNwcAppbmRleCA0ZTJmZTE2MTc1MmRlZmMwNjAxZDJjMzlhNjQ0YzBjMmM0MTJhOGEyLi5mOTFl
ZmQ5ZWRiMDQ2ZGUwN2JjYmM3YjcwZTcyY2RiYWFjZjM5OWQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVk
V29ya2VyUHJvY2Vzc01hbmFnZXIuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXIuaCIKIAorI2lmIEVO
QUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCisKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9j
ZXNzUHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgpAQCAtNzAsMyArNzIsNSBAQCBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkqIFNo
YXJlZFdvcmtlclByb2Nlc3NNYW5hZ2VyOjpnZXRPckNyZWF0ZVNoYXJlZFdvcmtlclBybwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09SS0VS
X1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29y
a2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXIuaAppbmRleCBjMGJj
NjYyMTBlM2Q0MDk4NjAwN2EyYmE1ZjJlYjQ4Zjg3NWMxNTRlLi5iYTA2YzdjYmI4MDk4MjQzNDRj
ZTc5Y2M0OWFiNDFiNzFmZDNjODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvU2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NNYW5h
Z2VyLmgKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5kZWYgU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFn
ZXJfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlcl9oCiAKKyNpZiBFTkFCTEUo
U0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW5jbHVkZSAiUGx1Z2luTW9kdWxlSW5mby5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KQEAgLTYxLDQgKzYzLDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjZW5kaWYgLy8g
U2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQ
cm94eS5jcHAKaW5kZXggNWE3OTY3NTcyOGVjMjMyZTJhMDY4NzhhZmRhN2Y0MmRmODhjYzU5My4u
ZGZiYTlkNDU5YzgxMTc3N2I0NmM4NzJlOTdiMWNhY2IxYjRjM2EwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFy
ZWRXb3JrZXJQcm9jZXNzUHJveHkuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmgiCiAKKyNpZiBFTkFC
TEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclByb2Nlc3NNYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vzc01lc3NhZ2VzLmgiCkBAIC0xODEs
MyArMTgzLDUgQEAgdm9pZCBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHk6OmRpZENyZWF0ZVdlYlBy
b2Nlc3NDb25uZWN0aW9uKGNvbnN0IENvcmVJUEM6OkF0dGEKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2Vy
UHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9T
aGFyZWRXb3JrZXJQcm9jZXNzUHJveHkuaAppbmRleCA0Nzc0ODJmOWU1ZDEyNzVjZTVmZWQyZmE1
OTcyMDE3OTFhYzU4MGMyLi5mOTRhOTRjNjE2MTAxYjYyMDRhYjBiNTVkZDc2YTg0NGRkMGQ5OTg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFy
ZWRXb3JrZXJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hh
cmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkuaApAQCAtMjYsNiArMjYsOCBAQAog
I2lmbmRlZiBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHlfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJQ
cm9jZXNzUHJveHlfaAogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKKwogI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJQcm9jZXNzTGF1bmNoZXIuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgpAQCAtOTEsNCArOTMsNiBAQCBwcml2YXRl
OgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09S
S0VSX1BST0NFU1MpCisKICNlbmRpZiAvLyBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHlfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29y
a2VyUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1No
YXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGU1
NWM4YzA0NDgxMTM0MGFiYTI1YTZmYTAxMWMxODJiNTRjOTI1MTEuLmVjOThiNmQ0YzU2NzFhMDc3
N2VmMWJiMzRhZTU0ODk1OWNkMmY2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTIwLDYgKzIwLDEwIEBACiAjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9D
RVNTKQorCiBtZXNzYWdlcyAtPiBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkgewogICAgIERpZENy
ZWF0ZVdlYlByb2Nlc3NDb25uZWN0aW9uKENvcmVJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbklk
ZW50aWZpZXIpCiB9CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IDgxZTdiYzQ3N2Q0YjZm
ODExZWI0NDA3NDNlNWNlYWMzMjE0ODc0MjEuLjY3YzZiMjk4YjA3YjNjOWFmOThlNTk2YWUxYjg3
YjM5Mzc2YTg0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAg
LTE1MCw3ICsxNTAsOSBAQCBXZWJDb250ZXh0OjpXZWJDb250ZXh0KFByb2Nlc3NNb2RlbCBwcm9j
ZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYQogICAgIG1fbmV0d29ya0lu
Zm9NYW5hZ2VyUHJveHkgPSBXZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eTo6Y3JlYXRlKHRoaXMp
OwogI2VuZGlmCiAgICAgbV9ub3RpZmljYXRpb25NYW5hZ2VyUHJveHkgPSBXZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKICAgICBtX3BsdWdpblNpdGVEYXRhTWFuYWdlciA9IFdlYlBsdWdpblNpdGVEYXRhTWFu
YWdlcjo6Y3JlYXRlKHRoaXMpOworI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQogICAgIG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSA9IFdlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsKICNpZiBVU0UoU09VUCkKICAgICBtX3NvdXBSZXF1ZXN0
TWFuYWdlclByb3h5ID0gV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsK
QEAgLTIyMSw4ICsyMjMsMTAgQEAgV2ViQ29udGV4dDo6fldlYkNvbnRleHQoKQogICAgIG1fbm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LT5pbnZhbGlkYXRlKCk7CiAgICAgbV9ub3RpZmljYXRpb25N
YW5hZ2VyUHJveHktPmNsZWFyQ29udGV4dCgpOwogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpCiAgICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXItPmludmFsaWRhdGUoKTsKICAgICBt
X3BsdWdpblNpdGVEYXRhTWFuYWdlci0+Y2xlYXJDb250ZXh0KCk7CisjZW5kaWYKIAogICAgIG1f
cmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS0+aW52YWxpZGF0ZSgpOwogICAgIG1fcmVzb3VyY2VD
YWNoZU1hbmFnZXJQcm94eS0+Y2xlYXJDb250ZXh0KCk7CkBAIC00NzMsOCArNDc3LDEwIEBAIGJv
b2wgV2ViQ29udGV4dDo6c2hvdWxkVGVybWluYXRlKFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcykK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghbV9tZWRpYUNhY2hlTWFuYWdlclByb3h5
LT5zaG91bGRUZXJtaW5hdGUocHJvY2VzcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNpZiBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBpZiAoIW1fcGx1Z2luU2l0ZURhdGFNYW5h
Z2VyLT5zaG91bGRUZXJtaW5hdGUocHJvY2VzcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgogICAgIGlmICghbV9yZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LT5zaG91bGRUZXJtaW5h
dGUocHJvY2VzcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtNTUxLDcgKzU1Nyw3IEBA
IHZvaWQgV2ViQ29udGV4dDo6ZGlzY29ubmVjdFByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5KiBwcm9j
ZXNzKQogCiAgICAgLy8gV2hlbiBvdXQgb2YgcHJvY2VzcyBwbHVnLWlucyBhcmUgZW5hYmxlZCwg
d2UgZG9uJ3Qgd2FudCB0byBpbnZhbGlkYXRlIHRoZSBwbHVnLWluIHNpdGUgZGF0YQogICAgIC8v
IG1hbmFnZXIganVzdCBiZWNhdXNlIHRoZSB3ZWIgcHJvY2VzcyBjcmFzaGVzIHNpbmNlIGl0J3Mg
bm90IGludm9sdmVkLgotI2lmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCisjaWYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpICYmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgbV9wbHVn
aW5TaXRlRGF0YU1hbmFnZXItPmludmFsaWRhdGUoKTsKICNlbmRpZgogCkBAIC02NjMsNiArNjY5
LDcgQEAgV2ViQ29udGV4dDo6U3RhdGlzdGljcyYgV2ViQ29udGV4dDo6c3RhdGlzdGljcygpCiAg
ICAgcmV0dXJuIHN0YXRpc3RpY3M7CiB9CiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIHZvaWQgV2ViQ29udGV4dDo6c2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkoY29uc3Qg
U3RyaW5nJiBkaXJlY3RvcnkpCiB7CiAgICAgVmVjdG9yPFN0cmluZz4gZGlyZWN0b3JpZXM7CkBA
IC02NzAsNiArNjc3LDcgQEAgdm9pZCBXZWJDb250ZXh0OjpzZXRBZGRpdGlvbmFsUGx1Z2luc0Rp
cmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSkKIAogICAgIG1fcGx1Z2luSW5mb1N0b3Jl
LnNldEFkZGl0aW9uYWxQbHVnaW5zRGlyZWN0b3JpZXMoZGlyZWN0b3JpZXMpOwogfQorI2VuZGlm
IC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCiB2b2lkIFdlYkNvbnRleHQ6OnNldEFs
d2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoKGJvb2wgYWx3YXlzVXNlQ29tcGxleFRleHQpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA5ZThkODA1NGFjNzNlNjE5
NjIxMDVlZGQzMzNhMGE1MTA3NWNhODU5Li4yNDliMjkxYWY0YjMwNTMyYmY1YzNiNjdmYmYzYjVh
ZmJhN2M0ZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTEzMCwx
MCArMTMwLDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0KiwgUmVmUHRyPEFQ
SU9iamVjdD4mIHJldHVybkRhdGEpOwogCiAgICAgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygp
OwotICAgIAorCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgdm9pZCBzZXRB
ZGRpdGlvbmFsUGx1Z2luc0RpcmVjdG9yeShjb25zdCBTdHJpbmcmKTsKIAogICAgIFBsdWdpbklu
Zm9TdG9yZSYgcGx1Z2luSW5mb1N0b3JlKCkgeyByZXR1cm4gbV9wbHVnaW5JbmZvU3RvcmU7IH0K
KyNlbmRpZgogICAgIFN0cmluZyBhcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCk7CiAKICAgICB2
b2lkIHNldEFsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoKGJvb2wpOwpAQCAtMTk1LDcgKzE5
Nyw5IEBAIHB1YmxpYzoKICAgICBXZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eSogbmV0d29ya0lu
Zm9NYW5hZ2VyUHJveHkoKSBjb25zdCB7IHJldHVybiBtX25ldHdvcmtJbmZvTWFuYWdlclByb3h5
LmdldCgpOyB9CiAjZW5kaWYKICAgICBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkqIG5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uTWFuYWdl
clByb3h5LmdldCgpOyB9CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgV2Vi
UGx1Z2luU2l0ZURhdGFNYW5hZ2VyKiBwbHVnaW5TaXRlRGF0YU1hbmFnZXIoKSBjb25zdCB7IHJl
dHVybiBtX3BsdWdpblNpdGVEYXRhTWFuYWdlci5nZXQoKTsgfQorI2VuZGlmCiAgICAgV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eSogcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5nZXQoKTsgfQogI2lmIFVTRShT
T1VQKQogICAgIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5KiBzb3VwUmVxdWVzdE1hbmFnZXJQ
cm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHkuZ2V0KCk7IH0K
QEAgLTMxNSwxMCArMzE5LDEyIEBAIHByaXZhdGU6CiAgICAgV2ViQ29udGV4dEluamVjdGVkQnVu
ZGxlQ2xpZW50IG1faW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAKICAgICBXZWJDb250ZXh0Q29ubmVj
dGlvbkNsaWVudCBtX2Nvbm5lY3Rpb25DbGllbnQ7Ci0gICAgCisKICAgICBXZWJIaXN0b3J5Q2xp
ZW50IG1faGlzdG9yeUNsaWVudDsKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
ICAgIFBsdWdpbkluZm9TdG9yZSBtX3BsdWdpbkluZm9TdG9yZTsKKyNlbmRpZgogICAgIFZpc2l0
ZWRMaW5rUHJvdmlkZXIgbV92aXNpdGVkTGlua1Byb3ZpZGVyOwogICAgICAgICAKICAgICBIYXNo
U2V0PFN0cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1bWVudDsKQEAgLTM2MCw3
ICszNjYsOSBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94
eT4gbV9uZXR3b3JrSW5mb01hbmFnZXJQcm94eTsKICNlbmRpZgogICAgIFJlZlB0cjxXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJveHk+IG1fbm90aWZpY2F0aW9uTWFuYWdlclByb3h5OworI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIFJlZlB0cjxXZWJQbHVnaW5TaXRlRGF0YU1h
bmFnZXI+IG1fcGx1Z2luU2l0ZURhdGFNYW5hZ2VyOworI2VuZGlmCiAgICAgUmVmUHRyPFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyUHJveHk+IG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTsKICNp
ZiBVU0UoU09VUCkKICAgICBSZWZQdHI8V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk+IG1fc291
cFJlcXVlc3RNYW5hZ2VyUHJveHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCmluZGV4IDdlZjRhMjQ5ZmU3NzRmMmY4ODU5NzIwZjc1ZjVlYjQ3MDIwMTMwMWIuLjdk
NDM0ZGJmYWI0Y2I3ODI1MzMyYWYyYWQxYjFmNzA5YTAxNTJjODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NzksMTEgKzc3OSwxMiBAQCBib29sIFdl
YlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0
CiAgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZShtaW1lVHlwZSkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAg
ICAgU3RyaW5nIG5ld01pbWVUeXBlID0gbWltZVR5cGU7CiAgICAgUGx1Z2luTW9kdWxlSW5mbyBw
bHVnaW4gPSBtX3Byb2Nlc3MtPmNvbnRleHQoKS0+cGx1Z2luSW5mb1N0b3JlKCkuZmluZFBsdWdp
bihuZXdNaW1lVHlwZSwgS1VSTCgpKTsKICAgICBpZiAoIXBsdWdpbi5wYXRoLmlzTnVsbCgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMzg4NCwxMyArMzg4NSwxNCBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbihjb25zdCBTdHJpbmcmIG1p
bWVUeXBlKQogICAgIG1fbG9hZGVyQ2xpZW50LmRpZEZhaWxUb0luaXRpYWxpemVQbHVnaW4odGhp
cywgbWltZVR5cGUpOwogfQogCisvLyBGSVhNRTogRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkp
CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQmxvY2tJbnNlY3VyZVBsdWdpblZlcnNpb24oY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiB7CiAgICAgU3RyaW5n
IHBsdWdpbklkZW50aWZpZXI7CiAgICAgU3RyaW5nIHBsdWdpblZlcnNpb247CiAgICAgU3RyaW5n
IG5ld01pbWVUeXBlID0gbWltZVR5cGU7CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZP
Uk0oTUFDKSAmJiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBQbHVnaW5Nb2R1bGVJ
bmZvIHBsdWdpbiA9IG1fcHJvY2Vzcy0+Y29udGV4dCgpLT5wbHVnaW5JbmZvU3RvcmUoKS5maW5k
UGx1Z2luKG5ld01pbWVUeXBlLCBLVVJMKEtVUkwoKSwgdXJsU3RyaW5nKSk7CiAKICAgICBwbHVn
aW5JZGVudGlmaWVyID0gcGx1Z2luLmJ1bmRsZUlkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGI4ODMyMzgzMGFkZDI5NDE4Nzhh
N2NhYWI4MjA3MGQ5MzE5Nzg1MWUuLmVjNjBiM2NjMDNmNWYxMTNjMjhmYzlmZmY1NDM0YzA4YjVl
OTE5YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CkBAIC03MiwxMSArNzIsMTMgQEAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUGFnZUlEKCkKICAg
ICByZXR1cm4gdW5pcXVlUGFnZUlEKys7CiB9CiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKIHN0YXRpYyBXb3JrUXVldWUmIHBsdWdpbldvcmtRdWV1ZSgpCiB7CiAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChXb3JrUXVldWUsIHF1ZXVlLCAoImNvbS5hcHBsZS5Db3JlSVBDLlBsdWdp
blF1ZXVlIikpOwogICAgIHJldHVybiBxdWV1ZTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKIAogUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQ
cm94eTo6Y3JlYXRlKFBhc3NSZWZQdHI8V2ViQ29udGV4dD4gY29udGV4dCkKIHsKQEAgLTMwOSw2
ICszMTEsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6YWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2
NF90IGl0ZW1JRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5hbAogICAgIHJlc3VsdC5pdGVyYXRvci0+
dmFsdWUtPnNldEJhY2tGb3J3YXJkRGF0YShiYWNrRm9yd2FyZERhdGEuZGF0YSgpLCBiYWNrRm9y
d2FyZERhdGEuc2l6ZSgpKTsKIH0KIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
dm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmREaWRHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVlc3RJ
RCwgUGFzc093blB0cjxWZWN0b3I8UGx1Z2luSW5mbz4gPiBwbHVnaW5JbmZvcykKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtMzY4LDYgKzM3MSw3IEBAIHZvaWQgV2ViUHJvY2Vz
c1Byb3h5OjpnZXRQbHVnaW5QYXRoKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmlu
ZyYgdXJsU3RyCiAKICAgICBwbHVnaW5QYXRoID0gcGx1Z2luLnBhdGg7CiB9CisjZW5kaWYgLy8g
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1Mp
CiAKQEAgLTM3Niw3ICszODAsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb24oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQYXNzUgogICAgIFBsdWdp
blByb2Nlc3NNYW5hZ2VyOjpzaGFyZWQoKS5nZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihtX2Nv
bnRleHQtPnBsdWdpbkluZm9TdG9yZSgpLCBwbHVnaW5QYXRoLCByZXBseSk7CiB9CiAKLSNlbHNl
CisjZWxpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIAogdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OmRpZEdldFNpdGVzV2l0aFBsdWdpbkRhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHNpdGVz
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogewpAQCAtMzkwLDEwICszOTQsMTIgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmRpZENsZWFyUGx1Z2luU2l0ZURhdGEodWludDY0X3QgY2FsbGJhY2tJRCkK
IAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmdldFNoYXJlZFdvcmtlclByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0cmlu
ZyYgLyogdXJsICovLCBjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8sIFBhc3NSZWZQdHI8TWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0U2hhcmVkV29ya2VyUHJvY2Vzc0Nvbm5lY3Rpb246OkRl
bGF5ZWRSZXBseT4pCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudAogfQorI2VuZGlmIC8vIEVO
QUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRS
ZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpN
ZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA3NTI0
ZGYyZmY0NjAwZjhlYjVmNjg2YzBkMWU4NDk3ZDI1MTBlMGZhLi45YjNjNDU4NzAwZDgyM2RiM2Y1
NzZmMWU0MGQ0N2YxNzZmZWY1OGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCkBAIC0xNDEsMTkgKzE0MSwyMSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2hv
dWxkVGVybWluYXRlKGJvb2wmIHNob3VsZFRlcm1pbmF0ZSk7CiAKICAgICAvLyBQbHVnaW5zCisj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgdm9pZCBnZXRQbHVnaW5zKENvcmVJ
UEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVmcmVzaCk7CiAgICAg
dm9pZCBnZXRQbHVnaW5QYXRoKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYg
dXJsU3RyaW5nLCBTdHJpbmcmIHBsdWdpblBhdGgsIGJvb2wmIGJsb2NrZWQpOworICAgIHZvaWQg
aGFuZGxlR2V0UGx1Z2lucyh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVmcmVzaCk7CisgICAg
dm9pZCBzZW5kRGlkR2V0UGx1Z2lucyh1aW50NjRfdCByZXF1ZXN0SUQsIFBhc3NPd25QdHI8VmVj
dG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+ID4pOworI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICB2b2lkIGdldFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGFzc1JlZlB0cjxN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6RGVs
YXllZFJlcGx5Pik7Ci0jZWxzZQorI2VsaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAg
ICAgdm9pZCBkaWRHZXRTaXRlc1dpdGhQbHVnaW5EYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
aXRlcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBkaWRDbGVhclBsdWdpblNpdGVE
YXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogI2VuZGlmCi0KLSAgICB2b2lkIGhhbmRsZUdldFBs
dWdpbnModWludDY0X3QgcmVxdWVzdElELCBib29sIHJlZnJlc2gpOwotICAgIHZvaWQgc2VuZERp
ZEdldFBsdWdpbnModWludDY0X3QgcmVxdWVzdElELCBQYXNzT3duUHRyPFZlY3RvcjxXZWJDb3Jl
OjpQbHVnaW5JbmZvPiA+KTsKLQorI2lmIEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCiAg
ICAgdm9pZCBnZXRTaGFyZWRXb3JrZXJQcm9jZXNzQ29ubmVjdGlvbihjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldFNoYXJlZFdvcmtlclByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+KTsKKyNl
bmRpZgogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKICAgICB2b2lkIHNlY0l0ZW1SZXF1
ZXN0KENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFNlY0l0
ZW1SZXF1ZXN0RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNjdlN2IyZGRlODE5NjhiODZlNWUwMjBiYTQ1
NzVlNTNmMDUzYWZhNS4uMzk2YTE2NmE3ODg2N2Q4MTI3YjdmYjQyYWI2NjY4OWVjN2UxZjQxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluCkBAIC0zNCwxNiArMzQsMjAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5
IHsKICAgICBTaG91bGRUZXJtaW5hdGUoKSAtPiAoYm9vbCBzaG91bGRUZXJtaW5hdGUpCiAKICAg
ICAjIFBsdWdpbiBtZXNzYWdlcy4KKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCByZWZyZXNoKSBEaXNwYXRjaE9u
Q29ubmVjdGlvblF1ZXVlCiAgICAgR2V0UGx1Z2luUGF0aChXVEY6OlN0cmluZyBtaW1lVHlwZSwg
V1RGOjpTdHJpbmcgdXJsU3RyaW5nKSAtPiAoV1RGOjpTdHJpbmcgcGx1Z2luUGF0aCwgYm9vbCBi
bG9ja2VkKQorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogI2lmIEVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKICAgICBHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihXVEY6OlN0
cmluZyBwbHVnaW5QYXRoKSAtPiAoQ29yZUlQQzo6QXR0YWNobWVudCBjb25uZWN0aW9uSGFuZGxl
LCBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzSW5pdGlhbGl6YXRpb24pIERlbGF5ZWQKICNlbmRp
ZgotI2lmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpICYmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgdm9pZCBEaWRHZXRTaXRlc1dp
dGhQbHVnaW5EYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiAgICAgdm9pZCBEaWRDbGVhclBsdWdpblNpdGVEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQp
CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogICAgIEdldFNoYXJl
ZFdvcmtlclByb2Nlc3NDb25uZWN0aW9uKFdURjo6U3RyaW5nIHVybCwgV1RGOjpTdHJpbmcgbmFt
ZSkgLT4gKENvcmVJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkhhbmRsZSkgRGVsYXllZAorI2Vu
ZGlmCiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogICAgIFNlY0l0ZW1SZXF1ZXN0KHVp
bnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0OjpTZWNJdGVtUmVxdWVzdERhdGEgcmVxdWVzdCkgRGlz
cGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0
MlByZWZpeC5oIGIvU291cmNlL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oCmluZGV4IGI1N2UwMDAz
OWI1NmZkYmY4MjQzMzBkMGJlNWNhNTE5NWM4OTZlMmEuLjhmNmIwOTlmMTYxNzYzY2U5YzBjMjA2
ZWNhN2RmZWE0MjU0NzNjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDJQcmVm
aXguaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgKQEAgLTU3LDcgKzU3LDEz
IEBACiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKLSNpZiAhUExBVEZPUk0oV0lOKQorI2lm
IFBMQVRGT1JNKE1BQykKKworI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKKyNkZWZpbmUgRU5B
QkxFX1NIQVJFRF9XT1JLRVJfUFJPQ0VTUyAxCisjZW5kaWYKKworI2VsaWYgIVBMQVRGT1JNKFdJ
TikKICNkZWZpbmUgRU5BQkxFX1NIQVJFRF9XT1JLRVJfUFJPQ0VTUyAxCiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBjMjk0NjNmNDZmZDQ3NzI4ZjQ4MzNl
ZDYwYmYzZjY2OTMxOWRhYTM3Li41N2I5NjNhOTdhODc5ODEzYmMyMWNhY2IzMGQwODhmY2NhMWE5
ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTM0NiwyMSArMTM0
NiwyNyBAQCBQYXNzUmVmUHRyPFdpZGdldD4gV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0ZVBs
dWdpbihjb25zdCBJbnRTaXplJiwgSFRNTFBsdWdJbgogICAgIH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgUmVmUHRyPFBsdWdpbj4gcGx1Z2luID0gd2Vi
UGFnZS0+Y3JlYXRlUGx1Z2luKG1fZnJhbWUsIHBsdWdpbkVsZW1lbnQsIHBhcmFtZXRlcnMpOwog
ICAgIGlmICghcGx1Z2luKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKKwogICAgIHJldHVybiBQ
bHVnaW5WaWV3OjpjcmVhdGUocGx1Z2luRWxlbWVudCwgcGx1Z2luLnJlbGVhc2UoKSwgcGFyYW1l
dGVycyk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnJlY3JlYXRlUGx1Z2luKFdpZGdldCogd2lkZ2V0KQogeworI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIEFTU0VSVCh3aWRnZXQgJiYgd2lkZ2V0LT5pc1Bs
dWdpblZpZXdCYXNlKCkpOwogICAgIEFTU0VSVChtX2ZyYW1lLT5wYWdlKCkpOwogCiAgICAgUGx1
Z2luVmlldyogcGx1Z2luVmlldyA9IHN0YXRpY19jYXN0PFBsdWdpblZpZXcqPih3aWRnZXQpOwog
ICAgIFJlZlB0cjxQbHVnaW4+IHBsdWdpbiA9IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2lu
KG1fZnJhbWUsIHBsdWdpblZpZXctPnBsdWdpbkVsZW1lbnQoKSwgcGx1Z2luVmlldy0+aW5pdGlh
bFBhcmFtZXRlcnMoKSk7CiAgICAgcGx1Z2luVmlldy0+cmVjcmVhdGVBbmRJbml0aWFsaXplKHBs
dWdpbi5yZWxlYXNlKCkpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6
OnJlZGlyZWN0RGF0YVRvUGx1Z2luKFdpZGdldCogcGx1Z2luV2lkZ2V0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDVkMjUwZWE1OTgzMjkyNGVjMmIzZjBmMWRlYmFm
YjBlZmNhMzA1NWEuLjYyZjkwMDQwMDk1OGU3MGRlY2NlY2M3MzEyY2UxZGU4YzhlY2Q1YWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU2LDggKzU2
LDEwIEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppbml0aWFsaXplKCkKIH0KIAogV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMoKQorI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIDogbV9wbHVnaW5DYWNoZUlzUG9wdWxhdGVkKGZhbHNl
KQogICAgICwgbV9zaG91bGRSZWZyZXNoUGx1Z2lucyhmYWxzZSkKKyNlbmRpZiAvLyBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKIHsKIH0KIApAQCAtOTIsMTkgKzk0LDI0IEBAIHZvaWQgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpub3RpZnlDb29raWVzQ2hhbmdlZCgpCiAKIHZvaWQgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjpyZWZyZXNoUGx1Z2lucygpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCiAgICAgbV9jYWNoZWRQbHVnaW5zLmNsZWFyKCk7CiAgICAgbV9wbHVnaW5D
YWNoZUlzUG9wdWxhdGVkID0gZmFsc2U7CiAgICAgbV9zaG91bGRSZWZyZXNoUGx1Z2lucyA9IHRy
dWU7CiAKICAgICBwb3B1bGF0ZVBsdWdpbkNhY2hlKCk7CisjZW5kaWYgLy8gRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQbHVn
aW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4m
IHBsdWdpbnMpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgcG9wdWxh
dGVQbHVnaW5DYWNoZSgpOwogICAgIHBsdWdpbnMgPSBtX2NhY2hlZFBsdWdpbnM7CisjZW5kaWYg
Ly8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiB9CiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKIHN0YXRpYyBCbG9ja2luZ1Jlc3BvbnNlTWFwPFZlY3RvcjxXZWJDb3JlOjpQ
bHVnaW5JbmZvPiA+JiByZXNwb25zZU1hcCgpCiB7CiAgICAgQXRvbWljYWxseUluaXRpYWxpemVk
U3RhdGljKEJsb2NraW5nUmVzcG9uc2VNYXA8VmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+ID4m
LCByZXNwb25zZU1hcCA9ICpuZXcgQmxvY2tpbmdSZXNwb25zZU1hcDxWZWN0b3I8V2ViQ29yZTo6
UGx1Z2luSW5mbz4gPik7CkBAIC0xMzgsNiArMTQ1LDcgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OnBvcHVsYXRlUGx1Z2luQ2FjaGUoKQogICAgIG1fc2hvdWxkUmVmcmVzaFBsdWdpbnMg
PSBmYWxzZTsKICAgICBtX3BsdWdpbkNhY2hlSXNQb3B1bGF0ZWQgPSB0cnVlOwogfQorI2VuZGlm
IC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDQxMmE3NWJjZTNlOTIyNzA3
ODNlZTk0YjE2YzA0ODBmZmJiOGZlYmIuLmRmYmNjMzM0YzFjM2ZhZDBlOTEwYjM0NGI4MzkyNDI0
NGEwYTRkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTUsNyArNTUsNiBA
QCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2
b2lkIHJlZnJlc2hQbHVnaW5zKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdp
bkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYp
IE9WRVJSSURFOwotICAgIHZvaWQgcG9wdWxhdGVQbHVnaW5DYWNoZSgpOwogCiAgICAgLy8gV2Vi
Q29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVk
KFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYg
YmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCkgT1ZFUlJJREU7
CkBAIC04MCwxMiArNzksMTggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0U3RyaW5n
Rm9yVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICNlbmRpZgogCisjaWYgRU5BQkxF
KE5FVFNDQVBFX1BMVUdJTl9BUEkpCisgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kgaW1w
bGVtZW50YXRpb24uCisgICAgdm9pZCBwb3B1bGF0ZVBsdWdpbkNhY2hlKCk7CiAgICAgYm9vbCBt
X3BsdWdpbkNhY2hlSXNQb3B1bGF0ZWQ7CiAgICAgYm9vbCBtX3Nob3VsZFJlZnJlc2hQbHVnaW5z
OwogICAgIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiBtX2NhY2hlZFBsdWdpbnM7CisjZW5k
aWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogfTsKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQogdm9pZCBoYW5kbGVEaWRHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Y29uc3QgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisjZW5kaWYgLy8gRU5BQkxFKFBM
VUdJTl9QUk9DRVNTKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU4MmU2NWMwNjY5NGUxMjE5
Y2Y3Njc0MGUwMzU5MmNkNDI4YWMzZGUuLjM0MGY4Nzk4ZDdmNzlmNGUyMjFkZDY0YzdiODBhZGM4
NTRlZTdkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKQEAgLTQ1MSw2ICs0NTEsNyBAQCB2b2lkIFdlYlBhZ2U6OmluaXRpYWxpemVJbmplY3Rl
ZEJ1bmRsZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdLQnVuZGxlUGFnZURpYWdubwogICAgIG1f
bG9nRGlhZ25vc3RpY01lc3NhZ2VDbGllbnQuaW5pdGlhbGl6ZShjbGllbnQpOwogfQogCisjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiBQYXNzUmVmUHRyPFBsdWdpbj4gV2ViUGFnZTo6
Y3JlYXRlUGx1Z2luKFdlYkZyYW1lKiBmcmFtZSwgSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdpbkVs
ZW1lbnQsIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKICAgICBTdHJp
bmcgcGx1Z2luUGF0aDsKQEAgLTQ4OCwxMyArNDg5LDEyIEBAIFBhc3NSZWZQdHI8UGx1Z2luPiBX
ZWJQYWdlOjpjcmVhdGVQbHVnaW4oV2ViRnJhbWUqIGZyYW1lLCBIVE1MUGx1Z0luRWxlbWVudCog
cGx1CiAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgcmV0dXJuIFBsdWdpblByb3h5
OjpjcmVhdGUocGx1Z2luUGF0aCk7Ci0jZWxpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
KyNlbHNlCiAgICAgTmV0c2NhcGVQbHVnaW46OnNldFNldEV4Y2VwdGlvbkZ1bmN0aW9uKE5QUnVu
dGltZU9iamVjdE1hcDo6c2V0R2xvYmFsRXhjZXB0aW9uKTsKICAgICByZXR1cm4gTmV0c2NhcGVQ
bHVnaW46OmNyZWF0ZShOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Z2V0T3JDcmVhdGUocGx1Z2luUGF0
aCkpOwotI2Vsc2UKLSAgICByZXR1cm4gMDsKICNlbmRpZgogfQorI2VuZGlmIC8vIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogCiBFZGl0b3JTdGF0ZSBXZWJQYWdlOjplZGl0b3JTdGF0ZSgp
IGNvbnN0CiB7CkBAIC0zNDQ2LDYgKzM0NDYsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldFNjcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogCiBzdGF0aWMgYm9vbCBj
YW5QbHVnaW5IYW5kbGVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBTdHJpbmcgcGx1Z2luUGF0
aDsKICAgICBib29sIGJsb2NrZWQ7CiAgICAgCkBAIC0zNDUzLDYgKzM0NTQsOSBAQCBzdGF0aWMg
Ym9vbCBjYW5QbHVnaW5IYW5kbGVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIHJldHVybiAhYmxvY2tlZCAm
JiAhcGx1Z2luUGF0aC5pc0VtcHR5KCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgogfQogCiBib29sIFdlYlBhZ2U6OnNob3VsZFVzZUN1c3RvbVJlcHJlc2VudGF0aW9uRm9yUmVz
cG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAwYTVmMmJiYjc1ZjMyYzUx
ZGExNGFmYzA2OTlkZGY3MTMyMTNkZDBkLi45MGExZWM2ZjA1ZWFlYzRiM2ZmMDVmMzJkMDVhMWI0
Yjk1Y2MzYWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTI4MCw3ICsyODAsOSBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6RnJhbWUqIG1haW5G
cmFtZSgpIGNvbnN0OyAvLyBNYXkgcmV0dXJuIDAuCiAgICAgV2ViQ29yZTo6RnJhbWVWaWV3KiBt
YWluRnJhbWVWaWV3KCkgY29uc3Q7IC8vIE1heSByZXR1cm4gMC4KIAorI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQogICAgIFBhc3NSZWZQdHI8UGx1Z2luPiBjcmVhdGVQbHVnaW4oV2Vi
RnJhbWUqLCBXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IFBsdWdpbjo6UGFyYW1l
dGVycyYpOworI2VuZGlmCiAKICAgICBFZGl0b3JTdGF0ZSBlZGl0b3JTdGF0ZSgpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA0M2VkMTZiMWEz
OWM5OGQ3NWViZmU1NDE5NjBiZWE0ZWJlZjk5ZjRkLi5lNzc5MWJjZDkzOWEyMDE5ZjIwNWU1MzRk
YjcwODU4NjdlOGMzNDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTgzMiw3ICs4MzIsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmNsZWFyQXBw
bGljYXRpb25DYWNoZSgpCiAgICAgY2FjaGVTdG9yYWdlKCkuZW1wdHkoKTsKIH0KIAotI2lmICFF
TkFCTEUoUExVR0lOX1BST0NFU1MpCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICYm
ICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCiB2b2lkIFdlYlByb2Nlc3M6OmdldFNpdGVzV2l0aFBs
dWdpbkRhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBsdWdpblBhdGhzLCB1aW50NjRfdCBjYWxs
YmFja0lEKQogewogICAgIExvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2Fi
bGVyKCp0aGlzKTsKQEAgLTEwOTMsNiArMTA5Myw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0VGV4
dENoZWNrZXJTdGF0ZShjb25zdCBUZXh0Q2hlY2tlclN0YXRlJiB0ZXh0Q2hlY2tlclN0YXRlKQog
ICAgIH0KIH0KIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogdm9pZCBXZWJQcm9j
ZXNzOjpkaWRHZXRQbHVnaW5zKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0
SUQsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYgcGx1Z2lucykKIHsKICNpZiBV
U0UoUExBVEZPUk1fU1RSQVRFR0lFUykKQEAgLTExMDAsNSArMTEwMSw2IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6ZGlkR2V0UGx1Z2lucyhDb3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3QgcmVxdWVz
dElELCBjb25zdCBWCiAgICAgaGFuZGxlRGlkR2V0UGx1Z2lucyhyZXF1ZXN0SUQsIHBsdWdpbnMp
OwogI2VuZGlmCiB9CisjZW5kaWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXgg
ZWNjYmI4ZDYwZTdhNDVkOTRjYjRiZjJhNmU1MDgyMDcyZTNlNDk2OS4uOTk1MzNkNDgxNGYzNWMy
YjY3ZWQyNWFmMDBhNGU2OTgyMTAxOWZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTI3Niw3ICsyNzYsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2
ZVdlYlByb2Nlc3NNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdl
SUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBy
b2Nlc3NNZXNzYWdlT25Db25uZWN0aW9uV29ya1F1ZXVlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBD
b3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIGJvb2wmIGRpZEhh
bmRsZU1lc3NhZ2UpOwogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgdm9p
ZCBkaWRHZXRQbHVnaW5zKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQs
IGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworI2VuZGlmCiAKICAgICBSZWZQ
dHI8V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBtX2Nvbm5lY3Rpb247CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBkMTBhN2I1
MzY1NTRhYjQyNzYyNDMzZTg3OTE3OWFmMTNlNDgzYmVlLi41MTgyMTdlNjA1ZjQ3NjlkMDI3YjQw
NzRhMDIwZThlMTBhMjQyOTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC01NiwxNCArNTYsMTMgQEAgbWVzc2FnZXMgLT4gV2Vi
UHJvY2VzcyB7CiAjZW5kaWYKIAogICAgICMgUGx1Zy1pbnMuCi0jaWYgIUVOQUJMRShQTFVHSU5f
UFJPQ0VTUykKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyAgICBEaWRHZXRQbHVn
aW5zKHVpbnQ2NF90IHJlcXVlc3RJRCwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+IHBsdWdp
bnMpIERpc3BhdGNoT25Db25uZWN0aW9uUXVldWUKKyNlbmRpZgorI2lmIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKSAmJiAhRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogICAgIEdldFNpdGVzV2l0
aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRocywgdWludDY0X3QgY2Fs
bGJhY2tJRCkKICAgICBDbGVhclBsdWdpblNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1
Z2luUGF0aHMsIFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50
NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0jZW5kaWYKLQotICAg
IERpZEdldFBsdWdpbnModWludDY0X3QgcmVxdWVzdElELCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2lu
SW5mbz4gcGx1Z2lucykgRGlzcGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQogCi0jaWYgRU5BQkxFKFBM
VUdJTl9QUk9DRVNTKQogICAgIFBsdWdpblByb2Nlc3NDcmFzaGVkKFN0cmluZyBwbHVnaW5Qcm9j
ZXNzKSBEaXNwYXRjaE9uQ29ubmVjdGlvblF1ZXVlCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc5MzVhMGFkYmNmM2IxYzJlZmQw
MGNiZDFmMDQ5Y2EwNDRkOGU1NWQuLjU0OWM2NzcyOWQxMmFmY2FhMDJjZDcwMDRhZjQ0ZDNkYzhj
NzhjYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0xOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWlu
QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBTYWZhcmkgZG9lcyBub3QgYnVpbGQgd2l0aG91
dCBQTFVHSU5fUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTk3NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIu
bW06IFRoZSBmaWxlIHdhcyBub3QgaW5jbHVkaW5nIGNvbmZpZy5oLAorICAgICAgICBlZmZlY3Rp
dmVseSBicmVha2luZyBmZWF0dXJlIGZsYWdzLgorCiAyMDEyLTEwLTE3ICBTaGFzaGkgU2hla2hh
ciAgPHNoYXNoaXNoZWtoYXJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZW1vdmUgcmVkdW5kYW50
IHNka19idWlsZCBwYXJhbWV0ZXIuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvTW9ja1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL01vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5tbQppbmRleCA0MzY1ZDE1ZDA2NTdjODU5
ZTliOWUxMDE4ZDdmNTNkODVjZWI0MjkyLi5kODBmNmJhNGUyYzE3OWM0NWM1ZjIwYjEzZWQwYzRm
ZGYzNzg2NGFlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTW9ja1dlYk5v
dGlmaWNhdGlvblByb3ZpZGVyLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Nb2Nr
V2ViTm90aWZpY2F0aW9uUHJvdmlkZXIubW0KQEAgLTI2LDcgKzI2LDkgQEAKICAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAorI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJNb2NrV2ViTm90aWZpY2F0aW9u
UHJvdmlkZXIuaCIKKwogI2ltcG9ydCA8V2ViS2l0L1dlYlNlY3VyaXR5T3JpZ2luUHJpdmF0ZS5o
PgogCiBAaW1wbGVtZW50YXRpb24gTW9ja1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169504</attachid>
            <date>2012-10-18 16:37:38 -0700</date>
            <delta_ts>2012-10-18 19:20:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99771-20121018163623.patch</filename>
            <type>text/plain</type>
            <size>51518</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDdlY2M5MzU4ZTg3ZWI0
MWNmZjE2OTU2YzZjM2ExMGFkNzFhZjgzYS4uYzk1OWZiOTM3NzYwZDMxYzM1ZDg3NGI1YmY4NmJk
YzdhNDViZTc1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTE4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFNhZmFy
aSBkb2VzIG5vdCBidWlsZCB3aXRob3V0IFBMVUdJTl9QUk9DRVNTCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTc3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IFRoZSBzeW1i
b2wgaXMgdXNlZCBieSBXZWJDb3JlIFRlc3QgU3VwcG9ydCwgbW92ZSBpdAorICAgICAgICB0byB0
aGUgZ2VuZXJhbCBzZWN0aW9uLgorCiAyMDEyLTEwLTE3ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJl
aG5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6OmNv
bnRlbnREYXRhRXF1aXZhbGVudCBvbmx5IGxvb2tzIGF0IHRoZSBmaXJzdCBDb250ZW50RGF0YQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IDcxZWIxODM2NmM0NWNkMjc3NTEyOThkYzc1MWYyYjczZTM2NjU1OGYuLjFm
NzUyZmM0MGU5YzQzNDU0NTYzY2ZjNDcyNDM3NDhmMDQyZWIzNzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NSBAQAorMjAxMi0xMC0xOCAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBbV0syXSBTYWZhcmkgZG9lcyBub3QgYnVpbGQgd2l0aG91dCBQTFVH
SU5fUFJPQ0VTUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTk3NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKSwgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VT
UykgYW5kIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQorICAgICAgICBhcyBuZWVkZWQgdG8g
ZXhjbHVkZSB0aGUgY29kZSB3aXRoIGRlcGVuZGVuY2llcyBvbiBQTFVHSU5fUFJPQ0VTUy4KKwor
ICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmg6CisgICAgICAgICogU2hhcmVk
L1NoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAqIFNo
YXJlZC9TaGFyZWRXb3JrZXJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICog
U2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmNwcDoKKyAgICAgICAgKiBT
aGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MuaDoKKyAgICAgICAgKiBTaGFy
ZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAg
ICogU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01hYy5tbToKKyAg
ICAgICAgKiBTaGFyZWRXb3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFpbk1h
Yy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdLQ29udGV4dFNldEFkZGl0aW9uYWxQbHVnaW5zRGlyZWN0b3J5KToKKyAgICAgICAgKFdLQ29u
dGV4dEdldFBsdWdpblNpdGVEYXRhTWFuYWdlcik6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdLUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyR2V0VHlwZUlEKToKKyAgICAgICAgKFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyR2V0U2l0
ZXNXaXRoRGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6cHJvY2Vzc1R5cGVBc1N0
cmluZyk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6Z2V0UHJvY2Vzc1R5cGVG
cm9tU3RyaW5nKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMu
bW06CisgICAgICAgIChXZWJLaXQ6OmNyZWF0ZVByb2Nlc3MpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luSW5mb1N0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1
Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9XZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9tYWMv
UGx1Z2luSW5mb1N0b3JlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6
OmdldFBsdWdpbkluZm8pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJl
ZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvU2hhcmVkV29y
a2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9T
aGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5Lm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6V2ViQ29udGV4dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRl
eHQ6On5XZWJDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6c2hvdWxkVGVy
bWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZGlzY29ubmVjdFByb2Nlc3Mp
OgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgor
ICAgICAgICAoV2ViQ29udGV4dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKToKKyAg
ICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQmxvY2tJ
bnNlY3VyZVBsdWdpblZlcnNpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vz
c1Byb3h5Lmg6CisgICAgICAgIChXZWJQcm9jZXNzUHJveHkpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0MlByZWZpeC5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlUGx1
Z2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnJlY3JlYXRlUGx1
Z2luKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6V2Vi
UGxhdGZvcm1TdHJhdGVnaWVzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpyZWZyZXNoUGx1Z2lucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Z2V0UGx1Z2luSW5mbyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgIChX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpjcmVhdGVQbHVnaW4pOgorICAgICAgICAoV2ViS2l0OjpjYW5QbHVn
aW5IYW5kbGVSZXNwb25zZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKFdlYlBhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
OgorICAgICAgICAoV2ViUHJvY2Vzcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluOgorCiAyMDEyLTEwLTE1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIE1lc3NhZ2VFbmNvZGVyIGFuZCBNZXNzYWdlRGVjb2Rl
ciBzdWJjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGQ1YmY4NWVmMzVmNmEzN2RmNGRm
MGM0YjljMDE3ZDY5NWZjN2I3YWYuLjEwM2U5NDBlZDZlZDBkYWQ4MjA3YjhjMTE3ZDNkNzVlZGNh
OGI0NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC02MjksNiArNjI5LDcgQEAgX19aTjdXZWJD
b3JlMjVIaXN0b3J5UHJvcGVydHlMaXN0V3JpdGVyQzJFdgogX19aTjdXZWJDb3JlMjVJbW11dGFi
bGVTdHlsZVByb3BlcnR5U2V0RDFFdgogX19aTjdXZWJDb3JlMjVhZGRMYW5ndWFnZUNoYW5nZU9i
c2VydmVyRVB2UEZ2UzBfRQogX19aTjdXZWJDb3JlMjVjb21wdXRlVmlld3BvcnRBdHRyaWJ1dGVz
RU5TXzE3Vmlld3BvcnRBcmd1bWVudHNFaWlpZk5TXzdJbnRTaXplRQorX19aTjdXZWJDb3JlMjVq
c1N0cmluZ1dpdGhDYWNoZVNsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk4zV1RGN0hhc2hNYXBJ
UE5TM18xMFN0cmluZ0ltcGxFTlMwXzRXZWFrSU5TMF84SlNTdHJpbmdFRUVOUzNfN1B0ckhhc2hJ
UzZfRUVOUzNfMTBIYXNoVHJhaXRzSVM2X0VFTlNDX0lTOV9FRUVFUzZfCiBfX1pON1dlYkNvcmUy
NlVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yMjdwcm9jZXNzaW5nVXNlclR5cGluZ0dlc3R1cmVF
dgogX19aTjdXZWJDb3JlMjZVc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvcjI4Zm9jdXNlZEVsZW1l
bnRBdEdlc3R1cmVTdGFydEV2CiBfX1pON1dlYkNvcmUyNnN0b3BPYnNlcnZpbmdDb29raWVDaGFu
Z2VzRXYKQEAgLTIzNjEsNyArMjM2Miw2IEBAIF9fTlBOX1VURjhGcm9tSWRlbnRpZmllcgogX19a
TjdXZWJDb3JlMTZTY3JpcHRDb250cm9sbGVyMjB3aW5kb3dTY3JpcHROUE9iamVjdEV2CiBfX1pO
N1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyOWNsZWFudXBTY3JpcHRPYmplY3RzRm9yUGx1Z2lu
RVB2CiBfX1pON1dlYkNvcmUxN0hUTUxQbHVnSW5FbGVtZW50MTFnZXROUE9iamVjdEV2Ci1fX1pO
N1dlYkNvcmUyNWpzU3RyaW5nV2l0aENhY2hlU2xvd0Nhc2VFUE4zSlNDOUV4ZWNTdGF0ZUVSTjNX
VEY3SGFzaE1hcElQTlMzXzEwU3RyaW5nSW1wbEVOUzBfNFdlYWtJTlMwXzhKU1N0cmluZ0VFRU5T
M183UHRySGFzaElTNl9FRU5TM18xMEhhc2hUcmFpdHNJUzZfRUVOU0NfSVM5X0VFRUVTNl8KIF9f
Wk5LN1dlYkNvcmUxNFNlY3VyaXR5T3JpZ2luOWNhbkFjY2Vzc0VQS1MwXwogX19aTks3V2ViQ29y
ZTRLVVJMN2hhc1BhdGhFdgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9NZXNzYWdlSUQuaAppbmRleCAzOGEzMWNiYTY4ODE5MzA2NWE3NDE1OTA4MTNmZTQ2OTllZTVi
MzdlLi5kMTg0YTUwZDRiNTIwYTA0OWYwNjE4NWExYjU5YjIwZjgzNzc0OGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTEwOSw4ICsxMDksMTAgQEAg
ZW51bSBNZXNzYWdlQ2xhc3MgewogICAgIC8vIE1lc3NhZ2VzIHNlbnQgYnkgdGhlIFVJIHByb2Nl
c3MgdG8gdGhlIG5ldHdvcmsgcHJvY2Vzcy4KICAgICBNZXNzYWdlQ2xhc3NOZXR3b3JrUHJvY2Vz
cywKIAorI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICAvLyBNZXNzYWdlcyBzZW50IGJ5
IHRoZSBVSSBwcm9jZXNzIHRvIHRoZSBzaGFyZWQgd29ya2VyIHByb2Nlc3MuCiAgICAgTWVzc2Fn
ZUNsYXNzU2hhcmVkV29ya2VyUHJvY2VzcywKKyNlbmRpZiAvLyBFTkFCTEUoUExVR0lOX1BST0NF
U1MpCiAKICAgICAvLyBNZXNzYWdlcyBzZW50IGJ5IHRoZSBzaGFyZWQgd29ya2VyIHByb2Nlc3Mg
dG8gdGhlIFVJIHByb2Nlc3MuCiAgICAgTWVzc2FnZUNsYXNzU2hhcmVkV29ya2VyUHJvY2Vzc1By
b3h5LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdvcmtlclByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdv
cmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGZhNTY0YWRjMTRhNjQ0YzEz
NTZjZGQxY2U1YWU3ZmY0MWNlZTk0MjcuLmI2NjkzMDdlYmMyMzA2ZmY5N2I4MGU0OTczY2NlYzE3
OTRjOWJhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWRXb3JrZXJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
U2hhcmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTI2LDYgKzI2LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQor
CiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC02
MCwzICs2Miw1IEBAIGJvb2wgU2hhcmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjCiAKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWRXb3JrZXJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggM2E2MGI0YzNkNjdiNGU1ZDE5YmY1MzNiMGFlYzM0ZWEy
OTlhNzc5ZC4uM2ZlZjk3NTM1YjI0NDY1YjA5NDQyNGE5NTI1OTNjZmNiOGNjMzgyMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVkV29ya2VyUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCkBAIC0yNiw2ICsyNiw4IEBACiAjaWZuZGVmIFNoYXJlZFdv
cmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnNfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzX2gKIAorI2lmIEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NF
U1MpCisKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKE1B
QykKQEAgLTU1LDQgKzU3LDYgQEAgc3RydWN0IFNoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMgewogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShT
SEFSRURfV09SS0VSX1BST0NFU1MpCisKICNlbmRpZiAvLyBTaGFyZWRXb3JrZXJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtl
clByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRX
b3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MuY3BwCmluZGV4IDVjNGIyMDZhMDhhNWUx
Zjc1NjQ0OTY1MWQ3ZmRiNTEwNjBmZWVhOGEuLmZjMjEwODhjZTQyZDkxYjNhMGNjMWM0ZGRmMzM5
NDBlY2YyYzEyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nl
c3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkV29y
a2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclByb2Nlc3MuaCIKIAorI2lm
IEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCisKICNpbmNsdWRlICJBcmd1bWVudENvZGVy
cy5oIgogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCkBAIC0xOTIsMyArMTk0LDUgQEAgdm9pZCBTaGFyZWRX
b3JrZXJQcm9jZXNzOjptaW5pbXVtTGlmZXRpbWVUaW1lckZpcmVkKCkKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdv
cmtlclByb2Nlc3MuaAppbmRleCBkODY0MTU1N2VkM2FjOGE0ODMxM2Q2NjhhZDAzZWQyMWEzMGZk
Y2QxLi4wODU0MzllZDg1YTgzMjU4MTU2YTJhMTc2ZTk1MmYwY2ZiYTkzY2VhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclBy
b2Nlc3MuaApAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBTaGFyZWRXb3JrZXJQcm9jZXNzX2gK
ICNkZWZpbmUgU2hhcmVkV29ya2VyUHJvY2Vzc19oCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktF
Ul9QUk9DRVNTKQorCiAjaW5jbHVkZSAiQ2hpbGRQcm9jZXNzLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIApAQCAtODAsNCArODIsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCisKICNlbmRp
ZiAvLyBTaGFyZWRXb3JrZXJQcm9jZXNzX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZFdvcmtlclByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5tZXNzYWdl
cy5pbgppbmRleCAyMzk1MmY5YTcxMGFjZDExOTIzZTUyOGU3NjEzNTU2OTllNjdiNTE1Li4zY2Q3
NTMzN2I3ZmVlODQ2OWIwOTRlODE0OGVhNTVjMzY5MjQ5ODlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQ
cm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yMCw2ICsyMCw4IEBACiAjIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQor
CiBtZXNzYWdlcyAtPiBTaGFyZWRXb3JrZXJQcm9jZXNzIHsKICAgICAjIEluaXRpYWxpemVzIHRo
ZSBzaGFyZWQgd29ya2VyIHByb2Nlc3MuCiAgICAgSW5pdGlhbGl6ZVNoYXJlZFdvcmtlclByb2Nl
c3MoV2ViS2l0OjpTaGFyZWRXb3JrZXJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMpCkBAIC0yOSwzICszMSw1IEBAIG1lc3NhZ2VzIC0+IFNoYXJlZFdv
cmtlclByb2Nlc3MgewogICAgICMgYSBjb25uZWN0aW9uIGlkZW50aWZpZXIuCiAgICAgQ3JlYXRl
V2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKQogfQorCisjZW5kaWYgLy8gRU5BQkxFKFNIQVJFRF9XT1JL
RVJfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nl
c3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRX
b3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFjLm1tCmluZGV4IDgxYjFmNjA3
OTBlYWE4NDE0NWIzYTk4M2MyZmE1ZjZkN2VhMTg4MTEuLjM0MWFmZTk2YTI2N2Y4MDJhODY2MjMy
YzExNzY3NGVkOTRhMDk4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtl
clByb2Nlc3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01hYy5tbQpAQCAt
MjYsNiArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJTaGFyZWRXb3JrZXJQ
cm9jZXNzLmgiCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW1wb3J0
ICJTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2ltcG9ydCAiU2hhcmVkV29y
a2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6
ZWRTdHJpbmdzLmg+CkBAIC03MiwzICs3NCw1IEBAIHZvaWQgU2hhcmVkV29ya2VyUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplKGNvbnN0IFNoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFNIQVJFRF9XT1JL
RVJfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nl
c3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWluTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01haW5NYWMubW0KaW5kZXgg
MDI0ZjEwOTQ5OThjOTZiOTg1NDZkYTgxYTBlYjE1MDVjOTMxNjQwYi4uZDk0ZDQ4YjQ1YTVkMGQw
NzA4OTk5MGI4MzVhMGY1Njc5OGM2ZWZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01haW5NYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vz
c01haW5NYWMubW0KQEAgLTI2LDYgKzI2LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9y
dCAiU2hhcmVkV29ya2VyUHJvY2Vzc01haW4uaCIKIAorI2lmIEVOQUJMRShTSEFSRURfV09SS0VS
X1BST0NFU1MpCisKICNpbXBvcnQgIkNvbW1hbmRMaW5lLmgiCiAjaW1wb3J0ICJFbnZpcm9ubWVu
dFV0aWxpdGllcy5oIgogI2ltcG9ydCAiU2hhcmVkV29ya2VyUHJvY2Vzcy5oIgpAQCAtMTA1LDMg
KzEwNyw1IEBAIGludCBTaGFyZWRXb3JrZXJQcm9jZXNzTWFpbihjb25zdCBDb21tYW5kTGluZSYg
Y29tbWFuZExpbmUpCiB9CiAKIH0KKworI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09SS0VSX1BS
T0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCmlu
ZGV4IDI2ZTRhYjZhNDkwYmIwNmEyMmVhNjgzYWJmYzcwYTQzOTZmNTFjY2EuLjExN2JiZWRhMzE0
ZDFkYmU2YjBjNjU1NWExZmYyODBjYzc1NDAyMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiV2Vi
VVJMUmVxdWVzdC5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpAQCAtMTQyLDcgKzE0
MywxMiBAQCB2b2lkIFdLQ29udGV4dFNldFNob3VsZFVzZUZvbnRTbW9vdGhpbmcoV0tDb250ZXh0
UmVmIGNvbnRleHRSZWYsIGJvb2wgdXNlRm9udFNtbwogCiB2b2lkIFdLQ29udGV4dFNldEFkZGl0
aW9uYWxQbHVnaW5zRGlyZWN0b3J5KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1N0cmluZ1Jl
ZiBwbHVnaW5zRGlyZWN0b3J5KQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
ICAgIHRvSW1wbChjb250ZXh0UmVmKS0+c2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkodG9J
bXBsKHBsdWdpbnNEaXJlY3RvcnkpLT5zdHJpbmcoKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShjb250ZXh0UmVmKTsKKyAgICBVTlVTRURfUEFSQU0ocGx1Z2luc0RpcmVjdG9yeSk7CisjZW5k
aWYKIH0KIAogdm9pZCBXS0NvbnRleHRSZWdpc3RlclVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChX
S0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tTdHJpbmdSZWYgdXJsU2NoZW1lKQpAQCAtMjI0LDcg
KzIzMCwxMSBAQCBXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYgV0tDb250ZXh0R2V0Tm90aWZpY2F0
aW9uTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dFJlZgogCiBXS1BsdWdpblNpdGVEYXRhTWFu
YWdlclJlZiBXS0NvbnRleHRHZXRQbHVnaW5TaXRlRGF0YU1hbmFnZXIoV0tDb250ZXh0UmVmIGNv
bnRleHRSZWYpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgcmV0dXJu
IHRvQVBJKHRvSW1wbChjb250ZXh0UmVmKS0+cGx1Z2luU2l0ZURhdGFNYW5hZ2VyKCkpOworI2Vs
c2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgogfQogCiBXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyUmVm
IFdLQ29udGV4dEdldFJlc291cmNlQ2FjaGVNYW5hZ2VyKFdLQ29udGV4dFJlZiBjb250ZXh0UmVm
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0
ZURhdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BsdWdp
blNpdGVEYXRhTWFuYWdlci5jcHAKaW5kZXggMTc5NjEwYjBjZGMzOWE2ZDNkM2ZhNDdhZGFjNzU5
NjE2OTE1MWM4ZS4uMzk1MzlmNDQ5NWIwZWE1ZmRmNGVjZTMwMzY1OWVjYzFhMjA3OGZmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQbHVnaW5T
aXRlRGF0YU1hbmFnZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCIKIAorI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2luY2x1ZGUgIldlYlBsdWdpblNpdGVEYXRh
TWFuYWdlci5oIgogCkBAIC0zOCwxMiArMzksMjIgQEAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
V0tUeXBlSUQgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRUeXBlSUQoKQogeworI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHJldHVybiB0b0FQSShXZWJQbHVnaW5TaXRlRGF0
YU1hbmFnZXI6OkFQSVR5cGUpOworI2Vsc2UKKyAgICByZXR1cm4gQVBJT2JqZWN0OjpUeXBlTnVs
bDsKKyNlbmRpZgogfQogCiB2b2lkIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyR2V0U2l0ZXNXaXRo
RGF0YShXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBtYW5hZ2VyUmVmLCB2b2lkKiBjb250ZXh0
LCBXS1BsdWdpblNpdGVEYXRhTWFuYWdlckdldFNpdGVzV2l0aERhdGFGdW5jdGlvbiBjYWxsYmFj
aykKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICB0b0ltcGwobWFuYWdl
clJlZiktPmdldFNpdGVzV2l0aERhdGEoQXJyYXlDYWxsYmFjazo6Y3JlYXRlKGNvbnRleHQsIGNh
bGxiYWNrKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShtYW5hZ2VyUmVmKTsKKyAgICBVTlVT
RURfUEFSQU0oY29udGV4dCk7CisgICAgVU5VU0VEX1BBUkFNKGNhbGxiYWNrKTsKKyNlbmRpZgog
fQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwCmluZGV4IDc3MWE2
ZWVmNzEyZjZkNzFkZGFhZmY0YmU5MmZjYjU3MTBmMDdiZTIuLmRkNWQzOGFiNTg3YmU3MzRiYThj
ZjQ3NjJjMDg0ZmM4ZmJlNTVhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTAsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03Nyw4ICs3NywxMCBAQCBjb25zdCBj
aGFyKiBQcm9jZXNzTGF1bmNoZXI6OnByb2Nlc3NUeXBlQXNTdHJpbmcoUHJvY2Vzc1R5cGUgcHJv
Y2Vzc1R5cGUpCiAgICAgICAgIHJldHVybiAicGx1Z2lucHJvY2VzcyI7CiAgICAgY2FzZSBOZXR3
b3JrUHJvY2VzczoKICAgICAgICAgcmV0dXJuICJuZXR3b3JrcHJvY2VzcyI7CisjaWYgRU5BQkxF
KFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKICAgICBjYXNlIFNoYXJlZFdvcmtlclByb2Nlc3M6CiAg
ICAgICAgIHJldHVybiAic2hhcmVkd29ya2VycHJvY2VzcyI7CisjZW5kaWYKICAgICB9CiAKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTEwMSwxMiArMTAzLDEyIEBAIGJvb2wgUHJvY2Vz
c0xhdW5jaGVyOjpnZXRQcm9jZXNzVHlwZUZyb21TdHJpbmcoY29uc3QgY2hhciogc3RyaW5nLCBQ
cm9jZXNzVHlwZSYKICAgICAgICAgcHJvY2Vzc1R5cGUgPSBOZXR3b3JrUHJvY2VzczsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQotCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VT
UykKICAgICBpZiAoIXN0cmNtcChzdHJpbmcsICJzaGFyZWR3b3JrZXJwcm9jZXNzIikpIHsKICAg
ICAgICAgcHJvY2Vzc1R5cGUgPSBTaGFyZWRXb3JrZXJQcm9jZXNzOwogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9Ci0KKyNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCmluZGV4
IDU5ODNhNzZhNzU5YmJjYmI1NjJhMDk0NGEyN2Q0MzdlZDIyODMwNDcuLmJjMmIxY2Y0ZWFmZjMz
ZGI2ZTIzNjlmOGExYjM2MzBmZGQ5NjRjNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUwLDcgKzUwLDkgQEAgcHVibGlj
OgogICAgICAgICBXZWJQcm9jZXNzLAogICAgICAgICBQbHVnaW5Qcm9jZXNzLAogICAgICAgICBO
ZXR3b3JrUHJvY2VzcywKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogICAgICAg
ICBTaGFyZWRXb3JrZXJQcm9jZXNzCisjZW5kaWYKICAgICB9OwogCiAgICAgc3RydWN0IExhdW5j
aE9wdGlvbnMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCBhOWMyMGRhMzI0MjFmMjYyZDI3
MWUwNWI4ZDQwMTRkYWJlYzE3NmZhLi44ODNmMzAzMmYxNDY2NWEyMTY1MDVmMDExODcwNDAyZjRh
ZjA2Mzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFj
L1Byb2Nlc3NMYXVuY2hlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQpAQCAtMzgwLDkgKzM4MCwxMSBAQCBzdGF0
aWMgdm9pZCBjcmVhdGVQcm9jZXNzKGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9u
cyYgbGF1bmNoT3B0aW9ucywgYgogICAgICAgICBwcm9jZXNzUGF0aCA9IFt3ZWJLaXQyQnVuZGxl
IHBhdGhGb3JBdXhpbGlhcnlFeGVjdXRhYmxlOkAiTmV0d29ya1Byb2Nlc3MuYXBwIl07CiAgICAg
ICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKICAg
ICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6U2hhcmVkV29ya2VyUHJvY2VzczoKICAgICAgICAgcHJv
Y2Vzc1BhdGggPSBbd2ViS2l0MkJ1bmRsZSBwYXRoRm9yQXV4aWxpYXJ5RXhlY3V0YWJsZTpAIlNo
YXJlZFdvcmtlclByb2Nlc3MuYXBwIl07CiAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgfQog
CiAgICAgTlNTdHJpbmcgKmZyYW1ld29ya0V4ZWN1dGFibGVQYXRoID0gW3dlYktpdDJCdW5kbGUg
ZXhlY3V0YWJsZVBhdGhdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKaW5kZXggYmZmOGZhOTQxNTI2NTIxYTY5ZWU3M2E4YmI2
OTI1NjcwYjJlNDgwZC4uODA0NDU1NDkwNGFmNDM5OGZhZWUwY2MzNjZlM2M2NTI3Y2VhYjlhNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0
b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZv
U3RvcmUuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
UGx1Z2luSW5mb1N0b3JlLmgiCiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKwog
I2luY2x1ZGUgIlBsdWdpbk1vZHVsZUluZm8uaCIKICNpbmNsdWRlIDxXZWJDb3JlL0tVUkwuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KQEAgLTI0NywzICsyNDksNSBA
QCBQbHVnaW5Nb2R1bGVJbmZvIFBsdWdpbkluZm9TdG9yZTo6aW5mb0ZvclBsdWdpbldpdGhQYXRo
KGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuaAppbmRleCAxYjIwODJkYmIw
MzE5MWQwM2Y0NWM1MDlhYmVlZTE1NzNmN2QzYTgxLi4yODdlYzkyNjJjMzU1NzYxZDI2NWFhYjQ1
MTE0MjBhN2U0MTE5MzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEwLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBQbHVnaW5JbmZv
U3RvcmVfaAogI2RlZmluZSBQbHVnaW5JbmZvU3RvcmVfaAogCisjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCisKICNpbmNsdWRlICJQbHVnaW5Nb2R1bGVJbmZvLmgiCiAjaW5jbHVkZSA8
d3RmL1RocmVhZGluZ1ByaW1pdGl2ZXMuaD4KIApAQCAtOTQsNCArOTYsNiBAQCBwcml2YXRlOgog
ICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKKwogI2VuZGlmIC8vIFBsdWdpbkluZm9TdG9yZV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyLmNwcAppbmRleCAyNDZlZWI0NDdlMzZjZDYzZjhmNDRiMDEzYTQ2MWZkNjVmNTZjOGQz
Li5mZjk2YWI5NmNlYTNlZmE1YmNkMDFkYWUyMTNhYjJjZTkxMmM1ODE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVE
YXRhTWFuYWdlci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCIKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQorCiAjaW5jbHVkZSAiSW1tdXRhYmxlQXJyYXkuaCIKICNpbmNsdWRlICJQbHVn
aW5Qcm9jZXNzTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKQEAgLTI5MSwzICsy
OTMsNCBAQCB2b2lkIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcjo6ZGlkQ2xlYXJTaXRlRGF0YUZv
ckFsbFBsdWdpbnModWludDY0X3QgY2FsbGJhY2tJRAogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFn
ZXIuaAppbmRleCA5ZWZhMTc1MTMyYWIxMGRlNDI1OGMxYTEzOGU4OWVlNTdkZjM3N2U5Li45YjAy
NWNjMzhiODZmZmUyMmFiMzEwMjgzYWZiZDFiY2ZmZWM3ZGE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFn
ZXIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXJoCiAj
ZGVmaW5lIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcl9oCiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKKwogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkFyZ3VtZW50
cy5oIgogI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgpAQCAtODUsNCArODcsNiBAQCBwcml2
YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKQorCiAjZW5kaWYgLy8gV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZv
U3RvcmVNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2lu
SW5mb1N0b3JlTWFjLm1tCmluZGV4IDI5Yzc0NGZmZGEyYTNlMDYyODI4M2Q5MzliZGY1MmFiNzEx
YjY2NGMuLjViYWNjMmMyYTk2OTFhYjQ0MGI0MWIzODdkMmE0NDQ1MTY4N2FjYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbklu
Zm9TdG9yZU1hYy5tbQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAy
MDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjYsNiArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJQbHVnaW5JbmZvU3RvcmUuaCIKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQor
CiAjaW1wb3J0ICJOZXRzY2FwZVBsdWdpbk1vZHVsZS5oIgogI2ltcG9ydCAiV2ViS2l0U3lzdGVt
SW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1N0cmluZ0V4dHJhcy5oPgpA
QCAtNzMsMTMgKzc1LDcgQEAgVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjppbmRpdmlk
dWFsUGx1Z2luUGF0aHMoKQogCiBib29sIFBsdWdpbkluZm9TdG9yZTo6Z2V0UGx1Z2luSW5mbyhj
b25zdCBTdHJpbmcmIHBsdWdpblBhdGgsIFBsdWdpbk1vZHVsZUluZm8mIHBsdWdpbikKIHsKLSNp
ZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICByZXR1cm4gTmV0c2NhcGVQbHVnaW5N
b2R1bGU6OmdldFBsdWdpbkluZm8ocGx1Z2luUGF0aCwgcGx1Z2luKTsKLSNlbHNlCi0gICAgVU5V
U0VEX1BBUkFNKHBsdWdpblBhdGgpOwotICAgIFVOVVNFRF9QQVJBTShwbHVnaW4pOwotICAgIHJl
dHVybiBmYWxzZTsKLSNlbmRpZgogfQogCiBzdGF0aWMgc2l6ZV90IGZpbmRQbHVnaW5XaXRoQnVu
ZGxlSWRlbnRpZmllcihjb25zdCBWZWN0b3I8UGx1Z2luTW9kdWxlSW5mbz4mIHBsdWdpbnMsIGNv
bnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllcikKQEAgLTE1NSwzICsxNTEsNSBAQCBTdHJpbmcg
UGx1Z2luSW5mb1N0b3JlOjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4
dGVuc2lvbikKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2Vy
LmNwcAppbmRleCA0ZTJmZTE2MTc1MmRlZmMwNjAxZDJjMzlhNjQ0YzBjMmM0MTJhOGEyLi5mOTFl
ZmQ5ZWRiMDQ2ZGUwN2JjYmM3YjcwZTcyY2RiYWFjZjM5OWQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVk
V29ya2VyUHJvY2Vzc01hbmFnZXIuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXIuaCIKIAorI2lmIEVO
QUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCisKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9j
ZXNzUHJveHkuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL1N0ZExp
YkV4dHJhcy5oPgpAQCAtNzAsMyArNzIsNSBAQCBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkqIFNo
YXJlZFdvcmtlclByb2Nlc3NNYW5hZ2VyOjpnZXRPckNyZWF0ZVNoYXJlZFdvcmtlclBybwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09SS0VS
X1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29y
a2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXIuaAppbmRleCBjMGJj
NjYyMTBlM2Q0MDk4NjAwN2EyYmE1ZjJlYjQ4Zjg3NWMxNTRlLi5iYTA2YzdjYmI4MDk4MjQzNDRj
ZTc5Y2M0OWFiNDFiNzFmZDNjODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvU2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NNYW5h
Z2VyLmgKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5kZWYgU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFn
ZXJfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlcl9oCiAKKyNpZiBFTkFCTEUo
U0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW5jbHVkZSAiUGx1Z2luTW9kdWxlSW5mby5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KQEAgLTYxLDQgKzYzLDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjZW5kaWYgLy8g
U2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQ
cm94eS5jcHAKaW5kZXggNWE3OTY3NTcyOGVjMjMyZTJhMDY4NzhhZmRhN2Y0MmRmODhjYzU5My4u
ZGZiYTlkNDU5YzgxMTc3N2I0NmM4NzJlOTdiMWNhY2IxYjRjM2EwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFy
ZWRXb3JrZXJQcm9jZXNzUHJveHkuY3BwCkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmgiCiAKKyNpZiBFTkFC
TEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclByb2Nlc3NNYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vzc01lc3NhZ2VzLmgiCkBAIC0xODEs
MyArMTgzLDUgQEAgdm9pZCBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHk6OmRpZENyZWF0ZVdlYlBy
b2Nlc3NDb25uZWN0aW9uKGNvbnN0IENvcmVJUEM6OkF0dGEKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2Vy
UHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9T
aGFyZWRXb3JrZXJQcm9jZXNzUHJveHkuaAppbmRleCA0Nzc0ODJmOWU1ZDEyNzVjZTVmZWQyZmE1
OTcyMDE3OTFhYzU4MGMyLi5mOTRhOTRjNjE2MTAxYjYyMDRhYjBiNTVkZDc2YTg0NGRkMGQ5OTg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFy
ZWRXb3JrZXJQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hh
cmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkuaApAQCAtMjYsNiArMjYsOCBAQAog
I2lmbmRlZiBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHlfaAogI2RlZmluZSBTaGFyZWRXb3JrZXJQ
cm9jZXNzUHJveHlfaAogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKKwogI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJQcm9jZXNzTGF1bmNoZXIuaCIKICNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgpAQCAtOTEsNCArOTMsNiBAQCBwcml2YXRl
OgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAorI2VuZGlmIC8vIEVOQUJMRShTSEFSRURfV09S
S0VSX1BST0NFU1MpCisKICNlbmRpZiAvLyBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHlfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29y
a2VyUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1No
YXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGU1
NWM4YzA0NDgxMTM0MGFiYTI1YTZmYTAxMWMxODJiNTRjOTI1MTEuLmVjOThiNmQ0YzU2NzFhMDc3
N2VmMWJiMzRhZTU0ODk1OWNkMmY2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTIwLDYgKzIwLDEwIEBACiAjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9D
RVNTKQorCiBtZXNzYWdlcyAtPiBTaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkgewogICAgIERpZENy
ZWF0ZVdlYlByb2Nlc3NDb25uZWN0aW9uKENvcmVJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbklk
ZW50aWZpZXIpCiB9CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IDgxZTdiYzQ3N2Q0YjZm
ODExZWI0NDA3NDNlNWNlYWMzMjE0ODc0MjEuLjY3YzZiMjk4YjA3YjNjOWFmOThlNTk2YWUxYjg3
YjM5Mzc2YTg0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAg
LTE1MCw3ICsxNTAsOSBAQCBXZWJDb250ZXh0OjpXZWJDb250ZXh0KFByb2Nlc3NNb2RlbCBwcm9j
ZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYQogICAgIG1fbmV0d29ya0lu
Zm9NYW5hZ2VyUHJveHkgPSBXZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eTo6Y3JlYXRlKHRoaXMp
OwogI2VuZGlmCiAgICAgbV9ub3RpZmljYXRpb25NYW5hZ2VyUHJveHkgPSBXZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKICAgICBtX3BsdWdpblNpdGVEYXRhTWFuYWdlciA9IFdlYlBsdWdpblNpdGVEYXRhTWFu
YWdlcjo6Y3JlYXRlKHRoaXMpOworI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQogICAgIG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSA9IFdlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsKICNpZiBVU0UoU09VUCkKICAgICBtX3NvdXBSZXF1ZXN0
TWFuYWdlclByb3h5ID0gV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsK
QEAgLTIyMSw4ICsyMjMsMTAgQEAgV2ViQ29udGV4dDo6fldlYkNvbnRleHQoKQogICAgIG1fbm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LT5pbnZhbGlkYXRlKCk7CiAgICAgbV9ub3RpZmljYXRpb25N
YW5hZ2VyUHJveHktPmNsZWFyQ29udGV4dCgpOwogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpCiAgICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXItPmludmFsaWRhdGUoKTsKICAgICBt
X3BsdWdpblNpdGVEYXRhTWFuYWdlci0+Y2xlYXJDb250ZXh0KCk7CisjZW5kaWYKIAogICAgIG1f
cmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS0+aW52YWxpZGF0ZSgpOwogICAgIG1fcmVzb3VyY2VD
YWNoZU1hbmFnZXJQcm94eS0+Y2xlYXJDb250ZXh0KCk7CkBAIC00NzMsOCArNDc3LDEwIEBAIGJv
b2wgV2ViQ29udGV4dDo6c2hvdWxkVGVybWluYXRlKFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcykK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghbV9tZWRpYUNhY2hlTWFuYWdlclByb3h5
LT5zaG91bGRUZXJtaW5hdGUocHJvY2VzcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNpZiBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBpZiAoIW1fcGx1Z2luU2l0ZURhdGFNYW5h
Z2VyLT5zaG91bGRUZXJtaW5hdGUocHJvY2VzcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgogICAgIGlmICghbV9yZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LT5zaG91bGRUZXJtaW5h
dGUocHJvY2VzcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtNTUxLDcgKzU1Nyw3IEBA
IHZvaWQgV2ViQ29udGV4dDo6ZGlzY29ubmVjdFByb2Nlc3MoV2ViUHJvY2Vzc1Byb3h5KiBwcm9j
ZXNzKQogCiAgICAgLy8gV2hlbiBvdXQgb2YgcHJvY2VzcyBwbHVnLWlucyBhcmUgZW5hYmxlZCwg
d2UgZG9uJ3Qgd2FudCB0byBpbnZhbGlkYXRlIHRoZSBwbHVnLWluIHNpdGUgZGF0YQogICAgIC8v
IG1hbmFnZXIganVzdCBiZWNhdXNlIHRoZSB3ZWIgcHJvY2VzcyBjcmFzaGVzIHNpbmNlIGl0J3Mg
bm90IGludm9sdmVkLgotI2lmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCisjaWYgRU5BQkxFKE5F
VFNDQVBFX1BMVUdJTl9BUEkpICYmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgbV9wbHVn
aW5TaXRlRGF0YU1hbmFnZXItPmludmFsaWRhdGUoKTsKICNlbmRpZgogCkBAIC02NjMsNiArNjY5
LDcgQEAgV2ViQ29udGV4dDo6U3RhdGlzdGljcyYgV2ViQ29udGV4dDo6c3RhdGlzdGljcygpCiAg
ICAgcmV0dXJuIHN0YXRpc3RpY3M7CiB9CiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKIHZvaWQgV2ViQ29udGV4dDo6c2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkoY29uc3Qg
U3RyaW5nJiBkaXJlY3RvcnkpCiB7CiAgICAgVmVjdG9yPFN0cmluZz4gZGlyZWN0b3JpZXM7CkBA
IC02NzAsNiArNjc3LDcgQEAgdm9pZCBXZWJDb250ZXh0OjpzZXRBZGRpdGlvbmFsUGx1Z2luc0Rp
cmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSkKIAogICAgIG1fcGx1Z2luSW5mb1N0b3Jl
LnNldEFkZGl0aW9uYWxQbHVnaW5zRGlyZWN0b3JpZXMoZGlyZWN0b3JpZXMpOwogfQorI2VuZGlm
IC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCiB2b2lkIFdlYkNvbnRleHQ6OnNldEFs
d2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoKGJvb2wgYWx3YXlzVXNlQ29tcGxleFRleHQpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAppbmRleCA5ZThkODA1NGFjNzNlNjE5
NjIxMDVlZGQzMzNhMGE1MTA3NWNhODU5Li4yNDliMjkxYWY0YjMwNTMyYmY1YzNiNjdmYmYzYjVh
ZmJhN2M0ZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKQEAgLTEzMCwx
MCArMTMwLDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jaHJvbm91c01lc3Nh
Z2VGcm9tSW5qZWN0ZWRCdW5kbGUoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0KiwgUmVmUHRyPEFQ
SU9iamVjdD4mIHJldHVybkRhdGEpOwogCiAgICAgdm9pZCBwb3B1bGF0ZVZpc2l0ZWRMaW5rcygp
OwotICAgIAorCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgdm9pZCBzZXRB
ZGRpdGlvbmFsUGx1Z2luc0RpcmVjdG9yeShjb25zdCBTdHJpbmcmKTsKIAogICAgIFBsdWdpbklu
Zm9TdG9yZSYgcGx1Z2luSW5mb1N0b3JlKCkgeyByZXR1cm4gbV9wbHVnaW5JbmZvU3RvcmU7IH0K
KyNlbmRpZgogICAgIFN0cmluZyBhcHBsaWNhdGlvbkNhY2hlRGlyZWN0b3J5KCk7CiAKICAgICB2
b2lkIHNldEFsd2F5c1VzZXNDb21wbGV4VGV4dENvZGVQYXRoKGJvb2wpOwpAQCAtMTk1LDcgKzE5
Nyw5IEBAIHB1YmxpYzoKICAgICBXZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94eSogbmV0d29ya0lu
Zm9NYW5hZ2VyUHJveHkoKSBjb25zdCB7IHJldHVybiBtX25ldHdvcmtJbmZvTWFuYWdlclByb3h5
LmdldCgpOyB9CiAjZW5kaWYKICAgICBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkqIG5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uTWFuYWdl
clByb3h5LmdldCgpOyB9CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgV2Vi
UGx1Z2luU2l0ZURhdGFNYW5hZ2VyKiBwbHVnaW5TaXRlRGF0YU1hbmFnZXIoKSBjb25zdCB7IHJl
dHVybiBtX3BsdWdpblNpdGVEYXRhTWFuYWdlci5nZXQoKTsgfQorI2VuZGlmCiAgICAgV2ViUmVz
b3VyY2VDYWNoZU1hbmFnZXJQcm94eSogcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5nZXQoKTsgfQogI2lmIFVTRShT
T1VQKQogICAgIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5KiBzb3VwUmVxdWVzdE1hbmFnZXJQ
cm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cFJlcXVlc3RNYW5hZ2VyUHJveHkuZ2V0KCk7IH0K
QEAgLTMxNSwxMCArMzE5LDEyIEBAIHByaXZhdGU6CiAgICAgV2ViQ29udGV4dEluamVjdGVkQnVu
ZGxlQ2xpZW50IG1faW5qZWN0ZWRCdW5kbGVDbGllbnQ7CiAKICAgICBXZWJDb250ZXh0Q29ubmVj
dGlvbkNsaWVudCBtX2Nvbm5lY3Rpb25DbGllbnQ7Ci0gICAgCisKICAgICBXZWJIaXN0b3J5Q2xp
ZW50IG1faGlzdG9yeUNsaWVudDsKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
ICAgIFBsdWdpbkluZm9TdG9yZSBtX3BsdWdpbkluZm9TdG9yZTsKKyNlbmRpZgogICAgIFZpc2l0
ZWRMaW5rUHJvdmlkZXIgbV92aXNpdGVkTGlua1Byb3ZpZGVyOwogICAgICAgICAKICAgICBIYXNo
U2V0PFN0cmluZz4gbV9zY2hlbWVzVG9SZWdpc3RlckFzRW1wdHlEb2N1bWVudDsKQEAgLTM2MCw3
ICszNjYsOSBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94
eT4gbV9uZXR3b3JrSW5mb01hbmFnZXJQcm94eTsKICNlbmRpZgogICAgIFJlZlB0cjxXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJveHk+IG1fbm90aWZpY2F0aW9uTWFuYWdlclByb3h5OworI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIFJlZlB0cjxXZWJQbHVnaW5TaXRlRGF0YU1h
bmFnZXI+IG1fcGx1Z2luU2l0ZURhdGFNYW5hZ2VyOworI2VuZGlmCiAgICAgUmVmUHRyPFdlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyUHJveHk+IG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTsKICNp
ZiBVU0UoU09VUCkKICAgICBSZWZQdHI8V2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk+IG1fc291
cFJlcXVlc3RNYW5hZ2VyUHJveHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwCmluZGV4IDdlZjRhMjQ5ZmU3NzRmMmY4ODU5NzIwZjc1ZjVlYjQ3MDIwMTMwMWIuLjdk
NDM0ZGJmYWI0Y2I3ODI1MzMyYWYyYWQxYjFmNzA5YTAxNTJjODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC03NzksMTEgKzc3OSwxMiBAQCBib29sIFdl
YlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0
CiAgICAgaWYgKE1JTUVUeXBlUmVnaXN0cnk6OmNhblNob3dNSU1FVHlwZShtaW1lVHlwZSkpCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAg
ICAgU3RyaW5nIG5ld01pbWVUeXBlID0gbWltZVR5cGU7CiAgICAgUGx1Z2luTW9kdWxlSW5mbyBw
bHVnaW4gPSBtX3Byb2Nlc3MtPmNvbnRleHQoKS0+cGx1Z2luSW5mb1N0b3JlKCkuZmluZFBsdWdp
bihuZXdNaW1lVHlwZSwgS1VSTCgpKTsKICAgICBpZiAoIXBsdWdpbi5wYXRoLmlzTnVsbCgpKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKLQorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMzg4NCwxMyArMzg4NSwxNCBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6ZGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbihjb25zdCBTdHJpbmcmIG1p
bWVUeXBlKQogICAgIG1fbG9hZGVyQ2xpZW50LmRpZEZhaWxUb0luaXRpYWxpemVQbHVnaW4odGhp
cywgbWltZVR5cGUpOwogfQogCisvLyBGSVhNRTogRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkp
CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQmxvY2tJbnNlY3VyZVBsdWdpblZlcnNpb24oY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiB7CiAgICAgU3RyaW5n
IHBsdWdpbklkZW50aWZpZXI7CiAgICAgU3RyaW5nIHBsdWdpblZlcnNpb247CiAgICAgU3RyaW5n
IG5ld01pbWVUeXBlID0gbWltZVR5cGU7CiAKLSNpZiBQTEFURk9STShNQUMpCisjaWYgUExBVEZP
Uk0oTUFDKSAmJiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBQbHVnaW5Nb2R1bGVJ
bmZvIHBsdWdpbiA9IG1fcHJvY2Vzcy0+Y29udGV4dCgpLT5wbHVnaW5JbmZvU3RvcmUoKS5maW5k
UGx1Z2luKG5ld01pbWVUeXBlLCBLVVJMKEtVUkwoKSwgdXJsU3RyaW5nKSk7CiAKICAgICBwbHVn
aW5JZGVudGlmaWVyID0gcGx1Z2luLmJ1bmRsZUlkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCmluZGV4IGI4ODMyMzgzMGFkZDI5NDE4Nzhh
N2NhYWI4MjA3MGQ5MzE5Nzg1MWUuLmVjNjBiM2NjMDNmNWYxMTNjMjhmYzlmZmY1NDM0YzA4YjVl
OTE5YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3Bw
CkBAIC03MiwxMSArNzIsMTMgQEAgc3RhdGljIHVpbnQ2NF90IGdlbmVyYXRlUGFnZUlEKCkKICAg
ICByZXR1cm4gdW5pcXVlUGFnZUlEKys7CiB9CiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKIHN0YXRpYyBXb3JrUXVldWUmIHBsdWdpbldvcmtRdWV1ZSgpCiB7CiAgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChXb3JrUXVldWUsIHF1ZXVlLCAoImNvbS5hcHBsZS5Db3JlSVBDLlBsdWdp
blF1ZXVlIikpOwogICAgIHJldHVybiBxdWV1ZTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKIAogUGFzc1JlZlB0cjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQ
cm94eTo6Y3JlYXRlKFBhc3NSZWZQdHI8V2ViQ29udGV4dD4gY29udGV4dCkKIHsKQEAgLTMwOSw2
ICszMTEsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6YWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2
NF90IGl0ZW1JRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5hbAogICAgIHJlc3VsdC5pdGVyYXRvci0+
dmFsdWUtPnNldEJhY2tGb3J3YXJkRGF0YShiYWNrRm9yd2FyZERhdGEuZGF0YSgpLCBiYWNrRm9y
d2FyZERhdGEuc2l6ZSgpKTsKIH0KIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
dm9pZCBXZWJQcm9jZXNzUHJveHk6OnNlbmREaWRHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVlc3RJ
RCwgUGFzc093blB0cjxWZWN0b3I8UGx1Z2luSW5mbz4gPiBwbHVnaW5JbmZvcykKIHsKICAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtMzY4LDYgKzM3MSw3IEBAIHZvaWQgV2ViUHJvY2Vz
c1Byb3h5OjpnZXRQbHVnaW5QYXRoKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmlu
ZyYgdXJsU3RyCiAKICAgICBwbHVnaW5QYXRoID0gcGx1Z2luLnBhdGg7CiB9CisjZW5kaWYgLy8g
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1Mp
CiAKQEAgLTM3Niw3ICszODAsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb24oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQYXNzUgogICAgIFBsdWdp
blByb2Nlc3NNYW5hZ2VyOjpzaGFyZWQoKS5nZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihtX2Nv
bnRleHQtPnBsdWdpbkluZm9TdG9yZSgpLCBwbHVnaW5QYXRoLCByZXBseSk7CiB9CiAKLSNlbHNl
CisjZWxpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIAogdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OmRpZEdldFNpdGVzV2l0aFBsdWdpbkRhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHNpdGVz
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogewpAQCAtMzkwLDEwICszOTQsMTIgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmRpZENsZWFyUGx1Z2luU2l0ZURhdGEodWludDY0X3QgY2FsbGJhY2tJRCkK
IAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmdldFNoYXJlZFdvcmtlclByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0cmlu
ZyYgLyogdXJsICovLCBjb25zdCBTdHJpbmcmIC8qIG5hbWUgKi8sIFBhc3NSZWZQdHI8TWVzc2Fn
ZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0U2hhcmVkV29ya2VyUHJvY2Vzc0Nvbm5lY3Rpb246OkRl
bGF5ZWRSZXBseT4pCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudAogfQorI2VuZGlmIC8vIEVO
QUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRS
ZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpN
ZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAppbmRleCA3NTI0
ZGYyZmY0NjAwZjhlYjVmNjg2YzBkMWU4NDk3ZDI1MTBlMGZhLi45YjNjNDU4NzAwZDgyM2RiM2Y1
NzZmMWU0MGQ0N2YxNzZmZWY1OGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQcm94eS5oCkBAIC0xNDEsMTkgKzE0MSwyMSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2hv
dWxkVGVybWluYXRlKGJvb2wmIHNob3VsZFRlcm1pbmF0ZSk7CiAKICAgICAvLyBQbHVnaW5zCisj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgdm9pZCBnZXRQbHVnaW5zKENvcmVJ
UEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVmcmVzaCk7CiAgICAg
dm9pZCBnZXRQbHVnaW5QYXRoKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYg
dXJsU3RyaW5nLCBTdHJpbmcmIHBsdWdpblBhdGgsIGJvb2wmIGJsb2NrZWQpOworICAgIHZvaWQg
aGFuZGxlR2V0UGx1Z2lucyh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgcmVmcmVzaCk7CisgICAg
dm9pZCBzZW5kRGlkR2V0UGx1Z2lucyh1aW50NjRfdCByZXF1ZXN0SUQsIFBhc3NPd25QdHI8VmVj
dG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+ID4pOworI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICB2b2lkIGdldFBsdWdp
blByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGFzc1JlZlB0cjxN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6RGVs
YXllZFJlcGx5Pik7Ci0jZWxzZQorI2VsaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAg
ICAgdm9pZCBkaWRHZXRTaXRlc1dpdGhQbHVnaW5EYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
aXRlcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBkaWRDbGVhclBsdWdpblNpdGVE
YXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogI2VuZGlmCi0KLSAgICB2b2lkIGhhbmRsZUdldFBs
dWdpbnModWludDY0X3QgcmVxdWVzdElELCBib29sIHJlZnJlc2gpOwotICAgIHZvaWQgc2VuZERp
ZEdldFBsdWdpbnModWludDY0X3QgcmVxdWVzdElELCBQYXNzT3duUHRyPFZlY3RvcjxXZWJDb3Jl
OjpQbHVnaW5JbmZvPiA+KTsKLQorI2lmIEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCiAg
ICAgdm9pZCBnZXRTaGFyZWRXb3JrZXJQcm9jZXNzQ29ubmVjdGlvbihjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiBuYW1lLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJv
eHk6OkdldFNoYXJlZFdvcmtlclByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+KTsKKyNl
bmRpZgogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZSQU1FV09SSykKICAgICB2b2lkIHNlY0l0ZW1SZXF1
ZXN0KENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFNlY0l0
ZW1SZXF1ZXN0RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNjdlN2IyZGRlODE5NjhiODZlNWUwMjBiYTQ1
NzVlNTNmMDUzYWZhNS4uMzk2YTE2NmE3ODg2N2Q4MTI3YjdmYjQyYWI2NjY4OWVjN2UxZjQxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluCkBAIC0zNCwxNiArMzQsMjAgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5
IHsKICAgICBTaG91bGRUZXJtaW5hdGUoKSAtPiAoYm9vbCBzaG91bGRUZXJtaW5hdGUpCiAKICAg
ICAjIFBsdWdpbiBtZXNzYWdlcy4KKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCByZWZyZXNoKSBEaXNwYXRjaE9u
Q29ubmVjdGlvblF1ZXVlCiAgICAgR2V0UGx1Z2luUGF0aChXVEY6OlN0cmluZyBtaW1lVHlwZSwg
V1RGOjpTdHJpbmcgdXJsU3RyaW5nKSAtPiAoV1RGOjpTdHJpbmcgcGx1Z2luUGF0aCwgYm9vbCBi
bG9ja2VkKQorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogI2lmIEVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKICAgICBHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihXVEY6OlN0
cmluZyBwbHVnaW5QYXRoKSAtPiAoQ29yZUlQQzo6QXR0YWNobWVudCBjb25uZWN0aW9uSGFuZGxl
LCBib29sIHN1cHBvcnRzQXN5bmNocm9ub3VzSW5pdGlhbGl6YXRpb24pIERlbGF5ZWQKICNlbmRp
ZgotI2lmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpICYmICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgdm9pZCBEaWRHZXRTaXRlc1dp
dGhQbHVnaW5EYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiAgICAgdm9pZCBEaWRDbGVhclBsdWdpblNpdGVEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQp
CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogICAgIEdldFNoYXJl
ZFdvcmtlclByb2Nlc3NDb25uZWN0aW9uKFdURjo6U3RyaW5nIHVybCwgV1RGOjpTdHJpbmcgbmFt
ZSkgLT4gKENvcmVJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkhhbmRsZSkgRGVsYXllZAorI2Vu
ZGlmCiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQogICAgIFNlY0l0ZW1SZXF1ZXN0KHVp
bnQ2NF90IHJlcXVlc3RJRCwgV2ViS2l0OjpTZWNJdGVtUmVxdWVzdERhdGEgcmVxdWVzdCkgRGlz
cGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0
MlByZWZpeC5oIGIvU291cmNlL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oCmluZGV4IGI1N2UwMDAz
OWI1NmZkYmY4MjQzMzBkMGJlNWNhNTE5NWM4OTZlMmEuLjhmNmIwOTlmMTYxNzYzY2U5YzBjMjA2
ZWNhN2RmZWE0MjU0NzNjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDJQcmVm
aXguaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgKQEAgLTU3LDcgKzU3LDEz
IEBACiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKLSNpZiAhUExBVEZPUk0oV0lOKQorI2lm
IFBMQVRGT1JNKE1BQykKKworI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKKyNkZWZpbmUgRU5B
QkxFX1NIQVJFRF9XT1JLRVJfUFJPQ0VTUyAxCisjZW5kaWYKKworI2VsaWYgIVBMQVRGT1JNKFdJ
TikKICNkZWZpbmUgRU5BQkxFX1NIQVJFRF9XT1JLRVJfUFJPQ0VTUyAxCiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBjMjk0NjNmNDZmZDQ3NzI4ZjQ4MzNl
ZDYwYmYzZjY2OTMxOWRhYTM3Li41N2I5NjNhOTdhODc5ODEzYmMyMWNhY2IzMGQwODhmY2NhMWE5
ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTM0NiwyMSArMTM0
NiwyNyBAQCBQYXNzUmVmUHRyPFdpZGdldD4gV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0ZVBs
dWdpbihjb25zdCBJbnRTaXplJiwgSFRNTFBsdWdJbgogICAgIH0KICNlbmRpZgogCisjaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgUmVmUHRyPFBsdWdpbj4gcGx1Z2luID0gd2Vi
UGFnZS0+Y3JlYXRlUGx1Z2luKG1fZnJhbWUsIHBsdWdpbkVsZW1lbnQsIHBhcmFtZXRlcnMpOwog
ICAgIGlmICghcGx1Z2luKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKKwogICAgIHJldHVybiBQ
bHVnaW5WaWV3OjpjcmVhdGUocGx1Z2luRWxlbWVudCwgcGx1Z2luLnJlbGVhc2UoKSwgcGFyYW1l
dGVycyk7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnJlY3JlYXRlUGx1Z2luKFdpZGdldCogd2lkZ2V0KQogeworI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIEFTU0VSVCh3aWRnZXQgJiYgd2lkZ2V0LT5pc1Bs
dWdpblZpZXdCYXNlKCkpOwogICAgIEFTU0VSVChtX2ZyYW1lLT5wYWdlKCkpOwogCiAgICAgUGx1
Z2luVmlldyogcGx1Z2luVmlldyA9IHN0YXRpY19jYXN0PFBsdWdpblZpZXcqPih3aWRnZXQpOwog
ICAgIFJlZlB0cjxQbHVnaW4+IHBsdWdpbiA9IG1fZnJhbWUtPnBhZ2UoKS0+Y3JlYXRlUGx1Z2lu
KG1fZnJhbWUsIHBsdWdpblZpZXctPnBsdWdpbkVsZW1lbnQoKSwgcGx1Z2luVmlldy0+aW5pdGlh
bFBhcmFtZXRlcnMoKSk7CiAgICAgcGx1Z2luVmlldy0+cmVjcmVhdGVBbmRJbml0aWFsaXplKHBs
dWdpbi5yZWxlYXNlKCkpOworI2VuZGlmCiB9CiAKIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6
OnJlZGlyZWN0RGF0YVRvUGx1Z2luKFdpZGdldCogcGx1Z2luV2lkZ2V0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IDVkMjUwZWE1OTgzMjkyNGVjMmIzZjBmMWRlYmFm
YjBlZmNhMzA1NWEuLjYyZjkwMDQwMDk1OGU3MGRlY2NlY2M3MzEyY2UxZGU4YzhlY2Q1YWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU2LDggKzU2
LDEwIEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjppbml0aWFsaXplKCkKIH0KIAogV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMoKQorI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIDogbV9wbHVnaW5DYWNoZUlzUG9wdWxhdGVkKGZhbHNl
KQogICAgICwgbV9zaG91bGRSZWZyZXNoUGx1Z2lucyhmYWxzZSkKKyNlbmRpZiAvLyBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKIHsKIH0KIApAQCAtOTIsMTkgKzk0LDI0IEBAIHZvaWQgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpub3RpZnlDb29raWVzQ2hhbmdlZCgpCiAKIHZvaWQgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjpyZWZyZXNoUGx1Z2lucygpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCiAgICAgbV9jYWNoZWRQbHVnaW5zLmNsZWFyKCk7CiAgICAgbV9wbHVnaW5D
YWNoZUlzUG9wdWxhdGVkID0gZmFsc2U7CiAgICAgbV9zaG91bGRSZWZyZXNoUGx1Z2lucyA9IHRy
dWU7CiAKICAgICBwb3B1bGF0ZVBsdWdpbkNhY2hlKCk7CisjZW5kaWYgLy8gRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQbHVn
aW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2UqLCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4m
IHBsdWdpbnMpCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgcG9wdWxh
dGVQbHVnaW5DYWNoZSgpOwogICAgIHBsdWdpbnMgPSBtX2NhY2hlZFBsdWdpbnM7CisjZW5kaWYg
Ly8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiB9CiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKIHN0YXRpYyBCbG9ja2luZ1Jlc3BvbnNlTWFwPFZlY3RvcjxXZWJDb3JlOjpQ
bHVnaW5JbmZvPiA+JiByZXNwb25zZU1hcCgpCiB7CiAgICAgQXRvbWljYWxseUluaXRpYWxpemVk
U3RhdGljKEJsb2NraW5nUmVzcG9uc2VNYXA8VmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+ID4m
LCByZXNwb25zZU1hcCA9ICpuZXcgQmxvY2tpbmdSZXNwb25zZU1hcDxWZWN0b3I8V2ViQ29yZTo6
UGx1Z2luSW5mbz4gPik7CkBAIC0xMzgsNiArMTQ1LDcgQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OnBvcHVsYXRlUGx1Z2luQ2FjaGUoKQogICAgIG1fc2hvdWxkUmVmcmVzaFBsdWdpbnMg
PSBmYWxzZTsKICAgICBtX3BsdWdpbkNhY2hlSXNQb3B1bGF0ZWQgPSB0cnVlOwogfQorI2VuZGlm
IC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogCiAvLyBWaXNpdGVkTGlua1N0cmF0ZWd5
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDQxMmE3NWJjZTNlOTIyNzA3
ODNlZTk0YjE2YzA0ODBmZmJiOGZlYmIuLmRmYmNjMzM0YzFjM2ZhZDBlOTEwYjM0NGI4MzkyNDI0
NGEwYTRkYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTUsNyArNTUsNiBA
QCBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5CiAgICAgdmlydHVhbCB2
b2lkIHJlZnJlc2hQbHVnaW5zKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGdldFBsdWdp
bkluZm8oY29uc3QgV2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYp
IE9WRVJSSURFOwotICAgIHZvaWQgcG9wdWxhdGVQbHVnaW5DYWNoZSgpOwogCiAgICAgLy8gV2Vi
Q29yZTo6VmlzaXRlZExpbmtTdHJhdGVneQogICAgIHZpcnR1YWwgYm9vbCBpc0xpbmtWaXNpdGVk
KFdlYkNvcmU6OlBhZ2UqLCBXZWJDb3JlOjpMaW5rSGFzaCwgY29uc3QgV2ViQ29yZTo6S1VSTCYg
YmFzZVVSTCwgY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmIGF0dHJpYnV0ZVVSTCkgT1ZFUlJJREU7
CkBAIC04MCwxMiArNzksMTggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0U3RyaW5n
Rm9yVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICNlbmRpZgogCisjaWYgRU5BQkxF
KE5FVFNDQVBFX1BMVUdJTl9BUEkpCisgICAgLy8gV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kgaW1w
bGVtZW50YXRpb24uCisgICAgdm9pZCBwb3B1bGF0ZVBsdWdpbkNhY2hlKCk7CiAgICAgYm9vbCBt
X3BsdWdpbkNhY2hlSXNQb3B1bGF0ZWQ7CiAgICAgYm9vbCBtX3Nob3VsZFJlZnJlc2hQbHVnaW5z
OwogICAgIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiBtX2NhY2hlZFBsdWdpbnM7CisjZW5k
aWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogfTsKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9Q
TFVHSU5fQVBJKQogdm9pZCBoYW5kbGVEaWRHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Y29uc3QgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+Jik7CisjZW5kaWYgLy8gRU5BQkxFKFBM
VUdJTl9QUk9DRVNTKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGU4MmU2NWMwNjY5NGUxMjE5
Y2Y3Njc0MGUwMzU5MmNkNDI4YWMzZGUuLjM0MGY4Nzk4ZDdmNzlmNGUyMjFkZDY0YzdiODBhZGM4
NTRlZTdkZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKQEAgLTQ1MSw2ICs0NTEsNyBAQCB2b2lkIFdlYlBhZ2U6OmluaXRpYWxpemVJbmplY3Rl
ZEJ1bmRsZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50KFdLQnVuZGxlUGFnZURpYWdubwogICAgIG1f
bG9nRGlhZ25vc3RpY01lc3NhZ2VDbGllbnQuaW5pdGlhbGl6ZShjbGllbnQpOwogfQogCisjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiBQYXNzUmVmUHRyPFBsdWdpbj4gV2ViUGFnZTo6
Y3JlYXRlUGx1Z2luKFdlYkZyYW1lKiBmcmFtZSwgSFRNTFBsdWdJbkVsZW1lbnQqIHBsdWdpbkVs
ZW1lbnQsIGNvbnN0IFBsdWdpbjo6UGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKICAgICBTdHJp
bmcgcGx1Z2luUGF0aDsKQEAgLTQ4OCwxMyArNDg5LDEyIEBAIFBhc3NSZWZQdHI8UGx1Z2luPiBX
ZWJQYWdlOjpjcmVhdGVQbHVnaW4oV2ViRnJhbWUqIGZyYW1lLCBIVE1MUGx1Z0luRWxlbWVudCog
cGx1CiAKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgcmV0dXJuIFBsdWdpblByb3h5
OjpjcmVhdGUocGx1Z2luUGF0aCk7Ci0jZWxpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
KyNlbHNlCiAgICAgTmV0c2NhcGVQbHVnaW46OnNldFNldEV4Y2VwdGlvbkZ1bmN0aW9uKE5QUnVu
dGltZU9iamVjdE1hcDo6c2V0R2xvYmFsRXhjZXB0aW9uKTsKICAgICByZXR1cm4gTmV0c2NhcGVQ
bHVnaW46OmNyZWF0ZShOZXRzY2FwZVBsdWdpbk1vZHVsZTo6Z2V0T3JDcmVhdGUocGx1Z2luUGF0
aCkpOwotI2Vsc2UKLSAgICByZXR1cm4gMDsKICNlbmRpZgogfQorI2VuZGlmIC8vIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogCiBFZGl0b3JTdGF0ZSBXZWJQYWdlOjplZGl0b3JTdGF0ZSgp
IGNvbnN0CiB7CkBAIC0zNDQ2LDYgKzM0NDYsNyBAQCB2b2lkIFdlYlBhZ2U6OnNldFNjcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogCiBzdGF0aWMgYm9vbCBj
YW5QbHVnaW5IYW5kbGVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBTdHJpbmcgcGx1Z2luUGF0
aDsKICAgICBib29sIGJsb2NrZWQ7CiAgICAgCkBAIC0zNDUzLDYgKzM0NTQsOSBAQCBzdGF0aWMg
Ym9vbCBjYW5QbHVnaW5IYW5kbGVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIHJldHVybiAhYmxvY2tlZCAm
JiAhcGx1Z2luUGF0aC5pc0VtcHR5KCk7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgogfQogCiBib29sIFdlYlBhZ2U6OnNob3VsZFVzZUN1c3RvbVJlcHJlc2VudGF0aW9uRm9yUmVz
cG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAwYTVmMmJiYjc1ZjMyYzUx
ZGExNGFmYzA2OTlkZGY3MTMyMTNkZDBkLi45MGExZWM2ZjA1ZWFlYzRiM2ZmMDVmMzJkMDVhMWI0
Yjk1Y2MzYWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTI4MCw3ICsyODAsOSBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6RnJhbWUqIG1haW5G
cmFtZSgpIGNvbnN0OyAvLyBNYXkgcmV0dXJuIDAuCiAgICAgV2ViQ29yZTo6RnJhbWVWaWV3KiBt
YWluRnJhbWVWaWV3KCkgY29uc3Q7IC8vIE1heSByZXR1cm4gMC4KIAorI2lmIEVOQUJMRShORVRT
Q0FQRV9QTFVHSU5fQVBJKQogICAgIFBhc3NSZWZQdHI8UGx1Z2luPiBjcmVhdGVQbHVnaW4oV2Vi
RnJhbWUqLCBXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IFBsdWdpbjo6UGFyYW1l
dGVycyYpOworI2VuZGlmCiAKICAgICBFZGl0b3JTdGF0ZSBlZGl0b3JTdGF0ZSgpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA0M2VkMTZiMWEz
OWM5OGQ3NWViZmU1NDE5NjBiZWE0ZWJlZjk5ZjRkLi5lNzc5MWJjZDkzOWEyMDE5ZjIwNWU1MzRk
YjcwODU4NjdlOGMzNDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTgzMiw3ICs4MzIsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OmNsZWFyQXBw
bGljYXRpb25DYWNoZSgpCiAgICAgY2FjaGVTdG9yYWdlKCkuZW1wdHkoKTsKIH0KIAotI2lmICFF
TkFCTEUoUExVR0lOX1BST0NFU1MpCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICYm
ICFFTkFCTEUoUExVR0lOX1BST0NFU1MpCiB2b2lkIFdlYlByb2Nlc3M6OmdldFNpdGVzV2l0aFBs
dWdpbkRhdGEoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBsdWdpblBhdGhzLCB1aW50NjRfdCBjYWxs
YmFja0lEKQogewogICAgIExvY2FsVGVybWluYXRpb25EaXNhYmxlciB0ZXJtaW5hdGlvbkRpc2Fi
bGVyKCp0aGlzKTsKQEAgLTEwOTMsNiArMTA5Myw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0VGV4
dENoZWNrZXJTdGF0ZShjb25zdCBUZXh0Q2hlY2tlclN0YXRlJiB0ZXh0Q2hlY2tlclN0YXRlKQog
ICAgIH0KIH0KIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogdm9pZCBXZWJQcm9j
ZXNzOjpkaWRHZXRQbHVnaW5zKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0
SUQsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYgcGx1Z2lucykKIHsKICNpZiBV
U0UoUExBVEZPUk1fU1RSQVRFR0lFUykKQEAgLTExMDAsNSArMTEwMSw2IEBAIHZvaWQgV2ViUHJv
Y2Vzczo6ZGlkR2V0UGx1Z2lucyhDb3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3QgcmVxdWVz
dElELCBjb25zdCBWCiAgICAgaGFuZGxlRGlkR2V0UGx1Z2lucyhyZXF1ZXN0SUQsIHBsdWdpbnMp
OwogI2VuZGlmCiB9CisjZW5kaWYgLy8gRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXgg
ZWNjYmI4ZDYwZTdhNDVkOTRjYjRiZjJhNmU1MDgyMDcyZTNlNDk2OS4uOTk1MzNkNDgxNGYzNWMy
YjY3ZWQyNWFmMDBhNGU2OTgyMTAxOWZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTI3Niw3ICsyNzYsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2
ZVdlYlByb2Nlc3NNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdl
SUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwogICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBy
b2Nlc3NNZXNzYWdlT25Db25uZWN0aW9uV29ya1F1ZXVlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBD
b3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIGJvb2wmIGRpZEhh
bmRsZU1lc3NhZ2UpOwogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgdm9p
ZCBkaWRHZXRQbHVnaW5zKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQs
IGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworI2VuZGlmCiAKICAgICBSZWZQ
dHI8V2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzPiBtX2Nvbm5lY3Rpb247CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBkMTBhN2I1
MzY1NTRhYjQyNzYyNDMzZTg3OTE3OWFmMTNlNDgzYmVlLi4zNzg3OTJmNmRiMTIzZDAzMzkyY2Ni
YjI0ZTE5MjFmNjA0NTI2NjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC01NiwxMyArNTYsMTMgQEAgbWVzc2FnZXMgLT4gV2Vi
UHJvY2VzcyB7CiAjZW5kaWYKIAogICAgICMgUGx1Zy1pbnMuCi0jaWYgIUVOQUJMRShQTFVHSU5f
UFJPQ0VTUykKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyAgICBEaWRHZXRQbHVn
aW5zKHVpbnQ2NF90IHJlcXVlc3RJRCwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+IHBsdWdp
bnMpIERpc3BhdGNoT25Db25uZWN0aW9uUXVldWUKKyNlbmRpZgorI2lmIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKSAmJiAhRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogICAgIEdldFNpdGVzV2l0
aFBsdWdpbkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRocywgdWludDY0X3QgY2Fs
bGJhY2tJRCkKICAgICBDbGVhclBsdWdpblNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1
Z2luUGF0aHMsIFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50
NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAjZW5kaWYKLQotICAg
IERpZEdldFBsdWdpbnModWludDY0X3QgcmVxdWVzdElELCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2lu
SW5mbz4gcGx1Z2lucykgRGlzcGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQotCiAjaWYgRU5BQkxFKFBM
VUdJTl9QUk9DRVNTKQogICAgIFBsdWdpblByb2Nlc3NDcmFzaGVkKFN0cmluZyBwbHVnaW5Qcm9j
ZXNzKSBEaXNwYXRjaE9uQ29ubmVjdGlvblF1ZXVlCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3OTM1YTBhZGJjZjNiMWMyZWZkMDBj
YmQxZjA0OWNhMDQ0ZDhlNTVkLi41NDljNjc3MjlkMTJhZmNhYTAyY2Q3MDA0YWY0NGQzZGM4Yzc4
Y2EzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMTggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gU2FmYXJpIGRvZXMgbm90IGJ1aWxkIHdpdGhvdXQg
UExVR0lOX1BST0NFU1MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk5NzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTW9ja1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLm1t
OiBUaGUgZmlsZSB3YXMgbm90IGluY2x1ZGluZyBjb25maWcuaCwKKyAgICAgICAgZWZmZWN0aXZl
bHkgYnJlYWtpbmcgZmVhdHVyZSBmbGFncy4KKwogMjAxMi0xMC0xNyAgU2hhc2hpIFNoZWtoYXIg
IDxzaGFzaGlzaGVraGFyQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHJlZHVuZGFudCBz
ZGtfYnVpbGQgcGFyYW1ldGVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L01vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIubW0KaW5kZXggNDM2NWQxNWQwNjU3Yzg1OWU5
YjllMTAxOGQ3ZjUzZDg1Y2ViNDI5Mi4uZDgwZjZiYTRlMmMxNzljNDVjNWYyMGIxM2VkMGM0ZmRm
Mzc4NjRhZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL01vY2tXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTW9ja1dl
Yk5vdGlmaWNhdGlvblByb3ZpZGVyLm1tCkBAIC0yNiw3ICsyNiw5IEBACiAgKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKKyNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTW9ja1dlYk5vdGlmaWNhdGlvblBy
b3ZpZGVyLmgiCisKICNpbXBvcnQgPFdlYktpdC9XZWJTZWN1cml0eU9yaWdpblByaXZhdGUuaD4K
IAogQGltcGxlbWVudGF0aW9uIE1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169534</attachid>
            <date>2012-10-18 19:20:53 -0700</date>
            <delta_ts>2012-10-18 19:43:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-99771-20121018191938.patch</filename>
            <type>text/plain</type>
            <size>55023</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkOTk3NDcyOTMxYzMy
ZmJiYWMwZmJmZjM1MDI4OTU1MmE3MDJkYi4uZmE2NjRmZmRmNDBhZDlkYmMwMTYxNWFjNzdkYmRj
ZjFlM2EwMzg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTE4ICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFdlYktp
dDIgZG9lcyBub3QgYnVpbGQgd2l0aG91dCBQTFVHSU5fUFJPQ0VTUyBvbiBNYWMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NzcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46
IFRoZSBzeW1ib2wgaXMgdXNlZCBieSBXZWJDb3JlIFRlc3QgU3VwcG9ydCwgbW92ZSBpdAorICAg
ICAgICB0byB0aGUgZ2VuZXJhbCBzZWN0aW9uLgorCiAyMDEyLTEwLTE4ICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IENyYXNoZXMgaW4gV2ViUHJv
Y2VzcyBhdCBjb20uYXBwbGUuV2ViQ29yZTogLVtBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBy
ZW1vdGVBY2Nlc3NpYmlsaXR5UGFyZW50T2JqZWN0XSArIDc4CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzgyOGUy
NzNjMTA2YjkwZjVmNzA0YzU3NDRhOGY4NTdmNGJmODc0Yy4uYmIzMzE4MjIwOTRkMWQwMjk3Nzgw
NDkzYTU5MGZjNGUzNWNlODNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDEyLTEw
LTE4ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtX
SzJdIFdlYktpdDIgZG9lcyBub3QgYnVpbGQgd2l0aG91dCBQTFVHSU5fUFJPQ0VTUyBvbiBNYWMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NzcxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgorCisgICAgICAgIEFkZCBFTkFC
TEUoUExVR0lOX1BST0NFU1MpLCBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKSBhbmQgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisgICAgICAgIGFzIG5lZWRlZCB0byBleGNsdWRlIHRo
ZSBjb2RlIHdpdGggZGVwZW5kZW5jaWVzIG9uIFBMVUdJTl9QUk9DRVNTLgorCisgICAgICAgICog
UGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaDoKKyAgICAgICAgKiBTaGFyZWQvU2hhcmVkV29y
a2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgICogU2hhcmVkL1NoYXJl
ZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBTaGFyZWRXb3Jr
ZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MuY3BwOgorICAgICAgICAqIFNoYXJlZFdvcmtl
clByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5oOgorICAgICAgICAqIFNoYXJlZFdvcmtlclBy
b2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFyZWRX
b3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFjLm1tOgorICAgICAgICAqIFNo
YXJlZFdvcmtlclByb2Nlc3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWluTWFjLm1tOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwOgorICAgICAgICAoV0tDb250ZXh0
U2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkpOgorICAgICAgICAoV0tDb250ZXh0R2V0UGx1
Z2luU2l0ZURhdGFNYW5hZ2VyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQbHVnaW5T
aXRlRGF0YU1hbmFnZXIuY3BwOgorICAgICAgICAoV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRU
eXBlSUQpOgorICAgICAgICAoV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRTaXRlc1dpdGhEYXRh
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjpwcm9jZXNzVHlwZUFzU3RyaW5nKToKKyAg
ICAgICAgKFdlYktpdDo6UHJvY2Vzc0xhdW5jaGVyOjpnZXRQcm9jZXNzVHlwZUZyb21TdHJpbmcp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6Y3JlYXRlUHJvY2Vzcyk6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luSW5mb1N0b3JlLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5J
bmZvU3RvcmUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0
YU1hbmFnZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVE
YXRhTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZv
U3RvcmVNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6Z2V0UGx1Z2lu
SW5mbyk6CisgICAgICAgICogVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJv
Y2Vzc01hbmFnZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJl
ZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1NoYXJlZFdvcmtl
cnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvU2hh
cmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvU2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJD
b250ZXh0OjpXZWJDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6fldlYkNv
bnRleHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpzaG91bGRUZXJtaW5hdGUpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpkaXNjb25uZWN0UHJvY2Vzcyk6CisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lmg6CisgICAgICAgIChX
ZWJDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpjYW5TaG93TUlNRVR5cGUpOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRCbG9ja0luc2VjdXJlUGx1
Z2luVmVyc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoK
KyAgICAgICAgKFdlYlByb2Nlc3NQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJLaXQyUHJlZml4Lmg6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVQbHVnaW4pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6cmVjcmVhdGVQbHVnaW4pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlZnJl
c2hQbHVnaW5zKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRQ
bHVnaW5JbmZvKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3Jt
U3RyYXRlZ2llcyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmNyZWF0ZVBsdWdpbik6CisgICAgICAgIChXZWJLaXQ6OmNhblBsdWdpbkhhbmRsZVJl
c3BvbnNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAg
ICAoV2ViUGFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAg
IChXZWJQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW46CisKIDIwMTItMTAtMTggIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4K
IAogICAgICAgICBBWDogQ3Jhc2hlcyBpbiBXZWJQcm9jZXNzIGF0IGNvbS5hcHBsZS5XZWJDb3Jl
OiAtW0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHJlbW90ZUFjY2Vzc2liaWxpdHlQYXJlbnRP
YmplY3RdICsgNzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYmM2ZmQ5YmJjZDE2OWUxNDhkMGEw
ZjM0OWM5YWRkMDI2ZGRmNjhkYS4uYmYzYTk2YmY5MzYyNzkyODkxNzI1OWE4N2JmNDE2NDk0MDk0
ZjAxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTYyOSw2ICs2MjksNyBAQCBfX1pON1dlYkNv
cmUyNUhpc3RvcnlQcm9wZXJ0eUxpc3RXcml0ZXJDMkV2CiBfX1pON1dlYkNvcmUyNUltbXV0YWJs
ZVN0eWxlUHJvcGVydHlTZXREMUV2CiBfX1pON1dlYkNvcmUyNWFkZExhbmd1YWdlQ2hhbmdlT2Jz
ZXJ2ZXJFUHZQRnZTMF9FCiBfX1pON1dlYkNvcmUyNWNvbXB1dGVWaWV3cG9ydEF0dHJpYnV0ZXNF
TlNfMTdWaWV3cG9ydEFyZ3VtZW50c0VpaWlmTlNfN0ludFNpemVFCitfX1pON1dlYkNvcmUyNWpz
U3RyaW5nV2l0aENhY2hlU2xvd0Nhc2VFUE4zSlNDOUV4ZWNTdGF0ZUVSTjNXVEY3SGFzaE1hcElQ
TlMzXzEwU3RyaW5nSW1wbEVOUzBfNFdlYWtJTlMwXzhKU1N0cmluZ0VFRU5TM183UHRySGFzaElT
Nl9FRU5TM18xMEhhc2hUcmFpdHNJUzZfRUVOU0NfSVM5X0VFRUVTNl8KIF9fWk43V2ViQ29yZTI2
VXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IyN3Byb2Nlc3NpbmdVc2VyVHlwaW5nR2VzdHVyZUV2
CiBfX1pON1dlYkNvcmUyNlVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yMjhmb2N1c2VkRWxlbWVu
dEF0R2VzdHVyZVN0YXJ0RXYKIF9fWk43V2ViQ29yZTI2c3RvcE9ic2VydmluZ0Nvb2tpZUNoYW5n
ZXNFdgpAQCAtMjM2MSw3ICsyMzYyLDYgQEAgX19OUE5fVVRGOEZyb21JZGVudGlmaWVyCiBfX1pO
N1dlYkNvcmUxNlNjcmlwdENvbnRyb2xsZXIyMHdpbmRvd1NjcmlwdE5QT2JqZWN0RXYKIF9fWk43
V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjI5Y2xlYW51cFNjcmlwdE9iamVjdHNGb3JQbHVnaW5F
UHYKIF9fWk43V2ViQ29yZTE3SFRNTFBsdWdJbkVsZW1lbnQxMWdldE5QT2JqZWN0RXYKLV9fWk43
V2ViQ29yZTI1anNTdHJpbmdXaXRoQ2FjaGVTbG93Q2FzZUVQTjNKU0M5RXhlY1N0YXRlRVJOM1dU
RjdIYXNoTWFwSVBOUzNfMTBTdHJpbmdJbXBsRU5TMF80V2Vha0lOUzBfOEpTU3RyaW5nRUVFTlMz
XzdQdHJIYXNoSVM2X0VFTlMzXzEwSGFzaFRyYWl0c0lTNl9FRU5TQ19JUzlfRUVFRVM2XwogX19a
Tks3V2ViQ29yZTE0U2VjdXJpdHlPcmlnaW45Y2FuQWNjZXNzRVBLUzBfCiBfX1pOSzdXZWJDb3Jl
NEtVUkw3aGFzUGF0aEV2CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvTWVzc2FnZUlELmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L01lc3NhZ2VJRC5oCmluZGV4IDM4YTMxY2JhNjg4MTkzMDY1YTc0MTU5MDgxM2ZlNDY5OWVlNWIz
N2UuLjI5YTIwNTRlNmExZWMwZGNiYjFmNzhjOTYyYTEyOGI0NTE1ZjdmYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTA5LDggKzEwOSwxMCBAQCBl
bnVtIE1lc3NhZ2VDbGFzcyB7CiAgICAgLy8gTWVzc2FnZXMgc2VudCBieSB0aGUgVUkgcHJvY2Vz
cyB0byB0aGUgbmV0d29yayBwcm9jZXNzLgogICAgIE1lc3NhZ2VDbGFzc05ldHdvcmtQcm9jZXNz
LAogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKICAgICAvLyBNZXNzYWdlcyBz
ZW50IGJ5IHRoZSBVSSBwcm9jZXNzIHRvIHRoZSBzaGFyZWQgd29ya2VyIHByb2Nlc3MuCiAgICAg
TWVzc2FnZUNsYXNzU2hhcmVkV29ya2VyUHJvY2VzcywKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVE
X1dPUktFUl9QUk9DRVNTKQogCiAgICAgLy8gTWVzc2FnZXMgc2VudCBieSB0aGUgc2hhcmVkIHdv
cmtlciBwcm9jZXNzIHRvIHRoZSBVSSBwcm9jZXNzLgogICAgIE1lc3NhZ2VDbGFzc1NoYXJlZFdv
cmtlclByb2Nlc3NQcm94eSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFy
ZWRXb3JrZXJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9TaGFyZWRXb3JrZXJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRleCBmYTU2
NGFkYzE0YTY0NGMxMzU2Y2RkMWNlNWFlN2ZmNDFjZWU5NDI3Li5iNjY5MzA3ZWJjMjMwNmZmOTdi
ODBlNDk3M2NjZWMxNzk0YzliYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
U2hhcmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1NoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBA
IC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29y
a2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JL
RVJfUFJPQ0VTUykKKwogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNjAsMyArNjIsNSBAQCBib29sIFNoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnM6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlYwogCiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJP
Q0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWRXb3JrZXJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2hhcmVkV29y
a2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDNhNjBiNGMzZDY3YjRlNWQxOWJm
NTMzYjBhZWMzNGVhMjk5YTc3OWQuLjNmZWY5NzUzNWIyNDQ2NWIwOTQ0MjRhOTUyNTkzY2ZjYjhj
YzM4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TaGFyZWRXb3JrZXJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1NoYXJl
ZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMjYsNiArMjYsOCBAQAogI2lm
bmRlZiBTaGFyZWRXb3JrZXJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzX2gKICNkZWZpbmUgU2hh
cmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyc19oCiAKKyNpZiBFTkFCTEUoU0hBUkVE
X1dPUktFUl9QUk9DRVNTKQorCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCkBAIC01NSw0ICs1Nyw2IEBAIHN0cnVjdCBTaGFyZWRXb3JrZXJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRp
ZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjZW5kaWYgLy8gU2hhcmVkV29y
a2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmNwcAppbmRleCBl
MjQzNDJhZmQ2NmExODhiYjk2NjkwNjRmMjA2NmRkYzYxNDBiOGJkLi5hNTMzZDI1YmMyMGI3MDFi
NjMwZjExMTJlMzBjOWQwYzU3YzljYzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5jcHAKQEAgLTI2LDYg
KzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9j
ZXNzLmgiCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW5jbHVkZSAi
QXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiU2hh
cmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgpAQCAtMTkyLDMgKzE5NCw1IEBA
IHZvaWQgU2hhcmVkV29ya2VyUHJvY2Vzczo6bWluaW11bUxpZmV0aW1lVGltZXJGaXJlZCgpCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFNIQVJFRF9XT1JL
RVJfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nl
c3MvU2hhcmVkV29ya2VyUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJv
Y2Vzcy9TaGFyZWRXb3JrZXJQcm9jZXNzLmgKaW5kZXggMzllYzZiYjk4Y2IxZWExNTBiM2Q2N2Jk
ZjFkMDFjNzRmZGUxMTgyYy4uZDViNWM4MWM4ZDcwNTVhZDExNmIwM2YzMDk2MzBjMjFmZDkyNmEw
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRX
b3JrZXJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9T
aGFyZWRXb3JrZXJQcm9jZXNzLmgKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5kZWYgU2hhcmVkV29y
a2VyUHJvY2Vzc19oCiAjZGVmaW5lIFNoYXJlZFdvcmtlclByb2Nlc3NfaAogCisjaWYgRU5BQkxF
KFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKKwogI2luY2x1ZGUgIkNoaWxkUHJvY2Vzcy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKQEAgLTgwLDQgKzgyLDYgQEAgcHJpdmF0ZToKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9D
RVNTKQorCiAjZW5kaWYgLy8gU2hhcmVkV29ya2VyUHJvY2Vzc19oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclByb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL1NoYXJlZFdvcmtlclBy
b2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggMjM5NTJmOWE3MTBhY2QxMTkyM2U1MjhlNzYxMzU1Njk5
ZTY3YjUxNS4uM2NkNzUzMzdiN2ZlZTg0NjliMDk0ZTgxNDhlYTU1YzM2OTI0OTg5YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9TaGFyZWRXb3JrZXJQcm9j
ZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3Mv
U2hhcmVkV29ya2VyUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMjAsNiArMjAsOCBAQAogIyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JL
RVJfUFJPQ0VTUykKKwogbWVzc2FnZXMgLT4gU2hhcmVkV29ya2VyUHJvY2VzcyB7CiAgICAgIyBJ
bml0aWFsaXplcyB0aGUgc2hhcmVkIHdvcmtlciBwcm9jZXNzLgogICAgIEluaXRpYWxpemVTaGFy
ZWRXb3JrZXJQcm9jZXNzKFdlYktpdDo6U2hhcmVkV29ya2VyUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyBwcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKQpAQCAtMjksMyArMzEsNSBAQCBtZXNzYWdl
cyAtPiBTaGFyZWRXb3JrZXJQcm9jZXNzIHsKICAgICAjIGEgY29ubmVjdGlvbiBpZGVudGlmaWVy
LgogICAgIENyZWF0ZVdlYlByb2Nlc3NDb25uZWN0aW9uKCkKIH0KKworI2VuZGlmIC8vIEVOQUJM
RShTSEFSRURfV09SS0VSX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWRXb3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkV29ya2VyUHJvY2Vzcy9tYWMvU2hhcmVkV29ya2VyUHJvY2Vzc01hYy5tbQpp
bmRleCA4MWIxZjYwNzkwZWFhODQxNDViM2E5ODNjMmZhNWY2ZDdlYTE4ODExLi4zNDFhZmU5NmEy
NjdmODAyYTg2NjIzMmMxMTc2NzRlZDk0YTA5ODU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWRXb3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvbWFjL1NoYXJlZFdvcmtlclByb2Nl
c3NNYWMubW0KQEAgLTI2LDYgKzI2LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAi
U2hhcmVkV29ya2VyUHJvY2Vzcy5oIgogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VT
UykKKwogI2ltcG9ydCAiU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbXBv
cnQgIlNoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgPFdl
YkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgpAQCAtNzIsMyArNzQsNSBAQCB2b2lkIFNoYXJlZFdv
cmtlclByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBTaGFyZWRXb3JrZXJQcm9jZXNz
Q3JlYXRpb25QYQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJM
RShTSEFSRURfV09SS0VSX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWRXb3JrZXJQcm9jZXNzL21hYy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFpbk1hYy5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWlu
TWFjLm1tCmluZGV4IDAyNGYxMDk0OTk4Yzk2Yjk4NTQ2ZGE4MWEwZWIxNTA1YzkzMTY0MGIuLmQ5
NGQ0OGI0NWE1ZDBkMDcwODk5OTBiODM1YTBmNTY3OThjNmVmZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvbWFjL1NoYXJlZFdvcmtlclByb2Nlc3NNYWlu
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZFdvcmtlclByb2Nlc3MvbWFjL1NoYXJl
ZFdvcmtlclByb2Nlc3NNYWluTWFjLm1tCkBAIC0yNiw2ICsyNiw4IEBACiAjaW1wb3J0ICJjb25m
aWcuaCIKICNpbXBvcnQgIlNoYXJlZFdvcmtlclByb2Nlc3NNYWluLmgiCiAKKyNpZiBFTkFCTEUo
U0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjaW1wb3J0ICJDb21tYW5kTGluZS5oIgogI2ltcG9y
dCAiRW52aXJvbm1lbnRVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlNoYXJlZFdvcmtlclByb2Nlc3Mu
aCIKQEAgLTEwNSwzICsxMDcsNSBAQCBpbnQgU2hhcmVkV29ya2VyUHJvY2Vzc01haW4oY29uc3Qg
Q29tbWFuZExpbmUmIGNvbW1hbmRMaW5lKQogfQogCiB9CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hB
UkVEX1dPUktFUl9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmNwcAppbmRleCAyNmU0YWI2YTQ5MGJiMDZhMjJlYTY4M2FiZmM3MGE0Mzk2ZjUxY2Nh
Li4xMTdiYmVkYTMxNGQxZGJlNmIwYzY1NTVhMWZmMjgwY2M3NTQwMjI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIldlYlVSTFJlcXVlc3QuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KICNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsK
QEAgLTE0Miw3ICsxNDMsMTIgQEAgdm9pZCBXS0NvbnRleHRTZXRTaG91bGRVc2VGb250U21vb3Ro
aW5nKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBib29sIHVzZUZvbnRTbW8KIAogdm9pZCBXS0Nv
bnRleHRTZXRBZGRpdGlvbmFsUGx1Z2luc0RpcmVjdG9yeShXS0NvbnRleHRSZWYgY29udGV4dFJl
ZiwgV0tTdHJpbmdSZWYgcGx1Z2luc0RpcmVjdG9yeSkKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVf
UExVR0lOX0FQSSkKICAgICB0b0ltcGwoY29udGV4dFJlZiktPnNldEFkZGl0aW9uYWxQbHVnaW5z
RGlyZWN0b3J5KHRvSW1wbChwbHVnaW5zRGlyZWN0b3J5KS0+c3RyaW5nKCkpOworI2Vsc2UKKyAg
ICBVTlVTRURfUEFSQU0oY29udGV4dFJlZik7CisgICAgVU5VU0VEX1BBUkFNKHBsdWdpbnNEaXJl
Y3RvcnkpOworI2VuZGlmCiB9CiAKIHZvaWQgV0tDb250ZXh0UmVnaXN0ZXJVUkxTY2hlbWVBc0Vt
cHR5RG9jdW1lbnQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLU3RyaW5nUmVmIHVybFNjaGVt
ZSkKQEAgLTIyNCw3ICsyMzAsMTEgQEAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIFdLQ29udGV4
dEdldE5vdGlmaWNhdGlvbk1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYKIAogV0tQbHVn
aW5TaXRlRGF0YU1hbmFnZXJSZWYgV0tDb250ZXh0R2V0UGx1Z2luU2l0ZURhdGFNYW5hZ2VyKFdL
Q29udGV4dFJlZiBjb250ZXh0UmVmKQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJ
KQogICAgIHJldHVybiB0b0FQSSh0b0ltcGwoY29udGV4dFJlZiktPnBsdWdpblNpdGVEYXRhTWFu
YWdlcigpKTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKIH0KIAogV0tSZXNvdXJjZUNh
Y2hlTWFuYWdlclJlZiBXS0NvbnRleHRHZXRSZXNvdXJjZUNhY2hlTWFuYWdlcihXS0NvbnRleHRS
ZWYgY29udGV4dFJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCmluZGV4IDE3OTYxMGIwY2RjMzlhNmQz
ZDNmYTQ3YWRhYzc1OTYxNjkxNTFjOGUuLjM5NTM5ZjQ0OTViMGVhNWZkZjRlY2UzMDM2NTllY2Mx
YTIwNzhmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Bs
dWdpblNpdGVEYXRhTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDExLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIldLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgiCiAKKyNpbmNs
dWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKICNpbmNsdWRlICJXZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXIuaCIKIApAQCAtMzgsMTIgKzM5LDIyIEBAIHVzaW5nIG5hbWVz
cGFjZSBzdGQ7CiAKIFdLVHlwZUlEIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyR2V0VHlwZUlEKCkK
IHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICByZXR1cm4gdG9BUEkoV2Vi
UGx1Z2luU2l0ZURhdGFNYW5hZ2VyOjpBUElUeXBlKTsKKyNlbHNlCisgICAgcmV0dXJuIEFQSU9i
amVjdDo6VHlwZU51bGw7CisjZW5kaWYKIH0KIAogdm9pZCBXS1BsdWdpblNpdGVEYXRhTWFuYWdl
ckdldFNpdGVzV2l0aERhdGEoV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJSZWYgbWFuYWdlclJlZiwg
dm9pZCogY29udGV4dCwgV0tQbHVnaW5TaXRlRGF0YU1hbmFnZXJHZXRTaXRlc1dpdGhEYXRhRnVu
Y3Rpb24gY2FsbGJhY2spCiB7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAg
dG9JbXBsKG1hbmFnZXJSZWYpLT5nZXRTaXRlc1dpdGhEYXRhKEFycmF5Q2FsbGJhY2s6OmNyZWF0
ZShjb250ZXh0LCBjYWxsYmFjaykpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0obWFuYWdlclJl
Zik7CisgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOworICAgIFVOVVNFRF9QQVJBTShjYWxsYmFj
ayk7CisjZW5kaWYKIH0KIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNw
cAppbmRleCA3NzFhNmVlZjcxMmY2ZDcxZGRhYWZmNGJlOTJmY2I1NzEwZjA3YmUyLi5lZTRlM2Mz
OGI0ZmM4ODE0MDgyYTUzOGVlNzU5NGJhYzFiMGY1Y2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNzMsMTIgKzcz
LDE2IEBAIGNvbnN0IGNoYXIqIFByb2Nlc3NMYXVuY2hlcjo6cHJvY2Vzc1R5cGVBc1N0cmluZyhQ
cm9jZXNzVHlwZSBwcm9jZXNzVHlwZSkKICAgICBzd2l0Y2ggKHByb2Nlc3NUeXBlKSB7CiAgICAg
Y2FzZSBXZWJQcm9jZXNzOgogICAgICAgICByZXR1cm4gIndlYnByb2Nlc3MiOworI2lmIEVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKICAgICBjYXNlIFBsdWdpblByb2Nlc3M6CiAgICAgICAgIHJldHVy
biAicGx1Z2lucHJvY2VzcyI7CisjZW5kaWYKICAgICBjYXNlIE5ldHdvcmtQcm9jZXNzOgogICAg
ICAgICByZXR1cm4gIm5ldHdvcmtwcm9jZXNzIjsKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9Q
Uk9DRVNTKQogICAgIGNhc2UgU2hhcmVkV29ya2VyUHJvY2VzczoKICAgICAgICAgcmV0dXJuICJz
aGFyZWR3b3JrZXJwcm9jZXNzIjsKKyNlbmRpZgogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpAQCAtOTIsMjAgKzk2LDI0IEBAIGJvb2wgUHJvY2Vzc0xhdW5jaGVyOjpnZXRQcm9j
ZXNzVHlwZUZyb21TdHJpbmcoY29uc3QgY2hhciogc3RyaW5nLCBQcm9jZXNzVHlwZSYKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogCisjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogICAg
IGlmICghc3RyY21wKHN0cmluZywgInBsdWdpbnByb2Nlc3MiKSkgewogICAgICAgICBwcm9jZXNz
VHlwZSA9IFBsdWdpblByb2Nlc3M7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyNlbmRp
ZgogCiAgICAgaWYgKCFzdHJjbXAoc3RyaW5nLCAibmV0d29ya3Byb2Nlc3MiKSkgewogICAgICAg
ICBwcm9jZXNzVHlwZSA9IE5ldHdvcmtQcm9jZXNzOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogICAgIGlmICghc3RyY21w
KHN0cmluZywgInNoYXJlZHdvcmtlcnByb2Nlc3MiKSkgewogICAgICAgICBwcm9jZXNzVHlwZSA9
IFNoYXJlZFdvcmtlclByb2Nlc3M7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyNlbmRp
ZgogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oCmluZGV4IDU5ODNhNzZhNzU5YmJjYmI1NjJh
MDk0NGEyN2Q0MzdlZDIyODMwNDcuLmRkNGY0NWQzOWNmYTIzZTViMzkwM2JmYTg0NzE4YzMwM2Q2
MGViODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9j
ZXNzTGF1bmNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJv
Y2Vzc0xhdW5jaGVyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTQ4LDkgKzQ4LDEzIEBAIHB1YmxpYzoKICAgICAKICAgICBlbnVtIFBy
b2Nlc3NUeXBlIHsKICAgICAgICAgV2ViUHJvY2VzcywKKyNpZiBFTkFCTEUoUExVR0lOX1BST0NF
U1MpCiAgICAgICAgIFBsdWdpblByb2Nlc3MsCisjZW5kaWYKICAgICAgICAgTmV0d29ya1Byb2Nl
c3MsCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKICAgICAgICAgU2hhcmVkV29y
a2VyUHJvY2VzcworI2VuZGlmCiAgICAgfTsKIAogICAgIHN0cnVjdCBMYXVuY2hPcHRpb25zIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vz
c0xhdW5jaGVyTWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Q
cm9jZXNzTGF1bmNoZXJNYWMubW0KaW5kZXggYTljMjBkYTMyNDIxZjI2MmQyNzFlMDViOGQ0MDE0
ZGFiZWMxNzZmYS4uYWYwMTBlOWQ0YjRiZGYwYjM0YmFlMjllZWMxMTk1OWIzY2Y3MmNlYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1
bmNoZXJNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Q
cm9jZXNzTGF1bmNoZXJNYWMubW0KQEAgLTExMSwxNCArMTExLDIxIEBAIHN0YXRpYyB2b2lkIGFk
ZERZTERFbnZpcm9ubWVudEFkZGl0aW9ucyhjb25zdCBQcm9jZXNzTGF1bmNoZXI6OkxhdW5jaE9w
dGlvbnMmIGxhCiAgICAgaWYgKGlzV2ViS2l0RGV2ZWxvcG1lbnRCdWlsZCkKICAgICAgICAgZW52
aXJvbm1lbnRWYXJpYWJsZXMuYXBwZW5kVmFsdWUoIkRZTERfRlJBTUVXT1JLX1BBVEgiLCBbZnJh
bWV3b3Jrc1BhdGggZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uXSwgJzonKTsKIAotICAgIE5TU3Ry
aW5nICpwcm9jZXNzUGF0aCA9IFt3ZWJLaXQyQnVuZGxlIHBhdGhGb3JBdXhpbGlhcnlFeGVjdXRh
YmxlOihsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6UGx1Z2lu
UHJvY2VzcyA/IEAiUGx1Z2luUHJvY2Vzcy5hcHAiIDogQCJXZWJQcm9jZXNzLmFwcCIpXTsKLSAg
ICBOU1N0cmluZyAqcHJvY2Vzc0FwcEV4ZWN1dGFibGVQYXRoID0gW1tOU0J1bmRsZSBidW5kbGVX
aXRoUGF0aDpwcm9jZXNzUGF0aF0gZXhlY3V0YWJsZVBhdGhdOwotCiAgICAgTlNTdHJpbmcgKnBy
b2Nlc3NTaGltUGF0aE5TU3RyaW5nID0gbmlsOwotICAgIGlmIChsYXVuY2hPcHRpb25zLnByb2Nl
c3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6UGx1Z2luUHJvY2VzcykKKyNpZiBFTkFCTEUoUExV
R0lOX1BST0NFU1MpCisgICAgaWYgKGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vz
c0xhdW5jaGVyOjpQbHVnaW5Qcm9jZXNzKSB7CisgICAgICAgIE5TU3RyaW5nICpwcm9jZXNzUGF0
aCA9IFt3ZWJLaXQyQnVuZGxlIHBhdGhGb3JBdXhpbGlhcnlFeGVjdXRhYmxlOkAiUGx1Z2luUHJv
Y2Vzcy5hcHAiXTsKKyAgICAgICAgTlNTdHJpbmcgKnByb2Nlc3NBcHBFeGVjdXRhYmxlUGF0aCA9
IFtbTlNCdW5kbGUgYnVuZGxlV2l0aFBhdGg6cHJvY2Vzc1BhdGhdIGV4ZWN1dGFibGVQYXRoXTsK
KwogICAgICAgICBwcm9jZXNzU2hpbVBhdGhOU1N0cmluZyA9IFtbcHJvY2Vzc0FwcEV4ZWN1dGFi
bGVQYXRoIHN0cmluZ0J5RGVsZXRpbmdMYXN0UGF0aENvbXBvbmVudF0gc3RyaW5nQnlBcHBlbmRp
bmdQYXRoQ29tcG9uZW50OkAiUGx1Z2luUHJvY2Vzc1NoaW0uZHlsaWIiXTsKLSAgICBlbHNlIGlm
IChsYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlID09IFByb2Nlc3NMYXVuY2hlcjo6V2ViUHJvY2Vz
cykKKyAgICB9IGVsc2UKKyNlbmRpZiAvLyBFTkFCTEUoUExVR0lOX1BST0NFU1MpCisgICAgaWYg
KGxhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUgPT0gUHJvY2Vzc0xhdW5jaGVyOjpXZWJQcm9jZXNz
KSB7CisgICAgICAgIE5TU3RyaW5nICpwcm9jZXNzUGF0aCA9IFt3ZWJLaXQyQnVuZGxlIHBhdGhG
b3JBdXhpbGlhcnlFeGVjdXRhYmxlOkAiV2ViUHJvY2Vzcy5hcHAiXTsKKyAgICAgICAgTlNTdHJp
bmcgKnByb2Nlc3NBcHBFeGVjdXRhYmxlUGF0aCA9IFtbTlNCdW5kbGUgYnVuZGxlV2l0aFBhdGg6
cHJvY2Vzc1BhdGhdIGV4ZWN1dGFibGVQYXRoXTsKKwogICAgICAgICBwcm9jZXNzU2hpbVBhdGhO
U1N0cmluZyA9IFtbcHJvY2Vzc0FwcEV4ZWN1dGFibGVQYXRoIHN0cmluZ0J5RGVsZXRpbmdMYXN0
UGF0aENvbXBvbmVudF0gc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiV2ViUHJvY2Vz
c1NoaW0uZHlsaWIiXTsKKyAgICB9CiAKICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgc2hpbSBs
aWJyYXJ5IGZpbGUgZXhpc3RzIGFuZCBpbnNlcnQgaXQuCiAgICAgaWYgKHByb2Nlc3NTaGltUGF0
aE5TU3RyaW5nKSB7CkBAIC0zNzIsMTcgKzM3OSwyMSBAQCBzdGF0aWMgdm9pZCBjcmVhdGVQcm9j
ZXNzKGNvbnN0IFByb2Nlc3NMYXVuY2hlcjo6TGF1bmNoT3B0aW9ucyYgbGF1bmNoT3B0aW9ucywg
YgogICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpXZWJQcm9jZXNzOgogICAgICAgICBwcm9jZXNz
UGF0aCA9IFt3ZWJLaXQyQnVuZGxlIHBhdGhGb3JBdXhpbGlhcnlFeGVjdXRhYmxlOkAiV2ViUHJv
Y2Vzcy5hcHAiXTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQog
ICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQbHVnaW5Qcm9jZXNzOgogICAgICAgICBwcm9jZXNz
UGF0aCA9IFt3ZWJLaXQyQnVuZGxlIHBhdGhGb3JBdXhpbGlhcnlFeGVjdXRhYmxlOkAiUGx1Z2lu
UHJvY2Vzcy5hcHAiXTsKICAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoTkVUV09S
S19QUk9DRVNTKQogICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpOZXR3b3JrUHJvY2VzczoKICAg
ICAgICAgcHJvY2Vzc1BhdGggPSBbd2ViS2l0MkJ1bmRsZSBwYXRoRm9yQXV4aWxpYXJ5RXhlY3V0
YWJsZTpAIk5ldHdvcmtQcm9jZXNzLmFwcCJdOwogICAgICAgICBicmVhazsKICNlbmRpZgorI2lm
IEVOQUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCiAgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6
OlNoYXJlZFdvcmtlclByb2Nlc3M6CiAgICAgICAgIHByb2Nlc3NQYXRoID0gW3dlYktpdDJCdW5k
bGUgcGF0aEZvckF1eGlsaWFyeUV4ZWN1dGFibGU6QCJTaGFyZWRXb3JrZXJQcm9jZXNzLmFwcCJd
OwogICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIH0KIAogICAgIE5TU3RyaW5nICpmcmFtZXdv
cmtFeGVjdXRhYmxlUGF0aCA9IFt3ZWJLaXQyQnVuZGxlIGV4ZWN1dGFibGVQYXRoXTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3Bw
CmluZGV4IGJmZjhmYTk0MTUyNjUyMWE2OWVlNzNhOGJiNjkyNTY3MGIyZTQ4MGQuLjgwNDQ1NTQ5
MDRhZjQzOThmYWVlMGNjMzY2ZTNjNjUyN2NlYWI5YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsOCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgogCisj
aWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisKICNpbmNsdWRlICJQbHVnaW5Nb2R1bGVJ
bmZvLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1F
VHlwZVJlZ2lzdHJ5Lmg+CkBAIC0yNDcsMyArMjQ5LDUgQEAgUGx1Z2luTW9kdWxlSW5mbyBQbHVn
aW5JbmZvU3RvcmU6OmluZm9Gb3JQbHVnaW5XaXRoUGF0aChjb25zdCBTdHJpbmcmIHBsdWdpblBh
dGgKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luSW5mb1N0b3JlLmgKaW5kZXggMWIyMDgyZGJiMDMxOTFkMDNmNDVjNTA5YWJlZWUxNTcz
ZjdkM2E4MS4uMjg3ZWM5MjYyYzM1NTc2MWQyNjVhYWI0NTExNDIwYTdlNDExOTM1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI2LDYgKzI2LDggQEAKICNpZm5kZWYgUGx1Z2luSW5mb1N0b3JlX2gKICNkZWZpbmUgUGx1Z2lu
SW5mb1N0b3JlX2gKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQorCiAjaW5jbHVk
ZSAiUGx1Z2luTW9kdWxlSW5mby5oIgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVz
Lmg+CiAKQEAgLTk0LDQgKzk2LDYgQEAgcHJpdmF0ZToKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCisjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisKICNlbmRpZiAv
LyBQbHVnaW5JbmZvU3RvcmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1dlYlBsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAKaW5kZXggMjQ2ZWVi
NDQ3ZTM2Y2Q2M2Y4ZjQ0YjAxM2E0NjFmZDY1ZjU2YzhkMy4uZmY5NmFiOTZjZWEzZWZhNWJjZDAx
ZGFlMjEzYWIyY2U5MTJjNTgxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9XZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuY3BwCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsy
Niw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViUGx1Z2luU2l0ZURhdGFN
YW5hZ2VyLmgiCiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKwogI2luY2x1ZGUg
IkltbXV0YWJsZUFycmF5LmgiCiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCIKICNp
bmNsdWRlICJXZWJDb250ZXh0LmgiCkBAIC0yOTEsMyArMjkzLDQgQEAgdm9pZCBXZWJQbHVnaW5T
aXRlRGF0YU1hbmFnZXI6OmRpZENsZWFyU2l0ZURhdGFGb3JBbGxQbHVnaW5zKHVpbnQ2NF90IGNh
bGxiYWNrSUQKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKKyNlbmRpZiAvLyBFTkFCTEUoTkVU
U0NBUEVfUExVR0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1dlYlBsdWdpblNpdGVEYXRhTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgKaW5kZXggOWVmYTE3NTEzMmFi
MTBkZTQyNThjMWExMzhlODllZTU3ZGYzNzdlOS4uOWIwMjVjYzM4Yjg2ZmZlMjJhYjMxMDI4M2Fm
YmQxYmNmZmVjN2RhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDYgKzI2LDggQEAKICNp
Zm5kZWYgV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyaAogI2RlZmluZSBXZWJQbHVnaW5TaXRlRGF0
YU1hbmFnZXJfaAogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCisKICNpbmNsdWRl
ICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJBcmd1bWVudHMuaCIKICNpbmNsdWRlICJHZW5lcmlj
Q2FsbGJhY2suaCIKQEAgLTg1LDQgKzg3LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKwogI2VuZGlm
IC8vIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbQppbmRleCAy
OWM3NDRmZmRhMmEzZTA2MjgyODNkOTM5YmRmNTJhYjcxMWI2NjRjLi41YmFjYzJjMmE5NjkxYWI0
NDBiNDFiMzg3ZDJhNDQ0NTE2ODdhY2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0KQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDYgKzI2
LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiUGx1Z2luSW5mb1N0b3JlLmgiCiAK
KyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKwogI2ltcG9ydCAiTmV0c2NhcGVQbHVn
aW5Nb2R1bGUuaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8
V2ViQ29yZS9XZWJDb3JlTlNTdHJpbmdFeHRyYXMuaD4KQEAgLTczLDEzICs3NSw3IEBAIFZlY3Rv
cjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6aW5kaXZpZHVhbFBsdWdpblBhdGhzKCkKIAogYm9v
bCBQbHVnaW5JbmZvU3RvcmU6OmdldFBsdWdpbkluZm8oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRo
LCBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4pCiB7Ci0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpCiAgICAgcmV0dXJuIE5ldHNjYXBlUGx1Z2luTW9kdWxlOjpnZXRQbHVnaW5JbmZvKHBs
dWdpblBhdGgsIHBsdWdpbik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwbHVnaW5QYXRoKTsK
LSAgICBVTlVTRURfUEFSQU0ocGx1Z2luKTsKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKIH0K
IAogc3RhdGljIHNpemVfdCBmaW5kUGx1Z2luV2l0aEJ1bmRsZUlkZW50aWZpZXIoY29uc3QgVmVj
dG9yPFBsdWdpbk1vZHVsZUluZm8+JiBwbHVnaW5zLCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50
aWZpZXIpCkBAIC0xNTUsMyArMTUxLDUgQEAgU3RyaW5nIFBsdWdpbkluZm9TdG9yZTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pCiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFyZWRX
b3JrZXJQcm9jZXNzTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVk
V29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5jcHAKaW5kZXggNGUyZmUxNjE3NTJk
ZWZjMDYwMWQyYzM5YTY0NGMwYzJjNDEyYThhMi4uZjkxZWZkOWVkYjA0NmRlMDdiY2JjN2I3MGU3
MmNkYmFhY2YzOTlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJl
ZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc01hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmNw
cApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYXJl
ZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmgiCiAKKyNpZiBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9D
RVNTKQorCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmgiCiAjaW5jbHVkZSAi
V2ViQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KQEAgLTcwLDMgKzcy
LDUgQEAgU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5KiBTaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdl
cjo6Z2V0T3JDcmVhdGVTaGFyZWRXb3JrZXJQcm8KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vz
c01hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJl
ZFdvcmtlclByb2Nlc3NNYW5hZ2VyLmgKaW5kZXggYzBiYzY2MjEwZTNkNDA5ODYwMDdhMmJhNWYy
ZWI0OGY4NzVjMTU0ZS4uYmEwNmM3Y2JiODA5ODI0MzQ0Y2U3OWNjNDlhYjQxYjcxZmQzYzg0OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVk
V29ya2VyUHJvY2Vzc01hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hh
cmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oCkBAIC0yNiw2ICsyNiw4IEBA
CiAjaWZuZGVmIFNoYXJlZFdvcmtlclByb2Nlc3NNYW5hZ2VyX2gKICNkZWZpbmUgU2hhcmVkV29y
a2VyUHJvY2Vzc01hbmFnZXJfaAogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykK
KwogI2luY2x1ZGUgIlBsdWdpbk1vZHVsZUluZm8uaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJv
eHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CkBAIC02MSw0ICs2Myw2IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCisjZW5kaWYgLy8gRU5BQkxFKFNI
QVJFRF9XT1JLRVJfUFJPQ0VTUykKKwogI2VuZGlmIC8vIFNoYXJlZFdvcmtlclByb2Nlc3NNYW5h
Z2VyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJz
L1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
U2hhcmVkV29ya2Vycy9TaGFyZWRXb3JrZXJQcm9jZXNzUHJveHkuY3BwCmluZGV4IDhlMmY4ZTUx
MWQ4MWE1OTNkOTg5NTFhMjkyMzM0MDMwNzIyN2ZkNjYuLjMyNDdkYzEzMWNhMzk2MGNiNmNiNjMw
Yjg0OGRmZGQzMWRlYzJmYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9T
aGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmNw
cApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNoYXJl
ZFdvcmtlclByb2Nlc3NQcm94eS5oIgogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VT
UykKKwogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIK
ICNpbmNsdWRlICJTaGFyZWRXb3JrZXJQcm9jZXNzTWFuYWdlci5oIgogI2luY2x1ZGUgIlNoYXJl
ZFdvcmtlclByb2Nlc3NNZXNzYWdlcy5oIgpAQCAtMTgxLDMgKzE4Myw1IEBAIHZvaWQgU2hhcmVk
V29ya2VyUHJvY2Vzc1Byb3h5OjpkaWRDcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlvbihjb25zdCBD
b3JlSVBDOjpBdHRhCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5B
QkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5
LmgKaW5kZXggZTNiNmEyYWNjNjE5ZjI0YWNmN2Q0MDQzNjE3NjdiNDBiNjI2NmUyMC4uZjIwNTUx
NDI1YjhkNTc5MjE5YTRlMDQ0OGZmZDY1NDAwYzNiYjIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2Vy
UHJvY2Vzc1Byb3h5LmgKQEAgLTI2LDYgKzI2LDggQEAKICNpZm5kZWYgU2hhcmVkV29ya2VyUHJv
Y2Vzc1Byb3h5X2gKICNkZWZpbmUgU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5X2gKIAorI2lmIEVO
QUJMRShTSEFSRURfV09SS0VSX1BST0NFU1MpCisKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5TWVz
c2FnZXMuaCIKQEAgLTkxLDQgKzkzLDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQorCiAjZW5kaWYg
Ly8gU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtlclByb2Nlc3NQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TaGFyZWRXb3JrZXJzL1NoYXJlZFdvcmtl
clByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgppbmRleCBlNTVjOGMwNDQ4MTEzNDBhYmEyNWE2ZmEw
MTFjMTgyYjU0YzkyNTExLi5lYzk4YjZkNGM1NjcxYTA3NzdlZjFiYjM0YWU1NDg5NTljZDJmNmVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2hhcmVkV29ya2Vycy9TaGFy
ZWRXb3JrZXJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1NoYXJlZFdvcmtlcnMvU2hhcmVkV29ya2VyUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
CkBAIC0yMCw2ICsyMCwxMCBAQAogIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKKwogbWVzc2FnZXMgLT4gU2hh
cmVkV29ya2VyUHJvY2Vzc1Byb3h5IHsKICAgICBEaWRDcmVhdGVXZWJQcm9jZXNzQ29ubmVjdGlv
bihDb3JlSVBDOjpBdHRhY2htZW50IGNvbm5lY3Rpb25JZGVudGlmaWVyKQogfQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmNwcAppbmRleCA4YTQ0Yjc4MTQ0ZDJmMWVjZGZhYWU5MmIwYTNkZDIxN2QzZWFl
ZjZmLi4xZjEwYTVkYTBkYzg2N2EzNWU2YThlYTJkOTliMDA2Y2NlNjlhMDQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xNTAsNyArMTUwLDkgQEAgV2ViQ29u
dGV4dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwgcHJvY2Vzc01vZGVsLCBjb25zdCBTdHJpbmcm
IGluamVjdGVkQnVuZGxlUGEKICAgICBtX25ldHdvcmtJbmZvTWFuYWdlclByb3h5ID0gV2ViTmV0
d29ya0luZm9NYW5hZ2VyUHJveHk6OmNyZWF0ZSh0aGlzKTsKICNlbmRpZgogICAgIG1fbm90aWZp
Y2F0aW9uTWFuYWdlclByb3h5ID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5OjpjcmVhdGUo
dGhpcyk7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgbV9wbHVnaW5TaXRl
RGF0YU1hbmFnZXIgPSBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6OmNyZWF0ZSh0aGlzKTsKKyNl
bmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBtX3Jlc291cmNlQ2FjaGVN
YW5hZ2VyUHJveHkgPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5OjpjcmVhdGUodGhpcyk7
CiAjaWYgVVNFKFNPVVApCiAgICAgbV9zb3VwUmVxdWVzdE1hbmFnZXJQcm94eSA9IFdlYlNvdXBS
ZXF1ZXN0TWFuYWdlclByb3h5OjpjcmVhdGUodGhpcyk7CkBAIC0yMjEsOCArMjIzLDEwIEBAIFdl
YkNvbnRleHQ6On5XZWJDb250ZXh0KCkKICAgICBtX25vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS0+
aW52YWxpZGF0ZSgpOwogICAgIG1fbm90aWZpY2F0aW9uTWFuYWdlclByb3h5LT5jbGVhckNvbnRl
eHQoKTsKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIG1fcGx1Z2luU2l0
ZURhdGFNYW5hZ2VyLT5pbnZhbGlkYXRlKCk7CiAgICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXIt
PmNsZWFyQ29udGV4dCgpOworI2VuZGlmCiAKICAgICBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyUHJv
eHktPmludmFsaWRhdGUoKTsKICAgICBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHktPmNsZWFy
Q29udGV4dCgpOwpAQCAtNDczLDggKzQ3NywxMCBAQCBib29sIFdlYkNvbnRleHQ6OnNob3VsZFRl
cm1pbmF0ZShXZWJQcm9jZXNzUHJveHkqIHByb2Nlc3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBpZiAoIW1fbWVkaWFDYWNoZU1hbmFnZXJQcm94eS0+c2hvdWxkVGVybWluYXRlKHByb2Nl
c3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9B
UEkpCiAgICAgaWYgKCFtX3BsdWdpblNpdGVEYXRhTWFuYWdlci0+c2hvdWxkVGVybWluYXRlKHBy
b2Nlc3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKICAgICBpZiAoIW1fcmVzb3Vy
Y2VDYWNoZU1hbmFnZXJQcm94eS0+c2hvdWxkVGVybWluYXRlKHByb2Nlc3MpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKQEAgLTU1MSw3ICs1NTcsNyBAQCB2b2lkIFdlYkNvbnRleHQ6OmRpc2Nv
bm5lY3RQcm9jZXNzKFdlYlByb2Nlc3NQcm94eSogcHJvY2VzcykKIAogICAgIC8vIFdoZW4gb3V0
IG9mIHByb2Nlc3MgcGx1Zy1pbnMgYXJlIGVuYWJsZWQsIHdlIGRvbid0IHdhbnQgdG8gaW52YWxp
ZGF0ZSB0aGUgcGx1Zy1pbiBzaXRlIGRhdGEKICAgICAvLyBtYW5hZ2VyIGp1c3QgYmVjYXVzZSB0
aGUgd2ViIHByb2Nlc3MgY3Jhc2hlcyBzaW5jZSBpdCdzIG5vdCBpbnZvbHZlZC4KLSNpZiAhRU5B
QkxFKFBMVUdJTl9QUk9DRVNTKQorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAh
RU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogICAgIG1fcGx1Z2luU2l0ZURhdGFNYW5hZ2VyLT5pbnZh
bGlkYXRlKCk7CiAjZW5kaWYKIApAQCAtNjYzLDYgKzY2OSw3IEBAIFdlYkNvbnRleHQ6OlN0YXRp
c3RpY3MmIFdlYkNvbnRleHQ6OnN0YXRpc3RpY3MoKQogICAgIHJldHVybiBzdGF0aXN0aWNzOwog
fQogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiB2b2lkIFdlYkNvbnRleHQ6OnNl
dEFkZGl0aW9uYWxQbHVnaW5zRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQogewog
ICAgIFZlY3RvcjxTdHJpbmc+IGRpcmVjdG9yaWVzOwpAQCAtNjcwLDYgKzY3Nyw3IEBAIHZvaWQg
V2ViQ29udGV4dDo6c2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBk
aXJlY3RvcnkpCiAKICAgICBtX3BsdWdpbkluZm9TdG9yZS5zZXRBZGRpdGlvbmFsUGx1Z2luc0Rp
cmVjdG9yaWVzKGRpcmVjdG9yaWVzKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKIAogdm9pZCBXZWJDb250ZXh0OjpzZXRBbHdheXNVc2VzQ29tcGxleFRleHRDb2Rl
UGF0aChib29sIGFsd2F5c1VzZUNvbXBsZXhUZXh0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0LmgKaW5kZXggNTFjOTcwMGQ0MTBjYjIyODA3NzdhMmU2YTlhMTUyNmFjNDllNTNl
NS4uMjVmN2ZmNTIwNjU3MzdhMmZjYTcxN2ZkZmFlNGQ1OTRkNDk3Y2Y0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCkBAIC0xMzAsMTAgKzEzMCwxMiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKGNv
bnN0IFN0cmluZyYsIEFQSU9iamVjdCosIFJlZlB0cjxBUElPYmplY3Q+JiByZXR1cm5EYXRhKTsK
IAogICAgIHZvaWQgcG9wdWxhdGVWaXNpdGVkTGlua3MoKTsKLSAgICAKKworI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHZvaWQgc2V0QWRkaXRpb25hbFBsdWdpbnNEaXJlY3Rv
cnkoY29uc3QgU3RyaW5nJik7CiAKICAgICBQbHVnaW5JbmZvU3RvcmUmIHBsdWdpbkluZm9TdG9y
ZSgpIHsgcmV0dXJuIG1fcGx1Z2luSW5mb1N0b3JlOyB9CisjZW5kaWYKICAgICBTdHJpbmcgYXBw
bGljYXRpb25DYWNoZURpcmVjdG9yeSgpOwogCiAgICAgdm9pZCBzZXRBbHdheXNVc2VzQ29tcGxl
eFRleHRDb2RlUGF0aChib29sKTsKQEAgLTE5NSw3ICsxOTcsOSBAQCBwdWJsaWM6CiAgICAgV2Vi
TmV0d29ya0luZm9NYW5hZ2VyUHJveHkqIG5ldHdvcmtJbmZvTWFuYWdlclByb3h5KCkgY29uc3Qg
eyByZXR1cm4gbV9uZXR3b3JrSW5mb01hbmFnZXJQcm94eS5nZXQoKTsgfQogI2VuZGlmCiAgICAg
V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5KiBub3RpZmljYXRpb25NYW5hZ2VyUHJveHkoKSBj
b25zdCB7IHJldHVybiBtX25vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5nZXQoKTsgfQorI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIFdlYlBsdWdpblNpdGVEYXRhTWFuYWdlciog
cGx1Z2luU2l0ZURhdGFNYW5hZ2VyKCkgY29uc3QgeyByZXR1cm4gbV9wbHVnaW5TaXRlRGF0YU1h
bmFnZXIuZ2V0KCk7IH0KKyNlbmRpZgogICAgIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkq
IHJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlQ2Fj
aGVNYW5hZ2VyUHJveHkuZ2V0KCk7IH0KICNpZiBVU0UoU09VUCkKICAgICBXZWJTb3VwUmVxdWVz
dE1hbmFnZXJQcm94eSogc291cFJlcXVlc3RNYW5hZ2VyUHJveHkoKSBjb25zdCB7IHJldHVybiBt
X3NvdXBSZXF1ZXN0TWFuYWdlclByb3h5LmdldCgpOyB9CkBAIC0zMTUsMTAgKzMxOSwxMiBAQCBw
cml2YXRlOgogICAgIFdlYkNvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudCBtX2luamVjdGVkQnVu
ZGxlQ2xpZW50OwogCiAgICAgV2ViQ29udGV4dENvbm5lY3Rpb25DbGllbnQgbV9jb25uZWN0aW9u
Q2xpZW50OwotICAgIAorCiAgICAgV2ViSGlzdG9yeUNsaWVudCBtX2hpc3RvcnlDbGllbnQ7CiAK
KyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBQbHVnaW5JbmZvU3RvcmUgbV9w
bHVnaW5JbmZvU3RvcmU7CisjZW5kaWYKICAgICBWaXNpdGVkTGlua1Byb3ZpZGVyIG1fdmlzaXRl
ZExpbmtQcm92aWRlcjsKICAgICAgICAgCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fc2NoZW1lc1Rv
UmVnaXN0ZXJBc0VtcHR5RG9jdW1lbnQ7CkBAIC0zNjAsNyArMzY2LDkgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8V2ViTmV0d29ya0luZm9NYW5hZ2VyUHJveHk+IG1fbmV0d29ya0luZm9NYW5hZ2Vy
UHJveHk7CiAjZW5kaWYKICAgICBSZWZQdHI8V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5PiBt
X25vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQ
SSkKICAgICBSZWZQdHI8V2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyPiBtX3BsdWdpblNpdGVEYXRh
TWFuYWdlcjsKKyNlbmRpZgogICAgIFJlZlB0cjxXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5
PiBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk7CiAjaWYgVVNFKFNPVVApCiAgICAgUmVmUHRy
PFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5PiBtX3NvdXBSZXF1ZXN0TWFuYWdlclByb3h5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA4MTg2OTVhZGVl
YzA2MTVlNzIxMGRiODBiYmY3Y2UxNzVmOWUwNjFhLi5mMDhmMzFkNzYwNGU4OTQ2YjY1MjJlMDI5
Nzc5MjRlZjFlZGVhNmM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcApAQCAtNzc5LDExICs3NzksMTIgQEAgYm9vbCBXZWJQYWdlUHJveHk6OmNhblNob3dNSU1F
VHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKSBjb25zdAogICAgIGlmIChNSU1FVHlwZVJlZ2lz
dHJ5OjpjYW5TaG93TUlNRVR5cGUobWltZVR5cGUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAor
I2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9
IG1pbWVUeXBlOwogICAgIFBsdWdpbk1vZHVsZUluZm8gcGx1Z2luID0gbV9wcm9jZXNzLT5jb250
ZXh0KCktPnBsdWdpbkluZm9TdG9yZSgpLmZpbmRQbHVnaW4obmV3TWltZVR5cGUsIEtVUkwoKSk7
CiAgICAgaWYgKCFwbHVnaW4ucGF0aC5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0K
KyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKQEAgLTM4ODQsMTMgKzM4ODUsMTQgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEZhaWxU
b0luaXRpYWxpemVQbHVnaW4oY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKICAgICBtX2xvYWRlckNs
aWVudC5kaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKHRoaXMsIG1pbWVUeXBlKTsKIH0KIAorLy8g
RklYTUU6IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogdm9pZCBXZWJQYWdlUHJveHk6OmRp
ZEJsb2NrSW5zZWN1cmVQbHVnaW5WZXJzaW9uKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0
IFN0cmluZyYgdXJsU3RyaW5nKQogewogICAgIFN0cmluZyBwbHVnaW5JZGVudGlmaWVyOwogICAg
IFN0cmluZyBwbHVnaW5WZXJzaW9uOwogICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9IG1pbWVUeXBl
OwogCi0jaWYgUExBVEZPUk0oTUFDKQorI2lmIFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiAgICAgUGx1Z2luTW9kdWxlSW5mbyBwbHVnaW4gPSBtX3Byb2Nlc3Mt
PmNvbnRleHQoKS0+cGx1Z2luSW5mb1N0b3JlKCkuZmluZFBsdWdpbihuZXdNaW1lVHlwZSwgS1VS
TChLVVJMKCksIHVybFN0cmluZykpOwogCiAgICAgcGx1Z2luSWRlbnRpZmllciA9IHBsdWdpbi5i
dW5kbGVJZGVudGlmaWVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1By
b3h5LmNwcAppbmRleCAwZDZiNjIyZWY5ZmNlY2IzZmVhMGM3NWIyNjFjNDAxNDkxZDY1ZTI3Li5h
MzhlMjNhMmRlOTRmNWY1N2NlZjY3NzhhYWM4ZTY2NGZlOWM2NDYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtNzIsMTEgKzcyLDEzIEBAIHN0
YXRpYyB1aW50NjRfdCBnZW5lcmF0ZVBhZ2VJRCgpCiAgICAgcmV0dXJuIHVuaXF1ZVBhZ2VJRCsr
OwogfQogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiBzdGF0aWMgV29ya1F1ZXVl
JiBwbHVnaW5Xb3JrUXVldWUoKQogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoV29ya1F1ZXVl
LCBxdWV1ZSwgKCJjb20uYXBwbGUuQ29yZUlQQy5QbHVnaW5RdWV1ZSIpKTsKICAgICByZXR1cm4g
cXVldWU7CiB9CisjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAKIFBhc3NS
ZWZQdHI8V2ViUHJvY2Vzc1Byb3h5PiBXZWJQcm9jZXNzUHJveHk6OmNyZWF0ZShQYXNzUmVmUHRy
PFdlYkNvbnRleHQ+IGNvbnRleHQpCiB7CkBAIC0zMDksNiArMzExLDcgQEAgdm9pZCBXZWJQcm9j
ZXNzUHJveHk6OmFkZEJhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQsIGNvbnN0IFN0cmlu
ZyYgb3JpZ2luYWwKICAgICByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLT5zZXRCYWNrRm9yd2FyZERh
dGEoYmFja0ZvcndhcmREYXRhLmRhdGEoKSwgYmFja0ZvcndhcmREYXRhLnNpemUoKSk7CiB9CiAK
KyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpz
ZW5kRGlkR2V0UGx1Z2lucyh1aW50NjRfdCByZXF1ZXN0SUQsIFBhc3NPd25QdHI8VmVjdG9yPFBs
dWdpbkluZm8+ID4gcGx1Z2luSW5mb3MpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
QEAgLTM2OCw2ICszNzEsNyBAQCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUGF0aChj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHVybFN0cgogCiAgICAgcGx1Z2lu
UGF0aCA9IHBsdWdpbi5wYXRoOwogfQorI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogCiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogCkBAIC0zNzYsNyArMzgwLDcgQEAg
dm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0
cmluZyYgcGx1Z2luUGF0aCwgUGFzc1IKICAgICBQbHVnaW5Qcm9jZXNzTWFuYWdlcjo6c2hhcmVk
KCkuZ2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24obV9jb250ZXh0LT5wbHVnaW5JbmZvU3RvcmUo
KSwgcGx1Z2luUGF0aCwgcmVwbHkpOwogfQogCi0jZWxzZQorI2VsaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRHZXRTaXRlc1dpdGhQbHVn
aW5EYXRhKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaXRlcywgdWludDY0X3QgY2FsbGJhY2tJRCkK
IHsKQEAgLTM5MCwxMCArMzk0LDEyIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRDbGVhclBs
dWdpblNpdGVEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAKICNlbmRpZgogCisjaWYgRU5BQkxF
KFNIQVJFRF9XT1JLRVJfUFJPQ0VTUykKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpnZXRTaGFyZWRX
b3JrZXJQcm9jZXNzQ29ubmVjdGlvbihjb25zdCBTdHJpbmcmIC8qIHVybCAqLywgY29uc3QgU3Ry
aW5nJiAvKiBuYW1lICovLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6Okdl
dFNoYXJlZFdvcmtlclByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+KQogewogICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQKIH0KKyNlbmRpZiAvLyBFTkFCTEUoU0hBUkVEX1dPUktFUl9QUk9D
RVNTKQogCiB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29y
ZUlQQzo6TWVzc2FnZURlY29kZXImIGRlY29kZXIpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Byb3h5LmgKaW5kZXggMGE4NTgxNjllOTQ5OGE2ZjA3MzlhMjBmOTY0NWU1
NTI3NmJkMjJhMy4uYzMxMWM0ZjA5NWFjZThiNjZiOWIyNThkODI5YWUzZTM3MDU1NTE3MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaApAQCAtMTQxLDE5ICsx
NDEsMjEgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNob3VsZFRlcm1pbmF0ZShib29sJiBzaG91bGRU
ZXJtaW5hdGUpOwogCiAgICAgLy8gUGx1Z2lucworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogICAgIHZvaWQgZ2V0UGx1Z2lucyhDb3JlSVBDOjpDb25uZWN0aW9uKiwgdWludDY0X3Qg
cmVxdWVzdElELCBib29sIHJlZnJlc2gpOwogICAgIHZvaWQgZ2V0UGx1Z2luUGF0aChjb25zdCBT
dHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHVybFN0cmluZywgU3RyaW5nJiBwbHVnaW5Q
YXRoLCBib29sJiBibG9ja2VkKTsKKyAgICB2b2lkIGhhbmRsZUdldFBsdWdpbnModWludDY0X3Qg
cmVxdWVzdElELCBib29sIHJlZnJlc2gpOworICAgIHZvaWQgc2VuZERpZEdldFBsdWdpbnModWlu
dDY0X3QgcmVxdWVzdElELCBQYXNzT3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiA+
KTsKKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICNpZiBFTkFCTEUoUExV
R0lOX1BST0NFU1MpCiAgICAgdm9pZCBnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihjb25zdCBT
dHJpbmcmIHBsdWdpblBhdGgsIFBhc3NSZWZQdHI8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6
R2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4pOwotI2Vsc2UKKyNlbGlm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHZvaWQgZGlkR2V0U2l0ZXNXaXRoUGx1
Z2luRGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2l0ZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQp
OwogICAgIHZvaWQgZGlkQ2xlYXJQbHVnaW5TaXRlRGF0YSh1aW50NjRfdCBjYWxsYmFja0lEKTsK
ICNlbmRpZgotCi0gICAgdm9pZCBoYW5kbGVHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Ym9vbCByZWZyZXNoKTsKLSAgICB2b2lkIHNlbmREaWRHZXRQbHVnaW5zKHVpbnQ2NF90IHJlcXVl
c3RJRCwgUGFzc093blB0cjxWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4gPik7Ci0KKyNpZiBF
TkFCTEUoU0hBUkVEX1dPUktFUl9QUk9DRVNTKQogICAgIHZvaWQgZ2V0U2hhcmVkV29ya2VyUHJv
Y2Vzc0Nvbm5lY3Rpb24oY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgUGFz
c1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRTaGFyZWRXb3JrZXJQcm9jZXNz
Q29ubmVjdGlvbjo6RGVsYXllZFJlcGx5Pik7CisjZW5kaWYKIAogI2lmIFVTRShTRUNVUklUWV9G
UkFNRVdPUkspCiAgICAgdm9pZCBzZWNJdGVtUmVxdWVzdChDb3JlSVBDOjpDb25uZWN0aW9uKiwg
dWludDY0X3QgcmVxdWVzdElELCBjb25zdCBTZWNJdGVtUmVxdWVzdERhdGEmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmlu
ZGV4IDY3ZTdiMmRkZTgxOTY4Yjg2ZTVlMDIwYmE0NTc1ZTUzZjA1M2FmYTUuLjM5NmExNjZhNzg4
NjdkODEyN2I3ZmI0MmFiNjY2ODllYzdlMWY0MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzQsMTYgKzM0LDIw
IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSB7CiAgICAgU2hvdWxkVGVybWluYXRlKCkg
LT4gKGJvb2wgc2hvdWxkVGVybWluYXRlKQogCiAgICAgIyBQbHVnaW4gbWVzc2FnZXMuCisjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgR2V0UGx1Z2lucyh1aW50NjRfdCByZXF1
ZXN0SUQsIGJvb2wgcmVmcmVzaCkgRGlzcGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQogICAgIEdldFBs
dWdpblBhdGgoV1RGOjpTdHJpbmcgbWltZVR5cGUsIFdURjo6U3RyaW5nIHVybFN0cmluZykgLT4g
KFdURjo6U3RyaW5nIHBsdWdpblBhdGgsIGJvb2wgYmxvY2tlZCkKKyNlbmRpZiAvLyBFTkFCTEUo
TkVUU0NBUEVfUExVR0lOX0FQSSkKICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgR2V0
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oV1RGOjpTdHJpbmcgcGx1Z2luUGF0aCkgLT4gKENvcmVJ
UEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkhhbmRsZSwgYm9vbCBzdXBwb3J0c0FzeW5jaHJvbm91
c0luaXRpYWxpemF0aW9uKSBEZWxheWVkCiAjZW5kaWYKLSNpZiAhRU5BQkxFKFBMVUdJTl9QUk9D
RVNTKQorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiAhRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogICAgIHZvaWQgRGlkR2V0U2l0ZXNXaXRoUGx1Z2luRGF0YShWZWN0b3I8V1RGOjpT
dHJpbmc+IHNpdGVzLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIHZvaWQgRGlkQ2xlYXJQbHVn
aW5TaXRlRGF0YSh1aW50NjRfdCBjYWxsYmFja0lEKQogI2VuZGlmCisjaWYgRU5BQkxFKFNIQVJF
RF9XT1JLRVJfUFJPQ0VTUykKICAgICBHZXRTaGFyZWRXb3JrZXJQcm9jZXNzQ29ubmVjdGlvbihX
VEY6OlN0cmluZyB1cmwsIFdURjo6U3RyaW5nIG5hbWUpIC0+IChDb3JlSVBDOjpBdHRhY2htZW50
IGNvbm5lY3Rpb25IYW5kbGUpIERlbGF5ZWQKKyNlbmRpZgogCiAjaWYgVVNFKFNFQ1VSSVRZX0ZS
QU1FV09SSykKICAgICBTZWNJdGVtUmVxdWVzdCh1aW50NjRfdCByZXF1ZXN0SUQsIFdlYktpdDo6
U2VjSXRlbVJlcXVlc3REYXRhIHJlcXVlc3QpIERpc3BhdGNoT25Db25uZWN0aW9uUXVldWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDJQcmVmaXguaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDJQcmVmaXguaAppbmRleCBiNTdlMDAwMzliNTZmZGJmODI0MzMwZDBiZTVjYTUxOTVj
ODk2ZTJhLi44ZjZiMDk5ZjE2MTc2M2NlOWMwYzIwNmVjYTdkZmVhNDI1NDczY2Y4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViS2l0MlByZWZpeC5oCkBAIC01Nyw3ICs1NywxMyBAQAogCiAjZW5kaWYgLy8gUExBVEZPUk0o
TUFDKQogCi0jaWYgIVBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShNQUMpCisKKyNpZiBFTkFC
TEUoUExVR0lOX1BST0NFU1MpCisjZGVmaW5lIEVOQUJMRV9TSEFSRURfV09SS0VSX1BST0NFU1Mg
MQorI2VuZGlmCisKKyNlbGlmICFQTEFURk9STShXSU4pCiAjZGVmaW5lIEVOQUJMRV9TSEFSRURf
V09SS0VSX1BST0NFU1MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAKaW5kZXggNzZlZTBhZmFlNjg3OTZhZmNkOGFkODZiNGMzYWQ3MzlhOWU1YjJmZC4uZTVhMmI3
NDc5NmFmODM2MjIzM2M5OWE3ZjZmYzRhYzBiNTJlZGQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHAKQEAgLTEzNDYsMjEgKzEzNDYsMjcgQEAgUGFzc1JlZlB0cjxXaWRnZXQ+
IFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQ
bHVnSW4KICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQog
ICAgIFJlZlB0cjxQbHVnaW4+IHBsdWdpbiA9IHdlYlBhZ2UtPmNyZWF0ZVBsdWdpbihtX2ZyYW1l
LCBwbHVnaW5FbGVtZW50LCBwYXJhbWV0ZXJzKTsKICAgICBpZiAoIXBsdWdpbikKICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgCisKICAgICByZXR1cm4gUGx1Z2luVmlldzo6Y3JlYXRlKHBsdWdpbkVs
ZW1lbnQsIHBsdWdpbi5yZWxlYXNlKCksIHBhcmFtZXRlcnMpOworI2Vsc2UKKyAgICByZXR1cm4g
MDsKKyNlbmRpZgogfQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpyZWNyZWF0ZVBsdWdp
bihXaWRnZXQqIHdpZGdldCkKIHsKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBBU1NFUlQod2lkZ2V0ICYmIHdpZGdldC0+aXNQbHVnaW5WaWV3QmFzZSgpKTsKICAgICBBU1NF
UlQobV9mcmFtZS0+cGFnZSgpKTsKIAogICAgIFBsdWdpblZpZXcqIHBsdWdpblZpZXcgPSBzdGF0
aWNfY2FzdDxQbHVnaW5WaWV3Kj4od2lkZ2V0KTsKICAgICBSZWZQdHI8UGx1Z2luPiBwbHVnaW4g
PSBtX2ZyYW1lLT5wYWdlKCktPmNyZWF0ZVBsdWdpbihtX2ZyYW1lLCBwbHVnaW5WaWV3LT5wbHVn
aW5FbGVtZW50KCksIHBsdWdpblZpZXctPmluaXRpYWxQYXJhbWV0ZXJzKCkpOwogICAgIHBsdWdp
blZpZXctPnJlY3JlYXRlQW5kSW5pdGlhbGl6ZShwbHVnaW4ucmVsZWFzZSgpKTsKKyNlbmRpZgog
fQogCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpyZWRpcmVjdERhdGFUb1BsdWdpbihXaWRn
ZXQqIHBsdWdpbldpZGdldCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRl
eCA1ZDI1MGVhNTk4MzI5MjRlYzJiM2YwZjFkZWJhZmIwZWZjYTMwNTVhLi42MmY5MDA0MDA5NThl
NzBkZWNjZWNjNzMxMmNlMWRlOGM4ZWNkNWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAs
IDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC01Niw4ICs1NiwxMCBAQCB2b2lkIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llczo6aW5pdGlhbGl6ZSgpCiB9CiAKIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6V2ViUGxh
dGZvcm1TdHJhdGVnaWVzKCkKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICA6
IG1fcGx1Z2luQ2FjaGVJc1BvcHVsYXRlZChmYWxzZSkKICAgICAsIG1fc2hvdWxkUmVmcmVzaFBs
dWdpbnMoZmFsc2UpCisjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiB7CiB9
CiAKQEAgLTkyLDE5ICs5NCwyNCBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6bm90aWZ5
Q29va2llc0NoYW5nZWQoKQogCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVmcmVzaFBs
dWdpbnMoKQogeworI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIG1fY2FjaGVk
UGx1Z2lucy5jbGVhcigpOwogICAgIG1fcGx1Z2luQ2FjaGVJc1BvcHVsYXRlZCA9IGZhbHNlOwog
ICAgIG1fc2hvdWxkUmVmcmVzaFBsdWdpbnMgPSB0cnVlOwogCiAgICAgcG9wdWxhdGVQbHVnaW5D
YWNoZSgpOworI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogfQogCiB2b2lk
IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0UGx1Z2luSW5mbyhjb25zdCBXZWJDb3JlOjpQYWdl
KiwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+JiBwbHVnaW5zKQogeworI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIHBvcHVsYXRlUGx1Z2luQ2FjaGUoKTsKICAgICBwbHVn
aW5zID0gbV9jYWNoZWRQbHVnaW5zOworI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQogfQogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiBzdGF0aWMgQmxvY2tp
bmdSZXNwb25zZU1hcDxWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4gPiYgcmVzcG9uc2VNYXAo
KQogewogICAgIEF0b21pY2FsbHlJbml0aWFsaXplZFN0YXRpYyhCbG9ja2luZ1Jlc3BvbnNlTWFw
PFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiA+JiwgcmVzcG9uc2VNYXAgPSAqbmV3IEJsb2Nr
aW5nUmVzcG9uc2VNYXA8VmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+ID4pOwpAQCAtMTM4LDYg
KzE0NSw3IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpwb3B1bGF0ZVBsdWdpbkNhY2hl
KCkKICAgICBtX3Nob3VsZFJlZnJlc2hQbHVnaW5zID0gZmFsc2U7CiAgICAgbV9wbHVnaW5DYWNo
ZUlzUG9wdWxhdGVkID0gdHJ1ZTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKIAogLy8gVmlzaXRlZExpbmtTdHJhdGVneQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaAppbmRleCA0MTJhNzViY2UzZTkyMjcwNzgzZWU5NGIxNmMwNDgwZmZiYjhmZWJiLi5k
ZmJjYzMzNGMxYzNmYWQwZTkxMGIzNDRiODM5MjQyNDRhMGE0ZGIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTU1LDcgKzU1LDYgQEAgcHJpdmF0ZToKICAgICAvLyBXZWJDb3Jl
OjpQbHVnaW5TdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCByZWZyZXNoUGx1Z2lucygpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgdm9pZCBnZXRQbHVnaW5JbmZvKGNvbnN0IFdlYkNvcmU6OlBhZ2Uq
LCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4mKSBPVkVSUklERTsKLSAgICB2b2lkIHBvcHVs
YXRlUGx1Z2luQ2FjaGUoKTsKIAogICAgIC8vIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kK
ICAgICB2aXJ0dWFsIGJvb2wgaXNMaW5rVmlzaXRlZChXZWJDb3JlOjpQYWdlKiwgV2ViQ29yZTo6
TGlua0hhc2gsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6QXRvbWlj
U3RyaW5nJiBhdHRyaWJ1dGVVUkwpIE9WRVJSSURFOwpAQCAtODAsMTIgKzc5LDE4IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHNldFN0cmluZ0ZvclR5cGUoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkVHlwZSwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkg
T1ZFUlJJREU7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQorICAg
IC8vIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5IGltcGxlbWVudGF0aW9uLgorICAgIHZvaWQgcG9w
dWxhdGVQbHVnaW5DYWNoZSgpOwogICAgIGJvb2wgbV9wbHVnaW5DYWNoZUlzUG9wdWxhdGVkOwog
ICAgIGJvb2wgbV9zaG91bGRSZWZyZXNoUGx1Z2luczsKICAgICBWZWN0b3I8V2ViQ29yZTo6UGx1
Z2luSW5mbz4gbV9jYWNoZWRQbHVnaW5zOworI2VuZGlmIC8vIEVOQUJMRShQTFVHSU5fUFJPQ0VT
UykKIH07CiAKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIHZvaWQgaGFuZGxlRGlk
R2V0UGx1Z2lucyh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpQbHVn
aW5JbmZvPiYpOworI2VuZGlmIC8vIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
S2l0TWFpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYktpdE1haW4uY3BwCmlu
ZGV4IDcwNmRhZDI1NmI3OGYxYWMyZmI4NzlkZDhhZWJmM2FkNTdlMTRlMDIuLmMzZmE5OGViZTNh
NGRlOGY1MjViZTZiYjFhNTYxODcwNjcyZjQzMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViS2l0TWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJLaXRNYWluLmNwcApAQCAtNTYsMTEgKzU2LDkgQEAgc3RhdGljIGludCBXZWJLaXRNYWlu
KGNvbnN0IENvbW1hbmRMaW5lJiBjb21tYW5kTGluZSkKICAgICBzd2l0Y2ggKHByb2Nlc3NUeXBl
KSB7CiAgICAgICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpXZWJQcm9jZXNzOgogICAgICAgICAg
ICAgcmV0dXJuIFdlYlByb2Nlc3NNYWluKGNvbW1hbmRMaW5lKTsKLSAgICAgICAgY2FzZSBQcm9j
ZXNzTGF1bmNoZXI6OlBsdWdpblByb2Nlc3M6CiAjaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQor
ICAgICAgICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6UGx1Z2luUHJvY2VzczoKICAgICAgICAgICAg
IHJldHVybiBQbHVnaW5Qcm9jZXNzTWFpbihjb21tYW5kTGluZSk7Ci0jZWxzZQotICAgICAgICAg
ICAgYnJlYWs7CiAjZW5kaWYKICAgICAgICAgY2FzZSBQcm9jZXNzTGF1bmNoZXI6Ok5ldHdvcmtQ
cm9jZXNzOgogI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMTBkMDMzZDYzY2MzZTM1YTkwZDMz
NjhkOTQ5ODkxZTU4YjYwNGQzZS4uMWFmZTNlMzI0YzEyNzdhNGQyM2FkM2IzM2FkOWZlZmIzODAx
ZmM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtNDUxLDYgKzQ1MSw3IEBAIHZvaWQgV2ViUGFnZTo6aW5pdGlhbGl6ZUluamVjdGVkQnVu
ZGxlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoV0tCdW5kbGVQYWdlRGlhZ25vCiAgICAgbV9sb2dE
aWFnbm9zdGljTWVzc2FnZUNsaWVudC5pbml0aWFsaXplKGNsaWVudCk7CiB9CiAKKyNpZiBFTkFC
TEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIFBhc3NSZWZQdHI8UGx1Z2luPiBXZWJQYWdlOjpjcmVh
dGVQbHVnaW4oV2ViRnJhbWUqIGZyYW1lLCBIVE1MUGx1Z0luRWxlbWVudCogcGx1Z2luRWxlbWVu
dCwgY29uc3QgUGx1Z2luOjpQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIFN0cmluZyBw
bHVnaW5QYXRoOwpAQCAtNDg4LDEzICs0ODksMTIgQEAgUGFzc1JlZlB0cjxQbHVnaW4+IFdlYlBh
Z2U6OmNyZWF0ZVBsdWdpbihXZWJGcmFtZSogZnJhbWUsIEhUTUxQbHVnSW5FbGVtZW50KiBwbHUK
IAogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICByZXR1cm4gUGx1Z2luUHJveHk6OmNy
ZWF0ZShwbHVnaW5QYXRoKTsKLSNlbGlmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQorI2Vs
c2UKICAgICBOZXRzY2FwZVBsdWdpbjo6c2V0U2V0RXhjZXB0aW9uRnVuY3Rpb24oTlBSdW50aW1l
T2JqZWN0TWFwOjpzZXRHbG9iYWxFeGNlcHRpb24pOwogICAgIHJldHVybiBOZXRzY2FwZVBsdWdp
bjo6Y3JlYXRlKE5ldHNjYXBlUGx1Z2luTW9kdWxlOjpnZXRPckNyZWF0ZShwbHVnaW5QYXRoKSk7
Ci0jZWxzZQotICAgIHJldHVybiAwOwogI2VuZGlmCiB9CisjZW5kaWYgLy8gRU5BQkxFKE5FVFND
QVBFX1BMVUdJTl9BUEkpCiAKIEVkaXRvclN0YXRlIFdlYlBhZ2U6OmVkaXRvclN0YXRlKCkgY29u
c3QKIHsKQEAgLTM0NDYsNiArMzQ0Niw3IEBAIHZvaWQgV2ViUGFnZTo6c2V0U2Nyb2xsaW5nUGVy
Zm9ybWFuY2VMb2dnaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiAKIHN0YXRpYyBib29sIGNhblBs
dWdpbkhhbmRsZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogewor
I2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIFN0cmluZyBwbHVnaW5QYXRoOwog
ICAgIGJvb2wgYmxvY2tlZDsKICAgICAKQEAgLTM0NTMsNiArMzQ1NCw5IEBAIHN0YXRpYyBib29s
IGNhblBsdWdpbkhhbmRsZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgcmV0dXJuICFibG9ja2VkICYmICFw
bHVnaW5QYXRoLmlzRW1wdHkoKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9
CiAKIGJvb2wgV2ViUGFnZTo6c2hvdWxkVXNlQ3VzdG9tUmVwcmVzZW50YXRpb25Gb3JSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDdkYjY1ZTk5ZTM0M2UzMDk2MGRk
MWM1YTIyNDFiMmJkNzU5YzY2OWIuLjc0YmUzMTNlNzE2MzU4ZTkzMmI0M2Y5YmJmZDBlYmU4MDFh
OTVhOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApA
QCAtMjgwLDcgKzI4MCw5IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpGcmFtZSogbWFpbkZyYW1l
KCkgY29uc3Q7IC8vIE1heSByZXR1cm4gMC4KICAgICBXZWJDb3JlOjpGcmFtZVZpZXcqIG1haW5G
cmFtZVZpZXcoKSBjb25zdDsgLy8gTWF5IHJldHVybiAwLgogCisjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCiAgICAgUGFzc1JlZlB0cjxQbHVnaW4+IGNyZWF0ZVBsdWdpbihXZWJGcmFt
ZSosIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgUGx1Z2luOjpQYXJhbWV0ZXJz
Jik7CisjZW5kaWYKIAogICAgIEVkaXRvclN0YXRlIGVkaXRvclN0YXRlKCkgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IDNmZDIzNGVhODFmZTQ0
MzA2MDJkYzhkMzljYzZiODk3MjM3YmNhMGUuLmQ5ZDE0ZTk3Y2UzYjY3YmJiNmZlYjE1ZDc2ZGYw
MjMzYTBlNTQ3MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEy
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtODMyLDcgKzgzMiw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6Y2xlYXJBcHBsaWNh
dGlvbkNhY2hlKCkKICAgICBjYWNoZVN0b3JhZ2UoKS5lbXB0eSgpOwogfQogCi0jaWYgIUVOQUJM
RShQTFVHSU5fUFJPQ0VTUykKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkgJiYgIUVO
QUJMRShQTFVHSU5fUFJPQ0VTUykKIHZvaWQgV2ViUHJvY2Vzczo6Z2V0U2l0ZXNXaXRoUGx1Z2lu
RGF0YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGx1Z2luUGF0aHMsIHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiB7CiAgICAgTG9jYWxUZXJtaW5hdGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlzYWJsZXIo
KnRoaXMpOwpAQCAtMTA5Myw2ICsxMDkzLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpzZXRUZXh0Q2hl
Y2tlclN0YXRlKGNvbnN0IFRleHRDaGVja2VyU3RhdGUmIHRleHRDaGVja2VyU3RhdGUpCiAgICAg
fQogfQogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiB2b2lkIFdlYlByb2Nlc3M6
OmRpZEdldFBsdWdpbnMoQ29yZUlQQzo6Q29ubmVjdGlvbiosIHVpbnQ2NF90IHJlcXVlc3RJRCwg
Y29uc3QgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+JiBwbHVnaW5zKQogewogI2lmIFVTRShQ
TEFURk9STV9TVFJBVEVHSUVTKQpAQCAtMTEwMCw1ICsxMTAxLDYgQEAgdm9pZCBXZWJQcm9jZXNz
OjpkaWRHZXRQbHVnaW5zKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQs
IGNvbnN0IFYKICAgICBoYW5kbGVEaWRHZXRQbHVnaW5zKHJlcXVlc3RJRCwgcGx1Z2lucyk7CiAj
ZW5kaWYKIH0KKyNlbmRpZiAvLyBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCBiNDJh
MGVjMTZkN2RkZjIyNTFhNTc4YTg0NWQxOWI2MWRlMjNkMTlmLi45YTEzZWU4MjA1MmExMjllYjRm
YTBjYTlhMDZiZTQyMzk3NDlhOTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nl
c3MuaApAQCAtMjc2LDcgKzI3Niw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlV2Vi
UHJvY2Vzc01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJQcm9jZXNz
TWVzc2FnZU9uQ29ubmVjdGlvbldvcmtRdWV1ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQ
Qzo6TWVzc2FnZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYsIGJvb2wmIGRpZEhhbmRsZU1l
c3NhZ2UpOwogCisjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgdm9pZCBkaWRH
ZXRQbHVnaW5zKENvcmVJUEM6OkNvbm5lY3Rpb24qLCB1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0
IFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpOworI2VuZGlmCiAKICAgICBSZWZQdHI8V2Vi
Q29ubmVjdGlvblRvVUlQcm9jZXNzPiBtX2Nvbm5lY3Rpb247CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBkMTBhN2I1MzY1NTRh
YjQyNzYyNDMzZTg3OTE3OWFmMTNlNDgzYmVlLi4zNzg3OTJmNmRiMTIzZDAzMzkyY2NiYjI0ZTE5
MjFmNjA0NTI2NjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC01NiwxMyArNTYsMTMgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vz
cyB7CiAjZW5kaWYKIAogICAgICMgUGx1Zy1pbnMuCi0jaWYgIUVOQUJMRShQTFVHSU5fUFJPQ0VT
UykKKyNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyAgICBEaWRHZXRQbHVnaW5zKHVp
bnQ2NF90IHJlcXVlc3RJRCwgVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+IHBsdWdpbnMpIERp
c3BhdGNoT25Db25uZWN0aW9uUXVldWUKKyNlbmRpZgorI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVH
SU5fQVBJKSAmJiAhRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQogICAgIEdldFNpdGVzV2l0aFBsdWdp
bkRhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBwbHVnaW5QYXRocywgdWludDY0X3QgY2FsbGJhY2tJ
RCkKICAgICBDbGVhclBsdWdpblNpdGVEYXRhKFZlY3RvcjxXVEY6OlN0cmluZz4gcGx1Z2luUGF0
aHMsIFZlY3RvcjxXVEY6OlN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGZsYWdzLCB1aW50NjRfdCBt
YXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAjZW5kaWYKLQotICAgIERpZEdl
dFBsdWdpbnModWludDY0X3QgcmVxdWVzdElELCBWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4g
cGx1Z2lucykgRGlzcGF0Y2hPbkNvbm5lY3Rpb25RdWV1ZQotCiAjaWYgRU5BQkxFKFBMVUdJTl9Q
Uk9DRVNTKQogICAgIFBsdWdpblByb2Nlc3NDcmFzaGVkKFN0cmluZyBwbHVnaW5Qcm9jZXNzKSBE
aXNwYXRjaE9uQ29ubmVjdGlvblF1ZXVlCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMTc3MmI3ZDk4ZDY5YTljNjAxZjVjZGQzODBl
NzJkYzY1YmFkY2Q4Li5kNWZiNDQ2N2FkOTk2ZTk4ZGYxYTVmNTA4YWI1MGRlNWQ4NGY0YTVmIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMTAtMTggIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5j
b20+CisKKyAgICAgICAgW1dLMl0gV2ViS2l0MiBkb2VzIG5vdCBidWlsZCB3aXRob3V0IFBMVUdJ
Tl9QUk9DRVNTIG9uIE1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTk3NzEKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTW9ja1dlYk5vdGlmaWNhdGlvblByb3ZpZGVy
Lm1tOiBUaGUgZmlsZSB3YXMgbm90IGluY2x1ZGluZyBjb25maWcuaCwKKyAgICAgICAgZWZmZWN0
aXZlbHkgYnJlYWtpbmcgZmVhdHVyZSBmbGFncy4KKwogMjAxMi0xMC0xOCAgSm9jaGVuIEVpc2lu
Z2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEFkZCBhIHdl
YmtpdF90ZXN0X3N1cHBvcnQgdGFyZ2V0IHRoYXQgV2ViVGVzdGluZ1N1cHBvcnQKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIu
bW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTW9ja1dlYk5vdGlmaWNhdGlvblByb3ZpZGVy
Lm1tCmluZGV4IDQzNjVkMTVkMDY1N2M4NTllOWI5ZTEwMThkN2Y1M2Q4NWNlYjQyOTIuLmQ4MGY2
YmE0ZTJjMTc5YzQ1YzVmMjBiMTNlZDBjNGZkZjM3ODY0YWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9Nb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIubW0KKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL01vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5tbQpAQCAt
MjYsNyArMjYsOSBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIk1vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIgorCiAjaW1wb3J0IDxXZWJLaXQv
V2ViU2VjdXJpdHlPcmlnaW5Qcml2YXRlLmg+CiAKIEBpbXBsZW1lbnRhdGlvbiBNb2NrV2ViTm90
aWZpY2F0aW9uUHJvdmlkZXIK
</data>

          </attachment>
      

    </bug>

</bugzilla>