<?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>187349</bug_id>
          
          <creation_ts>2018-07-05 10:45:15 -0700</creation_ts>
          <short_desc>Don&apos;t invert text color for selections in light mode</short_desc>
          <delta_ts>2018-07-05 12:11:48 -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>WebCore Misc.</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="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1439442</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-07-05 10:45:15 -0700</bug_when>
    <thetext>We started inverting text color for selections on macOS in r232486. We should only do this in dark mode to match the system.

&lt;rdar://problem/41297946&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439450</commentid>
    <comment_count>1</comment_count>
      <attachid>344338</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2018-07-05 10:51:38 -0700</bug_when>
    <thetext>Created attachment 344338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439479</commentid>
    <comment_count>2</comment_count>
      <attachid>344338</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-05 12:11:46 -0700</bug_when>
    <thetext>Comment on attachment 344338
Patch

Clearing flags on attachment: 344338

Committed r233532: &lt;https://trac.webkit.org/changeset/233532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439480</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-05 12:11:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344338</attachid>
            <date>2018-07-05 10:51:38 -0700</date>
            <delta_ts>2018-07-05 12:11:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187349-20180705105138.patch</filename>
            <type>text/plain</type>
            <size>20879</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA2NTA0NzFiNTMxODRi
YWQ4NzFhMDQ2ZDBkNTI2MTg1NzBmZjVjYy4uOGI3ZDgzNDVmYmEzNTQwNWYyOTZlNTQyNDMxYzE2
ZTJhYTJhOGY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE4LTA3LTA1ICBUaW1v
dGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBpbnZlcnQg
dGV4dCBjb2xvciBmb3Igc2VsZWN0aW9ucyBpbiBsaWdodCBtb2RlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3MzQ5CisgICAgICAgIHJkYXI6Ly9w
cm9ibGVtLzQxMjk3OTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRml4IGNvbG9yIGNhY2hpbmcgaW4gUmVuZGVyVGhlbWUgc28gd2UgZG9uJ3QgY2Fj
aGUgYSBkYXJrIG1vZGUgY29sb3IKKyAgICAgICAgZm9yIGEgbGlnaHQgYXBwZWFyYW5jZSwgb3Ig
dmlzZSB2ZXJzYS4gVXNlIHRoZSBuZXcgY29sb3IgY2FjaGluZworICAgICAgICBpbiBSZW5kZXJU
aGVtZU1hYywgYW5kIGNsZWFyIHRoZSBjb2xvciBjYWNoZXMgaW4gcHVyZ2VDYWNoZXMuCisKKyAg
ICAgICAgQWxsb3cgc3VwcG9ydHNTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3JzIHRvIGNvbmRpdGlv
bmFsaXplIG9uIFN0eWxlQ29sb3I6Ok9wdGlvbnMuCisgICAgICAgIFJldHVybiB0cnVlIG9ubHkg
aW4gZGFyayBtb2RlLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29s
b3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmluYWN0aXZlU2VsZWN0
aW9uQmFja2dyb3VuZENvbG9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
OjphY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWU6OmluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFj
a2dyb3VuZENvbG9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppbmFj
dGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWU6OmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3Ig
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmluYWN0aXZlTGlzdEJveFNl
bGVjdGlvbkZvcmVncm91bmRDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZTo6cHVyZ2VDYWNoZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBsYXRm
b3JtQ29sb3JzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphY3Rp
dmVUZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWU6OmluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yIGNvbnN0KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lOjpzdXBwb3J0c1NlbGVjdGlvbkZvcmVncm91bmRDb2xvcnMgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWU6OnN1cHBvcnRzTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRD
b2xvcnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmNvbG9yQ2FjaGUg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnB1cmdlQ2FjaGVzKTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZU1hYzo6cHVyZ2VDYWNoZXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnN1
cHBvcnRzU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9ycyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZU1hYzo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3Ig
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnBsYXRmb3JtSW5hY3Rp
dmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVNYWM6OnBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpjb2xvckNhY2hlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lTWFjOjpzeXN0ZW1Db2xvciBjb25zdCk6CisKIDIwMTgtMDctMDUgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIFRo
ZSByZWFkeSBwcm9taXNlIHNob3VsZCBpbml0aWFsbHkgYmUgcmVzb2x2ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IGIyMmNlZDdhZjJkOGIwZDZkOWJlY2M1
MWRlY2E2NmQ2ZGMyYWVlNWUuLjJmOTQwM2Q2MjlkM2FiMTA5MzI4ZTE2ZTE1YWQxNmMyZjE3M2E5
NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtNTgxLDU4
ICs1ODEsNjYgQEAgTGF5b3V0UG9pbnQgUmVuZGVyVGhlbWU6OnZvbHVtZVNsaWRlck9mZnNldEZy
b21NdXRlQnV0dG9uKGNvbnN0IFJlbmRlckJveCYgbXV0ZUIKIAogQ29sb3IgUmVuZGVyVGhlbWU6
OmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0
aW9ucz4gb3B0aW9ucykgY29uc3QKIHsKLSAgICBpZiAoIW1fYWN0aXZlU2VsZWN0aW9uQmFja2dy
b3VuZENvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgbV9hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5k
Q29sb3IgPSBwbGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcihvcHRpb25zKS5i
bGVuZFdpdGhXaGl0ZSgpOwotICAgIHJldHVybiBtX2FjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRD
b2xvcjsKKyAgICBhdXRvJiBjYWNoZSA9IGNvbG9yQ2FjaGUob3B0aW9ucyk7CisgICAgaWYgKCFj
YWNoZS5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IuaXNWYWxpZCgpKQorICAgICAgICBj
YWNoZS5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgPSBwbGF0Zm9ybUFjdGl2ZVNlbGVj
dGlvbkJhY2tncm91bmRDb2xvcihvcHRpb25zKS5ibGVuZFdpdGhXaGl0ZSgpOworICAgIHJldHVy
biBjYWNoZS5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7CiB9CiAKIENvbG9yIFJlbmRl
clRoZW1lOjppbmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVD
b2xvcjo6T3B0aW9ucz4gb3B0aW9ucykgY29uc3QKIHsKLSAgICBpZiAoIW1faW5hY3RpdmVTZWxl
Y3Rpb25CYWNrZ3JvdW5kQ29sb3IuaXNWYWxpZCgpKQotICAgICAgICBtX2luYWN0aXZlU2VsZWN0
aW9uQmFja2dyb3VuZENvbG9yID0gcGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRD
b2xvcihvcHRpb25zKS5ibGVuZFdpdGhXaGl0ZSgpOwotICAgIHJldHVybiBtX2luYWN0aXZlU2Vs
ZWN0aW9uQmFja2dyb3VuZENvbG9yOworICAgIGF1dG8mIGNhY2hlID0gY29sb3JDYWNoZShvcHRp
b25zKTsKKyAgICBpZiAoIWNhY2hlLmluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yLmlz
VmFsaWQoKSkKKyAgICAgICAgY2FjaGUuaW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3Ig
PSBwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKG9wdGlvbnMpLmJsZW5k
V2l0aFdoaXRlKCk7CisgICAgcmV0dXJuIGNhY2hlLmluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yOwogfQogCiBDb2xvciBSZW5kZXJUaGVtZTo6YWN0aXZlU2VsZWN0aW9uRm9yZWdyb3Vu
ZENvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdAogewot
ICAgIGlmICghbV9hY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IuaXNWYWxpZCgpICYmIHN1
cHBvcnRzU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9ycygpKQotICAgICAgICBtX2FjdGl2ZVNlbGVj
dGlvbkZvcmVncm91bmRDb2xvciA9IHBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENv
bG9yKG9wdGlvbnMpOwotICAgIHJldHVybiBtX2FjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xv
cjsKKyAgICBhdXRvJiBjYWNoZSA9IGNvbG9yQ2FjaGUob3B0aW9ucyk7CisgICAgaWYgKCFjYWNo
ZS5hY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IuaXNWYWxpZCgpICYmIHN1cHBvcnRzU2Vs
ZWN0aW9uRm9yZWdyb3VuZENvbG9ycyhvcHRpb25zKSkKKyAgICAgICAgY2FjaGUuYWN0aXZlU2Vs
ZWN0aW9uRm9yZWdyb3VuZENvbG9yID0gcGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5k
Q29sb3Iob3B0aW9ucyk7CisgICAgcmV0dXJuIGNhY2hlLmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91
bmRDb2xvcjsKIH0KIAogQ29sb3IgUmVuZGVyVGhlbWU6OmluYWN0aXZlU2VsZWN0aW9uRm9yZWdy
b3VuZENvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdAog
ewotICAgIGlmICghbV9pbmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvci5pc1ZhbGlkKCkg
JiYgc3VwcG9ydHNTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3JzKCkpCi0gICAgICAgIG1faW5hY3Rp
dmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IgPSBwbGF0Zm9ybUluYWN0aXZlU2VsZWN0aW9uRm9y
ZWdyb3VuZENvbG9yKG9wdGlvbnMpOwotICAgIHJldHVybiBtX2luYWN0aXZlU2VsZWN0aW9uRm9y
ZWdyb3VuZENvbG9yOworICAgIGF1dG8mIGNhY2hlID0gY29sb3JDYWNoZShvcHRpb25zKTsKKyAg
ICBpZiAoIWNhY2hlLmluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yLmlzVmFsaWQoKSAm
JiBzdXBwb3J0c1NlbGVjdGlvbkZvcmVncm91bmRDb2xvcnMob3B0aW9ucykpCisgICAgICAgIGNh
Y2hlLmluYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yID0gcGxhdGZvcm1JbmFjdGl2ZVNl
bGVjdGlvbkZvcmVncm91bmRDb2xvcihvcHRpb25zKTsKKyAgICByZXR1cm4gY2FjaGUuaW5hY3Rp
dmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3I7CiB9CiAKIENvbG9yIFJlbmRlclRoZW1lOjphY3Rp
dmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpP
cHRpb25zPiBvcHRpb25zKSBjb25zdAogewotICAgIGlmICghbV9hY3RpdmVMaXN0Qm94U2VsZWN0
aW9uQmFja2dyb3VuZENvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgbV9hY3RpdmVMaXN0Qm94U2Vs
ZWN0aW9uQmFja2dyb3VuZENvbG9yID0gcGxhdGZvcm1BY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFj
a2dyb3VuZENvbG9yKG9wdGlvbnMpOwotICAgIHJldHVybiBtX2FjdGl2ZUxpc3RCb3hTZWxlY3Rp
b25CYWNrZ3JvdW5kQ29sb3I7CisgICAgYXV0byYgY2FjaGUgPSBjb2xvckNhY2hlKG9wdGlvbnMp
OworICAgIGlmICghY2FjaGUuYWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xvci5p
c1ZhbGlkKCkpCisgICAgICAgIGNhY2hlLmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5k
Q29sb3IgPSBwbGF0Zm9ybUFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3Iob3B0
aW9ucyk7CisgICAgcmV0dXJuIGNhY2hlLmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5k
Q29sb3I7CiB9CiAKIENvbG9yIFJlbmRlclRoZW1lOjppbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25C
YWNrZ3JvdW5kQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IG9wdGlvbnMpIGNv
bnN0CiB7Ci0gICAgaWYgKCFtX2luYWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xv
ci5pc1ZhbGlkKCkpCi0gICAgICAgIG1faW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yID0gcGxhdGZvcm1JbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3Io
b3B0aW9ucyk7Ci0gICAgcmV0dXJuIG1faW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yOworICAgIGF1dG8mIGNhY2hlID0gY29sb3JDYWNoZShvcHRpb25zKTsKKyAgICBpZiAo
IWNhY2hlLmluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xvci5pc1ZhbGlkKCkp
CisgICAgICAgIGNhY2hlLmluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xvciA9
IHBsYXRmb3JtSW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yKG9wdGlvbnMp
OworICAgIHJldHVybiBjYWNoZS5pbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29s
b3I7CiB9CiAKIENvbG9yIFJlbmRlclRoZW1lOjphY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdy
b3VuZENvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdAog
ewotICAgIGlmICghbV9hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yLmlzVmFs
aWQoKSAmJiBzdXBwb3J0c0xpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3JzKCkpCi0gICAg
ICAgIG1fYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvciA9IHBsYXRmb3JtQWN0
aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvcihvcHRpb25zKTsKLSAgICByZXR1cm4g
bV9hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yOworICAgIGF1dG8mIGNhY2hl
ID0gY29sb3JDYWNoZShvcHRpb25zKTsKKyAgICBpZiAoIWNhY2hlLmFjdGl2ZUxpc3RCb3hTZWxl
Y3Rpb25Gb3JlZ3JvdW5kQ29sb3IuaXNWYWxpZCgpICYmIHN1cHBvcnRzTGlzdEJveFNlbGVjdGlv
bkZvcmVncm91bmRDb2xvcnMob3B0aW9ucykpCisgICAgICAgIGNhY2hlLmFjdGl2ZUxpc3RCb3hT
ZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IgPSBwbGF0Zm9ybUFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25G
b3JlZ3JvdW5kQ29sb3Iob3B0aW9ucyk7CisgICAgcmV0dXJuIGNhY2hlLmFjdGl2ZUxpc3RCb3hT
ZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3I7CiB9CiAKIENvbG9yIFJlbmRlclRoZW1lOjppbmFjdGl2
ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9w
dGlvbnM+IG9wdGlvbnMpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX2luYWN0aXZlTGlzdEJveFNlbGVj
dGlvbkZvcmVncm91bmRDb2xvci5pc1ZhbGlkKCkgJiYgc3VwcG9ydHNMaXN0Qm94U2VsZWN0aW9u
Rm9yZWdyb3VuZENvbG9ycygpKQotICAgICAgICBtX2luYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZv
cmVncm91bmRDb2xvciA9IHBsYXRmb3JtSW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3Vu
ZENvbG9yKG9wdGlvbnMpOwotICAgIHJldHVybiBtX2luYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZv
cmVncm91bmRDb2xvcjsKKyAgICBhdXRvJiBjYWNoZSA9IGNvbG9yQ2FjaGUob3B0aW9ucyk7Cisg
ICAgaWYgKCFjYWNoZS5pbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IuaXNW
YWxpZCgpICYmIHN1cHBvcnRzTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvcnMob3B0aW9u
cykpCisgICAgICAgIGNhY2hlLmluYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xv
ciA9IHBsYXRmb3JtSW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKG9wdGlv
bnMpOworICAgIHJldHVybiBjYWNoZS5pbmFjdGl2ZUxpc3RCb3hTZWxlY3Rpb25Gb3JlZ3JvdW5k
Q29sb3I7CiB9CiAKIENvbG9yIFJlbmRlclRoZW1lOjpwbGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJh
Y2tncm91bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0CkBAIC0x
MTQ2LDIwICsxMTU0LDE0IEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXImLCBSZW5kZXJTdHlsCiB7CiB9CiAKLXZvaWQg
UmVuZGVyVGhlbWU6OnBsYXRmb3JtQ29sb3JzRGlkQ2hhbmdlKCkKK3ZvaWQgUmVuZGVyVGhlbWU6
OnB1cmdlQ2FjaGVzKCkKIHsKLSAgICBtX2FjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvciA9
IENvbG9yKCk7Ci0gICAgbV9pbmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvciA9IENvbG9y
KCk7Ci0gICAgbV9hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgPSBDb2xvcigpOwotICAg
IG1faW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IgPSBDb2xvcigpOwotCi0gICAgbV9h
Y3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yID0gQ29sb3IoKTsKLSAgICBtX2lu
YWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvciA9IENvbG9yKCk7Ci0gICAgbV9h
Y3RpdmVMaXN0Qm94U2VsZWN0aW9uQmFja2dyb3VuZENvbG9yID0gQ29sb3IoKTsKLSAgICBtX2lu
YWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRDb2xvciA9IENvbG9yKCk7CisgICAgbV9j
b2xvckNhY2hlID0gQ29sb3JDYWNoZSgpOworfQogCi0gICAgbV9hY3RpdmVUZXh0U2VhcmNoSGln
aGxpZ2h0Q29sb3IgPSBDb2xvcigpOwotICAgIG1faW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0
Q29sb3IgPSBDb2xvcigpOwordm9pZCBSZW5kZXJUaGVtZTo6cGxhdGZvcm1Db2xvcnNEaWRDaGFu
Z2UoKQoreworICAgIG1fY29sb3JDYWNoZSA9IENvbG9yQ2FjaGUoKTsKIAogICAgIFBhZ2U6OnVw
ZGF0ZVN0eWxlRm9yQWxsUGFnZXNBZnRlckdsb2JhbENoYW5nZUluRW52aXJvbm1lbnQoKTsKIH0K
QEAgLTEyODgsMTYgKzEyOTAsMTggQEAgQ29sb3IgUmVuZGVyVGhlbWU6OnN5c3RlbUNvbG9yKENT
U1ZhbHVlSUQgY3NzVmFsdWVJZCwgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGkKIAogQ29sb3Ig
UmVuZGVyVGhlbWU6OmFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xvcihPcHRpb25TZXQ8U3R5
bGVDb2xvcjo6T3B0aW9ucz4gb3B0aW9ucykgY29uc3QKIHsKLSAgICBpZiAoIW1fYWN0aXZlVGV4
dFNlYXJjaEhpZ2hsaWdodENvbG9yLmlzVmFsaWQoKSkKLSAgICAgICAgbV9hY3RpdmVUZXh0U2Vh
cmNoSGlnaGxpZ2h0Q29sb3IgPSBwbGF0Zm9ybUFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xv
cihvcHRpb25zKTsKLSAgICByZXR1cm4gbV9hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3I7
CisgICAgYXV0byYgY2FjaGUgPSBjb2xvckNhY2hlKG9wdGlvbnMpOworICAgIGlmICghY2FjaGUu
YWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgY2FjaGUu
YWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yID0gcGxhdGZvcm1BY3RpdmVUZXh0U2VhcmNo
SGlnaGxpZ2h0Q29sb3Iob3B0aW9ucyk7CisgICAgcmV0dXJuIGNhY2hlLmFjdGl2ZVRleHRTZWFy
Y2hIaWdobGlnaHRDb2xvcjsKIH0KIAogQ29sb3IgUmVuZGVyVGhlbWU6OmluYWN0aXZlVGV4dFNl
YXJjaEhpZ2hsaWdodENvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBvcHRpb25z
KSBjb25zdAogewotICAgIGlmICghbV9pbmFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xvci5p
c1ZhbGlkKCkpCi0gICAgICAgIG1faW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3IgPSBw
bGF0Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yKG9wdGlvbnMpOwotICAgIHJl
dHVybiBtX2luYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENvbG9yOworICAgIGF1dG8mIGNhY2hl
ID0gY29sb3JDYWNoZShvcHRpb25zKTsKKyAgICBpZiAoIWNhY2hlLmluYWN0aXZlVGV4dFNlYXJj
aEhpZ2hsaWdodENvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAgY2FjaGUuaW5hY3RpdmVUZXh0U2Vh
cmNoSGlnaGxpZ2h0Q29sb3IgPSBwbGF0Zm9ybUluYWN0aXZlVGV4dFNlYXJjaEhpZ2hsaWdodENv
bG9yKG9wdGlvbnMpOworICAgIHJldHVybiBjYWNoZS5pbmFjdGl2ZVRleHRTZWFyY2hIaWdobGln
aHRDb2xvcjsKIH0KIAogQ29sb3IgUmVuZGVyVGhlbWU6OnBsYXRmb3JtQWN0aXZlVGV4dFNlYXJj
aEhpZ2hsaWdodENvbG9yKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggNTkxMzRiZTk5YWU1M2YxMWQ4
MTExMDk2ZTM1NGQ3ZWZkZDBkZjRmNS4uNzA2ZDcwNDQwZjJhZDM4Y2ZhOWZjMTg5ZjIwNzkwY2Y4
OTg1ZTJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTIwLDEy
ICsyMCwxNCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNvbG9ySGFzaC5oIgogI2lu
Y2x1ZGUgIkNvbnRyb2xTdGF0ZXMuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRl
ICJQb3B1cE1lbnVTdHlsZS5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAjaW5jbHVkZSAi
U3R5bGVDb2xvci5oIgogI2luY2x1ZGUgIlRoZW1lVHlwZXMuaCIKKyNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU0LDcgKzU2LDcgQEAgcHVibGlj
OgogICAgIC8vIGFwcHJvcHJpYXRlIHBsYXRmb3JtIHRoZW1lLgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBSZW5kZXJUaGVtZSYgc2luZ2xldG9uKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcHVy
Z2VDYWNoZXMoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcHVyZ2VDYWNoZXMoKTsKIAogICAgIC8v
IFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuZXZlciBzdHlsZSBoYXMgYmVlbiBjb21wdXRlZCBm
b3IgYW4gZWxlbWVudCBhbmQgdGhlIGFwcGVhcmFuY2UKICAgICAvLyBwcm9wZXJ0eSBoYXMgYmVl
biBzZXQgdG8gYSB2YWx1ZSBvdGhlciB0aGFuICJub25lIi4gIFRoZSB0aGVtZSBzaG91bGQgbWFw
IGluIGFsbCBvZiB0aGUgYXBwcm9wcmlhdGUKQEAgLTI2OSw4ICsyNzEsOCBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCBDb2xvciBwbGF0Zm9ybUFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xv
cihPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0OwogICAgIHZpcnR1YWwgQ29s
b3IgcGxhdGZvcm1JbmFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRDb2xvcihPcHRpb25TZXQ8U3R5
bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0OwogCi0gICAgdmlydHVhbCBib29sIHN1cHBvcnRzU2Vs
ZWN0aW9uRm9yZWdyb3VuZENvbG9ycygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNMaXN0Qm94U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9ycygpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNTZWxlY3Rpb25Gb3Jl
Z3JvdW5kQ29sb3JzKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0xpc3RCb3hTZWxlY3Rpb25Gb3Jl
Z3JvdW5kQ29sb3JzKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3QgeyByZXR1
cm4gdHJ1ZTsgfQogCiAjaWYgIVVTRShORVdfVEhFTUUpCiAgICAgLy8gTWV0aG9kcyBmb3IgZWFj
aCBhcHBlYXJhbmNlIHZhbHVlLgpAQCAtMzk4LDE5ICs0MDAsMzAgQEAgcHVibGljOgogICAgIGJv
b2wgaXNSZWFkT25seUNvbnRyb2woY29uc3QgUmVuZGVyT2JqZWN0JikgY29uc3Q7CiAgICAgYm9v
bCBpc0RlZmF1bHQoY29uc3QgUmVuZGVyT2JqZWN0JikgY29uc3Q7CiAKK3Byb3RlY3RlZDoKKyAg
ICBzdHJ1Y3QgQ29sb3JDYWNoZSB7CisgICAgICAgIEhhc2hNYXA8aW50LCBDb2xvcj4gc3lzdGVt
U3R5bGVDb2xvcnM7CisKKyAgICAgICAgQ29sb3Igc3lzdGVtVmlzaXRlZExpbmtDb2xvcjsKKwor
ICAgICAgICBDb2xvciBhY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7CisgICAgICAgIENv
bG9yIGluYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yOworICAgICAgICBDb2xvciBhY3Rp
dmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3I7CisgICAgICAgIENvbG9yIGluYWN0aXZlU2VsZWN0
aW9uRm9yZWdyb3VuZENvbG9yOworCisgICAgICAgIENvbG9yIGFjdGl2ZUxpc3RCb3hTZWxlY3Rp
b25CYWNrZ3JvdW5kQ29sb3I7CisgICAgICAgIENvbG9yIGluYWN0aXZlTGlzdEJveFNlbGVjdGlv
bkJhY2tncm91bmRDb2xvcjsKKyAgICAgICAgQ29sb3IgYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZv
cmVncm91bmRDb2xvcjsKKyAgICAgICAgQ29sb3IgaW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9y
ZWdyb3VuZENvbG9yOworCisgICAgICAgIENvbG9yIGFjdGl2ZVRleHRTZWFyY2hIaWdobGlnaHRD
b2xvcjsKKyAgICAgICAgQ29sb3IgaW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0Q29sb3I7Cisg
ICAgfTsKKworICAgIHZpcnR1YWwgQ29sb3JDYWNoZSYgY29sb3JDYWNoZShPcHRpb25TZXQ8U3R5
bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0IHsgcmV0dXJuIG1fY29sb3JDYWNoZTsgfQorCiBwcml2
YXRlOgotICAgIG11dGFibGUgQ29sb3IgbV9hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7
Ci0gICAgbXV0YWJsZSBDb2xvciBtX2luYWN0aXZlU2VsZWN0aW9uQmFja2dyb3VuZENvbG9yOwot
ICAgIG11dGFibGUgQ29sb3IgbV9hY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3I7Ci0gICAg
bXV0YWJsZSBDb2xvciBtX2luYWN0aXZlU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yOwotCi0gICAg
bXV0YWJsZSBDb2xvciBtX2FjdGl2ZUxpc3RCb3hTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3I7Ci0g
ICAgbXV0YWJsZSBDb2xvciBtX2luYWN0aXZlTGlzdEJveFNlbGVjdGlvbkJhY2tncm91bmRDb2xv
cjsKLSAgICBtdXRhYmxlIENvbG9yIG1fYWN0aXZlTGlzdEJveFNlbGVjdGlvbkZvcmVncm91bmRD
b2xvcjsKLSAgICBtdXRhYmxlIENvbG9yIG1faW5hY3RpdmVMaXN0Qm94U2VsZWN0aW9uRm9yZWdy
b3VuZENvbG9yOwotCi0gICAgbXV0YWJsZSBDb2xvciBtX2FjdGl2ZVRleHRTZWFyY2hIaWdobGln
aHRDb2xvcjsKLSAgICBtdXRhYmxlIENvbG9yIG1faW5hY3RpdmVUZXh0U2VhcmNoSGlnaGxpZ2h0
Q29sb3I7CisgICAgbXV0YWJsZSBDb2xvckNhY2hlIG1fY29sb3JDYWNoZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
LmgKaW5kZXggYTAwZGY0MjQwMDU2OGFiZGE3YWU5MzVmN2IwMjI1MTA4MjQ2OTA3ZS4uMzk2OTY4
NWVmZmQ5YWU2MmY5NGQ3YTNmZTk1OTY2MzUyMTMzM2Y0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTIzLDggKzIzLDYgQEAKICNpZiBQTEFURk9STShN
QUMpCiAKICNpbXBvcnQgIlJlbmRlclRoZW1lQ29jb2EuaCIKLSNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KLSNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKIE9CSkNfQ0xBU1MgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbDsKQEAgLTUzLDYg
KzUxLDggQEAgcHVibGljOgogCiAgICAgYm9vbCBpc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVy
U3R5bGUmLCBjb25zdCBCb3JkZXJEYXRhJiwgY29uc3QgRmlsbExheWVyJiwgY29uc3QgQ29sb3Im
IGJhY2tncm91bmRDb2xvcikgY29uc3QgZmluYWw7CiAKKyAgICBib29sIHN1cHBvcnRzU2VsZWN0
aW9uRm9yZWdyb3VuZENvbG9ycyhPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9ucz4pIGNvbnN0
IGZpbmFsOworCiAgICAgQ29sb3IgcGxhdGZvcm1BY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29s
b3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25zdCBmaW5hbDsKICAgICBDb2xv
ciBwbGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVD
b2xvcjo6T3B0aW9ucz4pIGNvbnN0IGZpbmFsOwogICAgIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVT
ZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBj
b25zdCBmaW5hbDsKQEAgLTE3Myw2ICsxNzMsOCBAQCBwcml2YXRlOgogCiAgICAgQ29sb3Igc3lz
dGVtQ29sb3IoQ1NTVmFsdWVJRCwgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KSBjb25z
dCBmaW5hbDsKIAorICAgIENvbG9yQ2FjaGUmIGNvbG9yQ2FjaGUoT3B0aW9uU2V0PFN0eWxlQ29s
b3I6Ok9wdGlvbnM+KSBjb25zdCBmaW5hbDsKKwogICAgIHZvaWQgcHVyZ2VDYWNoZXMoKSBmaW5h
bDsKIAogICAgIC8vIEdldCB0aGUgY29udHJvbCBzaXplIGJhc2VkIG9mZiB0aGUgZm9udC4gVXNl
ZCBieSBzb21lIG9mIHRoZSBjb250cm9scyAobGlrZSBidXR0b25zKS4KQEAgLTI0NCwxMCArMjQ2
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNTbGlkZXJUaHVtYkhvcml6b250YWxQcmVzc2Vk
IHsgZmFsc2UgfTsKICAgICBib29sIG1faXNTbGlkZXJUaHVtYlZlcnRpY2FsUHJlc3NlZCB7IGZh
bHNlIH07CiAKLSAgICBtdXRhYmxlIEhhc2hNYXA8aW50LCBDb2xvcj4gbV9saWdodFN5c3RlbUNv
bG9yQ2FjaGU7Ci0gICAgbXV0YWJsZSBIYXNoTWFwPGludCwgQ29sb3I+IG1fZGFya1N5c3RlbUNv
bG9yQ2FjaGU7Ci0gICAgbXV0YWJsZSBDb2xvciBtX2xpZ2h0U3lzdGVtVmlzaXRlZExpbmtDb2xv
cjsKLSAgICBtdXRhYmxlIENvbG9yIG1fZGFya1N5c3RlbVZpc2l0ZWRMaW5rQ29sb3I7CisgICAg
bXV0YWJsZSBDb2xvckNhY2hlIG1fZGFya0NvbG9yQ2FjaGU7CiAKICAgICBSZXRhaW5QdHI8V2Vi
Q29yZVJlbmRlclRoZW1lTm90aWZpY2F0aW9uT2JzZXJ2ZXI+IG1fbm90aWZpY2F0aW9uT2JzZXJ2
ZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCAw
ZTljMjQxMDIyNmNhMDcyYzExNDhlODUzMDU0ODU5NTZlNjBkYTNjLi5lNzAwMWJiM2M2NjlhNDkx
ZjNmMDJjNzU4NWI0MTQ3MDA2YjBmNzljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tCkBAIC0yNTksNiArMjU5LDkgQEAgdm9pZCBSZW5kZXJUaGVtZU1hYzo6
cHVyZ2VDYWNoZXMoKQogICAgIG1fbWVkaWFDb250cm9sc1NjcmlwdC5jbGVhckltcGxJZk5vdFNo
YXJlZCgpOwogICAgIG1fbGVnYWN5TWVkaWFDb250cm9sc1N0eWxlU2hlZXQuY2xlYXJJbXBsSWZO
b3RTaGFyZWQoKTsKICAgICBtX21lZGlhQ29udHJvbHNTdHlsZVNoZWV0LmNsZWFySW1wbElmTm90
U2hhcmVkKCk7CisgICAgbV9kYXJrQ29sb3JDYWNoZSA9IENvbG9yQ2FjaGUoKTsKKworICAgIFJl
bmRlclRoZW1lOjpwdXJnZUNhY2hlcygpOwogfQogCiBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6Om1l
ZGlhQ29udHJvbHNTY3JpcHQoKQpAQCAtMzI4LDIwICszMzEsMzAgQEAgQ29sb3IgUmVuZGVyVGhl
bWVNYWM6OnBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoT3B0aW9uU2V0
PFN0eWxlQ28KICNlbmRpZgogfQogCitib29sIFJlbmRlclRoZW1lTWFjOjpzdXBwb3J0c1NlbGVj
dGlvbkZvcmVncm91bmRDb2xvcnMoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IG9wdGlv
bnMpIGNvbnN0Cit7CisgICAgTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVh
cmFuY2Uob3B0aW9ucy5jb250YWlucyhTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VTeXN0ZW1BcHBl
YXJhbmNlKSwgb3B0aW9ucy5jb250YWlucyhTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VEZWZhdWx0
QXBwZWFyYW5jZSkpOworICAgIHJldHVybiBsb2NhbEFwcGVhcmFuY2UudXNpbmdEYXJrQXBwZWFy
YW5jZSgpOworfQorCiBDb2xvciBSZW5kZXJUaGVtZU1hYzo6cGxhdGZvcm1BY3RpdmVTZWxlY3Rp
b25Gb3JlZ3JvdW5kQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IG9wdGlvbnMp
IGNvbnN0CiB7CiAgICAgTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVhcmFu
Y2Uob3B0aW9ucy5jb250YWlucyhTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VTeXN0ZW1BcHBlYXJh
bmNlKSwgb3B0aW9ucy5jb250YWlucyhTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VEZWZhdWx0QXBw
ZWFyYW5jZSkpOwotICAgIHJldHVybiBjb2xvckZyb21OU0NvbG9yKFtOU0NvbG9yIHNlbGVjdGVk
VGV4dENvbG9yXSk7CisgICAgaWYgKGxvY2FsQXBwZWFyYW5jZS51c2luZ0RhcmtBcHBlYXJhbmNl
KCkpCisgICAgICAgIHJldHVybiBjb2xvckZyb21OU0NvbG9yKFtOU0NvbG9yIHNlbGVjdGVkVGV4
dENvbG9yXSk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAogQ29sb3IgUmVuZGVyVGhlbWVNYWM6OnBs
YXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29s
b3I6Ok9wdGlvbnM+IG9wdGlvbnMpIGNvbnN0CiB7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDE0MDAKICAgICBMb2NhbERlZmF1bHRTeXN0ZW1BcHBlYXJhbmNlIGxv
Y2FsQXBwZWFyYW5jZShvcHRpb25zLmNvbnRhaW5zKFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVzZVN5
c3RlbUFwcGVhcmFuY2UpLCBvcHRpb25zLmNvbnRhaW5zKFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVz
ZURlZmF1bHRBcHBlYXJhbmNlKSk7Ci0gICAgcmV0dXJuIGNvbG9yRnJvbU5TQ29sb3IoW05TQ29s
b3IgdW5lbXBoYXNpemVkU2VsZWN0ZWRUZXh0Q29sb3JdKTsKKyAgICBpZiAobG9jYWxBcHBlYXJh
bmNlLnVzaW5nRGFya0FwcGVhcmFuY2UoKSkKKyAgICAgICAgcmV0dXJuIGNvbG9yRnJvbU5TQ29s
b3IoW05TQ29sb3IgdW5lbXBoYXNpemVkU2VsZWN0ZWRUZXh0Q29sb3JdKTsKKyAgICByZXR1cm4g
eyB9OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0ob3B0aW9ucyk7Ci0gICAgcmV0dXJuIGNvbG9y
RnJvbU5TQ29sb3IoW05TQ29sb3IgdGV4dENvbG9yXSk7CisgICAgcmV0dXJuIHsgfTsKICNlbmRp
ZgogfQogCkBAIC01MDQsMTUgKzUxNywyMSBAQCBzdGF0aWMgUkdCQTMyIG1lbnVCYWNrZ3JvdW5k
Q29sb3IoKQogCiB2b2lkIFJlbmRlclRoZW1lTWFjOjpwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgp
CiB7Ci0gICAgbV9saWdodFN5c3RlbUNvbG9yQ2FjaGUuY2xlYXIoKTsKLSAgICBtX2RhcmtTeXN0
ZW1Db2xvckNhY2hlLmNsZWFyKCk7Ci0KLSAgICBtX2xpZ2h0U3lzdGVtVmlzaXRlZExpbmtDb2xv
ciA9IENvbG9yKCk7Ci0gICAgbV9kYXJrU3lzdGVtVmlzaXRlZExpbmtDb2xvciA9IENvbG9yKCk7
CisgICAgbV9kYXJrQ29sb3JDYWNoZSA9IENvbG9yQ2FjaGUoKTsKIAogICAgIFJlbmRlclRoZW1l
OjpwbGF0Zm9ybUNvbG9yc0RpZENoYW5nZSgpOwogfQogCithdXRvIFJlbmRlclRoZW1lTWFjOjpj
b2xvckNhY2hlKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBvcHRpb25zKSBjb25zdCAt
PiBDb2xvckNhY2hlJgoreworICAgIGNvbnN0IGJvb2wgdXNlU3lzdGVtQXBwZWFyYW5jZSA9IG9w
dGlvbnMuY29udGFpbnMoU3R5bGVDb2xvcjo6T3B0aW9uczo6VXNlU3lzdGVtQXBwZWFyYW5jZSk7
CisgICAgY29uc3QgYm9vbCB1c2VEZWZhdWx0QXBwZWFyYW5jZSA9IG9wdGlvbnMuY29udGFpbnMo
U3R5bGVDb2xvcjo6T3B0aW9uczo6VXNlRGVmYXVsdEFwcGVhcmFuY2UpOworICAgIExvY2FsRGVm
YXVsdFN5c3RlbUFwcGVhcmFuY2UgbG9jYWxBcHBlYXJhbmNlKHVzZVN5c3RlbUFwcGVhcmFuY2Us
IHVzZURlZmF1bHRBcHBlYXJhbmNlKTsKKyAgICBpZiAobG9jYWxBcHBlYXJhbmNlLnVzaW5nRGFy
a0FwcGVhcmFuY2UoKSkKKyAgICAgICAgcmV0dXJuIG1fZGFya0NvbG9yQ2FjaGU7CisgICAgcmV0
dXJuIFJlbmRlclRoZW1lOjpjb2xvckNhY2hlKG9wdGlvbnMpOworfQorCiBDb2xvciBSZW5kZXJU
aGVtZU1hYzo6c3lzdGVtQ29sb3IoQ1NTVmFsdWVJRCBjc3NWYWx1ZUlELCBPcHRpb25TZXQ8U3R5
bGVDb2xvcjo6T3B0aW9ucz4gb3B0aW9ucykgY29uc3QKIHsKICAgICBjb25zdCBib29sIHVzZVN5
c3RlbUFwcGVhcmFuY2UgPSBvcHRpb25zLmNvbnRhaW5zKFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVz
ZVN5c3RlbUFwcGVhcmFuY2UpOwpAQCAtNTIxLDIwICs1NDAsMTYgQEAgQ29sb3IgUmVuZGVyVGhl
bWVNYWM6OnN5c3RlbUNvbG9yKENTU1ZhbHVlSUQgY3NzVmFsdWVJRCwgT3B0aW9uU2V0PFN0eWxl
Q29sb3I6Ok8KIAogICAgIExvY2FsRGVmYXVsdFN5c3RlbUFwcGVhcmFuY2UgbG9jYWxBcHBlYXJh
bmNlKHVzZVN5c3RlbUFwcGVhcmFuY2UsIHVzZURlZmF1bHRBcHBlYXJhbmNlKTsKIAorICAgIGF1
dG8mIGNhY2hlID0gY29sb3JDYWNoZShvcHRpb25zKTsKKwogICAgIC8vIFRoZSBzeXN0ZW0gY29s
b3IgY2FjaGUgYmVsb3cgY2FuJ3QgaGFuZGxlIHZpc2l0ZWQgbGlua3MuIFRoZSBvbmx5IGNvbG9y
IHZhbHVlCiAgICAgLy8gdGhhdCBjYXJlcyBhYm91dCB2aXNpdGVkIGxpbmtzIGlzIENTU1ZhbHVl
V2Via2l0TGluaywgc28gaGFuZGxlIGl0IGhlcmUuCiAgICAgaWYgKGZvclZpc2l0ZWRMaW5rICYm
IGNzc1ZhbHVlSUQgPT0gQ1NTVmFsdWVXZWJraXRMaW5rKSB7CiAgICAgICAgIC8vIE9ubHkgdXNl
IE5TQ29sb3Igd2hlbiB0aGUgc3lzdGVtIGFwcGVhcmFuY2UgaXMgZGVzaXJlZCwgb3RoZXJ3aXNl
IHVzZSBSZW5kZXJUaGVtZSdzIGRlZmF1bHQuCiAgICAgICAgIGlmICh1c2VTeXN0ZW1BcHBlYXJh
bmNlKSB7Ci0gICAgICAgICAgICBpZiAobG9jYWxBcHBlYXJhbmNlLnVzaW5nRGFya0FwcGVhcmFu
Y2UoKSkgewotICAgICAgICAgICAgICAgIGlmICghbV9kYXJrU3lzdGVtVmlzaXRlZExpbmtDb2xv
ci5pc1ZhbGlkKCkpCi0gICAgICAgICAgICAgICAgICAgIG1fZGFya1N5c3RlbVZpc2l0ZWRMaW5r
Q29sb3IgPSBzZW1hbnRpY0NvbG9yRnJvbU5TQ29sb3IoW05TQ29sb3Igc3lzdGVtUHVycGxlQ29s
b3JdKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gbV9kYXJrU3lzdGVtVmlzaXRlZExpbmtDb2xv
cjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKCFtX2xpZ2h0U3lzdGVtVmlzaXRl
ZExpbmtDb2xvci5pc1ZhbGlkKCkpCi0gICAgICAgICAgICAgICAgbV9saWdodFN5c3RlbVZpc2l0
ZWRMaW5rQ29sb3IgPSBzZW1hbnRpY0NvbG9yRnJvbU5TQ29sb3IoW05TQ29sb3Igc3lzdGVtUHVy
cGxlQ29sb3JdKTsKLSAgICAgICAgICAgIHJldHVybiBtX2xpZ2h0U3lzdGVtVmlzaXRlZExpbmtD
b2xvcjsKKyAgICAgICAgICAgIGlmICghY2FjaGUuc3lzdGVtVmlzaXRlZExpbmtDb2xvci5pc1Zh
bGlkKCkpCisgICAgICAgICAgICAgICAgY2FjaGUuc3lzdGVtVmlzaXRlZExpbmtDb2xvciA9IHNl
bWFudGljQ29sb3JGcm9tTlNDb2xvcihbTlNDb2xvciBzeXN0ZW1QdXJwbGVDb2xvcl0pOworICAg
ICAgICAgICAgcmV0dXJuIGNhY2hlLnN5c3RlbVZpc2l0ZWRMaW5rQ29sb3I7CiAgICAgICAgIH0K
IAogICAgICAgICByZXR1cm4gUmVuZGVyVGhlbWU6OnN5c3RlbUNvbG9yKGNzc1ZhbHVlSUQsIG9w
dGlvbnMpOwpAQCAtNTQyLDggKzU1Nyw3IEBAIENvbG9yIFJlbmRlclRoZW1lTWFjOjpzeXN0ZW1D
b2xvcihDU1NWYWx1ZUlEIGNzc1ZhbHVlSUQsIE9wdGlvblNldDxTdHlsZUNvbG9yOjpPCiAKICAg
ICBBU1NFUlQoIWZvclZpc2l0ZWRMaW5rKTsKIAotICAgIGF1dG8mIHN5c3RlbUNvbG9yQ2FjaGUg
PSBsb2NhbEFwcGVhcmFuY2UudXNpbmdEYXJrQXBwZWFyYW5jZSgpID8gbV9kYXJrU3lzdGVtQ29s
b3JDYWNoZSA6IG1fbGlnaHRTeXN0ZW1Db2xvckNhY2hlOwotICAgIHJldHVybiBzeXN0ZW1Db2xv
ckNhY2hlLmVuc3VyZShjc3NWYWx1ZUlELCBbdGhpcywgY3NzVmFsdWVJRCwgdXNlU3lzdGVtQXBw
ZWFyYW5jZSwgb3B0aW9uc10gKCkgLT4gQ29sb3IgeworICAgIHJldHVybiBjYWNoZS5zeXN0ZW1T
dHlsZUNvbG9ycy5lbnN1cmUoY3NzVmFsdWVJRCwgW3RoaXMsIGNzc1ZhbHVlSUQsIHVzZVN5c3Rl
bUFwcGVhcmFuY2UsIG9wdGlvbnNdICgpIC0+IENvbG9yIHsKICAgICAgICAgYXV0byBzZWxlY3RD
b2NvYUNvbG9yID0gW2Nzc1ZhbHVlSUQsIHVzZVN5c3RlbUFwcGVhcmFuY2VdICgpIC0+IFNFTCB7
CiAgICAgICAgICAgICBzd2l0Y2ggKGNzc1ZhbHVlSUQpIHsKICAgICAgICAgICAgIGNhc2UgQ1NT
VmFsdWVXZWJraXRMaW5rOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>