<?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>230583</bug_id>
          
          <creation_ts>2021-09-21 16:17:39 -0700</creation_ts>
          <short_desc>Change from ENABLE(RUBBER_BANDING) to HAVE(RUBBER_BANDING)</short_desc>
          <delta_ts>2021-09-21 20:41:19 -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>Scrolling</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>jamesr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1795841</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-21 16:17:39 -0700</bug_when>
    <thetext>Change from ENABLE(RUBBER_BANDING) to HAVE(RUBBER_BANDING)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795842</commentid>
    <comment_count>1</comment_count>
      <attachid>438880</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-21 16:19:32 -0700</bug_when>
    <thetext>Created attachment 438880
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795843</commentid>
    <comment_count>2</comment_count>
      <attachid>438881</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-21 16:20:13 -0700</bug_when>
    <thetext>Created attachment 438881
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795930</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-21 20:40:36 -0700</bug_when>
    <thetext>Committed r282862 (241993@main): &lt;https://commits.webkit.org/241993@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438881.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795931</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-21 20:41:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/83381962&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438880</attachid>
            <date>2021-09-21 16:19:32 -0700</date>
            <delta_ts>2021-09-21 16:20:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230583-20210921161931.patch</filename>
            <type>text/plain</type>
            <size>35172</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdiZTE5ZjAyZTk5Y2E2MTYwODVmM2Ni
MjFiNmEwYTM1MGUwNDExY2IuLmM3Y2I5Yjk5NTE4ZWVhOThhMDI1YThhNzFkZDBkNmU5M2Y5OTZj
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDktMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIGZyb20gRU5BQkxFKFJVQkJFUl9C
QU5ESU5HKSB0byBIQVZFKFJVQkJFUl9CQU5ESU5HKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzLnlhbWw6CisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorCiAyMDIxLTA5LTIxICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEVuYWJsZSBN
U0UgaW4gV0tXZWJWaWV3cyBieSBkZWZhdWx0IG9uIGlQYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMWRhYmIz
NDgwODllNzE0MzdkYTU0MzEyMGFjZWJkYmFiODk3Y2U0Li5iY2ZkMTc4ZGNjODE5NGYxNjUxYzEy
YTk0NmQwZjM3OTVlOTQ0MDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMjEtMDkt
MjEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hh
bmdlIGZyb20gRU5BQkxFKFJVQkJFUl9CQU5ESU5HKSB0byBIQVZFKFJVQkJFUl9CQU5ESU5HKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNTgzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUlVCQkVSX0JB
TkRJTkcgaXMgbm90IGEgZmVhdHVyZSB3ZSdsbCBldmVyIHR1cm4gb2ZmIG9uIG1hY09TLCBhbmQg
aXQgd2FzIG9ubHkgZXZlciBlbmFibGVkCisgICAgICAgIGZvciB0aGF0IHBsYXRmb3JtLiBIb3dl
dmVyLCBpdCdzIGFsc28gdXNlZCBpbiBzb21lIGNyb3NzLXBsYXRmb3JtIGNvZGUsIHNvCisgICAg
ICAgIEhBVkUoUlVCQkVSX0JBTkRJTkcpIG1ha2VzIG1vcmUgc2Vuc2UgZm9yIHRoYXQgdXNlLgor
CisgICAgICAgIEFsc28gcmVtb3ZlIEVOQUJMRShSVUJCRVJfQkFORElORykgI2lmZGVmcyBmcm9t
IGluc2lkZSBQTEFURk9STShNQUMpIGNvZGUuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OkZyYW1lVmlldyk6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZVZpZXc6OmlzU2Nyb2xsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OmhhbmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcpOgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3Lmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
Z2U6OnNldFVuZGVyUGFnZUJhY2tncm91bmRDb2xvck92ZXJyaWRlKToKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdDb29yZGluYXRvcjo6aGVhZGVyTGF5ZXJGb3JGcmFtZVZpZXcpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZvb3RlckxheWVyRm9yRnJhbWVWaWV3KToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb250ZW50U2hhZG93TGF5
ZXJGb3JGcmFtZVZpZXcpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6c2Nyb2xsUG9zaXRpb25Jc05vdFJ1YmJl
cmJhbmRpbmdFZGdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmg6
CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllckNvY29hOjp1cGRhdGVDdXN0b21BcHBl
YXJhbmNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpydWJiZXJCYW5kaW5nRW5hYmxlZEZvclN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcyBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck1hYzo6aW1tZWRpYXRlU2Nyb2xsQnkpOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xs
aW5nRWZmZWN0c0NvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdFZmZl
Y3RzQ29udHJvbGxlcjo6dXBkYXRlUnViYmVyQmFuZEFuaW1hdGluZ1N0YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpzY3JvbGxQb3NpdGlvbkNoYW5n
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmlzUnVi
YmVyQmFuZEluUHJvZ3Jlc3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nRWZm
ZWN0c0NvbnRyb2xsZXI6OnN0b3BSdWJiZXJiYW5kaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6flJlbmRlckxheWVyQ29tcG9zaXRvcik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlUm9vdExheWVyUG9zaXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290QmFja2dyb3Vu
ZENvbG9yT3JUcmFuc3BhcmVuY3lDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6dXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmRlc3Ryb3lSb290TGF5ZXIpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllclNjcm9sbGFibGVBcmVhOjppc1J1YmJlckJhbmRJblByb2dyZXNzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6Om92ZXJoYW5nQW1vdW50
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnNl
dEhhc0hvcml6b250YWxTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJT
Y3JvbGxhYmxlQXJlYTo6c2V0SGFzVmVydGljYWxTY3JvbGxiYXIpOgorCiAyMDIxLTA5LTIxICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgUHVzaCBm
b250LXBhbGV0dGUtdmFsdWVzIGRhdGEgaW50byBDU1NGb250U2VsZWN0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
ZjAwZWE2YWM5ZDk5ZTY2ZGVhNWYxMzJmNDk3N2U5MmEwNmFlODZiOS4uZDlhNjIzZjM4YmIwMjM2
YjQzYzBmM2Y2ZTRiNDkyOGZhMDdmNmFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAy
MS0wOS0yMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBDaGFuZ2UgZnJvbSBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHRvIEhBVkUoUlVCQkVSX0JBTkRJ
TkcpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA1
ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSVUJC
RVJfQkFORElORyBpcyBub3QgYSBmZWF0dXJlIHdlJ2xsIGV2ZXIgdHVybiBvZmYgb24gbWFjT1Ms
IGFuZCBpdCB3YXMgb25seSBldmVyIGVuYWJsZWQKKyAgICAgICAgZm9yIHRoYXQgcGxhdGZvcm0u
IEhvd2V2ZXIsIGl0J3MgYWxzbyB1c2VkIGluIHNvbWUgY3Jvc3MtcGxhdGZvcm0gY29kZSwgc28K
KyAgICAgICAgSEFWRShSVUJCRVJfQkFORElORykgbWFrZXMgbW9yZSBzZW5zZSBmb3IgdGhhdCB1
c2UuCisKKyAgICAgICAgQWxzbyByZW1vdmUgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKSAjaWZkZWZz
IGZyb20gaW5zaWRlIFBMQVRGT1JNKE1BQykgY29kZS4KKworICAgICAgICAqIFNoYXJlZC9SZW1v
dGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tOgorICAgICAgICAo
V2ViS2l0Ojp1cGRhdGVDdXN0b21BcHBlYXJhbmNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNo
cm9tZUNsaWVudDo6ZGlkQWRkSGVhZGVyTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJv
bWVDbGllbnQ6OmRpZEFkZEZvb3RlckxheWVyKToKKwogMjAyMS0wOS0yMSAgRnVqaWkgSGlyb25v
cmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dIGpxdWVy
eS9vZmZzZXQuaHRtbCBpcyByYW5kb21seSBmYWlsaW5nIGFuIGFzc2VydGlvbiBpbiBEcmF3aW5n
QXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OmxheWVySG9zdERpZEZsdXNoTGF5ZXJzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBi
L1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4
IGNmZGNjMzZmMDA2NWMxZGNkMjRlMjIxNjY2MzRkYzU4Y2ExOTc4YTUuLmZmNTAzNDBjZjFkZWEw
NjA0NjEwMzdhNmU2NjZiY2FiNjI5NTg4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xODM4LDcgKzE4MzgsNyBAQCBS
ZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW86CiAKIFJ1YmJlckJhbmRpbmdGb3JTdWJTY3Jv
bGxhYmxlUmVnaW9uc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKLSAgY29uZGl0aW9uOiBFTkFCTEUo
UlVCQkVSX0JBTkRJTkcpCisgIGNvbmRpdGlvbjogSEFWRShSVUJCRVJfQkFORElORykKICAgZGVm
YXVsdFZhbHVlOgogICAgIFdlYktpdExlZ2FjeToKICAgICAgIGRlZmF1bHQ6IGZhbHNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oCmluZGV4IDFjYmM1N2ZkNWNlZWRmMTAyMGM2ZmI4ZDlhNTAwMTJhYzViZGRl
MzAuLjE4ZTRkNTExMDYxMDgwZTJmZmE3MjE1ODlhOWJmYjliOTE1ZDFjYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCkBAIC0zMDYsNiArMzA2LDEwIEBACiAjZGVmaW5lIEhBVkVfQ1ZESVNQTEFZTElO
SyAxCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9SVUJCRVJfQkFO
RElORyAxCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJ
T1NfRkFNSUxZX1NJTVVMQVRPUikKICNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQ09SRUlNQUdFX1NV
UFBPUlQgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODlkZDlkY2Y0
MDdmNTNhMGE4N2Y1OWE2NTViOTM0OWYzNTM0ZGZlNS4uNGVmOWMyY2VkYWViZjkwZjVlMDYwYzA1
NjM3MWRjMjBkZjE1MTU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTkzLDcg
KzE5Myw3IEBAIEZyYW1lVmlldzo6RnJhbWVWaWV3KEZyYW1lJiBmcmFtZSkKIHsKICAgICBpbml0
KCk7CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElO
RykKICAgICBTY3JvbGxFbGFzdGljaXR5IHZlcnRpY2FsRWxhc3RpY2l0eSA9IFNjcm9sbEVsYXN0
aWNpdHlOb25lOwogICAgIFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRhbEVsYXN0aWNpdHkgPSBT
Y3JvbGxFbGFzdGljaXR5Tm9uZTsKICAgICBpZiAobV9mcmFtZS0+aXNNYWluRnJhbWUoKSkgewpA
QCAtODg3LDcgKzg4Nyw3IEBAIFNjcm9sbGFibGVBcmVhKiBGcmFtZVZpZXc6OnNjcm9sbGFibGVB
cmVhRm9yU2Nyb2xsaW5nTm9kZUlEKFNjcm9sbGluZ05vZGVJRCBub2RlCiAgICAgcmV0dXJuIHJl
bmRlclZpZXctPmNvbXBvc2l0b3IoKS5zY3JvbGxhYmxlQXJlYUZvclNjcm9sbGluZ05vZGVJRChu
b2RlSUQpOwogfQogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVS
X0JBTkRJTkcpCiBHcmFwaGljc0xheWVyKiBGcmFtZVZpZXc6OmxheWVyRm9yT3ZlcmhhbmdBcmVh
cygpIGNvbnN0CiB7CiAgICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IHRoaXMtPnJlbmRlclZp
ZXcoKTsKQEAgLTkxNCw3ICs5MTQsNyBAQCBHcmFwaGljc0xheWVyKiBGcmFtZVZpZXc6OnNldFdh
bnRzTGF5ZXJGb3JCb3R0b21PdmVySGFuZ0FyZWEoYm9vbCB3YW50c0xheWVyKSBjbwogICAgIHJl
dHVybiByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkudXBkYXRlTGF5ZXJGb3JCb3R0b21PdmVyaGFu
Z0FyZWEod2FudHNMYXllcik7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoUlVCQkVSX0JBTkRJTkcp
CisjZW5kaWYgLy8gSEFWRShSVUJCRVJfQkFORElORykKIAogdm9pZCBGcmFtZVZpZXc6OnVwZGF0
ZVNuYXBPZmZzZXRzKCkKIHsKQEAgLTM4OTAsNyArMzg5MCw3IEBAIGJvb2wgRnJhbWVWaWV3Ojpp
c1Njcm9sbGFibGUoU2Nyb2xsYWJpbGl0eSBkZWZpbml0aW9uT2ZTY3JvbGxhYmxlKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIHJlcXVpcmVzQWN0dWFsT3ZlcmZsb3dUb0JlQ29u
c2lkZXJlZFNjcm9sbGFibGUgPSAhZnJhbWUoKS5pc01haW5GcmFtZSgpIHx8IGRlZmluaXRpb25P
ZlNjcm9sbGFibGUgIT0gU2Nyb2xsYWJpbGl0eTo6U2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGU7
Ci0jaWYgIUVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiAhSEFWRShSVUJCRVJfQkFORElORykK
ICAgICByZXF1aXJlc0FjdHVhbE92ZXJmbG93VG9CZUNvbnNpZGVyZWRTY3JvbGxhYmxlID0gdHJ1
ZTsKICNlbmRpZgogCkBAIC01MTYwLDcgKzUxNjAsNyBAQCBib29sIEZyYW1lVmlldzo6aGFuZGxl
V2hlZWxFdmVudEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZl
bgogewogICAgIC8vIE5vdGUgdGhhdCB0byBhbGxvdyBmb3IgcnViYmVyLWJhbmQgb3Zlci1zY3Jv
bGwgYmVoYXZpb3IsIGV2ZW4gbm9uLXNjcm9sbGFibGUgdmlld3MKICAgICAvLyBzaG91bGQgaGFu
ZGxlIHdoZWVsIGV2ZW50cy4KLSNpZiAhRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmICFIQVZF
KFJVQkJFUl9CQU5ESU5HKQogICAgIGlmICghaXNTY3JvbGxhYmxlKCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMjY2MTUxODYwM2Iz
YWIwNDg2MTIwNjE2MjgyYjEzOWYxYzA3Y2UwYS4uZDlkNDhhZjVmN2QxNDk3N2YzYTUwZGU1NjU5
OTNlZGUzZDUyYTMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC01ODQsNyArNTg0LDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGZv
cmNlVXBkYXRlU2Nyb2xsYmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZygpIGNv
bnN0IGZpbmFsOwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVS
X0JBTkRJTkcpCiAgICAgV0VCQ09SRV9FWFBPUlQgR3JhcGhpY3NMYXllciogc2V0V2FudHNMYXll
ckZvclRvcE92ZXJIYW5nQXJlYShib29sKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBHcmFw
aGljc0xheWVyKiBzZXRXYW50c0xheWVyRm9yQm90dG9tT3ZlckhhbmdBcmVhKGJvb2wpIGNvbnN0
OwogI2VuZGlmCkBAIC03NjQsNyArNzY0LDcgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IHNjcm9s
bGFibGVBcmVhQm91bmRpbmdCb3goYm9vbCogPSBudWxscHRyKSBjb25zdCBmaW5hbDsKICAgICBi
b29sIHNjcm9sbEFuaW1hdG9yRW5hYmxlZCgpIGNvbnN0IGZpbmFsOwogICAgIEdyYXBoaWNzTGF5
ZXIqIGxheWVyRm9yU2Nyb2xsQ29ybmVyKCkgY29uc3QgZmluYWw7Ci0jaWYgRU5BQkxFKFJVQkJF
Ul9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgR3JhcGhpY3NMYXllciog
bGF5ZXJGb3JPdmVyaGFuZ0FyZWFzKCkgY29uc3QgZmluYWw7CiAjZW5kaWYKICAgICB2b2lkIGNv
bnRlbnRzUmVzaXplZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggMzcyNDhlNDNlYzQ4
YjQ4YmJkZTRjZmMyMDEzNWVkN2QwN2ZlODNmOC4uNmUxNThhMzhmNzExMGI5ZTU2Yjk3ZWQ4MGVm
MTEwY2Y5ZjQ2MzFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNjE5LDE0ICsyNjE5LDE0IEBA
IHZvaWQgUGFnZTo6c2V0VW5kZXJQYWdlQmFja2dyb3VuZENvbG9yT3ZlcnJpZGUoQ29sb3ImJiB1
bmRlclBhZ2VCYWNrZ3JvdW5kQ29sb3JPCiAKICAgICBzY2hlZHVsZVJlbmRlcmluZ1VwZGF0ZSh7
IH0pOwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJ
TkcpCiAgICAgaWYgKFJlZlB0ciBmcmFtZVZpZXcgPSBtYWluRnJhbWUoKS52aWV3KCkpIHsKICAg
ICAgICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBmcmFtZVZpZXctPnJlbmRlclZpZXcoKSkgewog
ICAgICAgICAgICAgaWYgKHJlbmRlclZpZXctPnVzZXNDb21wb3NpdGluZygpKQogICAgICAgICAg
ICAgICAgIHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS51cGRhdGVMYXllckZvck92ZXJoYW5nQXJl
YXNCYWNrZ3JvdW5kQ29sb3IoKTsKICAgICAgICAgfQogICAgIH0KLSNlbmRpZiAvLyBFTkFCTEUo
UlVCQkVSX0JBTkRJTkcpCisjZW5kaWYgLy8gSEFWRShSVUJCRVJfQkFORElORykKIH0KIAogLy8g
VGhlc2UgYXJlIG1hZ2ljYWwgY29uc3RhbnRzIHRoYXQgbWlnaHQgYmUgdHdlYWtlZCBvdmVyIHRp
bWUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5jcHAKaW5kZXggYjhlYmJmZTVkZWFkNmE3Mjk5NDExNzRhYzMwNTNmZWIxNTEw
ZmU1ZS4uYzgwYzI2ZWYwMjBjYTgxYWE1OTFlMjg2NWIyOWVlYWM2OWM4MmVjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
LmNwcApAQCAtMjE2LDcgKzIxNiw3IEBAIEdyYXBoaWNzTGF5ZXIqIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yOjpzY3JvbGxlZENvbnRlbnRzTGF5ZXJGb3JGcmFtZVZpZXcoRnJhbWVWaWV3CiAKIEdyYXBo
aWNzTGF5ZXIqIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpoZWFkZXJMYXllckZvckZyYW1lVmlldyhG
cmFtZVZpZXcmIGZyYW1lVmlldykKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYg
SEFWRShSVUJCRVJfQkFORElORykKICAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IGZyYW1lVmll
dy5mcmFtZSgpLmNvbnRlbnRSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVuZGVyVmlldy0+
Y29tcG9zaXRvcigpLmhlYWRlckxheWVyKCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0yMjgs
NyArMjI4LDcgQEAgR3JhcGhpY3NMYXllciogU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmhlYWRlckxh
eWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyYgZnJhbWVWaWUKIAogR3JhcGhpY3NMYXllciogU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OmZvb3RlckxheWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyYgZnJh
bWVWaWV3KQogewotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9C
QU5ESU5HKQogICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gZnJhbWVWaWV3LmZyYW1lKCkuY29u
dGVudFJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybiByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCku
Zm9vdGVyTGF5ZXIoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI1NCw3ICsyNTQsNyBAQCBH
cmFwaGljc0xheWVyKiBTY3JvbGxpbmdDb29yZGluYXRvcjo6aW5zZXRDbGlwTGF5ZXJGb3JGcmFt
ZVZpZXcoRnJhbWVWaWV3JiBmcmFtZQogCiBHcmFwaGljc0xheWVyKiBTY3JvbGxpbmdDb29yZGlu
YXRvcjo6Y29udGVudFNoYWRvd0xheWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyYgZnJhbWVWaWV3
KQogewotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5H
KQogICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gZnJhbWVWaWV3LmZyYW1lKCkuY29udGVudFJl
bmRlcmVyKCkpCiAgICAgICAgIHJldHVybiByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkubGF5ZXJG
b3JDb250ZW50U2hhZG93KCk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjLm1tCmluZGV4IGI4MjQ0ZTNkZWJlZDUzOTE2MWZmMzU1NTM1OTYxYzYy
M2I1YWI1ODkuLjRmMTg3OWM4ZTg0MzBmOWQ0YTkwMWFhNjI0NTlhYjE3N2Y1OTRjMGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Ny
b2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0xMjMs
NyArMTIzLDYgQEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjp3
aWxsRG9Qcm9ncmFtbWF0aWNTY3JvbGwoY29uc3QgRmxvYXQKIAogYm9vbCBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpzY3JvbGxQb3NpdGlvbklzTm90UnViYmVyYmFuZGlu
Z0VkZ2UoY29uc3QgRmxvYXRQb2ludCYgdGFyZ2V0UG9zaXRpb24pIGNvbnN0CiB7Ci0jaWYgRU5B
QkxFKFJVQkJFUl9CQU5ESU5HKQogICAgIGlmICghbV9zY3JvbGxDb250cm9sbGVyLmlzUnViYmVy
QmFuZEluUHJvZ3Jlc3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xNTUsOSArMTU0
LDYgQEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpzY3JvbGxQ
b3NpdGlvbklzTm90UnViYmVyYmFuZGluZ0VkZ2UKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAgICAgfQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0odGFyZ2V0UG9zaXRpb24pOwotI2Vu
ZGlmCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZp
ZXcuY3BwCmluZGV4IGRiY2E0Mzg5NjBiYTVmNTA5OWNmOTkzNGFlYTU4M2E0YzMxYjViOGMuLjQ4
M2MxMWViNDg5NDgwYjA2ZWMzYWJhMzFkZTQyZjc0YTUwZWI1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0xMzAwLDcgKzEzMDAsNyBAQCB2b2lkIFNjcm9sbFZp
ZXc6OnBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwg
U2VjdXJpdHlPcgogICAgICAgICBwYWludENvbnRlbnRzKGNvbnRleHQsIGRvY3VtZW50RGlydHlS
ZWN0LCBzZWN1cml0eU9yaWdpblBhaW50UG9saWN5LCBldmVudFJlZ2lvbkNvbnRleHQpOwogICAg
IH0KIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5H
KQogICAgIGlmICghbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzKCkpCiAgICAgICAgIGNhbGN1bGF0ZUFu
ZFBhaW50T3ZlcmhhbmdBcmVhcyhjb250ZXh0LCByZWN0KTsKICNlbHNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCA3ODQzZTMwM2U1YTIzZjY5ZTAxNmRhZjk0
ZTk5ZmM0MzA5NTIzZWY1Li4zMTliYmE4MzI3MzgxNDU3NTY3MjYxYTY0Y2M5ZDlhM2RkMTE3NjYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTM2MCw3ICsz
NjAsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBmcmllbmQgY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0
b3I7CiAgICAgdmlydHVhbCBHcmFwaGljc0xheWVyKiBsYXllckZvclNjcm9sbENvcm5lcigpIGNv
bnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYg
SEFWRShSVUJCRVJfQkFORElORykKICAgICB2aXJ0dWFsIEdyYXBoaWNzTGF5ZXIqIGxheWVyRm9y
T3ZlcmhhbmdBcmVhcygpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCA3ODkzNWQxMWVmYmVmMjdm
ODg0ODYyMzAwYmU2MDgxYjJhOTA1MGE1Li42ZjMyMGRiNzliMDYwM2Q1MzdiNjA2NGU0MDVkY2Ni
NWE0NDlhMTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJU
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAg
LTIzLDggKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgU2Nyb2xsYmFy
VGhlbWVfaAotI2RlZmluZSBTY3JvbGxiYXJUaGVtZV9oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKQEAgLTM3LDcgKzM2
LDcgQEAgY2xhc3MgU2Nyb2xsYWJsZUFyZWE7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3Jv
bGxWaWV3OwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JB
TkRJTkcpCiBjbGFzcyBHcmFwaGljc0xheWVyOwogI2VuZGlmCiAKQEAgLTkxLDcgKzkwLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwYWludFRpY2ttYXJrcyhHcmFwaGljc0NvbnRleHQm
LCBTY3JvbGxiYXImLCBjb25zdCBJbnRSZWN0JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhaW50
T3ZlcmhhbmdBcmVhcyhTY3JvbGxWaWV3JiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVj
dCYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgeyB9CiAKLSNpZiBFTkFCTEUoUlVC
QkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICB2aXJ0dWFsIHZvaWQg
c2V0VXBPdmVyaGFuZ0FyZWFzTGF5ZXJDb250ZW50cyhHcmFwaGljc0xheWVyKiwgY29uc3QgQ29s
b3ImKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0VXBDb250ZW50U2hhZG93TGF5ZXIoR3JhcGhp
Y3NMYXllciopIHsgfQogI2VuZGlmCkBAIC0xMjEsNCArMTIwLDMgQEAgcHJpdmF0ZToKIH07CiAK
IH0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5n
RWZmZWN0c0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0Vm
ZmVjdHNDb250cm9sbGVyLmgKaW5kZXggMDM2MDJkZWVkMjkxZGI5NjdkMDdhZTc1YmMwMWZlZjQ3
ZTc2OTY5Yy4uNjc5NTcxMTE3NWQ2NWU3NjhmNmIwYjFjNThhNjc4MTg0OWUwNGIwOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxl
ci5oCkBAIC03Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlS2V5
Ym9hcmRTY3JvbGxQb3NpdGlvbihNb25vdG9uaWNUaW1lKSB7IH0KICAgICB2aXJ0dWFsIEtleWJv
YXJkU2Nyb2xsaW5nQW5pbWF0b3IgKmtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IoKSBjb25zdCB7
IHJldHVybiBudWxscHRyOyB9CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFW
RShSVUJCRVJfQkFORElORykKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dzSG9yaXpvbnRhbFN0cmV0
Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jikg
Y29uc3QgPSAwOwogICAgIHZpcnR1YWwgSW50U2l6ZSBzdHJldGNoQW1vdW50KCkgY29uc3QgPSAw
OwpAQCAtMTU4LDcgKzE1OCw3IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgaGFu
ZGxlZC4KICAgICBib29sIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKTsKIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZF
KFJVQkJFUl9CQU5ESU5HKQogICAgIHZvaWQgc3RvcFJ1YmJlcmJhbmRpbmcoKTsKICAgICBib29s
IGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdDsKICAgICBSZWN0RWRnZXM8Ym9vbD4gcnVi
YmVyQmFuZGluZ0VkZ2VzKCkgY29uc3QgeyByZXR1cm4gbV9ydWJiZXJCYW5kaW5nRWRnZXM7IH0K
QEAgLTE4Niw3ICsxODYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnREZWZlcnJpbmdXaGVl
bEV2ZW50VGVzdENvbXBsZXRpb25EdWVUb1Njcm9sbFNuYXBwaW5nKCk7CiAgICAgdm9pZCBzdG9w
RGVmZXJyaW5nV2hlZWxFdmVudFRlc3RDb21wbGV0aW9uRHVlVG9TY3JvbGxTbmFwcGluZygpOwog
Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAg
ICAgdm9pZCBzdGFydFJ1YmJlcmJhbmRBbmltYXRpb24oKTsKICAgICB2b2lkIHN0b3BTbmFwUnVi
YmVyYmFuZEFuaW1hdGlvbigpOwogCkBAIC0yMjQsNyArMjI0LDcgQEAgcHJpdmF0ZToKICAgICBG
bG9hdFNpemUgbV9kcmFnRW5kZWRTY3JvbGxpbmdWZWxvY2l0eTsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8U2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXJUaW1lcj4gbV9zdGF0ZWxlc3NTbmFwVHJhbnNp
dGlvblRpbWVyOwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVS
X0JBTkRJTkcpCiAgICAgLy8gUnViYmVyIGJhbmQgc3RhdGUuCiAgICAgTW9ub3RvbmljVGltZSBt
X3N0YXJ0VGltZTsKICAgICBGbG9hdFNpemUgbV9zdGFydFN0cmV0Y2g7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJD
b2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRm
b3JtQ0FMYXllckNvY29hLm1tCmluZGV4IDJkMjg3MTY3N2ExNzdiYmU2ZjQ4Nzg4ZWQ4NDNlMWY1
NWFkZTZhMGYuLmMwOGJiMDc0OTQ2MTI2ZGY1NjlhODQxZDBiNTYxZmE5Njc1N2EzNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3Jt
Q0FMYXllckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
L2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tCkBAIC0xMDM0LDcgKzEwMzQsNyBAQCB2b2lk
IFBsYXRmb3JtQ0FMYXllckNvY29hOjp1cGRhdGVDdXN0b21BcHBlYXJhbmNlKEdyYXBoaWNzTGF5
ZXI6OkN1c3RvbUFwcGVhcmFuYwogCiAgICAgbV9jdXN0b21BcHBlYXJhbmNlID0gYXBwZWFyYW5j
ZTsKIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5H
KQogICAgIHN3aXRjaCAoYXBwZWFyYW5jZSkgewogICAgIGNhc2UgR3JhcGhpY3NMYXllcjo6Q3Vz
dG9tQXBwZWFyYW5jZTo6Tm9uZToKICAgICBjYXNlIEdyYXBoaWNzTGF5ZXI6OkN1c3RvbUFwcGVh
cmFuY2U6OkxpZ2h0QmFja2Ryb3A6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5oCmluZGV4IDMwZjE4NjExMzllOTM4ZGUzNWQ0YzZhNTA2YzllNjky
MTZjN2Q5YmMuLjYyZTA1M2EyODQ3OTNjZDg4ZDE1ZGZjMzZlMzg5OGJiMzZmYTQ4NDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCkBAIC00
NSwxMCArNDUsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJh
ck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlw
bGllciwgT3B0aW9uU2V0PFNjcm9sbEJlaGF2aW9yPikgZmluYWw7CiAKLSNpZiBFTkFCTEUoUlVC
QkVSX0JBTkRJTkcpCiAgICAgYm9vbCBzaG91bGRGb3J3YXJkV2hlZWxFdmVudHNUb1BhcmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsKICAgICBib29sIGhhbmRsZVdoZWVsRXZl
bnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgZmluYWw7Ci0jZW5kaWYKIAogICAgIGJvb2wg
cGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSBjb25zdDsKIApAQCAtNjUsNyArNjMsNiBA
QCBwcml2YXRlOgogICAgIGJvb2wgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0
IFBsYXRmb3JtV2hlZWxFdmVudCYpIGZpbmFsOwogCiAgICAgLy8gU2Nyb2xsaW5nRWZmZWN0c0Nv
bnRyb2xsZXJDbGllbnQuCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogICAgIEludFNpemUg
c3RyZXRjaEFtb3VudCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgYWxsb3dzSG9yaXpvbnRhbFN0
cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgZmluYWw7CiAgICAgYm9v
bCBhbGxvd3NWZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29u
c3QgZmluYWw7CkBAIC03Nyw3ICs3NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbW1lZGlhdGVT
Y3JvbGxCeVdpdGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0U2l6ZSYpIGZp
bmFsOwogICAgIHZvaWQgaW1tZWRpYXRlU2Nyb2xsQnkoY29uc3QgRmxvYXRTaXplJikgZmluYWw7
CiAgICAgdm9pZCBhZGp1c3RTY3JvbGxQb3NpdGlvblRvQm91bmRzSWZOZWNlc3NhcnkoKSBmaW5h
bDsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IDk1YjdhZWNiMWI2
YTNkODhkNjk3MTNhYmQ2OTM2MWJiOWFkZjJkZTguLmFlZjRmMzI0ODE4ZjM0NDhjNWMyNDMxNGQx
ZWJjOGQ0ZTlmMDA3NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0KQEAgLTU3LDcgKzU3LDYgQEAgYm9vbCBTY3JvbGxBbmltYXRvck1h
Yzo6cGxhdGZvcm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSBjb25zdAogICAgIHJldHVybiBlbmFi
bGVkOwogfQogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIGJvb2wgcnViYmVy
QmFuZGluZ0VuYWJsZWRGb3JTeXN0ZW0oKQogewogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVk
ID0gZmFsc2U7CkBAIC03Myw3ICs3Miw2IEBAIHN0YXRpYyBib29sIHJ1YmJlckJhbmRpbmdFbmFi
bGVkRm9yU3lzdGVtKCkKICAgICB9CiAgICAgcmV0dXJuIGVuYWJsZWQ7CiB9Ci0jZW5kaWYKIAog
Ym9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVu
dGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQg
bXVsdGlwbGllciwgT3B0aW9uU2V0PFNjcm9sbEJlaGF2aW9yPiBiZWhhdmlvcikKIHsKQEAgLTEw
OSwxMSArMTA3LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6aXNVc2VyU2Nyb2xsSW5Qcm9n
cmVzcygpIGNvbnN0CiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OmlzUnViYmVyQmFuZEluUHJv
Z3Jlc3MoKSBjb25zdAogewotI2lmICFFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCi0gICAgcmV0dXJu
IGZhbHNlOwotI2Vsc2UKICAgICByZXR1cm4gbV9zY3JvbGxDb250cm9sbGVyLmlzUnViYmVyQmFu
ZEluUHJvZ3Jlc3MoKTsKLSNlbmRpZgogfQogCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjppc1Nj
cm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKQEAgLTE0MCw4ICsxMzQsNiBAQCB2b2lkIFNjcm9s
bEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2ZW50UGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2UgcGhhc2UpCiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsYmFyc0NvbnRyb2xsZXIo
KS5tYXlCZWdpblNjcm9sbEdlc3R1cmUoKTsKIH0KIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElO
RykKLQogYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2hvdWxkRm9yd2FyZFdoZWVsRXZlbnRzVG9Q
YXJlbnQoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KSBjb25zdAogewogICAg
IGlmIChzdGQ6OmFicyh3aGVlbEV2ZW50LmRlbHRhWSgpKSA+PSBzdGQ6OmFicyh3aGVlbEV2ZW50
LmRlbHRhWCgpKSkKQEAgLTI4OCw3ICsyODAsNiBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpp
bW1lZGlhdGVTY3JvbGxCeShjb25zdCBGbG9hdFNpemUmIGRlbHRhKQogCiAgICAgc2V0Q3VycmVu
dFBvc2l0aW9uKG5ld1Bvc2l0aW9uLCBOb3RpZnlTY3JvbGxhYmxlQXJlYTo6WWVzKTsKIH0KLSNl
bmRpZgogCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9s
bFNuYXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhZmQwMTNk
MTc3ZTZmNzZkZGUxYTU3Y2ExYjZiOTYzOWEwYTRlODRjLi4zNTE5ZWM3NzQ3Yjk3NTkzN2ExNWVh
OGQxMDg5NDI2NjZkNDQ3MjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsYmFyVGhlbWVNYWMuaApAQCAtNzEsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBk
aWRDcmVhdGVTY3JvbGxlckltcChTY3JvbGxiYXImKTsKICAgICBib29sIGlzTGF5b3V0RGlyZWN0
aW9uUlRMKFNjcm9sbGJhciYpOwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhB
VkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0VXBP
dmVyaGFuZ0FyZWFCYWNrZ3JvdW5kKENBTGF5ZXIgKiwgY29uc3QgQ29sb3ImIGN1c3RvbUJhY2tn
cm91bmRDb2xvciA9IENvbG9yKCkpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHJl
bW92ZU92ZXJoYW5nQXJlYUJhY2tncm91bmQoQ0FMYXllciAqKTsKIApAQCAtOTUsNyArOTUsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzaG91bGREcmFnRG9jdW1lbnRJbnN0ZWFkT2ZUaHVtYihT
Y3JvbGxiYXImLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKSBvdmVycmlkZTsKICAgICBpbnQg
c2Nyb2xsYmFyUGFydFRvSElQcmVzc2VkU3RhdGUoU2Nyb2xsYmFyUGFydCk7CiAKLSNpZiBFTkFC
TEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICB2b2lkIHNl
dFVwT3ZlcmhhbmdBcmVhc0xheWVyQ29udGVudHMoR3JhcGhpY3NMYXllciosIGNvbnN0IENvbG9y
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRVcENvbnRlbnRTaGFkb3dMYXllcihHcmFwaGljc0xh
eWVyKikgb3ZlcnJpZGU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxiYXJUaGVtZU1hYy5tbQppbmRleCBkZjcwNWY0NmQwNTU1YmQ1ZGU5NGI5ODA4OTk1
MDUzZjYxMmRmNmZjLi5iNDFkZDJiMTU3NzVkMmFlNTJjNzkzZjljMTc5NjMzNzEwZDMzYmMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
CkBAIC01NzgsNyArNTc4LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cGFpbnRTY3JvbGxD
b3JuZXIoU2Nyb2xsYWJsZUFyZWEmLCBHcmFwaGljc0NvbnRleHQmIGNvbnQKICAgICBBTExPV19E
RVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIH0KIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElO
RykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIFJldGFpblB0cjxDR0NvbG9yUmVm
PiBsaW5lbkJhY2tncm91bmRDb2xvcigpCiB7CiAgICAgTlNJbWFnZSAqaW1hZ2UgPSBuaWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0Nv
bnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0
c0NvbnRyb2xsZXIubW0KaW5kZXggZTdlYjc2NDkzYjgyZDIxNjQyMjdkZTc3YzdlNDcyODJhZTk4
YWZkMS4uMjk0OTBkOGFlYzgzYzNhMjI3ZDNiZTU2OWZhY2FkMjQxOThkZDAxNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29u
dHJvbGxlci5tbQpAQCAtMzgsMTEgKzM4LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0j
aWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVmVs
b2NpdHlaZXJvaW5nVGltZW91dCA9IDEwMF9tczsKIHN0YXRpYyBjb25zdCBmbG9hdCBydWJiZXJi
YW5kRGlyZWN0aW9uTG9ja1N0cmV0Y2hSYXRpbyA9IDE7CiBzdGF0aWMgY29uc3QgZmxvYXQgcnVi
YmVyYmFuZE1pbmltdW1SZXF1aXJlZERlbHRhQmVmb3JlU3RyZXRjaCA9IDEwOwotI2VuZGlmCiAK
IHN0YXRpYyBmbG9hdCBlbGFzdGljRGVsdGFGb3JUaW1lRGVsdGEoZmxvYXQgaW5pdGlhbFBvc2l0
aW9uLCBmbG9hdCBpbml0aWFsVmVsb2NpdHksIFNlY29uZHMgZWxhcHNlZFRpbWUpCiB7CkBAIC0z
NjIsNyArMzYwLDYgQEAgc3RkOjpvcHRpb25hbDxTY3JvbGxEaXJlY3Rpb24+IFNjcm9sbGluZ0Vm
ZmVjdHNDb250cm9sbGVyOjpkaXJlY3Rpb25Gcm9tRXZlbnQoY28KICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwogfQogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIGlubGluZSBm
bG9hdCByb3VuZFRvd2FyZFplcm8oZmxvYXQgbnVtKQogewogICAgIHJldHVybiBudW0gPiAwID8g
Y2VpbGYobnVtIC0gMC41ZikgOiBmbG9vcmYobnVtICsgMC41Zik7CkBAIC00MzUsMTMgKzQzMiwx
MCBAQCB2b2lkIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjp1cGRhdGVSdWJiZXJCYW5kQW5p
bWF0aW5nU3RhdGUoTW9ub3RvbmljVGltZSBjdQogCiAgICAgdXBkYXRlUnViYmVyQmFuZGluZ1N0
YXRlKCk7CiB9Ci0jZW5kaWYKIAogdm9pZCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6c2Ny
b2xsUG9zaXRpb25DaGFuZ2VkKCkKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCiAgICAg
dXBkYXRlUnViYmVyQmFuZGluZ1N0YXRlKCk7Ci0jZW5kaWYKIH0KIAogYm9vbCBTY3JvbGxpbmdF
ZmZlY3RzQ29udHJvbGxlcjo6aXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0CkBAIC00NTEs
MTEgKzQ0NSw3IEBAIGJvb2wgU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmlzVXNlclNjcm9s
bEluUHJvZ3Jlc3MoKSBjb25zdAogCiBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpp
c1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3QKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJ
TkcpCiAgICAgcmV0dXJuIG1faXNSdWJiZXJCYW5kaW5nOwotI2Vsc2UKLSAgICByZXR1cm4gZmFs
c2U7Ci0jZW5kaWYKIH0KIAogYm9vbCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aXNTY3Jv
bGxTbmFwSW5Qcm9ncmVzcygpIGNvbnN0CkBAIC00NzEsMTcgKzQ2MSwxNCBAQCBib29sIFNjcm9s
bGluZ0VmZmVjdHNDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIAog
dm9pZCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6c3RvcFJ1YmJlcmJhbmRpbmcoKQogewot
I2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKICAgICBzdG9wU25hcFJ1YmJlcmJhbmRBbmltYXRp
b24oKTsKICAgICBtX3N0cmV0Y2hTY3JvbGxGb3JjZSA9IHsgfTsKICAgICBtX3N0YXJ0VGltZSA9
IHsgfTsKICAgICBtX3N0YXJ0U3RyZXRjaCA9IHsgfTsKICAgICBtX29yaWdWZWxvY2l0eSA9IHsg
fTsKICAgICB1cGRhdGVSdWJiZXJCYW5kaW5nU3RhdGUoKTsKLSNlbmRpZgogfQogCi0jaWYgRU5B
QkxFKFJVQkJFUl9CQU5ESU5HKQogdm9pZCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6c3Rh
cnRSdWJiZXJiYW5kQW5pbWF0aW9uKCkKIHsKICAgICBtX2NsaWVudC53aWxsU3RhcnRSdWJiZXJC
YW5kU25hcEFuaW1hdGlvbigpOwpAQCAtNTYyLDggKzU0OSw2IEBAIHZvaWQgU2Nyb2xsaW5nRWZm
ZWN0c0NvbnRyb2xsZXI6OnVwZGF0ZVJ1YmJlckJhbmRpbmdFZGdlcyhJbnRTaXplIGNsaWVudFN0
cmV0Y2gpCiAgICAgbV9ydWJiZXJCYW5kaW5nRWRnZXMuc2V0Qm90dG9tKGNsaWVudFN0cmV0Y2gu
aGVpZ2h0KCkgPiAwKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShSVUJCRVJfQkFORElORykKLQog
ZW51bSBjbGFzcyBXaGVlbEV2ZW50U3RhdHVzIHsKICAgICBVc2VyU2Nyb2xsQmVnaW4sCiAgICAg
VXNlclNjcm9sbGluZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKaW5kZXggN2JiN2RiMWY5NTI0YzM0M2VjZjQ2YjA0OTYwYTJlMjY4
NWNmMDY5NS4uODZjN2QzODMzZTU3MzAzOTVjN2UyYTMzMDhiZDEyNjFiZTA3N2ZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAK
QEAgLTQxNSw3ICs0MTUsNyBAQCBSZW5kZXJMYXllckNvbXBvc2l0b3I6On5SZW5kZXJMYXllckNv
bXBvc2l0b3IoKQogICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9sYXllckZv
clZlcnRpY2FsU2Nyb2xsYmFyKTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFy
KG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXIpOwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQor
I2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRD
bGVhcihtX2xheWVyRm9yT3ZlcmhhbmdBcmVhcyk7CiAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJl
bnRBbmRDbGVhcihtX2NvbnRlbnRTaGFkb3dMYXllcik7CiAgICAgR3JhcGhpY3NMYXllcjo6dW5w
YXJlbnRBbmRDbGVhcihtX2xheWVyRm9yVG9wT3ZlcmhhbmdBcmVhKTsKQEAgLTE4MjIsNyArMTgy
Miw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVCYWNraW5nKFJlbmRlckxh
eWVyJiBsYXllciwgUmVxdWlyZXNDb21wb3NpdGluCiAgICAgICAgICAgICAgICAgYXV0byYgZnJh
bWVWaWV3ID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpOwogICAgICAgICAgICAgICAgIGlmIChh
dXRvKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkp
CiAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5mcmFtZVZpZXdSb290
TGF5ZXJEaWRDaGFuZ2UoZnJhbWVWaWV3KTsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisj
aWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICAgICAgICAgICAgICB1cGRhdGVMYXllckZvckhl
YWRlcihmcmFtZVZpZXcuaGVhZGVySGVpZ2h0KCkpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUxh
eWVyRm9yRm9vdGVyKGZyYW1lVmlldy5mb290ZXJIZWlnaHQoKSk7CiAjZW5kaWYKQEAgLTIxOTIs
NyArMjE5Miw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRDaGFu
Z2VTaXplKCkKICAgICAgICAgZnJhbWVWaWV3RGlkU2Nyb2xsKCk7CiAgICAgICAgIHVwZGF0ZU92
ZXJmbG93Q29udHJvbHNMYXllcnMoKTsKIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNp
ZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgICAgICBpZiAobV9sYXllckZvck92ZXJoYW5nQXJl
YXMpIHsKICAgICAgICAgICAgIGF1dG8mIGZyYW1lVmlldyA9IG1fcmVuZGVyVmlldy5mcmFtZVZp
ZXcoKTsKICAgICAgICAgICAgIG1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzLT5zZXRTaXplKGZyYW1l
Vmlldy5mcmFtZVJlY3QoKS5zaXplKCkpOwpAQCAtMjU0Niw3ICsyNTQ2LDcgQEAgdm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZVJvb3RMYXllclBvc2l0aW9uKCkKIAogICAgIHVwZGF0
ZVNjcm9sbExheWVyQ2xpcHBpbmcoKTsKIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNp
ZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgIGlmIChtX2NvbnRlbnRTaGFkb3dMYXllciAmJiBt
X3Jvb3RDb250ZW50c0xheWVyKSB7CiAgICAgICAgIG1fY29udGVudFNoYWRvd0xheWVyLT5zZXRQ
b3NpdGlvbihtX3Jvb3RDb250ZW50c0xheWVyLT5wb3NpdGlvbigpKTsKICAgICAgICAgbV9jb250
ZW50U2hhZG93TGF5ZXItPnNldFNpemUobV9yb290Q29udGVudHNMYXllci0+c2l6ZSgpKTsKQEAg
LTM3MzUsNyArMzczNSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc1Nj
cm9sbENvcm5lckxheWVyKCkgY29uc3QKICAgICByZXR1cm4gc2hvdWxkQ29tcG9zaXRlT3ZlcmZs
b3dDb250cm9scygpICYmIG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKS5pc1Njcm9sbENvcm5lclZp
c2libGUoKTsKIH0KIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJF
Ul9CQU5ESU5HKQogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzT3ZlcmhhbmdB
cmVhc0xheWVyKCkgY29uc3QKIHsKICAgICBpZiAoIWlzTWFpbkZyYW1lQ29tcG9zaXRvcigpKQpA
QCAtMzkwNCw3ICszOTA0LDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxh
eWVyRm9yT3ZlcmhhbmdBcmVhc0JhY2tncm91bmRDb2xvcigpCiAgICAgICAgIG1fbGF5ZXJGb3JP
dmVyaGFuZ0FyZWFzLT5zZXRDdXN0b21BcHBlYXJhbmNlKEdyYXBoaWNzTGF5ZXI6OkN1c3RvbUFw
cGVhcmFuY2U6OlNjcm9sbGluZ092ZXJoYW5nKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShSVUJC
RVJfQkFORElORykKKyNlbmRpZiAvLyBIQVZFKFJVQkJFUl9CQU5ESU5HKQogCiBib29sIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6dmlld05lZWRzVG9JbnZhbGlkYXRlRXZlbnRSZWdpb25PZkVuY2xv
c2luZ0NvbXBvc2l0aW5nTGF5ZXJGb3JSZXBhaW50KCkgY29uc3QKIHsKQEAgLTM5NzksNyArMzk3
OSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290QmFja2dyb3VuZENvbG9yT3JU
cmFuc3BhcmVuY3lDaGFuZ2VkKCkKICAgICBpZiAoZXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JDaGFu
Z2VkKSB7CiAgICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5jbGllbnQoKS5wYWdlRXh0ZW5kZWRCYWNr
Z3JvdW5kQ29sb3JEaWRDaGFuZ2UoKTsKICAgICAgICAgCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5E
SU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgICAgIHVwZGF0ZUxheWVyRm9yT3Zl
cmhhbmdBcmVhc0JhY2tncm91bmRDb2xvcigpOwogI2VuZGlmCiAgICAgfQpAQCAtMzk4OSw3ICsz
OTg5LDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJvb3RCYWNrZ3JvdW5kQ29sb3JP
clRyYW5zcGFyZW5jeUNoYW5nZWQoKQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlT3ZlcmZsb3dDb250cm9sc0xheWVycygpCiB7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5H
KQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgaWYgKHJlcXVpcmVzT3ZlcmhhbmdBcmVh
c0xheWVyKCkpIHsKICAgICAgICAgaWYgKCFtX2xheWVyRm9yT3ZlcmhhbmdBcmVhcykgewogICAg
ICAgICAgICAgbV9sYXllckZvck92ZXJoYW5nQXJlYXMgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUo
Z3JhcGhpY3NMYXllckZhY3RvcnkoKSwgKnRoaXMpOwpAQCAtNDE3OSw3ICs0MTc5LDcgQEAgdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmRlc3Ryb3lSb290TGF5ZXIoKQogCiAgICAgZGV0YWNo
Um9vdExheWVyKCk7CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJC
RVJfQkFORElORykKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fbGF5ZXJG
b3JPdmVyaGFuZ0FyZWFzKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggMGVmYWViMGU0N2Q5NzIwOTZmZDgwMzVi
YWMzZjcxZDZmODllZDc0Zi4uMjAyNmVkMTQ0YzNlMjExNjJmOWZlMGU2NWZkNDhjOTUyYThmZWUz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaApAQCAtMjY2LDcgKzI2Niw3IEBAIHB1YmxpYzoKIAogICAgIEdyYXBoaWNzTGF5ZXIqIGxh
eWVyRm9yQ2xpcHBpbmcoKSBjb25zdCB7ICByZXR1cm4gbV9jbGlwTGF5ZXIgPyBtX2NsaXBMYXll
ci5nZXQoKSA6IG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXIuZ2V0KCk7ICB9CiAKLSNpZiBFTkFCTEUo
UlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBHcmFwaGljc0xh
eWVyKiBoZWFkZXJMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JIZWFkZXIuZ2V0KCk7
IH0KICAgICBHcmFwaGljc0xheWVyKiBmb290ZXJMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5
ZXJGb3JGb290ZXIuZ2V0KCk7IH0KICNlbmRpZgpAQCAtMzM5LDcgKzMzOSw3IEBAIHB1YmxpYzoK
ICAgICBHcmFwaGljc0xheWVyKiBsYXllckZvckhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdCB7
IHJldHVybiBtX2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhci5nZXQoKTsgfQogICAgIEdyYXBo
aWNzTGF5ZXIqIGxheWVyRm9yVmVydGljYWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX2xh
eWVyRm9yVmVydGljYWxTY3JvbGxiYXIuZ2V0KCk7IH0KICAgICBHcmFwaGljc0xheWVyKiBsYXll
ckZvclNjcm9sbENvcm5lcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXIu
Z2V0KCk7IH0KLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFO
RElORykKICAgICBHcmFwaGljc0xheWVyKiBsYXllckZvck92ZXJoYW5nQXJlYXMoKSBjb25zdCB7
IHJldHVybiBtX2xheWVyRm9yT3ZlcmhhbmdBcmVhcy5nZXQoKTsgfQogICAgIEdyYXBoaWNzTGF5
ZXIqIGxheWVyRm9yQ29udGVudFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFNoYWRv
d0xheWVyLmdldCgpOyB9CiAKQEAgLTM0OSw3ICszNDksNyBAQCBwdWJsaWM6CiAgICAgR3JhcGhp
Y3NMYXllciogdXBkYXRlTGF5ZXJGb3JGb290ZXIoYm9vbCB3YW50c0xheWVyKTsKIAogICAgIHZv
aWQgdXBkYXRlTGF5ZXJGb3JPdmVyaGFuZ0FyZWFzQmFja2dyb3VuZENvbG9yKCk7Ci0jZW5kaWYg
Ly8gRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2VuZGlmIC8vIEhBVkUoUlVCQkVSX0JBTkRJTkcp
CiAKICAgICAvLyBGSVhNRTogbWFrZSB0aGUgY29vcmRpbmF0ZWQvYXN5bmMgdGVybWlub2xvZ3kg
Y29uc2lzdGVudC4KICAgICBib29sIGlzVmlld3BvcnRDb25zdHJhaW5lZEZpeGVkT3JTdGlja3lM
YXllcihjb25zdCBSZW5kZXJMYXllciYpIGNvbnN0OwpAQCAtNTUxLDcgKzU1MSw3IEBAIHByaXZh
dGU6CiAgICAgYm9vbCByZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXllcigpIGNvbnN0Owog
ICAgIGJvb2wgcmVxdWlyZXNWZXJ0aWNhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7CiAgICAgYm9v
bCByZXF1aXJlc1Njcm9sbENvcm5lckxheWVyKCkgY29uc3Q7Ci0jaWYgRU5BQkxFKFJVQkJFUl9C
QU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgYm9vbCByZXF1aXJlc092ZXJo
YW5nQXJlYXNMYXllcigpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb250ZW50U2hhZG93TGF5
ZXIoKSBjb25zdDsKICNlbmRpZgpAQCAtNjE1LDcgKzYxNSw3IEBAIHByaXZhdGU6CiAgICAgUmVm
UHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyOwogICAgIFJl
ZlB0cjxHcmFwaGljc0xheWVyPiBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXI7CiAgICAgUmVm
UHRyPEdyYXBoaWNzTGF5ZXI+IG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXI7Ci0jaWYgRU5BQkxFKFJV
QkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgUmVmUHRyPEdyYXBo
aWNzTGF5ZXI+IG1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzOwogICAgIFJlZlB0cjxHcmFwaGljc0xh
eWVyPiBtX2NvbnRlbnRTaGFkb3dMYXllcjsKICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9s
YXllckZvclRvcE92ZXJoYW5nQXJlYTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcAppbmRleCA3NmFjNDc4NGQ5ODBlNTc1
MjYwM2Q4M2IwYWViOTcxY2FkMjllODBhLi5kZjJiZWUxODYxNWU1ZGQyYjAzNTE2NTdmN2I0MDdk
M2VhOGJkMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJTY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyU2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgYm9vbCBSZW5kZXJM
YXllclNjcm9sbGFibGVBcmVhOjppc1VzZXJTY3JvbGxJblByb2dyZXNzKCkgY29uc3QKIAogYm9v
bCBSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhOjppc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29u
c3QKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElO
RykKICAgICBpZiAoIXNjcm9sbHNPdmVyZmxvdygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
QEAgLTUxMiw3ICs1MTIsNyBAQCBJbnRSZWN0IFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnZp
c2libGVDb250ZW50UmVjdEludGVybmFsKFZpc2libGVDb250ZW50UmVjdAogCiBJbnRTaXplIFJl
bmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6Om92ZXJoYW5nQW1vdW50KCkgY29uc3QKIHsKLSNpZiBF
TkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBhdXRv
JiByZW5kZXJlciA9IG1fbGF5ZXIucmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyLnNldHRp
bmdzKCkucnViYmVyQmFuZGluZ0ZvclN1YlNjcm9sbGFibGVSZWdpb25zRW5hYmxlZCgpKQogICAg
ICAgICByZXR1cm4gSW50U2l6ZSgpOwpAQCAtODU0LDE0ICs4NTQsMTQgQEAgdm9pZCBSZW5kZXJM
YXllclNjcm9sbGFibGVBcmVhOjpzZXRIYXNIb3Jpem9udGFsU2Nyb2xsYmFyKGJvb2wgaGFzU2Ny
b2xsYmFyKQogCiAgICAgaWYgKGhhc1Njcm9sbGJhcikgewogICAgICAgICBtX2hCYXIgPSBjcmVh
dGVTY3JvbGxiYXIoSG9yaXpvbnRhbFNjcm9sbGJhcik7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5E
SU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgICAgIGF1dG8mIHJlbmRlcmVyID0g
bV9sYXllci5yZW5kZXJlcigpOwogICAgICAgICBTY3JvbGxFbGFzdGljaXR5IGVsYXN0aWNpdHkg
PSBzY3JvbGxzT3ZlcmZsb3coKSAmJiByZW5kZXJlci5zZXR0aW5ncygpLnJ1YmJlckJhbmRpbmdG
b3JTdWJTY3JvbGxhYmxlUmVnaW9uc0VuYWJsZWQoKSA/IFNjcm9sbEVsYXN0aWNpdHlBdXRvbWF0
aWMgOiBTY3JvbGxFbGFzdGljaXR5Tm9uZTsKICAgICAgICAgU2Nyb2xsYWJsZUFyZWE6OnNldEhv
cml6b250YWxTY3JvbGxFbGFzdGljaXR5KGVsYXN0aWNpdHkpOwogI2VuZGlmCiAgICAgfSBlbHNl
IHsKICAgICAgICAgZGVzdHJveVNjcm9sbGJhcihIb3Jpem9udGFsU2Nyb2xsYmFyKTsKLSNpZiBF
TkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICAgICAg
U2Nyb2xsYWJsZUFyZWE6OnNldEhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVsYXN0
aWNpdHlOb25lKTsKICNlbmRpZgogICAgIH0KQEAgLTg4MCwxNCArODgwLDE0IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYTo6c2V0SGFzVmVydGljYWxTY3JvbGxiYXIoYm9vbCBoYXNT
Y3JvbGxiYXIpCiAKICAgICBpZiAoaGFzU2Nyb2xsYmFyKSB7CiAgICAgICAgIG1fdkJhciA9IGNy
ZWF0ZVNjcm9sbGJhcihWZXJ0aWNhbFNjcm9sbGJhcik7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5E
SU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgICAgIGF1dG8mIHJlbmRlcmVyID0g
bV9sYXllci5yZW5kZXJlcigpOwogICAgICAgICBTY3JvbGxFbGFzdGljaXR5IGVsYXN0aWNpdHkg
PSBzY3JvbGxzT3ZlcmZsb3coKSAmJiByZW5kZXJlci5zZXR0aW5ncygpLnJ1YmJlckJhbmRpbmdG
b3JTdWJTY3JvbGxhYmxlUmVnaW9uc0VuYWJsZWQoKSA/IFNjcm9sbEVsYXN0aWNpdHlBdXRvbWF0
aWMgOiBTY3JvbGxFbGFzdGljaXR5Tm9uZTsKICAgICAgICAgU2Nyb2xsYWJsZUFyZWE6OnNldFZl
cnRpY2FsU2Nyb2xsRWxhc3RpY2l0eShlbGFzdGljaXR5KTsKICNlbmRpZgogICAgIH0gZWxzZSB7
CiAgICAgICAgIGRlc3Ryb3lTY3JvbGxiYXIoVmVydGljYWxTY3JvbGxiYXIpOwotI2lmIEVOQUJM
RShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgICAgICBTY3Jv
bGxhYmxlQXJlYTo6c2V0VmVydGljYWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVsYXN0aWNpdHlO
b25lKTsKICNlbmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVQcm9wZXJ0eUFwcGxpZXIubW0gYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBs
aWVyLm1tCmluZGV4IDcwYTc5OTUxMTczYmNiNzdmY2QxMWZlMzZhMmMzMTdiMTIwZTBhYmIuLmE4
MWYwZTUyMDE1NjUzZmQ0ZDA5ZjM3ZmVmN2ZiZmFmNjgxNGE3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVQcm9wZXJ0eUFw
cGxpZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllci5tbQpAQCAtMTI3LDcgKzEyNyw3IEBAIHN0YXRpYyBO
U1N0cmluZyAqdG9DQUZpbHRlclR5cGUoUGxhdGZvcm1DQUxheWVyOjpGaWx0ZXJUeXBlIHR5cGUp
CiAKIHN0YXRpYyB2b2lkIHVwZGF0ZUN1c3RvbUFwcGVhcmFuY2UoQ0FMYXllciAqbGF5ZXIsIEdy
YXBoaWNzTGF5ZXI6OkN1c3RvbUFwcGVhcmFuY2UgY3VzdG9tQXBwZWFyYW5jZSkKIHsKLSNpZiBF
TkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBzd2l0
Y2ggKGN1c3RvbUFwcGVhcmFuY2UpIHsKICAgICBjYXNlIEdyYXBoaWNzTGF5ZXI6OkN1c3RvbUFw
cGVhcmFuY2U6Ok5vbmU6CiAgICAgY2FzZSBHcmFwaGljc0xheWVyOjpDdXN0b21BcHBlYXJhbmNl
OjpEYXJrQmFja2Ryb3A6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDJhMDdjODEwZTlkYjE4
MWEzYzQwZGFiN2E4ODZiNjllNTMwMjUwZDAuLjIxYmMyNzYyMzU0ODZhOWZkMzc3MTY5YTQ0YWZm
OGNlMmEzZjg5NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMjI4LDcgKzEyMjgsNyBA
QCB2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKIAogdm9p
ZCBXZWJDaHJvbWVDbGllbnQ6OmRpZEFkZEhlYWRlckxheWVyKEdyYXBoaWNzTGF5ZXImIGhlYWRl
clBhcmVudCkKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJf
QkFORElORykKICAgICBpZiAoUGFnZUJhbm5lciogYmFubmVyID0gbV9wYWdlLmhlYWRlclBhZ2VC
YW5uZXIoKSkKICAgICAgICAgYmFubmVyLT5kaWRBZGRQYXJlbnRMYXllcigmaGVhZGVyUGFyZW50
KTsKICNlbHNlCkBAIC0xMjM4LDcgKzEyMzgsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlk
QWRkSGVhZGVyTGF5ZXIoR3JhcGhpY3NMYXllciYgaGVhZGVyUGFyZW50KQogCiB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkQWRkRm9vdGVyTGF5ZXIoR3JhcGhpY3NMYXllciYgZm9vdGVyUGFyZW50
KQogewotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5H
KQogICAgIGlmIChQYWdlQmFubmVyKiBiYW5uZXIgPSBtX3BhZ2UuZm9vdGVyUGFnZUJhbm5lcigp
KQogICAgICAgICBiYW5uZXItPmRpZEFkZFBhcmVudExheWVyKCZmb290ZXJQYXJlbnQpOwogI2Vs
c2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438881</attachid>
            <date>2021-09-21 16:20:13 -0700</date>
            <delta_ts>2021-09-21 20:40:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230583-20210921162012.patch</filename>
            <type>text/plain</type>
            <size>35505</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdiZTE5ZjAyZTk5Y2E2MTYwODVmM2Ni
MjFiNmEwYTM1MGUwNDExY2IuLmY1YmVlZTg3NTUzZWEyMGNkMjYzNDA5MTk2YmNlNjE2Y2JlZjI3
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMDktMjEgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIGZyb20gRU5BQkxFKFJVQkJFUl9C
QU5ESU5HKSB0byBIQVZFKFJVQkJFUl9CQU5ESU5HKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUlVCQkVSX0JBTkRJTkcgaXMgbm90IGEgZmVhdHVyZSB3
ZSdsbCBldmVyIHR1cm4gb2ZmIG9uIG1hY09TLCBhbmQgaXQgd2FzIG9ubHkgZXZlciBlbmFibGVk
CisgICAgICAgIGZvciB0aGF0IHBsYXRmb3JtLiBIb3dldmVyLCBpdCdzIGFsc28gdXNlZCBpbiBz
b21lIGNyb3NzLXBsYXRmb3JtIGNvZGUsIHNvCisgICAgICAgIEhBVkUoUlVCQkVSX0JBTkRJTkcp
IG1ha2VzIG1vcmUgc2Vuc2UgZm9yIHRoYXQgdXNlLgorCisgICAgICAgIEFsc28gcmVtb3ZlIEVO
QUJMRShSVUJCRVJfQkFORElORykgI2lmZGVmcyBmcm9tIGluc2lkZSBQTEFURk9STShNQUMpIGNv
ZGUuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6
CisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorCiAyMDIxLTA5LTIxICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEVuYWJsZSBNU0UgaW4gV0tX
ZWJWaWV3cyBieSBkZWZhdWx0IG9uIGlQYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlMWRhYmIzNDgwODllNzE0
MzdkYTU0MzEyMGFjZWJkYmFiODk3Y2U0Li5iY2ZkMTc4ZGNjODE5NGYxNjUxYzEyYTk0NmQwZjM3
OTVlOTQ0MDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMjEtMDktMjEgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIGZyb20g
RU5BQkxFKFJVQkJFUl9CQU5ESU5HKSB0byBIQVZFKFJVQkJFUl9CQU5ESU5HKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwNTgzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUlVCQkVSX0JBTkRJTkcgaXMg
bm90IGEgZmVhdHVyZSB3ZSdsbCBldmVyIHR1cm4gb2ZmIG9uIG1hY09TLCBhbmQgaXQgd2FzIG9u
bHkgZXZlciBlbmFibGVkCisgICAgICAgIGZvciB0aGF0IHBsYXRmb3JtLiBIb3dldmVyLCBpdCdz
IGFsc28gdXNlZCBpbiBzb21lIGNyb3NzLXBsYXRmb3JtIGNvZGUsIHNvCisgICAgICAgIEhBVkUo
UlVCQkVSX0JBTkRJTkcpIG1ha2VzIG1vcmUgc2Vuc2UgZm9yIHRoYXQgdXNlLgorCisgICAgICAg
IEFsc28gcmVtb3ZlIEVOQUJMRShSVUJCRVJfQkFORElORykgI2lmZGVmcyBmcm9tIGluc2lkZSBQ
TEFURk9STShNQUMpIGNvZGUuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OkZyYW1lVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OmlzU2Nyb2xsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Omhh
bmRsZVdoZWVsRXZlbnRGb3JTY3JvbGxpbmcpOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6
CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFVu
ZGVyUGFnZUJhY2tncm91bmRDb2xvck92ZXJyaWRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdD
b29yZGluYXRvcjo6aGVhZGVyTGF5ZXJGb3JGcmFtZVZpZXcpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZvb3RlckxheWVyRm9yRnJhbWVWaWV3KToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjb250ZW50U2hhZG93TGF5ZXJGb3JGcmFt
ZVZpZXcpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6c2Nyb2xsUG9zaXRpb25Jc05vdFJ1YmJlcmJhbmRpbmdF
ZGdlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OnBhaW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5oOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmg6CisgICAgICAg
ICogcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllckNvY29hOjp1cGRhdGVDdXN0b21BcHBlYXJhbmNlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpydWJi
ZXJCYW5kaW5nRW5hYmxlZEZvclN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmlt
YXRvck1hYzo6aXNSdWJiZXJCYW5kSW5Qcm9ncmVzcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxBbmltYXRvck1hYzo6aW1tZWRpYXRlU2Nyb2xsQnkpOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3Jv
bGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0
c0NvbnRyb2xsZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdFZmZlY3RzQ29udHJv
bGxlcjo6dXBkYXRlUnViYmVyQmFuZEFuaW1hdGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjpzY3JvbGxQb3NpdGlvbkNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmlzUnViYmVyQmFuZElu
UHJvZ3Jlc3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nRWZmZWN0c0NvbnRy
b2xsZXI6OnN0b3BSdWJiZXJiYW5kaW5nKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6flJlbmRlckxheWVyQ29tcG9zaXRvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnVwZGF0ZUJhY2tpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlUm9vdExheWVyUG9zaXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290QmFja2dyb3VuZENvbG9yT3JU
cmFuc3BhcmVuY3lDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9z
aXRvcjo6dXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmRlc3Ryb3lSb290TGF5ZXIpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXJTY3JvbGxhYmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllclNj
cm9sbGFibGVBcmVhOjppc1J1YmJlckJhbmRJblByb2dyZXNzIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6Om92ZXJoYW5nQW1vdW50IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnNldEhhc0hvcml6
b250YWxTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJTY3JvbGxhYmxl
QXJlYTo6c2V0SGFzVmVydGljYWxTY3JvbGxiYXIpOgorCiAyMDIxLTA5LTIxICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgUHVzaCBmb250LXBhbGV0
dGUtdmFsdWVzIGRhdGEgaW50byBDU1NGb250U2VsZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjAwZWE2YWM5
ZDk5ZTY2ZGVhNWYxMzJmNDk3N2U5MmEwNmFlODZiOS4uZDlhNjIzZjM4YmIwMjM2YjQzYzBmM2Y2
ZTRiNDkyOGZhMDdmNmFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMS0wOS0yMSAg
U2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBDaGFuZ2Ug
ZnJvbSBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpIHRvIEhBVkUoUlVCQkVSX0JBTkRJTkcpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA1ODMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSVUJCRVJfQkFORElO
RyBpcyBub3QgYSBmZWF0dXJlIHdlJ2xsIGV2ZXIgdHVybiBvZmYgb24gbWFjT1MsIGFuZCBpdCB3
YXMgb25seSBldmVyIGVuYWJsZWQKKyAgICAgICAgZm9yIHRoYXQgcGxhdGZvcm0uIEhvd2V2ZXIs
IGl0J3MgYWxzbyB1c2VkIGluIHNvbWUgY3Jvc3MtcGxhdGZvcm0gY29kZSwgc28KKyAgICAgICAg
SEFWRShSVUJCRVJfQkFORElORykgbWFrZXMgbW9yZSBzZW5zZSBmb3IgdGhhdCB1c2UuCisKKyAg
ICAgICAgQWxzbyByZW1vdmUgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKSAjaWZkZWZzIGZyb20gaW5z
aWRlIFBMQVRGT1JNKE1BQykgY29kZS4KKworICAgICAgICAqIFNoYXJlZC9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tOgorICAgICAgICAoV2ViS2l0Ojp1
cGRhdGVDdXN0b21BcHBlYXJhbmNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVu
dDo6ZGlkQWRkSGVhZGVyTGF5ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6
OmRpZEFkZEZvb3RlckxheWVyKToKKwogMjAyMS0wOS0yMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJv
bm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dIGpxdWVyeS9vZmZzZXQu
aHRtbCBpcyByYW5kb21seSBmYWlsaW5nIGFuIGFzc2VydGlvbiBpbiBEcmF3aW5nQXJlYUNvb3Jk
aW5hdGVkR3JhcGhpY3M6OmxheWVySG9zdERpZEZsdXNoTGF5ZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGNmZGNjMzZm
MDA2NWMxZGNkMjRlMjIxNjY2MzRkYzU4Y2ExOTc4YTUuLmZmNTAzNDBjZjFkZWEwNjA0NjEwMzdh
NmU2NjZiY2FiNjI5NTg4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xODM4LDcgKzE4MzgsNyBAQCBSZXF1aXJlc1Vz
ZXJHZXN0dXJlVG9Mb2FkVmlkZW86CiAKIFJ1YmJlckJhbmRpbmdGb3JTdWJTY3JvbGxhYmxlUmVn
aW9uc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKLSAgY29uZGl0aW9uOiBFTkFCTEUoUlVCQkVSX0JB
TkRJTkcpCisgIGNvbmRpdGlvbjogSEFWRShSVUJCRVJfQkFORElORykKICAgZGVmYXVsdFZhbHVl
OgogICAgIFdlYktpdExlZ2FjeToKICAgICAgIGRlZmF1bHQ6IGZhbHNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oCmluZGV4IDFjYmM1N2ZkNWNlZWRmMTAyMGM2ZmI4ZDlhNTAwMTJhYzViZGRlMzAuLjE4ZTRk
NTExMDYxMDgwZTJmZmE3MjE1ODlhOWJmYjliOTE1ZDFjYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5o
CkBAIC0zMDYsNiArMzA2LDEwIEBACiAjZGVmaW5lIEhBVkVfQ1ZESVNQTEFZTElOSyAxCiAjZW5k
aWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyNkZWZpbmUgSEFWRV9SVUJCRVJfQkFORElORyAxCisj
ZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmICFQTEFURk9STShJT1NfRkFNSUxZ
X1NJTVVMQVRPUikKICNkZWZpbmUgSEFWRV9JT1NVUkZBQ0VfQ09SRUlNQUdFX1NVUFBPUlQgMQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggODlkZDlkY2Y0MDdmNTNhMGE4
N2Y1OWE2NTViOTM0OWYzNTM0ZGZlNS4uNGVmOWMyY2VkYWViZjkwZjVlMDYwYzA1NjM3MWRjMjBk
ZjE1MTU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTkzLDcgKzE5Myw3IEBA
IEZyYW1lVmlldzo6RnJhbWVWaWV3KEZyYW1lJiBmcmFtZSkKIHsKICAgICBpbml0KCk7CiAKLSNp
ZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBT
Y3JvbGxFbGFzdGljaXR5IHZlcnRpY2FsRWxhc3RpY2l0eSA9IFNjcm9sbEVsYXN0aWNpdHlOb25l
OwogICAgIFNjcm9sbEVsYXN0aWNpdHkgaG9yaXpvbnRhbEVsYXN0aWNpdHkgPSBTY3JvbGxFbGFz
dGljaXR5Tm9uZTsKICAgICBpZiAobV9mcmFtZS0+aXNNYWluRnJhbWUoKSkgewpAQCAtODg3LDcg
Kzg4Nyw3IEBAIFNjcm9sbGFibGVBcmVhKiBGcmFtZVZpZXc6OnNjcm9sbGFibGVBcmVhRm9yU2Ny
b2xsaW5nTm9kZUlEKFNjcm9sbGluZ05vZGVJRCBub2RlCiAgICAgcmV0dXJuIHJlbmRlclZpZXct
PmNvbXBvc2l0b3IoKS5zY3JvbGxhYmxlQXJlYUZvclNjcm9sbGluZ05vZGVJRChub2RlSUQpOwog
fQogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcp
CiBHcmFwaGljc0xheWVyKiBGcmFtZVZpZXc6OmxheWVyRm9yT3ZlcmhhbmdBcmVhcygpIGNvbnN0
CiB7CiAgICAgUmVuZGVyVmlldyogcmVuZGVyVmlldyA9IHRoaXMtPnJlbmRlclZpZXcoKTsKQEAg
LTkxNCw3ICs5MTQsNyBAQCBHcmFwaGljc0xheWVyKiBGcmFtZVZpZXc6OnNldFdhbnRzTGF5ZXJG
b3JCb3R0b21PdmVySGFuZ0FyZWEoYm9vbCB3YW50c0xheWVyKSBjbwogICAgIHJldHVybiByZW5k
ZXJWaWV3LT5jb21wb3NpdG9yKCkudXBkYXRlTGF5ZXJGb3JCb3R0b21PdmVyaGFuZ0FyZWEod2Fu
dHNMYXllcik7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjZW5kaWYg
Ly8gSEFWRShSVUJCRVJfQkFORElORykKIAogdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZVNuYXBPZmZz
ZXRzKCkKIHsKQEAgLTM4OTAsNyArMzg5MCw3IEBAIGJvb2wgRnJhbWVWaWV3Ojppc1Njcm9sbGFi
bGUoU2Nyb2xsYWJpbGl0eSBkZWZpbml0aW9uT2ZTY3JvbGxhYmxlKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBib29sIHJlcXVpcmVzQWN0dWFsT3ZlcmZsb3dUb0JlQ29uc2lkZXJlZFNj
cm9sbGFibGUgPSAhZnJhbWUoKS5pc01haW5GcmFtZSgpIHx8IGRlZmluaXRpb25PZlNjcm9sbGFi
bGUgIT0gU2Nyb2xsYWJpbGl0eTo6U2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGU7Ci0jaWYgIUVO
QUJMRShSVUJCRVJfQkFORElORykKKyNpZiAhSEFWRShSVUJCRVJfQkFORElORykKICAgICByZXF1
aXJlc0FjdHVhbE92ZXJmbG93VG9CZUNvbnNpZGVyZWRTY3JvbGxhYmxlID0gdHJ1ZTsKICNlbmRp
ZgogCkBAIC01MTYwLDcgKzUxNjAsNyBAQCBib29sIEZyYW1lVmlldzo6aGFuZGxlV2hlZWxFdmVu
dEZvclNjcm9sbGluZyhjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbgogewogICAg
IC8vIE5vdGUgdGhhdCB0byBhbGxvdyBmb3IgcnViYmVyLWJhbmQgb3Zlci1zY3JvbGwgYmVoYXZp
b3IsIGV2ZW4gbm9uLXNjcm9sbGFibGUgdmlld3MKICAgICAvLyBzaG91bGQgaGFuZGxlIHdoZWVs
IGV2ZW50cy4KLSNpZiAhRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmICFIQVZFKFJVQkJFUl9C
QU5ESU5HKQogICAgIGlmICghaXNTY3JvbGxhYmxlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMjY2MTUxODYwM2IzYWIwNDg2MTIw
NjE2MjgyYjEzOWYxYzA3Y2UwYS4uZDlkNDhhZjVmN2QxNDk3N2YzYTUwZGU1NjU5OTNlZGUzZDUy
YTMxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC01ODQsNyArNTg0LDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGZvcmNlVXBkYXRl
U2Nyb2xsYmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZygpIGNvbnN0IGZpbmFs
OwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcp
CiAgICAgV0VCQ09SRV9FWFBPUlQgR3JhcGhpY3NMYXllciogc2V0V2FudHNMYXllckZvclRvcE92
ZXJIYW5nQXJlYShib29sKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCBHcmFwaGljc0xheWVy
KiBzZXRXYW50c0xheWVyRm9yQm90dG9tT3ZlckhhbmdBcmVhKGJvb2wpIGNvbnN0OwogI2VuZGlm
CkBAIC03NjQsNyArNzY0LDcgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IHNjcm9sbGFibGVBcmVh
Qm91bmRpbmdCb3goYm9vbCogPSBudWxscHRyKSBjb25zdCBmaW5hbDsKICAgICBib29sIHNjcm9s
bEFuaW1hdG9yRW5hYmxlZCgpIGNvbnN0IGZpbmFsOwogICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVy
Rm9yU2Nyb2xsQ29ybmVyKCkgY29uc3QgZmluYWw7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5H
KQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXJGb3JP
dmVyaGFuZ0FyZWFzKCkgY29uc3QgZmluYWw7CiAjZW5kaWYKICAgICB2b2lkIGNvbnRlbnRzUmVz
aXplZCgpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggMzcyNDhlNDNlYzQ4YjQ4YmJkZTRj
ZmMyMDEzNWVkN2QwN2ZlODNmOC4uNmUxNThhMzhmNzExMGI5ZTU2Yjk3ZWQ4MGVmMTEwY2Y5ZjQ2
MzFlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC0yNjE5LDE0ICsyNjE5LDE0IEBAIHZvaWQgUGFn
ZTo6c2V0VW5kZXJQYWdlQmFja2dyb3VuZENvbG9yT3ZlcnJpZGUoQ29sb3ImJiB1bmRlclBhZ2VC
YWNrZ3JvdW5kQ29sb3JPCiAKICAgICBzY2hlZHVsZVJlbmRlcmluZ1VwZGF0ZSh7IH0pOwogCi0j
aWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAg
aWYgKFJlZlB0ciBmcmFtZVZpZXcgPSBtYWluRnJhbWUoKS52aWV3KCkpIHsKICAgICAgICAgaWYg
KGF1dG8qIHJlbmRlclZpZXcgPSBmcmFtZVZpZXctPnJlbmRlclZpZXcoKSkgewogICAgICAgICAg
ICAgaWYgKHJlbmRlclZpZXctPnVzZXNDb21wb3NpdGluZygpKQogICAgICAgICAgICAgICAgIHJl
bmRlclZpZXctPmNvbXBvc2l0b3IoKS51cGRhdGVMYXllckZvck92ZXJoYW5nQXJlYXNCYWNrZ3Jv
dW5kQ29sb3IoKTsKICAgICAgICAgfQogICAgIH0KLSNlbmRpZiAvLyBFTkFCTEUoUlVCQkVSX0JB
TkRJTkcpCisjZW5kaWYgLy8gSEFWRShSVUJCRVJfQkFORElORykKIH0KIAogLy8gVGhlc2UgYXJl
IG1hZ2ljYWwgY29uc3RhbnRzIHRoYXQgbWlnaHQgYmUgdHdlYWtlZCBvdmVyIHRpbWUuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5jcHAKaW5kZXggYjhlYmJmZTVkZWFkNmE3Mjk5NDExNzRhYzMwNTNmZWIxNTEwZmU1ZS4uYzgw
YzI2ZWYwMjBjYTgxYWE1OTFlMjg2NWIyOWVlYWM2OWM4MmVjZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAt
MjE2LDcgKzIxNiw3IEBAIEdyYXBoaWNzTGF5ZXIqIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3Jv
bGxlZENvbnRlbnRzTGF5ZXJGb3JGcmFtZVZpZXcoRnJhbWVWaWV3CiAKIEdyYXBoaWNzTGF5ZXIq
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpoZWFkZXJMYXllckZvckZyYW1lVmlldyhGcmFtZVZpZXcm
IGZyYW1lVmlldykKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJC
RVJfQkFORElORykKICAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IGZyYW1lVmlldy5mcmFtZSgp
LmNvbnRlbnRSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gcmVuZGVyVmlldy0+Y29tcG9zaXRv
cigpLmhlYWRlckxheWVyKCk7CiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0yMjgsNyArMjI4LDcg
QEAgR3JhcGhpY3NMYXllciogU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmhlYWRlckxheWVyRm9yRnJh
bWVWaWV3KEZyYW1lVmlldyYgZnJhbWVWaWUKIAogR3JhcGhpY3NMYXllciogU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OmZvb3RlckxheWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyYgZnJhbWVWaWV3KQog
ewotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQog
ICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gZnJhbWVWaWV3LmZyYW1lKCkuY29udGVudFJlbmRl
cmVyKCkpCiAgICAgICAgIHJldHVybiByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkuZm9vdGVyTGF5
ZXIoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTI1NCw3ICsyNTQsNyBAQCBHcmFwaGljc0xh
eWVyKiBTY3JvbGxpbmdDb29yZGluYXRvcjo6aW5zZXRDbGlwTGF5ZXJGb3JGcmFtZVZpZXcoRnJh
bWVWaWV3JiBmcmFtZQogCiBHcmFwaGljc0xheWVyKiBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y29u
dGVudFNoYWRvd0xheWVyRm9yRnJhbWVWaWV3KEZyYW1lVmlldyYgZnJhbWVWaWV3KQogewotI2lm
IEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgIGlm
IChhdXRvKiByZW5kZXJWaWV3ID0gZnJhbWVWaWV3LmZyYW1lKCkuY29udGVudFJlbmRlcmVyKCkp
CiAgICAgICAgIHJldHVybiByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkubGF5ZXJGb3JDb250ZW50
U2hhZG93KCk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVn
YXRlTWFjLm1tCmluZGV4IGI4MjQ0ZTNkZWJlZDUzOTE2MWZmMzU1NTM1OTYxYzYyM2I1YWI1ODku
LjRmMTg3OWM4ZTg0MzBmOWQ0YTkwMWFhNjI0NTlhYjE3N2Y1OTRjMGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0xMjMsNyArMTIzLDYg
QEAgdm9pZCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjp3aWxsRG9Qcm9n
cmFtbWF0aWNTY3JvbGwoY29uc3QgRmxvYXQKIAogYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5n
Tm9kZURlbGVnYXRlTWFjOjpzY3JvbGxQb3NpdGlvbklzTm90UnViYmVyYmFuZGluZ0VkZ2UoY29u
c3QgRmxvYXRQb2ludCYgdGFyZ2V0UG9zaXRpb24pIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKFJVQkJF
Ul9CQU5ESU5HKQogICAgIGlmICghbV9zY3JvbGxDb250cm9sbGVyLmlzUnViYmVyQmFuZEluUHJv
Z3Jlc3MoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0xNTUsOSArMTU0LDYgQEAgYm9v
bCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjOjpzY3JvbGxQb3NpdGlvbklz
Tm90UnViYmVyYmFuZGluZ0VkZ2UKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAg
fQotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0odGFyZ2V0UG9zaXRpb24pOwotI2VuZGlmCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCmlu
ZGV4IGRiY2E0Mzg5NjBiYTVmNTA5OWNmOTkzNGFlYTU4M2E0YzMxYjViOGMuLjQ4M2MxMWViNDg5
NDgwYjA2ZWMzYWJhMzFkZTQyZjc0YTUwZWI1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbFZpZXcuY3BwCkBAIC0xMzAwLDcgKzEzMDAsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OnBhaW50
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwgU2VjdXJpdHlP
cgogICAgICAgICBwYWludENvbnRlbnRzKGNvbnRleHQsIGRvY3VtZW50RGlydHlSZWN0LCBzZWN1
cml0eU9yaWdpblBhaW50UG9saWN5LCBldmVudFJlZ2lvbkNvbnRleHQpOwogICAgIH0KIAotI2lm
IEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgIGlm
ICghbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzKCkpCiAgICAgICAgIGNhbGN1bGF0ZUFuZFBhaW50T3Zl
cmhhbmdBcmVhcyhjb250ZXh0LCByZWN0KTsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuaAppbmRleCA3ODQzZTMwM2U1YTIzZjY5ZTAxNmRhZjk0ZTk5ZmM0MzA5
NTIzZWY1Li4zMTliYmE4MzI3MzgxNDU3NTY3MjYxYTY0Y2M5ZDlhM2RkMTE3NjYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTM2MCw3ICszNjAsNyBAQCBw
cm90ZWN0ZWQ6CiAKICAgICBmcmllbmQgY2xhc3MgU2Nyb2xsaW5nQ29vcmRpbmF0b3I7CiAgICAg
dmlydHVhbCBHcmFwaGljc0xheWVyKiBsYXllckZvclNjcm9sbENvcm5lcigpIGNvbnN0IHsgcmV0
dXJuIG51bGxwdHI7IH0KLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJC
RVJfQkFORElORykKICAgICB2aXJ0dWFsIEdyYXBoaWNzTGF5ZXIqIGxheWVyRm9yT3ZlcmhhbmdB
cmVhcygpIGNvbnN0IHsgcmV0dXJuIG51bGxwdHI7IH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWUuaAppbmRleCA3ODkzNWQxMWVmYmVmMjdmODg0ODYyMzAw
YmU2MDgxYjJhOTA1MGE1Li42ZjMyMGRiNzliMDYwM2Q1MzdiNjA2NGU0MDVkY2NiNWE0NDlhMTIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lLmgKQEAgLTIzLDggKzIz
LDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgU2Nyb2xsYmFyVGhlbWVfaAot
I2RlZmluZSBTY3JvbGxiYXJUaGVtZV9oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkdyYXBo
aWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKQEAgLTM3LDcgKzM2LDcgQEAgY2xh
c3MgU2Nyb2xsYWJsZUFyZWE7CiBjbGFzcyBTY3JvbGxiYXI7CiBjbGFzcyBTY3JvbGxWaWV3Owog
Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiBj
bGFzcyBHcmFwaGljc0xheWVyOwogI2VuZGlmCiAKQEAgLTkxLDcgKzkwLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBwYWludFRpY2ttYXJrcyhHcmFwaGljc0NvbnRleHQmLCBTY3JvbGxi
YXImLCBjb25zdCBJbnRSZWN0JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIHBhaW50T3ZlcmhhbmdB
cmVhcyhTY3JvbGxWaWV3JiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UmVjdCYsIGNvbnN0
IEludFJlY3QmLCBjb25zdCBJbnRSZWN0JikgeyB9CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJ
TkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICB2aXJ0dWFsIHZvaWQgc2V0VXBPdmVy
aGFuZ0FyZWFzTGF5ZXJDb250ZW50cyhHcmFwaGljc0xheWVyKiwgY29uc3QgQ29sb3ImKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgc2V0VXBDb250ZW50U2hhZG93TGF5ZXIoR3JhcGhpY3NMYXllciop
IHsgfQogI2VuZGlmCkBAIC0xMjEsNCArMTIwLDMgQEAgcHJpdmF0ZToKIH07CiAKIH0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0Nv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGluZ0VmZmVjdHNDb250
cm9sbGVyLmgKaW5kZXggMDM2MDJkZWVkMjkxZGI5NjdkMDdhZTc1YmMwMWZlZjQ3ZTc2OTY5Yy4u
Njc5NTcxMTE3NWQ2NWU3NjhmNmIwYjFjNThhNjc4MTg0OWUwNGIwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5oCkBAIC03
Nyw3ICs3Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlS2V5Ym9hcmRTY3Jv
bGxQb3NpdGlvbihNb25vdG9uaWNUaW1lKSB7IH0KICAgICB2aXJ0dWFsIEtleWJvYXJkU2Nyb2xs
aW5nQW5pbWF0b3IgKmtleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IoKSBjb25zdCB7IHJldHVybiBu
dWxscHRyOyB9CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJf
QkFORElORykKICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dzSG9yaXpvbnRhbFN0cmV0Y2hpbmcoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBhbGxv
d3NWZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgPSAw
OwogICAgIHZpcnR1YWwgSW50U2l6ZSBzdHJldGNoQW1vdW50KCkgY29uc3QgPSAwOwpAQCAtMTU4
LDcgKzE1OCw3IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgaGFuZGxlZC4KICAg
ICBib29sIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmKTsKIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9C
QU5ESU5HKQogICAgIHZvaWQgc3RvcFJ1YmJlcmJhbmRpbmcoKTsKICAgICBib29sIGlzUnViYmVy
QmFuZEluUHJvZ3Jlc3MoKSBjb25zdDsKICAgICBSZWN0RWRnZXM8Ym9vbD4gcnViYmVyQmFuZGlu
Z0VkZ2VzKCkgY29uc3QgeyByZXR1cm4gbV9ydWJiZXJCYW5kaW5nRWRnZXM7IH0KQEAgLTE4Niw3
ICsxODYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnREZWZlcnJpbmdXaGVlbEV2ZW50VGVz
dENvbXBsZXRpb25EdWVUb1Njcm9sbFNuYXBwaW5nKCk7CiAgICAgdm9pZCBzdG9wRGVmZXJyaW5n
V2hlZWxFdmVudFRlc3RDb21wbGV0aW9uRHVlVG9TY3JvbGxTbmFwcGluZygpOwogCi0jaWYgRU5B
QkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgdm9pZCBz
dGFydFJ1YmJlcmJhbmRBbmltYXRpb24oKTsKICAgICB2b2lkIHN0b3BTbmFwUnViYmVyYmFuZEFu
aW1hdGlvbigpOwogCkBAIC0yMjQsNyArMjI0LDcgQEAgcHJpdmF0ZToKICAgICBGbG9hdFNpemUg
bV9kcmFnRW5kZWRTY3JvbGxpbmdWZWxvY2l0eTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xs
aW5nRWZmZWN0c0NvbnRyb2xsZXJUaW1lcj4gbV9zdGF0ZWxlc3NTbmFwVHJhbnNpdGlvblRpbWVy
OwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcp
CiAgICAgLy8gUnViYmVyIGJhbmQgc3RhdGUuCiAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGlt
ZTsKICAgICBGbG9hdFNpemUgbV9zdGFydFN0cmV0Y2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXll
ckNvY29hLm1tCmluZGV4IDJkMjg3MTY3N2ExNzdiYmU2ZjQ4Nzg4ZWQ4NDNlMWY1NWFkZTZhMGYu
LmMwOGJiMDc0OTQ2MTI2ZGY1NjlhODQxZDBiNTYxZmE5Njc1N2EzNjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1Bs
YXRmb3JtQ0FMYXllckNvY29hLm1tCkBAIC0xMDM0LDcgKzEwMzQsNyBAQCB2b2lkIFBsYXRmb3Jt
Q0FMYXllckNvY29hOjp1cGRhdGVDdXN0b21BcHBlYXJhbmNlKEdyYXBoaWNzTGF5ZXI6OkN1c3Rv
bUFwcGVhcmFuYwogCiAgICAgbV9jdXN0b21BcHBlYXJhbmNlID0gYXBwZWFyYW5jZTsKIAotI2lm
IEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgIHN3
aXRjaCAoYXBwZWFyYW5jZSkgewogICAgIGNhc2UgR3JhcGhpY3NMYXllcjo6Q3VzdG9tQXBwZWFy
YW5jZTo6Tm9uZToKICAgICBjYXNlIEdyYXBoaWNzTGF5ZXI6OkN1c3RvbUFwcGVhcmFuY2U6Okxp
Z2h0QmFja2Ryb3A6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmlt
YXRvck1hYy5oCmluZGV4IDMwZjE4NjExMzllOTM4ZGUzNWQ0YzZhNTA2YzllNjkyMTZjN2Q5YmMu
LjYyZTA1M2EyODQ3OTNjZDg4ZDE1ZGZjMzZlMzg5OGJiMzZmYTQ4NDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCkBAIC00NSwxMCArNDUs
OCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0
aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGllciwgT3B0
aW9uU2V0PFNjcm9sbEJlaGF2aW9yPikgZmluYWw7CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJ
TkcpCiAgICAgYm9vbCBzaG91bGRGb3J3YXJkV2hlZWxFdmVudHNUb1BhcmVudChjb25zdCBQbGF0
Zm9ybVdoZWVsRXZlbnQmKSBjb25zdDsKICAgICBib29sIGhhbmRsZVdoZWVsRXZlbnQoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JikgZmluYWw7Ci0jZW5kaWYKIAogICAgIGJvb2wgcGxhdGZvcm1B
bGxvd3NTY3JvbGxBbmltYXRpb24oKSBjb25zdDsKIApAQCAtNjUsNyArNjMsNiBAQCBwcml2YXRl
OgogICAgIGJvb2wgcHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3Jt
V2hlZWxFdmVudCYpIGZpbmFsOwogCiAgICAgLy8gU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXJD
bGllbnQuCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogICAgIEludFNpemUgc3RyZXRjaEFt
b3VudCgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgYWxsb3dzSG9yaXpvbnRhbFN0cmV0Y2hpbmco
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgZmluYWw7CiAgICAgYm9vbCBhbGxvd3NW
ZXJ0aWNhbFN0cmV0Y2hpbmcoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JikgY29uc3QgZmluYWw7
CkBAIC03Nyw3ICs3NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbW1lZGlhdGVTY3JvbGxCeVdp
dGhvdXRDb250ZW50RWRnZUNvbnN0cmFpbnRzKGNvbnN0IEZsb2F0U2l6ZSYpIGZpbmFsOwogICAg
IHZvaWQgaW1tZWRpYXRlU2Nyb2xsQnkoY29uc3QgRmxvYXRTaXplJikgZmluYWw7CiAgICAgdm9p
ZCBhZGp1c3RTY3JvbGxQb3NpdGlvblRvQm91bmRzSWZOZWNlc3NhcnkoKSBmaW5hbDsKLSNlbmRp
ZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCmluZGV4IDk1YjdhZWNiMWI2YTNkODhkNjk3
MTNhYmQ2OTM2MWJiOWFkZjJkZTguLmFlZjRmMzI0ODE4ZjM0NDhjNWMyNDMxNGQxZWJjOGQ0ZTlm
MDA3NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmlt
YXRvck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0
b3JNYWMubW0KQEAgLTU3LDcgKzU3LDYgQEAgYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6cGxhdGZv
cm1BbGxvd3NTY3JvbGxBbmltYXRpb24oKSBjb25zdAogICAgIHJldHVybiBlbmFibGVkOwogfQog
Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIGJvb2wgcnViYmVyQmFuZGluZ0Vu
YWJsZWRGb3JTeXN0ZW0oKQogewogICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7
CkBAIC03Myw3ICs3Miw2IEBAIHN0YXRpYyBib29sIHJ1YmJlckJhbmRpbmdFbmFibGVkRm9yU3lz
dGVtKCkKICAgICB9CiAgICAgcmV0dXJuIGVuYWJsZWQ7CiB9Ci0jZW5kaWYKIAogYm9vbCBTY3Jv
bGxBbmltYXRvck1hYzo6c2Nyb2xsKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBT
Y3JvbGxHcmFudWxhcml0eSBncmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxvYXQgbXVsdGlwbGll
ciwgT3B0aW9uU2V0PFNjcm9sbEJlaGF2aW9yPiBiZWhhdmlvcikKIHsKQEAgLTEwOSwxMSArMTA3
LDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6aXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcygpIGNv
bnN0CiAKIGJvb2wgU2Nyb2xsQW5pbWF0b3JNYWM6OmlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBj
b25zdAogewotI2lmICFFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCi0gICAgcmV0dXJuIGZhbHNlOwot
I2Vsc2UKICAgICByZXR1cm4gbV9zY3JvbGxDb250cm9sbGVyLmlzUnViYmVyQmFuZEluUHJvZ3Jl
c3MoKTsKLSNlbmRpZgogfQogCiBib29sIFNjcm9sbEFuaW1hdG9yTWFjOjppc1Njcm9sbFNuYXBJ
blByb2dyZXNzKCkgY29uc3QKQEAgLTE0MCw4ICsxMzQsNiBAQCB2b2lkIFNjcm9sbEFuaW1hdG9y
TWFjOjpoYW5kbGVXaGVlbEV2ZW50UGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgcGhhc2Up
CiAgICAgICAgIG1fc2Nyb2xsYWJsZUFyZWEuc2Nyb2xsYmFyc0NvbnRyb2xsZXIoKS5tYXlCZWdp
blNjcm9sbEdlc3R1cmUoKTsKIH0KIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKLQogYm9v
bCBTY3JvbGxBbmltYXRvck1hYzo6c2hvdWxkRm9yd2FyZFdoZWVsRXZlbnRzVG9QYXJlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KSBjb25zdAogewogICAgIGlmIChzdGQ6
OmFicyh3aGVlbEV2ZW50LmRlbHRhWSgpKSA+PSBzdGQ6OmFicyh3aGVlbEV2ZW50LmRlbHRhWCgp
KSkKQEAgLTI4OCw3ICsyODAsNiBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjppbW1lZGlhdGVT
Y3JvbGxCeShjb25zdCBGbG9hdFNpemUmIGRlbHRhKQogCiAgICAgc2V0Q3VycmVudFBvc2l0aW9u
KG5ld1Bvc2l0aW9uLCBOb3RpZnlTY3JvbGxhYmxlQXJlYTo6WWVzKTsKIH0KLSNlbmRpZgogCiBi
b29sIFNjcm9sbEFuaW1hdG9yTWFjOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXAoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMuaAppbmRleCBhZmQwMTNkMTc3ZTZmNzZk
ZGUxYTU3Y2ExYjZiOTYzOWEwYTRlODRjLi4zNTE5ZWM3NzQ3Yjk3NTkzN2ExNWVhOGQxMDg5NDI2
NjZkNDQ3MjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
YmFyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMuaApAQCAtNzEsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRDcmVhdGVT
Y3JvbGxlckltcChTY3JvbGxiYXImKTsKICAgICBib29sIGlzTGF5b3V0RGlyZWN0aW9uUlRMKFNj
cm9sbGJhciYpOwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUoUlVCQkVS
X0JBTkRJTkcpCiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0VXBPdmVyaGFuZ0Fy
ZWFCYWNrZ3JvdW5kKENBTGF5ZXIgKiwgY29uc3QgQ29sb3ImIGN1c3RvbUJhY2tncm91bmRDb2xv
ciA9IENvbG9yKCkpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHJlbW92ZU92ZXJo
YW5nQXJlYUJhY2tncm91bmQoQ0FMYXllciAqKTsKIApAQCAtOTUsNyArOTUsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgYm9vbCBzaG91bGREcmFnRG9jdW1lbnRJbnN0ZWFkT2ZUaHVtYihTY3JvbGxiYXIm
LCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmKSBvdmVycmlkZTsKICAgICBpbnQgc2Nyb2xsYmFy
UGFydFRvSElQcmVzc2VkU3RhdGUoU2Nyb2xsYmFyUGFydCk7CiAKLSNpZiBFTkFCTEUoUlVCQkVS
X0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICB2b2lkIHNldFVwT3Zlcmhh
bmdBcmVhc0xheWVyQ29udGVudHMoR3JhcGhpY3NMYXllciosIGNvbnN0IENvbG9yJikgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBzZXRVcENvbnRlbnRTaGFkb3dMYXllcihHcmFwaGljc0xheWVyKikgb3Zl
cnJpZGU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbQppbmRleCBkZjcwNWY0NmQwNTU1YmQ1ZGU5NGI5ODA4OTk1MDUzZjYxMmRm
NmZjLi5iNDFkZDJiMTU3NzVkMmFlNTJjNzkzZjljMTc5NjMzNzEwZDMzYmMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBAIC01Nzgs
NyArNTc4LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6cGFpbnRTY3JvbGxDb3JuZXIoU2Ny
b2xsYWJsZUFyZWEmLCBHcmFwaGljc0NvbnRleHQmIGNvbnQKICAgICBBTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19FTkQKIH0KIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBI
QVZFKFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIFJldGFpblB0cjxDR0NvbG9yUmVmPiBsaW5lbkJh
Y2tncm91bmRDb2xvcigpCiB7CiAgICAgTlNJbWFnZSAqaW1hZ2UgPSBuaWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXIu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xs
ZXIubW0KaW5kZXggZTdlYjc2NDkzYjgyZDIxNjQyMjdkZTc3YzdlNDcyODJhZTk4YWZkMS4uMjk0
OTBkOGFlYzgzYzNhMjI3ZDNiZTU2OWZhY2FkMjQxOThkZDAxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlci5t
bQpAQCAtMzgsMTEgKzM4LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxF
KFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIGNvbnN0IFNlY29uZHMgc2Nyb2xsVmVsb2NpdHlaZXJv
aW5nVGltZW91dCA9IDEwMF9tczsKIHN0YXRpYyBjb25zdCBmbG9hdCBydWJiZXJiYW5kRGlyZWN0
aW9uTG9ja1N0cmV0Y2hSYXRpbyA9IDE7CiBzdGF0aWMgY29uc3QgZmxvYXQgcnViYmVyYmFuZE1p
bmltdW1SZXF1aXJlZERlbHRhQmVmb3JlU3RyZXRjaCA9IDEwOwotI2VuZGlmCiAKIHN0YXRpYyBm
bG9hdCBlbGFzdGljRGVsdGFGb3JUaW1lRGVsdGEoZmxvYXQgaW5pdGlhbFBvc2l0aW9uLCBmbG9h
dCBpbml0aWFsVmVsb2NpdHksIFNlY29uZHMgZWxhcHNlZFRpbWUpCiB7CkBAIC0zNjIsNyArMzYw
LDYgQEAgc3RkOjpvcHRpb25hbDxTY3JvbGxEaXJlY3Rpb24+IFNjcm9sbGluZ0VmZmVjdHNDb250
cm9sbGVyOjpkaXJlY3Rpb25Gcm9tRXZlbnQoY28KICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owog
fQogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQogc3RhdGljIGlubGluZSBmbG9hdCByb3Vu
ZFRvd2FyZFplcm8oZmxvYXQgbnVtKQogewogICAgIHJldHVybiBudW0gPiAwID8gY2VpbGYobnVt
IC0gMC41ZikgOiBmbG9vcmYobnVtICsgMC41Zik7CkBAIC00MzUsMTMgKzQzMiwxMCBAQCB2b2lk
IFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjp1cGRhdGVSdWJiZXJCYW5kQW5pbWF0aW5nU3Rh
dGUoTW9ub3RvbmljVGltZSBjdQogCiAgICAgdXBkYXRlUnViYmVyQmFuZGluZ1N0YXRlKCk7CiB9
Ci0jZW5kaWYKIAogdm9pZCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6c2Nyb2xsUG9zaXRp
b25DaGFuZ2VkKCkKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCiAgICAgdXBkYXRlUnVi
YmVyQmFuZGluZ1N0YXRlKCk7Ci0jZW5kaWYKIH0KIAogYm9vbCBTY3JvbGxpbmdFZmZlY3RzQ29u
dHJvbGxlcjo6aXNVc2VyU2Nyb2xsSW5Qcm9ncmVzcygpIGNvbnN0CkBAIC00NTEsMTEgKzQ0NSw3
IEBAIGJvb2wgU2Nyb2xsaW5nRWZmZWN0c0NvbnRyb2xsZXI6OmlzVXNlclNjcm9sbEluUHJvZ3Jl
c3MoKSBjb25zdAogCiBib29sIFNjcm9sbGluZ0VmZmVjdHNDb250cm9sbGVyOjppc1J1YmJlckJh
bmRJblByb2dyZXNzKCkgY29uc3QKIHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCiAgICAg
cmV0dXJuIG1faXNSdWJiZXJCYW5kaW5nOwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5k
aWYKIH0KIAogYm9vbCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6aXNTY3JvbGxTbmFwSW5Q
cm9ncmVzcygpIGNvbnN0CkBAIC00NzEsMTcgKzQ2MSwxNCBAQCBib29sIFNjcm9sbGluZ0VmZmVj
dHNDb250cm9sbGVyOjppc1Njcm9sbFNuYXBJblByb2dyZXNzKCkgY29uc3QKIAogdm9pZCBTY3Jv
bGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6c3RvcFJ1YmJlcmJhbmRpbmcoKQogewotI2lmIEVOQUJM
RShSVUJCRVJfQkFORElORykKICAgICBzdG9wU25hcFJ1YmJlcmJhbmRBbmltYXRpb24oKTsKICAg
ICBtX3N0cmV0Y2hTY3JvbGxGb3JjZSA9IHsgfTsKICAgICBtX3N0YXJ0VGltZSA9IHsgfTsKICAg
ICBtX3N0YXJ0U3RyZXRjaCA9IHsgfTsKICAgICBtX29yaWdWZWxvY2l0eSA9IHsgfTsKICAgICB1
cGRhdGVSdWJiZXJCYW5kaW5nU3RhdGUoKTsKLSNlbmRpZgogfQogCi0jaWYgRU5BQkxFKFJVQkJF
Ul9CQU5ESU5HKQogdm9pZCBTY3JvbGxpbmdFZmZlY3RzQ29udHJvbGxlcjo6c3RhcnRSdWJiZXJi
YW5kQW5pbWF0aW9uKCkKIHsKICAgICBtX2NsaWVudC53aWxsU3RhcnRSdWJiZXJCYW5kU25hcEFu
aW1hdGlvbigpOwpAQCAtNTYyLDggKzU0OSw2IEBAIHZvaWQgU2Nyb2xsaW5nRWZmZWN0c0NvbnRy
b2xsZXI6OnVwZGF0ZVJ1YmJlckJhbmRpbmdFZGdlcyhJbnRTaXplIGNsaWVudFN0cmV0Y2gpCiAg
ICAgbV9ydWJiZXJCYW5kaW5nRWRnZXMuc2V0Qm90dG9tKGNsaWVudFN0cmV0Y2guaGVpZ2h0KCkg
PiAwKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShSVUJCRVJfQkFORElORykKLQogZW51bSBjbGFz
cyBXaGVlbEV2ZW50U3RhdHVzIHsKICAgICBVc2VyU2Nyb2xsQmVnaW4sCiAgICAgVXNlclNjcm9s
bGluZywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAKaW5kZXggN2JiN2RiMWY5NTI0YzM0M2VjZjQ2YjA0OTYwYTJlMjY4NWNmMDY5NS4u
ODZjN2QzODMzZTU3MzAzOTVjN2UyYTMzMDhiZDEyNjFiZTA3N2ZhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTQxNSw3
ICs0MTUsNyBAQCBSZW5kZXJMYXllckNvbXBvc2l0b3I6On5SZW5kZXJMYXllckNvbXBvc2l0b3Io
KQogICAgIEdyYXBoaWNzTGF5ZXI6OnVucGFyZW50QW5kQ2xlYXIobV9sYXllckZvclZlcnRpY2Fs
U2Nyb2xsYmFyKTsKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fbGF5ZXJG
b3JTY3JvbGxDb3JuZXIpOwogCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhBVkUo
UlVCQkVSX0JBTkRJTkcpCiAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVhcihtX2xh
eWVyRm9yT3ZlcmhhbmdBcmVhcyk7CiAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRDbGVh
cihtX2NvbnRlbnRTaGFkb3dMYXllcik7CiAgICAgR3JhcGhpY3NMYXllcjo6dW5wYXJlbnRBbmRD
bGVhcihtX2xheWVyRm9yVG9wT3ZlcmhhbmdBcmVhKTsKQEAgLTE4MjIsNyArMTgyMiw3IEBAIGJv
b2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVCYWNraW5nKFJlbmRlckxheWVyJiBsYXll
ciwgUmVxdWlyZXNDb21wb3NpdGluCiAgICAgICAgICAgICAgICAgYXV0byYgZnJhbWVWaWV3ID0g
bV9yZW5kZXJWaWV3LmZyYW1lVmlldygpOwogICAgICAgICAgICAgICAgIGlmIChhdXRvKiBzY3Jv
bGxpbmdDb29yZGluYXRvciA9IHRoaXMtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkpCiAgICAgICAg
ICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5mcmFtZVZpZXdSb290TGF5ZXJEaWRD
aGFuZ2UoZnJhbWVWaWV3KTsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShS
VUJCRVJfQkFORElORykKICAgICAgICAgICAgICAgICB1cGRhdGVMYXllckZvckhlYWRlcihmcmFt
ZVZpZXcuaGVhZGVySGVpZ2h0KCkpOwogICAgICAgICAgICAgICAgIHVwZGF0ZUxheWVyRm9yRm9v
dGVyKGZyYW1lVmlldy5mb290ZXJIZWlnaHQoKSk7CiAjZW5kaWYKQEAgLTIxOTIsNyArMjE5Miw3
IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZpZXdEaWRDaGFuZ2VTaXplKCkK
ICAgICAgICAgZnJhbWVWaWV3RGlkU2Nyb2xsKCk7CiAgICAgICAgIHVwZGF0ZU92ZXJmbG93Q29u
dHJvbHNMYXllcnMoKTsKIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJV
QkJFUl9CQU5ESU5HKQogICAgICAgICBpZiAobV9sYXllckZvck92ZXJoYW5nQXJlYXMpIHsKICAg
ICAgICAgICAgIGF1dG8mIGZyYW1lVmlldyA9IG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKTsKICAg
ICAgICAgICAgIG1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzLT5zZXRTaXplKGZyYW1lVmlldy5mcmFt
ZVJlY3QoKS5zaXplKCkpOwpAQCAtMjU0Niw3ICsyNTQ2LDcgQEAgdm9pZCBSZW5kZXJMYXllckNv
bXBvc2l0b3I6OnVwZGF0ZVJvb3RMYXllclBvc2l0aW9uKCkKIAogICAgIHVwZGF0ZVNjcm9sbExh
eWVyQ2xpcHBpbmcoKTsKIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJV
QkJFUl9CQU5ESU5HKQogICAgIGlmIChtX2NvbnRlbnRTaGFkb3dMYXllciAmJiBtX3Jvb3RDb250
ZW50c0xheWVyKSB7CiAgICAgICAgIG1fY29udGVudFNoYWRvd0xheWVyLT5zZXRQb3NpdGlvbiht
X3Jvb3RDb250ZW50c0xheWVyLT5wb3NpdGlvbigpKTsKICAgICAgICAgbV9jb250ZW50U2hhZG93
TGF5ZXItPnNldFNpemUobV9yb290Q29udGVudHNMYXllci0+c2l6ZSgpKTsKQEAgLTM3MzUsNyAr
MzczNSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc1Njcm9sbENvcm5l
ckxheWVyKCkgY29uc3QKICAgICByZXR1cm4gc2hvdWxkQ29tcG9zaXRlT3ZlcmZsb3dDb250cm9s
cygpICYmIG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKS5pc1Njcm9sbENvcm5lclZpc2libGUoKTsK
IH0KIAotI2lmIEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5H
KQogYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzT3ZlcmhhbmdBcmVhc0xheWVy
KCkgY29uc3QKIHsKICAgICBpZiAoIWlzTWFpbkZyYW1lQ29tcG9zaXRvcigpKQpAQCAtMzkwNCw3
ICszOTA0LDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVyRm9yT3Zl
cmhhbmdBcmVhc0JhY2tncm91bmRDb2xvcigpCiAgICAgICAgIG1fbGF5ZXJGb3JPdmVyaGFuZ0Fy
ZWFzLT5zZXRDdXN0b21BcHBlYXJhbmNlKEdyYXBoaWNzTGF5ZXI6OkN1c3RvbUFwcGVhcmFuY2U6
OlNjcm9sbGluZ092ZXJoYW5nKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShSVUJCRVJfQkFORElO
RykKKyNlbmRpZiAvLyBIQVZFKFJVQkJFUl9CQU5ESU5HKQogCiBib29sIFJlbmRlckxheWVyQ29t
cG9zaXRvcjo6dmlld05lZWRzVG9JbnZhbGlkYXRlRXZlbnRSZWdpb25PZkVuY2xvc2luZ0NvbXBv
c2l0aW5nTGF5ZXJGb3JSZXBhaW50KCkgY29uc3QKIHsKQEAgLTM5NzksNyArMzk3OSw3IEBAIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290QmFja2dyb3VuZENvbG9yT3JUcmFuc3BhcmVu
Y3lDaGFuZ2VkKCkKICAgICBpZiAoZXh0ZW5kZWRCYWNrZ3JvdW5kQ29sb3JDaGFuZ2VkKSB7CiAg
ICAgICAgIHBhZ2UoKS5jaHJvbWUoKS5jbGllbnQoKS5wYWdlRXh0ZW5kZWRCYWNrZ3JvdW5kQ29s
b3JEaWRDaGFuZ2UoKTsKICAgICAgICAgCi0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lm
IEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgICAgIHVwZGF0ZUxheWVyRm9yT3ZlcmhhbmdBcmVh
c0JhY2tncm91bmRDb2xvcigpOwogI2VuZGlmCiAgICAgfQpAQCAtMzk4OSw3ICszOTg5LDcgQEAg
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJvb3RCYWNrZ3JvdW5kQ29sb3JPclRyYW5zcGFy
ZW5jeUNoYW5nZWQoKQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlT3ZlcmZs
b3dDb250cm9sc0xheWVycygpCiB7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lmIEhB
VkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgaWYgKHJlcXVpcmVzT3ZlcmhhbmdBcmVhc0xheWVyKCkp
IHsKICAgICAgICAgaWYgKCFtX2xheWVyRm9yT3ZlcmhhbmdBcmVhcykgewogICAgICAgICAgICAg
bV9sYXllckZvck92ZXJoYW5nQXJlYXMgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoZ3JhcGhpY3NM
YXllckZhY3RvcnkoKSwgKnRoaXMpOwpAQCAtNDE3OSw3ICs0MTc5LDcgQEAgdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmRlc3Ryb3lSb290TGF5ZXIoKQogCiAgICAgZGV0YWNoUm9vdExheWVy
KCk7CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElO
RykKICAgICBHcmFwaGljc0xheWVyOjp1bnBhcmVudEFuZENsZWFyKG1fbGF5ZXJGb3JPdmVyaGFu
Z0FyZWFzKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggMGVmYWViMGU0N2Q5NzIwOTZmZDgwMzViYWMzZjcxZDZm
ODllZDc0Zi4uMjAyNmVkMTQ0YzNlMjExNjJmOWZlMGU2NWZkNDhjOTUyYThmZWUzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAt
MjY2LDcgKzI2Niw3IEBAIHB1YmxpYzoKIAogICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVyRm9yQ2xp
cHBpbmcoKSBjb25zdCB7ICByZXR1cm4gbV9jbGlwTGF5ZXIgPyBtX2NsaXBMYXllci5nZXQoKSA6
IG1fc2Nyb2xsQ29udGFpbmVyTGF5ZXIuZ2V0KCk7ICB9CiAKLSNpZiBFTkFCTEUoUlVCQkVSX0JB
TkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBHcmFwaGljc0xheWVyKiBoZWFk
ZXJMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JIZWFkZXIuZ2V0KCk7IH0KICAgICBH
cmFwaGljc0xheWVyKiBmb290ZXJMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JGb290
ZXIuZ2V0KCk7IH0KICNlbmRpZgpAQCAtMzM5LDcgKzMzOSw3IEBAIHB1YmxpYzoKICAgICBHcmFw
aGljc0xheWVyKiBsYXllckZvckhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBt
X2xheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhci5nZXQoKTsgfQogICAgIEdyYXBoaWNzTGF5ZXIq
IGxheWVyRm9yVmVydGljYWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyRm9yVmVy
dGljYWxTY3JvbGxiYXIuZ2V0KCk7IH0KICAgICBHcmFwaGljc0xheWVyKiBsYXllckZvclNjcm9s
bENvcm5lcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXIuZ2V0KCk7IH0K
LSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAg
ICBHcmFwaGljc0xheWVyKiBsYXllckZvck92ZXJoYW5nQXJlYXMoKSBjb25zdCB7IHJldHVybiBt
X2xheWVyRm9yT3ZlcmhhbmdBcmVhcy5nZXQoKTsgfQogICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVy
Rm9yQ29udGVudFNoYWRvdygpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFNoYWRvd0xheWVyLmdl
dCgpOyB9CiAKQEAgLTM0OSw3ICszNDksNyBAQCBwdWJsaWM6CiAgICAgR3JhcGhpY3NMYXllciog
dXBkYXRlTGF5ZXJGb3JGb290ZXIoYm9vbCB3YW50c0xheWVyKTsKIAogICAgIHZvaWQgdXBkYXRl
TGF5ZXJGb3JPdmVyaGFuZ0FyZWFzQmFja2dyb3VuZENvbG9yKCk7Ci0jZW5kaWYgLy8gRU5BQkxF
KFJVQkJFUl9CQU5ESU5HKQorI2VuZGlmIC8vIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAKICAgICAv
LyBGSVhNRTogbWFrZSB0aGUgY29vcmRpbmF0ZWQvYXN5bmMgdGVybWlub2xvZ3kgY29uc2lzdGVu
dC4KICAgICBib29sIGlzVmlld3BvcnRDb25zdHJhaW5lZEZpeGVkT3JTdGlja3lMYXllcihjb25z
dCBSZW5kZXJMYXllciYpIGNvbnN0OwpAQCAtNTUxLDcgKzU1MSw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCByZXF1aXJlc0hvcml6b250YWxTY3JvbGxiYXJMYXllcigpIGNvbnN0OwogICAgIGJvb2wg
cmVxdWlyZXNWZXJ0aWNhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJl
c1Njcm9sbENvcm5lckxheWVyKCkgY29uc3Q7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQor
I2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgYm9vbCByZXF1aXJlc092ZXJoYW5nQXJlYXNM
YXllcigpIGNvbnN0OwogICAgIGJvb2wgcmVxdWlyZXNDb250ZW50U2hhZG93TGF5ZXIoKSBjb25z
dDsKICNlbmRpZgpAQCAtNjE1LDcgKzYxNSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEdyYXBo
aWNzTGF5ZXI+IG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyOwogICAgIFJlZlB0cjxHcmFw
aGljc0xheWVyPiBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXI7CiAgICAgUmVmUHRyPEdyYXBo
aWNzTGF5ZXI+IG1fbGF5ZXJGb3JTY3JvbGxDb3JuZXI7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5E
SU5HKQorI2lmIEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgUmVmUHRyPEdyYXBoaWNzTGF5ZXI+
IG1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzOwogICAgIFJlZlB0cjxHcmFwaGljc0xheWVyPiBtX2Nv
bnRlbnRTaGFkb3dMYXllcjsKICAgICBSZWZQdHI8R3JhcGhpY3NMYXllcj4gbV9sYXllckZvclRv
cE92ZXJoYW5nQXJlYTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllclNjcm9sbGFibGVBcmVhLmNwcAppbmRleCA3NmFjNDc4NGQ5ODBlNTc1MjYwM2Q4M2Iw
YWViOTcxY2FkMjllODBhLi5kZjJiZWUxODYxNWU1ZGQyYjAzNTE2NTdmN2I0MDdkM2VhOGJkMThk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJTY3JvbGxh
YmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyU2Ny
b2xsYWJsZUFyZWEuY3BwCkBAIC0xODAsNyArMTgwLDcgQEAgYm9vbCBSZW5kZXJMYXllclNjcm9s
bGFibGVBcmVhOjppc1VzZXJTY3JvbGxJblByb2dyZXNzKCkgY29uc3QKIAogYm9vbCBSZW5kZXJM
YXllclNjcm9sbGFibGVBcmVhOjppc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3QKIHsKLSNp
ZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBp
ZiAoIXNjcm9sbHNPdmVyZmxvdygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTUxMiw3
ICs1MTIsNyBAQCBJbnRSZWN0IFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWE6OnZpc2libGVDb250
ZW50UmVjdEludGVybmFsKFZpc2libGVDb250ZW50UmVjdAogCiBJbnRTaXplIFJlbmRlckxheWVy
U2Nyb2xsYWJsZUFyZWE6Om92ZXJoYW5nQW1vdW50KCkgY29uc3QKIHsKLSNpZiBFTkFCTEUoUlVC
QkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBhdXRvJiByZW5kZXJl
ciA9IG1fbGF5ZXIucmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyLnNldHRpbmdzKCkucnVi
YmVyQmFuZGluZ0ZvclN1YlNjcm9sbGFibGVSZWdpb25zRW5hYmxlZCgpKQogICAgICAgICByZXR1
cm4gSW50U2l6ZSgpOwpAQCAtODU0LDE0ICs4NTQsMTQgQEAgdm9pZCBSZW5kZXJMYXllclNjcm9s
bGFibGVBcmVhOjpzZXRIYXNIb3Jpem9udGFsU2Nyb2xsYmFyKGJvb2wgaGFzU2Nyb2xsYmFyKQog
CiAgICAgaWYgKGhhc1Njcm9sbGJhcikgewogICAgICAgICBtX2hCYXIgPSBjcmVhdGVTY3JvbGxi
YXIoSG9yaXpvbnRhbFNjcm9sbGJhcik7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lm
IEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgICAgIGF1dG8mIHJlbmRlcmVyID0gbV9sYXllci5y
ZW5kZXJlcigpOwogICAgICAgICBTY3JvbGxFbGFzdGljaXR5IGVsYXN0aWNpdHkgPSBzY3JvbGxz
T3ZlcmZsb3coKSAmJiByZW5kZXJlci5zZXR0aW5ncygpLnJ1YmJlckJhbmRpbmdGb3JTdWJTY3Jv
bGxhYmxlUmVnaW9uc0VuYWJsZWQoKSA/IFNjcm9sbEVsYXN0aWNpdHlBdXRvbWF0aWMgOiBTY3Jv
bGxFbGFzdGljaXR5Tm9uZTsKICAgICAgICAgU2Nyb2xsYWJsZUFyZWE6OnNldEhvcml6b250YWxT
Y3JvbGxFbGFzdGljaXR5KGVsYXN0aWNpdHkpOwogI2VuZGlmCiAgICAgfSBlbHNlIHsKICAgICAg
ICAgZGVzdHJveVNjcm9sbGJhcihIb3Jpem9udGFsU2Nyb2xsYmFyKTsKLSNpZiBFTkFCTEUoUlVC
QkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICAgICAgU2Nyb2xsYWJs
ZUFyZWE6OnNldEhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVsYXN0aWNpdHlOb25l
KTsKICNlbmRpZgogICAgIH0KQEAgLTg4MCwxNCArODgwLDE0IEBAIHZvaWQgUmVuZGVyTGF5ZXJT
Y3JvbGxhYmxlQXJlYTo6c2V0SGFzVmVydGljYWxTY3JvbGxiYXIoYm9vbCBoYXNTY3JvbGxiYXIp
CiAKICAgICBpZiAoaGFzU2Nyb2xsYmFyKSB7CiAgICAgICAgIG1fdkJhciA9IGNyZWF0ZVNjcm9s
bGJhcihWZXJ0aWNhbFNjcm9sbGJhcik7Ci0jaWYgRU5BQkxFKFJVQkJFUl9CQU5ESU5HKQorI2lm
IEhBVkUoUlVCQkVSX0JBTkRJTkcpCiAgICAgICAgIGF1dG8mIHJlbmRlcmVyID0gbV9sYXllci5y
ZW5kZXJlcigpOwogICAgICAgICBTY3JvbGxFbGFzdGljaXR5IGVsYXN0aWNpdHkgPSBzY3JvbGxz
T3ZlcmZsb3coKSAmJiByZW5kZXJlci5zZXR0aW5ncygpLnJ1YmJlckJhbmRpbmdGb3JTdWJTY3Jv
bGxhYmxlUmVnaW9uc0VuYWJsZWQoKSA/IFNjcm9sbEVsYXN0aWNpdHlBdXRvbWF0aWMgOiBTY3Jv
bGxFbGFzdGljaXR5Tm9uZTsKICAgICAgICAgU2Nyb2xsYWJsZUFyZWE6OnNldFZlcnRpY2FsU2Ny
b2xsRWxhc3RpY2l0eShlbGFzdGljaXR5KTsKICNlbmRpZgogICAgIH0gZWxzZSB7CiAgICAgICAg
IGRlc3Ryb3lTY3JvbGxiYXIoVmVydGljYWxTY3JvbGxiYXIpOwotI2lmIEVOQUJMRShSVUJCRVJf
QkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgICAgICBTY3JvbGxhYmxlQXJl
YTo6c2V0VmVydGljYWxTY3JvbGxFbGFzdGljaXR5KFNjcm9sbEVsYXN0aWNpdHlOb25lKTsKICNl
bmRpZgogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllclRyZWVQcm9wZXJ0eUFwcGxpZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tCmlu
ZGV4IDcwYTc5OTUxMTczYmNiNzdmY2QxMWZlMzZhMmMzMTdiMTIwZTBhYmIuLmE4MWYwZTUyMDE1
NjUzZmQ0ZDA5ZjM3ZmVmN2ZiZmFmNjgxNGE3MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVQcm9wZXJ0eUFwcGxpZXIubW0K
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJl
ZVByb3BlcnR5QXBwbGllci5tbQpAQCAtMTI3LDcgKzEyNyw3IEBAIHN0YXRpYyBOU1N0cmluZyAq
dG9DQUZpbHRlclR5cGUoUGxhdGZvcm1DQUxheWVyOjpGaWx0ZXJUeXBlIHR5cGUpCiAKIHN0YXRp
YyB2b2lkIHVwZGF0ZUN1c3RvbUFwcGVhcmFuY2UoQ0FMYXllciAqbGF5ZXIsIEdyYXBoaWNzTGF5
ZXI6OkN1c3RvbUFwcGVhcmFuY2UgY3VzdG9tQXBwZWFyYW5jZSkKIHsKLSNpZiBFTkFCTEUoUlVC
QkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykKICAgICBzd2l0Y2ggKGN1c3Rv
bUFwcGVhcmFuY2UpIHsKICAgICBjYXNlIEdyYXBoaWNzTGF5ZXI6OkN1c3RvbUFwcGVhcmFuY2U6
Ok5vbmU6CiAgICAgY2FzZSBHcmFwaGljc0xheWVyOjpDdXN0b21BcHBlYXJhbmNlOjpEYXJrQmFj
a2Ryb3A6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDJhMDdjODEwZTlkYjE4MWEzYzQwZGFi
N2E4ODZiNjllNTMwMjUwZDAuLjIxYmMyNzYyMzU0ODZhOWZkMzc3MTY5YTQ0YWZmOGNlMmEzZjg5
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMjI4LDcgKzEyMjgsNyBAQCB2b2lkIFdl
YkNocm9tZUNsaWVudDo6ZGlzYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCkKIAogdm9pZCBXZWJDaHJv
bWVDbGllbnQ6OmRpZEFkZEhlYWRlckxheWVyKEdyYXBoaWNzTGF5ZXImIGhlYWRlclBhcmVudCkK
IHsKLSNpZiBFTkFCTEUoUlVCQkVSX0JBTkRJTkcpCisjaWYgSEFWRShSVUJCRVJfQkFORElORykK
ICAgICBpZiAoUGFnZUJhbm5lciogYmFubmVyID0gbV9wYWdlLmhlYWRlclBhZ2VCYW5uZXIoKSkK
ICAgICAgICAgYmFubmVyLT5kaWRBZGRQYXJlbnRMYXllcigmaGVhZGVyUGFyZW50KTsKICNlbHNl
CkBAIC0xMjM4LDcgKzEyMzgsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlkQWRkSGVhZGVy
TGF5ZXIoR3JhcGhpY3NMYXllciYgaGVhZGVyUGFyZW50KQogCiB2b2lkIFdlYkNocm9tZUNsaWVu
dDo6ZGlkQWRkRm9vdGVyTGF5ZXIoR3JhcGhpY3NMYXllciYgZm9vdGVyUGFyZW50KQogewotI2lm
IEVOQUJMRShSVUJCRVJfQkFORElORykKKyNpZiBIQVZFKFJVQkJFUl9CQU5ESU5HKQogICAgIGlm
IChQYWdlQmFubmVyKiBiYW5uZXIgPSBtX3BhZ2UuZm9vdGVyUGFnZUJhbm5lcigpKQogICAgICAg
ICBiYW5uZXItPmRpZEFkZFBhcmVudExheWVyKCZmb290ZXJQYXJlbnQpOwogI2Vsc2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>