<?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>211460</bug_id>
          
          <creation_ts>2020-05-05 12:02:38 -0700</creation_ts>
          <short_desc>Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code</short_desc>
          <delta_ts>2020-05-06 09:02:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mifenton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1649311</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-05 12:02:38 -0700</bug_when>
    <thetext>Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649316</commentid>
    <comment_count>1</comment_count>
      <attachid>398536</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-05 12:08:56 -0700</bug_when>
    <thetext>Created attachment 398536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649399</commentid>
    <comment_count>2</comment_count>
      <attachid>398557</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-05 15:12:30 -0700</bug_when>
    <thetext>Created attachment 398557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649404</commentid>
    <comment_count>3</comment_count>
      <attachid>398560</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-05 15:29:09 -0700</bug_when>
    <thetext>Created attachment 398560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649426</commentid>
    <comment_count>4</comment_count>
      <attachid>398566</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-05 16:35:14 -0700</bug_when>
    <thetext>Created attachment 398566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649474</commentid>
    <comment_count>5</comment_count>
      <attachid>398580</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-05 20:35:18 -0700</bug_when>
    <thetext>Created attachment 398580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649642</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-06 09:01:49 -0700</bug_when>
    <thetext>Committed r261232: &lt;https://trac.webkit.org/changeset/261232&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398580.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649643</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-06 09:02:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/62932525&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398536</attachid>
            <date>2020-05-05 12:08:56 -0700</date>
            <delta_ts>2020-05-05 15:12:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211460-20200505120854.patch</filename>
            <type>text/plain</type>
            <size>32201</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDgyODM2YTUzZjI3Zjhm
NGI0NGMzNGIzNjJmZDJhZjY1NjJkNThhMS4uMzkxNzE2YjA1ZTc2NWRmNzI3ZDZjMGVlYzIyNzE3
ZDdlYmZlZTAxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA1LTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9m
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaDogUmVtb3ZlIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgQWxzbyByZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9m
IFJldGFpblB0ciBhbmQgYWRkIGEgRklYTUUuIEFsc28gcmVtb3ZlICNwcmFnbWEgb25jZQorICAg
ICAgICBzaW5jZSB0aGlzIGhlYWRlciBpcyBvbmx5IGltcG9ydGVkIGZyb20gT2JqZWN0aXZlLUMr
KyBzb3VyY2VzLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4
dENvbnRyb2xsZXIubW06IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLmg6IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21h
Yy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9t
YWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tOiBEaXR0by4KKwogMjAyMC0wNS0wNSAgUm9i
IEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEEgVVJMIGNhbm5vdCBoYXZlIGEg
dXNlcm5hbWUvcGFzc3dvcmQvcG9ydCBpZiBpdHMgaG9zdCBpcyBudWxsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI4
NjlhMDJiMTFkMzhhMWUzMjdmMzYyODdmZGVkN2I2NWE3M2ZhNzEuLmZkMjUyMzE0MGVlOWYxY2Q2
ZDdkNTI5YjM5OGY3ODk5Y2ExZjk5NzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjAt
MDUtMDUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEVsaW1pbmF0
ZSBjaGVja3Mgb2YgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpIGluIENvY29hLXNwZWNpZmlj
IGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MTQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaDogUmVtb3ZlIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudElt
cGxDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6UGFnZUNs
aWVudEltcGxDb2NvYSk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENv
Y29hOjpwYWdlQ2xvc2VkKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
Q29jb2E6OmRpY3RhdGlvbkFsdGVybmF0aXZlcyk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjppbnNlcnREaWN0YXRlZFRleHRBc3luYyk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vz
cy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnZh
bGlkQXR0cmlidXRlc0Zvck1hcmtlZFRleHQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6Omluc2VydFRleHQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMubW06IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvbWFjL1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHA6IERpdHRvLgor
CiAyMDIwLTA1LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgTGVnYWN5U2NoZW1lUmVnaXN0cnk6OmNhblNlcnZpY2VXb3JrZXJzSGFuZGxlVVJM
U2NoZW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYzJmZTI1Nzc2YzVmZmEzMGIw
NjY1YWExZmE5YjQ2N2I5NGQxMzgxYi4uMjdhMTc1MTU5NzlhYjFkNzkwZjMwYjZlZTY1YTNmZmYx
NmY4YWMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDIwLTA1LTA1ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGlt
aW5hdGUgY2hlY2tzIG9mIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVj
aWZpYyBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTE0NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oOiBSZW1vdmVkIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQubW06CisgICAgICAgIChXZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQ6OmRpY3RhdGlvbkFsdGVybmF0aXZlcyk6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2Vi
SFRNTFZpZXcubW06IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbTogRGl0dG8u
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJW
aWV3L1dlYlZpZXdEYXRhLm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRl
cm5hbC5oOiBEaXR0by4KKwogMjAyMC0wNS0wNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIG5vdy11bmVlZGVkIEhBVkUgbWFjcm9zIHJlbGF0ZWQgdG8g
UERGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZl
VGV4dENvbnRleHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Fs
dGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmgKaW5kZXggMjk3NGMzMTkyZGMzNWQzN2Nk
MjNjNjc4YjFiOTIxZDlmN2I5OWJiMi4uZTEzMzkwODE1ZDBhN2UzNzMyZGJjNzEwMGU3YjE3MGU1
YjgxZDE3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5h
dGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Y29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaApAQCAtMjMsMTQgKzIzLDEw
IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI3ByYWdtYSBv
bmNlCi0KLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCA8d3RmL0Zv
cndhcmQuaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAKLU9CSkNfQ0xBU1MgTlNUZXh0QWx0
ZXJuYXRpdmVzOworQGNsYXNzIE5TVGV4dEFsdGVybmF0aXZlczsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00MCw3ICszNiw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBBbHRl
cm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcigpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5BbHRl
cm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcigpOwogCi0gICAgdWludDY0X3QgYWRkQWx0ZXJu
YXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+Jik7CisgICAgdWludDY0
X3QgYWRkQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqKTsKIAogICAgIHZvaWQgY2xl
YXIoKTsKIApAQCAtNTUsNSArNTEsMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRD
b250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRl
eHRDb250ZXh0Q29udHJvbGxlci5tbQppbmRleCAyYzk2MjZhYTI1MTFiOTViNjc3NzQ3NjBiYWNi
N2UxYzU1YzNjNjBiLi5kOWEyNjQwZjI1ODdmNmY4YjA4MTE5YTA1OThmODBlYzU2Y2U2ZDc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENv
bnRleHRDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0
ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIubW0KQEAgLTI2LDggKzI2LDYgQEAKICNpbXBv
cnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIu
aCIKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CiAKICNpZiBVU0UoQVBQS2l0KQpAQCAtNDIsOSArNDAsMTAgQEAgQWx0ZXJuYXRp
dmVUZXh0Q29udGV4dENvbnRyb2xsZXI6OkFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVy
KCkgPSBkZWZhdWx0OwogCiBBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6fkFsdGVy
bmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyKCkgPSBkZWZhdWx0OwogCi11aW50NjRfdCBBbHRl
cm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVzKGNvbnN0IFJldGFp
blB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+JiBhbHRlcm5hdGl2ZXMpCit1aW50NjRfdCBBbHRlcm5h
dGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0
aXZlcyAqYWx0ZXJuYXRpdmVzKQogewotICAgIHVpbnQ2NF90IGNvbnRleHQgPSByZWludGVycHJl
dF9jYXN0PHVpbnQ2NF90PihhbHRlcm5hdGl2ZXMuZ2V0KCkpOworICAgIC8vIEZJWE1FOiBUdXJu
aW5nIGEgcG9pbnRlciBpbnRvIGFuIGludGVnZXIgaXMgYSBmbGF3ZWQgYWxnb3JpdGhtIHRvIGdl
bmVyYXRlIGEgdW5pcXVlIElELiBDYW4gbGVhZCB0byBhbGlhc2luZyB0byBhIG5ldyBvYmplY3Qg
dGhhdCBoYXBwZW5zIHRvIG9jY3VweSB0aGUgc2FtZSBtZW1vcnkgYXMgYW4gb2xkIG9uZS4KKyAg
ICB1aW50NjRfdCBjb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4oYWx0ZXJuYXRp
dmVzKTsKICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgIHJldHVybiBpbnZhbGlkQ29udGV4dDsK
ICAgICBpZiAoYWx0ZXJuYXRpdmVzRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTY5LDUgKzY4LDMg
QEAgdm9pZCBBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6Y2xlYXIoKQogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoRElDVEFUSU9OX0FMVEVSTkFU
SVZFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVy
bmF0aXZlVGV4dFVJQ29udHJvbGxlci5oCmluZGV4IDYyMjVmZTc0MjM2MDE1YzkxMDFiZWQyYzBk
NDc1OWQwMmRmNzFjYzAuLjhlYTkzNDRmZjNhZjg1MzQyNWQwMTMwM2M5OTc5ZWI5OWNjODJiZDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0
VUlDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5h
dGl2ZVRleHRVSUNvbnRyb2xsZXIuaApAQCAtMjMsMTAgKzIzLDYgQEAKICAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQotI2lmIFVTRShESUNU
QVRJT05fQUxURVJOQVRJVkVTKQotCiAjaW1wb3J0ICJBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29u
dHJvbGxlci5oIgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCkBAIC02NCw1ICs2MCwzIEBA
IHByaXZhdGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0Uo
RElDVEFUSU9OX0FMVEVSTkFUSVZFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KaW5kZXggZTU4ZWFl
ZGVjMDA3ZTRiOTljNjgyNzE0NzI1ZGUxYTI1ZDUwOTc3Zi4uYThlNzVlOTg5YTA1MjAwNGIwYTE4
YzM2ZGM0Y2UwNWRiYjkyZTMwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9j
b2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KQEAgLTI2LDggKzI2
LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0VUlDb250
cm9sbGVyLmgiCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCAi
RmxvYXRSZWN0LmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KIApAQCAtMzUs
NyArMzMsOSBAQAogI2ltcG9ydCA8QXBwS2l0L05TU3BlbGxDaGVja2VyLmg+CiAjaW1wb3J0IDxB
cHBLaXQvTlNUZXh0QWx0ZXJuYXRpdmVzLmg+CiAjaW1wb3J0IDxBcHBLaXQvTlNWaWV3Lmg+Ci0j
ZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogI2ltcG9ydCA8cGFsL3NwaS9pb3MvVUlLaXRTUEkuaD4KICNlbmRpZgogCkBAIC0xMDYs
NSArMTA2LDMgQEAgdm9pZCBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI6OnJlbW92ZUFsdGVy
bmF0aXZlcyh1aW50NjRfdCBjb250ZXh0KQogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZiAvLyBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmgKaW5kZXggZjA0
Yzk4MjFlNjg1ZTc5ZjQwY2Q1ZTZjMTNkMTM4ZTU0MmUwZTAyYS4uODQ0M2RjZWI3MDc0MDBlMWMw
NTU1MjIyODk3ZjFhMDY1OWFjZDdkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmgKQEAgLTIzLDE4ICsyMywxMyBAQAog
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNwcmFnbWEgb25jZQot
CiAjaW5jbHVkZSAiQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL1JldGFp
blB0ci5oPgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi1PQkpDX0NMQVNTIE5T
VGV4dEFsdGVybmF0aXZlczsKLSNlbmRpZgorQGNsYXNzIE5TVGV4dEFsdGVybmF0aXZlczsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiBz
dHJ1Y3QgVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlIHsKICAgICBXRUJDT1JFX0VYUE9SVCBUZXh0
QWx0ZXJuYXRpdmVXaXRoUmFuZ2UoTlNUZXh0QWx0ZXJuYXRpdmVzKiBhbkFsdGVybmF0aXZlcywg
TlNSYW5nZSBhUmFuZ2UpOwogICAgIE5TUmFuZ2UgcmFuZ2U7CkBAIC00Myw4ICszOCw0IEBAIHN0
cnVjdCBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UgewogCiBXRUJDT1JFX0VYUE9SVCB2b2lkIGNv
bGxlY3REaWN0YXRpb25UZXh0QWx0ZXJuYXRpdmVzKE5TQXR0cmlidXRlZFN0cmluZyosIFZlY3Rv
cjxUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2U+JiBhbHRlcm5hdGl2ZXMpOwogCi0jZWxzZQotc3Ry
dWN0IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSB7IH07Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFs
dGVybmF0aXZlV2l0aFJhbmdlLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFs
dGVybmF0aXZlV2l0aFJhbmdlLm1tCmluZGV4IDY1MDlkZjQ0M2MwNjYzZjc4ZjkwOTRlZTlhOGRh
Njk3OWE1MzcxNzIuLmQ4NmU0Y2Q5Y2Y4OWEwODVhMGI5NGM5N2YyYjVlMmRiNjIyNmMzMTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhS
YW5nZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVX
aXRoUmFuZ2UubW0KQEAgLTIyLDExICsyMiwxMCBAQAogICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCisKICNpbXBvcnQgImNvbmZpZy5oIgog
I2ltcG9ydCAiVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmgiCiAKLSNpZiBVU0UoRElDVEFUSU9O
X0FMVEVSTkFUSVZFUykKLQogI2lmIFVTRShBUFBLSVQpCiAjaW1wb3J0IDxBcHBLaXQvTlNUZXh0
QWx0ZXJuYXRpdmVzLmg+CiAjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtNTcsNSArNTYs
MyBAQCB2b2lkIGNvbGxlY3REaWN0YXRpb25UZXh0QWx0ZXJuYXRpdmVzKE5TQXR0cmlidXRlZFN0
cmluZyAqc3RyaW5nLCBWZWN0b3I8VGV4dEFsdAogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZiAvLyBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAppbmRleCBjYjBl
Y2QxZGU1YjFlYmQ5NDJkZGJiOWZlZjQ0NTQwNDE2Nzg2NTQ1Li5lZGJlYzc2NjlhYTc0ODI4M2Y0
OWJiZGNiYWY3ZjFhODVmMjI0YTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCkBAIC02MiwxNyArNjIsMTMgQEAgcHVibGlj
OgogICAgIE5TU2V0ICpzZXJpYWxpemFibGVGaWxlV3JhcHBlckNsYXNzZXMoKSBjb25zdCBmaW5h
bDsKICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgdWludDY0
X3QgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRlcm5h
dGl2ZXM+JikgZmluYWw7CiAgICAgdm9pZCByZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXModWlu
dDY0X3QgZGljdGF0aW9uQ29udGV4dCkgZmluYWw7CiAgICAgVmVjdG9yPFN0cmluZz4gZGljdGF0
aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIGZpbmFsOwotI2VuZGlm
CiAKIHByb3RlY3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IG1fd2ViVmlldzsKLSNp
ZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlcjsKLSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNDA5NDljMmY0MDljZDQyZGNhNjE2
YzI5NjQ5ODUyZmYyMjJmMmFmNS4uMTliZTJhMjFkMTNiMzNjNTdjOGFhNDEwMGJlZjRmOWQwMzM2
ODk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVu
dEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xp
ZW50SW1wbENvY29hLm1tCkBAIC0yOSwxOSArMjksMTQgQEAKICNpbXBvcnQgIldLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2lt
cG9ydCAiV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaCIKLSNpbXBvcnQgPHd0Zi9WZWN0b3Iu
aD4KLQotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogI2ltcG9ydCA8V2ViQ29yZS9B
bHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaD4KLSNlbmRpZgorI2ltcG9ydCA8d3RmL1ZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUGFnZUNsaWVudEltcGxDb2NvYTo6UGFnZUNs
aWVudEltcGxDb2NvYShXS1dlYlZpZXcgKndlYlZpZXcpCiAgICAgOiBtX3dlYlZpZXcgeyB3ZWJW
aWV3IH0KLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICAsIG1fYWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyIHsgbWFrZVVuaXF1ZTxBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xs
ZXI+KCkgfQotI2VuZGlmCiB7CiB9CiAKQEAgLTk4LDEzICs5Myw5IEBAIE5TU2V0ICpQYWdlQ2xp
ZW50SW1wbENvY29hOjpzZXJpYWxpemFibGVGaWxlV3JhcHBlckNsYXNzZXMoKSBjb25zdAogCiB2
b2lkIFBhZ2VDbGllbnRJbXBsQ29jb2E6OnBhZ2VDbG9zZWQoKQogewotI2lmIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKQogICAgIG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5jbGVh
cigpOwotI2VuZGlmCiB9CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogdWlu
dDY0X3QgUGFnZUNsaWVudEltcGxDb2NvYTo6YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKGNvbnN0
IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+JiBhbHRlcm5hdGl2ZXMpCiB7CiAgICAgcmV0
dXJuIG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hZGRBbHRlcm5hdGl2ZXMoYWx0ZXJu
YXRpdmVzKTsKQEAgLTExOSw4ICsxMTAsNSBAQCBWZWN0b3I8U3RyaW5nPiBQYWdlQ2xpZW50SW1w
bENvY29hOjpkaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udAogewog
ICAgIHJldHVybiBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci0+YWx0ZXJuYXRpdmVzRm9y
Q29udGV4dChkaWN0YXRpb25Db250ZXh0KTsKIH0KLQotI2VuZGlmCi0KICAgICAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5k
ZXggZmMzYWQ0MmJlOGEwNzdkZjIyM2VhMzA5OWRmNWU5MmE4NmMyYjhmNS4uZTI3NTI3OWI2NWVl
NDQyMDUzZjc0ZmI0YmMwMjYwMGFjOGUxMTgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTQ1LDE0ICs0NSwxMSBAQAog
I2ltcG9ydCA8V2ViQ29yZS9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2VhcmNoUG9wdXBN
ZW51Q29jb2EuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1ZhbGlkYXRpb25CdWJibGUuaD4KICNpbXBvcnQgPHd0Zi9CbG9j
a1B0ci5oPgogI2ltcG9ydCA8d3RmL2NmL1R5cGVDYXN0c0NGLmg+CiAKLSNpZiBVU0UoRElDVEFU
SU9OX0FMVEVSTkFUSVZFUykKLSNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJh
bmdlLmg+Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShNRURJQV9VU0FHRSkKICNpbXBvcnQgIk1lZGlh
VXNhZ2VNYW5hZ2VyQ29jb2EuaCIKICNlbmRpZgpAQCAtMjQ3LDcgKzI0NCw2IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpwZXJmb3JtRGljdGlvbmFyeUxvb2t1cE9mQ3VycmVudFNlbGVjdGlvbigpCiAK
IHZvaWQgV2ViUGFnZVByb3h5OjppbnNlcnREaWN0YXRlZFRleHRBc3luYyhjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IEVkaXRpbmdSYW5nZSYgcmVwbGFjZW1lbnRSYW5nZSwgY29uc3QgVmVjdG9y
PFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZT4mIGRpY3RhdGlvbkFsdGVybmF0aXZlc1dpdGhSYW5n
ZSwgSW5zZXJ0VGV4dE9wdGlvbnMmJiBvcHRpb25zKQogewotI2lmIFVTRShESUNUQVRJT05fQUxU
RVJOQVRJVkVTKQogICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAgcmV0dXJu
OwogCkBAIC0yNjQsOSArMjYwLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6Omluc2VydERpY3RhdGVk
VGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgRWRpdGluZ1JhbmcKICAgICB9CiAK
ICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6SW5zZXJ0RGljdGF0ZWRUZXh0
QXN5bmMgeyB0ZXh0LCByZXBsYWNlbWVudFJhbmdlLCBkaWN0YXRpb25BbHRlcm5hdGl2ZXMsIFdU
Rk1vdmUob3B0aW9ucykgfSwgbV93ZWJQYWdlSUQpOwotI2Vsc2UKLSAgICBpbnNlcnRUZXh0QXN5
bmModGV4dCwgcmVwbGFjZW1lbnRSYW5nZSwgV1RGTW92ZShvcHRpb25zKSk7Ci0jZW5kaWYKIH0K
ICAgICAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCAwY2UzMzc0NWVlYTAxMWNkOWYxOGJmYWE2MmVmZDEw
YTgyMjMzNmY3Li45MDU4Y2FlZmE5Y2U4ZjUwYTRhM2FkMzQ5YjgzNDAzZDdiODljZDJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtNDcwMywx
MCArNDcwMywxMSBAQCBOU0FycmF5ICpXZWJWaWV3SW1wbDo6dmFsaWRBdHRyaWJ1dGVzRm9yTWFy
a2VkVGV4dCgpCiB7CiAgICAgc3RhdGljIE5TQXJyYXkgKnZhbGlkQXR0cmlidXRlczsKICAgICBp
ZiAoIXZhbGlkQXR0cmlidXRlcykgewotICAgICAgICB2YWxpZEF0dHJpYnV0ZXMgPSBAWyBOU1Vu
ZGVybGluZVN0eWxlQXR0cmlidXRlTmFtZSwgTlNVbmRlcmxpbmVDb2xvckF0dHJpYnV0ZU5hbWUs
IE5TTWFya2VkQ2xhdXNlU2VnbWVudEF0dHJpYnV0ZU5hbWUsCi0jaWYgVVNFKERJQ1RBVElPTl9B
TFRFUk5BVElWRVMpCisgICAgICAgIHZhbGlkQXR0cmlidXRlcyA9IEBbCisgICAgICAgICAgICBO
U1VuZGVybGluZVN0eWxlQXR0cmlidXRlTmFtZSwKKyAgICAgICAgICAgIE5TVW5kZXJsaW5lQ29s
b3JBdHRyaWJ1dGVOYW1lLAorICAgICAgICAgICAgTlNNYXJrZWRDbGF1c2VTZWdtZW50QXR0cmli
dXRlTmFtZSwKICAgICAgICAgICAgIE5TVGV4dEFsdGVybmF0aXZlc0F0dHJpYnV0ZU5hbWUsCi0j
ZW5kaWYKICNpZiBVU0UoSU5TRVJUSU9OX1VORE9fR1JPVVBJTkcpCiAgICAgICAgICAgICBOU1Rl
eHRJbnNlcnRpb25VbmRvYWJsZUF0dHJpYnV0ZU5hbWUsCiAjZW5kaWYKQEAgLTQ4NDUsOSArNDg0
Niw3IEBAIHZvaWQgV2ViVmlld0ltcGw6Omluc2VydFRleHQoaWQgc3RyaW5nLCBOU1JhbmdlIHJl
cGxhY2VtZW50UmFuZ2UpCiAKICAgICBib29sIHJlZ2lzdGVyVW5kb0dyb3VwID0gZmFsc2U7CiAg
ICAgaWYgKGlzQXR0cmlidXRlZFN0cmluZykgewotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKQogICAgICAgICBXZWJDb3JlOjpjb2xsZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhz
dHJpbmcsIGRpY3RhdGlvbkFsdGVybmF0aXZlcyk7Ci0jZW5kaWYKICNpZiBVU0UoSU5TRVJUSU9O
X1VORE9fR1JPVVBJTkcpCiAgICAgICAgIHJlZ2lzdGVyVW5kb0dyb3VwID0gV2ViQ29yZTo6c2hv
dWxkUmVnaXN0ZXJJbnNlcnRpb25VbmRvR3JvdXAoc3RyaW5nKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCBmMTQ1M2Y1
N2ZhYmFhNTljY2ViNGFlNTFkZjFmYWFmNTMxYjliMGI4Li5hZTc1OGQ0Y2ZiOGNiZTU5NjdlN2Qw
YjNiNTExZTUzOTlkMTMxMDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjYwLDkgKzI2MCw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBjYW5jZWxQb2ludGVyc0Zvckdlc3R1cmVSZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIq
KSBvdmVycmlkZTsKICAgICBXVEY6Ok9wdGlvbmFsPHVuc2lnbmVkPiBhY3RpdmVUb3VjaElkZW50
aWZpZXJGb3JHZXN0dXJlUmVjb2duaXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgb3ZlcnJpZGU7
CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICB2b2lkIHNob3dEaWN0YXRp
b25BbHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYsIHVpbnQ2NF90IGRpY3Rh
dGlvbkNvbnRleHQpIG92ZXJyaWRlOwotI2VuZGlmCiAKICAgICBXZWFrT2JqQ1B0cjxXS0NvbnRl
bnRWaWV3PiBtX2NvbnRlbnRWaWV3OwogICAgIFJldGFpblB0cjxXS0VkaXRvclVuZG9UYXJnZXQ+
IG1fdW5kb1RhcmdldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQppbmRleCA2NmIzOThhZTdiNjE2NmZkNmVjYTM3MWFiMWNhNDFlMjI2ZjUw
YWFlLi4zM2ZiOGQ5NjU1MzJiYWVkY2YzMTMzYzIwMjRhNzljN2Q3NTgyNmFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC05NDks
MTUgKzk0OSwxMSBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVBdXRvY29ycmVjdGlvbkNv
bnRleHQoY29uc3QgV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0JgogICAgIFttX2NvbnRlbnRWaWV3
IF9oYW5kbGVBdXRvY29ycmVjdGlvbkNvbnRleHQ6Y29udGV4dF07CiB9CiAKLSNpZiBVU0UoRElD
VEFUSU9OX0FMVEVSTkFUSVZFUykKLQogdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2hvd0RpY3RhdGlv
bkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiwgdWludDY0X3QpCiB7CiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGQw
MjEyZTViZWUxNGQ4ZGE1NGEwMTEwNTNlOGQzNWE3NmUwMGIyYjcuLjI0OTE4YjljYTllNmRjMzdh
NzVjYWU3YzlkMTUyMDA4NzYwOTI4NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTEzLDYgKzExMyw3
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9TY3JvbGxiYXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVEYXRhLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9UZXh0SW5kaWNhdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RvdWNoQWN0aW9uLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgpAQCAtMTY0LDEwICsxNjUsNiBAQAogI2lt
cG9ydCA8V2ViS2l0QWRkaXRpb25zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbkFkZGl0aW9ucy5t
bT4KICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0jaW1wb3J0IDxX
ZWJDb3JlL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgotI2VuZGlmCi0KICNpbXBvcnQgPHBh
bC9pb3MvTWFuYWdlZENvbmZpZ3VyYXRpb25Tb2Z0TGluay5oPgogCiAjaWYgSEFWRShMSU5LX1BS
RVZJRVcpICYmIFVTRShVSUNPTlRFWFRNRU5VKQpAQCAtNDc4MSw4ICs0Nzc4LDYgQEAgLSAodm9p
ZClpbnNlcnRUZXh0OihOU1N0cmluZyAqKWFTdHJpbmdWYWx1ZQogICAgIF9wYWdlLT5pbnNlcnRU
ZXh0QXN5bmMoYVN0cmluZ1ZhbHVlLCBXZWJLaXQ6OkVkaXRpbmdSYW5nZSgpLCBXVEZNb3ZlKG9w
dGlvbnMpKTsKIH0KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiAtICh2b2lk
KWluc2VydFRleHQ6KE5TU3RyaW5nICopYVN0cmluZ1ZhbHVlIGFsdGVybmF0aXZlczooTlNBcnJh
eTxOU1N0cmluZyAqPiAqKWFsdGVybmF0aXZlcyBzdHlsZTooVUlUZXh0QWx0ZXJuYXRpdmVTdHls
ZSlzdHlsZQogewogICAgIGlmICghYWx0ZXJuYXRpdmVzLmNvdW50KQpAQCAtNDc5OCw4ICs0Nzkz
LDYgQEAgLSAodm9pZClpbnNlcnRUZXh0OihOU1N0cmluZyAqKWFTdHJpbmdWYWx1ZSBhbHRlcm5h
dGl2ZXM6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKikKICAgICB9CiB9CiAKLSNlbmRpZgotCiAtIChC
T09MKWhhc1RleHQKIHsKICAgICBhdXRvJiBlZGl0b3JTdGF0ZSA9IF9wYWdlLT5lZGl0b3JTdGF0
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMu
aAppbmRleCBmOTk5ZGJhOGEzMzU5OWIxZWQxYzkyMzEzNzE4YTIzODY3OWQ0Mzc2Li42YWQwOTdi
MTc0MjY5ZWMwYTMyNWJhNjkyNmE0MmRjMGZmMzY4Y2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaApAQCAtMTgwLDkgKzE4MCw3IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnN0IFdl
YkNvcmU6OkludFNpemUmIGludHJpbnNpY0NvbnRlbnRTaXplKSBvdmVycmlkZTsKIAotI2lmIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0
aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0
LCB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBvdmVycmlkZTsKLSNlbmRpZgogCiAgICAgdm9p
ZCBzZXRFZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQoYm9vbCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCA1MGJi
MmQzMmFlNTQ2NjEzZTY0MGNhMzY5ZGI2MWFmNDEyMjkxZjZiLi4wODhiNzViZTkzYTA1YWEyNDc0
OTMwZjZlMWYyYWMwYzQxNzc0YTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBAIC02ODIsOCArNjgyLDYgQEAgYm9vbCBQYWdlQ2xp
ZW50SW1wbDo6ZXhlY3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxl
Y3RvclN0cmluZykKICAgICByZXR1cm4gbV9pbXBsLT5leGVjdXRlU2F2ZWRDb21tYW5kQnlTZWxl
Y3RvcihOU1NlbGVjdG9yRnJvbVN0cmluZyhzZWxlY3RvclN0cmluZykpOwogfQogCi0jaWYgVVNF
KERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0KIHZvaWQgUGFnZUNsaWVudEltcGw6OnNob3dEaWN0
YXRpb25BbHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpbmdCb3hP
ZkRpY3RhdGVkVGV4dCwgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkKIHsKICAgICBpZiAoIWlz
Vmlld1Zpc2libGUoKSB8fCAhaXNWaWV3SW5XaW5kb3coKSkKQEAgLTY5Myw4ICs2OTEsNiBAQCB2
b2lkIFBhZ2VDbGllbnRJbXBsOjpzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIGJvdW5kaQogICAgIH0pOwogfQogCi0jZW5kaWYKLQogdm9pZCBQYWdl
Q2xpZW50SW1wbDo6c2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKGJvb2wgZWRpdGFibGVFbGVt
ZW50SXNGb2N1c2VkKQogewogICAgIG1faW1wbC0+c2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2Vk
KGVkaXRhYmxlRWxlbWVudElzRm9jdXNlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmgKaW5kZXggNTRhYjFjMzJkZjliODkzNTU1Y2U3ZjZlOTc2NDFjNjRhNTk1NWQwNi4uMGZl
ZTA0YzYyZTkwYmQzODgwMGM2ZTdjOWIxYTU2MmQ5ZDVhMTg5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRl
cm5hdGl2ZVRleHRDbGllbnQuaApAQCAtNDIsMjAgKzQyLDEyIEBAIHB1YmxpYzoKICAgICBTdHJp
bmcgZGlzbWlzc0FsdGVybmF0aXZlU29vbihXZWJDb3JlOjpSZWFzb25Gb3JEaXNtaXNzaW5nQWx0
ZXJuYXRpdmVUZXh0KSBvdmVycmlkZTsKICAgICB2b2lkIHJlY29yZEF1dG9jb3JyZWN0aW9uUmVz
cG9uc2UoV2ViQ29yZTo6QXV0b2NvcnJlY3Rpb25SZXNwb25zZSwgY29uc3QgU3RyaW5nJiByZXBs
YWNlZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudFN0cmluZykgb3ZlcnJpZGU7CiAj
ZW5kaWYKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICB2b2lkIHNob3dEaWN0
YXRpb25BbHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpbmdCb3hP
ZkRpY3RhdGVkVGV4dCwgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCByZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4
dCkgb3ZlcnJpZGU7CiAgICAgVmVjdG9yPFN0cmluZz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVp
bnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIG92ZXJyaWRlOwotI2VuZGlmCiAKIHByaXZhdGU6Ci0j
aWYgIShVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpIHx8IFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKSkKLSAgICBJR05PUkVfQ0xBTkdfV0FSTklOR1NfQkVHSU4oInVudXNlZC1wcml2YXRlLWZp
ZWxkIikKLSNlbmRpZgogICAgIFdlYlBhZ2UqIG1fcGFnZTsKLSNpZiAhKFVTRShBVVRPQ09SUkVD
VElPTl9QQU5FTCkgfHwgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpKQotICAgIElHTk9SRV9D
TEFOR19XQVJOSU5HU19FTkQKLSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQuY3BwCmluZGV4IDliNmFhOWYzZGYxZmYzNGM5NzNlOTEzZDU1
MGZkOGM1NDg0MjEzMTAuLjM5YmViMzFjMWZhMmM5MjZiZTE2M2FmMzdjYWFhYTI5YjBjMzZmM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMv
V2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAKQEAgLTY5
LDcgKzY5LDYgQEAgdm9pZCBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlY29yZEF1dG9jb3Jy
ZWN0aW9uUmVzcG9uc2UoQXV0b2NvcnJlY3Rpb25SZXNwb24KIH0KICNlbmRpZgogCi0jaWYgVVNF
KERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiB2b2lkIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudDo6
cmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpCiB7
CiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlbW92ZURpY3RhdGlv
bkFsdGVybmF0aXZlcyhkaWN0YXRpb25Db250ZXh0KSk7CkBAIC04Niw1ICs4NSw1IEBAIFZlY3Rv
cjxTdHJpbmc+IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudDo6ZGljdGF0aW9uQWx0ZXJuYXRpdmVz
KHVpbnQ2NF90IGRpY3RhdGlvCiAgICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpEaWN0YXRpb25BbHRlcm5hdGl2ZXMoZGljdGF0aW9uQ29udGV4dCksIE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkRpY3RhdGlvbkFsdGVybmF0aXZlczo6UmVwbHkocmVzdWx0KSk7CiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KLSNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4
dENsaWVudC5oCmluZGV4IGU0OTEyZmYxMWVkY2Y5ODNjYzY4YzVjZjYxODlkNjcyNjMwOTMzMWIu
LmE5NzBhYTYwZGM3MzhlNzExNDk0ZjVlMDBkZGNjZDg2ODE0M2FlMTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFs
dGVybmF0aXZlVGV4dENsaWVudC5oCkBAIC0yMyw4ICsyMyw2IEBACiAgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovCiAKLSNwcmFnbWEgb25jZQotCiAjaW1wb3J0ICJDb3JyZWN0aW9uUGFuZWwuaCIKICNpbXBv
cnQgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+CiAKQEAgLTMzLDcgKzMxLDcgQEAK
IGNsYXNzIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpBbHRlcm5h
dGl2ZVRleHRDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgot
ICAgIGV4cGxpY2l0IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudChXZWJWaWV3Kik7CisgICAgZXhw
bGljaXQgV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KFdlYlZpZXcgKik7CiAgICAgdmlydHVhbCB+
V2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KCk7CiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVM
KQogICAgIHZvaWQgc2hvd0NvcnJlY3Rpb25BbHRlcm5hdGl2ZShXZWJDb3JlOjpBbHRlcm5hdGl2
ZVRleHRUeXBlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZSZXBsYWNl
ZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBs
YWNlbWVudFN0cmluZywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFsdGVybmF0aXZlUmVwbGFjZW1l
bnRTdHJpbmdzKSBvdmVycmlkZTsKQEAgLTQxLDIwICszOSwxMiBAQCBwdWJsaWM6CiAgICAgU3Ry
aW5nIGRpc21pc3NBbHRlcm5hdGl2ZVNvb24oV2ViQ29yZTo6UmVhc29uRm9yRGlzbWlzc2luZ0Fs
dGVybmF0aXZlVGV4dCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZWNvcmRBdXRvY29ycmVjdGlvblJl
c3BvbnNlKFdlYkNvcmU6OkF1dG9jb3JyZWN0aW9uUmVzcG9uc2UsIGNvbnN0IFN0cmluZyYgcmVw
bGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcpIG92ZXJyaWRlOwog
I2VuZGlmCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgdm9pZCBzaG93RGlj
dGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94
T2ZEaWN0YXRlZFRleHQsIHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIG92ZXJyaWRlOwogICAg
IHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRl
eHQpIG92ZXJyaWRlOwogICAgIFZlY3RvcjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0aXZlcyh1
aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBvdmVycmlkZTsKLSNlbmRpZgogCiBwcml2YXRlOgot
I2lmICEoVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKSB8fCBVU0UoRElDVEFUSU9OX0FMVEVSTkFU
SVZFUykpCi0gICAgSUdOT1JFX1dBUk5JTkdTX0JFR0lOKCJ1bnVzZWQtcHJpdmF0ZS1maWVsZCIp
Ci0jZW5kaWYKLSAgICBXZWJWaWV3KiBtX3dlYlZpZXc7Ci0jaWYgIShVU0UoQVVUT0NPUlJFQ1RJ
T05fUEFORUwpIHx8IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSkKLSAgICBJR05PUkVfV0FS
TklOR1NfRU5ECi0jZW5kaWYKKyAgICBXZWJWaWV3ICptX3dlYlZpZXc7CiAKICNpZiBVU0UoQVVU
T0NPUlJFQ1RJT05fUEFORUwpCiAgICAgQ29ycmVjdGlvblBhbmVsIG1fY29ycmVjdGlvblBhbmVs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lm1tCmluZGV4IDRjYjVlNTQ4OTM1NzI4
NTk3MmQ0Mjc1NjgwODk5NjUxNTY1ZDZhZWUuLmY2ODZmNmNhZGU3MGJhNDVlZjBhZmE1OWZmZGIx
MTk3ZWJjNmE0MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQubW0KQEAgLTc4
LDcgKzc4LDYgQEAgdm9pZCBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlY29yZEF1dG9jb3Jy
ZWN0aW9uUmVzcG9uc2UoQXV0b2NvcnJlY3Rpb25SZXNwb24KIH0KICNlbmRpZgogCi0jaWYgVVNF
KERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiB2b2lkIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudDo6
cmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpCiB7
CiAgICAgW21fd2ViVmlldyBfcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzOmRpY3RhdGlvbkNv
bnRleHRdOwpAQCAtOTMsNCArOTIsMyBAQCBWZWN0b3I8U3RyaW5nPiBXZWJBbHRlcm5hdGl2ZVRl
eHRDbGllbnQ6OmRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpbwogewogICAg
IHJldHVybiBbbV93ZWJWaWV3IF9kaWN0YXRpb25BbHRlcm5hdGl2ZXM6ZGljdGF0aW9uQ29udGV4
dF07CiB9Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IDgwMWRmY2Q1OWM5YmZmNTAyYTk3YjU4MzVkZjVjZWFlZTk0YWYyZDku
LjYzOGVlMDFhYjU4MmY1NzJhNmZmMjM2MjVhNTE4ZTA5ZTgyNTQ4NzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjI1NSw5ICs2MjU1
LDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgIE5TVW5k
ZXJsaW5lQ29sb3JBdHRyaWJ1dGVOYW1lLAogICAgICAgICBOU01hcmtlZENsYXVzZVNlZ21lbnRB
dHRyaWJ1dGVOYW1lLAogICAgICAgICBOU1RleHRJbnB1dFJlcGxhY2VtZW50UmFuZ2VBdHRyaWJ1
dGVOYW1lLAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgICAgICBOU1RleHRB
bHRlcm5hdGl2ZXNBdHRyaWJ1dGVOYW1lLAotI2VuZGlmCiAjaWYgVVNFKElOU0VSVElPTl9VTkRP
X0dST1VQSU5HKQogICAgICAgICBOU1RleHRJbnNlcnRpb25VbmRvYWJsZUF0dHJpYnV0ZU5hbWUs
CiAjZW5kaWYKQEAgLTY2MzQsMTIgKzY2MzIsMTAgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1F
TlRBVElPTlNfRU5ECiAgICAgVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiBk
aWN0YXRpb25BbHRlcm5hdGl2ZUxvY2F0aW9uczsKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYg
KGlzQXR0cmlidXRlZFN0cmluZykgewotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQog
ICAgICAgICBWZWN0b3I8V2ViQ29yZTo6VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlPiB0ZXh0QWx0
ZXJuYXRpdmVzOwogICAgICAgICBjb2xsZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhzdHJp
bmcsIHRleHRBbHRlcm5hdGl2ZXMpOwogICAgICAgICBpZiAoIXRleHRBbHRlcm5hdGl2ZXMuaXNF
bXB0eSgpKQogICAgICAgICAgICAgW1tzZWxmIF93ZWJWaWV3XSBfZ2V0V2ViQ29yZURpY3RhdGlv
bkFsdGVybmF0aXZlczpkaWN0YXRpb25BbHRlcm5hdGl2ZUxvY2F0aW9ucyBmcm9tVGV4dEFsdGVy
bmF0aXZlczp0ZXh0QWx0ZXJuYXRpdmVzXTsKLSNlbmRpZgogI2lmIFVTRShJTlNFUlRJT05fVU5E
T19HUk9VUElORykKICAgICAgICAgcmVnaXN0ZXJVbmRvR3JvdXAgPSBXZWJDb3JlOjpzaG91bGRS
ZWdpc3Rlckluc2VydGlvblVuZG9Hcm91cChzdHJpbmcpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMzBmMDEzMzhjYTIyYjAyYmNlOTBk
ZGI0ZTc4YzI3YjdkYjVkMmE2My4uODU1MDAxMGNjYWE4NjlmYTE1NjJmZThiZWU0ZDg1OTlmOTJm
OGQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAt
OTM4Niw3ICs5Mzg2LDYgQEAgLSAodm9pZCloYW5kbGVBY2NlcHRlZEFsdGVybmF0aXZlVGV4dDoo
TlNTdHJpbmcqKXRleHQKIH0KICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCiAtICh2b2lkKV9nZXRXZWJDb3JlRGljdGF0aW9uQWx0ZXJuYXRpdmVzOihWZWN0b3I8V2Vi
Q29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+JilhbHRlcm5hdGl2ZXMgZnJvbVRleHRBbHRlcm5h
dGl2ZXM6KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2U+Jilh
bHRlcm5hdGl2ZXNXaXRoUmFuZ2UKIHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFsdGVy
bmF0aXZlc1dpdGhSYW5nZS5zaXplKCk7ICsraSkgewpAQCAtOTQxNSw3ICs5NDE0LDYgQEAgLSAo
VmVjdG9yPFN0cmluZz4pX2RpY3RhdGlvbkFsdGVybmF0aXZlczoodWludDY0X3QpZGljdGF0aW9u
Q29udGV4dAogewogICAgIHJldHVybiBfcHJpdmF0ZS0+bV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRy
b2xsZXItPmFsdGVybmF0aXZlc0ZvckNvbnRleHQoZGljdGF0aW9uQ29udGV4dCk7CiB9Ci0jZW5k
aWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogLSAoV2ViU2VsZWN0aW9uU2Vydmlj
ZUNvbnRyb2xsZXImKV9zZWxlY3Rpb25TZXJ2aWNlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCmluZGV4IGZlOTgzOWJhYzQ3NDkxYTE0
M2JhNjhiZTdjOWJiNjUwYWZkNTA3YjguLmIwMjA3ZTJiOTFlNWMwYzY1NzY4MWU1YjM5YmQ4NzI3
NTc2YzE2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlld0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdE
YXRhLmgKQEAgLTM1NSw5ICszNTUsNyBAQCBwcml2YXRlOgogICAgIFdlYkZpeGVkUG9zaXRpb25D
b250ZW50KiBfZml4ZWRQb3NpdGlvbkNvbnRlbnQ7CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpBbHRlcm5hdGl2
ZVRleHRVSUNvbnRyb2xsZXI+IG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOwotI2VuZGlm
CiAKICAgICBSZXRhaW5QdHI8TlNEYXRhPiBzb3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5t
bSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KaW5kZXgg
YzNmY2MzMGQ2MTY1MzZiZjJmNGRhZDQzN2I4ZmZmOWE1MThiM2JiMy4uMzIzYzg5ZDg4NjhjZGNk
MDQ3ZjkzZTQwNGFlYmU4YzlhMWE0NTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCkBAIC0yMDYsOSArMjA2LDcgQEAgLSAoaWQpaW5pdAog
CiAgICAgcGx1Z2luRGF0YWJhc2VDbGllbnRDb3VudCsrOwogCi0jaWYgVVNFKERJQ1RBVElPTl9B
TFRFUk5BVElWRVMpCiAgICAgbV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIgPSBtYWtlVW5p
cXVlPFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcj4oKTsKLSNlbmRpZgogCiAg
ICAgcmV0dXJuIHNlbGY7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3SW50ZXJuYWwuaAppbmRleCA1NmM4ZDU2MjkwZGRjZWE0YThjOWMwZGMwMmYwOGZl
OWE0Yjg4ODhhLi5kMjg2ODU1Y2U4NzI2ZTJmNWQxNmM1ODczNTQyODk1ZjAxNGYyZGZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgK
QEAgLTM0LDYgKzM0LDcgQEAKICNpbXBvcnQgIldlYlR5cGVzSW50ZXJuYWwuaCIKIAogI2lmZGVm
IF9fY3BsdXNwbHVzCisKICNpbXBvcnQgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL0ZpbmRPcHRpb25zLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0
UmVjdC5oPgpAQCAtODAsNiArODEsNyBAQCBjbGFzcyBXZWJTZWxlY3Rpb25TZXJ2aWNlQ29udHJv
bGxlcjsKICNlbmRpZgogCiBAY2xhc3MgTlNDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtOworQGNs
YXNzIE5TVGV4dEFsdGVybmF0aXZlczsKIEBjbGFzcyBXZWJCYXNlUGx1Z2luUGFja2FnZTsKIEBj
bGFzcyBXZWJEb3dubG9hZDsKIEBjbGFzcyBXZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyOwpA
QCAtOTIsMTAgKzk0LDYgQEAgV2ViQ29yZTo6RmluZE9wdGlvbnMgY29yZU9wdGlvbnMoV2ViRmlu
ZE9wdGlvbnMgb3B0aW9ucyk7CiBPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBj
b3JlTGF5b3V0TWlsZXN0b25lcyhXZWJMYXlvdXRNaWxlc3RvbmVzKTsKIFdlYkxheW91dE1pbGVz
dG9uZXMga2l0TGF5b3V0TWlsZXN0b25lcyhPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0
b25lPik7CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLU9CSkNfQ0xBU1MgTlNU
ZXh0QWx0ZXJuYXRpdmVzOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikg
JiYgZGVmaW5lZChfX2NwbHVzcGx1cykKIEBpbnRlcmZhY2UgV2ViVUlUZXh0SW5kaWNhdG9yRGF0
YSAoV2ViVUlUZXh0SW5kaWNhdG9ySW50ZXJuYWwpCiAtIChXZWJVSVRleHRJbmRpY2F0b3JEYXRh
ICopaW5pdFdpdGhJbWFnZTooQ0dJbWFnZVJlZilpbWFnZSB0ZXh0SW5kaWNhdG9yRGF0YTooY29u
c3QgV2ViQ29yZTo6VGV4dEluZGljYXRvckRhdGEmKWluZGljYXRvckRhdGEgc2NhbGU6KENHRmxv
YXQpc2NhbGU7CkBAIC0xMzUsMTIgKzEzMywxMCBAQCBPQkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0
aXZlczsKIC0gKHZvaWQpaGFuZGxlQWNjZXB0ZWRBbHRlcm5hdGl2ZVRleHQ6KE5TU3RyaW5nKil0
ZXh0OwogI2VuZGlmCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKIC0gKHZvaWQp
X2dldFdlYkNvcmVEaWN0YXRpb25BbHRlcm5hdGl2ZXM6KFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRp
b25BbHRlcm5hdGl2ZT4mKWFsdGVybmF0aXZlcyBmcm9tVGV4dEFsdGVybmF0aXZlczooY29uc3Qg
VmVjdG9yPFdlYkNvcmU6OlRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZT4mKWFsdGVybmF0aXZlc1dp
dGhSYW5nZTsKIC0gKHZvaWQpX3Nob3dEaWN0YXRpb25BbHRlcm5hdGl2ZVVJOihjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmKWJvdW5kaW5nQm94T2ZEaWN0YXRlZFRleHQgZm9yRGljdGF0aW9uQ29u
dGV4dDoodWludDY0X3QpZGljdGF0aW9uQ29udGV4dDsKIC0gKHZvaWQpX3JlbW92ZURpY3RhdGlv
bkFsdGVybmF0aXZlczoodWludDY0X3QpZGljdGF0aW9uQ29udGV4dDsKIC0gKFZlY3RvcjxTdHJp
bmc+KV9kaWN0YXRpb25BbHRlcm5hdGl2ZXM6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQ7Ci0j
ZW5kaWYKIAogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogLSAoV2ViU2VsZWN0aW9uU2Vy
dmljZUNvbnRyb2xsZXImKV9zZWxlY3Rpb25TZXJ2aWNlQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmOWZmYzhhZDAwOWJlOGMy
NzIwN2ExYjM0OWUxMDBlYTMzZWYwYmEzLi40YjAzMDcwMWM5ODQ3Yjc2MzM4OWM0YTE5NDdiNzI0
OGY3OTYxYThlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDUtMDUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBw
bGUuY29tPgorCisgICAgICAgIEVsaW1pbmF0ZSBjaGVja3Mgb2YgVVNFKERJQ1RBVElPTl9BTFRF
Uk5BVElWRVMpIGluIENvY29hLXNwZWNpZmljIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvS2V5Ym9h
cmRJbnB1dFRlc3RzSU9TLm1tOiBSZW1vdmUgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpLgor
CiAyMDIwLTA1LTA1ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAog
ICAgICAgICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGlzIG5vdCBzcGVjLXBlcmZlY3QKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0
c0lPUy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0
c0lPUy5tbQppbmRleCBiYzc0YzhjNTg1ZDJjNTU3NjE1MjYwZWYxYjVkOWEwMGUyY2EyMThlLi43
YTZkYjE5MmM4NDUxNzhkM2E1OTlhNjM2MDZlZmJlNTA3YTk5MWIwIDEwMDY0NAotLS0gYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0KKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tCkBA
IC02OTQsOCArNjk0LDYgQEAgVEVTVChLZXlib2FyZElucHV0VGVzdHMsIEluc2VydFRleHRTaW11
bGF0aW5nS2V5Ym9hcmRJbnB1dCkKICAgICBFWFBFQ1RfTlNfRVFVQUwoKEBbQCJrZXlkb3duIiwg
QCJiZWZvcmVpbnB1dCIsIEAiaW5wdXQiLCBAImtleXVwIiwgQCJjaGFuZ2UiXSksIFt3ZWJWaWV3
IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaXJlZEV2ZW50cyJdKTsKIH0KIAotI2lm
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiBURVNUKEtleWJvYXJkSW5wdXRUZXN0cywg
SW5zZXJ0RGljdGF0aW9uQWx0ZXJuYXRpdmVzU2ltdWxhdGluZ0tleWJvYXJkSW5wdXQpCiB7CiAg
ICAgSW5zdGFuY2VNZXRob2RTd2l6emxlciBvdmVycmlkZVNob3VsZFNpbXVsYXRlS2V5Ym9hcmRJ
bnB1dE9uVGV4dEluc2VydGlvbiB7IE5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tDb250ZW50VmlldyIp
LCBAc2VsZWN0b3IoX3Nob3VsZFNpbXVsYXRlS2V5Ym9hcmRJbnB1dE9uVGV4dEluc2VydGlvbiks
IHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihzaG91bGRTaW11bGF0ZUtleWJvYXJkSW5wdXRPblRleHRJ
bnNlcnRpb25PdmVycmlkZSkgfTsKQEAgLTcxMiw4ICs3MTAsNiBAQCBURVNUKEtleWJvYXJkSW5w
dXRUZXN0cywgSW5zZXJ0RGljdGF0aW9uQWx0ZXJuYXRpdmVzU2ltdWxhdGluZ0tleWJvYXJkSW5w
dXQpCiAgICAgRVhQRUNUX05TX0VRVUFMKChAW0Aia2V5ZG93biIsIEAiYmVmb3JlaW5wdXQiLCBA
ImlucHV0IiwgQCJrZXl1cCIsIEAiY2hhbmdlIl0pLCBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OkAiZmlyZWRFdmVudHMiXSk7CiB9CiAKLSNlbmRpZgotCiB9IC8vIG5hbWVz
cGFjZSBUZXN0V2ViS2l0QVBJCiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398557</attachid>
            <date>2020-05-05 15:12:30 -0700</date>
            <delta_ts>2020-05-05 15:29:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211460-20200505151227.patch</filename>
            <type>text/plain</type>
            <size>33951</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU3NzYyYTJjM2RkZmMw
MjM5MTRiM2Q4ZDljMDA1MDE1NDIzZjU0My4uN2M1ZDIwZWQyOTQ1MDhkZjM1N2E5ODAyYTVhYzM4
OGZmMjQ5OTc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA1LTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9m
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaDogUmVtb3ZlIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgQWxzbyByZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9m
IFJldGFpblB0ciBhbmQgYWRkIGEgRklYTUUuIEFsc28gcmVtb3ZlICNwcmFnbWEgb25jZQorICAg
ICAgICBzaW5jZSB0aGlzIGhlYWRlciBpcyBvbmx5IGltcG9ydGVkIGZyb20gT2JqZWN0aXZlLUMr
KyBzb3VyY2VzLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4
dENvbnRyb2xsZXIubW06IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLmg6IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21h
Yy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9t
YWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tOiBEaXR0by4KKwogMjAyMC0wNS0wNSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBc3NlcnQgdGhh
dCBFdmVudEhhbmRsZXIgb25seSB0cmFja3MgZXZlbnQgdGFyZ2V0IG5vZGVzIGluIGl0cyBvd24g
ZG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZjU5OTI3ZWIyNzc1OGY0Mjc5ZjRlZWQ1NzE5ZDdmOTEyOTU4
MmVhMy4uYzU4NmU1YmYyYzRiNjg2NjExZGE2NGQ5M2I0ZmU1YWQ5OWVlNDEyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzMCBAQAorMjAyMC0wNS0wNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CisKKyAgICAgICAgRWxpbWluYXRlIGNoZWNrcyBvZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFU
SVZFUykgaW4gQ29jb2Etc3BlY2lmaWMgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNDYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2Nv
YS5oOiBSZW1vdmUgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpLgorICAgICAgICBBbHNvIHJl
bW92ZSB1bm5lY2Vzc2FyeSB1c2Ugb2YgUmV0YWluUHRyLgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
SW1wbENvY29hOjpQYWdlQ2xpZW50SW1wbENvY29hKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsQ29jb2E6OnBhZ2VDbG9zZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudEltcGxDb2NvYTo6ZGljdGF0aW9uQWx0ZXJuYXRpdmVzKTogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6Omluc2VydERpY3RhdGVkVGV4dEFzeW5jKTogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6dmFsaWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCk6IERpdHRvLgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aW5zZXJ0VGV4dCk6IERpdHRvLgorICAgICAgICAq
IFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5tbTogRGl0dG8uCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaDogRGl0dG8uCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcDogRGl0dG8u
CisKIDIwMjAtMDUtMDUgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQgZml4IGZvciBNb3Rpb25NYXJrIHJlZ3Jlc3Npb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYzJmZTI1Nzc2YzVmZmEzMGIwNjY1YWExZmE5YjQ2N2I5
NGQxMzgxYi4uMjdhMTc1MTU5NzlhYjFkNzkwZjMwYjZlZTY1YTNmZmYxNmY4YWMyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA1LTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9m
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oOiBSZW1vdmVkIFVTRShESUNUQVRJT05fQUxU
RVJOQVRJVkVTKS4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRD
bGllbnQubW06CisgICAgICAgIChXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OmRpY3RhdGlvbkFs
dGVybmF0aXZlcyk6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06IERp
dHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbTogRGl0dG8uCisgICAgICAgICogV2Vi
Vmlldy9XZWJWaWV3RGF0YS5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRh
Lm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOiBEaXR0by4K
KwogMjAyMC0wNS0wNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIG5vdy11bmVlZGVkIEhBVkUgbWFjcm9zIHJlbGF0ZWQgdG8gUERGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENv
bnRleHRDb250cm9sbGVyLmgKaW5kZXggMjk3NGMzMTkyZGMzNWQzN2NkMjNjNjc4YjFiOTIxZDlm
N2I5OWJiMi4uZTEzMzkwODE1ZDBhN2UzNzMyZGJjNzEwMGU3YjE3MGU1YjgxZDE3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaApAQCAtMjMsMTQgKzIzLDEwIEBACiAgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI3ByYWdtYSBvbmNlCi0KLSNpZiBVU0Uo
RElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KICNpbXBv
cnQgPHd0Zi9IYXNoTWFwLmg+CiAKLU9CSkNfQ0xBU1MgTlNUZXh0QWx0ZXJuYXRpdmVzOworQGNs
YXNzIE5TVGV4dEFsdGVybmF0aXZlczsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MCw3
ICszNiw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBBbHRlcm5hdGl2ZVRleHRDb250
ZXh0Q29udHJvbGxlcigpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5BbHRlcm5hdGl2ZVRleHRDb250
ZXh0Q29udHJvbGxlcigpOwogCi0gICAgdWludDY0X3QgYWRkQWx0ZXJuYXRpdmVzKGNvbnN0IFJl
dGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+Jik7CisgICAgdWludDY0X3QgYWRkQWx0ZXJuYXRp
dmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqKTsKIAogICAgIHZvaWQgY2xlYXIoKTsKIApAQCAtNTUs
NSArNTEsMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLm1tIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJv
bGxlci5tbQppbmRleCAyYzk2MjZhYTI1MTFiOTViNjc3NzQ3NjBiYWNiN2UxYzU1YzNjNjBiLi5k
OWEyNjQwZjI1ODdmNmY4YjA4MTE5YTA1OThmODBlYzU2Y2U2ZDc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29u
dGV4dENvbnRyb2xsZXIubW0KQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgog
I2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaCIKIAotI2lmIFVTRShE
SUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKICNp
ZiBVU0UoQVBQS2l0KQpAQCAtNDIsOSArNDAsMTAgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENv
bnRyb2xsZXI6OkFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyKCkgPSBkZWZhdWx0Owog
CiBBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENvbnRl
eHRDb250cm9sbGVyKCkgPSBkZWZhdWx0OwogCi11aW50NjRfdCBBbHRlcm5hdGl2ZVRleHRDb250
ZXh0Q29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRl
cm5hdGl2ZXM+JiBhbHRlcm5hdGl2ZXMpCit1aW50NjRfdCBBbHRlcm5hdGl2ZVRleHRDb250ZXh0
Q29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRp
dmVzKQogewotICAgIHVpbnQ2NF90IGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90
PihhbHRlcm5hdGl2ZXMuZ2V0KCkpOworICAgIC8vIEZJWE1FOiBUdXJuaW5nIGEgcG9pbnRlciBp
bnRvIGFuIGludGVnZXIgaXMgYSBmbGF3ZWQgYWxnb3JpdGhtIHRvIGdlbmVyYXRlIGEgdW5pcXVl
IElELiBDYW4gbGVhZCB0byBhbGlhc2luZyB0byBhIG5ldyBvYmplY3QgdGhhdCBoYXBwZW5zIHRv
IG9jY3VweSB0aGUgc2FtZSBtZW1vcnkgYXMgYW4gb2xkIG9uZS4KKyAgICB1aW50NjRfdCBjb250
ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4oYWx0ZXJuYXRpdmVzKTsKICAgICBpZiAo
IWNvbnRleHQpCiAgICAgICAgIHJldHVybiBpbnZhbGlkQ29udGV4dDsKICAgICBpZiAoYWx0ZXJu
YXRpdmVzRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTY5LDUgKzY4LDMgQEAgdm9pZCBBbHRlcm5h
dGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6Y2xlYXIoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29u
dHJvbGxlci5oCmluZGV4IDYyMjVmZTc0MjM2MDE1YzkxMDFiZWQyYzBkNDc1OWQwMmRmNzFjYzAu
Ljc3ODRhM2M0NGZkYjk1YTdkZjUzYjQ1MDAzMTYwYjNlMzE4ZTQ3MzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRy
b2xsZXIuaApAQCAtMjMsMTAgKzIzLDYgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKQotCiAjaW1wb3J0ICJBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5oIgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00Miw3ICszOCw3IEBAIGNsYXNzIEFsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlciB7CiBwdWJsaWM6CiAgICAgQWx0ZXJuYXRpdmVUZXh0VUlDb250
cm9sbGVyKCkgPSBkZWZhdWx0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdWludDY0X3QgYWRkQWx0
ZXJuYXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+Jik7IC8vIFJldHVy
bnMgYSBjb250ZXh0IElELgorICAgIFdFQkNPUkVfRVhQT1JUIHVpbnQ2NF90IGFkZEFsdGVybmF0
aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKik7IC8vIFJldHVybnMgYSBjb250ZXh0IElELgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhcigpOwogCkBAIC02NCw1ICs2MCwzIEBAIHByaXZh
dGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoRElDVEFU
SU9OX0FMVEVSTkFUSVZFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KaW5kZXggZTU4ZWFlZGVjMDA3
ZTRiOTljNjgyNzE0NzI1ZGUxYTI1ZDUwOTc3Zi4uNzQzNDI3OWY5OTVmMGU5MmVlNjY1YjUzMjll
N2U4M2IwZjVlZTlhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9B
bHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KQEAgLTI2LDggKzI2LDYgQEAK
ICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVy
LmgiCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCAiRmxvYXRS
ZWN0LmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KIApAQCAtMzUsMTMgKzMz
LDE1IEBACiAjaW1wb3J0IDxBcHBLaXQvTlNTcGVsbENoZWNrZXIuaD4KICNpbXBvcnQgPEFwcEtp
dC9OU1RleHRBbHRlcm5hdGl2ZXMuaD4KICNpbXBvcnQgPEFwcEtpdC9OU1ZpZXcuaD4KLSNlbGlm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9VSUtpdFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotdWludDY0X3QgQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOjphZGRBbHRl
cm5hdGl2ZXMoY29uc3QgUmV0YWluUHRyPE5TVGV4dEFsdGVybmF0aXZlcz4mIGFsdGVybmF0aXZl
cykKK3VpbnQ2NF90IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVz
KE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVzKQogewogICAgIHJldHVybiBtX2NvbnRl
eHRDb250cm9sbGVyLmFkZEFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMpOwogfQpAQCAtMTA2LDUg
KzEwNiwzIEBAIHZvaWQgQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOjpyZW1vdmVBbHRlcm5h
dGl2ZXModWludDY0X3QgY29udGV4dCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oCmluZGV4IGYwNGM5
ODIxZTY4NWU3OWY0MGNkNWU2YzEzZDEzOGU1NDJlMGUwMmEuLjg0NDNkY2ViNzA3NDAwZTFjMDU1
NTIyMjg5N2YxYTA2NTlhY2Q3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
bWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvbWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oCkBAIC0yMywxOCArMjMsMTMgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQog
I2luY2x1ZGUgIkFsdGVybmF0aXZlVGV4dENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotT0JKQ19DTEFTUyBOU1Rl
eHRBbHRlcm5hdGl2ZXM7Ci0jZW5kaWYKK0BjbGFzcyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogc3Ry
dWN0IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSB7CiAgICAgV0VCQ09SRV9FWFBPUlQgVGV4dEFs
dGVybmF0aXZlV2l0aFJhbmdlKE5TVGV4dEFsdGVybmF0aXZlcyogYW5BbHRlcm5hdGl2ZXMsIE5T
UmFuZ2UgYVJhbmdlKTsKICAgICBOU1JhbmdlIHJhbmdlOwpAQCAtNDMsOCArMzgsNCBAQCBzdHJ1
Y3QgVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlIHsKIAogV0VCQ09SRV9FWFBPUlQgdm9pZCBjb2xs
ZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhOU0F0dHJpYnV0ZWRTdHJpbmcqLCBWZWN0b3I8
VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlPiYgYWx0ZXJuYXRpdmVzKTsKIAotI2Vsc2UKLXN0cnVj
dCBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UgeyB9OwotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbQppbmRleCA2NTA5ZGY0NDNjMDY2M2Y3OGY5MDk0ZWU5YThkYTY5
NzlhNTM3MTcyLi5kODZlNGNkOWNmODlhMDg1YTBiOTRjOTdmMmI1ZTJkYjYyMjZjMzEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFu
Z2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0
aFJhbmdlLm1tCkBAIC0yMiwxMSArMjIsMTAgQEAKICAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKICAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLworCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIgogCi0jaWYgVVNFKERJQ1RBVElPTl9B
TFRFUk5BVElWRVMpCi0KICNpZiBVU0UoQVBQS0lUKQogI2ltcG9ydCA8QXBwS2l0L05TVGV4dEFs
dGVybmF0aXZlcy5oPgogI2VsaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTU3LDUgKzU2LDMg
QEAgdm9pZCBjb2xsZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhOU0F0dHJpYnV0ZWRTdHJp
bmcgKnN0cmluZywgVmVjdG9yPFRleHRBbHQKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKaW5kZXggY2IwZWNk
MWRlNWIxZWJkOTQyZGRiYjlmZWY0NDU0MDQxNjc4NjU0NS4uYzY3MjI4MzlmNzM5YTQ0NjdhMmYx
NGQ5MTk4YjRmMGQ2NmRkYjdhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaApAQCAtNjIsMTcgKzYyLDEzIEBAIHB1YmxpYzoK
ICAgICBOU1NldCAqc2VyaWFsaXphYmxlRmlsZVdyYXBwZXJDbGFzc2VzKCkgY29uc3QgZmluYWw7
CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotICAgIHVpbnQ2NF90
IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRp
dmVzPiYpIGZpbmFsOworICAgIHVpbnQ2NF90IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhOU1Rl
eHRBbHRlcm5hdGl2ZXMgKikgZmluYWw7CiAgICAgdm9pZCByZW1vdmVEaWN0YXRpb25BbHRlcm5h
dGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgZmluYWw7CiAgICAgVmVjdG9yPFN0cmlu
Zz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIGZpbmFs
OwotI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IG1fd2Vi
VmlldzsKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlcjsKLSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNDA5NDljMmY0MDlj
ZDQyZGNhNjE2YzI5NjQ5ODUyZmYyMjJmMmFmNS4uZDk2YTBlZjRmMDE3YjliNTA1MmY5MzcyYTQ5
NTIyYjAzOGJhNGU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCkBAIC0yOSwxOSArMjksMTQgQEAKICNpbXBvcnQgIldL
V2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5h
bC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaCIKLSNpbXBvcnQgPHd0
Zi9WZWN0b3IuaD4KLQotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogI2ltcG9ydCA8
V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaD4KLSNlbmRpZgorI2ltcG9ydCA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUGFnZUNsaWVudEltcGxDb2Nv
YTo6UGFnZUNsaWVudEltcGxDb2NvYShXS1dlYlZpZXcgKndlYlZpZXcpCiAgICAgOiBtX3dlYlZp
ZXcgeyB3ZWJWaWV3IH0KLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICAsIG1f
YWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyIHsgbWFrZVVuaXF1ZTxBbHRlcm5hdGl2ZVRleHRV
SUNvbnRyb2xsZXI+KCkgfQotI2VuZGlmCiB7CiB9CiAKQEAgLTk4LDE0ICs5MywxMCBAQCBOU1Nl
dCAqUGFnZUNsaWVudEltcGxDb2NvYTo6c2VyaWFsaXphYmxlRmlsZVdyYXBwZXJDbGFzc2VzKCkg
Y29uc3QKIAogdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpwYWdlQ2xvc2VkKCkKIHsKLSNpZiBV
U0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlci0+Y2xlYXIoKTsKLSNlbmRpZgogfQogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCi0KLXVpbnQ2NF90IFBhZ2VDbGllbnRJbXBsQ29jb2E6OmFkZERpY3RhdGlvbkFsdGVybmF0
aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYgYWx0ZXJuYXRpdmVzKQor
dWludDY0X3QgUGFnZUNsaWVudEltcGxDb2NvYTo6YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5T
VGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVzKQogewogICAgIHJldHVybiBtX2FsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlci0+YWRkQWx0ZXJuYXRpdmVzKGFsdGVybmF0aXZlcyk7CiB9CkBA
IC0xMTksOCArMTEwLDUgQEAgVmVjdG9yPFN0cmluZz4gUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlj
dGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnQKIHsKICAgICByZXR1cm4g
bV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXItPmFsdGVybmF0aXZlc0ZvckNvbnRleHQoZGlj
dGF0aW9uQ29udGV4dCk7CiB9Ci0KLSNlbmRpZgotCiAgICAgCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IGZjM2FkNDJi
ZThhMDc3ZGYyMjNlYTMwOTlkZjVlOTJhODZjMmI4ZjUuLmUyNzUyNzliNjVlZTQ0MjA1M2Y3NGZi
NGJjMDI2MDBhYzhlMTE4MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC00NSwxNCArNDUsMTEgQEAKICNpbXBvcnQgPFdl
YkNvcmUvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NlYXJjaFBvcHVwTWVudUNvY29hLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9WYWxpZGF0aW9uQnViYmxlLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNp
bXBvcnQgPHd0Zi9jZi9UeXBlQ2FzdHNDRi5oPgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5B
VElWRVMpCi0jaW1wb3J0IDxXZWJDb3JlL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgotI2Vu
ZGlmCi0KICNpZiBFTkFCTEUoTUVESUFfVVNBR0UpCiAjaW1wb3J0ICJNZWRpYVVzYWdlTWFuYWdl
ckNvY29hLmgiCiAjZW5kaWYKQEAgLTI0Nyw3ICsyNDQsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
cGVyZm9ybURpY3Rpb25hcnlMb29rdXBPZkN1cnJlbnRTZWxlY3Rpb24oKQogCiB2b2lkIFdlYlBh
Z2VQcm94eTo6aW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25z
dCBFZGl0aW5nUmFuZ2UmIHJlcGxhY2VtZW50UmFuZ2UsIGNvbnN0IFZlY3RvcjxUZXh0QWx0ZXJu
YXRpdmVXaXRoUmFuZ2U+JiBkaWN0YXRpb25BbHRlcm5hdGl2ZXNXaXRoUmFuZ2UsIEluc2VydFRl
eHRPcHRpb25zJiYgb3B0aW9ucykKIHsKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykK
ICAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjY0
LDkgKzI2MCw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnNlcnREaWN0YXRlZFRleHRBc3luYyhj
b25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEVkaXRpbmdSYW5nCiAgICAgfQogCiAgICAgcHJvY2Vz
cygpLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6Okluc2VydERpY3RhdGVkVGV4dEFzeW5jIHsgdGV4
dCwgcmVwbGFjZW1lbnRSYW5nZSwgZGljdGF0aW9uQWx0ZXJuYXRpdmVzLCBXVEZNb3ZlKG9wdGlv
bnMpIH0sIG1fd2ViUGFnZUlEKTsKLSNlbHNlCi0gICAgaW5zZXJ0VGV4dEFzeW5jKHRleHQsIHJl
cGxhY2VtZW50UmFuZ2UsIFdURk1vdmUob3B0aW9ucykpOwotI2VuZGlmCiB9CiAgICAgCiAjaWYg
RU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmll
d0ltcGwubW0KaW5kZXggMGNlMzM3NDVlZWEwMTFjZDlmMThiZmFhNjJlZmQxMGE4MjIzMzZmNy4u
OTA1OGNhZWZhOWNlOGY1MGE0YTNhZDM0OWI4MzQwM2Q3Yjg5Y2QyZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTQ3MDMsMTAgKzQ3MDMsMTEg
QEAgTlNBcnJheSAqV2ViVmlld0ltcGw6OnZhbGlkQXR0cmlidXRlc0Zvck1hcmtlZFRleHQoKQog
ewogICAgIHN0YXRpYyBOU0FycmF5ICp2YWxpZEF0dHJpYnV0ZXM7CiAgICAgaWYgKCF2YWxpZEF0
dHJpYnV0ZXMpIHsKLSAgICAgICAgdmFsaWRBdHRyaWJ1dGVzID0gQFsgTlNVbmRlcmxpbmVTdHls
ZUF0dHJpYnV0ZU5hbWUsIE5TVW5kZXJsaW5lQ29sb3JBdHRyaWJ1dGVOYW1lLCBOU01hcmtlZENs
YXVzZVNlZ21lbnRBdHRyaWJ1dGVOYW1lLAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVT
KQorICAgICAgICB2YWxpZEF0dHJpYnV0ZXMgPSBAWworICAgICAgICAgICAgTlNVbmRlcmxpbmVT
dHlsZUF0dHJpYnV0ZU5hbWUsCisgICAgICAgICAgICBOU1VuZGVybGluZUNvbG9yQXR0cmlidXRl
TmFtZSwKKyAgICAgICAgICAgIE5TTWFya2VkQ2xhdXNlU2VnbWVudEF0dHJpYnV0ZU5hbWUsCiAg
ICAgICAgICAgICBOU1RleHRBbHRlcm5hdGl2ZXNBdHRyaWJ1dGVOYW1lLAotI2VuZGlmCiAjaWYg
VVNFKElOU0VSVElPTl9VTkRPX0dST1VQSU5HKQogICAgICAgICAgICAgTlNUZXh0SW5zZXJ0aW9u
VW5kb2FibGVBdHRyaWJ1dGVOYW1lLAogI2VuZGlmCkBAIC00ODQ1LDkgKzQ4NDYsNyBAQCB2b2lk
IFdlYlZpZXdJbXBsOjppbnNlcnRUZXh0KGlkIHN0cmluZywgTlNSYW5nZSByZXBsYWNlbWVudFJh
bmdlKQogCiAgICAgYm9vbCByZWdpc3RlclVuZG9Hcm91cCA9IGZhbHNlOwogICAgIGlmIChpc0F0
dHJpYnV0ZWRTdHJpbmcpIHsKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICAg
ICAgV2ViQ29yZTo6Y29sbGVjdERpY3RhdGlvblRleHRBbHRlcm5hdGl2ZXMoc3RyaW5nLCBkaWN0
YXRpb25BbHRlcm5hdGl2ZXMpOwotI2VuZGlmCiAjaWYgVVNFKElOU0VSVElPTl9VTkRPX0dST1VQ
SU5HKQogICAgICAgICByZWdpc3RlclVuZG9Hcm91cCA9IFdlYkNvcmU6OnNob3VsZFJlZ2lzdGVy
SW5zZXJ0aW9uVW5kb0dyb3VwKHN0cmluZyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaAppbmRleCA4YTlkOWM2YmNlMDM3N2I4YjdjYzdiZTBkNjBkNDdkODczYzZmZDBj
Li5hYTA2ZTA0MjVjOTJmYjM0MGNmZDU1OTRlZDY1NjQ1NzBlMmRlZTQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0zNTUsNyArMzU1LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCB0YWtlRm9jdXMoV2ViQ29yZTo6Rm9jdXNEaXJlY3Rpb24pIHsgfQogCiAjaWYg
VVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0gICAgdmlydHVhbCB1aW50NjRfdCBhZGREaWN0
YXRpb25BbHRlcm5hdGl2ZXMoY29uc3QgUmV0YWluUHRyPE5TVGV4dEFsdGVybmF0aXZlcz4mKSA9
IDA7CisgICAgdmlydHVhbCB1aW50NjRfdCBhZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMoTlNUZXh0
QWx0ZXJuYXRpdmVzICopID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0
ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBi
b3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSA9IDA7
CiAgICAgdmlydHVhbCBWZWN0b3I8U3RyaW5nPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0
X3QgZGljdGF0aW9uQ29udGV4dCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCBmMTQ1M2Y1N2ZhYmFhNTljY2ViNGFlNTFkZjFm
YWFmNTMxYjliMGI4Li5hZTc1OGQ0Y2ZiOGNiZTU5NjdlN2QwYjNiNTExZTUzOTlkMTMxMDA3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApA
QCAtMjYwLDkgKzI2MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYW5jZWxQb2ludGVyc0Zvckdl
c3R1cmVSZWNvZ25pemVyKFVJR2VzdHVyZVJlY29nbml6ZXIqKSBvdmVycmlkZTsKICAgICBXVEY6
Ok9wdGlvbmFsPHVuc2lnbmVkPiBhY3RpdmVUb3VjaElkZW50aWZpZXJGb3JHZXN0dXJlUmVjb2du
aXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgb3ZlcnJpZGU7CiAKLSNpZiBVU0UoRElDVEFUSU9O
X0FMVEVSTkFUSVZFUykKICAgICB2b2lkIHNob3dEaWN0YXRpb25BbHRlcm5hdGl2ZVVJKGNvbnN0
IFdlYkNvcmU6OkZsb2F0UmVjdCYsIHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIG92ZXJyaWRl
OwotI2VuZGlmCiAKICAgICBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3PiBtX2NvbnRlbnRWaWV3
OwogICAgIFJldGFpblB0cjxXS0VkaXRvclVuZG9UYXJnZXQ+IG1fdW5kb1RhcmdldDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCA2
NmIzOThhZTdiNjE2NmZkNmVjYTM3MWFiMWNhNDFlMjI2ZjUwYWFlLi4zM2ZiOGQ5NjU1MzJiYWVk
Y2YzMTMzYzIwMjRhNzljN2Q3NTgyNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC05NDksMTUgKzk0OSwxMSBAQCB2b2lkIFBh
Z2VDbGllbnRJbXBsOjpoYW5kbGVBdXRvY29ycmVjdGlvbkNvbnRleHQoY29uc3QgV2ViQXV0b2Nv
cnJlY3Rpb25Db250ZXh0JgogICAgIFttX2NvbnRlbnRWaWV3IF9oYW5kbGVBdXRvY29ycmVjdGlv
bkNvbnRleHQ6Y29udGV4dF07CiB9CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykK
LQogdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3Qg
V2ViQ29yZTo6RmxvYXRSZWN0JiwgdWludDY0X3QpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
IH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDk2MzAyZTZiMDNjYjQwYzgyZTJiYWFl
ZDViZDEwN2ZjNDRjZGYyZTIuLjJkNWU3NDQ5YTg5MzQwNjllZjdmMmM2NmFlZjFjYzcwZTdlYzA4
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTEzLDYgKzExMyw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxiYXIu
aD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVEYXRhLmg+CisjaW1wb3J0IDxXZWJDb3JlL1RleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0SW5kaWNhdG9yLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1RvdWNoQWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VUSVV0
aWxpdGllcy5oPgpAQCAtMTY0LDEwICsxNjUsNiBAQAogI2ltcG9ydCA8V2ViS2l0QWRkaXRpb25z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbkFkZGl0aW9ucy5tbT4KICNlbmRpZgogCi0jaWYgVVNF
KERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0jaW1wb3J0IDxXZWJDb3JlL1RleHRBbHRlcm5hdGl2
ZVdpdGhSYW5nZS5oPgotI2VuZGlmCi0KICNpbXBvcnQgPHBhbC9pb3MvTWFuYWdlZENvbmZpZ3Vy
YXRpb25Tb2Z0TGluay5oPgogCiAjaWYgSEFWRShMSU5LX1BSRVZJRVcpICYmIFVTRShVSUNPTlRF
WFRNRU5VKQpAQCAtNDc4Myw4ICs0NzgwLDYgQEAgLSAodm9pZClpbnNlcnRUZXh0OihOU1N0cmlu
ZyAqKWFTdHJpbmdWYWx1ZQogICAgIF9wYWdlLT5pbnNlcnRUZXh0QXN5bmMoYVN0cmluZ1ZhbHVl
LCBXZWJLaXQ6OkVkaXRpbmdSYW5nZSgpLCBXVEZNb3ZlKG9wdGlvbnMpKTsKIH0KIAotI2lmIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiAtICh2b2lkKWluc2VydFRleHQ6KE5TU3RyaW5n
ICopYVN0cmluZ1ZhbHVlIGFsdGVybmF0aXZlczooTlNBcnJheTxOU1N0cmluZyAqPiAqKWFsdGVy
bmF0aXZlcyBzdHlsZTooVUlUZXh0QWx0ZXJuYXRpdmVTdHlsZSlzdHlsZQogewogICAgIGlmICgh
YWx0ZXJuYXRpdmVzLmNvdW50KQpAQCAtNDgwMCw4ICs0Nzk1LDYgQEAgLSAodm9pZClpbnNlcnRU
ZXh0OihOU1N0cmluZyAqKWFTdHJpbmdWYWx1ZSBhbHRlcm5hdGl2ZXM6KE5TQXJyYXk8TlNTdHJp
bmcgKj4gKikKICAgICB9CiB9CiAKLSNlbmRpZgotCiAtIChCT09MKWhhc1RleHQKIHsKICAgICBh
dXRvJiBlZGl0b3JTdGF0ZSA9IF9wYWdlLT5lZGl0b3JTdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCBmOTk5ZGJhOGEzMzU5
OWIxZWQxYzkyMzEzNzE4YTIzODY3OWQ0Mzc2Li42YWQwOTdiMTc0MjY5ZWMwYTMyNWJhNjkyNmE0
MmRjMGZmMzY4Y2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGxNYWMuaApAQCAtMTgwLDkgKzE4MCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGlu
dHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGludHJp
bnNpY0NvbnRlbnRTaXplKSBvdmVycmlkZTsKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKQogICAgIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRpb25D
b250ZXh0KSBvdmVycmlkZTsKLSNlbmRpZgogCiAgICAgdm9pZCBzZXRFZGl0YWJsZUVsZW1lbnRJ
c0ZvY3VzZWQoYm9vbCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCA1MGJiMmQzMmFlNTQ2NjEzZTY0MGNhMzY5
ZGI2MWFmNDEyMjkxZjZiLi4wODhiNzViZTkzYTA1YWEyNDc0OTMwZjZlMWYyYWMwYzQxNzc0YTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFj
Lm1tCkBAIC02ODIsOCArNjgyLDYgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6ZXhlY3V0ZVNhdmVk
Q29tbWFuZEJ5U2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzZWxlY3RvclN0cmluZykKICAgICByZXR1
cm4gbV9pbXBsLT5leGVjdXRlU2F2ZWRDb21tYW5kQnlTZWxlY3RvcihOU1NlbGVjdG9yRnJvbVN0
cmluZyhzZWxlY3RvclN0cmluZykpOwogfQogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCi0KIHZvaWQgUGFnZUNsaWVudEltcGw6OnNob3dEaWN0YXRpb25BbHRlcm5hdGl2ZVVJKGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpbmdCb3hPZkRpY3RhdGVkVGV4dCwgdWludDY0
X3QgZGljdGF0aW9uQ29udGV4dCkKIHsKICAgICBpZiAoIWlzVmlld1Zpc2libGUoKSB8fCAhaXNW
aWV3SW5XaW5kb3coKSkKQEAgLTY5Myw4ICs2OTEsNiBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpz
aG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5k
aQogICAgIH0pOwogfQogCi0jZW5kaWYKLQogdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0RWRpdGFi
bGVFbGVtZW50SXNGb2N1c2VkKGJvb2wgZWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKQogewogICAg
IG1faW1wbC0+c2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKGVkaXRhYmxlRWxlbWVudElzRm9j
dXNlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKaW5kZXggNTRhYjFjMzJk
ZjliODkzNTU1Y2U3ZjZlOTc2NDFjNjRhNTk1NWQwNi4uMGZlZTA0YzYyZTkwYmQzODgwMGM2ZTdj
OWIxYTU2MmQ5ZDVhMTg5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaApA
QCAtNDIsMjAgKzQyLDEyIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgZGlzbWlzc0FsdGVybmF0aXZl
U29vbihXZWJDb3JlOjpSZWFzb25Gb3JEaXNtaXNzaW5nQWx0ZXJuYXRpdmVUZXh0KSBvdmVycmlk
ZTsKICAgICB2b2lkIHJlY29yZEF1dG9jb3JyZWN0aW9uUmVzcG9uc2UoV2ViQ29yZTo6QXV0b2Nv
cnJlY3Rpb25SZXNwb25zZSwgY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZywgY29uc3QgU3Ry
aW5nJiByZXBsYWNlbWVudFN0cmluZykgb3ZlcnJpZGU7CiAjZW5kaWYKLSNpZiBVU0UoRElDVEFU
SU9OX0FMVEVSTkFUSVZFUykKICAgICB2b2lkIHNob3dEaWN0YXRpb25BbHRlcm5hdGl2ZVVJKGNv
bnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpbmdCb3hPZkRpY3RhdGVkVGV4dCwgdWludDY0
X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW1vdmVEaWN0YXRpb25B
bHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJpZGU7CiAgICAgVmVj
dG9yPFN0cmluZz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRl
eHQpIG92ZXJyaWRlOwotI2VuZGlmCiAKIHByaXZhdGU6Ci0jaWYgIShVU0UoQVVUT0NPUlJFQ1RJ
T05fUEFORUwpIHx8IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSkKLSAgICBJR05PUkVfQ0xB
TkdfV0FSTklOR1NfQkVHSU4oInVudXNlZC1wcml2YXRlLWZpZWxkIikKLSNlbmRpZgogICAgIFdl
YlBhZ2UqIG1fcGFnZTsKLSNpZiAhKFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkgfHwgVVNFKERJ
Q1RBVElPTl9BTFRFUk5BVElWRVMpKQotICAgIElHTk9SRV9DTEFOR19XQVJOSU5HU19FTkQKLSNl
bmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L21hYy9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQu
Y3BwCmluZGV4IDliNmFhOWYzZGYxZmYzNGM5NzNlOTEzZDU1MGZkOGM1NDg0MjEzMTAuLjM5YmVi
MzFjMWZhMmM5MjZiZTE2M2FmMzdjYWFhYTI5YjBjMzZmM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFj
L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAKQEAgLTY5LDcgKzY5LDYgQEAgdm9pZCBXZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlY29yZEF1dG9jb3JyZWN0aW9uUmVzcG9uc2UoQXV0b2Nv
cnJlY3Rpb25SZXNwb24KIH0KICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCiB2b2lkIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudDo6cmVtb3ZlRGljdGF0aW9uQWx0ZXJu
YXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpCiB7CiAgICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyhkaWN0YXRp
b25Db250ZXh0KSk7CkBAIC04Niw1ICs4NSw1IEBAIFZlY3RvcjxTdHJpbmc+IFdlYkFsdGVybmF0
aXZlVGV4dENsaWVudDo6ZGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvCiAg
ICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWN0YXRpb25BbHRl
cm5hdGl2ZXMoZGljdGF0aW9uQ29udGV4dCksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpY3Rh
dGlvbkFsdGVybmF0aXZlczo6UmVwbHkocmVzdWx0KSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LSNlbmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IGU0OTEy
ZmYxMWVkY2Y5ODNjYzY4YzVjZjYxODlkNjcyNjMwOTMzMWIuLmE5NzBhYTYwZGM3MzhlNzExNDk0
ZjVlMDBkZGNjZDg2ODE0M2FlMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5o
CkBAIC0yMyw4ICsyMyw2IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNwcmFnbWEgb25jZQot
CiAjaW1wb3J0ICJDb3JyZWN0aW9uUGFuZWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvQWx0ZXJuYXRp
dmVUZXh0Q2xpZW50Lmg+CiAKQEAgLTMzLDcgKzMxLDcgQEAKIGNsYXNzIFdlYkFsdGVybmF0aXZl
VGV4dENsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRDbGllbnQgewogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIGV4cGxpY2l0IFdlYkFsdGVy
bmF0aXZlVGV4dENsaWVudChXZWJWaWV3Kik7CisgICAgZXhwbGljaXQgV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50KFdlYlZpZXcgKik7CiAgICAgdmlydHVhbCB+V2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50KCk7CiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAgIHZvaWQgc2hvd0NvcnJl
Y3Rpb25BbHRlcm5hdGl2ZShXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRUeXBlLCBjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZSZXBsYWNlZFN0cmluZywgY29uc3QgU3RyaW5n
JiByZXBsYWNlZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBsYWNlbWVudFN0cmluZywgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGFsdGVybmF0aXZlUmVwbGFjZW1lbnRTdHJpbmdzKSBvdmVycmlkZTsK
QEAgLTQxLDIwICszOSwxMiBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGRpc21pc3NBbHRlcm5hdGl2
ZVNvb24oV2ViQ29yZTo6UmVhc29uRm9yRGlzbWlzc2luZ0FsdGVybmF0aXZlVGV4dCkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCByZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKFdlYkNvcmU6OkF1dG9j
b3JyZWN0aW9uUmVzcG9uc2UsIGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0
cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcpIG92ZXJyaWRlOwogI2VuZGlmCi0jaWYgVVNFKERJQ1RB
VElPTl9BTFRFUk5BVElWRVMpCiAgICAgdm9pZCBzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShj
b25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZEaWN0YXRlZFRleHQsIHVpbnQ2
NF90IGRpY3RhdGlvbkNvbnRleHQpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlRGljdGF0aW9u
QWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIG92ZXJyaWRlOwogICAgIFZl
Y3RvcjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250
ZXh0KSBvdmVycmlkZTsKLSNlbmRpZgogCiBwcml2YXRlOgotI2lmICEoVVNFKEFVVE9DT1JSRUNU
SU9OX1BBTkVMKSB8fCBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykpCi0gICAgSUdOT1JFX1dB
Uk5JTkdTX0JFR0lOKCJ1bnVzZWQtcHJpdmF0ZS1maWVsZCIpCi0jZW5kaWYKLSAgICBXZWJWaWV3
KiBtX3dlYlZpZXc7Ci0jaWYgIShVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpIHx8IFVTRShESUNU
QVRJT05fQUxURVJOQVRJVkVTKSkKLSAgICBJR05PUkVfV0FSTklOR1NfRU5ECi0jZW5kaWYKKyAg
ICBXZWJWaWV3ICptX3dlYlZpZXc7CiAKICNpZiBVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpCiAg
ICAgQ29ycmVjdGlvblBhbmVsIG1fY29ycmVjdGlvblBhbmVsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRp
dmVUZXh0Q2xpZW50Lm1tCmluZGV4IDRjYjVlNTQ4OTM1NzI4NTk3MmQ0Mjc1NjgwODk5NjUxNTY1
ZDZhZWUuLmY2ODZmNmNhZGU3MGJhNDVlZjBhZmE1OWZmZGIxMTk3ZWJjNmE0MTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZl
VGV4dENsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQubW0KQEAgLTc4LDcgKzc4LDYgQEAgdm9pZCBXZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlY29yZEF1dG9jb3JyZWN0aW9uUmVzcG9uc2UoQXV0b2Nv
cnJlY3Rpb25SZXNwb24KIH0KICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCiB2b2lkIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudDo6cmVtb3ZlRGljdGF0aW9uQWx0ZXJu
YXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpCiB7CiAgICAgW21fd2ViVmlldyBfcmVt
b3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVzOmRpY3RhdGlvbkNvbnRleHRdOwpAQCAtOTMsNCArOTIs
MyBAQCBWZWN0b3I8U3RyaW5nPiBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OmRpY3RhdGlvbkFs
dGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpbwogewogICAgIHJldHVybiBbbV93ZWJWaWV3IF9k
aWN0YXRpb25BbHRlcm5hdGl2ZXM6ZGljdGF0aW9uQ29udGV4dF07CiB9Ci0jZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4IDgwMWRm
Y2Q1OWM5YmZmNTAyYTk3YjU4MzVkZjVjZWFlZTk0YWYyZDkuLjYzOGVlMDFhYjU4MmY1NzJhNmZm
MjM2MjVhNTE4ZTA5ZTgyNTQ4NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJIVE1MVmlldy5tbQpAQCAtNjI1NSw5ICs2MjU1LDcgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgIE5TVW5kZXJsaW5lQ29sb3JBdHRyaWJ1dGVO
YW1lLAogICAgICAgICBOU01hcmtlZENsYXVzZVNlZ21lbnRBdHRyaWJ1dGVOYW1lLAogICAgICAg
ICBOU1RleHRJbnB1dFJlcGxhY2VtZW50UmFuZ2VBdHRyaWJ1dGVOYW1lLAotI2lmIFVTRShESUNU
QVRJT05fQUxURVJOQVRJVkVTKQogICAgICAgICBOU1RleHRBbHRlcm5hdGl2ZXNBdHRyaWJ1dGVO
YW1lLAotI2VuZGlmCiAjaWYgVVNFKElOU0VSVElPTl9VTkRPX0dST1VQSU5HKQogICAgICAgICBO
U1RleHRJbnNlcnRpb25VbmRvYWJsZUF0dHJpYnV0ZU5hbWUsCiAjZW5kaWYKQEAgLTY2MzQsMTIg
KzY2MzIsMTAgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgVmVj
dG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiBkaWN0YXRpb25BbHRlcm5hdGl2ZUxv
Y2F0aW9uczsKICNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKGlzQXR0cmlidXRlZFN0cmluZykg
ewotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgICAgICBWZWN0b3I8V2ViQ29y
ZTo6VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlPiB0ZXh0QWx0ZXJuYXRpdmVzOwogICAgICAgICBj
b2xsZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhzdHJpbmcsIHRleHRBbHRlcm5hdGl2ZXMp
OwogICAgICAgICBpZiAoIXRleHRBbHRlcm5hdGl2ZXMuaXNFbXB0eSgpKQogICAgICAgICAgICAg
W1tzZWxmIF93ZWJWaWV3XSBfZ2V0V2ViQ29yZURpY3RhdGlvbkFsdGVybmF0aXZlczpkaWN0YXRp
b25BbHRlcm5hdGl2ZUxvY2F0aW9ucyBmcm9tVGV4dEFsdGVybmF0aXZlczp0ZXh0QWx0ZXJuYXRp
dmVzXTsKLSNlbmRpZgogI2lmIFVTRShJTlNFUlRJT05fVU5ET19HUk9VUElORykKICAgICAgICAg
cmVnaXN0ZXJVbmRvR3JvdXAgPSBXZWJDb3JlOjpzaG91bGRSZWdpc3Rlckluc2VydGlvblVuZG9H
cm91cChzdHJpbmcpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggMzBmMDEzMzhjYTIyYjAyYmNlOTBkZGI0ZTc4YzI3YjdkYjVkMmE2My4u
ODU1MDAxMGNjYWE4NjlmYTE1NjJmZThiZWU0ZDg1OTlmOTJmOGQ3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtOTM4Niw3ICs5Mzg2LDYgQEAgLSAo
dm9pZCloYW5kbGVBY2NlcHRlZEFsdGVybmF0aXZlVGV4dDooTlNTdHJpbmcqKXRleHQKIH0KICNl
bmRpZgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAtICh2b2lkKV9nZXRXZWJD
b3JlRGljdGF0aW9uQWx0ZXJuYXRpdmVzOihWZWN0b3I8V2ViQ29yZTo6RGljdGF0aW9uQWx0ZXJu
YXRpdmU+JilhbHRlcm5hdGl2ZXMgZnJvbVRleHRBbHRlcm5hdGl2ZXM6KGNvbnN0IFZlY3RvcjxX
ZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2U+JilhbHRlcm5hdGl2ZXNXaXRoUmFuZ2UK
IHsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFsdGVybmF0aXZlc1dpdGhSYW5nZS5zaXpl
KCk7ICsraSkgewpAQCAtOTQxNSw3ICs5NDE0LDYgQEAgLSAoVmVjdG9yPFN0cmluZz4pX2RpY3Rh
dGlvbkFsdGVybmF0aXZlczoodWludDY0X3QpZGljdGF0aW9uQ29udGV4dAogewogICAgIHJldHVy
biBfcHJpdmF0ZS0+bV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXItPmFsdGVybmF0aXZlc0Zv
ckNvbnRleHQoZGljdGF0aW9uQ29udGV4dCk7CiB9Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQogLSAoV2ViU2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXImKV9zZWxlY3Rp
b25TZXJ2aWNlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3RGF0YS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3RGF0YS5oCmluZGV4IGZlOTgzOWJhYzQ3NDkxYTE0M2JhNjhiZTdjOWJiNjUwYWZkNTA3
YjguLmIwMjA3ZTJiOTFlNWMwYzY1NzY4MWU1YjM5YmQ4NzI3NTc2YzE2NjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKQEAgLTM1NSw5ICszNTUs
NyBAQCBwcml2YXRlOgogICAgIFdlYkZpeGVkUG9zaXRpb25Db250ZW50KiBfZml4ZWRQb3NpdGlv
bkNvbnRlbnQ7CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI+IG1f
YWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOwotI2VuZGlmCiAKICAgICBSZXRhaW5QdHI8TlNE
YXRhPiBzb3VyY2VBcHBsaWNhdGlvbkF1ZGl0RGF0YTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KaW5kZXggYzNmY2MzMGQ2MTY1MzZiZjJmNGRh
ZDQzN2I4ZmZmOWE1MThiM2JiMy4uMzIzYzg5ZDg4NjhjZGNkMDQ3ZjkzZTQwNGFlYmU4YzlhMWE0
NTNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
RGF0YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRh
Lm1tCkBAIC0yMDYsOSArMjA2LDcgQEAgLSAoaWQpaW5pdAogCiAgICAgcGx1Z2luRGF0YWJhc2VD
bGllbnRDb3VudCsrOwogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgbV9h
bHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIgPSBtYWtlVW5pcXVlPFdlYkNvcmU6OkFsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlcj4oKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIHNlbGY7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5h
bC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaApp
bmRleCA1NmM4ZDU2MjkwZGRjZWE0YThjOWMwZGMwMmYwOGZlOWE0Yjg4ODhhLi5kMjg2ODU1Y2U4
NzI2ZTJmNWQxNmM1ODczNTQyODk1ZjAxNGYyZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKQEAgLTM0LDYgKzM0LDcgQEAKICNp
bXBvcnQgIldlYlR5cGVzSW50ZXJuYWwuaCIKIAogI2lmZGVmIF9fY3BsdXNwbHVzCisKICNpbXBv
cnQgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zp
bmRPcHRpb25zLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgpAQCAtODAsNiArODEs
NyBAQCBjbGFzcyBXZWJTZWxlY3Rpb25TZXJ2aWNlQ29udHJvbGxlcjsKICNlbmRpZgogCiBAY2xh
c3MgTlNDYW5kaWRhdGVMaXN0VG91Y2hCYXJJdGVtOworQGNsYXNzIE5TVGV4dEFsdGVybmF0aXZl
czsKIEBjbGFzcyBXZWJCYXNlUGx1Z2luUGFja2FnZTsKIEBjbGFzcyBXZWJEb3dubG9hZDsKIEBj
bGFzcyBXZWJJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyOwpAQCAtOTIsMTAgKzk0LDYgQEAgV2Vi
Q29yZTo6RmluZE9wdGlvbnMgY29yZU9wdGlvbnMoV2ViRmluZE9wdGlvbnMgb3B0aW9ucyk7CiBP
cHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPiBjb3JlTGF5b3V0TWlsZXN0b25lcyhX
ZWJMYXlvdXRNaWxlc3RvbmVzKTsKIFdlYkxheW91dE1pbGVzdG9uZXMga2l0TGF5b3V0TWlsZXN0
b25lcyhPcHRpb25TZXQ8V2ViQ29yZTo6TGF5b3V0TWlsZXN0b25lPik7CiAKLSNpZiBVU0UoRElD
VEFUSU9OX0FMVEVSTkFUSVZFUykKLU9CSkNfQ0xBU1MgTlNUZXh0QWx0ZXJuYXRpdmVzOwotI2Vu
ZGlmCi0KICNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikgJiYgZGVmaW5lZChfX2NwbHVzcGx1
cykKIEBpbnRlcmZhY2UgV2ViVUlUZXh0SW5kaWNhdG9yRGF0YSAoV2ViVUlUZXh0SW5kaWNhdG9y
SW50ZXJuYWwpCiAtIChXZWJVSVRleHRJbmRpY2F0b3JEYXRhICopaW5pdFdpdGhJbWFnZTooQ0dJ
bWFnZVJlZilpbWFnZSB0ZXh0SW5kaWNhdG9yRGF0YTooY29uc3QgV2ViQ29yZTo6VGV4dEluZGlj
YXRvckRhdGEmKWluZGljYXRvckRhdGEgc2NhbGU6KENHRmxvYXQpc2NhbGU7CkBAIC0xMzUsMTIg
KzEzMywxMCBAQCBPQkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0aXZlczsKIC0gKHZvaWQpaGFuZGxl
QWNjZXB0ZWRBbHRlcm5hdGl2ZVRleHQ6KE5TU3RyaW5nKil0ZXh0OwogI2VuZGlmCiAKLSNpZiBV
U0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKIC0gKHZvaWQpX2dldFdlYkNvcmVEaWN0YXRpb25B
bHRlcm5hdGl2ZXM6KFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25BbHRlcm5hdGl2ZT4mKWFsdGVy
bmF0aXZlcyBmcm9tVGV4dEFsdGVybmF0aXZlczooY29uc3QgVmVjdG9yPFdlYkNvcmU6OlRleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZT4mKWFsdGVybmF0aXZlc1dpdGhSYW5nZTsKIC0gKHZvaWQpX3No
b3dEaWN0YXRpb25BbHRlcm5hdGl2ZVVJOihjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmKWJvdW5k
aW5nQm94T2ZEaWN0YXRlZFRleHQgZm9yRGljdGF0aW9uQ29udGV4dDoodWludDY0X3QpZGljdGF0
aW9uQ29udGV4dDsKIC0gKHZvaWQpX3JlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlczoodWludDY0
X3QpZGljdGF0aW9uQ29udGV4dDsKIC0gKFZlY3RvcjxTdHJpbmc+KV9kaWN0YXRpb25BbHRlcm5h
dGl2ZXM6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQ7Ci0jZW5kaWYKIAogI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQogLSAoV2ViU2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXImKV9zZWxl
Y3Rpb25TZXJ2aWNlQ29udHJvbGxlcjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCA5YmEyM2JjMDQ2MDAxNDlmMWM3OTM2ZWFkODBmMGI1YTcxMTVi
YjIyLi42NzMxYjkwOThjNDAxY2M5ZGMxNWIyMmRlNjg2YTQzZjg3MWUwMjIwIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMjAtMDUtMDUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEVs
aW1pbmF0ZSBjaGVja3Mgb2YgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpIGluIENvY29hLXNw
ZWNpZmljIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxMTQ2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tOiBS
ZW1vdmUgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpLgorCiAyMDIwLTA1LTA1ICBEYW5pZWwg
QmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBTaG91bGQgc2hvdyBzZWxlY3Rp
b24gaGlnaGxpZ2h0IGR1cmluZyB0ZXh0IGludGVyYWN0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0KaW5kZXggYmM3
NGM4YzU4NWQyYzU1NzYxNTI2MGVmMWI1ZDlhMDBlMmNhMjE4ZS4uN2E2ZGIxOTJjODQ1MTc4ZDNh
NTk5YTYzNjA2ZWZiZTUwN2E5OTFiMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbQpAQCAtNjk0LDggKzY5NCw2IEBA
IFRFU1QoS2V5Ym9hcmRJbnB1dFRlc3RzLCBJbnNlcnRUZXh0U2ltdWxhdGluZ0tleWJvYXJkSW5w
dXQpCiAgICAgRVhQRUNUX05TX0VRVUFMKChAW0Aia2V5ZG93biIsIEAiYmVmb3JlaW5wdXQiLCBA
ImlucHV0IiwgQCJrZXl1cCIsIEAiY2hhbmdlIl0pLCBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OkAiZmlyZWRFdmVudHMiXSk7CiB9CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FM
VEVSTkFUSVZFUykKLQogVEVTVChLZXlib2FyZElucHV0VGVzdHMsIEluc2VydERpY3RhdGlvbkFs
dGVybmF0aXZlc1NpbXVsYXRpbmdLZXlib2FyZElucHV0KQogewogICAgIEluc3RhbmNlTWV0aG9k
U3dpenpsZXIgb3ZlcnJpZGVTaG91bGRTaW11bGF0ZUtleWJvYXJkSW5wdXRPblRleHRJbnNlcnRp
b24geyBOU0NsYXNzRnJvbVN0cmluZyhAIldLQ29udGVudFZpZXciKSwgQHNlbGVjdG9yKF9zaG91
bGRTaW11bGF0ZUtleWJvYXJkSW5wdXRPblRleHRJbnNlcnRpb24pLCByZWludGVycHJldF9jYXN0
PElNUD4oc2hvdWxkU2ltdWxhdGVLZXlib2FyZElucHV0T25UZXh0SW5zZXJ0aW9uT3ZlcnJpZGUp
IH07CkBAIC03MTIsOCArNzEwLDYgQEAgVEVTVChLZXlib2FyZElucHV0VGVzdHMsIEluc2VydERp
Y3RhdGlvbkFsdGVybmF0aXZlc1NpbXVsYXRpbmdLZXlib2FyZElucHV0KQogICAgIEVYUEVDVF9O
U19FUVVBTCgoQFtAImtleWRvd24iLCBAImJlZm9yZWlucHV0IiwgQCJpbnB1dCIsIEAia2V5dXAi
LCBAImNoYW5nZSJdKSwgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImZp
cmVkRXZlbnRzIl0pOwogfQogCi0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SQogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398560</attachid>
            <date>2020-05-05 15:29:09 -0700</date>
            <delta_ts>2020-05-05 16:35:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211460-20200505152906.patch</filename>
            <type>text/plain</type>
            <size>34510</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGU3NzYyYTJjM2RkZmMw
MjM5MTRiM2Q4ZDljMDA1MDE1NDIzZjU0My4uN2M1ZDIwZWQyOTQ1MDhkZjM1N2E5ODAyYTVhYzM4
OGZmMjQ5OTc1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA1LTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9m
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaDogUmVtb3ZlIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgQWxzbyByZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9m
IFJldGFpblB0ciBhbmQgYWRkIGEgRklYTUUuIEFsc28gcmVtb3ZlICNwcmFnbWEgb25jZQorICAg
ICAgICBzaW5jZSB0aGlzIGhlYWRlciBpcyBvbmx5IGltcG9ydGVkIGZyb20gT2JqZWN0aXZlLUMr
KyBzb3VyY2VzLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4
dENvbnRyb2xsZXIubW06IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLmg6IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21h
Yy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9t
YWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tOiBEaXR0by4KKwogMjAyMC0wNS0wNSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBc3NlcnQgdGhh
dCBFdmVudEhhbmRsZXIgb25seSB0cmFja3MgZXZlbnQgdGFyZ2V0IG5vZGVzIGluIGl0cyBvd24g
ZG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZjU5OTI3ZWIyNzc1OGY0Mjc5ZjRlZWQ1NzE5ZDdmOTEyOTU4
MmVhMy4uYzU4NmU1YmYyYzRiNjg2NjExZGE2NGQ5M2I0ZmU1YWQ5OWVlNDEyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzMCBAQAorMjAyMC0wNS0wNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CisKKyAgICAgICAgRWxpbWluYXRlIGNoZWNrcyBvZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFU
SVZFUykgaW4gQ29jb2Etc3BlY2lmaWMgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNDYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2Nv
YS5oOiBSZW1vdmUgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpLgorICAgICAgICBBbHNvIHJl
bW92ZSB1bm5lY2Vzc2FyeSB1c2Ugb2YgUmV0YWluUHRyLgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50
SW1wbENvY29hOjpQYWdlQ2xpZW50SW1wbENvY29hKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6
OlBhZ2VDbGllbnRJbXBsQ29jb2E6OnBhZ2VDbG9zZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudEltcGxDb2NvYTo6ZGljdGF0aW9uQWx0ZXJuYXRpdmVzKTogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6Omluc2VydERpY3RhdGVkVGV4dEFzeW5jKTogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6dmFsaWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCk6IERpdHRvLgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aW5zZXJ0VGV4dCk6IERpdHRvLgorICAgICAgICAq
IFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5tbTogRGl0dG8uCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaDogRGl0dG8uCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcDogRGl0dG8u
CisKIDIwMjAtMDUtMDUgIFBlciBBcm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQgZml4IGZvciBNb3Rpb25NYXJrIHJlZ3Jlc3Npb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggYzJmZTI1Nzc2YzVmZmEzMGIwNjY1YWExZmE5YjQ2N2I5
NGQxMzgxYi4uMjdhMTc1MTU5NzlhYjFkNzkwZjMwYjZlZTY1YTNmZmYxNmY4YWMyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA1LTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9m
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oOiBSZW1vdmVkIFVTRShESUNUQVRJT05fQUxU
RVJOQVRJVkVTKS4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRD
bGllbnQubW06CisgICAgICAgIChXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OmRpY3RhdGlvbkFs
dGVybmF0aXZlcyk6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06IERp
dHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbTogRGl0dG8uCisgICAgICAgICogV2Vi
Vmlldy9XZWJWaWV3RGF0YS5oOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRh
Lm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOiBEaXR0by4K
KwogMjAyMC0wNS0wNSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIG5vdy11bmVlZGVkIEhBVkUgbWFjcm9zIHJlbGF0ZWQgdG8gUERGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENv
bnRleHRDb250cm9sbGVyLmgKaW5kZXggMjk3NGMzMTkyZGMzNWQzN2NkMjNjNjc4YjFiOTIxZDlm
N2I5OWJiMi4uZTEzMzkwODE1ZDBhN2UzNzMyZGJjNzEwMGU3YjE3MGU1YjgxZDE3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaApAQCAtMjMsMTQgKzIzLDEwIEBACiAgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI3ByYWdtYSBvbmNlCi0KLSNpZiBVU0Uo
RElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KICNpbXBv
cnQgPHd0Zi9IYXNoTWFwLmg+CiAKLU9CSkNfQ0xBU1MgTlNUZXh0QWx0ZXJuYXRpdmVzOworQGNs
YXNzIE5TVGV4dEFsdGVybmF0aXZlczsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MCw3
ICszNiw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBBbHRlcm5hdGl2ZVRleHRDb250
ZXh0Q29udHJvbGxlcigpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5BbHRlcm5hdGl2ZVRleHRDb250
ZXh0Q29udHJvbGxlcigpOwogCi0gICAgdWludDY0X3QgYWRkQWx0ZXJuYXRpdmVzKGNvbnN0IFJl
dGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+Jik7CisgICAgdWludDY0X3QgYWRkQWx0ZXJuYXRp
dmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqKTsKIAogICAgIHZvaWQgY2xlYXIoKTsKIApAQCAtNTUs
NSArNTEsMyBAQCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLm1tIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJv
bGxlci5tbQppbmRleCAyYzk2MjZhYTI1MTFiOTViNjc3NzQ3NjBiYWNiN2UxYzU1YzNjNjBiLi5k
OWEyNjQwZjI1ODdmNmY4YjA4MTE5YTA1OThmODBlYzU2Y2U2ZDc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29u
dGV4dENvbnRyb2xsZXIubW0KQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5oIgog
I2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaCIKIAotI2lmIFVTRShE
SUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKICNp
ZiBVU0UoQVBQS2l0KQpAQCAtNDIsOSArNDAsMTAgQEAgQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENv
bnRyb2xsZXI6OkFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyKCkgPSBkZWZhdWx0Owog
CiBBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6fkFsdGVybmF0aXZlVGV4dENvbnRl
eHRDb250cm9sbGVyKCkgPSBkZWZhdWx0OwogCi11aW50NjRfdCBBbHRlcm5hdGl2ZVRleHRDb250
ZXh0Q29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRl
cm5hdGl2ZXM+JiBhbHRlcm5hdGl2ZXMpCit1aW50NjRfdCBBbHRlcm5hdGl2ZVRleHRDb250ZXh0
Q29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRp
dmVzKQogewotICAgIHVpbnQ2NF90IGNvbnRleHQgPSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90
PihhbHRlcm5hdGl2ZXMuZ2V0KCkpOworICAgIC8vIEZJWE1FOiBUdXJuaW5nIGEgcG9pbnRlciBp
bnRvIGFuIGludGVnZXIgaXMgYSBmbGF3ZWQgYWxnb3JpdGhtIHRvIGdlbmVyYXRlIGEgdW5pcXVl
IElELiBDYW4gbGVhZCB0byBhbGlhc2luZyB0byBhIG5ldyBvYmplY3QgdGhhdCBoYXBwZW5zIHRv
IG9jY3VweSB0aGUgc2FtZSBtZW1vcnkgYXMgYW4gb2xkIG9uZS4KKyAgICB1aW50NjRfdCBjb250
ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4oYWx0ZXJuYXRpdmVzKTsKICAgICBpZiAo
IWNvbnRleHQpCiAgICAgICAgIHJldHVybiBpbnZhbGlkQ29udGV4dDsKICAgICBpZiAoYWx0ZXJu
YXRpdmVzRm9yQ29udGV4dChjb250ZXh0KSkKQEAgLTY5LDUgKzY4LDMgQEAgdm9pZCBBbHRlcm5h
dGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcjo6Y2xlYXIoKQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29u
dHJvbGxlci5oCmluZGV4IDYyMjVmZTc0MjM2MDE1YzkxMDFiZWQyYzBkNDc1OWQwMmRmNzFjYzAu
Ljc3ODRhM2M0NGZkYjk1YTdkZjUzYjQ1MDAzMTYwYjNlMzE4ZTQ3MzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRy
b2xsZXIuaApAQCAtMjMsMTAgKzIzLDYgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKQotCiAjaW1wb3J0ICJBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5oIgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00Miw3ICszOCw3IEBAIGNsYXNzIEFsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlciB7CiBwdWJsaWM6CiAgICAgQWx0ZXJuYXRpdmVUZXh0VUlDb250
cm9sbGVyKCkgPSBkZWZhdWx0OwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdWludDY0X3QgYWRkQWx0
ZXJuYXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+Jik7IC8vIFJldHVy
bnMgYSBjb250ZXh0IElELgorICAgIFdFQkNPUkVfRVhQT1JUIHVpbnQ2NF90IGFkZEFsdGVybmF0
aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKik7IC8vIFJldHVybnMgYSBjb250ZXh0IElELgogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhcigpOwogCkBAIC02NCw1ICs2MCwzIEBAIHByaXZh
dGU6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBVU0UoRElDVEFU
SU9OX0FMVEVSTkFUSVZFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KaW5kZXggZTU4ZWFlZGVjMDA3
ZTRiOTljNjgyNzE0NzI1ZGUxYTI1ZDUwOTc3Zi4uNzQzNDI3OWY5OTVmMGU5MmVlNjY1YjUzMjll
N2U4M2IwZjVlZTlhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9B
bHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0KQEAgLTI2LDggKzI2LDYgQEAK
ICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVy
LmgiCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCAiRmxvYXRS
ZWN0LmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KIApAQCAtMzUsMTMgKzMz
LDE1IEBACiAjaW1wb3J0IDxBcHBLaXQvTlNTcGVsbENoZWNrZXIuaD4KICNpbXBvcnQgPEFwcEtp
dC9OU1RleHRBbHRlcm5hdGl2ZXMuaD4KICNpbXBvcnQgPEFwcEtpdC9OU1ZpZXcuaD4KLSNlbGlm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9VSUtpdFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotdWludDY0X3QgQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOjphZGRBbHRl
cm5hdGl2ZXMoY29uc3QgUmV0YWluUHRyPE5TVGV4dEFsdGVybmF0aXZlcz4mIGFsdGVybmF0aXZl
cykKK3VpbnQ2NF90IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6YWRkQWx0ZXJuYXRpdmVz
KE5TVGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVzKQogewogICAgIHJldHVybiBtX2NvbnRl
eHRDb250cm9sbGVyLmFkZEFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMpOwogfQpAQCAtMTA2LDUg
KzEwNiwzIEBAIHZvaWQgQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyOjpyZW1vdmVBbHRlcm5h
dGl2ZXModWludDY0X3QgY29udGV4dCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oCmluZGV4IGYwNGM5
ODIxZTY4NWU3OWY0MGNkNWU2YzEzZDEzOGU1NDJlMGUwMmEuLjg0NDNkY2ViNzA3NDAwZTFjMDU1
NTIyMjg5N2YxYTA2NTlhY2Q3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
bWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvbWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oCkBAIC0yMywxOCArMjMsMTMgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQog
I2luY2x1ZGUgIkFsdGVybmF0aXZlVGV4dENsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotT0JKQ19DTEFTUyBOU1Rl
eHRBbHRlcm5hdGl2ZXM7Ci0jZW5kaWYKK0BjbGFzcyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogc3Ry
dWN0IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSB7CiAgICAgV0VCQ09SRV9FWFBPUlQgVGV4dEFs
dGVybmF0aXZlV2l0aFJhbmdlKE5TVGV4dEFsdGVybmF0aXZlcyogYW5BbHRlcm5hdGl2ZXMsIE5T
UmFuZ2UgYVJhbmdlKTsKICAgICBOU1JhbmdlIHJhbmdlOwpAQCAtNDMsOCArMzgsNCBAQCBzdHJ1
Y3QgVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlIHsKIAogV0VCQ09SRV9FWFBPUlQgdm9pZCBjb2xs
ZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhOU0F0dHJpYnV0ZWRTdHJpbmcqLCBWZWN0b3I8
VGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlPiYgYWx0ZXJuYXRpdmVzKTsKIAotI2Vsc2UKLXN0cnVj
dCBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UgeyB9OwotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbQppbmRleCA2NTA5ZGY0NDNjMDY2M2Y3OGY5MDk0ZWU5YThkYTY5
NzlhNTM3MTcyLi5kODZlNGNkOWNmODlhMDg1YTBiOTRjOTdmMmI1ZTJkYjYyMjZjMzEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFu
Z2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0
aFJhbmdlLm1tCkBAIC0yMiwxMSArMjIsMTAgQEAKICAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKICAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLworCiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIlRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oIgogCi0jaWYgVVNFKERJQ1RBVElPTl9B
TFRFUk5BVElWRVMpCi0KICNpZiBVU0UoQVBQS0lUKQogI2ltcG9ydCA8QXBwS2l0L05TVGV4dEFs
dGVybmF0aXZlcy5oPgogI2VsaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTU3LDUgKzU2LDMg
QEAgdm9pZCBjb2xsZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhOU0F0dHJpYnV0ZWRTdHJp
bmcgKnN0cmluZywgVmVjdG9yPFRleHRBbHQKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKaW5kZXggY2IwZWNk
MWRlNWIxZWJkOTQyZGRiYjlmZWY0NDU0MDQxNjc4NjU0NS4uYzY3MjI4MzlmNzM5YTQ0NjdhMmYx
NGQ5MTk4YjRmMGQ2NmRkYjdhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaApAQCAtNjIsMTcgKzYyLDEzIEBAIHB1YmxpYzoK
ICAgICBOU1NldCAqc2VyaWFsaXphYmxlRmlsZVdyYXBwZXJDbGFzc2VzKCkgY29uc3QgZmluYWw7
CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotICAgIHVpbnQ2NF90
IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRp
dmVzPiYpIGZpbmFsOworICAgIHVpbnQ2NF90IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhOU1Rl
eHRBbHRlcm5hdGl2ZXMgKikgZmluYWw7CiAgICAgdm9pZCByZW1vdmVEaWN0YXRpb25BbHRlcm5h
dGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgZmluYWw7CiAgICAgVmVjdG9yPFN0cmlu
Zz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIGZpbmFs
OwotI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBXZWFrT2JqQ1B0cjxXS1dlYlZpZXc+IG1fd2Vi
VmlldzsKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlcjsKLSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KaW5kZXggNDA5NDljMmY0MDlj
ZDQyZGNhNjE2YzI5NjQ5ODUyZmYyMjJmMmFmNS4uZDk2YTBlZjRmMDE3YjliNTA1MmY5MzcyYTQ5
NTIyYjAzOGJhNGU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
UGFnZUNsaWVudEltcGxDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCkBAIC0yOSwxOSArMjksMTQgQEAKICNpbXBvcnQgIldL
V2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5h
bC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmcuaCIKLSNpbXBvcnQgPHd0
Zi9WZWN0b3IuaD4KLQotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogI2ltcG9ydCA8
V2ViQ29yZS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIuaD4KLSNlbmRpZgorI2ltcG9ydCA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUGFnZUNsaWVudEltcGxDb2Nv
YTo6UGFnZUNsaWVudEltcGxDb2NvYShXS1dlYlZpZXcgKndlYlZpZXcpCiAgICAgOiBtX3dlYlZp
ZXcgeyB3ZWJWaWV3IH0KLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICAsIG1f
YWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyIHsgbWFrZVVuaXF1ZTxBbHRlcm5hdGl2ZVRleHRV
SUNvbnRyb2xsZXI+KCkgfQotI2VuZGlmCiB7CiB9CiAKQEAgLTk4LDE0ICs5MywxMCBAQCBOU1Nl
dCAqUGFnZUNsaWVudEltcGxDb2NvYTo6c2VyaWFsaXphYmxlRmlsZVdyYXBwZXJDbGFzc2VzKCkg
Y29uc3QKIAogdm9pZCBQYWdlQ2xpZW50SW1wbENvY29hOjpwYWdlQ2xvc2VkKCkKIHsKLSNpZiBV
U0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlci0+Y2xlYXIoKTsKLSNlbmRpZgogfQogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCi0KLXVpbnQ2NF90IFBhZ2VDbGllbnRJbXBsQ29jb2E6OmFkZERpY3RhdGlvbkFsdGVybmF0
aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYgYWx0ZXJuYXRpdmVzKQor
dWludDY0X3QgUGFnZUNsaWVudEltcGxDb2NvYTo6YWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5T
VGV4dEFsdGVybmF0aXZlcyAqYWx0ZXJuYXRpdmVzKQogewogICAgIHJldHVybiBtX2FsdGVybmF0
aXZlVGV4dFVJQ29udHJvbGxlci0+YWRkQWx0ZXJuYXRpdmVzKGFsdGVybmF0aXZlcyk7CiB9CkBA
IC0xMTksOCArMTEwLDUgQEAgVmVjdG9yPFN0cmluZz4gUGFnZUNsaWVudEltcGxDb2NvYTo6ZGlj
dGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnQKIHsKICAgICByZXR1cm4g
bV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXItPmFsdGVybmF0aXZlc0ZvckNvbnRleHQoZGlj
dGF0aW9uQ29udGV4dCk7CiB9Ci0KLSNlbmRpZgotCiAgICAgCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IGZjM2FkNDJi
ZThhMDc3ZGYyMjNlYTMwOTlkZjVlOTJhODZjMmI4ZjUuLjljOTRkMTA3MWM2MThjZjc3YjZjZTgz
NzFmYTk5N2EzNTQ1NGM2YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC00NSwxNCArNDUsMTEgQEAKICNpbXBvcnQgPFdl
YkNvcmUvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NlYXJjaFBvcHVwTWVudUNvY29hLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9WYWxpZGF0aW9uQnViYmxlLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNp
bXBvcnQgPHd0Zi9jZi9UeXBlQ2FzdHNDRi5oPgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5B
VElWRVMpCi0jaW1wb3J0IDxXZWJDb3JlL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgotI2Vu
ZGlmCi0KICNpZiBFTkFCTEUoTUVESUFfVVNBR0UpCiAjaW1wb3J0ICJNZWRpYVVzYWdlTWFuYWdl
ckNvY29hLmgiCiAjZW5kaWYKQEAgLTI0NywxMyArMjQ0LDEyIEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpwZXJmb3JtRGljdGlvbmFyeUxvb2t1cE9mQ3VycmVudFNlbGVjdGlvbigpCiAKIHZvaWQgV2Vi
UGFnZVByb3h5OjppbnNlcnREaWN0YXRlZFRleHRBc3luYyhjb25zdCBTdHJpbmcmIHRleHQsIGNv
bnN0IEVkaXRpbmdSYW5nZSYgcmVwbGFjZW1lbnRSYW5nZSwgY29uc3QgVmVjdG9yPFRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZT4mIGRpY3RhdGlvbkFsdGVybmF0aXZlc1dpdGhSYW5nZSwgSW5zZXJ0
VGV4dE9wdGlvbnMmJiBvcHRpb25zKQogewotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVT
KQogICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
VmVjdG9yPERpY3RhdGlvbkFsdGVybmF0aXZlPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXM7CiAgICAg
Zm9yIChjb25zdCBhdXRvJiBhbHRlcm5hdGl2ZVdpdGhSYW5nZSA6IGRpY3RhdGlvbkFsdGVybmF0
aXZlc1dpdGhSYW5nZSkgewotICAgICAgICB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0ID0gcGFn
ZUNsaWVudCgpLmFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZVdpdGhSYW5nZS5h
bHRlcm5hdGl2ZXMpOworICAgICAgICB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0ID0gcGFnZUNs
aWVudCgpLmFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZVdpdGhSYW5nZS5hbHRl
cm5hdGl2ZXMuZ2V0KCkpOwogICAgICAgICBpZiAoZGljdGF0aW9uQ29udGV4dCkKICAgICAgICAg
ICAgIGRpY3RhdGlvbkFsdGVybmF0aXZlcy5hcHBlbmQoRGljdGF0aW9uQWx0ZXJuYXRpdmUoYWx0
ZXJuYXRpdmVXaXRoUmFuZ2UucmFuZ2UubG9jYXRpb24sIGFsdGVybmF0aXZlV2l0aFJhbmdlLnJh
bmdlLmxlbmd0aCwgZGljdGF0aW9uQ29udGV4dCkpOwogICAgIH0KQEAgLTI2NCw5ICsyNjAsNiBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6aW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMoY29uc3QgU3RyaW5n
JiB0ZXh0LCBjb25zdCBFZGl0aW5nUmFuZwogICAgIH0KIAogICAgIHByb2Nlc3MoKS5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpJbnNlcnREaWN0YXRlZFRleHRBc3luYyB7IHRleHQsIHJlcGxhY2Vt
ZW50UmFuZ2UsIGRpY3RhdGlvbkFsdGVybmF0aXZlcywgV1RGTW92ZShvcHRpb25zKSB9LCBtX3dl
YlBhZ2VJRCk7Ci0jZWxzZQotICAgIGluc2VydFRleHRBc3luYyh0ZXh0LCByZXBsYWNlbWVudFJh
bmdlLCBXVEZNb3ZlKG9wdGlvbnMpKTsKLSNlbmRpZgogfQogICAgIAogI2lmIEVOQUJMRShBUFBM
RV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmlu
ZGV4IDBjZTMzNzQ1ZWVhMDExY2Q5ZjE4YmZhYTYyZWZkMTBhODIyMzM2ZjcuLjkwNThjYWVmYTlj
ZThmNTBhNGEzYWQzNDliODM0MDNkN2I4OWNkMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC00NzAzLDEwICs0NzAzLDExIEBAIE5TQXJyYXkg
KldlYlZpZXdJbXBsOjp2YWxpZEF0dHJpYnV0ZXNGb3JNYXJrZWRUZXh0KCkKIHsKICAgICBzdGF0
aWMgTlNBcnJheSAqdmFsaWRBdHRyaWJ1dGVzOwogICAgIGlmICghdmFsaWRBdHRyaWJ1dGVzKSB7
Ci0gICAgICAgIHZhbGlkQXR0cmlidXRlcyA9IEBbIE5TVW5kZXJsaW5lU3R5bGVBdHRyaWJ1dGVO
YW1lLCBOU1VuZGVybGluZUNvbG9yQXR0cmlidXRlTmFtZSwgTlNNYXJrZWRDbGF1c2VTZWdtZW50
QXR0cmlidXRlTmFtZSwKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKKyAgICAgICAg
dmFsaWRBdHRyaWJ1dGVzID0gQFsKKyAgICAgICAgICAgIE5TVW5kZXJsaW5lU3R5bGVBdHRyaWJ1
dGVOYW1lLAorICAgICAgICAgICAgTlNVbmRlcmxpbmVDb2xvckF0dHJpYnV0ZU5hbWUsCisgICAg
ICAgICAgICBOU01hcmtlZENsYXVzZVNlZ21lbnRBdHRyaWJ1dGVOYW1lLAogICAgICAgICAgICAg
TlNUZXh0QWx0ZXJuYXRpdmVzQXR0cmlidXRlTmFtZSwKLSNlbmRpZgogI2lmIFVTRShJTlNFUlRJ
T05fVU5ET19HUk9VUElORykKICAgICAgICAgICAgIE5TVGV4dEluc2VydGlvblVuZG9hYmxlQXR0
cmlidXRlTmFtZSwKICNlbmRpZgpAQCAtNDg0NSw5ICs0ODQ2LDcgQEAgdm9pZCBXZWJWaWV3SW1w
bDo6aW5zZXJ0VGV4dChpZCBzdHJpbmcsIE5TUmFuZ2UgcmVwbGFjZW1lbnRSYW5nZSkKIAogICAg
IGJvb2wgcmVnaXN0ZXJVbmRvR3JvdXAgPSBmYWxzZTsKICAgICBpZiAoaXNBdHRyaWJ1dGVkU3Ry
aW5nKSB7Ci0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgICAgIFdlYkNvcmU6
OmNvbGxlY3REaWN0YXRpb25UZXh0QWx0ZXJuYXRpdmVzKHN0cmluZywgZGljdGF0aW9uQWx0ZXJu
YXRpdmVzKTsKLSNlbmRpZgogI2lmIFVTRShJTlNFUlRJT05fVU5ET19HUk9VUElORykKICAgICAg
ICAgcmVnaXN0ZXJVbmRvR3JvdXAgPSBXZWJDb3JlOjpzaG91bGRSZWdpc3Rlckluc2VydGlvblVu
ZG9Hcm91cChzdHJpbmcpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
aW5kZXggOGE5ZDljNmJjZTAzNzdiOGI3Y2M3YmUwZDYwZDQ3ZDg3M2M2ZmQwYy4uYWEwNmUwNDI1
YzkyZmIzNDBjZmQ1NTk0ZWQ2NTY0NTcwZTJkZWU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Bh
Z2VDbGllbnQuaApAQCAtMzU1LDcgKzM1NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
dGFrZUZvY3VzKFdlYkNvcmU6OkZvY3VzRGlyZWN0aW9uKSB7IH0KIAogI2lmIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKQotICAgIHZpcnR1YWwgdWludDY0X3QgYWRkRGljdGF0aW9uQWx0ZXJu
YXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+JikgPSAwOworICAgIHZp
cnR1YWwgdWludDY0X3QgYWRkRGljdGF0aW9uQWx0ZXJuYXRpdmVzKE5TVGV4dEFsdGVybmF0aXZl
cyAqKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1
aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNob3dEaWN0
YXRpb25BbHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpbmdCb3hP
ZkRpY3RhdGVkVGV4dCwgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgPSAwOwogICAgIHZpcnR1
YWwgVmVjdG9yPFN0cmluZz4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlv
bkNvbnRleHQpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKaW5kZXggZjE0NTNmNTdmYWJhYTU5Y2NlYjRhZTUxZGYxZmFhZjUzMWI5YjBi
OC4uYWU3NThkNGNmYjhjYmU1OTY3ZTdkMGIzYjUxMWU1Mzk5ZDEzMTAwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTI2MCw5ICsy
NjAsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2FuY2VsUG9pbnRlcnNGb3JHZXN0dXJlUmVjb2du
aXplcihVSUdlc3R1cmVSZWNvZ25pemVyKikgb3ZlcnJpZGU7CiAgICAgV1RGOjpPcHRpb25hbDx1
bnNpZ25lZD4gYWN0aXZlVG91Y2hJZGVudGlmaWVyRm9yR2VzdHVyZVJlY29nbml6ZXIoVUlHZXN0
dXJlUmVjb2duaXplciopIG92ZXJyaWRlOwogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCiAgICAgdm9pZCBzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpG
bG9hdFJlY3QmLCB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBvdmVycmlkZTsKLSNlbmRpZgog
CiAgICAgV2Vha09iakNQdHI8V0tDb250ZW50Vmlldz4gbV9jb250ZW50VmlldzsKICAgICBSZXRh
aW5QdHI8V0tFZGl0b3JVbmRvVGFyZ2V0PiBtX3VuZG9UYXJnZXQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggNjZiMzk4YWU3YjYx
NjZmZDZlY2EzNzFhYjFjYTQxZTIyNmY1MGFhZS4uMzNmYjhkOTY1NTMyYmFlZGNmMzEzM2MyMDI0
YTc5YzdkNzU4MjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbQpAQCAtOTQ5LDE1ICs5NDksMTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1w
bDo6aGFuZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0KGNvbnN0IFdlYkF1dG9jb3JyZWN0aW9uQ29u
dGV4dCYKICAgICBbbV9jb250ZW50VmlldyBfaGFuZGxlQXV0b2NvcnJlY3Rpb25Db250ZXh0OmNv
bnRleHRdOwogfQogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0KIHZvaWQgUGFn
ZUNsaWVudEltcGw6OnNob3dEaWN0YXRpb25BbHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZs
b2F0UmVjdCYsIHVpbnQ2NF90KQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLSNlbmRp
ZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1J
TFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQppbmRleCA5NjMwMmU2YjAzY2I0MGM4MmUyYmFhZWQ1YmQxMDdmYzQ0
Y2RmMmUyLi4yZDVlNzQ0OWE4OTM0MDY5ZWY3ZjJjNjZhZWYxY2M3MGU3ZWMwODNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KQEAgLTExMyw2ICsxMTMsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsYmFyLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1NoYXJlRGF0YS5oPgorI2ltcG9ydCA8V2ViQ29yZS9UZXh0QWx0ZXJuYXRpdmVX
aXRoUmFuZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEluZGljYXRvci5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Ub3VjaEFjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4K
QEAgLTE2NCwxMCArMTY1LDYgQEAKICNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb25BZGRpdGlvbnMubW0+CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05f
QUxURVJOQVRJVkVTKQotI2ltcG9ydCA8V2ViQ29yZS9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2Uu
aD4KLSNlbmRpZgotCiAjaW1wb3J0IDxwYWwvaW9zL01hbmFnZWRDb25maWd1cmF0aW9uU29mdExp
bmsuaD4KIAogI2lmIEhBVkUoTElOS19QUkVWSUVXKSAmJiBVU0UoVUlDT05URVhUTUVOVSkKQEAg
LTQ3ODMsOCArNDc4MCw2IEBAIC0gKHZvaWQpaW5zZXJ0VGV4dDooTlNTdHJpbmcgKilhU3RyaW5n
VmFsdWUKICAgICBfcGFnZS0+aW5zZXJ0VGV4dEFzeW5jKGFTdHJpbmdWYWx1ZSwgV2ViS2l0OjpF
ZGl0aW5nUmFuZ2UoKSwgV1RGTW92ZShvcHRpb25zKSk7CiB9CiAKLSNpZiBVU0UoRElDVEFUSU9O
X0FMVEVSTkFUSVZFUykKLQogLSAodm9pZClpbnNlcnRUZXh0OihOU1N0cmluZyAqKWFTdHJpbmdW
YWx1ZSBhbHRlcm5hdGl2ZXM6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilhbHRlcm5hdGl2ZXMgc3R5
bGU6KFVJVGV4dEFsdGVybmF0aXZlU3R5bGUpc3R5bGUKIHsKICAgICBpZiAoIWFsdGVybmF0aXZl
cy5jb3VudCkKQEAgLTQ4MDAsOCArNDc5NSw2IEBAIC0gKHZvaWQpaW5zZXJ0VGV4dDooTlNTdHJp
bmcgKilhU3RyaW5nVmFsdWUgYWx0ZXJuYXRpdmVzOihOU0FycmF5PE5TU3RyaW5nICo+ICopCiAg
ICAgfQogfQogCi0jZW5kaWYKLQogLSAoQk9PTCloYXNUZXh0CiB7CiAgICAgYXV0byYgZWRpdG9y
U3RhdGUgPSBfcGFnZS0+ZWRpdG9yU3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggZjk5OWRiYThhMzM1OTliMWVkMWM5MjMx
MzcxOGEyMzg2NzlkNDM3Ni4uNmFkMDk3YjE3NDI2OWVjMGEzMjViYTY5MjZhNDJkYzBmZjM2OGNi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFj
LmgKQEAgLTE4MCw5ICsxODAsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBpbnRyaW5zaWNDb250
ZW50U2l6ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBpbnRyaW5zaWNDb250ZW50
U2l6ZSkgb3ZlcnJpZGU7CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICB2
b2lkIHNob3dEaWN0YXRpb25BbHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYg
Ym91bmRpbmdCb3hPZkRpY3RhdGVkVGV4dCwgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3Zl
cnJpZGU7Ci0jZW5kaWYKIAogICAgIHZvaWQgc2V0RWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKGJv
b2wpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGxNYWMubW0KaW5kZXggNTBiYjJkMzJhZTU0NjYxM2U2NDBjYTM2OWRiNjFhZjQxMjI5
MWY2Yi4uMDg4Yjc1YmU5M2EwNWFhMjQ3NDkzMGY2ZTFmMmFjMGM0MTc3NGEzZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAtNjgy
LDggKzY4Miw2IEBAIGJvb2wgUGFnZUNsaWVudEltcGw6OmV4ZWN1dGVTYXZlZENvbW1hbmRCeVNl
bGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0b3JTdHJpbmcpCiAgICAgcmV0dXJuIG1faW1wbC0+
ZXhlY3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3IoTlNTZWxlY3RvckZyb21TdHJpbmcoc2VsZWN0
b3JTdHJpbmcpKTsKIH0KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiB2b2lk
IFBhZ2VDbGllbnRJbXBsOjpzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZEaWN0YXRlZFRleHQsIHVpbnQ2NF90IGRpY3RhdGlv
bkNvbnRleHQpCiB7CiAgICAgaWYgKCFpc1ZpZXdWaXNpYmxlKCkgfHwgIWlzVmlld0luV2luZG93
KCkpCkBAIC02OTMsOCArNjkxLDYgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2hvd0RpY3RhdGlv
bkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGkKICAgICB9KTsK
IH0KIAotI2VuZGlmCi0KIHZvaWQgUGFnZUNsaWVudEltcGw6OnNldEVkaXRhYmxlRWxlbWVudElz
Rm9jdXNlZChib29sIGVkaXRhYmxlRWxlbWVudElzRm9jdXNlZCkKIHsKICAgICBtX2ltcGwtPnNl
dEVkaXRhYmxlRWxlbWVudElzRm9jdXNlZChlZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVy
bmF0aXZlVGV4dENsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oCmluZGV4IDU0YWIxYzMyZGY5Yjg5MzU1NWNl
N2Y2ZTk3NjQxYzY0YTU5NTVkMDYuLjBmZWUwNGM2MmU5MGJkMzg4MDBjNmU3YzliMWE1NjJkOWQ1
YTE4OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmgKQEAgLTQyLDIwICs0
MiwxMiBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGRpc21pc3NBbHRlcm5hdGl2ZVNvb24oV2ViQ29y
ZTo6UmVhc29uRm9yRGlzbWlzc2luZ0FsdGVybmF0aXZlVGV4dCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCByZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKFdlYkNvcmU6OkF1dG9jb3JyZWN0aW9uUmVz
cG9uc2UsIGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFj
ZW1lbnRTdHJpbmcpIG92ZXJyaWRlOwogI2VuZGlmCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5B
VElWRVMpCiAgICAgdm9pZCBzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZEaWN0YXRlZFRleHQsIHVpbnQ2NF90IGRpY3RhdGlv
bkNvbnRleHQpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVz
KHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIG92ZXJyaWRlOwogICAgIFZlY3RvcjxTdHJpbmc+
IGRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBvdmVycmlk
ZTsKLSNlbmRpZgogCiBwcml2YXRlOgotI2lmICEoVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKSB8
fCBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykpCi0gICAgSUdOT1JFX0NMQU5HX1dBUk5JTkdT
X0JFR0lOKCJ1bnVzZWQtcHJpdmF0ZS1maWVsZCIpCi0jZW5kaWYKICAgICBXZWJQYWdlKiBtX3Bh
Z2U7Ci0jaWYgIShVU0UoQVVUT0NPUlJFQ1RJT05fUEFORUwpIHx8IFVTRShESUNUQVRJT05fQUxU
RVJOQVRJVkVTKSkKLSAgICBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5ECi0jZW5kaWYKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9t
YWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcAppbmRleCA5
YjZhYTlmM2RmMWZmMzRjOTczZTkxM2Q1NTBmZDhjNTQ4NDIxMzEwLi4zOWJlYjMxYzFmYTJjOTI2
YmUxNjNhZjM3Y2FhYWEyOWIwYzM2ZjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJBbHRlcm5h
dGl2ZVRleHRDbGllbnQuY3BwCkBAIC02OSw3ICs2OSw2IEBAIHZvaWQgV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50OjpyZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKEF1dG9jb3JyZWN0aW9uUmVz
cG9uCiB9CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogdm9pZCBX
ZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50
NjRfdCBkaWN0YXRpb25Db250ZXh0KQogewogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpSZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXMoZGljdGF0aW9uQ29udGV4dCkp
OwpAQCAtODYsNSArODUsNSBAQCBWZWN0b3I8U3RyaW5nPiBXZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQ6OmRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpbwogICAgIG1fcGFnZS0+
c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGljdGF0aW9uQWx0ZXJuYXRpdmVzKGRp
Y3RhdGlvbkNvbnRleHQpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWN0YXRpb25BbHRlcm5h
dGl2ZXM6OlJlcGx5KHJlc3VsdCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCBlNDkxMmZmMTFlZGNmOTgz
Y2M2OGM1Y2Y2MTg5ZDY3MjYzMDkzMzFiLi5hOTcwYWE2MGRjNzM4ZTcxMTQ5NGY1ZTAwZGRjY2Q4
NjgxNDNhZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaApAQCAtMjMsOCAr
MjMsNiBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQogI2ltcG9ydCAi
Q29ycmVjdGlvblBhbmVsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oPgogCkBAIC0zMyw3ICszMSw3IEBACiBjbGFzcyBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQg
OiBwdWJsaWMgV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0Q2xpZW50IHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBXZWJBbHRlcm5hdGl2ZVRleHRD
bGllbnQoV2ViVmlldyopOworICAgIGV4cGxpY2l0IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudChX
ZWJWaWV3ICopOwogICAgIHZpcnR1YWwgfldlYkFsdGVybmF0aXZlVGV4dENsaWVudCgpOwogI2lm
IFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkKICAgICB2b2lkIHNob3dDb3JyZWN0aW9uQWx0ZXJu
YXRpdmUoV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VHlwZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiBib3VuZGluZ0JveE9mUmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZWRT
dHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBhbHRlcm5hdGl2ZVJlcGxhY2VtZW50U3RyaW5ncykgb3ZlcnJpZGU7CkBAIC00MSwyMCAr
MzksMTIgQEAgcHVibGljOgogICAgIFN0cmluZyBkaXNtaXNzQWx0ZXJuYXRpdmVTb29uKFdlYkNv
cmU6OlJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQpIG92ZXJyaWRlOwogICAgIHZv
aWQgcmVjb3JkQXV0b2NvcnJlY3Rpb25SZXNwb25zZShXZWJDb3JlOjpBdXRvY29ycmVjdGlvblJl
c3BvbnNlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VkU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlcGxh
Y2VtZW50U3RyaW5nKSBvdmVycmlkZTsKICNlbmRpZgotI2lmIFVTRShESUNUQVRJT05fQUxURVJO
QVRJVkVTKQogICAgIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRp
b25Db250ZXh0KSBvdmVycmlkZTsKICAgICB2b2lkIHJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZl
cyh1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBvdmVycmlkZTsKICAgICBWZWN0b3I8U3RyaW5n
PiBkaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJp
ZGU7Ci0jZW5kaWYKIAogcHJpdmF0ZToKLSNpZiAhKFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkg
fHwgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpKQotICAgIElHTk9SRV9XQVJOSU5HU19CRUdJ
TigidW51c2VkLXByaXZhdGUtZmllbGQiKQotI2VuZGlmCi0gICAgV2ViVmlldyogbV93ZWJWaWV3
OwotI2lmICEoVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKSB8fCBVU0UoRElDVEFUSU9OX0FMVEVS
TkFUSVZFUykpCi0gICAgSUdOT1JFX1dBUk5JTkdTX0VORAotI2VuZGlmCisgICAgV2ViVmlldyAq
bV93ZWJWaWV3OwogCiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAgIENvcnJlY3Rp
b25QYW5lbCBtX2NvcnJlY3Rpb25QYW5lbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVu
dC5tbQppbmRleCA0Y2I1ZTU0ODkzNTcyODU5NzJkNDI3NTY4MDg5OTY1MTU2NWQ2YWVlLi5mNjg2
ZjZjYWRlNzBiYTQ1ZWYwYWZhNTlmZmRiMTE5N2ViYzZhNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50Lm1tCkBAIC03OCw3ICs3OCw2IEBAIHZvaWQgV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50OjpyZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKEF1dG9jb3JyZWN0aW9uUmVz
cG9uCiB9CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogdm9pZCBX
ZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50
NjRfdCBkaWN0YXRpb25Db250ZXh0KQogewogICAgIFttX3dlYlZpZXcgX3JlbW92ZURpY3RhdGlv
bkFsdGVybmF0aXZlczpkaWN0YXRpb25Db250ZXh0XTsKQEAgLTkzLDQgKzkyLDMgQEAgVmVjdG9y
PFN0cmluZz4gV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OjpkaWN0YXRpb25BbHRlcm5hdGl2ZXMo
dWludDY0X3QgZGljdGF0aW8KIHsKICAgICByZXR1cm4gW21fd2ViVmlldyBfZGljdGF0aW9uQWx0
ZXJuYXRpdmVzOmRpY3RhdGlvbkNvbnRleHRdOwogfQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCA4MDFkZmNkNTljOWJmZjUw
MmE5N2I1ODM1ZGY1Y2VhZWU5NGFmMmQ5Li42MzhlZTAxYWI1ODJmNTcyYTZmZjIzNjI1YTUxOGUw
OWU4MjU0ODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KQEAgLTYyNTUsOSArNjI1NSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5U
QVRJT05TX0VORAogICAgICAgICBOU1VuZGVybGluZUNvbG9yQXR0cmlidXRlTmFtZSwKICAgICAg
ICAgTlNNYXJrZWRDbGF1c2VTZWdtZW50QXR0cmlidXRlTmFtZSwKICAgICAgICAgTlNUZXh0SW5w
dXRSZXBsYWNlbWVudFJhbmdlQXR0cmlidXRlTmFtZSwKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVS
TkFUSVZFUykKICAgICAgICAgTlNUZXh0QWx0ZXJuYXRpdmVzQXR0cmlidXRlTmFtZSwKLSNlbmRp
ZgogI2lmIFVTRShJTlNFUlRJT05fVU5ET19HUk9VUElORykKICAgICAgICAgTlNUZXh0SW5zZXJ0
aW9uVW5kb2FibGVBdHRyaWJ1dGVOYW1lLAogI2VuZGlmCkBAIC02NjM0LDEyICs2NjMyLDEwIEBA
IEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgIFZlY3RvcjxXZWJDb3Jl
OjpEaWN0YXRpb25BbHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVMb2NhdGlvbnM7CiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIGlmIChpc0F0dHJpYnV0ZWRTdHJpbmcpIHsKLSNpZiBVU0Uo
RElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICAgICAgVmVjdG9yPFdlYkNvcmU6OlRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZT4gdGV4dEFsdGVybmF0aXZlczsKICAgICAgICAgY29sbGVjdERpY3Rh
dGlvblRleHRBbHRlcm5hdGl2ZXMoc3RyaW5nLCB0ZXh0QWx0ZXJuYXRpdmVzKTsKICAgICAgICAg
aWYgKCF0ZXh0QWx0ZXJuYXRpdmVzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIFtbc2VsZiBfd2Vi
Vmlld10gX2dldFdlYkNvcmVEaWN0YXRpb25BbHRlcm5hdGl2ZXM6ZGljdGF0aW9uQWx0ZXJuYXRp
dmVMb2NhdGlvbnMgZnJvbVRleHRBbHRlcm5hdGl2ZXM6dGV4dEFsdGVybmF0aXZlc107Ci0jZW5k
aWYKICNpZiBVU0UoSU5TRVJUSU9OX1VORE9fR1JPVVBJTkcpCiAgICAgICAgIHJlZ2lzdGVyVW5k
b0dyb3VwID0gV2ViQ29yZTo6c2hvdWxkUmVnaXN0ZXJJbnNlcnRpb25VbmRvR3JvdXAoc3RyaW5n
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IDMwZjAxMzM4Y2EyMmIwMmJjZTkwZGRiNGU3OGMyN2I3ZGI1ZDJhNjMuLjg1NTAwMTBjY2Fh
ODY5ZmExNTYyZmU4YmVlNGQ4NTk5ZjkyZjhkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTkzODYsNyArOTM4Niw2IEBAIC0gKHZvaWQpaGFuZGxl
QWNjZXB0ZWRBbHRlcm5hdGl2ZVRleHQ6KE5TU3RyaW5nKil0ZXh0CiB9CiAjZW5kaWYKIAotI2lm
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogLSAodm9pZClfZ2V0V2ViQ29yZURpY3RhdGlv
bkFsdGVybmF0aXZlczooVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiYpYWx0
ZXJuYXRpdmVzIGZyb21UZXh0QWx0ZXJuYXRpdmVzOihjb25zdCBWZWN0b3I8V2ViQ29yZTo6VGV4
dEFsdGVybmF0aXZlV2l0aFJhbmdlPiYpYWx0ZXJuYXRpdmVzV2l0aFJhbmdlCiB7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBhbHRlcm5hdGl2ZXNXaXRoUmFuZ2Uuc2l6ZSgpOyArK2kpIHsK
QEAgLTk0MTUsNyArOTQxNCw2IEBAIC0gKFZlY3RvcjxTdHJpbmc+KV9kaWN0YXRpb25BbHRlcm5h
dGl2ZXM6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQKIHsKICAgICByZXR1cm4gX3ByaXZhdGUt
Pm1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hbHRlcm5hdGl2ZXNGb3JDb250ZXh0KGRp
Y3RhdGlvbkNvbnRleHQpOwogfQotI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKIC0gKFdlYlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilfc2VsZWN0aW9uU2VydmljZUNv
bnRyb2xsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlld0RhdGEuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEu
aAppbmRleCBmZTk4MzliYWM0NzQ5MWExNDNiYTY4YmU3YzliYjY1MGFmZDUwN2I4Li5iMDIwN2Uy
YjkxZTVjMGM2NTc2ODFlNWIzOWJkODcyNzU3NmMxNjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCkBAIC0zNTUsOSArMzU1LDcgQEAgcHJpdmF0
ZToKICAgICBXZWJGaXhlZFBvc2l0aW9uQ29udGVudCogX2ZpeGVkUG9zaXRpb25Db250ZW50Owog
I2VuZGlmCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZl
VGV4dFVJQ29udHJvbGxlcjsKLSNlbmRpZgogCiAgICAgUmV0YWluUHRyPE5TRGF0YT4gc291cmNl
QXBwbGljYXRpb25BdWRpdERhdGE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXdEYXRhLm1tCmluZGV4IGMzZmNjMzBkNjE2NTM2YmYyZjRkYWQ0MzdiOGZmZjlh
NTE4YjNiYjMuLjMyM2M4OWQ4ODY4Y2RjZDA0N2Y5M2U0MDRhZWJlOGM5YTFhNDUzZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQpAQCAtMjA2
LDkgKzIwNiw3IEBAIC0gKGlkKWluaXQKIAogICAgIHBsdWdpbkRhdGFiYXNlQ2xpZW50Q291bnQr
KzsKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgIG1fYWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyID0gbWFrZVVuaXF1ZTxXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXI+KCk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5kZXggNTZjOGQ1
NjI5MGRkY2VhNGE4YzljMGRjMDJmMDhmZTlhNGI4ODg4YS4uZDI4Njg1NWNlODcyNmUyZjVkMTZj
NTg3MzU0Mjg5NWYwMTRmMmRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJXZWJU
eXBlc0ludGVybmFsLmgiCiAKICNpZmRlZiBfX2NwbHVzcGx1cworCiAjaW1wb3J0IDxXZWJDb3Jl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GaW5kT3B0aW9ucy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KQEAgLTgwLDYgKzgxLDcgQEAgY2xhc3Mg
V2ViU2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXI7CiAjZW5kaWYKIAogQGNsYXNzIE5TQ2FuZGlk
YXRlTGlzdFRvdWNoQmFySXRlbTsKK0BjbGFzcyBOU1RleHRBbHRlcm5hdGl2ZXM7CiBAY2xhc3Mg
V2ViQmFzZVBsdWdpblBhY2thZ2U7CiBAY2xhc3MgV2ViRG93bmxvYWQ7CiBAY2xhc3MgV2ViSW1t
ZWRpYXRlQWN0aW9uQ29udHJvbGxlcjsKQEAgLTkyLDEwICs5NCw2IEBAIFdlYkNvcmU6OkZpbmRP
cHRpb25zIGNvcmVPcHRpb25zKFdlYkZpbmRPcHRpb25zIG9wdGlvbnMpOwogT3B0aW9uU2V0PFdl
YkNvcmU6OkxheW91dE1pbGVzdG9uZT4gY29yZUxheW91dE1pbGVzdG9uZXMoV2ViTGF5b3V0TWls
ZXN0b25lcyk7CiBXZWJMYXlvdXRNaWxlc3RvbmVzIGtpdExheW91dE1pbGVzdG9uZXMoT3B0aW9u
U2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4pOwogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRF
Uk5BVElWRVMpCi1PQkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0aXZlczsKLSNlbmRpZgotCiAjaWYg
RU5BQkxFKERBVEFfSU5URVJBQ1RJT04pICYmIGRlZmluZWQoX19jcGx1c3BsdXMpCiBAaW50ZXJm
YWNlIFdlYlVJVGV4dEluZGljYXRvckRhdGEgKFdlYlVJVGV4dEluZGljYXRvckludGVybmFsKQog
LSAoV2ViVUlUZXh0SW5kaWNhdG9yRGF0YSAqKWluaXRXaXRoSW1hZ2U6KENHSW1hZ2VSZWYpaW1h
Z2UgdGV4dEluZGljYXRvckRhdGE6KGNvbnN0IFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhJilp
bmRpY2F0b3JEYXRhIHNjYWxlOihDR0Zsb2F0KXNjYWxlOwpAQCAtMTM1LDEyICsxMzMsMTAgQEAg
T0JKQ19DTEFTUyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAtICh2b2lkKWhhbmRsZUFjY2VwdGVkQWx0
ZXJuYXRpdmVUZXh0OihOU1N0cmluZyopdGV4dDsKICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElP
Tl9BTFRFUk5BVElWRVMpCiAtICh2b2lkKV9nZXRXZWJDb3JlRGljdGF0aW9uQWx0ZXJuYXRpdmVz
OihWZWN0b3I8V2ViQ29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+JilhbHRlcm5hdGl2ZXMgZnJv
bVRleHRBbHRlcm5hdGl2ZXM6KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVX
aXRoUmFuZ2U+JilhbHRlcm5hdGl2ZXNXaXRoUmFuZ2U7CiAtICh2b2lkKV9zaG93RGljdGF0aW9u
QWx0ZXJuYXRpdmVVSTooY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jilib3VuZGluZ0JveE9mRGlj
dGF0ZWRUZXh0IGZvckRpY3RhdGlvbkNvbnRleHQ6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQ7
CiAtICh2b2lkKV9yZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXM6KHVpbnQ2NF90KWRpY3RhdGlv
bkNvbnRleHQ7CiAtIChWZWN0b3I8U3RyaW5nPilfZGljdGF0aW9uQWx0ZXJuYXRpdmVzOih1aW50
NjRfdClkaWN0YXRpb25Db250ZXh0OwotI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKIC0gKFdlYlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilfc2VsZWN0aW9uU2Vydmlj
ZUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggOWJhMjNiYzA0NjAwMTQ5ZjFjNzkzNmVhZDgwZjBiNWE3MTE1YmIyMi4uNjczMWI5
MDk4YzQwMWNjOWRjMTViMjJkZTY4NmE0M2Y4NzFlMDIyMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA1LTA1
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hl
Y2tzIG9mIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbTogUmVtb3ZlIFVTRShE
SUNUQVRJT05fQUxURVJOQVRJVkVTKS4KKwogMjAyMC0wNS0wNSAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdWxkIHNob3cgc2VsZWN0aW9uIGhpZ2hsaWdo
dCBkdXJpbmcgdGV4dCBpbnRlcmFjdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tCmluZGV4IGJjNzRjOGM1ODVkMmM1
NTc2MTUyNjBlZjFiNWQ5YTAwZTJjYTIxOGUuLjdhNmRiMTkyYzg0NTE3OGQzYTU5OWE2MzYwNmVm
YmU1MDdhOTkxYjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0tl
eWJvYXJkSW5wdXRUZXN0c0lPUy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lv
cy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0KQEAgLTY5NCw4ICs2OTQsNiBAQCBURVNUKEtleWJv
YXJkSW5wdXRUZXN0cywgSW5zZXJ0VGV4dFNpbXVsYXRpbmdLZXlib2FyZElucHV0KQogICAgIEVY
UEVDVF9OU19FUVVBTCgoQFtAImtleWRvd24iLCBAImJlZm9yZWlucHV0IiwgQCJpbnB1dCIsIEAi
a2V5dXAiLCBAImNoYW5nZSJdKSwgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAImZpcmVkRXZlbnRzIl0pOwogfQogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMp
Ci0KIFRFU1QoS2V5Ym9hcmRJbnB1dFRlc3RzLCBJbnNlcnREaWN0YXRpb25BbHRlcm5hdGl2ZXNT
aW11bGF0aW5nS2V5Ym9hcmRJbnB1dCkKIHsKICAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIG92
ZXJyaWRlU2hvdWxkU2ltdWxhdGVLZXlib2FyZElucHV0T25UZXh0SW5zZXJ0aW9uIHsgTlNDbGFz
c0Zyb21TdHJpbmcoQCJXS0NvbnRlbnRWaWV3IiksIEBzZWxlY3Rvcihfc2hvdWxkU2ltdWxhdGVL
ZXlib2FyZElucHV0T25UZXh0SW5zZXJ0aW9uKSwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHNob3Vs
ZFNpbXVsYXRlS2V5Ym9hcmRJbnB1dE9uVGV4dEluc2VydGlvbk92ZXJyaWRlKSB9OwpAQCAtNzEy
LDggKzcxMCw2IEBAIFRFU1QoS2V5Ym9hcmRJbnB1dFRlc3RzLCBJbnNlcnREaWN0YXRpb25BbHRl
cm5hdGl2ZXNTaW11bGF0aW5nS2V5Ym9hcmRJbnB1dCkKICAgICBFWFBFQ1RfTlNfRVFVQUwoKEBb
QCJrZXlkb3duIiwgQCJiZWZvcmVpbnB1dCIsIEAiaW5wdXQiLCBAImtleXVwIiwgQCJjaGFuZ2Ui
XSksIFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaXJlZEV2ZW50cyJd
KTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398566</attachid>
            <date>2020-05-05 16:35:14 -0700</date>
            <delta_ts>2020-05-05 20:35:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211460-20200505163514.patch</filename>
            <type>text/plain</type>
            <size>33142</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdhNDYzOWJmZDUxOTdi
ODhlYWI2ZGI0MjdhMmMwZDBjYTZhNzIwOC4uYTQ0NGU5NDQwNmNmNWU0MjQ1OTM0YjQ5OTMwYjg2
ZTkyMzEwYmM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA1LTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9m
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaDogUmVtb3ZlIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgQWxzbyByZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9m
IFJldGFpblB0ciBhbmQgYWRkIGEgRklYTUUuIEFsc28gcmVtb3ZlICNwcmFnbWEgb25jZQorICAg
ICAgICBzaW5jZSB0aGlzIGhlYWRlciBpcyBvbmx5IGltcG9ydGVkIGZyb20gT2JqZWN0aXZlLUMr
KyBzb3VyY2VzLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4
dENvbnRyb2xsZXIubW06IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLmg6IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21h
Yy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9t
YWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tOiBEaXR0by4KKwogMjAyMC0wNS0wNSAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIEhBVkUoQVZGT1VO
REFUSU9OX0xFR0lCTEVfT1VUUFVUX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY1OTkyN2ViMjc3NThm
NDI3OWY0ZWVkNTcxOWQ3ZjkxMjk1ODJlYTMuLmM4MDUwOTFhNjAzOGU3ZDg2NzMzNDZmNzdjYzBk
N2FiN2FjMTMyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAtMDUtMDUgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIEVsaW1pbmF0ZSBjaGVja3Mgb2Yg
VVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpIGluIENvY29hLXNwZWNpZmljIGNvZGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTQ2MAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0Nv
Y29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaDogUmVtb3ZlIFVTRShESUNUQVRJT05fQUxURVJOQVRJ
VkVTKS4KKyAgICAgICAgQWxzbyByZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9mIFJldGFpblB0ci4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6UGFnZUNsaWVudEltcGxDb2NvYSk6IERp
dHRvLgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpwYWdlQ2xvc2VkKTog
RGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpY3RhdGlvbkFs
dGVybmF0aXZlcyk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjppbnNlcnREaWN0YXRl
ZFRleHRBc3luYyk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnZhbGlkQXR0cmlidXRlc0Zvck1h
cmtlZFRleHQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6Omluc2VydFRl
eHQpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOiBEaXR0by4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6IERpdHRvLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06IERpdHRvLgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOiBEaXR0by4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6IERpdHRvLgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW06IERpdHRvLgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHA6
IERpdHRvLgorCiAyMDIwLTA1LTA1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIGZpeCBmb3IgTW90aW9uTWFyayByZWdyZXNzaW9uLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGMyZmUyNTc3NmM1ZmZhMzBiMDY2NWFhMWZh
OWI0NjdiOTRkMTM4MWIuLjI3YTE3NTE1OTc5YWIxZDc5MGYzMGI2ZWU2NWEzZmZmMTZmOGFjMjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0wNS0w
NSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRWxpbWluYXRlIGNo
ZWNrcyBvZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykgaW4gQ29jb2Etc3BlY2lmaWMgY29k
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNDYw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaDogUmVtb3ZlZCBVU0UoRElDVEFU
SU9OX0FMVEVSTkFUSVZFUykuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRp
dmVUZXh0Q2xpZW50Lm1tOgorICAgICAgICAoV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OjpkaWN0
YXRpb25BbHRlcm5hdGl2ZXMpOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3
Lm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06IERpdHRvLgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlld0RhdGEuaDogRGl0dG8uCisgICAgICAgICogV2ViVmlldy9XZWJW
aWV3RGF0YS5tbTogRGl0dG8uCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDog
RGl0dG8uCisKIDIwMjAtMDUtMDUgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbW92ZSBub3ctdW5lZWRlZCBIQVZFIG1hY3JvcyByZWxhdGVkIHRvIFBERgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250
ZXh0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2
ZVRleHRDb250ZXh0Q29udHJvbGxlci5oCmluZGV4IDI5NzRjMzE5MmRjMzVkMzdjZDIzYzY3OGIx
YjkyMWQ5ZjdiOTliYjIuLmUxMzM5MDgxNWQwYTdlMzczMmRiYzcxMDBlN2IxNzBlNWI4MWQxNzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0
Q29udGV4dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Fs
dGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmgKQEAgLTIzLDE0ICsyMywxMCBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNwcmFnbWEgb25jZQotCi0j
aWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0KICNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW1wb3J0IDx3dGYvSGFzaE1hcC5oPgogCi1PQkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0aXZl
czsKK0BjbGFzcyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNDAsNyArMzYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgQWx0ZXJuYXRpdmVU
ZXh0Q29udGV4dENvbnRyb2xsZXIoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+QWx0ZXJuYXRpdmVU
ZXh0Q29udGV4dENvbnRyb2xsZXIoKTsKIAotICAgIHVpbnQ2NF90IGFkZEFsdGVybmF0aXZlcyhj
b25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpOworICAgIHVpbnQ2NF90IGFkZEFs
dGVybmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKik7CiAKICAgICB2b2lkIGNsZWFyKCk7CiAK
QEAgLTU1LDUgKzUxLDMgQEAgcHJpdmF0ZToKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmIC8vIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxl
ci5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4
dENvbnRyb2xsZXIubW0KaW5kZXggMmM5NjI2YWEyNTExYjk1YjY3Nzc0NzYwYmFjYjdlMWM1NWMz
YzYwYi4uZDlhMjY0MGYyNTg3ZjZmOGIwODExOWEwNTk4ZjgwZWM1NmNlNmQ3NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29u
dHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZl
VGV4dENvbnRleHRDb250cm9sbGVyLm1tCkBAIC0yNiw4ICsyNiw2IEBACiAjaW1wb3J0ICJjb25m
aWcuaCIKICNpbXBvcnQgIkFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmgiCiAKLSNp
ZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogCiAjaWYgVVNFKEFQUEtpdCkKQEAgLTQyLDkgKzQwLDEwIEBAIEFsdGVybmF0aXZlVGV4dENv
bnRleHRDb250cm9sbGVyOjpBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcigpID0gZGVm
YXVsdDsKIAogQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXI6On5BbHRlcm5hdGl2ZVRl
eHRDb250ZXh0Q29udHJvbGxlcigpID0gZGVmYXVsdDsKIAotdWludDY0X3QgQWx0ZXJuYXRpdmVU
ZXh0Q29udGV4dENvbnRyb2xsZXI6OmFkZEFsdGVybmF0aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNU
ZXh0QWx0ZXJuYXRpdmVzPiYgYWx0ZXJuYXRpdmVzKQordWludDY0X3QgQWx0ZXJuYXRpdmVUZXh0
Q29udGV4dENvbnRyb2xsZXI6OmFkZEFsdGVybmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKmFs
dGVybmF0aXZlcykKIHsKLSAgICB1aW50NjRfdCBjb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50NjRfdD4oYWx0ZXJuYXRpdmVzLmdldCgpKTsKKyAgICAvLyBGSVhNRTogVHVybmluZyBhIHBv
aW50ZXIgaW50byBhbiBpbnRlZ2VyIGlzIGEgZmxhd2VkIGFsZ29yaXRobSB0byBnZW5lcmF0ZSBh
IHVuaXF1ZSBJRC4gQ2FuIGxlYWQgdG8gYWxpYXNpbmcgdG8gYSBuZXcgb2JqZWN0IHRoYXQgaGFw
cGVucyB0byBvY2N1cHkgdGhlIHNhbWUgbWVtb3J5IGFzIGFuIG9sZCBvbmUuCisgICAgdWludDY0
X3QgY29udGV4dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGFsdGVybmF0aXZlcyk7CiAg
ICAgaWYgKCFjb250ZXh0KQogICAgICAgICByZXR1cm4gaW52YWxpZENvbnRleHQ7CiAgICAgaWYg
KGFsdGVybmF0aXZlc0ZvckNvbnRleHQoY29udGV4dCkpCkBAIC02OSw1ICs2OCwzIEBAIHZvaWQg
QWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXI6OmNsZWFyKCkKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJ
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRl
eHRVSUNvbnRyb2xsZXIuaAppbmRleCA2MjI1ZmU3NDIzNjAxNWM5MTAxYmVkMmMwZDQ3NTlkMDJk
ZjcxY2MwLi43Nzg0YTNjNDRmZGI5NWE3ZGY1M2I0NTAwMzE2MGIzZTMxOGU0NzM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0
VUlDb250cm9sbGVyLmgKQEAgLTIzLDEwICsyMyw2IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KIAotI3ByYWdtYSBvbmNlCi0KLSNpZiBVU0UoRElDVEFUSU9OX0FM
VEVSTkFUSVZFUykKLQogI2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIu
aCIKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIApAQCAtNDIsNyArMzgsNyBAQCBjbGFzcyBB
bHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIgewogcHVibGljOgogICAgIEFsdGVybmF0aXZlVGV4
dFVJQ29udHJvbGxlcigpID0gZGVmYXVsdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHVpbnQ2NF90
IGFkZEFsdGVybmF0aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpOyAv
LyBSZXR1cm5zIGEgY29udGV4dCBJRC4KKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50NjRfdCBhZGRB
bHRlcm5hdGl2ZXMoTlNUZXh0QWx0ZXJuYXRpdmVzICopOyAvLyBSZXR1cm5zIGEgY29udGV4dCBJ
RC4KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXIoKTsKIApAQCAtNjQsNSArNjAsMyBA
QCBwcml2YXRlOgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVVNF
KERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCmluZGV4IGU1OGVh
ZWRlYzAwN2U0Yjk5YzY4MjcxNDcyNWRlMWEyNWQ1MDk3N2YuLjc0MzQyNzlmOTk1ZjBlOTJlZTY2
NWI1MzI5ZTdlODNiMGY1ZWU5YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Y29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCkBAIC0yNiw4ICsy
Niw2IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkFsdGVybmF0aXZlVGV4dFVJQ29u
dHJvbGxlci5oIgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0KICNpbXBvcnQg
IkZsb2F0UmVjdC5oIgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKQEAgLTM1
LDEzICszMywxNSBAQAogI2ltcG9ydCA8QXBwS2l0L05TU3BlbGxDaGVja2VyLmg+CiAjaW1wb3J0
IDxBcHBLaXQvTlNUZXh0QWx0ZXJuYXRpdmVzLmg+CiAjaW1wb3J0IDxBcHBLaXQvTlNWaWV3Lmg+
Ci0jZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogI2ltcG9ydCA8cGFsL3NwaS9pb3MvVUlLaXRTUEkuaD4KICNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXVpbnQ2NF90IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6
YWRkQWx0ZXJuYXRpdmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+JiBhbHRl
cm5hdGl2ZXMpCit1aW50NjRfdCBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI6OmFkZEFsdGVy
bmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKmFsdGVybmF0aXZlcykKIHsKICAgICByZXR1cm4g
bV9jb250ZXh0Q29udHJvbGxlci5hZGRBbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVzKTsKIH0KQEAg
LTEwNiw1ICsxMDYsMyBAQCB2b2lkIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6cmVtb3Zl
QWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGNvbnRleHQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmIC8vIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaAppbmRl
eCBmMDRjOTgyMWU2ODVlNzlmNDBjZDVlNmMxM2QxMzhlNTQyZTBlMDJhLi44NDQzZGNlYjcwNzQw
MGUxYzA1NTUyMjI4OTdmMWEwNjU5YWNkN2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaApAQCAtMjMsMTggKzIzLDEz
IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI3ByYWdtYSBv
bmNlCi0KICNpbmNsdWRlICJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLU9CSkNfQ0xB
U1MgTlNUZXh0QWx0ZXJuYXRpdmVzOwotI2VuZGlmCitAY2xhc3MgTlNUZXh0QWx0ZXJuYXRpdmVz
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZF
UykKIHN0cnVjdCBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UgewogICAgIFdFQkNPUkVfRVhQT1JU
IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZShOU1RleHRBbHRlcm5hdGl2ZXMqIGFuQWx0ZXJuYXRp
dmVzLCBOU1JhbmdlIGFSYW5nZSk7CiAgICAgTlNSYW5nZSByYW5nZTsKQEAgLTQzLDggKzM4LDQg
QEAgc3RydWN0IFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSB7CiAKIFdFQkNPUkVfRVhQT1JUIHZv
aWQgY29sbGVjdERpY3RhdGlvblRleHRBbHRlcm5hdGl2ZXMoTlNBdHRyaWJ1dGVkU3RyaW5nKiwg
VmVjdG9yPFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZT4mIGFsdGVybmF0aXZlcyk7CiAKLSNlbHNl
Ci1zdHJ1Y3QgVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlIHsgfTsKLSNlbmRpZgotCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9U
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9U
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0KaW5kZXggNjUwOWRmNDQzYzA2NjNmNzhmOTA5NGVl
OWE4ZGE2OTc5YTUzNzE3Mi4uZDg2ZTRjZDljZjg5YTA4NWEwYjk0Yzk3ZjJiNWUyZGI2MjI2YzMx
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFsdGVybmF0aXZl
V2l0aFJhbmdlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRlcm5h
dGl2ZVdpdGhSYW5nZS5tbQpAQCAtMjIsMTEgKzIyLDEwIEBACiAgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KKwogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCIKIAotI2lmIFVTRShESUNU
QVRJT05fQUxURVJOQVRJVkVTKQotCiAjaWYgVVNFKEFQUEtJVCkKICNpbXBvcnQgPEFwcEtpdC9O
U1RleHRBbHRlcm5hdGl2ZXMuaD4KICNlbGlmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC01Nyw1
ICs1NiwzIEBAIHZvaWQgY29sbGVjdERpY3RhdGlvblRleHRBbHRlcm5hdGl2ZXMoTlNBdHRyaWJ1
dGVkU3RyaW5nICpzdHJpbmcsIFZlY3RvcjxUZXh0QWx0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmIC8vIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmluZGV4
IGNiMGVjZDFkZTViMWViZDk0MmRkYmI5ZmVmNDQ1NDA0MTY3ODY1NDUuLmM2NzIyODM5ZjczOWE0
NDY3YTJmMTRkOTE5OGI0ZjBkNjZkZGI3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTYyLDE3ICs2MiwxMyBAQCBw
dWJsaWM6CiAgICAgTlNTZXQgKnNlcmlhbGl6YWJsZUZpbGVXcmFwcGVyQ2xhc3NlcygpIGNvbnN0
IGZpbmFsOwogI2VuZGlmCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLSAgICB1
aW50NjRfdCBhZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMoY29uc3QgUmV0YWluUHRyPE5TVGV4dEFs
dGVybmF0aXZlcz4mKSBmaW5hbDsKKyAgICB1aW50NjRfdCBhZGREaWN0YXRpb25BbHRlcm5hdGl2
ZXMoTlNUZXh0QWx0ZXJuYXRpdmVzICopIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlRGljdGF0aW9u
QWx0ZXJuYXRpdmVzKHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIGZpbmFsOwogICAgIFZlY3Rv
cjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0
KSBmaW5hbDsKLSNlbmRpZgogCiBwcm90ZWN0ZWQ6CiAgICAgV2Vha09iakNQdHI8V0tXZWJWaWV3
PiBtX3dlYlZpZXc7Ci0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgc3RkOjp1
bmlxdWVfcHRyPFdlYkNvcmU6OkFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcj4gbV9hbHRlcm5h
dGl2ZVRleHRVSUNvbnRyb2xsZXI7Ci0jZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCmluZGV4IDQwOTQ5
YzJmNDA5Y2Q0MmRjYTYxNmMyOTY0OTg1MmZmMjIyZjJhZjUuLmQ5NmEwZWY0ZjAxN2I5YjUwNTJm
OTM3MmE0OTUyMmIwMzhiYTRlODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtMjksMTkgKzI5LDE0IEBACiAjaW1w
b3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tXZWJWaWV3
SW50ZXJuYWwuaCIKICNpbXBvcnQgIldLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmgiCi0jaW1w
b3J0IDx3dGYvVmVjdG9yLmg+Ci0KLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICNp
bXBvcnQgPFdlYkNvcmUvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg+Ci0jZW5kaWYKKyNp
bXBvcnQgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFBhZ2VDbGllbnRJ
bXBsQ29jb2E6OlBhZ2VDbGllbnRJbXBsQ29jb2EoV0tXZWJWaWV3ICp3ZWJWaWV3KQogICAgIDog
bV93ZWJWaWV3IHsgd2ViVmlldyB9Ci0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAg
ICAgLCBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlciB7IG1ha2VVbmlxdWU8QWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyPigpIH0KLSNlbmRpZgogewogfQogCkBAIC05OCwxNCArOTMsMTAg
QEAgTlNTZXQgKlBhZ2VDbGllbnRJbXBsQ29jb2E6OnNlcmlhbGl6YWJsZUZpbGVXcmFwcGVyQ2xh
c3NlcygpIGNvbnN0CiAKIHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6cGFnZUNsb3NlZCgpCiB7
Ci0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgbV9hbHRlcm5hdGl2ZVRleHRV
SUNvbnRyb2xsZXItPmNsZWFyKCk7Ci0jZW5kaWYKIH0KIAotI2lmIFVTRShESUNUQVRJT05fQUxU
RVJOQVRJVkVTKQotCi11aW50NjRfdCBQYWdlQ2xpZW50SW1wbENvY29hOjphZGREaWN0YXRpb25B
bHRlcm5hdGl2ZXMoY29uc3QgUmV0YWluUHRyPE5TVGV4dEFsdGVybmF0aXZlcz4mIGFsdGVybmF0
aXZlcykKK3VpbnQ2NF90IFBhZ2VDbGllbnRJbXBsQ29jb2E6OmFkZERpY3RhdGlvbkFsdGVybmF0
aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKmFsdGVybmF0aXZlcykKIHsKICAgICByZXR1cm4gbV9h
bHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXItPmFkZEFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMp
OwogfQpAQCAtMTE5LDggKzExMCw1IEBAIFZlY3RvcjxTdHJpbmc+IFBhZ2VDbGllbnRJbXBsQ29j
b2E6OmRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250CiB7CiAgICAg
cmV0dXJuIG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hbHRlcm5hdGl2ZXNGb3JDb250
ZXh0KGRpY3RhdGlvbkNvbnRleHQpOwogfQotCi0jZW5kaWYKLQogICAgIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCBm
YzNhZDQyYmU4YTA3N2RmMjIzZWEzMDk5ZGY1ZTkyYTg2YzJiOGY1Li45Yzk0ZDEwNzFjNjE4Y2Y3
N2I2Y2U4MzcxZmE5OTdhMzU0NTRjNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNDUsMTQgKzQ1LDExIEBACiAjaW1w
b3J0IDxXZWJDb3JlL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZWFyY2hQb3B1cE1lbnVD
b2NvYS5oPgorI2ltcG9ydCA8V2ViQ29yZS9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaD4KICNp
bXBvcnQgPFdlYkNvcmUvVmFsaWRhdGlvbkJ1YmJsZS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRy
Lmg+CiAjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KIAotI2lmIFVTRShESUNUQVRJT05f
QUxURVJOQVRJVkVTKQotI2ltcG9ydCA8V2ViQ29yZS9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2Uu
aD4KLSNlbmRpZgotCiAjaWYgRU5BQkxFKE1FRElBX1VTQUdFKQogI2ltcG9ydCAiTWVkaWFVc2Fn
ZU1hbmFnZXJDb2NvYS5oIgogI2VuZGlmCkBAIC0yNDcsMTMgKzI0NCwxMiBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6cGVyZm9ybURpY3Rpb25hcnlMb29rdXBPZkN1cnJlbnRTZWxlY3Rpb24oKQogCiB2
b2lkIFdlYlBhZ2VQcm94eTo6aW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMoY29uc3QgU3RyaW5nJiB0
ZXh0LCBjb25zdCBFZGl0aW5nUmFuZ2UmIHJlcGxhY2VtZW50UmFuZ2UsIGNvbnN0IFZlY3RvcjxU
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2U+JiBkaWN0YXRpb25BbHRlcm5hdGl2ZXNXaXRoUmFuZ2Us
IEluc2VydFRleHRPcHRpb25zJiYgb3B0aW9ucykKIHsKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVS
TkFUSVZFUykKICAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkpCiAgICAgICAgIHJldHVybjsK
IAogICAgIFZlY3RvcjxEaWN0YXRpb25BbHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVz
OwogICAgIGZvciAoY29uc3QgYXV0byYgYWx0ZXJuYXRpdmVXaXRoUmFuZ2UgOiBkaWN0YXRpb25B
bHRlcm5hdGl2ZXNXaXRoUmFuZ2UpIHsKLSAgICAgICAgdWludDY0X3QgZGljdGF0aW9uQ29udGV4
dCA9IHBhZ2VDbGllbnQoKS5hZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVXaXRo
UmFuZ2UuYWx0ZXJuYXRpdmVzKTsKKyAgICAgICAgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCA9
IHBhZ2VDbGllbnQoKS5hZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVXaXRoUmFu
Z2UuYWx0ZXJuYXRpdmVzLmdldCgpKTsKICAgICAgICAgaWYgKGRpY3RhdGlvbkNvbnRleHQpCiAg
ICAgICAgICAgICBkaWN0YXRpb25BbHRlcm5hdGl2ZXMuYXBwZW5kKERpY3RhdGlvbkFsdGVybmF0
aXZlKGFsdGVybmF0aXZlV2l0aFJhbmdlLnJhbmdlLmxvY2F0aW9uLCBhbHRlcm5hdGl2ZVdpdGhS
YW5nZS5yYW5nZS5sZW5ndGgsIGRpY3RhdGlvbkNvbnRleHQpKTsKICAgICB9CkBAIC0yNjQsOSAr
MjYwLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6Omluc2VydERpY3RhdGVkVGV4dEFzeW5jKGNvbnN0
IFN0cmluZyYgdGV4dCwgY29uc3QgRWRpdGluZ1JhbmcKICAgICB9CiAKICAgICBwcm9jZXNzKCku
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6SW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMgeyB0ZXh0LCBy
ZXBsYWNlbWVudFJhbmdlLCBkaWN0YXRpb25BbHRlcm5hdGl2ZXMsIFdURk1vdmUob3B0aW9ucykg
fSwgbV93ZWJQYWdlSUQpOwotI2Vsc2UKLSAgICBpbnNlcnRUZXh0QXN5bmModGV4dCwgcmVwbGFj
ZW1lbnRSYW5nZSwgV1RGTW92ZShvcHRpb25zKSk7Ci0jZW5kaWYKIH0KICAgICAKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbQppbmRleCAwY2UzMzc0NWVlYTAxMWNkOWYxOGJmYWE2MmVmZDEwYTgyMjMzNmY3Li45MDU4
Y2FlZmE5Y2U4ZjUwYTRhM2FkMzQ5YjgzNDAzZDdiODljZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtNDcwMywxMCArNDcwMywxMSBAQCBO
U0FycmF5ICpXZWJWaWV3SW1wbDo6dmFsaWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCgpCiB7CiAg
ICAgc3RhdGljIE5TQXJyYXkgKnZhbGlkQXR0cmlidXRlczsKICAgICBpZiAoIXZhbGlkQXR0cmli
dXRlcykgewotICAgICAgICB2YWxpZEF0dHJpYnV0ZXMgPSBAWyBOU1VuZGVybGluZVN0eWxlQXR0
cmlidXRlTmFtZSwgTlNVbmRlcmxpbmVDb2xvckF0dHJpYnV0ZU5hbWUsIE5TTWFya2VkQ2xhdXNl
U2VnbWVudEF0dHJpYnV0ZU5hbWUsCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCisg
ICAgICAgIHZhbGlkQXR0cmlidXRlcyA9IEBbCisgICAgICAgICAgICBOU1VuZGVybGluZVN0eWxl
QXR0cmlidXRlTmFtZSwKKyAgICAgICAgICAgIE5TVW5kZXJsaW5lQ29sb3JBdHRyaWJ1dGVOYW1l
LAorICAgICAgICAgICAgTlNNYXJrZWRDbGF1c2VTZWdtZW50QXR0cmlidXRlTmFtZSwKICAgICAg
ICAgICAgIE5TVGV4dEFsdGVybmF0aXZlc0F0dHJpYnV0ZU5hbWUsCi0jZW5kaWYKICNpZiBVU0Uo
SU5TRVJUSU9OX1VORE9fR1JPVVBJTkcpCiAgICAgICAgICAgICBOU1RleHRJbnNlcnRpb25VbmRv
YWJsZUF0dHJpYnV0ZU5hbWUsCiAjZW5kaWYKQEAgLTQ4NDUsOSArNDg0Niw3IEBAIHZvaWQgV2Vi
Vmlld0ltcGw6Omluc2VydFRleHQoaWQgc3RyaW5nLCBOU1JhbmdlIHJlcGxhY2VtZW50UmFuZ2Up
CiAKICAgICBib29sIHJlZ2lzdGVyVW5kb0dyb3VwID0gZmFsc2U7CiAgICAgaWYgKGlzQXR0cmli
dXRlZFN0cmluZykgewotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgICAgICBX
ZWJDb3JlOjpjb2xsZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhzdHJpbmcsIGRpY3RhdGlv
bkFsdGVybmF0aXZlcyk7Ci0jZW5kaWYKICNpZiBVU0UoSU5TRVJUSU9OX1VORE9fR1JPVVBJTkcp
CiAgICAgICAgIHJlZ2lzdGVyVW5kb0dyb3VwID0gV2ViQ29yZTo6c2hvdWxkUmVnaXN0ZXJJbnNl
cnRpb25VbmRvR3JvdXAoc3RyaW5nKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCmluZGV4IDhhOWQ5YzZiY2UwMzc3YjhiN2NjN2JlMGQ2MGQ0N2Q4NzNjNmZkMGMuLmFh
MDZlMDQyNWM5MmZiMzQwY2ZkNTU5NGVkNjU2NDU3MGUyZGVlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTM1NSw3ICszNTUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHRha2VGb2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbikgeyB9CiAKICNpZiBVU0Uo
RElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLSAgICB2aXJ0dWFsIHVpbnQ2NF90IGFkZERpY3RhdGlv
bkFsdGVybmF0aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpID0gMDsK
KyAgICB2aXJ0dWFsIHVpbnQ2NF90IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhOU1RleHRBbHRl
cm5hdGl2ZXMgKikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVEaWN0YXRpb25BbHRlcm5h
dGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBz
aG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5k
aW5nQm94T2ZEaWN0YXRlZFRleHQsIHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpID0gMDsKICAg
ICB2aXJ0dWFsIFZlY3RvcjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBk
aWN0YXRpb25Db250ZXh0KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IGYxNDUzZjU3ZmFiYWE1OWNjZWI0YWU1MWRmMWZhYWY1
MzFiOWIwYjguLmFlNzU4ZDRjZmI4Y2JlNTk2N2U3ZDBiM2I1MTFlNTM5OWQxMzEwMDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0y
NjAsOSArMjYwLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNhbmNlbFBvaW50ZXJzRm9yR2VzdHVy
ZVJlY29nbml6ZXIoVUlHZXN0dXJlUmVjb2duaXplciopIG92ZXJyaWRlOwogICAgIFdURjo6T3B0
aW9uYWw8dW5zaWduZWQ+IGFjdGl2ZVRvdWNoSWRlbnRpZmllckZvckdlc3R1cmVSZWNvZ25pemVy
KFVJR2VzdHVyZVJlY29nbml6ZXIqKSBvdmVycmlkZTsKIAotI2lmIFVTRShESUNUQVRJT05fQUxU
RVJOQVRJVkVTKQogICAgIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2Vi
Q29yZTo6RmxvYXRSZWN0JiwgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJpZGU7Ci0j
ZW5kaWYKIAogICAgIFdlYWtPYmpDUHRyPFdLQ29udGVudFZpZXc+IG1fY29udGVudFZpZXc7CiAg
ICAgUmV0YWluUHRyPFdLRWRpdG9yVW5kb1RhcmdldD4gbV91bmRvVGFyZ2V0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDY2YjM5
OGFlN2I2MTY2ZmQ2ZWNhMzcxYWIxY2E0MWUyMjZmNTBhYWUuLjMzZmI4ZDk2NTUzMmJhZWRjZjMx
MzNjMjAyNGE3OWM3ZDc1ODI2YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTk0OSwxNSArOTQ5LDExIEBAIHZvaWQgUGFnZUNs
aWVudEltcGw6OmhhbmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dChjb25zdCBXZWJBdXRvY29ycmVj
dGlvbkNvbnRleHQmCiAgICAgW21fY29udGVudFZpZXcgX2hhbmRsZUF1dG9jb3JyZWN0aW9uQ29u
dGV4dDpjb250ZXh0XTsKIH0KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiB2
b2lkIFBhZ2VDbGllbnRJbXBsOjpzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJD
b3JlOjpGbG9hdFJlY3QmLCB1aW50NjRfdCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQog
Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShJ
T1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggOTYzMDJlNmIwM2NiNDBjODJlMmJhYWVkNWJk
MTA3ZmM0NGNkZjJlMi4uMmQ1ZTc0NDlhODkzNDA2OWVmN2YyYzY2YWVmMWNjNzBlN2VjMDgzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCkBAIC0xMTMsNiArMTEzLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGJhci5oPgog
I2ltcG9ydCA8V2ViQ29yZS9TaGFyZURhdGEuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVy
bmF0aXZlV2l0aFJhbmdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RleHRJbmRpY2F0b3IuaD4KICNp
bXBvcnQgPFdlYkNvcmUvVG91Y2hBY3Rpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0
aWVzLmg+CkBAIC0xNjQsMTAgKzE2NSw2IEBACiAjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uQWRkaXRpb25zLm1tPgogI2VuZGlmCiAKLSNpZiBVU0UoRElD
VEFUSU9OX0FMVEVSTkFUSVZFUykKLSNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0
aFJhbmdlLmg+Ci0jZW5kaWYKLQogI2ltcG9ydCA8cGFsL2lvcy9NYW5hZ2VkQ29uZmlndXJhdGlv
blNvZnRMaW5rLmg+CiAKICNpZiBIQVZFKExJTktfUFJFVklFVykgJiYgVVNFKFVJQ09OVEVYVE1F
TlUpCkBAIC00NzgzLDggKzQ3ODAsNiBAQCAtICh2b2lkKWluc2VydFRleHQ6KE5TU3RyaW5nICop
YVN0cmluZ1ZhbHVlCiAgICAgX3BhZ2UtPmluc2VydFRleHRBc3luYyhhU3RyaW5nVmFsdWUsIFdl
YktpdDo6RWRpdGluZ1JhbmdlKCksIFdURk1vdmUob3B0aW9ucykpOwogfQogCi0jaWYgVVNFKERJ
Q1RBVElPTl9BTFRFUk5BVElWRVMpCi0KIC0gKHZvaWQpaW5zZXJ0VGV4dDooTlNTdHJpbmcgKilh
U3RyaW5nVmFsdWUgYWx0ZXJuYXRpdmVzOihOU0FycmF5PE5TU3RyaW5nICo+ICopYWx0ZXJuYXRp
dmVzIHN0eWxlOihVSVRleHRBbHRlcm5hdGl2ZVN0eWxlKXN0eWxlCiB7CiAgICAgaWYgKCFhbHRl
cm5hdGl2ZXMuY291bnQpCkBAIC00ODAwLDggKzQ3OTUsNiBAQCAtICh2b2lkKWluc2VydFRleHQ6
KE5TU3RyaW5nICopYVN0cmluZ1ZhbHVlIGFsdGVybmF0aXZlczooTlNBcnJheTxOU1N0cmluZyAq
PiAqKQogICAgIH0KIH0KIAotI2VuZGlmCi0KIC0gKEJPT0wpaGFzVGV4dAogewogICAgIGF1dG8m
IGVkaXRvclN0YXRlID0gX3BhZ2UtPmVkaXRvclN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IGY5OTlkYmE4YTMzNTk5YjFl
ZDFjOTIzMTM3MThhMjM4Njc5ZDQzNzYuLjZhZDA5N2IxNzQyNjllYzBhMzI1YmE2OTI2YTQyZGMw
ZmYzNjhjYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xp
ZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbE1hYy5oCkBAIC0xODAsOSArMTgwLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgaW50cmlu
c2ljQ29udGVudFNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgaW50cmluc2lj
Q29udGVudFNpemUpIG92ZXJyaWRlOwogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMp
CiAgICAgdm9pZCBzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpGbG9h
dFJlY3QmIGJvdW5kaW5nQm94T2ZEaWN0YXRlZFRleHQsIHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRl
eHQpIG92ZXJyaWRlOwotI2VuZGlmCiAKICAgICB2b2lkIHNldEVkaXRhYmxlRWxlbWVudElzRm9j
dXNlZChib29sKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1BhZ2VDbGllbnRJbXBsTWFjLm1tCmluZGV4IDUwYmIyZDMyYWU1NDY2MTNlNjQwY2EzNjlkYjYx
YWY0MTIyOTFmNmIuLjA4OGI3NWJlOTNhMDVhYTI0NzQ5MzBmNmUxZjJhYzBjNDE3NzRhM2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0K
QEAgLTY4Miw4ICs2ODIsNiBAQCBib29sIFBhZ2VDbGllbnRJbXBsOjpleGVjdXRlU2F2ZWRDb21t
YW5kQnlTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHNlbGVjdG9yU3RyaW5nKQogICAgIHJldHVybiBt
X2ltcGwtPmV4ZWN1dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKE5TU2VsZWN0b3JGcm9tU3RyaW5n
KHNlbGVjdG9yU3RyaW5nKSk7CiB9CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykK
LQogdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3Qg
V2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBk
aWN0YXRpb25Db250ZXh0KQogewogICAgIGlmICghaXNWaWV3VmlzaWJsZSgpIHx8ICFpc1ZpZXdJ
bldpbmRvdygpKQpAQCAtNjkzLDggKzY5MSw2IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNob3dE
aWN0YXRpb25BbHRlcm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpCiAg
ICAgfSk7CiB9CiAKLSNlbmRpZgotCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRFZGl0YWJsZUVs
ZW1lbnRJc0ZvY3VzZWQoYm9vbCBlZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQpCiB7CiAgICAgbV9p
bXBsLT5zZXRFZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQoZWRpdGFibGVFbGVtZW50SXNGb2N1c2Vk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9t
YWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcAppbmRleCA5
YjZhYTlmM2RmMWZmMzRjOTczZTkxM2Q1NTBmZDhjNTQ4NDIxMzEwLi4zOWJlYjMxYzFmYTJjOTI2
YmUxNjNhZjM3Y2FhYWEyOWIwYzM2ZjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJBbHRlcm5h
dGl2ZVRleHRDbGllbnQuY3BwCkBAIC02OSw3ICs2OSw2IEBAIHZvaWQgV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50OjpyZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKEF1dG9jb3JyZWN0aW9uUmVz
cG9uCiB9CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogdm9pZCBX
ZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50
NjRfdCBkaWN0YXRpb25Db250ZXh0KQogewogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpSZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXMoZGljdGF0aW9uQ29udGV4dCkp
OwpAQCAtODYsNSArODUsNSBAQCBWZWN0b3I8U3RyaW5nPiBXZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQ6OmRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpbwogICAgIG1fcGFnZS0+
c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGljdGF0aW9uQWx0ZXJuYXRpdmVzKGRp
Y3RhdGlvbkNvbnRleHQpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWN0YXRpb25BbHRlcm5h
dGl2ZXM6OlJlcGx5KHJlc3VsdCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCBlNDkxMmZmMTFlZGNmOTgz
Y2M2OGM1Y2Y2MTg5ZDY3MjYzMDkzMzFiLi5hOTcwYWE2MGRjNzM4ZTcxMTQ5NGY1ZTAwZGRjY2Q4
NjgxNDNhZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaApAQCAtMjMsOCAr
MjMsNiBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQogI2ltcG9ydCAi
Q29ycmVjdGlvblBhbmVsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4dENsaWVu
dC5oPgogCkBAIC0zMyw3ICszMSw3IEBACiBjbGFzcyBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQg
OiBwdWJsaWMgV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0Q2xpZW50IHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBXZWJBbHRlcm5hdGl2ZVRleHRD
bGllbnQoV2ViVmlldyopOworICAgIGV4cGxpY2l0IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudChX
ZWJWaWV3ICopOwogICAgIHZpcnR1YWwgfldlYkFsdGVybmF0aXZlVGV4dENsaWVudCgpOwogI2lm
IFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkKICAgICB2b2lkIHNob3dDb3JyZWN0aW9uQWx0ZXJu
YXRpdmUoV2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VHlwZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiBib3VuZGluZ0JveE9mUmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZWRT
dHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBhbHRlcm5hdGl2ZVJlcGxhY2VtZW50U3RyaW5ncykgb3ZlcnJpZGU7CkBAIC00MSwyMCAr
MzksMTIgQEAgcHVibGljOgogICAgIFN0cmluZyBkaXNtaXNzQWx0ZXJuYXRpdmVTb29uKFdlYkNv
cmU6OlJlYXNvbkZvckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQpIG92ZXJyaWRlOwogICAgIHZv
aWQgcmVjb3JkQXV0b2NvcnJlY3Rpb25SZXNwb25zZShXZWJDb3JlOjpBdXRvY29ycmVjdGlvblJl
c3BvbnNlLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VkU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlcGxh
Y2VtZW50U3RyaW5nKSBvdmVycmlkZTsKICNlbmRpZgotI2lmIFVTRShESUNUQVRJT05fQUxURVJO
QVRJVkVTKQogICAgIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29y
ZTo6RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRp
b25Db250ZXh0KSBvdmVycmlkZTsKICAgICB2b2lkIHJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZl
cyh1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBvdmVycmlkZTsKICAgICBWZWN0b3I8U3RyaW5n
PiBkaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJp
ZGU7Ci0jZW5kaWYKIAogcHJpdmF0ZToKLSNpZiAhKFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkg
fHwgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpKQotICAgIElHTk9SRV9XQVJOSU5HU19CRUdJ
TigidW51c2VkLXByaXZhdGUtZmllbGQiKQotI2VuZGlmCi0gICAgV2ViVmlldyogbV93ZWJWaWV3
OwotI2lmICEoVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKSB8fCBVU0UoRElDVEFUSU9OX0FMVEVS
TkFUSVZFUykpCi0gICAgSUdOT1JFX1dBUk5JTkdTX0VORAotI2VuZGlmCisgICAgV2ViVmlldyAq
bV93ZWJWaWV3OwogCiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAgIENvcnJlY3Rp
b25QYW5lbCBtX2NvcnJlY3Rpb25QYW5lbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5tbSBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVu
dC5tbQppbmRleCA0Y2I1ZTU0ODkzNTcyODU5NzJkNDI3NTY4MDg5OTY1MTU2NWQ2YWVlLi5mNjg2
ZjZjYWRlNzBiYTQ1ZWYwYWZhNTlmZmRiMTE5N2ViYzZhNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50Lm1tCkBAIC03OCw3ICs3OCw2IEBAIHZvaWQgV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50OjpyZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKEF1dG9jb3JyZWN0aW9uUmVz
cG9uCiB9CiAjZW5kaWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogdm9pZCBX
ZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OnJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50
NjRfdCBkaWN0YXRpb25Db250ZXh0KQogewogICAgIFttX3dlYlZpZXcgX3JlbW92ZURpY3RhdGlv
bkFsdGVybmF0aXZlczpkaWN0YXRpb25Db250ZXh0XTsKQEAgLTkzLDQgKzkyLDMgQEAgVmVjdG9y
PFN0cmluZz4gV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50OjpkaWN0YXRpb25BbHRlcm5hdGl2ZXMo
dWludDY0X3QgZGljdGF0aW8KIHsKICAgICByZXR1cm4gW21fd2ViVmlldyBfZGljdGF0aW9uQWx0
ZXJuYXRpdmVzOmRpY3RhdGlvbkNvbnRleHRdOwogfQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCA4MDFkZmNkNTljOWJmZjUw
MmE5N2I1ODM1ZGY1Y2VhZWU5NGFmMmQ5Li42MzhlZTAxYWI1ODJmNTcyYTZmZjIzNjI1YTUxOGUw
OWU4MjU0ODcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KQEAgLTYyNTUsOSArNjI1NSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5U
QVRJT05TX0VORAogICAgICAgICBOU1VuZGVybGluZUNvbG9yQXR0cmlidXRlTmFtZSwKICAgICAg
ICAgTlNNYXJrZWRDbGF1c2VTZWdtZW50QXR0cmlidXRlTmFtZSwKICAgICAgICAgTlNUZXh0SW5w
dXRSZXBsYWNlbWVudFJhbmdlQXR0cmlidXRlTmFtZSwKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVS
TkFUSVZFUykKICAgICAgICAgTlNUZXh0QWx0ZXJuYXRpdmVzQXR0cmlidXRlTmFtZSwKLSNlbmRp
ZgogI2lmIFVTRShJTlNFUlRJT05fVU5ET19HUk9VUElORykKICAgICAgICAgTlNUZXh0SW5zZXJ0
aW9uVW5kb2FibGVBdHRyaWJ1dGVOYW1lLAogI2VuZGlmCkBAIC02NjM0LDEyICs2NjMyLDEwIEBA
IEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgIFZlY3RvcjxXZWJDb3Jl
OjpEaWN0YXRpb25BbHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVMb2NhdGlvbnM7CiAj
aWYgUExBVEZPUk0oTUFDKQogICAgIGlmIChpc0F0dHJpYnV0ZWRTdHJpbmcpIHsKLSNpZiBVU0Uo
RElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICAgICAgVmVjdG9yPFdlYkNvcmU6OlRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZT4gdGV4dEFsdGVybmF0aXZlczsKICAgICAgICAgY29sbGVjdERpY3Rh
dGlvblRleHRBbHRlcm5hdGl2ZXMoc3RyaW5nLCB0ZXh0QWx0ZXJuYXRpdmVzKTsKICAgICAgICAg
aWYgKCF0ZXh0QWx0ZXJuYXRpdmVzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIFtbc2VsZiBfd2Vi
Vmlld10gX2dldFdlYkNvcmVEaWN0YXRpb25BbHRlcm5hdGl2ZXM6ZGljdGF0aW9uQWx0ZXJuYXRp
dmVMb2NhdGlvbnMgZnJvbVRleHRBbHRlcm5hdGl2ZXM6dGV4dEFsdGVybmF0aXZlc107Ci0jZW5k
aWYKICNpZiBVU0UoSU5TRVJUSU9OX1VORE9fR1JPVVBJTkcpCiAgICAgICAgIHJlZ2lzdGVyVW5k
b0dyb3VwID0gV2ViQ29yZTo6c2hvdWxkUmVnaXN0ZXJJbnNlcnRpb25VbmRvR3JvdXAoc3RyaW5n
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmlu
ZGV4IDMwZjAxMzM4Y2EyMmIwMmJjZTkwZGRiNGU3OGMyN2I3ZGI1ZDJhNjMuLjg1NTAwMTBjY2Fh
ODY5ZmExNTYyZmU4YmVlNGQ4NTk5ZjkyZjhkNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTkzODYsNyArOTM4Niw2IEBAIC0gKHZvaWQpaGFuZGxl
QWNjZXB0ZWRBbHRlcm5hdGl2ZVRleHQ6KE5TU3RyaW5nKil0ZXh0CiB9CiAjZW5kaWYKIAotI2lm
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogLSAodm9pZClfZ2V0V2ViQ29yZURpY3RhdGlv
bkFsdGVybmF0aXZlczooVmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiYpYWx0
ZXJuYXRpdmVzIGZyb21UZXh0QWx0ZXJuYXRpdmVzOihjb25zdCBWZWN0b3I8V2ViQ29yZTo6VGV4
dEFsdGVybmF0aXZlV2l0aFJhbmdlPiYpYWx0ZXJuYXRpdmVzV2l0aFJhbmdlCiB7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBhbHRlcm5hdGl2ZXNXaXRoUmFuZ2Uuc2l6ZSgpOyArK2kpIHsK
QEAgLTk0MTUsNyArOTQxNCw2IEBAIC0gKFZlY3RvcjxTdHJpbmc+KV9kaWN0YXRpb25BbHRlcm5h
dGl2ZXM6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQKIHsKICAgICByZXR1cm4gX3ByaXZhdGUt
Pm1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hbHRlcm5hdGl2ZXNGb3JDb250ZXh0KGRp
Y3RhdGlvbkNvbnRleHQpOwogfQotI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKIC0gKFdlYlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilfc2VsZWN0aW9uU2VydmljZUNv
bnRyb2xsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlld0RhdGEuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEu
aAppbmRleCBmZTk4MzliYWM0NzQ5MWExNDNiYTY4YmU3YzliYjY1MGFmZDUwN2I4Li5iMDIwN2Uy
YjkxZTVjMGM2NTc2ODFlNWIzOWJkODcyNzU3NmMxNjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5oCkBAIC0zNTUsOSArMzU1LDcgQEAgcHJpdmF0
ZToKICAgICBXZWJGaXhlZFBvc2l0aW9uQ29udGVudCogX2ZpeGVkUG9zaXRpb25Db250ZW50Owog
I2VuZGlmCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBzdGQ6OnVuaXF1
ZV9wdHI8V2ViQ29yZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZl
VGV4dFVJQ29udHJvbGxlcjsKLSNlbmRpZgogCiAgICAgUmV0YWluUHRyPE5TRGF0YT4gc291cmNl
QXBwbGljYXRpb25BdWRpdERhdGE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXdEYXRhLm1tCmluZGV4IGMzZmNjMzBkNjE2NTM2YmYyZjRkYWQ0MzdiOGZmZjlh
NTE4YjNiYjMuLjMyM2M4OWQ4ODY4Y2RjZDA0N2Y5M2U0MDRhZWJlOGM5YTFhNDUzZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQpAQCAtMjA2
LDkgKzIwNiw3IEBAIC0gKGlkKWluaXQKIAogICAgIHBsdWdpbkRhdGFiYXNlQ2xpZW50Q291bnQr
KzsKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgIG1fYWx0ZXJuYXRpdmVU
ZXh0VUlDb250cm9sbGVyID0gbWFrZVVuaXF1ZTxXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXI+KCk7Ci0jZW5kaWYKIAogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5kZXggNTZjOGQ1
NjI5MGRkY2VhNGE4YzljMGRjMDJmMDhmZTlhNGI4ODg4YS4uZDI4Njg1NWNlODcyNmUyZjVkMTZj
NTg3MzU0Mjg5NWYwMTRmMmRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJXZWJU
eXBlc0ludGVybmFsLmgiCiAKICNpZmRlZiBfX2NwbHVzcGx1cworCiAjaW1wb3J0IDxXZWJDb3Jl
L0FsdGVybmF0aXZlVGV4dENsaWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GaW5kT3B0aW9ucy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KQEAgLTgwLDYgKzgxLDcgQEAgY2xhc3Mg
V2ViU2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXI7CiAjZW5kaWYKIAogQGNsYXNzIE5TQ2FuZGlk
YXRlTGlzdFRvdWNoQmFySXRlbTsKK0BjbGFzcyBOU1RleHRBbHRlcm5hdGl2ZXM7CiBAY2xhc3Mg
V2ViQmFzZVBsdWdpblBhY2thZ2U7CiBAY2xhc3MgV2ViRG93bmxvYWQ7CiBAY2xhc3MgV2ViSW1t
ZWRpYXRlQWN0aW9uQ29udHJvbGxlcjsKQEAgLTkyLDEwICs5NCw2IEBAIFdlYkNvcmU6OkZpbmRP
cHRpb25zIGNvcmVPcHRpb25zKFdlYkZpbmRPcHRpb25zIG9wdGlvbnMpOwogT3B0aW9uU2V0PFdl
YkNvcmU6OkxheW91dE1pbGVzdG9uZT4gY29yZUxheW91dE1pbGVzdG9uZXMoV2ViTGF5b3V0TWls
ZXN0b25lcyk7CiBXZWJMYXlvdXRNaWxlc3RvbmVzIGtpdExheW91dE1pbGVzdG9uZXMoT3B0aW9u
U2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4pOwogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRF
Uk5BVElWRVMpCi1PQkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0aXZlczsKLSNlbmRpZgotCiAjaWYg
RU5BQkxFKERBVEFfSU5URVJBQ1RJT04pICYmIGRlZmluZWQoX19jcGx1c3BsdXMpCiBAaW50ZXJm
YWNlIFdlYlVJVGV4dEluZGljYXRvckRhdGEgKFdlYlVJVGV4dEluZGljYXRvckludGVybmFsKQog
LSAoV2ViVUlUZXh0SW5kaWNhdG9yRGF0YSAqKWluaXRXaXRoSW1hZ2U6KENHSW1hZ2VSZWYpaW1h
Z2UgdGV4dEluZGljYXRvckRhdGE6KGNvbnN0IFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhJilp
bmRpY2F0b3JEYXRhIHNjYWxlOihDR0Zsb2F0KXNjYWxlOwpAQCAtMTM1LDEyICsxMzMsMTAgQEAg
T0JKQ19DTEFTUyBOU1RleHRBbHRlcm5hdGl2ZXM7CiAtICh2b2lkKWhhbmRsZUFjY2VwdGVkQWx0
ZXJuYXRpdmVUZXh0OihOU1N0cmluZyopdGV4dDsKICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElP
Tl9BTFRFUk5BVElWRVMpCiAtICh2b2lkKV9nZXRXZWJDb3JlRGljdGF0aW9uQWx0ZXJuYXRpdmVz
OihWZWN0b3I8V2ViQ29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+JilhbHRlcm5hdGl2ZXMgZnJv
bVRleHRBbHRlcm5hdGl2ZXM6KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVX
aXRoUmFuZ2U+JilhbHRlcm5hdGl2ZXNXaXRoUmFuZ2U7CiAtICh2b2lkKV9zaG93RGljdGF0aW9u
QWx0ZXJuYXRpdmVVSTooY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jilib3VuZGluZ0JveE9mRGlj
dGF0ZWRUZXh0IGZvckRpY3RhdGlvbkNvbnRleHQ6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQ7
CiAtICh2b2lkKV9yZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXM6KHVpbnQ2NF90KWRpY3RhdGlv
bkNvbnRleHQ7CiAtIChWZWN0b3I8U3RyaW5nPilfZGljdGF0aW9uQWx0ZXJuYXRpdmVzOih1aW50
NjRfdClkaWN0YXRpb25Db250ZXh0OwotI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKIC0gKFdlYlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilfc2VsZWN0aW9uU2Vydmlj
ZUNvbnRyb2xsZXI7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggOWJhMjNiYzA0NjAwMTQ5ZjFjNzkzNmVhZDgwZjBiNWE3MTE1YmIyMi4uNjczMWI5
MDk4YzQwMWNjOWRjMTViMjJkZTY4NmE0M2Y4NzFlMDIyMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA1LTA1
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hl
Y2tzIG9mIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbTogUmVtb3ZlIFVTRShE
SUNUQVRJT05fQUxURVJOQVRJVkVTKS4KKwogMjAyMC0wNS0wNSAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdWxkIHNob3cgc2VsZWN0aW9uIGhpZ2hsaWdo
dCBkdXJpbmcgdGV4dCBpbnRlcmFjdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tCmluZGV4IGJjNzRjOGM1ODVkMmM1
NTc2MTUyNjBlZjFiNWQ5YTAwZTJjYTIxOGUuLjdhNmRiMTkyYzg0NTE3OGQzYTU5OWE2MzYwNmVm
YmU1MDdhOTkxYjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0tl
eWJvYXJkSW5wdXRUZXN0c0lPUy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lv
cy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0KQEAgLTY5NCw4ICs2OTQsNiBAQCBURVNUKEtleWJv
YXJkSW5wdXRUZXN0cywgSW5zZXJ0VGV4dFNpbXVsYXRpbmdLZXlib2FyZElucHV0KQogICAgIEVY
UEVDVF9OU19FUVVBTCgoQFtAImtleWRvd24iLCBAImJlZm9yZWlucHV0IiwgQCJpbnB1dCIsIEAi
a2V5dXAiLCBAImNoYW5nZSJdKSwgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlw
dDpAImZpcmVkRXZlbnRzIl0pOwogfQogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMp
Ci0KIFRFU1QoS2V5Ym9hcmRJbnB1dFRlc3RzLCBJbnNlcnREaWN0YXRpb25BbHRlcm5hdGl2ZXNT
aW11bGF0aW5nS2V5Ym9hcmRJbnB1dCkKIHsKICAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIG92
ZXJyaWRlU2hvdWxkU2ltdWxhdGVLZXlib2FyZElucHV0T25UZXh0SW5zZXJ0aW9uIHsgTlNDbGFz
c0Zyb21TdHJpbmcoQCJXS0NvbnRlbnRWaWV3IiksIEBzZWxlY3Rvcihfc2hvdWxkU2ltdWxhdGVL
ZXlib2FyZElucHV0T25UZXh0SW5zZXJ0aW9uKSwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHNob3Vs
ZFNpbXVsYXRlS2V5Ym9hcmRJbnB1dE9uVGV4dEluc2VydGlvbk92ZXJyaWRlKSB9OwpAQCAtNzEy
LDggKzcxMCw2IEBAIFRFU1QoS2V5Ym9hcmRJbnB1dFRlc3RzLCBJbnNlcnREaWN0YXRpb25BbHRl
cm5hdGl2ZXNTaW11bGF0aW5nS2V5Ym9hcmRJbnB1dCkKICAgICBFWFBFQ1RfTlNfRVFVQUwoKEBb
QCJrZXlkb3duIiwgQCJiZWZvcmVpbnB1dCIsIEAiaW5wdXQiLCBAImtleXVwIiwgQCJjaGFuZ2Ui
XSksIFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaXJlZEV2ZW50cyJd
KTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKIAogI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398580</attachid>
            <date>2020-05-05 20:35:18 -0700</date>
            <delta_ts>2020-05-06 09:01:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211460-20200505203517.patch</filename>
            <type>text/plain</type>
            <size>33908</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTZjY2FlYjU2OGYzYzlh
YjZmMWQ4NzQ0Mjg1OTRiOWVkYzEzYjBkMi4uOTM1ZjFmOTMwOTc2ZjU1OTI4Y2EyM2Q1YjlkYmVm
N2YzNjZlMmUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA1LTA1ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9m
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaDogUmVtb3ZlIFVTRShESUNUQVRJ
T05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgQWxzbyByZW1vdmUgdW5uZWNlc3NhcnkgdXNlIG9m
IFJldGFpblB0ciBhbmQgYWRkIGEgRklYTUUuIEFsc28gcmVtb3ZlICNwcmFnbWEgb25jZQorICAg
ICAgICBzaW5jZSB0aGlzIGhlYWRlciBpcyBvbmx5IGltcG9ydGVkIGZyb20gT2JqZWN0aXZlLUMr
KyBzb3VyY2VzLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4
dENvbnRyb2xsZXIubW06IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLmg6IERpdHRvLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvQWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBlZGl0aW5nL21h
Yy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDogRGl0dG8uCisgICAgICAgICogZWRpdGluZy9t
YWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tOiBEaXR0by4KKwogMjAyMC0wNS0wNSAgUGVu
ZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBXZWJLaXRUZXN0
UnVubmVyIHRvIHN1cHBvcnQgcnVubmluZyBtdWx0aXBsZSB2aWRlbyBmdWxsc2NyZWVuIGFuZCBQ
aWN0dXJlLWluLVBpY3R1cmUgdGVzdHMgc2ltdWx0YW5lb3VzbHkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNjhhYjJm
Y2EyNWU3ZjVhNmE1YWQ1NWYxNmUyMzNiMTEyNGVhZWNiNy4uNjgwYzJlNzk5NWZjZTYwZjhlMzE4
NjU0YTZjMjMzNmI3MGFjNjhlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMC0wNS0w
NSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgRWxpbWluYXRlIGNo
ZWNrcyBvZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykgaW4gQ29jb2Etc3BlY2lmaWMgY29k
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNDYw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oOiBSZW1vdmUgVVNFKERJQ1RBVElPTl9B
TFRFUk5BVElWRVMpLgorICAgICAgICBBbHNvIHJlbW92ZSB1bm5lY2Vzc2FyeSB1c2Ugb2YgUmV0
YWluUHRyLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbENvY29hOjpQYWdlQ2xpZW50SW1wbENv
Y29hKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsQ29jb2E6OnBhZ2VD
bG9zZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGxDb2NvYTo6ZGlj
dGF0aW9uQWx0ZXJuYXRpdmVzKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dl
YlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Omluc2Vy
dERpY3RhdGVkVGV4dEFzeW5jKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dl
YlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6dmFsaWRBdHRyaWJ1
dGVzRm9yTWFya2VkVGV4dCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
aW5zZXJ0VGV4dCk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6IERp
dHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDogRGl0dG8u
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbTogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06IERpdHRv
LgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDogRGl0dG8uCisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbTogRGl0dG8uCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmNwcDogRGl0dG8uCisKIDIwMjAtMDUtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciBfTFNTZXRBcHBsaWNhdGlvbkluZm9ybWF0aW9u
SXRlbSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggNDczZDFmZTEyNTE4OWZiOGE3
NjVhNTVhMDU3NTAzMTJiNTE0MmQxMy4uYTViMTIzYzk1MTZjMTVjYzk5MjAwZGMzMTk4MmNlNGJk
OTY4MGU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisy
MDIwLTA1LTA1ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGlt
aW5hdGUgY2hlY2tzIG9mIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVj
aWZpYyBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTE0NjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oOiBSZW1vdmVkIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKS4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQubW06CisgICAgICAgIChXZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQ6OmRpY3RhdGlvbkFsdGVybmF0aXZlcyk6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2Vi
SFRNTFZpZXcubW06IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbTogRGl0dG8u
IEFsc28gdXNlIG1vZGVybiBmb3IgbG9vcC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdEYXRh
Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlld0RhdGEubW06IERpdHRvLgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlld0ludGVybmFsLmg6IERpdHRvLgorCiAyMDIwLTA1LTA1ICBQ
ZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdlYktpdFRl
c3RSdW5uZXIgdG8gc3VwcG9ydCBydW5uaW5nIG11bHRpcGxlIHZpZGVvIGZ1bGxzY3JlZW4gYW5k
IFBpY3R1cmUtaW4tUGljdHVyZSB0ZXN0cyBzaW11bHRhbmVvdXNseQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0
Q29udHJvbGxlci5oCmluZGV4IDI5NzRjMzE5MmRjMzVkMzdjZDIzYzY3OGIxYjkyMWQ5ZjdiOTli
YjIuLmUxMzM5MDgxNWQwYTdlMzczMmRiYzcxMDBlN2IxNzBlNWI4MWQxNzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4
dENvbnRleHRDb250cm9sbGVyLmgKQEAgLTIzLDE0ICsyMywxMCBAQAogICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNwcmFnbWEgb25jZQotCi0jaWYgVVNFKERJQ1RB
VElPTl9BTFRFUk5BVElWRVMpCi0KICNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+CiAjaW1wb3J0IDx3
dGYvSGFzaE1hcC5oPgogCi1PQkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0aXZlczsKK0BjbGFzcyBO
U1RleHRBbHRlcm5hdGl2ZXM7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsNyArMzYs
NyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENv
bnRyb2xsZXIoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+QWx0ZXJuYXRpdmVUZXh0Q29udGV4dENv
bnRyb2xsZXIoKTsKIAotICAgIHVpbnQ2NF90IGFkZEFsdGVybmF0aXZlcyhjb25zdCBSZXRhaW5Q
dHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpOworICAgIHVpbnQ2NF90IGFkZEFsdGVybmF0aXZlcyhO
U1RleHRBbHRlcm5hdGl2ZXMgKik7CiAKICAgICB2b2lkIGNsZWFyKCk7CiAKQEAgLTU1LDUgKzUx
LDMgQEAgcHJpdmF0ZToKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8v
IFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIu
bW0KaW5kZXggMmM5NjI2YWEyNTExYjk1YjY3Nzc0NzYwYmFjYjdlMWM1NWMzYzYwYi4uZDlhMjY0
MGYyNTg3ZjZmOGIwODExOWEwNTk4ZjgwZWM1NmNlNmQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlci5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dENvbnRleHRD
b250cm9sbGVyLm1tCkBAIC0yNiw4ICsyNiw2IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBv
cnQgIkFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9sbGVyLmgiCiAKLSNpZiBVU0UoRElDVEFU
SU9OX0FMVEVSTkFUSVZFUykKLQogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgVVNF
KEFQUEtpdCkKQEAgLTQyLDkgKzQwLDEwIEBAIEFsdGVybmF0aXZlVGV4dENvbnRleHRDb250cm9s
bGVyOjpBbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29udHJvbGxlcigpID0gZGVmYXVsdDsKIAogQWx0
ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXI6On5BbHRlcm5hdGl2ZVRleHRDb250ZXh0Q29u
dHJvbGxlcigpID0gZGVmYXVsdDsKIAotdWludDY0X3QgQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENv
bnRyb2xsZXI6OmFkZEFsdGVybmF0aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRp
dmVzPiYgYWx0ZXJuYXRpdmVzKQordWludDY0X3QgQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRy
b2xsZXI6OmFkZEFsdGVybmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKmFsdGVybmF0aXZlcykK
IHsKLSAgICB1aW50NjRfdCBjb250ZXh0ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4oYWx0
ZXJuYXRpdmVzLmdldCgpKTsKKyAgICAvLyBGSVhNRTogVHVybmluZyBhIHBvaW50ZXIgaW50byBh
biBpbnRlZ2VyIGlzIGEgZmxhd2VkIGFsZ29yaXRobSB0byBnZW5lcmF0ZSBhIHVuaXF1ZSBJRC4g
Q2FuIGxlYWQgdG8gYWxpYXNpbmcgdG8gYSBuZXcgb2JqZWN0IHRoYXQgaGFwcGVucyB0byBvY2N1
cHkgdGhlIHNhbWUgbWVtb3J5IGFzIGFuIG9sZCBvbmUuCisgICAgdWludDY0X3QgY29udGV4dCA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KGFsdGVybmF0aXZlcyk7CiAgICAgaWYgKCFjb250
ZXh0KQogICAgICAgICByZXR1cm4gaW52YWxpZENvbnRleHQ7CiAgICAgaWYgKGFsdGVybmF0aXZl
c0ZvckNvbnRleHQoY29udGV4dCkpCkBAIC02OSw1ICs2OCwzIEBAIHZvaWQgQWx0ZXJuYXRpdmVU
ZXh0Q29udGV4dENvbnRyb2xsZXI6OmNsZWFyKCkKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9BbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xs
ZXIuaAppbmRleCA2MjI1ZmU3NDIzNjAxNWM5MTAxYmVkMmMwZDQ3NTlkMDJkZjcxY2MwLi43Nzg0
YTNjNDRmZGI5NWE3ZGY1M2I0NTAwMzE2MGIzZTMxOGU0NzM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL2NvY29hL0FsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVy
LmgKQEAgLTIzLDEwICsyMyw2IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI3ByYWdtYSBvbmNlCi0KLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykK
LQogI2ltcG9ydCAiQWx0ZXJuYXRpdmVUZXh0Q29udGV4dENvbnRyb2xsZXIuaCIKICNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KIApAQCAtNDIsNyArMzgsNyBAQCBjbGFzcyBBbHRlcm5hdGl2ZVRl
eHRVSUNvbnRyb2xsZXIgewogcHVibGljOgogICAgIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxl
cigpID0gZGVmYXVsdDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHVpbnQ2NF90IGFkZEFsdGVybmF0
aXZlcyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpOyAvLyBSZXR1cm5zIGEg
Y29udGV4dCBJRC4KKyAgICBXRUJDT1JFX0VYUE9SVCB1aW50NjRfdCBhZGRBbHRlcm5hdGl2ZXMo
TlNUZXh0QWx0ZXJuYXRpdmVzICopOyAvLyBSZXR1cm5zIGEgY29udGV4dCBJRC4KIAogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgY2xlYXIoKTsKIApAQCAtNjQsNSArNjAsMyBAQCBwcml2YXRlOgog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVVNFKERJQ1RBVElPTl9B
TFRFUk5BVElWRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0Fs
dGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCmluZGV4IGU1OGVhZWRlYzAwN2U0Yjk5
YzY4MjcxNDcyNWRlMWEyNWQ1MDk3N2YuLjc0MzQyNzlmOTk1ZjBlOTJlZTY2NWI1MzI5ZTdlODNi
MGY1ZWU5YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvQWx0ZXJu
YXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29j
b2EvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLm1tCkBAIC0yNiw4ICsyNiw2IEBACiAjaW1w
b3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlci5oIgog
Ci0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi0KICNpbXBvcnQgIkZsb2F0UmVjdC5o
IgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKQEAgLTM1LDEzICszMywxNSBA
QAogI2ltcG9ydCA8QXBwS2l0L05TU3BlbGxDaGVja2VyLmg+CiAjaW1wb3J0IDxBcHBLaXQvTlNU
ZXh0QWx0ZXJuYXRpdmVzLmg+CiAjaW1wb3J0IDxBcHBLaXQvTlNWaWV3Lmg+Ci0jZWxpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2lt
cG9ydCA8cGFsL3NwaS9pb3MvVUlLaXRTUEkuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXVpbnQ2NF90IEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6YWRkQWx0ZXJuYXRp
dmVzKGNvbnN0IFJldGFpblB0cjxOU1RleHRBbHRlcm5hdGl2ZXM+JiBhbHRlcm5hdGl2ZXMpCit1
aW50NjRfdCBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI6OmFkZEFsdGVybmF0aXZlcyhOU1Rl
eHRBbHRlcm5hdGl2ZXMgKmFsdGVybmF0aXZlcykKIHsKICAgICByZXR1cm4gbV9jb250ZXh0Q29u
dHJvbGxlci5hZGRBbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVzKTsKIH0KQEAgLTEwNiw1ICsxMDYs
MyBAQCB2b2lkIEFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcjo6cmVtb3ZlQWx0ZXJuYXRpdmVz
KHVpbnQ2NF90IGNvbnRleHQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlm
IC8vIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaAppbmRleCBmMDRjOTgyMWU2
ODVlNzlmNDBjZDVlNmMxM2QxMzhlNTQyZTBlMDJhLi44NDQzZGNlYjcwNzQwMGUxYzA1NTUyMjI4
OTdmMWEwNjU5YWNkN2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9U
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21h
Yy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaApAQCAtMjMsMTggKzIzLDEzIEBACiAgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI3ByYWdtYSBvbmNlCi0KICNpbmNs
dWRlICJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLU9CSkNfQ0xBU1MgTlNUZXh0QWx0
ZXJuYXRpdmVzOwotI2VuZGlmCitAY2xhc3MgTlNUZXh0QWx0ZXJuYXRpdmVzOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKIHN0cnVjdCBU
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UgewogICAgIFdFQkNPUkVfRVhQT1JUIFRleHRBbHRlcm5h
dGl2ZVdpdGhSYW5nZShOU1RleHRBbHRlcm5hdGl2ZXMqIGFuQWx0ZXJuYXRpdmVzLCBOU1Jhbmdl
IGFSYW5nZSk7CiAgICAgTlNSYW5nZSByYW5nZTsKQEAgLTQzLDggKzM4LDQgQEAgc3RydWN0IFRl
eHRBbHRlcm5hdGl2ZVdpdGhSYW5nZSB7CiAKIFdFQkNPUkVfRVhQT1JUIHZvaWQgY29sbGVjdERp
Y3RhdGlvblRleHRBbHRlcm5hdGl2ZXMoTlNBdHRyaWJ1dGVkU3RyaW5nKiwgVmVjdG9yPFRleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZT4mIGFsdGVybmF0aXZlcyk7CiAKLSNlbHNlCi1zdHJ1Y3QgVGV4
dEFsdGVybmF0aXZlV2l0aFJhbmdlIHsgfTsKLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRp
dmVXaXRoUmFuZ2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9UZXh0QWx0ZXJuYXRp
dmVXaXRoUmFuZ2UubW0KaW5kZXggNjUwOWRmNDQzYzA2NjNmNzhmOTA5NGVlOWE4ZGE2OTc5YTUz
NzE3Mi4uZDg2ZTRjZDljZjg5YTA4NWEwYjk0Yzk3ZjJiNWUyZGI2MjI2YzMxMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5n
ZS5tbQpAQCAtMjIsMTEgKzIyLDEwIEBACiAgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCiAgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KKwogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCIKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJO
QVRJVkVTKQotCiAjaWYgVVNFKEFQUEtJVCkKICNpbXBvcnQgPEFwcEtpdC9OU1RleHRBbHRlcm5h
dGl2ZXMuaD4KICNlbGlmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC01Nyw1ICs1NiwzIEBAIHZv
aWQgY29sbGVjdERpY3RhdGlvblRleHRBbHRlcm5hdGl2ZXMoTlNBdHRyaWJ1dGVkU3RyaW5nICpz
dHJpbmcsIFZlY3RvcjxUZXh0QWx0CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvUGFnZUNsaWVudEltcGxDb2NvYS5oCmluZGV4IGNiMGVjZDFkZTVi
MWViZDk0MmRkYmI5ZmVmNDQ1NDA0MTY3ODY1NDUuLmM2NzIyODM5ZjczOWE0NDY3YTJmMTRkOTE5
OGI0ZjBkNjZkZGI3YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1BhZ2VDbGllbnRJbXBsQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9QYWdlQ2xpZW50SW1wbENvY29hLmgKQEAgLTYyLDE3ICs2MiwxMyBAQCBwdWJsaWM6CiAgICAg
TlNTZXQgKnNlcmlhbGl6YWJsZUZpbGVXcmFwcGVyQ2xhc3NlcygpIGNvbnN0IGZpbmFsOwogI2Vu
ZGlmCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLSAgICB1aW50NjRfdCBhZGRE
aWN0YXRpb25BbHRlcm5hdGl2ZXMoY29uc3QgUmV0YWluUHRyPE5TVGV4dEFsdGVybmF0aXZlcz4m
KSBmaW5hbDsKKyAgICB1aW50NjRfdCBhZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMoTlNUZXh0QWx0
ZXJuYXRpdmVzICopIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlRGljdGF0aW9uQWx0ZXJuYXRpdmVz
KHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIGZpbmFsOwogICAgIFZlY3RvcjxTdHJpbmc+IGRp
Y3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBmaW5hbDsKLSNl
bmRpZgogCiBwcm90ZWN0ZWQ6CiAgICAgV2Vha09iakNQdHI8V0tXZWJWaWV3PiBtX3dlYlZpZXc7
Ci0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdl
YkNvcmU6OkFsdGVybmF0aXZlVGV4dFVJQ29udHJvbGxlcj4gbV9hbHRlcm5hdGl2ZVRleHRVSUNv
bnRyb2xsZXI7Ci0jZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1BhZ2VDbGllbnRJbXBsQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9QYWdlQ2xpZW50SW1wbENvY29hLm1tCmluZGV4IDQwOTQ5YzJmNDA5Y2Q0MmRj
YTYxNmMyOTY0OTg1MmZmMjIyZjJhZjUuLmQ5NmEwZWY0ZjAxN2I5YjUwNTJmOTM3MmE0OTUyMmIw
MzhiYTRlODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1BhZ2VD
bGllbnRJbXBsQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvUGFn
ZUNsaWVudEltcGxDb2NvYS5tbQpAQCAtMjksMTkgKzI5LDE0IEBACiAjaW1wb3J0ICJXS1dlYlZp
ZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIK
ICNpbXBvcnQgIldLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nLmgiCi0jaW1wb3J0IDx3dGYvVmVj
dG9yLmg+Ci0KLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICNpbXBvcnQgPFdlYkNv
cmUvQWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLmg+Ci0jZW5kaWYKKyNpbXBvcnQgPHd0Zi9W
ZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFBhZ2VDbGllbnRJbXBsQ29jb2E6OlBh
Z2VDbGllbnRJbXBsQ29jb2EoV0tXZWJWaWV3ICp3ZWJWaWV3KQogICAgIDogbV93ZWJWaWV3IHsg
d2ViVmlldyB9Ci0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgLCBtX2FsdGVy
bmF0aXZlVGV4dFVJQ29udHJvbGxlciB7IG1ha2VVbmlxdWU8QWx0ZXJuYXRpdmVUZXh0VUlDb250
cm9sbGVyPigpIH0KLSNlbmRpZgogewogfQogCkBAIC05OCwxNCArOTMsMTAgQEAgTlNTZXQgKlBh
Z2VDbGllbnRJbXBsQ29jb2E6OnNlcmlhbGl6YWJsZUZpbGVXcmFwcGVyQ2xhc3NlcygpIGNvbnN0
CiAKIHZvaWQgUGFnZUNsaWVudEltcGxDb2NvYTo6cGFnZUNsb3NlZCgpCiB7Ci0jaWYgVVNFKERJ
Q1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgbV9hbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIt
PmNsZWFyKCk7Ci0jZW5kaWYKIH0KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQot
Ci11aW50NjRfdCBQYWdlQ2xpZW50SW1wbENvY29hOjphZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMo
Y29uc3QgUmV0YWluUHRyPE5TVGV4dEFsdGVybmF0aXZlcz4mIGFsdGVybmF0aXZlcykKK3VpbnQ2
NF90IFBhZ2VDbGllbnRJbXBsQ29jb2E6OmFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhOU1RleHRB
bHRlcm5hdGl2ZXMgKmFsdGVybmF0aXZlcykKIHsKICAgICByZXR1cm4gbV9hbHRlcm5hdGl2ZVRl
eHRVSUNvbnRyb2xsZXItPmFkZEFsdGVybmF0aXZlcyhhbHRlcm5hdGl2ZXMpOwogfQpAQCAtMTE5
LDggKzExMCw1IEBAIFZlY3RvcjxTdHJpbmc+IFBhZ2VDbGllbnRJbXBsQ29jb2E6OmRpY3RhdGlv
bkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250CiB7CiAgICAgcmV0dXJuIG1fYWx0
ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hbHRlcm5hdGl2ZXNGb3JDb250ZXh0KGRpY3RhdGlv
bkNvbnRleHQpOwogfQotCi0jZW5kaWYKLQogICAgIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCBmYzNhZDQyYmU4YTA3
N2RmMjIzZWEzMDk5ZGY1ZTkyYTg2YzJiOGY1Li45Yzk0ZDEwNzFjNjE4Y2Y3N2I2Y2U4MzcxZmE5
OTdhMzU0NTRjNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQYWdlUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQYWdlUHJveHlDb2NvYS5tbQpAQCAtNDUsMTQgKzQ1LDExIEBACiAjaW1wb3J0IDxXZWJDb3Jl
L0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBs
ZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZWFyY2hQb3B1cE1lbnVDb2NvYS5oPgorI2lt
cG9ydCA8V2ViQ29yZS9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaD4KICNpbXBvcnQgPFdlYkNv
cmUvVmFsaWRhdGlvbkJ1YmJsZS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0
IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVT
KQotI2ltcG9ydCA8V2ViQ29yZS9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaD4KLSNlbmRpZgot
CiAjaWYgRU5BQkxFKE1FRElBX1VTQUdFKQogI2ltcG9ydCAiTWVkaWFVc2FnZU1hbmFnZXJDb2Nv
YS5oIgogI2VuZGlmCkBAIC0yNDcsMTMgKzI0NCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cGVy
Zm9ybURpY3Rpb25hcnlMb29rdXBPZkN1cnJlbnRTZWxlY3Rpb24oKQogCiB2b2lkIFdlYlBhZ2VQ
cm94eTo6aW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMoY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBF
ZGl0aW5nUmFuZ2UmIHJlcGxhY2VtZW50UmFuZ2UsIGNvbnN0IFZlY3RvcjxUZXh0QWx0ZXJuYXRp
dmVXaXRoUmFuZ2U+JiBkaWN0YXRpb25BbHRlcm5hdGl2ZXNXaXRoUmFuZ2UsIEluc2VydFRleHRP
cHRpb25zJiYgb3B0aW9ucykKIHsKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAg
ICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFZlY3Rv
cjxEaWN0YXRpb25BbHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzOwogICAgIGZvciAo
Y29uc3QgYXV0byYgYWx0ZXJuYXRpdmVXaXRoUmFuZ2UgOiBkaWN0YXRpb25BbHRlcm5hdGl2ZXNX
aXRoUmFuZ2UpIHsKLSAgICAgICAgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCA9IHBhZ2VDbGll
bnQoKS5hZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVXaXRoUmFuZ2UuYWx0ZXJu
YXRpdmVzKTsKKyAgICAgICAgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCA9IHBhZ2VDbGllbnQo
KS5hZGREaWN0YXRpb25BbHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVXaXRoUmFuZ2UuYWx0ZXJuYXRp
dmVzLmdldCgpKTsKICAgICAgICAgaWYgKGRpY3RhdGlvbkNvbnRleHQpCiAgICAgICAgICAgICBk
aWN0YXRpb25BbHRlcm5hdGl2ZXMuYXBwZW5kKERpY3RhdGlvbkFsdGVybmF0aXZlKGFsdGVybmF0
aXZlV2l0aFJhbmdlLnJhbmdlLmxvY2F0aW9uLCBhbHRlcm5hdGl2ZVdpdGhSYW5nZS5yYW5nZS5s
ZW5ndGgsIGRpY3RhdGlvbkNvbnRleHQpKTsKICAgICB9CkBAIC0yNjQsOSArMjYwLDYgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6Omluc2VydERpY3RhdGVkVGV4dEFzeW5jKGNvbnN0IFN0cmluZyYgdGV4
dCwgY29uc3QgRWRpdGluZ1JhbmcKICAgICB9CiAKICAgICBwcm9jZXNzKCkuc2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6SW5zZXJ0RGljdGF0ZWRUZXh0QXN5bmMgeyB0ZXh0LCByZXBsYWNlbWVudFJh
bmdlLCBkaWN0YXRpb25BbHRlcm5hdGl2ZXMsIFdURk1vdmUob3B0aW9ucykgfSwgbV93ZWJQYWdl
SUQpOwotI2Vsc2UKLSAgICBpbnNlcnRUZXh0QXN5bmModGV4dCwgcmVwbGFjZW1lbnRSYW5nZSwg
V1RGTW92ZShvcHRpb25zKSk7Ci0jZW5kaWYKIH0KICAgICAKICNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCAw
Y2UzMzc0NWVlYTAxMWNkOWYxOGJmYWE2MmVmZDEwYTgyMjMzNmY3Li45MDU4Y2FlZmE5Y2U4ZjUw
YTRhM2FkMzQ5YjgzNDAzZDdiODljZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtNDcwMywxMCArNDcwMywxMSBAQCBOU0FycmF5ICpXZWJW
aWV3SW1wbDo6dmFsaWRBdHRyaWJ1dGVzRm9yTWFya2VkVGV4dCgpCiB7CiAgICAgc3RhdGljIE5T
QXJyYXkgKnZhbGlkQXR0cmlidXRlczsKICAgICBpZiAoIXZhbGlkQXR0cmlidXRlcykgewotICAg
ICAgICB2YWxpZEF0dHJpYnV0ZXMgPSBAWyBOU1VuZGVybGluZVN0eWxlQXR0cmlidXRlTmFtZSwg
TlNVbmRlcmxpbmVDb2xvckF0dHJpYnV0ZU5hbWUsIE5TTWFya2VkQ2xhdXNlU2VnbWVudEF0dHJp
YnV0ZU5hbWUsCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCisgICAgICAgIHZhbGlk
QXR0cmlidXRlcyA9IEBbCisgICAgICAgICAgICBOU1VuZGVybGluZVN0eWxlQXR0cmlidXRlTmFt
ZSwKKyAgICAgICAgICAgIE5TVW5kZXJsaW5lQ29sb3JBdHRyaWJ1dGVOYW1lLAorICAgICAgICAg
ICAgTlNNYXJrZWRDbGF1c2VTZWdtZW50QXR0cmlidXRlTmFtZSwKICAgICAgICAgICAgIE5TVGV4
dEFsdGVybmF0aXZlc0F0dHJpYnV0ZU5hbWUsCi0jZW5kaWYKICNpZiBVU0UoSU5TRVJUSU9OX1VO
RE9fR1JPVVBJTkcpCiAgICAgICAgICAgICBOU1RleHRJbnNlcnRpb25VbmRvYWJsZUF0dHJpYnV0
ZU5hbWUsCiAjZW5kaWYKQEAgLTQ4NDUsOSArNDg0Niw3IEBAIHZvaWQgV2ViVmlld0ltcGw6Omlu
c2VydFRleHQoaWQgc3RyaW5nLCBOU1JhbmdlIHJlcGxhY2VtZW50UmFuZ2UpCiAKICAgICBib29s
IHJlZ2lzdGVyVW5kb0dyb3VwID0gZmFsc2U7CiAgICAgaWYgKGlzQXR0cmlidXRlZFN0cmluZykg
ewotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgICAgICBXZWJDb3JlOjpjb2xs
ZWN0RGljdGF0aW9uVGV4dEFsdGVybmF0aXZlcyhzdHJpbmcsIGRpY3RhdGlvbkFsdGVybmF0aXZl
cyk7Ci0jZW5kaWYKICNpZiBVU0UoSU5TRVJUSU9OX1VORE9fR1JPVVBJTkcpCiAgICAgICAgIHJl
Z2lzdGVyVW5kb0dyb3VwID0gV2ViQ29yZTo6c2hvdWxkUmVnaXN0ZXJJbnNlcnRpb25VbmRvR3Jv
dXAoc3RyaW5nKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4
IDhhOWQ5YzZiY2UwMzc3YjhiN2NjN2JlMGQ2MGQ0N2Q4NzNjNmZkMGMuLmFhMDZlMDQyNWM5MmZi
MzQwY2ZkNTU5NGVkNjU2NDU3MGUyZGVlNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKQEAgLTM1NSw3ICszNTUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHRha2VG
b2N1cyhXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbikgeyB9CiAKICNpZiBVU0UoRElDVEFUSU9OX0FM
VEVSTkFUSVZFUykKLSAgICB2aXJ0dWFsIHVpbnQ2NF90IGFkZERpY3RhdGlvbkFsdGVybmF0aXZl
cyhjb25zdCBSZXRhaW5QdHI8TlNUZXh0QWx0ZXJuYXRpdmVzPiYpID0gMDsKKyAgICB2aXJ0dWFs
IHVpbnQ2NF90IGFkZERpY3RhdGlvbkFsdGVybmF0aXZlcyhOU1RleHRBbHRlcm5hdGl2ZXMgKikg
PSAwOwogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0
X3QgZGljdGF0aW9uQ29udGV4dCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzaG93RGljdGF0aW9u
QWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZEaWN0
YXRlZFRleHQsIHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpID0gMDsKICAgICB2aXJ0dWFsIFZl
Y3RvcjxTdHJpbmc+IGRpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpb25Db250
ZXh0KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oCmluZGV4IGYxNDUzZjU3ZmFiYWE1OWNjZWI0YWU1MWRmMWZhYWY1MzFiOWIwYjguLmFl
NzU4ZDRjZmI4Y2JlNTk2N2U3ZDBiM2I1MTFlNTM5OWQxMzEwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0yNjAsOSArMjYwLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGNhbmNlbFBvaW50ZXJzRm9yR2VzdHVyZVJlY29nbml6ZXIo
VUlHZXN0dXJlUmVjb2duaXplciopIG92ZXJyaWRlOwogICAgIFdURjo6T3B0aW9uYWw8dW5zaWdu
ZWQ+IGFjdGl2ZVRvdWNoSWRlbnRpZmllckZvckdlc3R1cmVSZWNvZ25pemVyKFVJR2VzdHVyZVJl
Y29nbml6ZXIqKSBvdmVycmlkZTsKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQog
ICAgIHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiwgdWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJpZGU7Ci0jZW5kaWYKIAogICAg
IFdlYWtPYmpDUHRyPFdLQ29udGVudFZpZXc+IG1fY29udGVudFZpZXc7CiAgICAgUmV0YWluUHRy
PFdLRWRpdG9yVW5kb1RhcmdldD4gbV91bmRvVGFyZ2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDY2YjM5OGFlN2I2MTY2ZmQ2
ZWNhMzcxYWIxY2E0MWUyMjZmNTBhYWUuLjMzZmI4ZDk2NTUzMmJhZWRjZjMxMzNjMjAyNGE3OWM3
ZDc1ODI2YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0KQEAgLTk0OSwxNSArOTQ5LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6Omhh
bmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dChjb25zdCBXZWJBdXRvY29ycmVjdGlvbkNvbnRleHQm
CiAgICAgW21fY29udGVudFZpZXcgX2hhbmRsZUF1dG9jb3JyZWN0aW9uQ29udGV4dDpjb250ZXh0
XTsKIH0KIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiB2b2lkIFBhZ2VDbGll
bnRJbXBsOjpzaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmLCB1aW50NjRfdCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi0jZW5kaWYKLQog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KaW5kZXggOTYzMDJlNmIwM2NiNDBjODJlMmJhYWVkNWJkMTA3ZmM0NGNkZjJl
Mi4uMmQ1ZTc0NDlhODkzNDA2OWVmN2YyYzY2YWVmMWNjNzBlN2VjMDgzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCkBAIC0xMTMsNiArMTEzLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGJhci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9TaGFyZURhdGEuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJh
bmdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RleHRJbmRpY2F0b3IuaD4KICNpbXBvcnQgPFdlYkNv
cmUvVG91Y2hBY3Rpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvVVRJVXRpbGl0aWVzLmg+CkBAIC0x
NjQsMTAgKzE2NSw2IEBACiAjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uQWRkaXRpb25zLm1tPgogI2VuZGlmCiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVS
TkFUSVZFUykKLSNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg+Ci0j
ZW5kaWYKLQogI2ltcG9ydCA8cGFsL2lvcy9NYW5hZ2VkQ29uZmlndXJhdGlvblNvZnRMaW5rLmg+
CiAKICNpZiBIQVZFKExJTktfUFJFVklFVykgJiYgVVNFKFVJQ09OVEVYVE1FTlUpCkBAIC00Nzgz
LDggKzQ3ODAsNiBAQCAtICh2b2lkKWluc2VydFRleHQ6KE5TU3RyaW5nICopYVN0cmluZ1ZhbHVl
CiAgICAgX3BhZ2UtPmluc2VydFRleHRBc3luYyhhU3RyaW5nVmFsdWUsIFdlYktpdDo6RWRpdGlu
Z1JhbmdlKCksIFdURk1vdmUob3B0aW9ucykpOwogfQogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRF
Uk5BVElWRVMpCi0KIC0gKHZvaWQpaW5zZXJ0VGV4dDooTlNTdHJpbmcgKilhU3RyaW5nVmFsdWUg
YWx0ZXJuYXRpdmVzOihOU0FycmF5PE5TU3RyaW5nICo+ICopYWx0ZXJuYXRpdmVzIHN0eWxlOihV
SVRleHRBbHRlcm5hdGl2ZVN0eWxlKXN0eWxlCiB7CiAgICAgaWYgKCFhbHRlcm5hdGl2ZXMuY291
bnQpCkBAIC00ODAwLDggKzQ3OTUsNiBAQCAtICh2b2lkKWluc2VydFRleHQ6KE5TU3RyaW5nICop
YVN0cmluZ1ZhbHVlIGFsdGVybmF0aXZlczooTlNBcnJheTxOU1N0cmluZyAqPiAqKQogICAgIH0K
IH0KIAotI2VuZGlmCi0KIC0gKEJPT0wpaGFzVGV4dAogewogICAgIGF1dG8mIGVkaXRvclN0YXRl
ID0gX3BhZ2UtPmVkaXRvclN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21h
Yy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IGY5OTlkYmE4YTMzNTk5YjFlZDFjOTIzMTM3MThh
MjM4Njc5ZDQzNzYuLjZhZDA5N2IxNzQyNjllYzBhMzI1YmE2OTI2YTQyZGMwZmYzNjhjYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCkBA
IC0xODAsOSArMTgwLDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgaW50cmluc2ljQ29udGVudFNp
emVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgaW50cmluc2ljQ29udGVudFNpemUp
IG92ZXJyaWRlOwogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCiAgICAgdm9pZCBz
aG93RGljdGF0aW9uQWx0ZXJuYXRpdmVVSShjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5k
aW5nQm94T2ZEaWN0YXRlZFRleHQsIHVpbnQ2NF90IGRpY3RhdGlvbkNvbnRleHQpIG92ZXJyaWRl
OwotI2VuZGlmCiAKICAgICB2b2lkIHNldEVkaXRhYmxlRWxlbWVudElzRm9jdXNlZChib29sKSBv
dmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsTWFjLm1tCmluZGV4IDUwYmIyZDMyYWU1NDY2MTNlNjQwY2EzNjlkYjYxYWY0MTIyOTFmNmIu
LjA4OGI3NWJlOTNhMDVhYTI0NzQ5MzBmNmUxZjJhYzBjNDE3NzRhM2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTY4Miw4ICs2
ODIsNiBAQCBib29sIFBhZ2VDbGllbnRJbXBsOjpleGVjdXRlU2F2ZWRDb21tYW5kQnlTZWxlY3Rv
cihjb25zdCBTdHJpbmcmIHNlbGVjdG9yU3RyaW5nKQogICAgIHJldHVybiBtX2ltcGwtPmV4ZWN1
dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKE5TU2VsZWN0b3JGcm9tU3RyaW5nKHNlbGVjdG9yU3Ry
aW5nKSk7CiB9CiAKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKLQogdm9pZCBQYWdl
Q2xpZW50SW1wbDo6c2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRpb25Db250
ZXh0KQogewogICAgIGlmICghaXNWaWV3VmlzaWJsZSgpIHx8ICFpc1ZpZXdJbldpbmRvdygpKQpA
QCAtNjkzLDggKzY5MSw2IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnNob3dEaWN0YXRpb25BbHRl
cm5hdGl2ZVVJKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgYm91bmRpCiAgICAgfSk7CiB9CiAK
LSNlbmRpZgotCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRFZGl0YWJsZUVsZW1lbnRJc0ZvY3Vz
ZWQoYm9vbCBlZGl0YWJsZUVsZW1lbnRJc0ZvY3VzZWQpCiB7CiAgICAgbV9pbXBsLT5zZXRFZGl0
YWJsZUVsZW1lbnRJc0ZvY3VzZWQoZWRpdGFibGVFbGVtZW50SXNGb2N1c2VkKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9tYWMvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcAppbmRleCA5YjZhYTlmM2RmMWZm
MzRjOTczZTkxM2Q1NTBmZDhjNTQ4NDIxMzEwLi4zOWJlYjMxYzFmYTJjOTI2YmUxNjNhZjM3Y2Fh
YWEyOWIwYzM2ZjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvbWFjL1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQuY3BwCkBAIC02OSw3ICs2OSw2IEBAIHZvaWQgV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Ojpy
ZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKEF1dG9jb3JyZWN0aW9uUmVzcG9uCiB9CiAjZW5k
aWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogdm9pZCBXZWJBbHRlcm5hdGl2
ZVRleHRDbGllbnQ6OnJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRp
b25Db250ZXh0KQogewogICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpS
ZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXMoZGljdGF0aW9uQ29udGV4dCkpOwpAQCAtODYsNSAr
ODUsNSBAQCBWZWN0b3I8U3RyaW5nPiBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQ6OmRpY3RhdGlv
bkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRpbwogICAgIG1fcGFnZS0+c2VuZFN5bmMoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6RGljdGF0aW9uQWx0ZXJuYXRpdmVzKGRpY3RhdGlvbkNvbnRl
eHQpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWN0YXRpb25BbHRlcm5hdGl2ZXM6OlJlcGx5
KHJlc3VsdCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKKwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQuaAppbmRleCBlNDkxMmZmMTFlZGNmOTgzY2M2OGM1Y2Y2MTg5
ZDY3MjYzMDkzMzFiLi5hOTcwYWE2MGRjNzM4ZTcxMTQ5NGY1ZTAwZGRjY2Q4NjgxNDNhZTEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRl
cm5hdGl2ZVRleHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuaApAQCAtMjMsOCArMjMsNiBAQAogICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCi0jcHJhZ21hIG9uY2UKLQogI2ltcG9ydCAiQ29ycmVjdGlvblBh
bmVsLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0FsdGVybmF0aXZlVGV4dENsaWVudC5oPgogCkBAIC0z
Myw3ICszMSw3IEBACiBjbGFzcyBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQgOiBwdWJsaWMgV2Vi
Q29yZTo6QWx0ZXJuYXRpdmVUZXh0Q2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RDsKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQoV2ViVmll
dyopOworICAgIGV4cGxpY2l0IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudChXZWJWaWV3ICopOwog
ICAgIHZpcnR1YWwgfldlYkFsdGVybmF0aXZlVGV4dENsaWVudCgpOwogI2lmIFVTRShBVVRPQ09S
UkVDVElPTl9QQU5FTCkKICAgICB2b2lkIHNob3dDb3JyZWN0aW9uQWx0ZXJuYXRpdmUoV2ViQ29y
ZTo6QWx0ZXJuYXRpdmVUZXh0VHlwZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGlu
Z0JveE9mUmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcsIGNvbnN0
IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhbHRlcm5h
dGl2ZVJlcGxhY2VtZW50U3RyaW5ncykgb3ZlcnJpZGU7CkBAIC00MSwyMCArMzksMTIgQEAgcHVi
bGljOgogICAgIFN0cmluZyBkaXNtaXNzQWx0ZXJuYXRpdmVTb29uKFdlYkNvcmU6OlJlYXNvbkZv
ckRpc21pc3NpbmdBbHRlcm5hdGl2ZVRleHQpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVjb3JkQXV0
b2NvcnJlY3Rpb25SZXNwb25zZShXZWJDb3JlOjpBdXRvY29ycmVjdGlvblJlc3BvbnNlLCBjb25z
dCBTdHJpbmcmIHJlcGxhY2VkU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50U3RyaW5n
KSBvdmVycmlkZTsKICNlbmRpZgotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAg
IHZvaWQgc2hvd0RpY3RhdGlvbkFsdGVybmF0aXZlVUkoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0
JiBib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0LCB1aW50NjRfdCBkaWN0YXRpb25Db250ZXh0KSBv
dmVycmlkZTsKICAgICB2b2lkIHJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBk
aWN0YXRpb25Db250ZXh0KSBvdmVycmlkZTsKICAgICBWZWN0b3I8U3RyaW5nPiBkaWN0YXRpb25B
bHRlcm5hdGl2ZXModWludDY0X3QgZGljdGF0aW9uQ29udGV4dCkgb3ZlcnJpZGU7Ci0jZW5kaWYK
IAogcHJpdmF0ZToKLSNpZiAhKFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkgfHwgVVNFKERJQ1RB
VElPTl9BTFRFUk5BVElWRVMpKQotICAgIElHTk9SRV9XQVJOSU5HU19CRUdJTigidW51c2VkLXBy
aXZhdGUtZmllbGQiKQotI2VuZGlmCi0gICAgV2ViVmlldyogbV93ZWJWaWV3OwotI2lmICEoVVNF
KEFVVE9DT1JSRUNUSU9OX1BBTkVMKSB8fCBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykpCi0g
ICAgSUdOT1JFX1dBUk5JTkdTX0VORAotI2VuZGlmCisgICAgV2ViVmlldyAqbV93ZWJWaWV3Owog
CiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAgIENvcnJlY3Rpb25QYW5lbCBtX2Nv
cnJlY3Rpb25QYW5lbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkFsdGVybmF0aXZlVGV4dENsaWVudC5tbQppbmRleCA0
Y2I1ZTU0ODkzNTcyODU5NzJkNDI3NTY4MDg5OTY1MTU2NWQ2YWVlLi5mNjg2ZjZjYWRlNzBiYTQ1
ZWYwYWZhNTlmZmRiMTE5N2ViYzZhNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQubW0KKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50Lm1tCkBAIC03OCw3ICs3OCw2IEBAIHZvaWQgV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Ojpy
ZWNvcmRBdXRvY29ycmVjdGlvblJlc3BvbnNlKEF1dG9jb3JyZWN0aW9uUmVzcG9uCiB9CiAjZW5k
aWYKIAotI2lmIFVTRShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogdm9pZCBXZWJBbHRlcm5hdGl2
ZVRleHRDbGllbnQ6OnJlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZlcyh1aW50NjRfdCBkaWN0YXRp
b25Db250ZXh0KQogewogICAgIFttX3dlYlZpZXcgX3JlbW92ZURpY3RhdGlvbkFsdGVybmF0aXZl
czpkaWN0YXRpb25Db250ZXh0XTsKQEAgLTkzLDQgKzkyLDMgQEAgVmVjdG9yPFN0cmluZz4gV2Vi
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50OjpkaWN0YXRpb25BbHRlcm5hdGl2ZXModWludDY0X3QgZGlj
dGF0aW8KIHsKICAgICByZXR1cm4gW21fd2ViVmlldyBfZGljdGF0aW9uQWx0ZXJuYXRpdmVzOmRp
Y3RhdGlvbkNvbnRleHRdOwogfQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCA4MDFkZmNkNTljOWJmZjUwMmE5N2I1ODM1ZGY1
Y2VhZWU5NGFmMmQ5Li42MzhlZTAxYWI1ODJmNTcyYTZmZjIzNjI1YTUxOGUwOWU4MjU0ODcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAg
LTYyNTUsOSArNjI1NSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAog
ICAgICAgICBOU1VuZGVybGluZUNvbG9yQXR0cmlidXRlTmFtZSwKICAgICAgICAgTlNNYXJrZWRD
bGF1c2VTZWdtZW50QXR0cmlidXRlTmFtZSwKICAgICAgICAgTlNUZXh0SW5wdXRSZXBsYWNlbWVu
dFJhbmdlQXR0cmlidXRlTmFtZSwKLSNpZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAg
ICAgICAgTlNUZXh0QWx0ZXJuYXRpdmVzQXR0cmlidXRlTmFtZSwKLSNlbmRpZgogI2lmIFVTRShJ
TlNFUlRJT05fVU5ET19HUk9VUElORykKICAgICAgICAgTlNUZXh0SW5zZXJ0aW9uVW5kb2FibGVB
dHRyaWJ1dGVOYW1lLAogI2VuZGlmCkBAIC02NjM0LDEyICs2NjMyLDEwIEBAIEFMTE9XX0RFUFJF
Q0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25B
bHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVMb2NhdGlvbnM7CiAjaWYgUExBVEZPUk0o
TUFDKQogICAgIGlmIChpc0F0dHJpYnV0ZWRTdHJpbmcpIHsKLSNpZiBVU0UoRElDVEFUSU9OX0FM
VEVSTkFUSVZFUykKICAgICAgICAgVmVjdG9yPFdlYkNvcmU6OlRleHRBbHRlcm5hdGl2ZVdpdGhS
YW5nZT4gdGV4dEFsdGVybmF0aXZlczsKICAgICAgICAgY29sbGVjdERpY3RhdGlvblRleHRBbHRl
cm5hdGl2ZXMoc3RyaW5nLCB0ZXh0QWx0ZXJuYXRpdmVzKTsKICAgICAgICAgaWYgKCF0ZXh0QWx0
ZXJuYXRpdmVzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIFtbc2VsZiBfd2ViVmlld10gX2dldFdl
YkNvcmVEaWN0YXRpb25BbHRlcm5hdGl2ZXM6ZGljdGF0aW9uQWx0ZXJuYXRpdmVMb2NhdGlvbnMg
ZnJvbVRleHRBbHRlcm5hdGl2ZXM6dGV4dEFsdGVybmF0aXZlc107Ci0jZW5kaWYKICNpZiBVU0Uo
SU5TRVJUSU9OX1VORE9fR1JPVVBJTkcpCiAgICAgICAgIHJlZ2lzdGVyVW5kb0dyb3VwID0gV2Vi
Q29yZTo6c2hvdWxkUmVnaXN0ZXJJbnNlcnRpb25VbmRvR3JvdXAoc3RyaW5nKTsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGZlMTFmZGU5
NDA3NjZjMDdiZmFkNWI1YjI4MjkwNGVlZmVkYjUxNWQuLjgzZDA1MjVlYzQzZWRiM2ZkYTkzNjE4
YzgzMDFhM2IwZThiMmM2MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KQEAgLTk0MDQsMTMgKzk0MDQsMTAgQEAgLSAodm9pZCloYW5kbGVBY2NlcHRlZEFs
dGVybmF0aXZlVGV4dDooTlNTdHJpbmcqKXRleHQKIH0KICNlbmRpZgogCi0jaWYgVVNFKERJQ1RB
VElPTl9BTFRFUk5BVElWRVMpCiAtICh2b2lkKV9nZXRXZWJDb3JlRGljdGF0aW9uQWx0ZXJuYXRp
dmVzOihWZWN0b3I8V2ViQ29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+JilhbHRlcm5hdGl2ZXMg
ZnJvbVRleHRBbHRlcm5hdGl2ZXM6KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpUZXh0QWx0ZXJuYXRp
dmVXaXRoUmFuZ2U+JilhbHRlcm5hdGl2ZXNXaXRoUmFuZ2UKIHsKLSAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGFsdGVybmF0aXZlc1dpdGhSYW5nZS5zaXplKCk7ICsraSkgewotICAgICAgICBj
b25zdCBXZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UmIGFsdGVybmF0aXZlV2l0aFJh
bmdlID0gYWx0ZXJuYXRpdmVzV2l0aFJhbmdlW2ldOwotICAgICAgICB1aW50NjRfdCBkaWN0YXRp
b25Db250ZXh0ID0gX3ByaXZhdGUtPm1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hZGRB
bHRlcm5hdGl2ZXMoYWx0ZXJuYXRpdmVXaXRoUmFuZ2UuYWx0ZXJuYXRpdmVzKTsKLSAgICAgICAg
aWYgKGRpY3RhdGlvbkNvbnRleHQpCisgICAgZm9yIChhdXRvJiBhbHRlcm5hdGl2ZVdpdGhSYW5n
ZSA6IGFsdGVybmF0aXZlc1dpdGhSYW5nZSkgeworICAgICAgICBpZiAoYXV0byBkaWN0YXRpb25D
b250ZXh0ID0gX3ByaXZhdGUtPm1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyLT5hZGRBbHRl
cm5hdGl2ZXMoYWx0ZXJuYXRpdmVXaXRoUmFuZ2UuYWx0ZXJuYXRpdmVzLmdldCgpKSkKICAgICAg
ICAgICAgIGFsdGVybmF0aXZlcy5hcHBlbmQoV2ViQ29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmUo
YWx0ZXJuYXRpdmVXaXRoUmFuZ2UucmFuZ2UubG9jYXRpb24sIGFsdGVybmF0aXZlV2l0aFJhbmdl
LnJhbmdlLmxlbmd0aCwgZGljdGF0aW9uQ29udGV4dCkpOwogICAgIH0KIH0KQEAgLTk0MzMsNyAr
OTQzMCw2IEBAIC0gKFZlY3RvcjxTdHJpbmc+KV9kaWN0YXRpb25BbHRlcm5hdGl2ZXM6KHVpbnQ2
NF90KWRpY3RhdGlvbkNvbnRleHQKIHsKICAgICByZXR1cm4gX3ByaXZhdGUtPm1fYWx0ZXJuYXRp
dmVUZXh0VUlDb250cm9sbGVyLT5hbHRlcm5hdGl2ZXNGb3JDb250ZXh0KGRpY3RhdGlvbkNvbnRl
eHQpOwogfQotI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKIC0gKFdlYlNl
bGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilfc2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEuaAppbmRleCA2ODI2
MDA0NTBiMjM1ZTZjNGQ5NTkzZGM3Yjk1NmFkZjBmOTY4NmNmLi5hZThhZGQ0MDI0OTEzY2M2ZTMz
NTI3MmM0MDc2N2I3YWQxMGJiZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXdEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3RGF0YS5oCkBAIC0zNTgsOSArMzU4LDcgQEAgcHJpdmF0ZToKICAgICBXZWJG
aXhlZFBvc2l0aW9uQ29udGVudCogX2ZpeGVkUG9zaXRpb25Db250ZW50OwogI2VuZGlmCiAKLSNp
ZiBVU0UoRElDVEFUSU9OX0FMVEVSTkFUSVZFUykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6QWx0ZXJuYXRpdmVUZXh0VUlDb250cm9sbGVyPiBtX2FsdGVybmF0aXZlVGV4dFVJQ29udHJv
bGxlcjsKLSNlbmRpZgogCiAgICAgUmV0YWluUHRyPE5TRGF0YT4gc291cmNlQXBwbGljYXRpb25B
dWRpdERhdGE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlld0RhdGEubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdE
YXRhLm1tCmluZGV4IGMzZmNjMzBkNjE2NTM2YmYyZjRkYWQ0MzdiOGZmZjlhNTE4YjNiYjMuLjMy
M2M4OWQ4ODY4Y2RjZDA0N2Y5M2U0MDRhZWJlOGM5YTFhNDUzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0KKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3RGF0YS5tbQpAQCAtMjA2LDkgKzIwNiw3IEBA
IC0gKGlkKWluaXQKIAogICAgIHBsdWdpbkRhdGFiYXNlQ2xpZW50Q291bnQrKzsKIAotI2lmIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKQogICAgIG1fYWx0ZXJuYXRpdmVUZXh0VUlDb250cm9s
bGVyID0gbWFrZVVuaXF1ZTxXZWJDb3JlOjpBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXI+KCk7
Ci0jZW5kaWYKIAogICAgIHJldHVybiBzZWxmOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5kZXggNTI3NWYzMjg3ZTViMGExYjFm
MzZmMmI1ZTNhZTk0ZTM1N2Q2YjFmMC4uMWYzYjg0ZjhjZWE2YzZhYjNmYWRjMTI0ODJkNGE1NTIz
ZGVkMTY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJW
aWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXdJbnRlcm5hbC5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJXZWJUeXBlc0ludGVybmFs
LmgiCiAKICNpZmRlZiBfX2NwbHVzcGx1cworCiAjaW1wb3J0IDxXZWJDb3JlL0FsdGVybmF0aXZl
VGV4dENsaWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9GaW5kT3B0aW9ucy5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GbG9hdFJlY3QuaD4KQEAgLTgwLDYgKzgxLDcgQEAgY2xhc3MgV2ViU2VsZWN0aW9u
U2VydmljZUNvbnRyb2xsZXI7CiAjZW5kaWYKIAogQGNsYXNzIE5TQ2FuZGlkYXRlTGlzdFRvdWNo
QmFySXRlbTsKK0BjbGFzcyBOU1RleHRBbHRlcm5hdGl2ZXM7CiBAY2xhc3MgV2ViQmFzZVBsdWdp
blBhY2thZ2U7CiBAY2xhc3MgV2ViRG93bmxvYWQ7CiBAY2xhc3MgV2ViSW1tZWRpYXRlQWN0aW9u
Q29udHJvbGxlcjsKQEAgLTkyLDEwICs5NCw2IEBAIFdlYkNvcmU6OkZpbmRPcHRpb25zIGNvcmVP
cHRpb25zKFdlYkZpbmRPcHRpb25zIG9wdGlvbnMpOwogT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91
dE1pbGVzdG9uZT4gY29yZUxheW91dE1pbGVzdG9uZXMoV2ViTGF5b3V0TWlsZXN0b25lcyk7CiBX
ZWJMYXlvdXRNaWxlc3RvbmVzIGtpdExheW91dE1pbGVzdG9uZXMoT3B0aW9uU2V0PFdlYkNvcmU6
OkxheW91dE1pbGVzdG9uZT4pOwogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElWRVMpCi1P
QkpDX0NMQVNTIE5TVGV4dEFsdGVybmF0aXZlczsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKERBVEFf
SU5URVJBQ1RJT04pICYmIGRlZmluZWQoX19jcGx1c3BsdXMpCiBAaW50ZXJmYWNlIFdlYlVJVGV4
dEluZGljYXRvckRhdGEgKFdlYlVJVGV4dEluZGljYXRvckludGVybmFsKQogLSAoV2ViVUlUZXh0
SW5kaWNhdG9yRGF0YSAqKWluaXRXaXRoSW1hZ2U6KENHSW1hZ2VSZWYpaW1hZ2UgdGV4dEluZGlj
YXRvckRhdGE6KGNvbnN0IFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhJilpbmRpY2F0b3JEYXRh
IHNjYWxlOihDR0Zsb2F0KXNjYWxlOwpAQCAtMTM1LDEyICsxMzMsMTAgQEAgT0JKQ19DTEFTUyBO
U1RleHRBbHRlcm5hdGl2ZXM7CiAtICh2b2lkKWhhbmRsZUFjY2VwdGVkQWx0ZXJuYXRpdmVUZXh0
OihOU1N0cmluZyopdGV4dDsKICNlbmRpZgogCi0jaWYgVVNFKERJQ1RBVElPTl9BTFRFUk5BVElW
RVMpCiAtICh2b2lkKV9nZXRXZWJDb3JlRGljdGF0aW9uQWx0ZXJuYXRpdmVzOihWZWN0b3I8V2Vi
Q29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+JilhbHRlcm5hdGl2ZXMgZnJvbVRleHRBbHRlcm5h
dGl2ZXM6KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2U+Jilh
bHRlcm5hdGl2ZXNXaXRoUmFuZ2U7CiAtICh2b2lkKV9zaG93RGljdGF0aW9uQWx0ZXJuYXRpdmVV
STooY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jilib3VuZGluZ0JveE9mRGljdGF0ZWRUZXh0IGZv
ckRpY3RhdGlvbkNvbnRleHQ6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQ7CiAtICh2b2lkKV9y
ZW1vdmVEaWN0YXRpb25BbHRlcm5hdGl2ZXM6KHVpbnQ2NF90KWRpY3RhdGlvbkNvbnRleHQ7CiAt
IChWZWN0b3I8U3RyaW5nPilfZGljdGF0aW9uQWx0ZXJuYXRpdmVzOih1aW50NjRfdClkaWN0YXRp
b25Db250ZXh0OwotI2VuZGlmCiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKIC0gKFdl
YlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilfc2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXI7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGZj
ZGM5NGVhOTc3MzFiYzcyOTlhNWU1ZDVlZTdlNzQ5YzIzNGFjNC4uNjAyNWI1MTg0MmY4ZTFhNWNh
ZWIyY2VlODBjOWQ2MGM3NDIzNGY1OSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA1LTA1ICBEYXJpbiBBZGxl
ciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgY2hlY2tzIG9mIFVTRShE
SUNUQVRJT05fQUxURVJOQVRJVkVTKSBpbiBDb2NvYS1zcGVjaWZpYyBjb2RlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE0NjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0c0lPUy5tbTogUmVtb3ZlIFVTRShESUNUQVRJT05fQUxU
RVJOQVRJVkVTKS4KKwogMjAyMC0wNS0wNSAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBEb24ndCB1c2UgdGhlIERlYnVnSGVhcCBmb3IgY2F0YWx5c3QKZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0c0lP
Uy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0tleWJvYXJkSW5wdXRUZXN0c0lP
Uy5tbQppbmRleCBiYzc0YzhjNTg1ZDJjNTU3NjE1MjYwZWYxYjVkOWEwMGUyY2EyMThlLi43YTZk
YjE5MmM4NDUxNzhkM2E1OTlhNjM2MDZlZmJlNTA3YTk5MWIwIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9LZXlib2FyZElucHV0VGVzdHNJT1MubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9pb3MvS2V5Ym9hcmRJbnB1dFRlc3RzSU9TLm1tCkBAIC02
OTQsOCArNjk0LDYgQEAgVEVTVChLZXlib2FyZElucHV0VGVzdHMsIEluc2VydFRleHRTaW11bGF0
aW5nS2V5Ym9hcmRJbnB1dCkKICAgICBFWFBFQ1RfTlNfRVFVQUwoKEBbQCJrZXlkb3duIiwgQCJi
ZWZvcmVpbnB1dCIsIEAiaW5wdXQiLCBAImtleXVwIiwgQCJjaGFuZ2UiXSksIFt3ZWJWaWV3IG9i
amVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaXJlZEV2ZW50cyJdKTsKIH0KIAotI2lmIFVT
RShESUNUQVRJT05fQUxURVJOQVRJVkVTKQotCiBURVNUKEtleWJvYXJkSW5wdXRUZXN0cywgSW5z
ZXJ0RGljdGF0aW9uQWx0ZXJuYXRpdmVzU2ltdWxhdGluZ0tleWJvYXJkSW5wdXQpCiB7CiAgICAg
SW5zdGFuY2VNZXRob2RTd2l6emxlciBvdmVycmlkZVNob3VsZFNpbXVsYXRlS2V5Ym9hcmRJbnB1
dE9uVGV4dEluc2VydGlvbiB7IE5TQ2xhc3NGcm9tU3RyaW5nKEAiV0tDb250ZW50VmlldyIpLCBA
c2VsZWN0b3IoX3Nob3VsZFNpbXVsYXRlS2V5Ym9hcmRJbnB1dE9uVGV4dEluc2VydGlvbiksIHJl
aW50ZXJwcmV0X2Nhc3Q8SU1QPihzaG91bGRTaW11bGF0ZUtleWJvYXJkSW5wdXRPblRleHRJbnNl
cnRpb25PdmVycmlkZSkgfTsKQEAgLTcxMiw4ICs3MTAsNiBAQCBURVNUKEtleWJvYXJkSW5wdXRU
ZXN0cywgSW5zZXJ0RGljdGF0aW9uQWx0ZXJuYXRpdmVzU2ltdWxhdGluZ0tleWJvYXJkSW5wdXQp
CiAgICAgRVhQRUNUX05TX0VRVUFMKChAW0Aia2V5ZG93biIsIEAiYmVmb3JlaW5wdXQiLCBAImlu
cHV0IiwgQCJrZXl1cCIsIEAiY2hhbmdlIl0pLCBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdK
YXZhU2NyaXB0OkAiZmlyZWRFdmVudHMiXSk7CiB9CiAKLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJCiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>