<?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>206642</bug_id>
          
          <creation_ts>2020-01-22 21:24:30 -0800</creation_ts>
          <short_desc>Remove some unneeded definitions from Platform.h family headers</short_desc>
          <delta_ts>2020-01-23 19:12:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1609956</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-22 21:24:30 -0800</bug_when>
    <thetext>Remove some unneeded definitions from Platform.h family headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609959</commentid>
    <comment_count>1</comment_count>
      <attachid>388516</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-22 21:35:20 -0800</bug_when>
    <thetext>Created attachment 388516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609961</commentid>
    <comment_count>2</comment_count>
      <attachid>388516</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-22 21:37:39 -0800</bug_when>
    <thetext>Comment on attachment 388516
Patch

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

&gt; Source/WTF/ChangeLog:15
&gt; +        Removed AVFOUNDATION_MEDIA_SELECTION_GROUP because it is now unused.

Missing HAVE prefix here, fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609963</commentid>
    <comment_count>3</comment_count>
      <attachid>388518</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-22 21:49:53 -0800</bug_when>
    <thetext>Created attachment 388518
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610487</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-23 19:11:13 -0800</bug_when>
    <thetext>Committed r255049: &lt;https://trac.webkit.org/changeset/255049&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610490</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-23 19:12:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/58857471&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388516</attachid>
            <date>2020-01-22 21:35:20 -0800</date>
            <delta_ts>2020-01-22 21:49:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206642-20200122213517.patch</filename>
            <type>text/plain</type>
            <size>24664</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk3MDRjNGE3YThkMWU2NTQ3Njg5ZjEz
OGNhZGRiOTI2MjQ1MjA1ZmIuLjNiZDljMzFiZTQ0NzNkOWU0N2Y3YWM2NWIwMjZhZTczOTIxMzJk
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDEtMjIgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21lIHVubmVlZGVkIGRlZmluaXRpb25zIGZy
b20gUGxhdGZvcm0uaCBmYW1pbHkgaGVhZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgUmVt
b3ZlZCBFTkFCTEVfUkVTUEVDVF9FWElGX09SSUVOVEFUSU9OIGJlY2F1c2UgaXQgd2FzIHVudXNl
ZC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKyAgICAgICAgUmVtb3ZlZCBIQVZF
X1BBU1NLSVRfQVBJX1RZUEUgYmVjYXVzZSBpdCBpcyBub3cgdW51c2VkLgorICAgICAgICBSZW1v
dmVkIEhBVkVfTUVSR0VTT1JUIGJlY2F1c2UgaXQgd2FzIHVudXNlZC4KKyAgICAgICAgUmVtb3Zl
ZCBIQVZFX0FWRk9VTkRBVElPTl9WSURFT19PVVRQVVQgYmVjYXVzZSBpdCBpcyBub3cgdW51c2Vk
LgorICAgICAgICBSZW1vdmVkIEFWRk9VTkRBVElPTl9NRURJQV9TRUxFQ1RJT05fR1JPVVAgYmVj
YXVzZSBpdCBpcyBub3cgdW51c2VkLgorICAgICAgICBSZW1vdmVkIEhBVkVfQ0ZORVRXT1JLX1dJ
VEhfQ09OVEVOVF9FTkNPRElOR19TTklGRklOR19PVkVSUklERSBiZWNhdXNlIGl0IHdhcyB1bnVz
ZWQuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1Vc2UuaDoKKyAgICAgICAgUmVtb3ZlZCBVU0Vf
QVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgYmVjYXVzZSBpdCB3YXMgdW51c2VkLgorICAg
ICAgICBSZW1vdmVkIFVTRV9ORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSyBiZWNhdXNlIGl0
IGlzIG5vdyB1bnVzZWQuCisKIDIwMjAtMDEtMjIgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNv
bkBhcHBsZS5jb20+CiAKICAgICAgICAgdW5pcXVlTG9nSWRlbnRpZmllcigpIHNob3VsZCBnZW5l
cmF0ZSBhIHVuaXF1ZSBpZGVudGlmaWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQzNDdiOTZjNGE5N2NlODc5
MzQ5YzFiMTA5NmFjYjdlYjY4OTgxZWQuLmU2NjM4MzdjNWQyZmIyMjk0NDMxYThjZjkyY2I1ODli
MzQ0ZTE4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMS0yMiAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNvbWUgdW5uZWVkZWQg
ZGVmaW5pdGlvbnMgZnJvbSBQbGF0Zm9ybS5oIGZhbWlseSBoZWFkZXJzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY2NDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLmg6IFJlbW92ZWQK
KyAgICAgICAgY2hlY2tzIG9mIEhBVkUoQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9HUk9V
UCkgYW5kCisgICAgICAgIEhBVkUoQVZGT1VOREFUSU9OX1ZJREVPX09VVFBVVCkgYmVjYXVzZSBi
b3RoIGFyZSBhbHdheXMgMSBvbiBDb2NvYSBwbGF0Zm9ybXMsCisgICAgICAgIGFuZCB0aGlzIGlz
IENvY29hLW9ubHkgc291cmNlIGNvZGUuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRk9iakMubW06IERpdHRvLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbTogRGl0dG8uCisKIDIwMjAtMDEtMjIgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBz
b255LmNvbT4KIAogICAgICAgICBbT3BlblNTTF0gQWRkIHN0dWJzIGFuZCBidWlsZCBmb3IgV2Vi
IENyeXB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggODQwZjUxNjE4NTBlMTk2Y2YxYTBiMjgxNDE1
NGVhNDg5ZDRhMTBlZS4uYjA0NjRjOTA3NGNmZGRmMzM5NTYwZjliMjlkOTRlYjIxOTM0YWYzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDEtMjIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21lIHVubmVlZGVkIGRl
ZmluaXRpb25zIGZyb20gUGxhdGZvcm0uaCBmYW1pbHkgaGVhZGVycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NjQyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NmL0NGTmV0d29ya1NQ
SS5oOiBSZW1vdmUKKyAgICAgICAgSEFWRShDRk5FVFdPUktfV0lUSF9DT05URU5UX0VOQ09ESU5H
X1NOSUZGSU5HX09WRVJSSURFKSBiZWNhdXNlIGl0IHdhcworICAgICAgICBhbHdheXMgMSBvbiBD
b2NvYSBwbGF0Zm9ybXMsIGFuZCB3YXMgZ3VhcmRpbmcgYSBkZWZpbml0aW9uIHRoYXQgd2UKKyAg
ICAgICAgdXNlIHVuY29uZGl0aW9uYWxseSBpbiBPYmplY3RpdmUtQyBDb2NvYS1vbmx5IGNvZGUs
IGFuZCB0aGVyZSBpcyBubworICAgICAgICBoYXJtIG9mIGRlZmluaW5nIGl0IG9uIFdpbmRvd3Mg
YXMgbG9uZyBhcyB3ZSBkb24ndCB1c2UgaXQuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL1Bh
c3NLaXRTUEkuaDogUmVtb3ZlIEhBVkUoUEFTU0tJVF9BUElfVFlQRSkgYmVjYXVzZQorICAgICAg
ICBpdCB3YXMgYWx3YXlzIDEgb24gQ29jb2EgcGxhdGZvcm1zIGFuZCB0aGlzIGlzIGEgQ29jb2Et
b25seSBoZWFkZXIuCisKIDIwMjAtMDEtMjEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgbWlzc2luZyBOU19OT0VTQ0FQRSB0byBDRk5l
dHdvcmsgU1BJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRmMGQyZTEyN2Q2NmIwZGUzOWRjOTFiN2RmYjI4YWMyOWI5
ZWJjOTcuLjZiN2ZmZDU0MzM1MmY1NDA5NDYyN2Q0M2ZiYjIyNDI5ZGRiNDVjZjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDEtMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBzb21lIHVubmVlZGVkIGRlZmluaXRpb25zIGZyb20gUGxh
dGZvcm0uaCBmYW1pbHkgaGVhZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA2NjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdD
b250cm9sbGVyLm1tOgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRy
b2xsZXJEZWxlZ2F0ZSBfZ2V0UGF5bWVudFNlcnZpY2VzTWVyY2hhbnRVUkw6XSk6CisgICAgICAg
IFJlbW92ZWQgSEFWRShQQVNTS0lUX0FQSV9UWVBFKSBiZWNhdXNlIGl0J3MgYWx3YXlzIDEgb24g
Q29jb2EgcGxhdGZvcm1zIGFuZCB0aGlzCisgICAgICAgIGlzIENvY29hLW9ubHkgY29kZS4KKyAg
ICAgICAgKiBTaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlD
b2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6dG9BUElUeXBlKTogRGl0dG8uCisgICAgICAgIChX
ZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0
KTogRGl0dG8uCisKIDIwMjAtMDEtMjIgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBTREsgYXZhaWxhYmlsaXR5IG1hY3JvcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5h
YmxlLmgKaW5kZXggYjBlMmMxMTM2ZWZlNWFmMzY1YTBjMjUzMzdlZWJiMjBkNDFiNDI4OS4uNDFm
MjhjMzI4YWJjZDMxNTE5ZGFiZWYzMTQ5ZDE1YjJhNzk1ZTUxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZS5oCkBAIC0xNzAsMTAgKzE3MCw2IEBACiAjZGVmaW5lIEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoRU5BQkxFX1JFU1BFQ1RfRVhJRl9PUklFTlRB
VElPTikKLSNkZWZpbmUgRU5BQkxFX1JFU1BFQ1RfRVhJRl9PUklFTlRBVElPTiAxCi0jZW5kaWYK
LQogI2lmICFkZWZpbmVkKEVOQUJMRV9URVhUX0NBUkVUKQogI2RlZmluZSBFTkFCTEVfVEVYVF9D
QVJFVCAwCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggMzNmODg4NDJjZDcyOGYwY2Zh
Y2JlMTZmYmI0MjE2ZTU1ODU5ZDcwOS4uYzczMDI2NTkxYTg4NzQxZDM5YzlkZjYxYjMyZWJhODI4
MzNmZmNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTk3LDEwICs5Nyw2IEBACiAjZGVmaW5l
IEhBVkVfQVZTVFJFQU1TRVNTSU9OIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoSEFWRV9QQVNT
S0lUX0FQSV9UWVBFKSAmJiAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSkK
LSNkZWZpbmUgSEFWRV9QQVNTS0lUX0FQSV9UWVBFIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQo
SEFWRV9QQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKSAmJiAoUExBVEZPUk0oSU9T
KSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTQwMCkpCiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklF
UiAxCiAjZW5kaWYKQEAgLTIwMiwxMCArMTk4LDYgQEAKICNkZWZpbmUgSEFWRV9NQURWX0RPTlRO
RUVEIDEKICNlbmRpZgogCi0jaWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX01FUkdFU09SVCAx
Ci0jZW5kaWYKLQogI2lmIE9TKERBUldJTikKICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVf
TlAgMQogI2VuZGlmCkBAIC0yODMsMTAgKzI3NSw2IEBACiAjZGVmaW5lIEhBVkVfQVZLSVQgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05f
VklERU9fT1VUUFVUIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhB
VkVfQ09SRV9WSURFTyAxCiAjZW5kaWYKQEAgLTI5NSwxMCArMjgzLDYgQEAKICNkZWZpbmUgSEFW
RV9NRURJQV9QTEFZRVIgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUg
SEFWRV9BVkZPVU5EQVRJT05fTUVESUFfU0VMRUNUSU9OX0dST1VQIDEKLSNlbmRpZgotCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9OX0xFR0lCTEVfT1VUUFVU
X1NVUFBPUlQgMQogI2VuZGlmCkBAIC0zODksMTAgKzM3Myw2IEBACiAjZGVmaW5lIEhBVkVfTlNI
VFRQQ09PS0lFU1RPUkFHRV9fSU5JVFdJVEhJREVOVElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxM
QUJJTElUWSAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX0NG
TkVUV09SS19XSVRIX0NPTlRFTlRfRU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUgMQotI2VuZGlm
Ci0KICNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgUExBVEZPUk0oR1RLKQogI2RlZmluZSBIQVZF
X09TX0RBUktfTU9ERV9TVVBQT1JUIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1Vc2UuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggOGUw
ZjdlOWU0YzMxY2Q5YThhMzQ3MzkxZDYzMDUyOGM1OThmYTE5Ni4uNTg5MTI0YzkyZDFhZjAzYzc4
NTdiMjcwODZmNzkyMTU1NWZkYjNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZv
cm1Vc2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC00MiwyMSArNDIs
NiBAQAogI2VuZGlmCiAjZW5kaWYKIAotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVz
ZSBhbGlnbmVkIG1lbW9yeSAqLwotI2lmIENQVShNSVBTKSB8fCBDUFUoTUlQUzY0KQotI2RlZmlu
ZSBVU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCi0KLS8qQVJNdjVU
RSByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jaWYgZGVmaW5l
ZChfX0FSTV9BUkNIXzVFX18pIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgfHwgZGVmaW5l
ZChfX0FSTV9BUkNIXzVURUpfXykKLSNkZWZpbmUgVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9J
TlRFR0VSIDEKLSNlbmRpZgotCi0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2Ug
YWxpZ25lZCBtZW1vcnkqLwotI2lmIGRlZmluZWQoX19UQVJHRVRfQVJDSF81RSkgfHwgZGVmaW5l
ZChfX1RBUkdFVF9BUkNIXzVURSkgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCi0jZGVm
aW5lIFVTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCi0jZW5kaWYKLQogLyogRXhw
b3J0IG1hY3JvIHN1cHBvcnQuIERldGVjdHMgdGhlIGF0dHJpYnV0ZXMgYXZhaWxhYmxlIGZvciBz
aGFyZWQgbGlicmFyeSBzeW1ib2wgZXhwb3J0CiAgICBkZWNvcmF0aW9ucy4gKi8KICNpZiBPUyhX
SU5ET1dTKSB8fCAoQ09NUElMRVJfSEFTX0NMQU5HX0RFQ0xTUEVDKGRsbGltcG9ydCkgJiYgQ09N
UElMRVJfSEFTX0NMQU5HX0RFQ0xTUEVDKGRsbGV4cG9ydCkpCkBAIC0xMTAsMTAgKzk1LDYgQEAK
ICNkZWZpbmUgVVNFX0ZPVU5EQVRJT04gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkK
LSNkZWZpbmUgVVNFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNlbmRpZgotCiAj
aWYgUExBVEZPUk0oTUFDKQogI2RlZmluZSBVU0VfQVBQS0lUIDEKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCBlODI3NjA2YzE5MTIz
YTY1ZjMyNTRkYjcwYTFlODFlYmI4ZGU3MWRlLi4wODY0Mjg5MjAwYTc1MWY4NzE2ZmUwN2I5MDIy
NDMzYWI1MGQxNTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9D
Rk5ldHdvcmtTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdv
cmtTUEkuaApAQCAtMjgyLDEwICsyODIsNyBAQCBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYgX2tD
RlVSTENhY2hlUGFydGl0aW9uS2V5OwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIF9rQ0ZVUkxD
b25uZWN0aW9uUHJvcGVydHlTaG91bGRTbmlmZjsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBf
a0NGVVJMU3RvcmFnZVNlc3Npb25Jc1ByaXZhdGU7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYg
a0NGU3RyZWFtU29ja2V0U2VjdXJpdHlMZXZlbFRMU3YxXzI7Ci0KLSNpZiBIQVZFKENGTkVUV09S
S19XSVRIX0NPTlRFTlRfRU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUpCiBleHRlcm4gY29uc3Qg
Q0ZTdHJpbmdSZWYga0NGVVJMUmVxdWVzdENvbnRlbnREZWNvZGVyU2tpcFVSTENoZWNrOwotI2Vu
ZGlmCiAKIENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgX0NGSFRUUENvb2tpZVN0b3JhZ2VHZXREZWZh
dWx0KENGQWxsb2NhdG9yUmVmKTsKIENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgQ0ZIVFRQQ29va2ll
U3RvcmFnZUNyZWF0ZUZyb21GaWxlKENGQWxsb2NhdG9yUmVmLCBDRlVSTFJlZiwgQ0ZIVFRQQ29v
a2llU3RvcmFnZVJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
b2NvYS9QYXNzS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNz
S2l0U1BJLmgKaW5kZXggM2Y4ODU4N2ZlZDIzMDBiMmM3ZThlMDNmMjY3NGM5OWNiNTM0YTRhMi4u
Y2UyNTViMjA4MzY1NTI0NmJkZGEyMGNlMjNhNzExZTIyZDg5YWY4YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtNTgsMTMgKzU4LDExIEBA
IFdURl9FWFRFUk5fQ19FTkQKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAK
LSNpZiBIQVZFKFBBU1NLSVRfQVBJX1RZUEUpCiB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwg
UEtQYXltZW50UmVxdWVzdEFQSVR5cGUpIHsKICAgICBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZUlu
QXBwID0gMCwKICAgICBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZVdlYkpTLAogICAgIFBLUGF5bWVu
dFJlcXVlc3RBUElUeXBlV2ViUGF5bWVudFJlcXVlc3QsCiB9OwotI2VuZGlmCiAKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogCkBAIC0yODAsOSArMjc4LDcgQEAgTlNfQVNTVU1FX05PTk5VTExf
QkVHSU4KIAogQGludGVyZmFjZSBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIg
KCkKICsgKHZvaWQpcGF5bWVudFNlcnZpY2VzTWVyY2hhbnRVUkw6KHZvaWQoXikoTlNVUkwgKm1l
cmNoYW50VVJMLCBOU0Vycm9yICplcnJvcikpY29tcGxldGlvbjsKLSNpZiBIQVZFKFBBU1NLSVRf
QVBJX1RZUEUpCiArICh2b2lkKXBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMRm9yQVBJVHlwZToo
UEtQYXltZW50UmVxdWVzdEFQSVR5cGUpQVBJVHlwZSBjb21wbGV0aW9uOih2b2lkKF4pKE5TVVJM
ICptZXJjaGFudFVSTCwgTlNFcnJvciAqZXJyb3IpKWNvbXBsZXRpb247Ci0jZW5kaWYKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIG51bGxhYmxlKSBpZDxQS1BheW1lbnRBdXRob3JpemF0
aW9uVmlld0NvbnRyb2xsZXJQcml2YXRlRGVsZWdhdGU+IHByaXZhdGVEZWxlZ2F0ZTsKIEBlbmQK
IApAQCAtMzAyLDExICsyOTgsOSBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogQHByb3BlcnR5
IChub25hdG9taWMsIHN0cm9uZykgTlNTdHJpbmcgKkNURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlw
ZTsKIEBlbmQKIAotI2lmIEhBVkUoUEFTU0tJVF9BUElfVFlQRSkKIEBpbnRlcmZhY2UgUEtQYXlt
ZW50UmVxdWVzdCAoKQogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50UmVx
dWVzdEFQSVR5cGUgQVBJVHlwZTsKIEBlbmQKLSNlbmRpZgogCiAjaWYgSEFWRShQQVNTS0lUX0JP
VU5EX0lOVEVSRkFDRV9JREVOVElGSUVSKQogQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0ICgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vb2JqYy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvSW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZUFWRk9iakMuaAppbmRleCAzZmQwZmY5M2JhM2E2OWY3MjZiOTE1MjA4ZGY0M2UwMmVmNWM5ZWQy
Li43NzQ4M2I2NTlmZTA5MjgyZDFlMDBlYjBmODFjOTIzYjc0OWU5M2RmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLmgK
QEAgLTIzLDEwICsyMyw5IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaWZuZGVmIEluYmFu
ZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDX2gKLSNkZWZpbmUgSW5iYW5kVGV4dFRyYWNrUHJpdmF0
ZUFWRk9iakNfaAorI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZP
VU5EQVRJT04pICYmIEhBVkUoQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9HUk9VUCkKKyNp
ZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZPVU5EQVRJT04pCiAKICNpbmNsdWRlICJJbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZGLmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtNzAs
NCArNjksMyBAQCBwcm90ZWN0ZWQ6CiB9CiAKICNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbmJhbmRU
ZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLm1tCmlu
ZGV4IDNhODMyNWI0N2Q4ZjdlMjEyNDQxOTNhOWY0ZjBmNGIzMGZlN2EwMTcuLmRmNTM1MzdkYWI3
ZDM2ZjRlM2Y0YzViNmQ5YjNiMDM2ZTQzYzVlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZh
dGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLm1tCkBAIC0yNSw3ICsy
NSw3IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKFZJREVPKSAmJiBVU0Uo
QVZGT1VOREFUSU9OKSAmJiBIQVZFKEFWRk9VTkRBVElPTl9NRURJQV9TRUxFQ1RJT05fR1JPVVAp
CisjaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCiAjaW1wb3J0ICJJbmJh
bmRUZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKaW5kZXgg
YWYxZTZlOGFhNzI2MDkxMTI5ZmU0ZDYzZmVmMjVjZGI5NzhhZTBmMS4uOGYyOTBiY2M1MjU0ZjZh
ODAzMDAwYTk4NWU2Mzk5NmUzZjFlYTliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaApAQCAtODUs
MTEgKzg1LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHRyYWNrc0NoYW5nZWQoKSBvdmVycmlkZTsK
ICAgICB2b2lkIGRpZEVuZCgpIG92ZXJyaWRlOwogCi0jaWYgSEFWRShBVkZPVU5EQVRJT05fTUVE
SUFfU0VMRUNUSU9OX0dST1VQKQogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW0+IHBsYXllckl0
ZW0oKSBjb25zdCB7IHJldHVybiBtX2F2UGxheWVySXRlbTsgfQogICAgIHZvaWQgcHJvY2Vzc0N1
ZShOU0FycmF5ICosIE5TQXJyYXkgKiwgY29uc3QgTWVkaWFUaW1lJik7CiAgICAgdm9pZCBmbHVz
aEN1ZXMoKTsKLSNlbmRpZgorCiAgICAgQVZQbGF5ZXIgKmF2UGxheWVyKCkgY29uc3QgeyByZXR1
cm4gbV9hdlBsYXllci5nZXQoKTsgfQogCiAjaWYgSEFWRShBVkZPVU5EQVRJT05fTE9BREVSX0RF
TEVHQVRFKQpAQCAtMTI3LDkgKzEyNiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QnVmZmVy
aW5nUG9saWN5KE1lZGlhUGxheWVyOjpCdWZmZXJpbmdQb2xpY3kpIG92ZXJyaWRlOwogCi0jaWYg
SEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAgIHZvaWQgb3V0cHV0TWVkaWFEYXRh
V2lsbENoYW5nZShBVlBsYXllckl0ZW1WaWRlb091dHB1dCopOwotI2VuZGlmCiAKICNpZiBFTkFC
TEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRJc1dp
cmVsZXNzRGlkQ2hhbmdlKCk7CkBAIC0yNTksNyArMjU2LDYgQEAgcHJpdmF0ZToKICAgICBSZXRh
aW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZsb2F0LCBjb25zdCBG
bG9hdFJlY3QmKTsKICAgICB2b2lkIHBhaW50V2l0aEltYWdlR2VuZXJhdG9yKEdyYXBoaWNzQ29u
dGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogCi0jaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9f
T1VUUFVUKQogICAgIGVudW0gY2xhc3MgVXBkYXRlVHlwZSB7IFVwZGF0ZVN5bmNocm9ub3VzbHks
IFVwZGF0ZUFzeW5jaHJvbm91c2x5IH07CiAgICAgdm9pZCB1cGRhdGVMYXN0SW1hZ2UoVXBkYXRl
VHlwZSB0eXBlID0gVXBkYXRlVHlwZTo6VXBkYXRlQXN5bmNocm9ub3VzbHkpOwogCkBAIC0yNzIs
NyArMjY4LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHdhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0
YVdpbGxDaGFuZ2UoKTsKIAogICAgIGJvb2wgY29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0
dXJlKEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCwgR0NHTGVudW0g
dGFyZ2V0LCBHQ0dMaW50IGxldmVsLCBHQ0dMZW51bSBpbnRlcm5hbEZvcm1hdCwgR0NHTGVudW0g
Zm9ybWF0LCBHQ0dMZW51bSB0eXBlLCBib29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgZmxpcFkp
IG92ZXJyaWRlOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8TGVnYWN5Q0RNU2Vzc2lvbj4gY3JlYXRlU2Vzc2lvbihjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgTGVnYWN5Q0RNU2Vzc2lvbkNsaWVudCopIG92ZXJyaWRlOwpA
QCAtMjgwLDE0ICsyNzUsMTIgQEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBsYW5ndWFnZU9mUHJp
bWFyeUF1ZGlvVHJhY2soKSBjb25zdCBvdmVycmlkZTsKIAotI2lmIEhBVkUoQVZGT1VOREFUSU9O
X01FRElBX1NFTEVDVElPTl9HUk9VUCkKICAgICB2b2lkIHByb2Nlc3NNZWRpYVNlbGVjdGlvbk9w
dGlvbnMoKTsKICAgICBib29sIGhhc0xvYWRlZE1lZGlhU2VsZWN0aW9uR3JvdXBzKCk7CiAKICAg
ICBBVk1lZGlhU2VsZWN0aW9uR3JvdXAqIHNhZmVNZWRpYVNlbGVjdGlvbkdyb3VwRm9yTGVnaWJs
ZU1lZGlhKCk7CiAgICAgQVZNZWRpYVNlbGVjdGlvbkdyb3VwKiBzYWZlTWVkaWFTZWxlY3Rpb25H
cm91cEZvckF1ZGlibGVNZWRpYSgpOwogICAgIEFWTWVkaWFTZWxlY3Rpb25Hcm91cCogc2FmZU1l
ZGlhU2VsZWN0aW9uR3JvdXBGb3JWaXN1YWxNZWRpYSgpOwotI2VuZGlmCiAKICAgICBOU0FycmF5
KiBzYWZlQVZBc3NldFRyYWNrc0ZvckF1ZGlibGVNZWRpYSgpOwogCkBAIC0zNTgsNyArMzUxLDYg
QEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgUmV0YWluUHRyPEFWQXNzZXRJbWFnZUdlbmVyYXRv
cj4gbV9pbWFnZUdlbmVyYXRvcjsKLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQp
CiAgICAgUmV0YWluUHRyPEFWUGxheWVySXRlbVZpZGVvT3V0cHV0PiBtX3ZpZGVvT3V0cHV0Owog
ICAgIFJldGFpblB0cjxXZWJDb3JlQVZGUHVsbERlbGVnYXRlPiBtX3ZpZGVvT3V0cHV0RGVsZWdh
dGU7CiAgICAgUmV0YWluUHRyPENWUGl4ZWxCdWZmZXJSZWY+IG1fbGFzdFBpeGVsQnVmZmVyOwpA
QCAtMzY2LDcgKzM1OCw2IEBAIHByaXZhdGU6CiAgICAgQmluYXJ5U2VtYXBob3JlIG1fdmlkZW9P
dXRwdXRTZW1hcGhvcmU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlUm90YXRpb25TZXNzaW9u
VlQ+IG1faW1hZ2VSb3RhdGlvblNlc3Npb247CiAgICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvVGV4
dHVyZUNvcGllckNWPiBtX3ZpZGVvVGV4dHVyZUNvcGllcjsKLSNlbmRpZgogCiAjaWYgSEFWRShD
T1JFX1ZJREVPKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBt
X3BpeGVsQnVmZmVyQ29uZm9ybWVyOwpAQCAtMzgwLDE3ICszNzEsMTUgQEAgcHJpdmF0ZToKICAg
ICBIYXNoTWFwPFN0cmluZywgUmV0YWluUHRyPEFWQXNzZXRSZXNvdXJjZUxvYWRpbmdSZXF1ZXN0
Pj4gbV9zZXNzaW9uSURUb1JlcXVlc3RNYXA7CiAjZW5kaWYKIAotI2lmIEhBVkUoQVZGT1VOREFU
SU9OX01FRElBX1NFTEVDVElPTl9HUk9VUCkgJiYgSEFWRShBVkZPVU5EQVRJT05fTEVHSUJMRV9P
VVRQVVRfU1VQUE9SVCkKKyNpZiBIQVZFKEFWRk9VTkRBVElPTl9MRUdJQkxFX09VVFBVVF9TVVBQ
T1JUKQogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0PiBtX2xlZ2libGVP
dXRwdXQ7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBWZWN0b3I8UmVm
UHRyPEF1ZGlvVHJhY2tQcml2YXRlQVZGT2JqQz4+IG1fYXVkaW9UcmFja3M7CiAgICAgVmVjdG9y
PFJlZlB0cjxWaWRlb1RyYWNrUHJpdmF0ZUFWRk9iakM+PiBtX3ZpZGVvVHJhY2tzOwotI2lmIEhB
VkUoQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9HUk9VUCkKICAgICBSZWZQdHI8TWVkaWFT
ZWxlY3Rpb25Hcm91cEFWRk9iakM+IG1fYXVkaWJsZUdyb3VwOwogICAgIFJlZlB0cjxNZWRpYVNl
bGVjdGlvbkdyb3VwQVZGT2JqQz4gbV92aXN1YWxHcm91cDsKLSNlbmRpZgogI2VuZGlmCiAKICAg
ICBJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGKiBtX2N1cnJlbnRUZXh0VHJhY2s7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQy5tbQppbmRleCA2Mzg1ODBkY2M5MWE0MTUxYjY0NDk1MGFmYzExYmQyNWI5YjI0
ZjU2Li41MjU4ZWNjOGZlODM0NTY3MmJiZDA0MmUwNWYyMDMyOGRhZDYxMTdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW0KQEAgLTIwMSw3ICsyMDEsNiBAQCAtIChCT09MKXJlc291cmNlTG9hZGVy
OihBVkFzc2V0UmVzb3VyY2VMb2FkZXIgKilyZXNvdXJjZUxvYWRlciBzaG91bGRXYWl0Rm9yTG9h
ZAogQGVuZAogI2VuZGlmCiAKLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQpCiBA
aW50ZXJmYWNlIFdlYkNvcmVBVkZQdWxsRGVsZWdhdGUgOiBOU09iamVjdDxBVlBsYXllckl0ZW1P
dXRwdXRQdWxsRGVsZWdhdGU+IHsKICAgICBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM+IG1fcGxheWVyOwogfQpAQCAtMjA5LDcgKzIwOCw2IEBAIC0gKGlkKWluaXRX
aXRoUGxheWVyOihXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM+JiYp
cGxheWVyOwogLSAodm9pZClvdXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlOihBVlBsYXllckl0ZW1P
dXRwdXQgKilzZW5kZXI7CiAtICh2b2lkKW91dHB1dFNlcXVlbmNlV2FzRmx1c2hlZDooQVZQbGF5
ZXJJdGVtT3V0cHV0ICopb3V0cHV0OwogQGVuZAotI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIHN0YXRpYyBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoQVZQbGF5ZXJUaW1l
Q29udHJvbFN0YXR1cyBlbnVtZXJhdGlvblZhbHVlKQpAQCAtMjYxLDcgKzI1OSw2IEBAIHN0YXRp
YyBkaXNwYXRjaF9xdWV1ZV90IGdsb2JhbExvYWRlckRlbGVnYXRlUXVldWUoKQogfQogI2VuZGlm
CiAKLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQpCiBzdGF0aWMgZGlzcGF0Y2hf
cXVldWVfdCBnbG9iYWxQdWxsRGVsZWdhdGVRdWV1ZSgpCiB7CiAgICAgc3RhdGljIGRpc3BhdGNo
X3F1ZXVlX3QgZ2xvYmFsUXVldWU7CkBAIC0yNzEsNyArMjY4LDYgQEAgc3RhdGljIGRpc3BhdGNo
X3F1ZXVlX3QgZ2xvYmFsUHVsbERlbGVnYXRlUXVldWUoKQogICAgIH0pOwogICAgIHJldHVybiBn
bG9iYWxRdWV1ZTsKIH0KLSNlbmRpZgogCiBjbGFzcyBNZWRpYVBsYXllckZhY3RvcnlBVkZvdW5k
YXRpb25PYmpDIGZpbmFsIDogcHVibGljIE1lZGlhUGxheWVyRmFjdG9yeSB7CiBwcml2YXRlOgpA
QCAtNDEzLDkgKzQwOSw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMoTWVkaWFQbGF5CiAgICAgLCBtX29iamNP
YnNlcnZlcihhZG9wdE5TKFtbV2ViQ29yZUFWRk1vdmllT2JzZXJ2ZXIgYWxsb2NdIGluaXRXaXRo
UGxheWVyOm1ha2VXZWFrUHRyKCp0aGlzKV0pKQogICAgICwgbV92aWRlb0ZyYW1lSGFzRHJhd24o
ZmFsc2UpCiAgICAgLCBtX2hhdmVDaGVja2VkUGxheWFiaWxpdHkoZmFsc2UpCi0jaWYgSEFWRShB
VkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAgICwgbV92aWRlb091dHB1dERlbGVnYXRlKGFk
b3B0TlMoW1tXZWJDb3JlQVZGUHVsbERlbGVnYXRlIGFsbG9jXSBpbml0V2l0aFBsYXllcjptYWtl
V2Vha1B0cigqdGhpcyldKSkKLSNlbmRpZgogI2lmIEhBVkUoQVZGT1VOREFUSU9OX0xPQURFUl9E
RUxFR0FURSkKICAgICAsIG1fbG9hZGVyRGVsZWdhdGUoYWRvcHROUyhbW1dlYkNvcmVBVkZMb2Fk
ZXJEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhQbGF5ZXI6bWFrZVdlYWtQdHIoKnRoaXMpXSkpCiAj
ZW5kaWYKQEAgLTQ0Niw5ICs0NDAsNyBAQCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjp+TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQygpCiAgICAgZm9yIChhdXRv
JiBwYWlyIDogbV9yZXNvdXJjZUxvYWRlck1hcCkKICAgICAgICAgcGFpci52YWx1ZS0+aW52YWxp
ZGF0ZSgpOwogI2VuZGlmCi0jaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAg
IFttX3ZpZGVvT3V0cHV0IHNldERlbGVnYXRlOm5pbCBxdWV1ZTowXTsKLSNlbmRpZgogCiAgICAg
aWYgKG1fdmlkZW9MYXllcikKICAgICAgICAgZGVzdHJveVZpZGVvTGF5ZXIoKTsKQEAgLTU0NSwy
MCArNTM3LDEyIEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aGFz
TGF5ZXJSZW5kZXJlcigpIGNvbnN0CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6aGFzQ29udGV4dFJlbmRlcmVyKCkgY29uc3QKIHsKLSNpZiBIQVZFKEFWRk9VTkRB
VElPTl9WSURFT19PVVRQVVQpCi0gICAgaWYgKG1fdmlkZW9PdXRwdXQpCi0gICAgICAgIHJldHVy
biB0cnVlOwotI2VuZGlmCi0gICAgcmV0dXJuIG1faW1hZ2VHZW5lcmF0b3I7CisgICAgcmV0dXJu
IG1fdmlkZW9PdXRwdXQgfHwgbV9pbWFnZUdlbmVyYXRvcjsKIH0KIAogdm9pZCBNZWRpYVBsYXll
clByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVDb250ZXh0VmlkZW9SZW5kZXJlcigpCiB7
Ci0jaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAgIGNyZWF0ZVZpZGVvT3V0
cHV0KCk7Ci0jZWxzZQotICAgIGNyZWF0ZUltYWdlR2VuZXJhdG9yKCk7Ci0jZW5kaWYKIH0KIAog
dm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVJbWFnZUdlbmVy
YXRvcigpCkBAIC01NzksOSArNTYzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25PYmpDOjpjcmVhdGVJbWFnZUdlbmVyYXRvcigpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6ZGVzdHJveUNvbnRleHRWaWRlb1JlbmRlcmVyKCkKIHsKLSNp
ZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQpCiAgICAgZGVzdHJveVZpZGVvT3V0cHV0
KCk7Ci0jZW5kaWYKICAgICBkZXN0cm95SW1hZ2VHZW5lcmF0b3IoKTsKIH0KIApAQCAtNjExLDcg
KzU5Myw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRl
VmlkZW9MYXllcigpCiAgICAgICAgIGlmICghbV92aWRlb0xheWVyKQogICAgICAgICAgICAgY3Jl
YXRlQVZQbGF5ZXJMYXllcigpOwogCi0jaWYgVVNFKFZJREVPVE9PTEJPWCkgJiYgSEFWRShBVkZP
VU5EQVRJT05fVklERU9fT1VUUFVUKQorI2lmIFVTRShWSURFT1RPT0xCT1gpKQogICAgICAgICBp
ZiAoIW1fdmlkZW9PdXRwdXQpCiAgICAgICAgICAgICBjcmVhdGVWaWRlb091dHB1dCgpOwogI2Vu
ZGlmCkBAIC02NzksMTAgKzY2MSw4IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6aGFzQXZhaWxhYmxlVmlkZW9GcmFtZSgpIGNvbnN0CiAgICAgaWYgKGN1cnJlbnRS
ZW5kZXJpbmdNb2RlKCkgPT0gTWVkaWFSZW5kZXJpbmdUb0xheWVyKQogICAgICAgICByZXR1cm4g
bV9jYWNoZWRJc1JlYWR5Rm9yRGlzcGxheTsKIAotI2lmIEhBVkUoQVZGT1VOREFUSU9OX1ZJREVP
X09VVFBVVCkKICAgICBpZiAobV92aWRlb091dHB1dCAmJiAobV9sYXN0UGl4ZWxCdWZmZXIgfHwg
W21fdmlkZW9PdXRwdXQgaGFzTmV3UGl4ZWxCdWZmZXJGb3JJdGVtVGltZTpbbV9hdlBsYXllckl0
ZW0gY3VycmVudFRpbWVdXSkpCiAgICAgICAgIHJldHVybiB0cnVlOwotI2VuZGlmCiAKICAgICBy
ZXR1cm4gbV92aWRlb0ZyYW1lSGFzRHJhd247CiB9CkBAIC0xMDEyLDkgKzk5Miw3IEBAIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlQVZQbGF5ZXJJdGVtKCkK
ICAgICB9CiAjZW5kaWYKIAotI2lmIEhBVkUoQVZGT1VOREFUSU9OX1ZJREVPX09VVFBVVCkKICAg
ICBjcmVhdGVWaWRlb091dHB1dCgpOwotI2VuZGlmCiAKICAgICBtX21ldGFkYXRhQ29sbGVjdG9y
ID0gYWRvcHROUyhbUEFMOjphbGxvY0FWUGxheWVySXRlbU1ldGFkYXRhQ29sbGVjdG9ySW5zdGFu
Y2UoKSBpbml0V2l0aElkZW50aWZpZXJzOm5pbCBjbGFzc2lmeWluZ0xhYmVsczpuaWxdKTsKICAg
ICBbbV9tZXRhZGF0YUNvbGxlY3Rvci5nZXQoKSBzZXREZWxlZ2F0ZTptX29iamNPYnNlcnZlci5n
ZXQoKSBxdWV1ZTpkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpXTsKQEAgLTExMDAsMjAgKzEwNzgs
MTQgQEAgUGxhdGZvcm1MYXllciogTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
cGxhdGZvcm1MYXllcigpIGNvbnN0CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uT2JqQzo6dXBkYXRlVmlkZW9GdWxsc2NyZWVuSW5saW5lSW1hZ2UoKQogewotI2lmIEhBVkUo
QVZGT1VOREFUSU9OX1ZJREVPX09VVFBVVCkKICAgICB1cGRhdGVMYXN0SW1hZ2UoVXBkYXRlVHlw
ZTo6VXBkYXRlU3luY2hyb25vdXNseSk7CiAgICAgbV92aWRlb0Z1bGxzY3JlZW5MYXllck1hbmFn
ZXItPnVwZGF0ZVZpZGVvRnVsbHNjcmVlbklubGluZUltYWdlKG1fbGFzdEltYWdlKTsKLSNlbmRp
ZgogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnNldFZpZGVv
RnVsbHNjcmVlbkxheWVyKFBsYXRmb3JtTGF5ZXIqIHZpZGVvRnVsbHNjcmVlbkxheWVyLCBGdW5j
dGlvbjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0jaWYgSEFWRShBVkZPVU5EQVRJ
T05fVklERU9fT1VUUFVUKQogICAgIHVwZGF0ZUxhc3RJbWFnZShVcGRhdGVUeXBlOjpVcGRhdGVT
eW5jaHJvbm91c2x5KTsKICAgICBtX3ZpZGVvRnVsbHNjcmVlbkxheWVyTWFuYWdlci0+c2V0Vmlk
ZW9GdWxsc2NyZWVuTGF5ZXIodmlkZW9GdWxsc2NyZWVuTGF5ZXIsIFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpLCBtX2xhc3RJbWFnZSk7Ci0jZWxzZQotICAgIG1fdmlkZW9GdWxsc2NyZWVuTGF5
ZXJNYW5hZ2VyLT5zZXRWaWRlb0Z1bGxzY3JlZW5MYXllcih2aWRlb0Z1bGxzY3JlZW5MYXllciwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG5pbCk7Ci0jZW5kaWYKICAgICB1cGRhdGVEaXNh
YmxlRXh0ZXJuYWxQbGF5YmFjaygpOwogfQogCkBAIC0xNTM4LDExICsxNTEwLDkgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29u
dGV4dChHcmFwaGljc0NvbnQKICAgICBzZXREZWxheUNhbGxiYWNrcyh0cnVlKTsKICAgICBCRUdJ
Tl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19P
VVRQVVQpCiAgICAgaWYgKHZpZGVvT3V0cHV0SGFzQXZhaWxhYmxlRnJhbWUoKSkKICAgICAgICAg
cGFpbnRXaXRoVmlkZW9PdXRwdXQoY29udGV4dCwgcmVjdCk7CiAgICAgZWxzZQotI2VuZGlmCiAg
ICAgICAgIHBhaW50V2l0aEltYWdlR2VuZXJhdG9yKGNvbnRleHQsIHJlY3QpOwogCiAgICAgRU5E
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKQEAgLTIxNjQsOSArMjEzNCw2IEBAIE9wdGlvbmFsPGJv
b2w+IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OndvdWxkVGFpbnRPcmlnaW4o
Y29uc3QgU2VjdXJpCiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotCi0jaWYgSEFWRShB
VkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQotCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakM6OmNyZWF0ZVZpZGVvT3V0cHV0KCkKIHsKICAgICBJTkZPX0xPRyhMT0dJREVO
VElGSUVSKTsKQEAgLTIzMzMsOCArMjMwMCw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uT2JqQzo6b3V0cHV0TWVkaWFEYXRhV2lsbENoYW5nZShBVlBsYXllckl0ZW1WCiAg
ICAgbV92aWRlb091dHB1dFNlbWFwaG9yZS5zaWduYWwoKTsKIH0KIAotI2VuZGlmCi0KICNpZiBF
TkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKIAogUmV0YWluUHRyPEFWQXNzZXRSZXNvdXJj
ZUxvYWRpbmdSZXF1ZXN0PiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp0YWtl
UmVxdWVzdEZvcktleVVSSShjb25zdCBTdHJpbmcmIGtleVVSSSkKQEAgLTM2MDMsOCArMzU2OCw2
IEBAIEBlbmQKIAogI2VuZGlmIC8vIEhBVkUoQVZGT1VOREFUSU9OX0xPQURFUl9ERUxFR0FURSkK
IAotI2lmIEhBVkUoQVZGT1VOREFUSU9OX1ZJREVPX09VVFBVVCkKLQogQGltcGxlbWVudGF0aW9u
IFdlYkNvcmVBVkZQdWxsRGVsZWdhdGUKIAogLSAoaWQpaW5pdFdpdGhQbGF5ZXI6KFdlYWtQdHI8
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQz4mJilwbGF5ZXIKQEAgLTM2MjksNiAr
MzU5Miw0IEBAIC0gKHZvaWQpb3V0cHV0U2VxdWVuY2VXYXNGbHVzaGVkOihBVlBsYXllckl0ZW1W
aWRlb091dHB1dCAqKW91dHB1dAogCiBAZW5kCiAKLSNlbmRpZiAvLyBIQVZFKEFWRk9VTkRBVElP
Tl9WSURFT19PVVRQVVQpCi0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVy
Lm1tCmluZGV4IDllYmEwMzkyYWY2ZmExMGRmMjY2ZTAzODJkZDI3NjEyMzk1MmZhMWYuLmY5M2Rj
NGYzYjdjOTUzMGU4MTFkYzQyOTgwNTllNzIxYzQwN2ZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9u
Vmlld0NvbnRyb2xsZXIubW0KQEAgLTQ5LDExICs0OSw3IEBAIC0gKGluc3RhbmNldHlwZSlpbml0
V2l0aFJlcXVlc3Q6KFBLUGF5bWVudFJlcXVlc3QgKilyZXF1ZXN0IHByZXNlbnRlcjooV2ViS2l0
OjpQCiAKIC0gKHZvaWQpX2dldFBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMOih2b2lkKF4pKE5T
VVJMICosIE5TRXJyb3IgKikpY29tcGxldGlvbgogewotI2lmIEhBVkUoUEFTU0tJVF9BUElfVFlQ
RSkKICAgICBbUEFMOjpnZXRQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJDbGFz
cygpIHBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMRm9yQVBJVHlwZTpbX3JlcXVlc3QgQVBJVHlw
ZV0gY29tcGxldGlvbjpjb21wbGV0aW9uXTsKLSNlbHNlCi0gICAgW1BBTDo6Z2V0UEtQYXltZW50
QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSBwYXltZW50U2VydmljZXNNZXJjaGFu
dFVSTDpjb21wbGV0aW9uXTsKLSNlbmRpZgogfQogCiAjcHJhZ21hIG1hcmsgUEtQYXltZW50QXV0
aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eUNvY29hLm1tCmluZGV4IDU5MTU2OTgzODZkOTllM2JjM2Y3N2U4MDhkZWU2Mzg4
ZGZhODRhOWEuLmYyMzM4YjhjYzAxNzVjMmQwNmU2N2M5OGMzNTQ0NTg3NmI0NDQ5OGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
Y29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQpAQCAtMTc3LDcgKzE3Nyw2
IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNTZXQ+IHRvTlNTZXQoY29uc3QgVmVjdG9yPFN0cmluZz4m
IHN0cmluZ3MpCiAgICAgcmV0dXJuIFdURk1vdmUobXV0YWJsZVNldCk7CiB9CiAKLSNpZiBIQVZF
KFBBU1NLSVRfQVBJX1RZUEUpCiBzdGF0aWMgUEtQYXltZW50UmVxdWVzdEFQSVR5cGUgdG9BUElU
eXBlKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpSZXF1ZXN0ZXIgcmVx
dWVzdGVyKQogewogICAgIHN3aXRjaCAocmVxdWVzdGVyKSB7CkBAIC0xODcsNyArMTg2LDYgQEAg
c3RhdGljIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlIHRvQVBJVHlwZShXZWJDb3JlOjpBcHBsZVBh
eVNlc3Npb25QYXltZW50UmVxdWVzdDoKICAgICAgICAgcmV0dXJuIFBLUGF5bWVudFJlcXVlc3RB
UElUeXBlV2ViUGF5bWVudFJlcXVlc3Q7CiAgICAgfQogfQotI2VuZGlmCiAKIFJldGFpblB0cjxQ
S1BheW1lbnRSZXF1ZXN0PiBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1QYXlt
ZW50UmVxdWVzdChjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMLCBjb25zdCBWZWN0b3I8VVJMPiYg
bGlua0ljb25VUkxzLCBjb25zdCBXZWJDb3JlOjpBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVz
dCYgcGF5bWVudFJlcXVlc3QpCiB7CkBAIC0yMDUsOSArMjAzLDcgQEAgUmV0YWluUHRyPFBLUGF5
bWVudFJlcXVlc3Q+IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVBheW1lbnRS
ZXF1ZXN0KGMKICAgICB9IGVsc2UgaWYgKCFsaW5rSWNvblVSTHMuaXNFbXB0eSgpKQogICAgICAg
ICBbcmVzdWx0IHNldFRodW1ibmFpbFVSTDpsaW5rSWNvblVSTHNbMF1dOwogCi0jaWYgSEFWRShQ
QVNTS0lUX0FQSV9UWVBFKQogICAgIFtyZXN1bHQgc2V0QVBJVHlwZTp0b0FQSVR5cGUocGF5bWVu
dFJlcXVlc3QucmVxdWVzdGVyKCkpXTsKLSNlbmRpZgogCiAgICAgW3Jlc3VsdCBzZXRDb3VudHJ5
Q29kZTpwYXltZW50UmVxdWVzdC5jb3VudHJ5Q29kZSgpXTsKICAgICBbcmVzdWx0IHNldEN1cnJl
bmN5Q29kZTpwYXltZW50UmVxdWVzdC5jdXJyZW5jeUNvZGUoKV07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388518</attachid>
            <date>2020-01-22 21:49:53 -0800</date>
            <delta_ts>2020-01-23 18:31:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206642-20200122214950.patch</filename>
            <type>text/plain</type>
            <size>24702</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDk3MDRjNGE3YThkMWU2NTQ3Njg5ZjEz
OGNhZGRiOTI2MjQ1MjA1ZmIuLjhmMTUyODQ0MjUwZWU5ZTc0YjFiNzFkYjk4MmE4YTVlM2Y4MGE2
NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDEtMjIgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21lIHVubmVlZGVkIGRlZmluaXRpb25zIGZy
b20gUGxhdGZvcm0uaCBmYW1pbHkgaGVhZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgUmVt
b3ZlZCBFTkFCTEVfUkVTUEVDVF9FWElGX09SSUVOVEFUSU9OIGJlY2F1c2UgaXQgd2FzIHVudXNl
ZC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKyAgICAgICAgUmVtb3ZlZCBIQVZF
X1BBU1NLSVRfQVBJX1RZUEUgYmVjYXVzZSBpdCBpcyBub3cgdW51c2VkLgorICAgICAgICBSZW1v
dmVkIEhBVkVfTUVSR0VTT1JUIGJlY2F1c2UgaXQgd2FzIHVudXNlZC4KKyAgICAgICAgUmVtb3Zl
ZCBIQVZFX0FWRk9VTkRBVElPTl9WSURFT19PVVRQVVQgYmVjYXVzZSBpdCBpcyBub3cgdW51c2Vk
LgorICAgICAgICBSZW1vdmVkIEhBVkVfQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9HUk9V
UCBiZWNhdXNlIGl0IGlzIG5vdyB1bnVzZWQuCisgICAgICAgIFJlbW92ZWQgSEFWRV9DRk5FVFdP
UktfV0lUSF9DT05URU5UX0VOQ09ESU5HX1NOSUZGSU5HX09WRVJSSURFIGJlY2F1c2UgaXQgd2Fz
IHVudXNlZC4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9ybVVzZS5oOgorICAgICAgICBSZW1vdmVk
IFVTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiBiZWNhdXNlIGl0IHdhcyB1bnVzZWQu
CisgICAgICAgIFJlbW92ZWQgVVNFX05FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIGJlY2F1
c2UgaXQgaXMgbm93IHVudXNlZC4KKwogMjAyMC0wMS0yMiAgRXJpYyBDYXJsc29uICA8ZXJpYy5j
YXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICB1bmlxdWVMb2dJZGVudGlmaWVyKCkgc2hvdWxk
IGdlbmVyYXRlIGEgdW5pcXVlIGlkZW50aWZpZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTcyMTBkZDllZDU0
ZjZlYjBlZTZkYjhiMGQ5NmUzZTI2NjU0NDY0Yi4uZWRmMDBmN2IwNzdmZmM1YTQ1ZDkxZWNjNmQy
MGNhZGNmMWZmY2IyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTAxLTIyICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgc29tZSB1bm5l
ZWRlZCBkZWZpbml0aW9ucyBmcm9tIFBsYXRmb3JtLmggZmFtaWx5IGhlYWRlcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjY0MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRk9iakMuaDogUmVt
b3ZlZAorICAgICAgICBjaGVja3Mgb2YgSEFWRShBVkZPVU5EQVRJT05fTUVESUFfU0VMRUNUSU9O
X0dST1VQKSBhbmQKKyAgICAgICAgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKSBiZWNh
dXNlIGJvdGggYXJlIGFsd2F5cyAxIG9uIENvY29hIHBsYXRmb3JtcywKKyAgICAgICAgYW5kIHRo
aXMgaXMgQ29jb2Etb25seSBzb3VyY2UgY29kZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZGT2JqQy5tbTogRGl0
dG8uCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDLm1tOiBEaXR0by4KKwogMjAyMC0wMS0yMiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gVXNlICJpbmxpbmUgYm94IiBvciAiYXRvbWlj
IGlubGluZSBsZXZlbCBib3giIGluc3RlYWQgb2YgaW5saW5lIGNvbnRhaW5lcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKaW5kZXggODQwZjUxNjE4NTBlMTk2Y2YxYTBiMjgxNDE1NGVhNDg5ZDRhMTBlZS4uYjA0
NjRjOTA3NGNmZGRmMzM5NTYwZjliMjlkOTRlYjIxOTM0YWYzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDEtMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJlbW92ZSBzb21lIHVubmVlZGVkIGRlZmluaXRpb25zIGZyb20gUGxh
dGZvcm0uaCBmYW1pbHkgaGVhZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjA2NjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oOiBSZW1vdmUKKyAgICAg
ICAgSEFWRShDRk5FVFdPUktfV0lUSF9DT05URU5UX0VOQ09ESU5HX1NOSUZGSU5HX09WRVJSSURF
KSBiZWNhdXNlIGl0IHdhcworICAgICAgICBhbHdheXMgMSBvbiBDb2NvYSBwbGF0Zm9ybXMsIGFu
ZCB3YXMgZ3VhcmRpbmcgYSBkZWZpbml0aW9uIHRoYXQgd2UKKyAgICAgICAgdXNlIHVuY29uZGl0
aW9uYWxseSBpbiBPYmplY3RpdmUtQyBDb2NvYS1vbmx5IGNvZGUsIGFuZCB0aGVyZSBpcyBubwor
ICAgICAgICBoYXJtIG9mIGRlZmluaW5nIGl0IG9uIFdpbmRvd3MgYXMgbG9uZyBhcyB3ZSBkb24n
dCB1c2UgaXQuCisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaDogUmVtb3Zl
IEhBVkUoUEFTU0tJVF9BUElfVFlQRSkgYmVjYXVzZQorICAgICAgICBpdCB3YXMgYWx3YXlzIDEg
b24gQ29jb2EgcGxhdGZvcm1zIGFuZCB0aGlzIGlzIGEgQ29jb2Etb25seSBoZWFkZXIuCisKIDIw
MjAtMDEtMjEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBBZGQgbWlzc2luZyBOU19OT0VTQ0FQRSB0byBDRk5ldHdvcmsgU1BJCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDRmMGQyZTEyN2Q2NmIwZGUzOWRjOTFiN2RmYjI4YWMyOWI5ZWJjOTcuLjZiN2ZmZDU0MzM1
MmY1NDA5NDYyN2Q0M2ZiYjIyNDI5ZGRiNDVjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMjAtMDEtMjIgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJl
bW92ZSBzb21lIHVubmVlZGVkIGRlZmluaXRpb25zIGZyb20gUGxhdGZvcm0uaCBmYW1pbHkgaGVh
ZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2
NjQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tOgorICAg
ICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBfZ2V0
UGF5bWVudFNlcnZpY2VzTWVyY2hhbnRVUkw6XSk6CisgICAgICAgIFJlbW92ZWQgSEFWRShQQVNT
S0lUX0FQSV9UWVBFKSBiZWNhdXNlIGl0J3MgYWx3YXlzIDEgb24gQ29jb2EgcGxhdGZvcm1zIGFu
ZCB0aGlzCisgICAgICAgIGlzIENvY29hLW9ubHkgY29kZS4KKyAgICAgICAgKiBTaGFyZWQvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6dG9BUElUeXBlKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRD
b29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KTogRGl0dG8uCisKIDIwMjAt
MDEtMjIgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBT
REsgYXZhaWxhYmlsaXR5IG1hY3JvcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZv
cm1FbmFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgKaW5kZXggYjBlMmMx
MTM2ZWZlNWFmMzY1YTBjMjUzMzdlZWJiMjBkNDFiNDI4OS4uNDFmMjhjMzI4YWJjZDMxNTE5ZGFi
ZWYzMTQ5ZDE1YjJhNzk1ZTUxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCkBAIC0xNzAsMTAg
KzE3MCw2IEBACiAjZGVmaW5lIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SIDEKICNlbmRpZgogCi0j
aWYgIWRlZmluZWQoRU5BQkxFX1JFU1BFQ1RfRVhJRl9PUklFTlRBVElPTikKLSNkZWZpbmUgRU5B
QkxFX1JFU1BFQ1RfRVhJRl9PUklFTlRBVElPTiAxCi0jZW5kaWYKLQogI2lmICFkZWZpbmVkKEVO
QUJMRV9URVhUX0NBUkVUKQogI2RlZmluZSBFTkFCTEVfVEVYVF9DQVJFVCAwCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oIGIvU291cmNlL1dURi93dGYv
UGxhdGZvcm1IYXZlLmgKaW5kZXggMzNmODg4NDJjZDcyOGYwY2ZhY2JlMTZmYmI0MjE2ZTU1ODU5
ZDcwOS4uYzczMDI2NTkxYTg4NzQxZDM5YzlkZjYxYjMyZWJhODI4MzNmZmNkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm1IYXZlLmgKQEAgLTk3LDEwICs5Nyw2IEBACiAjZGVmaW5lIEhBVkVfQVZTVFJFQU1TRVNT
SU9OIDEKICNlbmRpZgogCi0jaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0FQSV9UWVBFKSAmJiAo
UExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgUExBVEZPUk0oTUFDKSkKLSNkZWZpbmUgSEFWRV9QQVNT
S0lUX0FQSV9UWVBFIDEKLSNlbmRpZgotCiAjaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0JPVU5E
X0lOVEVSRkFDRV9JREVOVElGSUVSKSAmJiAoUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkpCiAjZGVmaW5l
IEhBVkVfUEFTU0tJVF9CT1VORF9JTlRFUkZBQ0VfSURFTlRJRklFUiAxCiAjZW5kaWYKQEAgLTIw
MiwxMCArMTk4LDYgQEAKICNkZWZpbmUgSEFWRV9NQURWX0RPTlRORUVEIDEKICNlbmRpZgogCi0j
aWYgT1MoREFSV0lOKQotI2RlZmluZSBIQVZFX01FUkdFU09SVCAxCi0jZW5kaWYKLQogI2lmIE9T
KERBUldJTikKICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQogI2VuZGlmCkBAIC0y
ODMsMTAgKzI3NSw2IEBACiAjZGVmaW5lIEhBVkVfQVZLSVQgMQogI2VuZGlmCiAKLSNpZiBQTEFU
Rk9STShDT0NPQSkKLSNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05fVklERU9fT1VUUFVUIDEKLSNl
bmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIEhBVkVfQ09SRV9WSURFTyAxCiAj
ZW5kaWYKQEAgLTI5NSwxMCArMjgzLDYgQEAKICNkZWZpbmUgSEFWRV9NRURJQV9QTEFZRVIgMQog
I2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgSEFWRV9BVkZPVU5EQVRJT05f
TUVESUFfU0VMRUNUSU9OX0dST1VQIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAj
ZGVmaW5lIEhBVkVfQVZGT1VOREFUSU9OX0xFR0lCTEVfT1VUUFVUX1NVUFBPUlQgMQogI2VuZGlm
CkBAIC0zODksMTAgKzM3Myw2IEBACiAjZGVmaW5lIEhBVkVfTlNIVFRQQ09PS0lFU1RPUkFHRV9f
SU5JVFdJVEhJREVOVElGSUVSX1dJVEhfSU5BQ0NVUkFURV9OVUxMQUJJTElUWSAxCiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKENPQ09BKQotI2RlZmluZSBIQVZFX0NGTkVUV09SS19XSVRIX0NPTlRF
TlRfRU5DT0RJTkdfU05JRkZJTkdfT1ZFUlJJREUgMQotI2VuZGlmCi0KICNpZiAoUExBVEZPUk0o
TUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBM
QVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEzMDAwMCkgfHwgUExBVEZPUk0oR1RLKQogI2RlZmluZSBIQVZFX09TX0RBUktfTU9ERV9TVVBQ
T1JUIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaCBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggOGUwZjdlOWU0YzMxY2Q5YThhMzQ3
MzkxZDYzMDUyOGM1OThmYTE5Ni4uNTg5MTI0YzkyZDFhZjAzYzc4NTdiMjcwODZmNzkyMTU1NWZk
YjNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCkBAIC00MiwyMSArNDIsNiBAQAogI2VuZGlmCiAjZW5k
aWYKIAotLyogTUlQUyByZXF1aXJlcyBhbGxvY2F0b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSAq
LwotI2lmIENQVShNSVBTKSB8fCBDUFUoTUlQUzY0KQotI2RlZmluZSBVU0VfQVJFTkFfQUxMT0Nf
QUxJR05NRU5UX0lOVEVHRVIgMQotI2VuZGlmCi0KLS8qQVJNdjVURSByZXF1aXJlcyBhbGxvY2F0
b3JzIHRvIHVzZSBhbGlnbmVkIG1lbW9yeSovCi0jaWYgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18p
IHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVfXykgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpf
XykKLSNkZWZpbmUgVVNFX0FSRU5BX0FMTE9DX0FMSUdOTUVOVF9JTlRFR0VSIDEKLSNlbmRpZgot
Ci0vKkFSTXY1VEUgcmVxdWlyZXMgYWxsb2NhdG9ycyB0byB1c2UgYWxpZ25lZCBtZW1vcnkqLwot
I2lmIGRlZmluZWQoX19UQVJHRVRfQVJDSF81RSkgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVU
RSkgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVURUopCi0jZGVmaW5lIFVTRV9BUkVOQV9BTExP
Q19BTElHTk1FTlRfSU5URUdFUiAxCi0jZW5kaWYKLQogLyogRXhwb3J0IG1hY3JvIHN1cHBvcnQu
IERldGVjdHMgdGhlIGF0dHJpYnV0ZXMgYXZhaWxhYmxlIGZvciBzaGFyZWQgbGlicmFyeSBzeW1i
b2wgZXhwb3J0CiAgICBkZWNvcmF0aW9ucy4gKi8KICNpZiBPUyhXSU5ET1dTKSB8fCAoQ09NUElM
RVJfSEFTX0NMQU5HX0RFQ0xTUEVDKGRsbGltcG9ydCkgJiYgQ09NUElMRVJfSEFTX0NMQU5HX0RF
Q0xTUEVDKGRsbGV4cG9ydCkpCkBAIC0xMTAsMTAgKzk1LDYgQEAKICNkZWZpbmUgVVNFX0ZPVU5E
QVRJT04gMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNkZWZpbmUgVVNFX05FVFdP
UktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLIDEKLSNlbmRpZgotCiAjaWYgUExBVEZPUk0oTUFDKQog
I2RlZmluZSBVU0VfQVBQS0lUIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jZi9DRk5ldHdvcmtTUEkuaAppbmRleCBlODI3NjA2YzE5MTIzYTY1ZjMyNTRkYjcwYTFlODFl
YmI4ZGU3MWRlLi4wODY0Mjg5MjAwYTc1MWY4NzE2ZmUwN2I5MDIyNDMzYWI1MGQxNTkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaApAQCAtMjgyLDEw
ICsyODIsNyBAQCBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYgX2tDRlVSTENhY2hlUGFydGl0aW9u
S2V5OwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIF9rQ0ZVUkxDb25uZWN0aW9uUHJvcGVydHlT
aG91bGRTbmlmZjsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBfa0NGVVJMU3RvcmFnZVNlc3Np
b25Jc1ByaXZhdGU7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NGU3RyZWFtU29ja2V0U2Vj
dXJpdHlMZXZlbFRMU3YxXzI7Ci0KLSNpZiBIQVZFKENGTkVUV09SS19XSVRIX0NPTlRFTlRfRU5D
T0RJTkdfU05JRkZJTkdfT1ZFUlJJREUpCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NGVVJM
UmVxdWVzdENvbnRlbnREZWNvZGVyU2tpcFVSTENoZWNrOwotI2VuZGlmCiAKIENGSFRUUENvb2tp
ZVN0b3JhZ2VSZWYgX0NGSFRUUENvb2tpZVN0b3JhZ2VHZXREZWZhdWx0KENGQWxsb2NhdG9yUmVm
KTsKIENGSFRUUENvb2tpZVN0b3JhZ2VSZWYgQ0ZIVFRQQ29va2llU3RvcmFnZUNyZWF0ZUZyb21G
aWxlKENGQWxsb2NhdG9yUmVmLCBDRlVSTFJlZiwgQ0ZIVFRQQ29va2llU3RvcmFnZVJlZik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKaW5kZXggM2Y4
ODU4N2ZlZDIzMDBiMmM3ZThlMDNmMjY3NGM5OWNiNTM0YTRhMi4uY2UyNTViMjA4MzY1NTI0NmJk
ZGEyMGNlMjNhNzExZTIyZDg5YWY4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtNTgsMTMgKzU4LDExIEBAIFdURl9FWFRFUk5fQ19FTkQK
IAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAKLSNpZiBIQVZFKFBBU1NLSVRf
QVBJX1RZUEUpCiB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgUEtQYXltZW50UmVxdWVzdEFQ
SVR5cGUpIHsKICAgICBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZUluQXBwID0gMCwKICAgICBQS1Bh
eW1lbnRSZXF1ZXN0QVBJVHlwZVdlYkpTLAogICAgIFBLUGF5bWVudFJlcXVlc3RBUElUeXBlV2Vi
UGF5bWVudFJlcXVlc3QsCiB9OwotI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
CkBAIC0yODAsOSArMjc4LDcgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIAogQGludGVyZmFj
ZSBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIgKCkKICsgKHZvaWQpcGF5bWVu
dFNlcnZpY2VzTWVyY2hhbnRVUkw6KHZvaWQoXikoTlNVUkwgKm1lcmNoYW50VVJMLCBOU0Vycm9y
ICplcnJvcikpY29tcGxldGlvbjsKLSNpZiBIQVZFKFBBU1NLSVRfQVBJX1RZUEUpCiArICh2b2lk
KXBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMRm9yQVBJVHlwZTooUEtQYXltZW50UmVxdWVzdEFQ
SVR5cGUpQVBJVHlwZSBjb21wbGV0aW9uOih2b2lkKF4pKE5TVVJMICptZXJjaGFudFVSTCwgTlNF
cnJvciAqZXJyb3IpKWNvbXBsZXRpb247Ci0jZW5kaWYKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24sIG51bGxhYmxlKSBpZDxQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJQ
cml2YXRlRGVsZWdhdGU+IHByaXZhdGVEZWxlZ2F0ZTsKIEBlbmQKIApAQCAtMzAyLDExICsyOTgs
OSBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9u
ZykgTlNTdHJpbmcgKkNURGF0YUNvbm5lY3Rpb25TZXJ2aWNlVHlwZTsKIEBlbmQKIAotI2lmIEhB
VkUoUEFTU0tJVF9BUElfVFlQRSkKIEBpbnRlcmZhY2UgUEtQYXltZW50UmVxdWVzdCAoKQogQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtQYXltZW50UmVxdWVzdEFQSVR5cGUgQVBJVHlw
ZTsKIEBlbmQKLSNlbmRpZgogCiAjaWYgSEFWRShQQVNTS0lUX0JPVU5EX0lOVEVSRkFDRV9JREVO
VElGSUVSKQogQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0ICgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbmJhbmRUZXh0
VHJhY2tQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRk9iakMuaAppbmRleCAz
ZmQwZmY5M2JhM2E2OWY3MjZiOTE1MjA4ZGY0M2UwMmVmNWM5ZWQyLi43NzQ4M2I2NTlmZTA5Mjgy
ZDFlMDBlYjBmODFjOTIzYjc0OWU5M2RmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
T2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLmgKQEAgLTIzLDEwICsyMyw5IEBA
CiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKICAqLwogCi0jaWZuZGVmIEluYmFuZFRleHRUcmFja1ByaXZhdGVB
VkZPYmpDX2gKLSNkZWZpbmUgSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUFWRk9iakNfaAorI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoVklERU8pICYmIFVTRShBVkZPVU5EQVRJT04pICYmIEhBVkUo
QVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9HUk9VUCkKKyNpZiBFTkFCTEUoVklERU8pICYm
IFVTRShBVkZPVU5EQVRJT04pCiAKICNpbmNsdWRlICJJbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
LmgiCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpAQCAtNzAsNCArNjksMyBAQCBwcm90ZWN0
ZWQ6CiB9CiAKICNlbmRpZgotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9JbmJhbmRUZXh0VHJhY2tQcml2YXRlQVZG
T2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLm1tCmluZGV4IDNhODMyNWI0N2Q4Zjdl
MjEyNDQxOTNhOWY0ZjBmNGIzMGZlN2EwMTcuLmRmNTM1MzdkYWI3ZDM2ZjRlM2Y0YzViNmQ5YjNi
MDM2ZTQzYzVlNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL0luYmFuZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0luYmFu
ZFRleHRUcmFja1ByaXZhdGVBVkZPYmpDLm1tCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpbXBvcnQg
ImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoQVZGT1VOREFUSU9OKSAmJiBI
QVZFKEFWRk9VTkRBVElPTl9NRURJQV9TRUxFQ1RJT05fR1JPVVApCisjaWYgRU5BQkxFKFZJREVP
KSAmJiBVU0UoQVZGT1VOREFUSU9OKQogCiAjaW1wb3J0ICJJbmJhbmRUZXh0VHJhY2tQcml2YXRl
QVZGT2JqQy5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLmgKaW5kZXggYWYxZTZlOGFhNzI2MDkxMTI5
ZmU0ZDYzZmVmMjVjZGI5NzhhZTBmMS4uOGYyOTBiY2M1MjU0ZjZhODAzMDAwYTk4NWU2Mzk5NmUz
ZjFlYTliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMuaApAQCAtODUsMTEgKzg1LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHRyYWNrc0NoYW5nZWQoKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZEVuZCgp
IG92ZXJyaWRlOwogCi0jaWYgSEFWRShBVkZPVU5EQVRJT05fTUVESUFfU0VMRUNUSU9OX0dST1VQ
KQogICAgIFJldGFpblB0cjxBVlBsYXllckl0ZW0+IHBsYXllckl0ZW0oKSBjb25zdCB7IHJldHVy
biBtX2F2UGxheWVySXRlbTsgfQogICAgIHZvaWQgcHJvY2Vzc0N1ZShOU0FycmF5ICosIE5TQXJy
YXkgKiwgY29uc3QgTWVkaWFUaW1lJik7CiAgICAgdm9pZCBmbHVzaEN1ZXMoKTsKLSNlbmRpZgor
CiAgICAgQVZQbGF5ZXIgKmF2UGxheWVyKCkgY29uc3QgeyByZXR1cm4gbV9hdlBsYXllci5nZXQo
KTsgfQogCiAjaWYgSEFWRShBVkZPVU5EQVRJT05fTE9BREVSX0RFTEVHQVRFKQpAQCAtMTI3LDkg
KzEyNiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QnVmZmVyaW5nUG9saWN5KE1lZGlhUGxh
eWVyOjpCdWZmZXJpbmdQb2xpY3kpIG92ZXJyaWRlOwogCi0jaWYgSEFWRShBVkZPVU5EQVRJT05f
VklERU9fT1VUUFVUKQogICAgIHZvaWQgb3V0cHV0TWVkaWFEYXRhV2lsbENoYW5nZShBVlBsYXll
ckl0ZW1WaWRlb091dHB1dCopOwotI2VuZGlmCiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKQogICAgIHZvaWQgcGxheWJhY2tUYXJnZXRJc1dpcmVsZXNzRGlkQ2hhbmdlKCk7
CkBAIC0yNTksNyArMjU2LDYgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4g
Y3JlYXRlSW1hZ2VGb3JUaW1lSW5SZWN0KGZsb2F0LCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2
b2lkIHBhaW50V2l0aEltYWdlR2VuZXJhdG9yKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0
UmVjdCYpOwogCi0jaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAgIGVudW0g
Y2xhc3MgVXBkYXRlVHlwZSB7IFVwZGF0ZVN5bmNocm9ub3VzbHksIFVwZGF0ZUFzeW5jaHJvbm91
c2x5IH07CiAgICAgdm9pZCB1cGRhdGVMYXN0SW1hZ2UoVXBkYXRlVHlwZSB0eXBlID0gVXBkYXRl
VHlwZTo6VXBkYXRlQXN5bmNocm9ub3VzbHkpOwogCkBAIC0yNzIsNyArMjY4LDYgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHdhaXRGb3JWaWRlb091dHB1dE1lZGlhRGF0YVdpbGxDaGFuZ2UoKTsKIAog
ICAgIGJvb2wgY29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMKiwgUGxhdGZvcm1HTE9iamVjdCwgR0NHTGVudW0gdGFyZ2V0LCBHQ0dMaW50IGxl
dmVsLCBHQ0dMZW51bSBpbnRlcm5hbEZvcm1hdCwgR0NHTGVudW0gZm9ybWF0LCBHQ0dMZW51bSB0
eXBlLCBib29sIHByZW11bHRpcGx5QWxwaGEsIGJvb2wgZmxpcFkpIG92ZXJyaWRlOwotI2VuZGlm
CiAKICNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8TGVnYWN5Q0RNU2Vzc2lvbj4gY3JlYXRlU2Vzc2lvbihjb25zdCBTdHJpbmcmIGtleVN5c3Rl
bSwgTGVnYWN5Q0RNU2Vzc2lvbkNsaWVudCopIG92ZXJyaWRlOwpAQCAtMjgwLDE0ICsyNzUsMTIg
QEAgcHJpdmF0ZToKIAogICAgIFN0cmluZyBsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soKSBj
b25zdCBvdmVycmlkZTsKIAotI2lmIEhBVkUoQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElPTl9H
Uk9VUCkKICAgICB2b2lkIHByb2Nlc3NNZWRpYVNlbGVjdGlvbk9wdGlvbnMoKTsKICAgICBib29s
IGhhc0xvYWRlZE1lZGlhU2VsZWN0aW9uR3JvdXBzKCk7CiAKICAgICBBVk1lZGlhU2VsZWN0aW9u
R3JvdXAqIHNhZmVNZWRpYVNlbGVjdGlvbkdyb3VwRm9yTGVnaWJsZU1lZGlhKCk7CiAgICAgQVZN
ZWRpYVNlbGVjdGlvbkdyb3VwKiBzYWZlTWVkaWFTZWxlY3Rpb25Hcm91cEZvckF1ZGlibGVNZWRp
YSgpOwogICAgIEFWTWVkaWFTZWxlY3Rpb25Hcm91cCogc2FmZU1lZGlhU2VsZWN0aW9uR3JvdXBG
b3JWaXN1YWxNZWRpYSgpOwotI2VuZGlmCiAKICAgICBOU0FycmF5KiBzYWZlQVZBc3NldFRyYWNr
c0ZvckF1ZGlibGVNZWRpYSgpOwogCkBAIC0zNTgsNyArMzUxLDYgQEAgcHJpdmF0ZToKICNlbmRp
ZgogCiAgICAgUmV0YWluUHRyPEFWQXNzZXRJbWFnZUdlbmVyYXRvcj4gbV9pbWFnZUdlbmVyYXRv
cjsKLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQpCiAgICAgUmV0YWluUHRyPEFW
UGxheWVySXRlbVZpZGVvT3V0cHV0PiBtX3ZpZGVvT3V0cHV0OwogICAgIFJldGFpblB0cjxXZWJD
b3JlQVZGUHVsbERlbGVnYXRlPiBtX3ZpZGVvT3V0cHV0RGVsZWdhdGU7CiAgICAgUmV0YWluUHRy
PENWUGl4ZWxCdWZmZXJSZWY+IG1fbGFzdFBpeGVsQnVmZmVyOwpAQCAtMzY2LDcgKzM1OCw2IEBA
IHByaXZhdGU6CiAgICAgQmluYXJ5U2VtYXBob3JlIG1fdmlkZW9PdXRwdXRTZW1hcGhvcmU7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPEltYWdlUm90YXRpb25TZXNzaW9uVlQ+IG1faW1hZ2VSb3RhdGlv
blNlc3Npb247CiAgICAgc3RkOjp1bmlxdWVfcHRyPFZpZGVvVGV4dHVyZUNvcGllckNWPiBtX3Zp
ZGVvVGV4dHVyZUNvcGllcjsKLSNlbmRpZgogCiAjaWYgSEFWRShDT1JFX1ZJREVPKQogICAgIHN0
ZDo6dW5pcXVlX3B0cjxQaXhlbEJ1ZmZlckNvbmZvcm1lckNWPiBtX3BpeGVsQnVmZmVyQ29uZm9y
bWVyOwpAQCAtMzgwLDE3ICszNzEsMTUgQEAgcHJpdmF0ZToKICAgICBIYXNoTWFwPFN0cmluZywg
UmV0YWluUHRyPEFWQXNzZXRSZXNvdXJjZUxvYWRpbmdSZXF1ZXN0Pj4gbV9zZXNzaW9uSURUb1Jl
cXVlc3RNYXA7CiAjZW5kaWYKIAotI2lmIEhBVkUoQVZGT1VOREFUSU9OX01FRElBX1NFTEVDVElP
Tl9HUk9VUCkgJiYgSEFWRShBVkZPVU5EQVRJT05fTEVHSUJMRV9PVVRQVVRfU1VQUE9SVCkKKyNp
ZiBIQVZFKEFWRk9VTkRBVElPTl9MRUdJQkxFX09VVFBVVF9TVVBQT1JUKQogICAgIFJldGFpblB0
cjxBVlBsYXllckl0ZW1MZWdpYmxlT3V0cHV0PiBtX2xlZ2libGVPdXRwdXQ7CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBWZWN0b3I8UmVmUHRyPEF1ZGlvVHJhY2tQcml2
YXRlQVZGT2JqQz4+IG1fYXVkaW9UcmFja3M7CiAgICAgVmVjdG9yPFJlZlB0cjxWaWRlb1RyYWNr
UHJpdmF0ZUFWRk9iakM+PiBtX3ZpZGVvVHJhY2tzOwotI2lmIEhBVkUoQVZGT1VOREFUSU9OX01F
RElBX1NFTEVDVElPTl9HUk9VUCkKICAgICBSZWZQdHI8TWVkaWFTZWxlY3Rpb25Hcm91cEFWRk9i
akM+IG1fYXVkaWJsZUdyb3VwOwogICAgIFJlZlB0cjxNZWRpYVNlbGVjdGlvbkdyb3VwQVZGT2Jq
Qz4gbV92aXN1YWxHcm91cDsKLSNlbmRpZgogI2VuZGlmCiAKICAgICBJbmJhbmRUZXh0VHJhY2tQ
cml2YXRlQVZGKiBtX2N1cnJlbnRUZXh0VHJhY2s7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRl
eCA2Mzg1ODBkY2M5MWE0MTUxYjY0NDk1MGFmYzExYmQyNWI5YjI0ZjU2Li4yOTUzZGRkYzg3NTcw
NTFmNjlmMDFhZjc3MmQ1MWI0NTgwNDUxNjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAg
LTIwMSw3ICsyMDEsNiBAQCAtIChCT09MKXJlc291cmNlTG9hZGVyOihBVkFzc2V0UmVzb3VyY2VM
b2FkZXIgKilyZXNvdXJjZUxvYWRlciBzaG91bGRXYWl0Rm9yTG9hZAogQGVuZAogI2VuZGlmCiAK
LSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQpCiBAaW50ZXJmYWNlIFdlYkNvcmVB
VkZQdWxsRGVsZWdhdGUgOiBOU09iamVjdDxBVlBsYXllckl0ZW1PdXRwdXRQdWxsRGVsZWdhdGU+
IHsKICAgICBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM+IG1fcGxh
eWVyOwogfQpAQCAtMjA5LDcgKzIwOCw2IEBAIC0gKGlkKWluaXRXaXRoUGxheWVyOihXZWFrUHRy
PE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM+JiYpcGxheWVyOwogLSAodm9pZClv
dXRwdXRNZWRpYURhdGFXaWxsQ2hhbmdlOihBVlBsYXllckl0ZW1PdXRwdXQgKilzZW5kZXI7CiAt
ICh2b2lkKW91dHB1dFNlcXVlbmNlV2FzRmx1c2hlZDooQVZQbGF5ZXJJdGVtT3V0cHV0ICopb3V0
cHV0OwogQGVuZAotI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBTdHJpbmcg
Y29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoQVZQbGF5ZXJUaW1lQ29udHJvbFN0YXR1cyBlbnVt
ZXJhdGlvblZhbHVlKQpAQCAtMjYxLDcgKzI1OSw2IEBAIHN0YXRpYyBkaXNwYXRjaF9xdWV1ZV90
IGdsb2JhbExvYWRlckRlbGVnYXRlUXVldWUoKQogfQogI2VuZGlmCiAKLSNpZiBIQVZFKEFWRk9V
TkRBVElPTl9WSURFT19PVVRQVVQpCiBzdGF0aWMgZGlzcGF0Y2hfcXVldWVfdCBnbG9iYWxQdWxs
RGVsZWdhdGVRdWV1ZSgpCiB7CiAgICAgc3RhdGljIGRpc3BhdGNoX3F1ZXVlX3QgZ2xvYmFsUXVl
dWU7CkBAIC0yNzEsNyArMjY4LDYgQEAgc3RhdGljIGRpc3BhdGNoX3F1ZXVlX3QgZ2xvYmFsUHVs
bERlbGVnYXRlUXVldWUoKQogICAgIH0pOwogICAgIHJldHVybiBnbG9iYWxRdWV1ZTsKIH0KLSNl
bmRpZgogCiBjbGFzcyBNZWRpYVBsYXllckZhY3RvcnlBVkZvdW5kYXRpb25PYmpDIGZpbmFsIDog
cHVibGljIE1lZGlhUGxheWVyRmFjdG9yeSB7CiBwcml2YXRlOgpAQCAtNDEzLDkgKzQwOSw3IEBA
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6Ok1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakMoTWVkaWFQbGF5CiAgICAgLCBtX29iamNPYnNlcnZlcihhZG9wdE5TKFtb
V2ViQ29yZUFWRk1vdmllT2JzZXJ2ZXIgYWxsb2NdIGluaXRXaXRoUGxheWVyOm1ha2VXZWFrUHRy
KCp0aGlzKV0pKQogICAgICwgbV92aWRlb0ZyYW1lSGFzRHJhd24oZmFsc2UpCiAgICAgLCBtX2hh
dmVDaGVja2VkUGxheWFiaWxpdHkoZmFsc2UpCi0jaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9f
T1VUUFVUKQogICAgICwgbV92aWRlb091dHB1dERlbGVnYXRlKGFkb3B0TlMoW1tXZWJDb3JlQVZG
UHVsbERlbGVnYXRlIGFsbG9jXSBpbml0V2l0aFBsYXllcjptYWtlV2Vha1B0cigqdGhpcyldKSkK
LSNlbmRpZgogI2lmIEhBVkUoQVZGT1VOREFUSU9OX0xPQURFUl9ERUxFR0FURSkKICAgICAsIG1f
bG9hZGVyRGVsZWdhdGUoYWRvcHROUyhbW1dlYkNvcmVBVkZMb2FkZXJEZWxlZ2F0ZSBhbGxvY10g
aW5pdFdpdGhQbGF5ZXI6bWFrZVdlYWtQdHIoKnRoaXMpXSkpCiAjZW5kaWYKQEAgLTQ0Niw5ICs0
NDAsNyBAQCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp+TWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQygpCiAgICAgZm9yIChhdXRvJiBwYWlyIDogbV9yZXNvdXJj
ZUxvYWRlck1hcCkKICAgICAgICAgcGFpci52YWx1ZS0+aW52YWxpZGF0ZSgpOwogI2VuZGlmCi0j
aWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAgIFttX3ZpZGVvT3V0cHV0IHNl
dERlbGVnYXRlOm5pbCBxdWV1ZTowXTsKLSNlbmRpZgogCiAgICAgaWYgKG1fdmlkZW9MYXllcikK
ICAgICAgICAgZGVzdHJveVZpZGVvTGF5ZXIoKTsKQEAgLTU0NSwyMCArNTM3LDEyIEBAIGJvb2wg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aGFzTGF5ZXJSZW5kZXJlcigpIGNv
bnN0CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6aGFzQ29udGV4
dFJlbmRlcmVyKCkgY29uc3QKIHsKLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQp
Ci0gICAgaWYgKG1fdmlkZW9PdXRwdXQpCi0gICAgICAgIHJldHVybiB0cnVlOwotI2VuZGlmCi0g
ICAgcmV0dXJuIG1faW1hZ2VHZW5lcmF0b3I7CisgICAgcmV0dXJuIG1fdmlkZW9PdXRwdXQgfHwg
bV9pbWFnZUdlbmVyYXRvcjsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjpjcmVhdGVDb250ZXh0VmlkZW9SZW5kZXJlcigpCiB7Ci0jaWYgSEFWRShBVkZPVU5E
QVRJT05fVklERU9fT1VUUFVUKQogICAgIGNyZWF0ZVZpZGVvT3V0cHV0KCk7Ci0jZWxzZQotICAg
IGNyZWF0ZUltYWdlR2VuZXJhdG9yKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVJbWFnZUdlbmVyYXRvcigpCkBAIC01NzksOSAr
NTYzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpjcmVhdGVJ
bWFnZUdlbmVyYXRvcigpCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qzo6ZGVzdHJveUNvbnRleHRWaWRlb1JlbmRlcmVyKCkKIHsKLSNpZiBIQVZFKEFWRk9VTkRBVElP
Tl9WSURFT19PVVRQVVQpCiAgICAgZGVzdHJveVZpZGVvT3V0cHV0KCk7Ci0jZW5kaWYKICAgICBk
ZXN0cm95SW1hZ2VHZW5lcmF0b3IoKTsKIH0KIApAQCAtNjExLDcgKzU5Myw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRlVmlkZW9MYXllcigpCiAgICAg
ICAgIGlmICghbV92aWRlb0xheWVyKQogICAgICAgICAgICAgY3JlYXRlQVZQbGF5ZXJMYXllcigp
OwogCi0jaWYgVVNFKFZJREVPVE9PTEJPWCkgJiYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VU
UFVUKQorI2lmIFVTRShWSURFT1RPT0xCT1gpCiAgICAgICAgIGlmICghbV92aWRlb091dHB1dCkK
ICAgICAgICAgICAgIGNyZWF0ZVZpZGVvT3V0cHV0KCk7CiAjZW5kaWYKQEAgLTY3OSwxMCArNjYx
LDggQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpoYXNBdmFpbGFi
bGVWaWRlb0ZyYW1lKCkgY29uc3QKICAgICBpZiAoY3VycmVudFJlbmRlcmluZ01vZGUoKSA9PSBN
ZWRpYVJlbmRlcmluZ1RvTGF5ZXIpCiAgICAgICAgIHJldHVybiBtX2NhY2hlZElzUmVhZHlGb3JE
aXNwbGF5OwogCi0jaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAgIGlmICht
X3ZpZGVvT3V0cHV0ICYmIChtX2xhc3RQaXhlbEJ1ZmZlciB8fCBbbV92aWRlb091dHB1dCBoYXNO
ZXdQaXhlbEJ1ZmZlckZvckl0ZW1UaW1lOlttX2F2UGxheWVySXRlbSBjdXJyZW50VGltZV1dKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0jZW5kaWYKIAogICAgIHJldHVybiBtX3ZpZGVvRnJhbWVI
YXNEcmF3bjsKIH0KQEAgLTEwMTIsOSArOTkyLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDOjpjcmVhdGVBVlBsYXllckl0ZW0oKQogICAgIH0KICNlbmRpZgogCi0j
aWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9fT1VUUFVUKQogICAgIGNyZWF0ZVZpZGVvT3V0cHV0
KCk7Ci0jZW5kaWYKIAogICAgIG1fbWV0YWRhdGFDb2xsZWN0b3IgPSBhZG9wdE5TKFtQQUw6OmFs
bG9jQVZQbGF5ZXJJdGVtTWV0YWRhdGFDb2xsZWN0b3JJbnN0YW5jZSgpIGluaXRXaXRoSWRlbnRp
ZmllcnM6bmlsIGNsYXNzaWZ5aW5nTGFiZWxzOm5pbF0pOwogICAgIFttX21ldGFkYXRhQ29sbGVj
dG9yLmdldCgpIHNldERlbGVnYXRlOm1fb2JqY09ic2VydmVyLmdldCgpIHF1ZXVlOmRpc3BhdGNo
X2dldF9tYWluX3F1ZXVlKCldOwpAQCAtMTEwMCwyMCArMTA3OCwxNCBAQCBQbGF0Zm9ybUxheWVy
KiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpwbGF0Zm9ybUxheWVyKCkgY29u
c3QKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjp1cGRhdGVWaWRl
b0Z1bGxzY3JlZW5JbmxpbmVJbWFnZSgpCiB7Ci0jaWYgSEFWRShBVkZPVU5EQVRJT05fVklERU9f
T1VUUFVUKQogICAgIHVwZGF0ZUxhc3RJbWFnZShVcGRhdGVUeXBlOjpVcGRhdGVTeW5jaHJvbm91
c2x5KTsKICAgICBtX3ZpZGVvRnVsbHNjcmVlbkxheWVyTWFuYWdlci0+dXBkYXRlVmlkZW9GdWxs
c2NyZWVuSW5saW5lSW1hZ2UobV9sYXN0SW1hZ2UpOwotI2VuZGlmCiB9CiAKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6c2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIoUGxh
dGZvcm1MYXllciogdmlkZW9GdWxsc2NyZWVuTGF5ZXIsIEZ1bmN0aW9uPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19PVVRQVVQpCiAg
ICAgdXBkYXRlTGFzdEltYWdlKFVwZGF0ZVR5cGU6OlVwZGF0ZVN5bmNocm9ub3VzbHkpOwogICAg
IG1fdmlkZW9GdWxsc2NyZWVuTGF5ZXJNYW5hZ2VyLT5zZXRWaWRlb0Z1bGxzY3JlZW5MYXllcih2
aWRlb0Z1bGxzY3JlZW5MYXllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIG1fbGFzdElt
YWdlKTsKLSNlbHNlCi0gICAgbV92aWRlb0Z1bGxzY3JlZW5MYXllck1hbmFnZXItPnNldFZpZGVv
RnVsbHNjcmVlbkxheWVyKHZpZGVvRnVsbHNjcmVlbkxheWVyLCBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSwgbmlsKTsKLSNlbmRpZgogICAgIHVwZGF0ZURpc2FibGVFeHRlcm5hbFBsYXliYWNr
KCk7CiB9CiAKQEAgLTE1MzgsMTEgKzE1MTAsOSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udAog
ICAgIHNldERlbGF5Q2FsbGJhY2tzKHRydWUpOwogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBU
SU9OUzsKIAotI2lmIEhBVkUoQVZGT1VOREFUSU9OX1ZJREVPX09VVFBVVCkKICAgICBpZiAodmlk
ZW9PdXRwdXRIYXNBdmFpbGFibGVGcmFtZSgpKQogICAgICAgICBwYWludFdpdGhWaWRlb091dHB1
dChjb250ZXh0LCByZWN0KTsKICAgICBlbHNlCi0jZW5kaWYKICAgICAgICAgcGFpbnRXaXRoSW1h
Z2VHZW5lcmF0b3IoY29udGV4dCwgcmVjdCk7CiAKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJ
T05TOwpAQCAtMjE2NCw5ICsyMTM0LDYgQEAgT3B0aW9uYWw8Ym9vbD4gTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQzo6d291bGRUYWludE9yaWdpbihjb25zdCBTZWN1cmkKICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCi0KLSNpZiBIQVZFKEFWRk9VTkRBVElPTl9WSURFT19P
VVRQVVQpCi0KIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6Y3JlYXRl
VmlkZW9PdXRwdXQoKQogewogICAgIElORk9fTE9HKExPR0lERU5USUZJRVIpOwpAQCAtMjMzMyw4
ICsyMzAwLDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpvdXRw
dXRNZWRpYURhdGFXaWxsQ2hhbmdlKEFWUGxheWVySXRlbVYKICAgICBtX3ZpZGVvT3V0cHV0U2Vt
YXBob3JlLnNpZ25hbCgpOwogfQogCi0jZW5kaWYKLQogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQ
VEVEX01FRElBKQogCiBSZXRhaW5QdHI8QVZBc3NldFJlc291cmNlTG9hZGluZ1JlcXVlc3Q+IE1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnRha2VSZXF1ZXN0Rm9yS2V5VVJJKGNv
bnN0IFN0cmluZyYga2V5VVJJKQpAQCAtMzYwMyw4ICszNTY4LDYgQEAgQGVuZAogCiAjZW5kaWYg
Ly8gSEFWRShBVkZPVU5EQVRJT05fTE9BREVSX0RFTEVHQVRFKQogCi0jaWYgSEFWRShBVkZPVU5E
QVRJT05fVklERU9fT1VUUFVUKQotCiBAaW1wbGVtZW50YXRpb24gV2ViQ29yZUFWRlB1bGxEZWxl
Z2F0ZQogCiAtIChpZClpbml0V2l0aFBsYXllcjooV2Vha1B0cjxNZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb25PYmpDPiYmKXBsYXllcgpAQCAtMzYyOSw2ICszNTkyLDQgQEAgLSAodm9pZClv
dXRwdXRTZXF1ZW5jZVdhc0ZsdXNoZWQ6KEFWUGxheWVySXRlbVZpZGVvT3V0cHV0ICopb3V0cHV0
CiAKIEBlbmQKIAotI2VuZGlmIC8vIEhBVkUoQVZGT1VOREFUSU9OX1ZJREVPX09VVFBVVCkKLQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRB
dXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Nv
Y29hL1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIubW0KaW5kZXggOWViYTAzOTJh
ZjZmYTEwZGYyNjZlMDM4MmRkMjc2MTIzOTUyZmExZi4uZjkzZGM0ZjNiN2M5NTMwZTgxMWRjNDI5
ODA1OWU3MjFjNDA3ZmE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2Nv
YS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbQpA
QCAtNDksMTEgKzQ5LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUmVxdWVzdDooUEtQYXlt
ZW50UmVxdWVzdCAqKXJlcXVlc3QgcHJlc2VudGVyOihXZWJLaXQ6OlAKIAogLSAodm9pZClfZ2V0
UGF5bWVudFNlcnZpY2VzTWVyY2hhbnRVUkw6KHZvaWQoXikoTlNVUkwgKiwgTlNFcnJvciAqKSlj
b21wbGV0aW9uCiB7Ci0jaWYgSEFWRShQQVNTS0lUX0FQSV9UWVBFKQogICAgIFtQQUw6OmdldFBL
UGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlckNsYXNzKCkgcGF5bWVudFNlcnZpY2Vz
TWVyY2hhbnRVUkxGb3JBUElUeXBlOltfcmVxdWVzdCBBUElUeXBlXSBjb21wbGV0aW9uOmNvbXBs
ZXRpb25dOwotI2Vsc2UKLSAgICBbUEFMOjpnZXRQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0Nv
bnRyb2xsZXJDbGFzcygpIHBheW1lbnRTZXJ2aWNlc01lcmNoYW50VVJMOmNvbXBsZXRpb25dOwot
I2VuZGlmCiB9CiAKICNwcmFnbWEgbWFyayBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRy
b2xsZXJEZWxlZ2F0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
Y29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0K
aW5kZXggNTkxNTY5ODM4NmQ5OWUzYmMzZjc3ZTgwOGRlZTYzODhkZmE4NGE5YS4uZjIzMzhiOGNj
MDE3NWMyZDA2ZTY3Yzk4YzM1NDQ1ODc2YjQ0NDk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC0xNzcsNyArMTc3LDYgQEAgc3RhdGljIFJldGFpblB0
cjxOU1NldD4gdG9OU1NldChjb25zdCBWZWN0b3I8U3RyaW5nPiYgc3RyaW5ncykKICAgICByZXR1
cm4gV1RGTW92ZShtdXRhYmxlU2V0KTsKIH0KIAotI2lmIEhBVkUoUEFTU0tJVF9BUElfVFlQRSkK
IHN0YXRpYyBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZSB0b0FQSVR5cGUoV2ViQ29yZTo6QXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlJlcXVlc3RlciByZXF1ZXN0ZXIpCiB7CiAgICAgc3dp
dGNoIChyZXF1ZXN0ZXIpIHsKQEAgLTE4Nyw3ICsxODYsNiBAQCBzdGF0aWMgUEtQYXltZW50UmVx
dWVzdEFQSVR5cGUgdG9BUElUeXBlKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1
ZXN0OgogICAgICAgICByZXR1cm4gUEtQYXltZW50UmVxdWVzdEFQSVR5cGVXZWJQYXltZW50UmVx
dWVzdDsKICAgICB9CiB9Ci0jZW5kaWYKIAogUmV0YWluUHRyPFBLUGF5bWVudFJlcXVlc3Q+IFdl
YlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KGNvbnN0IFVS
TCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IFZlY3RvcjxVUkw+JiBsaW5rSWNvblVSTHMsIGNvbnN0
IFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVxdWVzdCkK
IHsKQEAgLTIwNSw5ICsyMDMsNyBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QoYwogICAgIH0gZWxz
ZSBpZiAoIWxpbmtJY29uVVJMcy5pc0VtcHR5KCkpCiAgICAgICAgIFtyZXN1bHQgc2V0VGh1bWJu
YWlsVVJMOmxpbmtJY29uVVJMc1swXV07CiAKLSNpZiBIQVZFKFBBU1NLSVRfQVBJX1RZUEUpCiAg
ICAgW3Jlc3VsdCBzZXRBUElUeXBlOnRvQVBJVHlwZShwYXltZW50UmVxdWVzdC5yZXF1ZXN0ZXIo
KSldOwotI2VuZGlmCiAKICAgICBbcmVzdWx0IHNldENvdW50cnlDb2RlOnBheW1lbnRSZXF1ZXN0
LmNvdW50cnlDb2RlKCldOwogICAgIFtyZXN1bHQgc2V0Q3VycmVuY3lDb2RlOnBheW1lbnRSZXF1
ZXN0LmN1cnJlbmN5Q29kZSgpXTsK
</data>
<flag name="review"
          id="404244"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="404346"
          type_id="3"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>