<?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>282561</bug_id>
          
          <creation_ts>2024-11-04 14:01:15 -0800</creation_ts>
          <short_desc>[TextBoxPainter] Let&apos;s use the cached RenderStyle consistently</short_desc>
          <delta_ts>2024-11-14 20:38:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>
          <dependson>283016</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2072620</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-11-04 14:01:15 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2072621</commentid>
    <comment_count>1</comment_count>
      <attachid>473132</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-04 14:04:25 -0800</bug_when>
    <thetext>Created attachment 473132
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2072656</commentid>
    <comment_count>2</comment_count>
      <attachid>473134</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-04 15:55:57 -0800</bug_when>
    <thetext>Created attachment 473134
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2072767</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-11-05 05:30:53 -0800</bug_when>
    <thetext>Committed 286147@main (746bece7ada0): &lt;https://commits.webkit.org/286147@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 473134.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2072768</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-11-05 05:31:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/139277387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2072831</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2024-11-05 09:28:46 -0800</bug_when>
    <thetext>Presumably this fixed bug 276468?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2072838</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-11-05 09:32:21 -0800</bug_when>
    <thetext>*** Bug 276468 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2074649</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2024-11-12 15:04:39 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 283016</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2075230</commentid>
    <comment_count>8</comment_count>
      <attachid>473232</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-11-14 15:59:25 -0800</bug_when>
    <thetext>Created attachment 473232
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2075232</commentid>
    <comment_count>9</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-11-14 16:04:15 -0800</bug_when>
    <thetext>Let&apos;s re-land this change now that bug 283114 is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2075282</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-11-14 20:38:28 -0800</bug_when>
    <thetext>Committed 286627@main (70aa17d69129): &lt;https://commits.webkit.org/286627@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 473232.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473132</attachid>
            <date>2024-11-04 14:04:25 -0800</date>
            <delta_ts>2024-11-04 15:55:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-282561-20241104140424.patch</filename>
            <type>text/plain</type>
            <size>11087</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA3YjE3YWEyM2RjMjZjM2Y2ZGIyZDZmZTE2MGQxM2I5OTEyYjUzYTc4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNCBOb3YgMjAyNCAxNDowMToyNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtUZXh0Qm94
UGFpbnRlcl0gTGV0J3MgdXNlIHRoZSBjYWNoZWQgUmVuZGVyU3R5bGUKIGNvbnNpc3RlbnRseSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNTYxCgpSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCjEuIExpbmUgZGVwZW5kZW50IHN0eWxlIGlzIHdoYXQgVGV4dEJv
eCBoYXMuIE5vIG5lZWQgdG8gY2hlY2sgZm9yIGlzRmlyc3RMaW5lLgoyLiBQYXNzIGluIHRoZSBy
ZWxldmFudCBzdHlsZSAodGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgdXNpbmcgVGV4dEJveFBh
aW50ZXIgYWNyb3NzIHZpc3VhbGx5IGFkamFjZW50IHRleHQgYm94ZXMpLgoKKiBTb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudFBhaW50ZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRl
bnRQYWludGVyOjpwYWludERpc3BsYXlCb3gpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6
cGFpbnRNYXNrRm9yVGV4dEZpbGxCb3gpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
Qm94UGFpbnRlci5jcHA6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6VGV4dEJveFBhaW50ZXIp
OgooV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OnBhaW50Q29tcG9zaXRpb25Gb3JlZ3JvdW5kKToK
KFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWludEZvcmVncm91bmRBbmREZWNvcmF0aW9ucyk6
CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6Y29sbGVjdERlY29yYXRpbmdCb3hlc0ZvclRleHRC
b3gpOgooV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25z
KToKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpmaWxsQ29tcG9zaXRpb25VbmRlcmxpbmUgY29u
c3QpOgooV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OmZvbnRDYXNjYWRlIGNvbnN0KToKKFdlYkNv
cmU6OlRleHRCb3hQYWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50UmVjdCBjb25zdCk6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmg6Ci0tLQogLi4uL0xheW91dElu
dGVncmF0aW9uSW5saW5lQ29udGVudFBhaW50ZXIuY3BwIHwgIDIgKy0KIC4uLi9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwICAgICAgICB8ICAzICstCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwICAgfCAzMSArKysrKysrKy0tLS0tLS0tLS0tCiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaCAgICAgfCAgMiArLQogNCBm
aWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVn
cmF0aW9uSW5saW5lQ29udGVudFBhaW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lu
dGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRQYWludGVyLmNw
cAppbmRleCA0MGJhZGQxNzVkYTEuLmUzYTBmNTQxZWRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNv
bnRlbnRQYWludGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
aW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudFBhaW50ZXIuY3BwCkBAIC05Myw3
ICs5Myw3IEBAIHZvaWQgSW5saW5lQ29udGVudFBhaW50ZXI6OnBhaW50RGlzcGxheUJveChjb25z
dCBJbmxpbmVEaXNwbGF5OjpCb3gmIGJveCkKICAgICAgICAgaWYgKCFoYXNWaXNpYmxlRGFtYWdl
KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIFRleHRCb3hQYWludGVyIHsgbV9pbmxp
bmVDb250ZW50LCBib3gsIG1fcGFpbnRJbmZvLCBtX3BhaW50T2Zmc2V0IH0ucGFpbnQoKTsKKyAg
ICAgICAgVGV4dEJveFBhaW50ZXIgeyBtX2lubGluZUNvbnRlbnQsIGJveCwgYm94LnN0eWxlKCks
IG1fcGFpbnRJbmZvLCBtX3BhaW50T2Zmc2V0IH0ucGFpbnQoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAKaW5kZXggYjI1ODVmZDA5YjBkLi45N2RkNDA0NzUzMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtNzE3LDgg
KzcxNyw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50TWFza0ZvclRleHRGaWxs
Qm94KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uCiAgICAgICAgIGZvciAoYXV0byBib3gg
PSBpbmxpbmVCb3gtPmZpcnN0TGVhZkJveCgpLCBlbmQgPSBpbmxpbmVCb3gtPmVuZExlYWZCb3go
KTsgYm94ICE9IGVuZDsgYm94LnRyYXZlcnNlTmV4dE9uTGluZSgpKSB7CiAgICAgICAgICAgICBp
ZiAoIWJveC0+aXNUZXh0KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg
ICBUZXh0Qm94UGFpbnRlciB0ZXh0Qm94UGFpbnRlcihib3gtPm1vZGVyblBhdGgoKS5pbmxpbmVD
b250ZW50KCksIGJveC0+bW9kZXJuUGF0aCgpLmJveCgpLCBtYXNrSW5mbywgcGFpbnRPZmZzZXQp
OwotICAgICAgICAgICAgdGV4dEJveFBhaW50ZXIucGFpbnQoKTsKKyAgICAgICAgICAgIFRleHRC
b3hQYWludGVyIHsgYm94LT5tb2Rlcm5QYXRoKCkuaW5saW5lQ29udGVudCgpLCBib3gtPm1vZGVy
blBhdGgoKS5ib3goKSwgYm94LT5tb2Rlcm5QYXRoKCkuYm94KCkuc3R5bGUoKSwgbWFza0luZm8s
IHBhaW50T2Zmc2V0IH0ucGFpbnQoKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKaW5kZXggNWU3
NDIwOGFlMmY5Li42NjhhYzE2MTgzNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0Qm94UGFpbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rl
eHRCb3hQYWludGVyLmNwcApAQCAtNjAsMTEgKzYwLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RhdGljIEZsb2F0UmVjdCBjYWxjdWxhdGVEb2N1bWVudE1hcmtlckJvdW5kcyhjb25zdCBJ
bmxpbmVJdGVyYXRvcjo6VGV4dEJveEl0ZXJhdG9yJiwgY29uc3QgTWFya2VkVGV4dCYpOwogCi1U
ZXh0Qm94UGFpbnRlcjo6VGV4dEJveFBhaW50ZXIoY29uc3QgTGF5b3V0SW50ZWdyYXRpb246Oklu
bGluZUNvbnRlbnQmIGlubGluZUNvbnRlbnQsIGNvbnN0IElubGluZURpc3BsYXk6OkJveCYgYm94
LCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQor
VGV4dEJveFBhaW50ZXI6OlRleHRCb3hQYWludGVyKGNvbnN0IExheW91dEludGVncmF0aW9uOjpJ
bmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50LCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gmIGJv
eCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgIDogbV90ZXh0Qm94KElubGluZUl0ZXJhdG9y
OjpCb3hNb2Rlcm5QYXRoIHsgaW5saW5lQ29udGVudCwgaW5saW5lQ29udGVudC5pbmRleEZvckJv
eChib3gpIH0pCiAgICAgLCBtX3JlbmRlcmVyKGRvd25jYXN0PFJlbmRlclRleHQ+KG1fdGV4dEJv
eC5yZW5kZXJlcigpKSkKICAgICAsIG1fZG9jdW1lbnQobV9yZW5kZXJlci5kb2N1bWVudCgpKQot
ICAgICwgbV9zdHlsZShtX3RleHRCb3guc3R5bGUoKSkKKyAgICAsIG1fc3R5bGUoc3R5bGUpCiAg
ICAgLCBtX2xvZ2ljYWxSZWN0KG1fdGV4dEJveC5pc0hvcml6b250YWwoKSA/IG1fdGV4dEJveC52
aXN1YWxSZWN0SWdub3JpbmdCbG9ja0RpcmVjdGlvbigpIDogbV90ZXh0Qm94LnZpc3VhbFJlY3RJ
Z25vcmluZ0Jsb2NrRGlyZWN0aW9uKCkudHJhbnNwb3NlZFJlY3QoKSkKICAgICAsIG1fcGFpbnRU
ZXh0UnVuKG1fdGV4dEJveC50ZXh0UnVuKCkpCiAgICAgLCBtX3BhaW50SW5mbyhwYWludEluZm8p
CkBAIC0yMjAsMTAgKzIyMCw4IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OnBhaW50Q29tcG9zaXRp
b25Gb3JlZ3JvdW5kKGNvbnN0IFN0eWxlZE1hcmtlZFRleHQmIG1hcmtlZFRlCiAKICAgICBoaWdo
bGlnaHRzV2l0aEZvcmVncm91bmQuYXBwZW5kKHsgaGlnaGxpZ2h0cy5sYXN0KCkuZW5kT2Zmc2V0
LCB0ZXh0Qm94KCkuZW5kKCksIHsgfSwgeyB9IH0pOwogCi0gICAgYXV0byYgbGluZVN0eWxlID0g
bV9pc0ZpcnN0TGluZSA/IG1fcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSA6IG1fcmVuZGVyZXIu
c3R5bGUoKTsKLQogICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogaGlnaGxpZ2h0c1dpdGhGb3Jl
Z3JvdW5kKSB7Ci0gICAgICAgIGF1dG8gc3R5bGUgPSBTdHlsZWRNYXJrZWRUZXh0Ojpjb21wdXRl
U3R5bGVGb3JVbm1hcmtlZE1hcmtlZFRleHQobV9yZW5kZXJlciwgbGluZVN0eWxlLCBtX2lzRmly
c3RMaW5lLCBtX3BhaW50SW5mbyk7CisgICAgICAgIGF1dG8gc3R5bGUgPSBTdHlsZWRNYXJrZWRU
ZXh0Ojpjb21wdXRlU3R5bGVGb3JVbm1hcmtlZE1hcmtlZFRleHQobV9yZW5kZXJlciwgbV9zdHls
ZSwgbV9pc0ZpcnN0TGluZSwgbV9wYWludEluZm8pOwogCiAgICAgICAgIGlmIChoaWdobGlnaHQu
ZW5kT2Zmc2V0IDw9IHRleHRCb3goKS5zdGFydCgpKQogICAgICAgICAgICAgY29udGludWU7CkBA
IC0yOTcsOSArMjk1LDggQEAgdm9pZCBUZXh0Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kQW5k
RGVjb3JhdGlvbnMoKQogICAgICAgICByZXR1cm4gIWhhc0JhY2t3YXJkVHJ1bmN0YXRpb24gPyBt
X3NlbGVjdGFibGVSYW5nZS5jbGFtcCh0ZXh0Qm94KCkuZW5kKCkpIDogdGV4dEJveCgpLmxlbmd0
aCgpOwogICAgIH07CiAgICAgaWYgKCFjb250ZW50TWF5TmVlZFN0eWxlZE1hcmtlZFRleHQoKSkg
ewotICAgICAgICBhdXRvJiBsaW5lU3R5bGUgPSBtX2lzRmlyc3RMaW5lID8gbV9yZW5kZXJlci5m
aXJzdExpbmVTdHlsZSgpIDogbV9yZW5kZXJlci5zdHlsZSgpOwogICAgICAgICBhdXRvIG1hcmtl
ZFRleHQgPSBNYXJrZWRUZXh0IHsgc3RhcnRQb3NpdGlvbigpLCBlbmRQb3NpdGlvbigpLCBNYXJr
ZWRUZXh0OjpUeXBlOjpVbm1hcmtlZCB9OwotICAgICAgICBhdXRvIHN0eWxlZE1hcmtlZFRleHQg
PSBTdHlsZWRNYXJrZWRUZXh0IHsgbWFya2VkVGV4dCwgU3R5bGVkTWFya2VkVGV4dDo6Y29tcHV0
ZVN0eWxlRm9yVW5tYXJrZWRNYXJrZWRUZXh0KG1fcmVuZGVyZXIsIGxpbmVTdHlsZSwgbV9pc0Zp
cnN0TGluZSwgbV9wYWludEluZm8pIH07CisgICAgICAgIGF1dG8gc3R5bGVkTWFya2VkVGV4dCA9
IFN0eWxlZE1hcmtlZFRleHQgeyBtYXJrZWRUZXh0LCBTdHlsZWRNYXJrZWRUZXh0Ojpjb21wdXRl
U3R5bGVGb3JVbm1hcmtlZE1hcmtlZFRleHQobV9yZW5kZXJlciwgbV9zdHlsZSwgbV9pc0ZpcnN0
TGluZSwgbV9wYWludEluZm8pIH07CiAgICAgICAgIHBhaW50Q29tcG9zaXRpb25Gb3JlZ3JvdW5k
KHN0eWxlZE1hcmtlZFRleHQpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNTk4LDcgKzU5
NSw3IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OmNvbGxlY3REZWNvcmF0aW5nQm94ZXNGb3JUZXh0
Qm94KERlY29yYXRpbmdCb3hMaXN0JiBkZWNvcmF0CiAKICAgICBpZiAoIXRleHRCb3gtPmlzSG9y
aXpvbnRhbCgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBWZXJ0aWNhbCB3cml0aW5nIG1vZGUgbmVl
ZHMgc29tZSBjb29yZGluYXRlIHNwYWNlIHRyYW5zZm9ybWF0aW9uIGZvciBwYXJlbnQgaW5saW5l
IGJveGVzIGFzIHdlIHJvdGF0ZSB0aGUgY29udGVudCB3aXRoIG1fcGFpbnRSZWN0IChzZWUgOjpw
YWludCkKLSAgICAgICAgZGVjb3JhdGluZ0JveExpc3QuYXBwZW5kKHsgYW5jZXN0b3JJbmxpbmVC
b3gsIG1faXNGaXJzdExpbmUgPyBtX3JlbmRlcmVyLmZpcnN0TGluZVN0eWxlKCkgOiBtX3JlbmRl
cmVyLnN0eWxlKCksIG92ZXJyaWRlRGVjb3JhdGlvblN0eWxlLCB0ZXh0Qm94TG9jYXRpb24gfSk7
CisgICAgICAgIGRlY29yYXRpbmdCb3hMaXN0LmFwcGVuZCh7IGFuY2VzdG9ySW5saW5lQm94LCBt
X3N0eWxlLCBvdmVycmlkZURlY29yYXRpb25TdHlsZSwgdGV4dEJveExvY2F0aW9uIH0pOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC02OTAsOSArNjg3LDggQEAgdm9pZCBUZXh0Qm94UGFp
bnRlcjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWludGVyJiBk
ZWNvcmF0aW8KIAogdm9pZCBUZXh0Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kRGVjb3JhdGlv
bnMoVGV4dERlY29yYXRpb25QYWludGVyJiBkZWNvcmF0aW9uUGFpbnRlciwgY29uc3QgU3R5bGVk
TWFya2VkVGV4dCYgbWFya2VkVGV4dCwgY29uc3QgRmxvYXRSZWN0JiB0ZXh0Qm94UGFpbnRSZWN0
KQogewotICAgIGF1dG8mIHN0eWxlVG9Vc2UgPSBtX2lzRmlyc3RMaW5lID8gbV9yZW5kZXJlci5m
aXJzdExpbmVTdHlsZSgpIDogbV9yZW5kZXJlci5zdHlsZSgpOwogICAgIGF1dG8gY29tcHV0ZWRU
ZXh0RGVjb3JhdGlvblR5cGUgPSBbJl0gewotICAgICAgICBhdXRvIHRleHREZWNvcmF0aW9ucyA9
IHN0eWxlVG9Vc2UudGV4dERlY29yYXRpb25zSW5FZmZlY3QoKTsKKyAgICAgICAgYXV0byB0ZXh0
RGVjb3JhdGlvbnMgPSBtX3N0eWxlLnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCk7CiAgICAgICAg
IHRleHREZWNvcmF0aW9ucy5hZGQoVGV4dERlY29yYXRpb25QYWludGVyOjp0ZXh0RGVjb3JhdGlv
bnNJbkVmZmVjdEZvclN0eWxlKG1hcmtlZFRleHQuc3R5bGUudGV4dERlY29yYXRpb25TdHlsZXMp
KTsKICAgICAgICAgcmV0dXJuIHRleHREZWNvcmF0aW9uczsKICAgICB9KCk7CkBAIC03MDQsMTMg
KzcwMCwxMyBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpwYWludEZvcmVncm91bmREZWNvcmF0aW9u
cyhUZXh0RGVjb3JhdGlvblBhaW50ZXImIGRlY29yYXRpbwogICAgICAgICBtX3BhaW50SW5mby5j
b250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFpbnRSZWN0LCBSb3RhdGlvbkRpcmVjdGlv
bjo6Q2xvY2t3aXNlKSk7CiAKICAgICBhdXRvIGRldmljZVNjYWxlRmFjdG9yID0gbV9kb2N1bWVu
dC5kZXZpY2VTY2FsZUZhY3RvcigpOwotICAgIGF1dG8gdGV4dERlY29yYXRpb25UaGlja25lc3Mg
PSBjb21wdXRlZFRleHREZWNvcmF0aW9uVGhpY2tuZXNzKHN0eWxlVG9Vc2UsIGRldmljZVNjYWxl
RmFjdG9yKTsKLSAgICBhdXRvIGxpbmV0aHJvdWdoQ2VudGVyID0gY29tcHV0ZWRMaW5ldGhyb3Vn
aENlbnRlcihzdHlsZVRvVXNlLCB0ZXh0RGVjb3JhdGlvblRoaWNrbmVzcywgY29tcHV0ZWRBdXRv
VGV4dERlY29yYXRpb25UaGlja25lc3Moc3R5bGVUb1VzZSwgZGV2aWNlU2NhbGVGYWN0b3IpKTsK
KyAgICBhdXRvIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY29tcHV0ZWRUZXh0RGVjb3JhdGlv
blRoaWNrbmVzcyhtX3N0eWxlLCBkZXZpY2VTY2FsZUZhY3Rvcik7CisgICAgYXV0byBsaW5ldGhy
b3VnaENlbnRlciA9IGNvbXB1dGVkTGluZXRocm91Z2hDZW50ZXIobV9zdHlsZSwgdGV4dERlY29y
YXRpb25UaGlja25lc3MsIGNvbXB1dGVkQXV0b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzKG1fc3R5
bGUsIGRldmljZVNjYWxlRmFjdG9yKSk7CiAgICAgZGVjb3JhdGlvblBhaW50ZXIucGFpbnRGb3Jl
Z3JvdW5kRGVjb3JhdGlvbnMoeyB0ZXh0Qm94UGFpbnRSZWN0LmxvY2F0aW9uKCkKICAgICAgICAg
LCB0ZXh0Qm94UGFpbnRSZWN0LndpZHRoKCkKICAgICAgICAgLCB0ZXh0RGVjb3JhdGlvblRoaWNr
bmVzcwogICAgICAgICAsIGxpbmV0aHJvdWdoQ2VudGVyCi0gICAgICAgICwgd2F2eVN0cm9rZVBh
cmFtZXRlcnMoc3R5bGVUb1VzZS5jb21wdXRlZEZvbnRTaXplKCkpIH0sIG1hcmtlZFRleHQuc3R5
bGUudGV4dERlY29yYXRpb25TdHlsZXMpOworICAgICAgICAsIHdhdnlTdHJva2VQYXJhbWV0ZXJz
KG1fc3R5bGUuY29tcHV0ZWRGb250U2l6ZSgpKSB9LCBtYXJrZWRUZXh0LnN0eWxlLnRleHREZWNv
cmF0aW9uU3R5bGVzKTsKIAogICAgIGlmIChtX2lzQ29tYmluZWRUZXh0KQogICAgICAgICBtX3Bh
aW50SW5mby5jb250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFpbnRSZWN0LCBSb3RhdGlv
bkRpcmVjdGlvbjo6Q291bnRlcmNsb2Nrd2lzZSkpOwpAQCAtODE5LDggKzgxNSw3IEBAIHZvaWQg
VGV4dEJveFBhaW50ZXI6OmZpbGxDb21wb3NpdGlvblVuZGVybGluZShmbG9hdCBzdGFydCwgZmxv
YXQgd2lkdGgsIGNvbnN0IENvCiAgICAgICAgIHN0YXJ0ICs9IDE7CiAgICAgICAgIHdpZHRoIC09
IDI7CiAKLSAgICAgICAgYXV0byYgc3R5bGUgPSBtX3JlbmRlcmVyLnN0eWxlKCk7Ci0gICAgICAg
IGF1dG8gdW5kZXJsaW5lQ29sb3IgPSB1bmRlcmxpbmUuY29tcG9zaXRpb25VbmRlcmxpbmVDb2xv
ciA9PSBDb21wb3NpdGlvblVuZGVybGluZUNvbG9yOjpUZXh0Q29sb3IgPyBzdHlsZS52aXNpdGVk
RGVwZW5kZW50Q29sb3JXaXRoQ29sb3JGaWx0ZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RmlsbENv
bG9yKSA6IHN0eWxlLmNvbG9yQnlBcHBseWluZ0NvbG9yRmlsdGVyKHVuZGVybGluZS5jb2xvcik7
CisgICAgICAgIGF1dG8gdW5kZXJsaW5lQ29sb3IgPSB1bmRlcmxpbmUuY29tcG9zaXRpb25VbmRl
cmxpbmVDb2xvciA9PSBDb21wb3NpdGlvblVuZGVybGluZUNvbG9yOjpUZXh0Q29sb3IgPyBtX3N0
eWxlLnZpc2l0ZWREZXBlbmRlbnRDb2xvcldpdGhDb2xvckZpbHRlcihDU1NQcm9wZXJ0eVdlYmtp
dFRleHRGaWxsQ29sb3IpIDogbV9zdHlsZS5jb2xvckJ5QXBwbHlpbmdDb2xvckZpbHRlcih1bmRl
cmxpbmUuY29sb3IpOwogCiAgICAgICAgIGF1dG8mIGNvbnRleHQgPSBtX3BhaW50SW5mby5jb250
ZXh0KCk7CiAgICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlQ29sb3IodW5kZXJsaW5lQ29sb3IpOwpA
QCAtMTEyOSw3ICsxMTI0LDcgQEAgY29uc3QgRm9udENhc2NhZGUmIFRleHRCb3hQYWludGVyOjpm
b250Q2FzY2FkZSgpIGNvbnN0CiAgICAgaWYgKG1faXNDb21iaW5lZFRleHQpCiAgICAgICAgIHJl
dHVybiBkb3duY2FzdDxSZW5kZXJDb21iaW5lVGV4dD4obV9yZW5kZXJlcikudGV4dENvbWJpbmVG
b250KCk7CiAKLSAgICByZXR1cm4gbV90ZXh0Qm94LnN0eWxlKCkuZm9udENhc2NhZGUoKTsKKyAg
ICByZXR1cm4gbV9zdHlsZS5mb250Q2FzY2FkZSgpOwogfQogCiBGbG9hdFBvaW50IFRleHRCb3hQ
YWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50UmVjdChjb25zdCBGbG9hdFJlY3QmIHBhaW50UmVj
dCkgY29uc3QKQEAgLTExNDAsOSArMTEzNSw5IEBAIEZsb2F0UG9pbnQgVGV4dEJveFBhaW50ZXI6
OnRleHRPcmlnaW5Gcm9tUGFpbnRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcGFpbnRSZWN0KSBjCiAg
ICAgICAgICAgICB0ZXh0T3JpZ2luID0gbmV3T3JpZ2luLnZhbHVlKCk7CiAgICAgfQogICAgIGlm
ICh0ZXh0Qm94KCkuaXNIb3Jpem9udGFsKCkpCi0gICAgICAgIHRleHRPcmlnaW4uc2V0WShyb3Vu
ZFRvRGV2aWNlUGl4ZWwoTGF5b3V0VW5pdCB7IHRleHRPcmlnaW4ueSgpIH0sIG1fcmVuZGVyZXIu
ZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZhY3RvcigpKSk7CisgICAgICAgIHRleHRPcmlnaW4uc2V0
WShyb3VuZFRvRGV2aWNlUGl4ZWwoTGF5b3V0VW5pdCB7IHRleHRPcmlnaW4ueSgpIH0sIG1fZG9j
dW1lbnQuZGV2aWNlU2NhbGVGYWN0b3IoKSkpOwogICAgIGVsc2UKLSAgICAgICAgdGV4dE9yaWdp
bi5zZXRYKHJvdW5kVG9EZXZpY2VQaXhlbChMYXlvdXRVbml0IHsgdGV4dE9yaWdpbi54KCkgfSwg
bV9yZW5kZXJlci5kb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCkpKTsKKyAgICAgICAgdGV4
dE9yaWdpbi5zZXRYKHJvdW5kVG9EZXZpY2VQaXhlbChMYXlvdXRVbml0IHsgdGV4dE9yaWdpbi54
KCkgfSwgbV9kb2N1bWVudC5kZXZpY2VTY2FsZUZhY3RvcigpKSk7CiAgICAgcmV0dXJuIHRleHRP
cmlnaW47CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94
UGFpbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmgKaW5k
ZXggNWI3M2U3NWE5ZWM1Li4xYmFkMWIyNGVkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0Qm94UGFpbnRlci5oCkBAIC00OCw3ICs0OCw3IEBAIHN0cnVjdCBTdHlsZWRNYXJrZWRU
ZXh0OwogCiBjbGFzcyBUZXh0Qm94UGFpbnRlciB7CiBwdWJsaWM6Ci0gICAgVGV4dEJveFBhaW50
ZXIoY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnQmLCBjb25zdCBJbmxpbmVE
aXNwbGF5OjpCb3gmLCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQp
OworICAgIFRleHRCb3hQYWludGVyKGNvbnN0IExheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250
ZW50JiwgY29uc3QgSW5saW5lRGlzcGxheTo6Qm94JiwgY29uc3QgUmVuZGVyU3R5bGUmLCBQYWlu
dEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpOwogICAgIH5UZXh0Qm94UGFp
bnRlcigpOwogCiAgICAgdm9pZCBwYWludCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473134</attachid>
            <date>2024-11-04 15:55:57 -0800</date>
            <delta_ts>2024-11-14 15:59:23 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-282561-20241104155556.patch</filename>
            <type>text/plain</type>
            <size>12435</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA5N2NlMmQwMDM1MjczZTU3MTczOWQ4NDEzZDRjODJlNjVkNTc5NGY2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNCBOb3YgMjAyNCAxNDowMToyNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtUZXh0Qm94
UGFpbnRlcl0gTGV0J3MgdXNlIHRoZSBjYWNoZWQgUmVuZGVyU3R5bGUKIGNvbnNpc3RlbnRseSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNTYxCgpSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCjEuIExpbmUgZGVwZW5kZW50IHN0eWxlIGlzIHdoYXQgVGV4dEJv
eCBoYXMuIE5vIG5lZWQgdG8gY2hlY2sgZm9yIGlzRmlyc3RMaW5lLgoyLiBQYXNzIGluIHRoZSBy
ZWxldmFudCBzdHlsZSAodGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgdXNpbmcgVGV4dEJveFBh
aW50ZXIgYWNyb3NzIHZpc3VhbGx5IGFkamFjZW50IHRleHQgYm94ZXMpLgozLiBBZGp1c3QgUmVu
ZGVyVGV4dDo6c3R5bGVEaWRDaGFuZ2UgdG8gd29yayB3aXRoIGJsb2NrIGNvbnRhaW5lciBzdHls
ZSBjaGFuZ2UgdG9vIChpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
ZGl0aW9uYWwvY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAwMmIuaHRtbCBmYWls
cyB3aGVuIGZpcnN0IGxpbmUgc3R5bGUgY2hhbmdlcyBkdWUgdG8gYmxvY2sgY29udGFpbmVyIHdp
ZHRoIGNoYW5nZSkKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRQYWludGVyLmNwcDoKKFdlYkNvcmU6OkxheW91
dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50UGFpbnRlcjo6cGFpbnREaXNwbGF5Qm94KToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50TWFza0ZvclRleHRGaWxsQm94KToKKiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwOgooV2ViQ29yZTo6VGV4dEJv
eFBhaW50ZXI6OlRleHRCb3hQYWludGVyKToKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWlu
dENvbXBvc2l0aW9uRm9yZWdyb3VuZCk6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6cGFpbnRG
b3JlZ3JvdW5kQW5kRGVjb3JhdGlvbnMpOgooV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OmNvbGxl
Y3REZWNvcmF0aW5nQm94ZXNGb3JUZXh0Qm94KToKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpw
YWludEZvcmVncm91bmREZWNvcmF0aW9ucyk6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6Zmls
bENvbXBvc2l0aW9uVW5kZXJsaW5lIGNvbnN0KToKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpm
b250Q2FzY2FkZSBjb25zdCk6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6dGV4dE9yaWdpbkZy
b21QYWludFJlY3QgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFp
bnRlci5oOgotLS0KIC4uLi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRQYWludGVyLmNw
cCB8ICAyICstCiAuLi4vcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCAgICAgICAg
fCAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwICAgICAgIHwg
IDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwICAgfCAz
MSArKysrKysrKy0tLS0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBh
aW50ZXIuaCAgICAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAy
NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudFBhaW50ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnRQYWludGVyLmNwcAppbmRleCA0MGJhZGQxNzVkYTEuLmUzYTBmNTQxZWRk
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRQYWludGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudFBhaW50ZXIuY3BwCkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgSW5saW5lQ29udGVudFBhaW50
ZXI6OnBhaW50RGlzcGxheUJveChjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gmIGJveCkKICAgICAg
ICAgaWYgKCFoYXNWaXNpYmxlRGFtYWdlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
IFRleHRCb3hQYWludGVyIHsgbV9pbmxpbmVDb250ZW50LCBib3gsIG1fcGFpbnRJbmZvLCBtX3Bh
aW50T2Zmc2V0IH0ucGFpbnQoKTsKKyAgICAgICAgVGV4dEJveFBhaW50ZXIgeyBtX2lubGluZUNv
bnRlbnQsIGJveCwgYm94LnN0eWxlKCksIG1fcGFpbnRJbmZvLCBtX3BhaW50T2Zmc2V0IH0ucGFp
bnQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYjI1ODVmZDA5YjBkLi45N2Rk
NDA0NzUzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcApAQCAtNzE3LDggKzcxNyw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OnBhaW50TWFza0ZvclRleHRGaWxsQm94KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29u
CiAgICAgICAgIGZvciAoYXV0byBib3ggPSBpbmxpbmVCb3gtPmZpcnN0TGVhZkJveCgpLCBlbmQg
PSBpbmxpbmVCb3gtPmVuZExlYWZCb3goKTsgYm94ICE9IGVuZDsgYm94LnRyYXZlcnNlTmV4dE9u
TGluZSgpKSB7CiAgICAgICAgICAgICBpZiAoIWJveC0+aXNUZXh0KCkpCiAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICBUZXh0Qm94UGFpbnRlciB0ZXh0Qm94UGFpbnRlcihi
b3gtPm1vZGVyblBhdGgoKS5pbmxpbmVDb250ZW50KCksIGJveC0+bW9kZXJuUGF0aCgpLmJveCgp
LCBtYXNrSW5mbywgcGFpbnRPZmZzZXQpOwotICAgICAgICAgICAgdGV4dEJveFBhaW50ZXIucGFp
bnQoKTsKKyAgICAgICAgICAgIFRleHRCb3hQYWludGVyIHsgYm94LT5tb2Rlcm5QYXRoKCkuaW5s
aW5lQ29udGVudCgpLCBib3gtPm1vZGVyblBhdGgoKS5ib3goKSwgYm94LT5tb2Rlcm5QYXRoKCku
Ym94KCkuc3R5bGUoKSwgbWFza0luZm8sIHBhaW50T2Zmc2V0IH0ucGFpbnQoKTsKICAgICAgICAg
fQogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHQuY3BwCmluZGV4IGM4YWQ3ZTBhZjgxMC4uZDI0YjhiNTQxYTc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0zODIsOCArMzgyLDggQEAgdm9pZCBSZW5kZXJU
ZXh0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWwKICAgICBpZiAobmVlZHNSZXNldFRleHQgfHwgb2xkVHJhbnNmb3JtICE9IG5l
d1N0eWxlLnRleHRUcmFuc2Zvcm0oKSB8fCBvbGRTZWN1cml0eSAhPSBuZXdTdHlsZS50ZXh0U2Vj
dXJpdHkoKSkKICAgICAgICAgUmVuZGVyVGV4dDo6c2V0VGV4dChvcmlnaW5hbFRleHQoKSwgdHJ1
ZSk7CiAKLSAgICAvLyBGSVhNRTogRmlyc3QgbGluZSBjaGFuZ2Ugb24gdGhlIGJsb2NrIGNvbWVz
IGluIGFzIGVxdWFsIG9uIHRleHQgd2l0aCBpbmxpbmUgYm94IHBhcmVudC4KLSAgICBhdXRvIG5l
ZWRzTGF5b3V0Qm94U3R5bGVVcGRhdGUgPSAoZGlmZiA+PSBTdHlsZURpZmZlcmVuY2U6OlJlcGFp
bnQgfHwgKGlzPFJlbmRlcklubGluZT4ocGFyZW50KCkpICYmICZzdHlsZSgpICE9ICZmaXJzdExp
bmVTdHlsZSgpKSkgJiYgbGF5b3V0Qm94KCk7CisgICAgLy8gRklYTUU6IEZpcnN0IGxpbmUgY2hh
bmdlIG9uIHRoZSBibG9jayBjb21lcyBpbiBhcyBlcXVhbCBvbiB0ZXh0LgorICAgIGF1dG8gbmVl
ZHNMYXlvdXRCb3hTdHlsZVVwZGF0ZSA9IGxheW91dEJveCgpICYmIChkaWZmID49IFN0eWxlRGlm
ZmVyZW5jZTo6UmVwYWludCB8fCAoJnN0eWxlKCkgIT0gJmZpcnN0TGluZVN0eWxlKCkpKTsKICAg
ICBpZiAobmVlZHNMYXlvdXRCb3hTdHlsZVVwZGF0ZSkKICAgICAgICAgTGF5b3V0SW50ZWdyYXRp
b246OkxpbmVMYXlvdXQ6OnVwZGF0ZVN0eWxlKCp0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCmluZGV4IDVlNzQyMDhhZTJmOS4uNjY4YWMxNjE4
MzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKQEAg
LTYwLDExICs2MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBGbG9hdFJlY3Qg
Y2FsY3VsYXRlRG9jdW1lbnRNYXJrZXJCb3VuZHMoY29uc3QgSW5saW5lSXRlcmF0b3I6OlRleHRC
b3hJdGVyYXRvciYsIGNvbnN0IE1hcmtlZFRleHQmKTsKIAotVGV4dEJveFBhaW50ZXI6OlRleHRC
b3hQYWludGVyKGNvbnN0IExheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50JiBpbmxpbmVD
b250ZW50LCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gmIGJveCwgUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKK1RleHRCb3hQYWludGVyOjpUZXh0
Qm94UGFpbnRlcihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudCYgaW5saW5l
Q29udGVudCwgY29uc3QgSW5saW5lRGlzcGxheTo6Qm94JiBib3gsIGNvbnN0IFJlbmRlclN0eWxl
JiBzdHlsZSwgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9m
ZnNldCkKICAgICA6IG1fdGV4dEJveChJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aCB7IGlu
bGluZUNvbnRlbnQsIGlubGluZUNvbnRlbnQuaW5kZXhGb3JCb3goYm94KSB9KQogICAgICwgbV9y
ZW5kZXJlcihkb3duY2FzdDxSZW5kZXJUZXh0PihtX3RleHRCb3gucmVuZGVyZXIoKSkpCiAgICAg
LCBtX2RvY3VtZW50KG1fcmVuZGVyZXIuZG9jdW1lbnQoKSkKLSAgICAsIG1fc3R5bGUobV90ZXh0
Qm94LnN0eWxlKCkpCisgICAgLCBtX3N0eWxlKHN0eWxlKQogICAgICwgbV9sb2dpY2FsUmVjdCht
X3RleHRCb3guaXNIb3Jpem9udGFsKCkgPyBtX3RleHRCb3gudmlzdWFsUmVjdElnbm9yaW5nQmxv
Y2tEaXJlY3Rpb24oKSA6IG1fdGV4dEJveC52aXN1YWxSZWN0SWdub3JpbmdCbG9ja0RpcmVjdGlv
bigpLnRyYW5zcG9zZWRSZWN0KCkpCiAgICAgLCBtX3BhaW50VGV4dFJ1bihtX3RleHRCb3gudGV4
dFJ1bigpKQogICAgICwgbV9wYWludEluZm8ocGFpbnRJbmZvKQpAQCAtMjIwLDEwICsyMjAsOCBA
QCB2b2lkIFRleHRCb3hQYWludGVyOjpwYWludENvbXBvc2l0aW9uRm9yZWdyb3VuZChjb25zdCBT
dHlsZWRNYXJrZWRUZXh0JiBtYXJrZWRUZQogCiAgICAgaGlnaGxpZ2h0c1dpdGhGb3JlZ3JvdW5k
LmFwcGVuZCh7IGhpZ2hsaWdodHMubGFzdCgpLmVuZE9mZnNldCwgdGV4dEJveCgpLmVuZCgpLCB7
IH0sIHsgfSB9KTsKIAotICAgIGF1dG8mIGxpbmVTdHlsZSA9IG1faXNGaXJzdExpbmUgPyBtX3Jl
bmRlcmVyLmZpcnN0TGluZVN0eWxlKCkgOiBtX3JlbmRlcmVyLnN0eWxlKCk7Ci0KICAgICBmb3Ig
KGF1dG8mIGhpZ2hsaWdodCA6IGhpZ2hsaWdodHNXaXRoRm9yZWdyb3VuZCkgewotICAgICAgICBh
dXRvIHN0eWxlID0gU3R5bGVkTWFya2VkVGV4dDo6Y29tcHV0ZVN0eWxlRm9yVW5tYXJrZWRNYXJr
ZWRUZXh0KG1fcmVuZGVyZXIsIGxpbmVTdHlsZSwgbV9pc0ZpcnN0TGluZSwgbV9wYWludEluZm8p
OworICAgICAgICBhdXRvIHN0eWxlID0gU3R5bGVkTWFya2VkVGV4dDo6Y29tcHV0ZVN0eWxlRm9y
VW5tYXJrZWRNYXJrZWRUZXh0KG1fcmVuZGVyZXIsIG1fc3R5bGUsIG1faXNGaXJzdExpbmUsIG1f
cGFpbnRJbmZvKTsKIAogICAgICAgICBpZiAoaGlnaGxpZ2h0LmVuZE9mZnNldCA8PSB0ZXh0Qm94
KCkuc3RhcnQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMjk3LDkgKzI5NSw4IEBAIHZv
aWQgVGV4dEJveFBhaW50ZXI6OnBhaW50Rm9yZWdyb3VuZEFuZERlY29yYXRpb25zKCkKICAgICAg
ICAgcmV0dXJuICFoYXNCYWNrd2FyZFRydW5jdGF0aW9uID8gbV9zZWxlY3RhYmxlUmFuZ2UuY2xh
bXAodGV4dEJveCgpLmVuZCgpKSA6IHRleHRCb3goKS5sZW5ndGgoKTsKICAgICB9OwogICAgIGlm
ICghY29udGVudE1heU5lZWRTdHlsZWRNYXJrZWRUZXh0KCkpIHsKLSAgICAgICAgYXV0byYgbGlu
ZVN0eWxlID0gbV9pc0ZpcnN0TGluZSA/IG1fcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSA6IG1f
cmVuZGVyZXIuc3R5bGUoKTsKICAgICAgICAgYXV0byBtYXJrZWRUZXh0ID0gTWFya2VkVGV4dCB7
IHN0YXJ0UG9zaXRpb24oKSwgZW5kUG9zaXRpb24oKSwgTWFya2VkVGV4dDo6VHlwZTo6VW5tYXJr
ZWQgfTsKLSAgICAgICAgYXV0byBzdHlsZWRNYXJrZWRUZXh0ID0gU3R5bGVkTWFya2VkVGV4dCB7
IG1hcmtlZFRleHQsIFN0eWxlZE1hcmtlZFRleHQ6OmNvbXB1dGVTdHlsZUZvclVubWFya2VkTWFy
a2VkVGV4dChtX3JlbmRlcmVyLCBsaW5lU3R5bGUsIG1faXNGaXJzdExpbmUsIG1fcGFpbnRJbmZv
KSB9OworICAgICAgICBhdXRvIHN0eWxlZE1hcmtlZFRleHQgPSBTdHlsZWRNYXJrZWRUZXh0IHsg
bWFya2VkVGV4dCwgU3R5bGVkTWFya2VkVGV4dDo6Y29tcHV0ZVN0eWxlRm9yVW5tYXJrZWRNYXJr
ZWRUZXh0KG1fcmVuZGVyZXIsIG1fc3R5bGUsIG1faXNGaXJzdExpbmUsIG1fcGFpbnRJbmZvKSB9
OwogICAgICAgICBwYWludENvbXBvc2l0aW9uRm9yZWdyb3VuZChzdHlsZWRNYXJrZWRUZXh0KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTU5OCw3ICs1OTUsNyBAQCB2b2lkIFRleHRCb3hQ
YWludGVyOjpjb2xsZWN0RGVjb3JhdGluZ0JveGVzRm9yVGV4dEJveChEZWNvcmF0aW5nQm94TGlz
dCYgZGVjb3JhdAogCiAgICAgaWYgKCF0ZXh0Qm94LT5pc0hvcml6b250YWwoKSkgewogICAgICAg
ICAvLyBGSVhNRTogVmVydGljYWwgd3JpdGluZyBtb2RlIG5lZWRzIHNvbWUgY29vcmRpbmF0ZSBz
cGFjZSB0cmFuc2Zvcm1hdGlvbiBmb3IgcGFyZW50IGlubGluZSBib3hlcyBhcyB3ZSByb3RhdGUg
dGhlIGNvbnRlbnQgd2l0aCBtX3BhaW50UmVjdCAoc2VlIDo6cGFpbnQpCi0gICAgICAgIGRlY29y
YXRpbmdCb3hMaXN0LmFwcGVuZCh7IGFuY2VzdG9ySW5saW5lQm94LCBtX2lzRmlyc3RMaW5lID8g
bV9yZW5kZXJlci5maXJzdExpbmVTdHlsZSgpIDogbV9yZW5kZXJlci5zdHlsZSgpLCBvdmVycmlk
ZURlY29yYXRpb25TdHlsZSwgdGV4dEJveExvY2F0aW9uIH0pOworICAgICAgICBkZWNvcmF0aW5n
Qm94TGlzdC5hcHBlbmQoeyBhbmNlc3RvcklubGluZUJveCwgbV9zdHlsZSwgb3ZlcnJpZGVEZWNv
cmF0aW9uU3R5bGUsIHRleHRCb3hMb2NhdGlvbiB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtNjkwLDkgKzY4Nyw4IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OnBhaW50QmFja2dyb3Vu
ZERlY29yYXRpb25zKFRleHREZWNvcmF0aW9uUGFpbnRlciYgZGVjb3JhdGlvCiAKIHZvaWQgVGV4
dEJveFBhaW50ZXI6OnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKFRleHREZWNvcmF0aW9uUGFp
bnRlciYgZGVjb3JhdGlvblBhaW50ZXIsIGNvbnN0IFN0eWxlZE1hcmtlZFRleHQmIG1hcmtlZFRl
eHQsIGNvbnN0IEZsb2F0UmVjdCYgdGV4dEJveFBhaW50UmVjdCkKIHsKLSAgICBhdXRvJiBzdHls
ZVRvVXNlID0gbV9pc0ZpcnN0TGluZSA/IG1fcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSA6IG1f
cmVuZGVyZXIuc3R5bGUoKTsKICAgICBhdXRvIGNvbXB1dGVkVGV4dERlY29yYXRpb25UeXBlID0g
WyZdIHsKLSAgICAgICAgYXV0byB0ZXh0RGVjb3JhdGlvbnMgPSBzdHlsZVRvVXNlLnRleHREZWNv
cmF0aW9uc0luRWZmZWN0KCk7CisgICAgICAgIGF1dG8gdGV4dERlY29yYXRpb25zID0gbV9zdHls
ZS50ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpOwogICAgICAgICB0ZXh0RGVjb3JhdGlvbnMuYWRk
KFRleHREZWNvcmF0aW9uUGFpbnRlcjo6dGV4dERlY29yYXRpb25zSW5FZmZlY3RGb3JTdHlsZSht
YXJrZWRUZXh0LnN0eWxlLnRleHREZWNvcmF0aW9uU3R5bGVzKSk7CiAgICAgICAgIHJldHVybiB0
ZXh0RGVjb3JhdGlvbnM7CiAgICAgfSgpOwpAQCAtNzA0LDEzICs3MDAsMTMgQEAgdm9pZCBUZXh0
Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kRGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWlu
dGVyJiBkZWNvcmF0aW8KICAgICAgICAgbV9wYWludEluZm8uY29udGV4dCgpLmNvbmNhdENUTShy
b3RhdGlvbihtX3BhaW50UmVjdCwgUm90YXRpb25EaXJlY3Rpb246OkNsb2Nrd2lzZSkpOwogCiAg
ICAgYXV0byBkZXZpY2VTY2FsZUZhY3RvciA9IG1fZG9jdW1lbnQuZGV2aWNlU2NhbGVGYWN0b3Io
KTsKLSAgICBhdXRvIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY29tcHV0ZWRUZXh0RGVjb3Jh
dGlvblRoaWNrbmVzcyhzdHlsZVRvVXNlLCBkZXZpY2VTY2FsZUZhY3Rvcik7Ci0gICAgYXV0byBs
aW5ldGhyb3VnaENlbnRlciA9IGNvbXB1dGVkTGluZXRocm91Z2hDZW50ZXIoc3R5bGVUb1VzZSwg
dGV4dERlY29yYXRpb25UaGlja25lc3MsIGNvbXB1dGVkQXV0b1RleHREZWNvcmF0aW9uVGhpY2tu
ZXNzKHN0eWxlVG9Vc2UsIGRldmljZVNjYWxlRmFjdG9yKSk7CisgICAgYXV0byB0ZXh0RGVjb3Jh
dGlvblRoaWNrbmVzcyA9IGNvbXB1dGVkVGV4dERlY29yYXRpb25UaGlja25lc3MobV9zdHlsZSwg
ZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGF1dG8gbGluZXRocm91Z2hDZW50ZXIgPSBjb21wdXRl
ZExpbmV0aHJvdWdoQ2VudGVyKG1fc3R5bGUsIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBjb21w
dXRlZEF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhtX3N0eWxlLCBkZXZpY2VTY2FsZUZhY3Rv
cikpOwogICAgIGRlY29yYXRpb25QYWludGVyLnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKHsg
dGV4dEJveFBhaW50UmVjdC5sb2NhdGlvbigpCiAgICAgICAgICwgdGV4dEJveFBhaW50UmVjdC53
aWR0aCgpCiAgICAgICAgICwgdGV4dERlY29yYXRpb25UaGlja25lc3MKICAgICAgICAgLCBsaW5l
dGhyb3VnaENlbnRlcgotICAgICAgICAsIHdhdnlTdHJva2VQYXJhbWV0ZXJzKHN0eWxlVG9Vc2Uu
Y29tcHV0ZWRGb250U2l6ZSgpKSB9LCBtYXJrZWRUZXh0LnN0eWxlLnRleHREZWNvcmF0aW9uU3R5
bGVzKTsKKyAgICAgICAgLCB3YXZ5U3Ryb2tlUGFyYW1ldGVycyhtX3N0eWxlLmNvbXB1dGVkRm9u
dFNpemUoKSkgfSwgbWFya2VkVGV4dC5zdHlsZS50ZXh0RGVjb3JhdGlvblN0eWxlcyk7CiAKICAg
ICBpZiAobV9pc0NvbWJpbmVkVGV4dCkKICAgICAgICAgbV9wYWludEluZm8uY29udGV4dCgpLmNv
bmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgUm90YXRpb25EaXJlY3Rpb246OkNvdW50ZXJj
bG9ja3dpc2UpKTsKQEAgLTgxOSw4ICs4MTUsNyBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpmaWxs
Q29tcG9zaXRpb25VbmRlcmxpbmUoZmxvYXQgc3RhcnQsIGZsb2F0IHdpZHRoLCBjb25zdCBDbwog
ICAgICAgICBzdGFydCArPSAxOwogICAgICAgICB3aWR0aCAtPSAyOwogCi0gICAgICAgIGF1dG8m
IHN0eWxlID0gbV9yZW5kZXJlci5zdHlsZSgpOwotICAgICAgICBhdXRvIHVuZGVybGluZUNvbG9y
ID0gdW5kZXJsaW5lLmNvbXBvc2l0aW9uVW5kZXJsaW5lQ29sb3IgPT0gQ29tcG9zaXRpb25VbmRl
cmxpbmVDb2xvcjo6VGV4dENvbG9yID8gc3R5bGUudmlzaXRlZERlcGVuZGVudENvbG9yV2l0aENv
bG9yRmlsdGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dEZpbGxDb2xvcikgOiBzdHlsZS5jb2xvckJ5
QXBwbHlpbmdDb2xvckZpbHRlcih1bmRlcmxpbmUuY29sb3IpOworICAgICAgICBhdXRvIHVuZGVy
bGluZUNvbG9yID0gdW5kZXJsaW5lLmNvbXBvc2l0aW9uVW5kZXJsaW5lQ29sb3IgPT0gQ29tcG9z
aXRpb25VbmRlcmxpbmVDb2xvcjo6VGV4dENvbG9yID8gbV9zdHlsZS52aXNpdGVkRGVwZW5kZW50
Q29sb3JXaXRoQ29sb3JGaWx0ZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RmlsbENvbG9yKSA6IG1f
c3R5bGUuY29sb3JCeUFwcGx5aW5nQ29sb3JGaWx0ZXIodW5kZXJsaW5lLmNvbG9yKTsKIAogICAg
ICAgICBhdXRvJiBjb250ZXh0ID0gbV9wYWludEluZm8uY29udGV4dCgpOwogICAgICAgICBjb250
ZXh0LnNldFN0cm9rZUNvbG9yKHVuZGVybGluZUNvbG9yKTsKQEAgLTExMjksNyArMTEyNCw3IEBA
IGNvbnN0IEZvbnRDYXNjYWRlJiBUZXh0Qm94UGFpbnRlcjo6Zm9udENhc2NhZGUoKSBjb25zdAog
ICAgIGlmIChtX2lzQ29tYmluZWRUZXh0KQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVy
Q29tYmluZVRleHQ+KG1fcmVuZGVyZXIpLnRleHRDb21iaW5lRm9udCgpOwogCi0gICAgcmV0dXJu
IG1fdGV4dEJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCk7CisgICAgcmV0dXJuIG1fc3R5bGUuZm9u
dENhc2NhZGUoKTsKIH0KIAogRmxvYXRQb2ludCBUZXh0Qm94UGFpbnRlcjo6dGV4dE9yaWdpbkZy
b21QYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiBwYWludFJlY3QpIGNvbnN0CkBAIC0xMTQwLDkg
KzExMzUsOSBAQCBGbG9hdFBvaW50IFRleHRCb3hQYWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50
UmVjdChjb25zdCBGbG9hdFJlY3QmIHBhaW50UmVjdCkgYwogICAgICAgICAgICAgdGV4dE9yaWdp
biA9IG5ld09yaWdpbi52YWx1ZSgpOwogICAgIH0KICAgICBpZiAodGV4dEJveCgpLmlzSG9yaXpv
bnRhbCgpKQotICAgICAgICB0ZXh0T3JpZ2luLnNldFkocm91bmRUb0RldmljZVBpeGVsKExheW91
dFVuaXQgeyB0ZXh0T3JpZ2luLnkoKSB9LCBtX3JlbmRlcmVyLmRvY3VtZW50KCkuZGV2aWNlU2Nh
bGVGYWN0b3IoKSkpOworICAgICAgICB0ZXh0T3JpZ2luLnNldFkocm91bmRUb0RldmljZVBpeGVs
KExheW91dFVuaXQgeyB0ZXh0T3JpZ2luLnkoKSB9LCBtX2RvY3VtZW50LmRldmljZVNjYWxlRmFj
dG9yKCkpKTsKICAgICBlbHNlCi0gICAgICAgIHRleHRPcmlnaW4uc2V0WChyb3VuZFRvRGV2aWNl
UGl4ZWwoTGF5b3V0VW5pdCB7IHRleHRPcmlnaW4ueCgpIH0sIG1fcmVuZGVyZXIuZG9jdW1lbnQo
KS5kZXZpY2VTY2FsZUZhY3RvcigpKSk7CisgICAgICAgIHRleHRPcmlnaW4uc2V0WChyb3VuZFRv
RGV2aWNlUGl4ZWwoTGF5b3V0VW5pdCB7IHRleHRPcmlnaW4ueCgpIH0sIG1fZG9jdW1lbnQuZGV2
aWNlU2NhbGVGYWN0b3IoKSkpOwogICAgIHJldHVybiB0ZXh0T3JpZ2luOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCmluZGV4IDViNzNlNzVhOWVjNS4uMWJh
ZDFiMjRlZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBh
aW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaApA
QCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgU3R5bGVkTWFya2VkVGV4dDsKIAogY2xhc3MgVGV4dEJv
eFBhaW50ZXIgewogcHVibGljOgotICAgIFRleHRCb3hQYWludGVyKGNvbnN0IExheW91dEludGVn
cmF0aW9uOjpJbmxpbmVDb250ZW50JiwgY29uc3QgSW5saW5lRGlzcGxheTo6Qm94JiwgUGFpbnRJ
bmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsKKyAgICBUZXh0Qm94UGFpbnRl
cihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudCYsIGNvbnN0IElubGluZURp
c3BsYXk6OkJveCYsIGNvbnN0IFJlbmRlclN0eWxlJiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0
UG9pbnQmIHBhaW50T2Zmc2V0KTsKICAgICB+VGV4dEJveFBhaW50ZXIoKTsKIAogICAgIHZvaWQg
cGFpbnQoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>473232</attachid>
            <date>2024-11-14 15:59:25 -0800</date>
            <delta_ts>2024-11-14 20:38:29 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-282561-20241114155924.patch</filename>
            <type>text/plain</type>
            <size>12435</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAyMTRhMmIxOTEwMTBiMzYzM2E1OGRjYzkzN2YyODJiODUyZGQ5YmMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNCBOb3YgMjAyNCAxNDowMToyNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIFtUZXh0Qm94
UGFpbnRlcl0gTGV0J3MgdXNlIHRoZSBjYWNoZWQgUmVuZGVyU3R5bGUKIGNvbnNpc3RlbnRseSBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNTYxCgpSZXZpZXdlZCBi
eSBBbnR0aSBLb2l2aXN0by4KCjEuIExpbmUgZGVwZW5kZW50IHN0eWxlIGlzIHdoYXQgVGV4dEJv
eCBoYXMuIE5vIG5lZWQgdG8gY2hlY2sgZm9yIGlzRmlyc3RMaW5lLgoyLiBQYXNzIGluIHRoZSBy
ZWxldmFudCBzdHlsZSAodGhpcyBpcyBpbiBwcmVwYXJhdGlvbiBmb3IgdXNpbmcgVGV4dEJveFBh
aW50ZXIgYWNyb3NzIHZpc3VhbGx5IGFkamFjZW50IHRleHQgYm94ZXMpLgozLiBBZGp1c3QgUmVu
ZGVyVGV4dDo6c3R5bGVEaWRDaGFuZ2UgdG8gd29yayB3aXRoIGJsb2NrIGNvbnRhaW5lciBzdHls
ZSBjaGFuZ2UgdG9vIChpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
ZGl0aW9uYWwvY29udGFpbmVyLXF1ZXJpZXMvcHNldWRvLWVsZW1lbnRzLTAwMmIuaHRtbCBmYWls
cyB3aGVuIGZpcnN0IGxpbmUgc3R5bGUgY2hhbmdlcyBkdWUgdG8gYmxvY2sgY29udGFpbmVyIHdp
ZHRoIGNoYW5nZSkKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRQYWludGVyLmNwcDoKKFdlYkNvcmU6OkxheW91
dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50UGFpbnRlcjo6cGFpbnREaXNwbGF5Qm94KToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50TWFza0ZvclRleHRGaWxsQm94KToKKiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwOgooV2ViQ29yZTo6VGV4dEJv
eFBhaW50ZXI6OlRleHRCb3hQYWludGVyKToKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpwYWlu
dENvbXBvc2l0aW9uRm9yZWdyb3VuZCk6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6cGFpbnRG
b3JlZ3JvdW5kQW5kRGVjb3JhdGlvbnMpOgooV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6OmNvbGxl
Y3REZWNvcmF0aW5nQm94ZXNGb3JUZXh0Qm94KToKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpw
YWludEZvcmVncm91bmREZWNvcmF0aW9ucyk6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6Zmls
bENvbXBvc2l0aW9uVW5kZXJsaW5lIGNvbnN0KToKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyOjpm
b250Q2FzY2FkZSBjb25zdCk6CihXZWJDb3JlOjpUZXh0Qm94UGFpbnRlcjo6dGV4dE9yaWdpbkZy
b21QYWludFJlY3QgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFp
bnRlci5oOgotLS0KIC4uLi9MYXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRQYWludGVyLmNw
cCB8ICAyICstCiAuLi4vcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCAgICAgICAg
fCAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwICAgICAgIHwg
IDQgKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwICAgfCAz
MSArKysrKysrKy0tLS0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBh
aW50ZXIuaCAgICAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAy
NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29udGVudFBhaW50ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9MYXlvdXRJbnRlZ3JhdGlv
bklubGluZUNvbnRlbnRQYWludGVyLmNwcAppbmRleCA0MGJhZGQxNzVkYTEuLmUzYTBmNTQxZWRk
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL2lubGluZS9M
YXlvdXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnRQYWludGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvaW50ZWdyYXRpb24vaW5saW5lL0xheW91dEludGVncmF0aW9uSW5saW5lQ29u
dGVudFBhaW50ZXIuY3BwCkBAIC05Myw3ICs5Myw3IEBAIHZvaWQgSW5saW5lQ29udGVudFBhaW50
ZXI6OnBhaW50RGlzcGxheUJveChjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gmIGJveCkKICAgICAg
ICAgaWYgKCFoYXNWaXNpYmxlRGFtYWdlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
IFRleHRCb3hQYWludGVyIHsgbV9pbmxpbmVDb250ZW50LCBib3gsIG1fcGFpbnRJbmZvLCBtX3Bh
aW50T2Zmc2V0IH0ucGFpbnQoKTsKKyAgICAgICAgVGV4dEJveFBhaW50ZXIgeyBtX2lubGluZUNv
bnRlbnQsIGJveCwgYm94LnN0eWxlKCksIG1fcGFpbnRJbmZvLCBtX3BhaW50T2Zmc2V0IH0ucGFp
bnQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYjI1ODVmZDA5YjBkLi45N2Rk
NDA0NzUzMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hN
b2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcApAQCAtNzE3LDggKzcxNyw3IEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmpl
Y3Q6OnBhaW50TWFza0ZvclRleHRGaWxsQm94KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29u
CiAgICAgICAgIGZvciAoYXV0byBib3ggPSBpbmxpbmVCb3gtPmZpcnN0TGVhZkJveCgpLCBlbmQg
PSBpbmxpbmVCb3gtPmVuZExlYWZCb3goKTsgYm94ICE9IGVuZDsgYm94LnRyYXZlcnNlTmV4dE9u
TGluZSgpKSB7CiAgICAgICAgICAgICBpZiAoIWJveC0+aXNUZXh0KCkpCiAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICBUZXh0Qm94UGFpbnRlciB0ZXh0Qm94UGFpbnRlcihi
b3gtPm1vZGVyblBhdGgoKS5pbmxpbmVDb250ZW50KCksIGJveC0+bW9kZXJuUGF0aCgpLmJveCgp
LCBtYXNrSW5mbywgcGFpbnRPZmZzZXQpOwotICAgICAgICAgICAgdGV4dEJveFBhaW50ZXIucGFp
bnQoKTsKKyAgICAgICAgICAgIFRleHRCb3hQYWludGVyIHsgYm94LT5tb2Rlcm5QYXRoKCkuaW5s
aW5lQ29udGVudCgpLCBib3gtPm1vZGVyblBhdGgoKS5ib3goKSwgYm94LT5tb2Rlcm5QYXRoKCku
Ym94KCkuc3R5bGUoKSwgbWFza0luZm8sIHBhaW50T2Zmc2V0IH0ucGFpbnQoKTsKICAgICAgICAg
fQogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHQuY3BwCmluZGV4IGM4YWQ3ZTBhZjgxMC4uZDI0YjhiNTQxYTc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC0zODIsOCArMzgyLDggQEAgdm9pZCBSZW5kZXJU
ZXh0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5
bGUqIG9sZFN0eWwKICAgICBpZiAobmVlZHNSZXNldFRleHQgfHwgb2xkVHJhbnNmb3JtICE9IG5l
d1N0eWxlLnRleHRUcmFuc2Zvcm0oKSB8fCBvbGRTZWN1cml0eSAhPSBuZXdTdHlsZS50ZXh0U2Vj
dXJpdHkoKSkKICAgICAgICAgUmVuZGVyVGV4dDo6c2V0VGV4dChvcmlnaW5hbFRleHQoKSwgdHJ1
ZSk7CiAKLSAgICAvLyBGSVhNRTogRmlyc3QgbGluZSBjaGFuZ2Ugb24gdGhlIGJsb2NrIGNvbWVz
IGluIGFzIGVxdWFsIG9uIHRleHQgd2l0aCBpbmxpbmUgYm94IHBhcmVudC4KLSAgICBhdXRvIG5l
ZWRzTGF5b3V0Qm94U3R5bGVVcGRhdGUgPSAoZGlmZiA+PSBTdHlsZURpZmZlcmVuY2U6OlJlcGFp
bnQgfHwgKGlzPFJlbmRlcklubGluZT4ocGFyZW50KCkpICYmICZzdHlsZSgpICE9ICZmaXJzdExp
bmVTdHlsZSgpKSkgJiYgbGF5b3V0Qm94KCk7CisgICAgLy8gRklYTUU6IEZpcnN0IGxpbmUgY2hh
bmdlIG9uIHRoZSBibG9jayBjb21lcyBpbiBhcyBlcXVhbCBvbiB0ZXh0LgorICAgIGF1dG8gbmVl
ZHNMYXlvdXRCb3hTdHlsZVVwZGF0ZSA9IGxheW91dEJveCgpICYmIChkaWZmID49IFN0eWxlRGlm
ZmVyZW5jZTo6UmVwYWludCB8fCAoJnN0eWxlKCkgIT0gJmZpcnN0TGluZVN0eWxlKCkpKTsKICAg
ICBpZiAobmVlZHNMYXlvdXRCb3hTdHlsZVVwZGF0ZSkKICAgICAgICAgTGF5b3V0SW50ZWdyYXRp
b246OkxpbmVMYXlvdXQ6OnVwZGF0ZVN0eWxlKCp0aGlzKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwCmluZGV4IDVlNzQyMDhhZTJmOS4uNjY4YWMxNjE4
MzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKQEAg
LTYwLDExICs2MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBGbG9hdFJlY3Qg
Y2FsY3VsYXRlRG9jdW1lbnRNYXJrZXJCb3VuZHMoY29uc3QgSW5saW5lSXRlcmF0b3I6OlRleHRC
b3hJdGVyYXRvciYsIGNvbnN0IE1hcmtlZFRleHQmKTsKIAotVGV4dEJveFBhaW50ZXI6OlRleHRC
b3hQYWludGVyKGNvbnN0IExheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50JiBpbmxpbmVD
b250ZW50LCBjb25zdCBJbmxpbmVEaXNwbGF5OjpCb3gmIGJveCwgUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKK1RleHRCb3hQYWludGVyOjpUZXh0
Qm94UGFpbnRlcihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudCYgaW5saW5l
Q29udGVudCwgY29uc3QgSW5saW5lRGlzcGxheTo6Qm94JiBib3gsIGNvbnN0IFJlbmRlclN0eWxl
JiBzdHlsZSwgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9m
ZnNldCkKICAgICA6IG1fdGV4dEJveChJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aCB7IGlu
bGluZUNvbnRlbnQsIGlubGluZUNvbnRlbnQuaW5kZXhGb3JCb3goYm94KSB9KQogICAgICwgbV9y
ZW5kZXJlcihkb3duY2FzdDxSZW5kZXJUZXh0PihtX3RleHRCb3gucmVuZGVyZXIoKSkpCiAgICAg
LCBtX2RvY3VtZW50KG1fcmVuZGVyZXIuZG9jdW1lbnQoKSkKLSAgICAsIG1fc3R5bGUobV90ZXh0
Qm94LnN0eWxlKCkpCisgICAgLCBtX3N0eWxlKHN0eWxlKQogICAgICwgbV9sb2dpY2FsUmVjdCht
X3RleHRCb3guaXNIb3Jpem9udGFsKCkgPyBtX3RleHRCb3gudmlzdWFsUmVjdElnbm9yaW5nQmxv
Y2tEaXJlY3Rpb24oKSA6IG1fdGV4dEJveC52aXN1YWxSZWN0SWdub3JpbmdCbG9ja0RpcmVjdGlv
bigpLnRyYW5zcG9zZWRSZWN0KCkpCiAgICAgLCBtX3BhaW50VGV4dFJ1bihtX3RleHRCb3gudGV4
dFJ1bigpKQogICAgICwgbV9wYWludEluZm8ocGFpbnRJbmZvKQpAQCAtMjIwLDEwICsyMjAsOCBA
QCB2b2lkIFRleHRCb3hQYWludGVyOjpwYWludENvbXBvc2l0aW9uRm9yZWdyb3VuZChjb25zdCBT
dHlsZWRNYXJrZWRUZXh0JiBtYXJrZWRUZQogCiAgICAgaGlnaGxpZ2h0c1dpdGhGb3JlZ3JvdW5k
LmFwcGVuZCh7IGhpZ2hsaWdodHMubGFzdCgpLmVuZE9mZnNldCwgdGV4dEJveCgpLmVuZCgpLCB7
IH0sIHsgfSB9KTsKIAotICAgIGF1dG8mIGxpbmVTdHlsZSA9IG1faXNGaXJzdExpbmUgPyBtX3Jl
bmRlcmVyLmZpcnN0TGluZVN0eWxlKCkgOiBtX3JlbmRlcmVyLnN0eWxlKCk7Ci0KICAgICBmb3Ig
KGF1dG8mIGhpZ2hsaWdodCA6IGhpZ2hsaWdodHNXaXRoRm9yZWdyb3VuZCkgewotICAgICAgICBh
dXRvIHN0eWxlID0gU3R5bGVkTWFya2VkVGV4dDo6Y29tcHV0ZVN0eWxlRm9yVW5tYXJrZWRNYXJr
ZWRUZXh0KG1fcmVuZGVyZXIsIGxpbmVTdHlsZSwgbV9pc0ZpcnN0TGluZSwgbV9wYWludEluZm8p
OworICAgICAgICBhdXRvIHN0eWxlID0gU3R5bGVkTWFya2VkVGV4dDo6Y29tcHV0ZVN0eWxlRm9y
VW5tYXJrZWRNYXJrZWRUZXh0KG1fcmVuZGVyZXIsIG1fc3R5bGUsIG1faXNGaXJzdExpbmUsIG1f
cGFpbnRJbmZvKTsKIAogICAgICAgICBpZiAoaGlnaGxpZ2h0LmVuZE9mZnNldCA8PSB0ZXh0Qm94
KCkuc3RhcnQoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMjk3LDkgKzI5NSw4IEBAIHZv
aWQgVGV4dEJveFBhaW50ZXI6OnBhaW50Rm9yZWdyb3VuZEFuZERlY29yYXRpb25zKCkKICAgICAg
ICAgcmV0dXJuICFoYXNCYWNrd2FyZFRydW5jdGF0aW9uID8gbV9zZWxlY3RhYmxlUmFuZ2UuY2xh
bXAodGV4dEJveCgpLmVuZCgpKSA6IHRleHRCb3goKS5sZW5ndGgoKTsKICAgICB9OwogICAgIGlm
ICghY29udGVudE1heU5lZWRTdHlsZWRNYXJrZWRUZXh0KCkpIHsKLSAgICAgICAgYXV0byYgbGlu
ZVN0eWxlID0gbV9pc0ZpcnN0TGluZSA/IG1fcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSA6IG1f
cmVuZGVyZXIuc3R5bGUoKTsKICAgICAgICAgYXV0byBtYXJrZWRUZXh0ID0gTWFya2VkVGV4dCB7
IHN0YXJ0UG9zaXRpb24oKSwgZW5kUG9zaXRpb24oKSwgTWFya2VkVGV4dDo6VHlwZTo6VW5tYXJr
ZWQgfTsKLSAgICAgICAgYXV0byBzdHlsZWRNYXJrZWRUZXh0ID0gU3R5bGVkTWFya2VkVGV4dCB7
IG1hcmtlZFRleHQsIFN0eWxlZE1hcmtlZFRleHQ6OmNvbXB1dGVTdHlsZUZvclVubWFya2VkTWFy
a2VkVGV4dChtX3JlbmRlcmVyLCBsaW5lU3R5bGUsIG1faXNGaXJzdExpbmUsIG1fcGFpbnRJbmZv
KSB9OworICAgICAgICBhdXRvIHN0eWxlZE1hcmtlZFRleHQgPSBTdHlsZWRNYXJrZWRUZXh0IHsg
bWFya2VkVGV4dCwgU3R5bGVkTWFya2VkVGV4dDo6Y29tcHV0ZVN0eWxlRm9yVW5tYXJrZWRNYXJr
ZWRUZXh0KG1fcmVuZGVyZXIsIG1fc3R5bGUsIG1faXNGaXJzdExpbmUsIG1fcGFpbnRJbmZvKSB9
OwogICAgICAgICBwYWludENvbXBvc2l0aW9uRm9yZWdyb3VuZChzdHlsZWRNYXJrZWRUZXh0KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTU5OCw3ICs1OTUsNyBAQCB2b2lkIFRleHRCb3hQ
YWludGVyOjpjb2xsZWN0RGVjb3JhdGluZ0JveGVzRm9yVGV4dEJveChEZWNvcmF0aW5nQm94TGlz
dCYgZGVjb3JhdAogCiAgICAgaWYgKCF0ZXh0Qm94LT5pc0hvcml6b250YWwoKSkgewogICAgICAg
ICAvLyBGSVhNRTogVmVydGljYWwgd3JpdGluZyBtb2RlIG5lZWRzIHNvbWUgY29vcmRpbmF0ZSBz
cGFjZSB0cmFuc2Zvcm1hdGlvbiBmb3IgcGFyZW50IGlubGluZSBib3hlcyBhcyB3ZSByb3RhdGUg
dGhlIGNvbnRlbnQgd2l0aCBtX3BhaW50UmVjdCAoc2VlIDo6cGFpbnQpCi0gICAgICAgIGRlY29y
YXRpbmdCb3hMaXN0LmFwcGVuZCh7IGFuY2VzdG9ySW5saW5lQm94LCBtX2lzRmlyc3RMaW5lID8g
bV9yZW5kZXJlci5maXJzdExpbmVTdHlsZSgpIDogbV9yZW5kZXJlci5zdHlsZSgpLCBvdmVycmlk
ZURlY29yYXRpb25TdHlsZSwgdGV4dEJveExvY2F0aW9uIH0pOworICAgICAgICBkZWNvcmF0aW5n
Qm94TGlzdC5hcHBlbmQoeyBhbmNlc3RvcklubGluZUJveCwgbV9zdHlsZSwgb3ZlcnJpZGVEZWNv
cmF0aW9uU3R5bGUsIHRleHRCb3hMb2NhdGlvbiB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IApAQCAtNjkwLDkgKzY4Nyw4IEBAIHZvaWQgVGV4dEJveFBhaW50ZXI6OnBhaW50QmFja2dyb3Vu
ZERlY29yYXRpb25zKFRleHREZWNvcmF0aW9uUGFpbnRlciYgZGVjb3JhdGlvCiAKIHZvaWQgVGV4
dEJveFBhaW50ZXI6OnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKFRleHREZWNvcmF0aW9uUGFp
bnRlciYgZGVjb3JhdGlvblBhaW50ZXIsIGNvbnN0IFN0eWxlZE1hcmtlZFRleHQmIG1hcmtlZFRl
eHQsIGNvbnN0IEZsb2F0UmVjdCYgdGV4dEJveFBhaW50UmVjdCkKIHsKLSAgICBhdXRvJiBzdHls
ZVRvVXNlID0gbV9pc0ZpcnN0TGluZSA/IG1fcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSA6IG1f
cmVuZGVyZXIuc3R5bGUoKTsKICAgICBhdXRvIGNvbXB1dGVkVGV4dERlY29yYXRpb25UeXBlID0g
WyZdIHsKLSAgICAgICAgYXV0byB0ZXh0RGVjb3JhdGlvbnMgPSBzdHlsZVRvVXNlLnRleHREZWNv
cmF0aW9uc0luRWZmZWN0KCk7CisgICAgICAgIGF1dG8gdGV4dERlY29yYXRpb25zID0gbV9zdHls
ZS50ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdCgpOwogICAgICAgICB0ZXh0RGVjb3JhdGlvbnMuYWRk
KFRleHREZWNvcmF0aW9uUGFpbnRlcjo6dGV4dERlY29yYXRpb25zSW5FZmZlY3RGb3JTdHlsZSht
YXJrZWRUZXh0LnN0eWxlLnRleHREZWNvcmF0aW9uU3R5bGVzKSk7CiAgICAgICAgIHJldHVybiB0
ZXh0RGVjb3JhdGlvbnM7CiAgICAgfSgpOwpAQCAtNzA0LDEzICs3MDAsMTMgQEAgdm9pZCBUZXh0
Qm94UGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5kRGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWlu
dGVyJiBkZWNvcmF0aW8KICAgICAgICAgbV9wYWludEluZm8uY29udGV4dCgpLmNvbmNhdENUTShy
b3RhdGlvbihtX3BhaW50UmVjdCwgUm90YXRpb25EaXJlY3Rpb246OkNsb2Nrd2lzZSkpOwogCiAg
ICAgYXV0byBkZXZpY2VTY2FsZUZhY3RvciA9IG1fZG9jdW1lbnQuZGV2aWNlU2NhbGVGYWN0b3Io
KTsKLSAgICBhdXRvIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY29tcHV0ZWRUZXh0RGVjb3Jh
dGlvblRoaWNrbmVzcyhzdHlsZVRvVXNlLCBkZXZpY2VTY2FsZUZhY3Rvcik7Ci0gICAgYXV0byBs
aW5ldGhyb3VnaENlbnRlciA9IGNvbXB1dGVkTGluZXRocm91Z2hDZW50ZXIoc3R5bGVUb1VzZSwg
dGV4dERlY29yYXRpb25UaGlja25lc3MsIGNvbXB1dGVkQXV0b1RleHREZWNvcmF0aW9uVGhpY2tu
ZXNzKHN0eWxlVG9Vc2UsIGRldmljZVNjYWxlRmFjdG9yKSk7CisgICAgYXV0byB0ZXh0RGVjb3Jh
dGlvblRoaWNrbmVzcyA9IGNvbXB1dGVkVGV4dERlY29yYXRpb25UaGlja25lc3MobV9zdHlsZSwg
ZGV2aWNlU2NhbGVGYWN0b3IpOworICAgIGF1dG8gbGluZXRocm91Z2hDZW50ZXIgPSBjb21wdXRl
ZExpbmV0aHJvdWdoQ2VudGVyKG1fc3R5bGUsIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBjb21w
dXRlZEF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhtX3N0eWxlLCBkZXZpY2VTY2FsZUZhY3Rv
cikpOwogICAgIGRlY29yYXRpb25QYWludGVyLnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKHsg
dGV4dEJveFBhaW50UmVjdC5sb2NhdGlvbigpCiAgICAgICAgICwgdGV4dEJveFBhaW50UmVjdC53
aWR0aCgpCiAgICAgICAgICwgdGV4dERlY29yYXRpb25UaGlja25lc3MKICAgICAgICAgLCBsaW5l
dGhyb3VnaENlbnRlcgotICAgICAgICAsIHdhdnlTdHJva2VQYXJhbWV0ZXJzKHN0eWxlVG9Vc2Uu
Y29tcHV0ZWRGb250U2l6ZSgpKSB9LCBtYXJrZWRUZXh0LnN0eWxlLnRleHREZWNvcmF0aW9uU3R5
bGVzKTsKKyAgICAgICAgLCB3YXZ5U3Ryb2tlUGFyYW1ldGVycyhtX3N0eWxlLmNvbXB1dGVkRm9u
dFNpemUoKSkgfSwgbWFya2VkVGV4dC5zdHlsZS50ZXh0RGVjb3JhdGlvblN0eWxlcyk7CiAKICAg
ICBpZiAobV9pc0NvbWJpbmVkVGV4dCkKICAgICAgICAgbV9wYWludEluZm8uY29udGV4dCgpLmNv
bmNhdENUTShyb3RhdGlvbihtX3BhaW50UmVjdCwgUm90YXRpb25EaXJlY3Rpb246OkNvdW50ZXJj
bG9ja3dpc2UpKTsKQEAgLTgxOSw4ICs4MTUsNyBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpmaWxs
Q29tcG9zaXRpb25VbmRlcmxpbmUoZmxvYXQgc3RhcnQsIGZsb2F0IHdpZHRoLCBjb25zdCBDbwog
ICAgICAgICBzdGFydCArPSAxOwogICAgICAgICB3aWR0aCAtPSAyOwogCi0gICAgICAgIGF1dG8m
IHN0eWxlID0gbV9yZW5kZXJlci5zdHlsZSgpOwotICAgICAgICBhdXRvIHVuZGVybGluZUNvbG9y
ID0gdW5kZXJsaW5lLmNvbXBvc2l0aW9uVW5kZXJsaW5lQ29sb3IgPT0gQ29tcG9zaXRpb25VbmRl
cmxpbmVDb2xvcjo6VGV4dENvbG9yID8gc3R5bGUudmlzaXRlZERlcGVuZGVudENvbG9yV2l0aENv
bG9yRmlsdGVyKENTU1Byb3BlcnR5V2Via2l0VGV4dEZpbGxDb2xvcikgOiBzdHlsZS5jb2xvckJ5
QXBwbHlpbmdDb2xvckZpbHRlcih1bmRlcmxpbmUuY29sb3IpOworICAgICAgICBhdXRvIHVuZGVy
bGluZUNvbG9yID0gdW5kZXJsaW5lLmNvbXBvc2l0aW9uVW5kZXJsaW5lQ29sb3IgPT0gQ29tcG9z
aXRpb25VbmRlcmxpbmVDb2xvcjo6VGV4dENvbG9yID8gbV9zdHlsZS52aXNpdGVkRGVwZW5kZW50
Q29sb3JXaXRoQ29sb3JGaWx0ZXIoQ1NTUHJvcGVydHlXZWJraXRUZXh0RmlsbENvbG9yKSA6IG1f
c3R5bGUuY29sb3JCeUFwcGx5aW5nQ29sb3JGaWx0ZXIodW5kZXJsaW5lLmNvbG9yKTsKIAogICAg
ICAgICBhdXRvJiBjb250ZXh0ID0gbV9wYWludEluZm8uY29udGV4dCgpOwogICAgICAgICBjb250
ZXh0LnNldFN0cm9rZUNvbG9yKHVuZGVybGluZUNvbG9yKTsKQEAgLTExMjksNyArMTEyNCw3IEBA
IGNvbnN0IEZvbnRDYXNjYWRlJiBUZXh0Qm94UGFpbnRlcjo6Zm9udENhc2NhZGUoKSBjb25zdAog
ICAgIGlmIChtX2lzQ29tYmluZWRUZXh0KQogICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVy
Q29tYmluZVRleHQ+KG1fcmVuZGVyZXIpLnRleHRDb21iaW5lRm9udCgpOwogCi0gICAgcmV0dXJu
IG1fdGV4dEJveC5zdHlsZSgpLmZvbnRDYXNjYWRlKCk7CisgICAgcmV0dXJuIG1fc3R5bGUuZm9u
dENhc2NhZGUoKTsKIH0KIAogRmxvYXRQb2ludCBUZXh0Qm94UGFpbnRlcjo6dGV4dE9yaWdpbkZy
b21QYWludFJlY3QoY29uc3QgRmxvYXRSZWN0JiBwYWludFJlY3QpIGNvbnN0CkBAIC0xMTQwLDkg
KzExMzUsOSBAQCBGbG9hdFBvaW50IFRleHRCb3hQYWludGVyOjp0ZXh0T3JpZ2luRnJvbVBhaW50
UmVjdChjb25zdCBGbG9hdFJlY3QmIHBhaW50UmVjdCkgYwogICAgICAgICAgICAgdGV4dE9yaWdp
biA9IG5ld09yaWdpbi52YWx1ZSgpOwogICAgIH0KICAgICBpZiAodGV4dEJveCgpLmlzSG9yaXpv
bnRhbCgpKQotICAgICAgICB0ZXh0T3JpZ2luLnNldFkocm91bmRUb0RldmljZVBpeGVsKExheW91
dFVuaXQgeyB0ZXh0T3JpZ2luLnkoKSB9LCBtX3JlbmRlcmVyLmRvY3VtZW50KCkuZGV2aWNlU2Nh
bGVGYWN0b3IoKSkpOworICAgICAgICB0ZXh0T3JpZ2luLnNldFkocm91bmRUb0RldmljZVBpeGVs
KExheW91dFVuaXQgeyB0ZXh0T3JpZ2luLnkoKSB9LCBtX2RvY3VtZW50LmRldmljZVNjYWxlRmFj
dG9yKCkpKTsKICAgICBlbHNlCi0gICAgICAgIHRleHRPcmlnaW4uc2V0WChyb3VuZFRvRGV2aWNl
UGl4ZWwoTGF5b3V0VW5pdCB7IHRleHRPcmlnaW4ueCgpIH0sIG1fcmVuZGVyZXIuZG9jdW1lbnQo
KS5kZXZpY2VTY2FsZUZhY3RvcigpKSk7CisgICAgICAgIHRleHRPcmlnaW4uc2V0WChyb3VuZFRv
RGV2aWNlUGl4ZWwoTGF5b3V0VW5pdCB7IHRleHRPcmlnaW4ueCgpIH0sIG1fZG9jdW1lbnQuZGV2
aWNlU2NhbGVGYWN0b3IoKSkpOwogICAgIHJldHVybiB0ZXh0T3JpZ2luOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5oCmluZGV4IDViNzNlNzVhOWVjNS4uMWJh
ZDFiMjRlZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBh
aW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuaApA
QCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgU3R5bGVkTWFya2VkVGV4dDsKIAogY2xhc3MgVGV4dEJv
eFBhaW50ZXIgewogcHVibGljOgotICAgIFRleHRCb3hQYWludGVyKGNvbnN0IExheW91dEludGVn
cmF0aW9uOjpJbmxpbmVDb250ZW50JiwgY29uc3QgSW5saW5lRGlzcGxheTo6Qm94JiwgUGFpbnRJ
bmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsKKyAgICBUZXh0Qm94UGFpbnRl
cihjb25zdCBMYXlvdXRJbnRlZ3JhdGlvbjo6SW5saW5lQ29udGVudCYsIGNvbnN0IElubGluZURp
c3BsYXk6OkJveCYsIGNvbnN0IFJlbmRlclN0eWxlJiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0
UG9pbnQmIHBhaW50T2Zmc2V0KTsKICAgICB+VGV4dEJveFBhaW50ZXIoKTsKIAogICAgIHZvaWQg
cGFpbnQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>