<?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>298953</bug_id>
          
          <creation_ts>2025-09-16 07:56:10 -0700</creation_ts>
          <short_desc>[text shaping] Line breaking needs to know the shaped content width</short_desc>
          <delta_ts>2025-09-17 16:55:06 -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>
          
          <blocked>6148</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2143327</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-09-16 07:56:10 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2143328</commentid>
    <comment_count>1</comment_count>
      <attachid>476757</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-16 08:02:06 -0700</bug_when>
    <thetext>Created attachment 476757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2143349</commentid>
    <comment_count>2</comment_count>
      <attachid>476759</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-16 08:51:46 -0700</bug_when>
    <thetext>Created attachment 476759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2143366</commentid>
    <comment_count>3</comment_count>
      <attachid>476760</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-16 09:56:50 -0700</bug_when>
    <thetext>Created attachment 476760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2143592</commentid>
    <comment_count>4</comment_count>
      <attachid>476777</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-17 05:11:26 -0700</bug_when>
    <thetext>Created attachment 476777
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2143611</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-09-17 07:02:22 -0700</bug_when>
    <thetext>Committed 300079@main (47c1275d2bcd): &lt;https://commits.webkit.org/300079@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 476777.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2143612</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-09-17 07:03:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/160771913&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476757</attachid>
            <date>2025-09-16 08:02:06 -0700</date>
            <delta_ts>2025-09-16 08:51:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-298953-20250916080205.patch</filename>
            <type>text/plain</type>
            <size>11062</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAzZTdhMTgzZGI0MzFlNWRkZDY0NTM2MjllNGUyYzY5MGFmZmRlYjY5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgU2VwIDIwMjUgMDc6NTY6MTcgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbdGV4dCBz
aGFwaW5nXSBMaW5lIGJyZWFraW5nIG5lZWRzIHRvIGtub3cgdGhlIHNoYXBlZCBjb250ZW50CiB3
aWR0aCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk4OTUzCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlciBj
dXJyZW50IGNvbnRlbnQgZml0cyB0aGUgYXZhaWxhYmxlIHNwYWNlLCB3ZSBoYXZlCnRvIHNldCB0
aGUgc2hhcGVkIGNvbnRlbnQgd2lkdGggb24gTGluZUNhbmRpZGF0ZS4KCihXaGlsZSB0aGlzIHBh
dGNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIG9mIGFwcGx5aW5nIHNoYXBlZCBjb250ZW50IHdpZHRo
LCBnbHlwaHMgc2l6ZXMKYXJlIG5vdCB5ZXQgYXZhaWxhYmxlLiBTZWUgQ29tcGxleFRleHRDb250
cm9sbGVyOjpnbHlwaEJvdW5kc0ZvclRleHRSdW4pCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmg6CihXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6YWRqdXN0
TG9naWNhbFdpZHRoKToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNv
bnRpbnVvdXNDb250ZW50OjpSdW46OmFkanVzdENvbnRlbnRXaWR0aCk6CiogU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3Bw
OgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nT25SdW5SYW5nZSBj
b25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRl
ZCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjpjYW5kaWRhdGVDb250ZW50Rm9yTGlu
ZSk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpl
bmNsb3NpbmdHbHlwaEJvdW5kc0ZvclRleHRSdW4pOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oOgotLS0KIC4uLi9pbmxpbmUvSW5saW5l
Q29udGVudEJyZWFrZXIuaCAgICAgICAgICAgICB8ICAyICsKIC4uLi9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwICAgICAgICAgICAgICB8IDY3ICsrKysrKysrKysrKysrKy0tLS0KIC4uLi9p
bmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCAgICAgICAgICAgICAgICB8ICAxICsKIC4uLi9ncmFw
aGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICAgICAgICB8ICA3ICsrCiAuLi4vcGxhdGZv
cm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmggfCAgMSArCiA1IGZpbGVzIGNoYW5n
ZWQsIDY0IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRC
cmVha2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCmluZGV4IDE0ZTBjZjMzNjFiOC4uZDk3NDBiMjY4NmUz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmgKQEAgLTgxLDYg
KzgxLDcgQEAgcHVibGljOgogICAgIC8vIHNlZSBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nz
LXRleHQtMy8jbGluZS1icmVhay1kZXRhaWxzCiAgICAgc3RydWN0IENvbnRpbnVvdXNDb250ZW50
IHsKICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVy
biBtX2xvZ2ljYWxXaWR0aDsgfQorICAgICAgICB2b2lkIGFkanVzdExvZ2ljYWxXaWR0aChJbmxp
bmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCkgeyBtX2xvZ2ljYWxXaWR0aCA9IGxvZ2ljYWxXaWR0
aDsgfQogICAgICAgICBzdGQ6Om9wdGlvbmFsPElubGluZUxheW91dFVuaXQ+IG1pbmltdW1SZXF1
aXJlZFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtUmVxdWlyZWRXaWR0aDsgfQogICAg
ICAgICBJbmxpbmVMYXlvdXRVbml0IGxlYWRpbmdUcmltbWFibGVXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGVhZGluZ1RyaW1tYWJsZVdpZHRoOyB9CiAgICAgICAgIElubGluZUxheW91dFVuaXQg
dHJhaWxpbmdUcmltbWFibGVXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhaWxpbmdUcmltbWFi
bGVXaWR0aDsgfQpAQCAtMTA2LDYgKzEwNyw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIFJ1biYg
b3BlcmF0b3I9KGNvbnN0IFJ1biYpOwogCiAgICAgICAgICAgICBJbmxpbmVMYXlvdXRVbml0IHNw
YWNlUmVxdWlyZWQoKSBjb25zdCB7IHJldHVybiBvZmZzZXQgKyBjb250ZW50V2lkdGgoKTsgfQor
ICAgICAgICAgICAgdm9pZCBhZGp1c3RDb250ZW50V2lkdGgoSW5saW5lTGF5b3V0VW5pdCBjb250
ZW50V2lkdGgpIHsgbV9jb250ZW50V2lkdGggPSBjb250ZW50V2lkdGg7IH0KICAgICAgICAgICAg
IElubGluZUxheW91dFVuaXQgY29udGVudFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50
V2lkdGg7IH0KIAogICAgICAgICAgICAgY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRlbTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZUxpbmVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAppbmRleCBmOTgzM2NkMzJlODgu
LjI5NjRmNzRlMmE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNw
cApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIklubGlu
ZUxpbmVCdWlsZGVyLmgiCiAKKyNpbmNsdWRlICJDb21wbGV4VGV4dENvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJJbmxpbmVDb250ZW50QWxpZ25lci5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRp
bmdDb250ZXh0LmgiCiAjaW5jbHVkZSAiSW5saW5lRm9ybWF0dGluZ1V0aWxzLmgiCkBAIC04MTcs
MjQgKzgxOCw2NCBAQCBWZWN0b3I8c3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90Pj4gTGluZUJ1aWxk
ZXI6OmNvbGxlY3RTaGFwaW5nUmFuZ2VzKGNvbnN0IExpbmVDYQogICAgIHJldHVybiByYW5nZXM7
CiB9CiAKLXZvaWQgTGluZUJ1aWxkZXI6OmFwcGx5U2hhcGluZ0lmTmVlZGVkKExpbmVDYW5kaWRh
dGUmIGxpbmVDYW5kaWRhdGUpCit2b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdPblJ1blJh
bmdlKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHN0ZDo6cGFpcjxzaXplX3QsIHNpemVf
dD4gcmFuZ2UpIGNvbnN0CiB7Ci0gICAgaWYgKCFsYXlvdXRTdGF0ZSgpLnNob3VsZFNoYXBlVGV4
dEFjcm9zc0lubGluZUJveGVzKCkpCisgICAgYXV0byYgaW5saW5lQ29udGVudCA9IGxpbmVDYW5k
aWRhdGUuaW5saW5lQ29udGVudDsKKyAgICBhdXRvJiBydW5zID0gaW5saW5lQ29udGVudC5jb250
aW51b3VzQ29udGVudCgpLnJ1bnMoKTsKKyAgICBpZiAocmFuZ2UuZmlyc3QgPj0gcmFuZ2Uuc2Vj
b25kIHx8IHJhbmdlLmZpcnN0ID49IHJ1bnMuc2l6ZSgpIHx8IHJhbmdlLnNlY29uZCA+PSBydW5z
LnNpemUoKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBydW5zW3JhbmdlLmZpcnN0XS5zaGFwaW5nQm91bmRhcnkgPSBJbmxpbmVD
b250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1bjo6U2hhcGluZ0JvdW5kYXJ5OjpT
dGFydDsKKyAgICBydW5zW3JhbmdlLnNlY29uZF0uc2hhcGluZ0JvdW5kYXJ5ID0gSW5saW5lQ29u
dGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNoYXBpbmdCb3VuZGFyeTo6RW5k
OwogCi0gICAgaWYgKCFsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQuaXNTaGFwaW5nQ2FuZGlk
YXRlQnlDb250ZW50KCkpCisgICAgU3RyaW5nQnVpbGRlciB0ZXh0Q29udGVudDsKKyAgICBmb3Ig
KGF1dG8gaW5kZXggPSByYW5nZS5maXJzdDsgaW5kZXggPCByYW5nZS5zZWNvbmQ7ICsraW5kZXgp
IHsKKyAgICAgICAgaWYgKGF1dG8qIGlubGluZVRleHRJdGVtID0gZHluYW1pY0Rvd25jYXN0PElu
bGluZVRleHRJdGVtPihydW5zW2luZGV4XS5pbmxpbmVJdGVtKSkKKyAgICAgICAgICAgIHRleHRD
b250ZW50LmFwcGVuZChpbmxpbmVUZXh0SXRlbS0+Y29udGVudCgpKTsKKyAgICB9CisKKyAgICBB
U1NFUlQoIXRleHRDb250ZW50LmlzRW1wdHkoKSk7CisgICAgYXV0byBjaGFyYWN0ZXJTY2FuRm9y
Q29kZVBhdGggPSB0cnVlOworICAgIGF1dG8mIHN0eWxlID0gaXNGaXJzdEZvcm1hdHRlZExpbmVD
YW5kaWRhdGUoKSA/IHJ1bnNbcmFuZ2UuZmlyc3RdLmlubGluZUl0ZW0uZmlyc3RMaW5lU3R5bGUo
KSA6IHJ1bnNbcmFuZ2UuZmlyc3RdLmlubGluZUl0ZW0uc3R5bGUoKTsKKyAgICBhdXRvIHRleHRS
dW4gPSBUZXh0UnVuIHsgdGV4dENvbnRlbnQsIG1fbGluZUxvZ2ljYWxSZWN0LmxlZnQoKSwgeyB9
LCBFeHBhbnNpb25CZWhhdmlvcjo6ZGVmYXVsdEJlaGF2aW9yKCksIFRleHREaXJlY3Rpb246OlJU
TCwgc3R5bGUucnRsT3JkZXJpbmcoKSA9PSBPcmRlcjo6VmlzdWFsLCBjaGFyYWN0ZXJTY2FuRm9y
Q29kZVBhdGggfTsKKyAgICBhdXRvIGdseXBoU2l6ZXMgPSBDb21wbGV4VGV4dENvbnRyb2xsZXI6
OmdseXBoQm91bmRzRm9yVGV4dFJ1bihzdHlsZS5mb250Q2FzY2FkZSgpLCB0ZXh0UnVuKTsKKwor
ICAgIGlmIChnbHlwaFNpemVzLnNpemUoKSAhPSB0ZXh0UnVuLmxlbmd0aCgpKSB7CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgYXV0
byYgcnVucyA9IGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5jb250aW51b3VzQ29udGVudCgp
LnJ1bnMoKTsKLSAgICBhdXRvIHNoYXBpbmdSYW5nZXMgPSBjb2xsZWN0U2hhcGluZ1Jhbmdlcyhs
aW5lQ2FuZGlkYXRlKTsKLSAgICBmb3IgKGF1dG8gcmFuZ2UgOiBzaGFwaW5nUmFuZ2VzKSB7Ci0g
ICAgICAgIGlmIChyYW5nZS5maXJzdCA+PSByYW5nZS5zZWNvbmQgfHwgcmFuZ2UuZmlyc3QgPj0g
cnVucy5zaXplKCkgfHwgcmFuZ2Uuc2Vjb25kID49IHJ1bnMuc2l6ZSgpKSB7Ci0gICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBzaXplX3QgZ2x5cGhJbmRleCA9IDA7CisgICAg
YXV0byBzaGFwZWRDb250ZW50V2lkdGggPSBJbmxpbmVMYXlvdXRVbml0IHsgfTsKKyAgICBmb3Ig
KGF1dG8gaW5kZXggPSByYW5nZS5maXJzdDsgaW5kZXggPCByYW5nZS5zZWNvbmQ7ICsraW5kZXgp
IHsKKyAgICAgICAgYXV0byYgcnVuID0gcnVuc1tpbmRleF07CisgICAgICAgIGF1dG8qIGlubGlu
ZVRleHRJdGVtID0gZHluYW1pY0Rvd25jYXN0PElubGluZVRleHRJdGVtPihydW4uaW5saW5lSXRl
bSk7CisgICAgICAgIGlmICghaW5saW5lVGV4dEl0ZW0pIHsKKyAgICAgICAgICAgIEFTU0VSVChy
dW4uaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0T3JFbmQoKSk7CiAgICAgICAgICAgICBjb250
aW51ZTsKICAgICAgICAgfQotICAgICAgICBydW5zW3JhbmdlLmZpcnN0XS5zaGFwaW5nQm91bmRh
cnkgPSBJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1bjo6U2hhcGlu
Z0JvdW5kYXJ5OjpTdGFydDsKLSAgICAgICAgcnVuc1tyYW5nZS5zZWNvbmRdLnNoYXBpbmdCb3Vu
ZGFyeSA9IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuOjpTaGFw
aW5nQm91bmRhcnk6OkVuZDsKKyAgICAgICAgYXV0byBydW5XaWR0aCA9IElubGluZUxheW91dFVu
aXQgeyB9OworICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGlubGluZVRleHRJdGVtLT5s
ZW5ndGgoKTsgKytpKSB7CisgICAgICAgICAgICBydW5XaWR0aCArPSBzdGQ6Om1heCgwLmYsIGds
eXBoU2l6ZXNbZ2x5cGhJbmRleF0pOworICAgICAgICAgICAgKytnbHlwaEluZGV4OworICAgICAg
ICB9CisgICAgICAgIHJ1bi5hZGp1c3RDb250ZW50V2lkdGgocnVuV2lkdGgpOworICAgICAgICBz
aGFwZWRDb250ZW50V2lkdGggKz0gcnVuV2lkdGg7CiAgICAgfQorICAgIGlubGluZUNvbnRlbnQu
Y29udGludW91c0NvbnRlbnQoKS5hZGp1c3RMb2dpY2FsV2lkdGgoc2hhcGVkQ29udGVudFdpZHRo
KTsKK30KKwordm9pZCBMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nSWZOZWVkZWQoTGluZUNhbmRp
ZGF0ZSYgbGluZUNhbmRpZGF0ZSkKK3sKKyAgICBpZiAoIWxheW91dFN0YXRlKCkuc2hvdWxkU2hh
cGVUZXh0QWNyb3NzSW5saW5lQm94ZXMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFs
aW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQuaXNTaGFwaW5nQ2FuZGlkYXRlQnlDb250ZW50KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGZvciAoYXV0byByYW5nZSA6IGNvbGxlY3RTaGFwaW5n
UmFuZ2VzKGxpbmVDYW5kaWRhdGUpKQorICAgICAgICBhcHBseVNoYXBpbmdPblJ1blJhbmdlKGxp
bmVDYW5kaWRhdGUsIHJhbmdlKTsKIH0KIAogdm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlkYXRlQ29u
dGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc3RkOjpwYWlyPHNpemVf
dCwgc2l6ZV90PiBzdGFydEVuZEluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIGxheW91dFJh
bmdlLCBJbmxpbmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQsIFNraXBGbG9hdHMgc2tp
cEZsb2F0cykKQEAgLTk0MiwxMCArOTgzLDggQEAgdm9pZCBMaW5lQnVpbGRlcjo6Y2FuZGlkYXRl
Q29udGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYgbGluZUNhbmRpZGF0ZSwgc3RkOjpwYWkKICAg
ICAgICAgYXV0byYgaW5saW5lQ29udGVudCA9IGxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudDsK
ICAgICAgICAgYXV0byBoYW5naW5nQ29udGVudFdpZHRoID0gaW5saW5lQ29udGVudC5jb250aW51
b3VzQ29udGVudCgpLmhhbmdpbmdDb250ZW50V2lkdGgoKTsKICAgICAgICAgLy8gRG8gbm90IGV2
ZW4gdHJ5IHRvIGNoZWNrIGZvciB0cmFpbGluZyBwdW5jdHVhdGlvbiB3aGVuIHRoZSBjYW5kaWRh
dGUgY29udGVudCBhbHJlYWR5IGhhcyB3aGl0ZXNwYWNlIHR5cGUgb2YgaGFuZ2luZyBjb250ZW50
LgotICAgICAgICBpZiAoIWhhbmdpbmdDb250ZW50V2lkdGggJiYgaW5saW5lQ29udGVudC5sYXN0
VGV4dFJ1bkluZGV4KCkpIHsKLSAgICAgICAgICAgIGF1dG8gdHJhaWxpbmdJbmxpbmVUZXh0SXRl
bUluZGV4ID0gc3RhcnRFbmRJbmRleC5maXJzdCArICppbmxpbmVDb250ZW50Lmxhc3RUZXh0UnVu
SW5kZXgoKTsKLSAgICAgICAgICAgIGhhbmdpbmdDb250ZW50V2lkdGggKz0gdHJhaWxpbmdQdW5j
dHVhdGlvbk9yU3RvcE9yQ29tbWFXaWR0aEZvckxpbmVDYW5kaWF0ZSh0cmFpbGluZ0lubGluZVRl
eHRJdGVtSW5kZXgsIGxheW91dFJhbmdlLmVuZEluZGV4KCkpOwotICAgICAgICB9CisgICAgICAg
IGlmICghaGFuZ2luZ0NvbnRlbnRXaWR0aCkKKyAgICAgICAgICAgIGhhbmdpbmdDb250ZW50V2lk
dGggKz0gdHJhaWxpbmdQdW5jdHVhdGlvbk9yU3RvcE9yQ29tbWFXaWR0aEZvckxpbmVDYW5kaWF0
ZShsaW5lQ2FuZGlkYXRlLCBzdGFydEVuZEluZGV4LnNlY29uZCwgbGF5b3V0UmFuZ2UuZW5kSW5k
ZXgoKSk7CiAgICAgICAgIGhhbmdpbmdDb250ZW50V2lkdGggKz0gbGVhZGluZ1B1bmN0dWF0aW9u
V2lkdGhGb3JMaW5lQ2FuZGlhdGUobGluZUNhbmRpZGF0ZSk7CiAgICAgICAgIGlmIChoYW5naW5n
Q29udGVudFdpZHRoKQogICAgICAgICAgICAgbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LnNl
dEhhbmdpbmdDb250ZW50V2lkdGgoaGFuZ2luZ0NvbnRlbnRXaWR0aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCBlYzU1NzJhNDFkYjAuLmMzYjJiMjYwYjM4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oCkBAIC00Niw2ICs0Niw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjYW5kaWRhdGVDb250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRl
Jiwgc3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90PiBzdGFydEVuZEluZGV4LCBjb25zdCBJbmxpbmVJ
dGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2lj
YWxSaWdodCwgU2tpcEZsb2F0cyA9IFNraXBGbG9hdHM6Ok5vKTsKICAgICB2b2lkIGFwcGx5U2hh
cGluZ0lmTmVlZGVkKExpbmVDYW5kaWRhdGUmKTsKICAgICBWZWN0b3I8c3RkOjpwYWlyPHNpemVf
dCwgc2l6ZV90Pj4gY29sbGVjdFNoYXBpbmdSYW5nZXMoY29uc3QgTGluZUNhbmRpZGF0ZSYpIGNv
bnN0OworICAgIHZvaWQgYXBwbHlTaGFwaW5nT25SdW5SYW5nZShMaW5lQ2FuZGlkYXRlJiwgc3Rk
OjpwYWlyPHNpemVfdCwgc2l6ZV90PiByYW5nZSkgY29uc3Q7CiAgICAgSW5saW5lTGF5b3V0VW5p
dCBsZWFkaW5nUHVuY3R1YXRpb25XaWR0aEZvckxpbmVDYW5kaWF0ZShjb25zdCBMaW5lQ2FuZGlk
YXRlJikgY29uc3Q7CiAgICAgSW5saW5lTGF5b3V0VW5pdCB0cmFpbGluZ1B1bmN0dWF0aW9uT3JT
dG9wT3JDb21tYVdpZHRoRm9yTGluZUNhbmRpYXRlKHNpemVfdCBsYXN0SW5saW5lVGV4dEl0ZW1J
bmRleCwgc2l6ZV90IGxheW91dFJhbmdlRW5kKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
aW5kZXggOTg4ZDk0YWUwMThkLi42NDE1OGQ0ZTEyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcApA
QCAtMTgyLDYgKzE4MiwxMyBAQCBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBDb21wbGV4VGV4dENv
bnRyb2xsZXI6OmVuY2xvc2luZ0dseXBoQm91bmRzRm9yVGV4dFJ1bihjbwogICAgIHJldHVybiB7
IGVuY2xvc2luZ0FzY2VudC52YWx1ZV9vcigwLmYpLCBlbmNsb3NpbmdEZXNjZW50LnZhbHVlX29y
KDAuZikgfTsKIH0KIAorVmVjdG9yPGZsb2F0PiBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmdseXBo
Qm91bmRzRm9yVGV4dFJ1bihjb25zdCBGb250Q2FzY2FkZSYgZm9udENhc2NhZGUsIGNvbnN0IFRl
eHRSdW4mIHRleHRSdW4pCit7CisgICAgVU5VU0VEX1BBUkFNKGZvbnRDYXNjYWRlKTsKKyAgICBV
TlVTRURfUEFSQU0odGV4dFJ1bik7CisgICAgcmV0dXJuIHsgfTsKK30KKwogdm9pZCBDb21wbGV4
VGV4dENvbnRyb2xsZXI6OmZpbmlzaENvbnN0cnVjdGlvbigpCiB7CiAgICAgYWRqdXN0R2x5cGhz
QW5kQWR2YW5jZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmgKaW5kZXggZDQ3OTUwNWM1MmI2Li4xZTVjMjBm
YWMxM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBs
ZXhUZXh0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCkBAIC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICBD
b21wbGV4VGV4dENvbnRyb2xsZXIoY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBUZXh0UnVuJiwg
Ym9vbCBtYXlVc2VOYXR1cmFsV3JpdGluZ0RpcmVjdGlvbiA9IGZhbHNlLCBTaW5nbGVUaHJlYWRX
ZWFrSGFzaFNldDxjb25zdCBGb250PiogZmFsbGJhY2tGb250cyA9IDAsIGJvb2wgZm9yVGV4dEVt
cGhhc2lzID0gZmFsc2UpOwogCiAgICAgc3RhdGljIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IGVu
Y2xvc2luZ0dseXBoQm91bmRzRm9yVGV4dFJ1bihjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IFRl
eHRSdW4mKTsKKyAgICBzdGF0aWMgVmVjdG9yPGZsb2F0PiBnbHlwaEJvdW5kc0ZvclRleHRSdW4o
Y29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBUZXh0UnVuJik7CiAKICAgICBjbGFzcyBDb21wbGV4
VGV4dFJ1bjsKICAgICBXRUJDT1JFX0VYUE9SVCBDb21wbGV4VGV4dENvbnRyb2xsZXIoY29uc3Qg
Rm9udENhc2NhZGUmLCBjb25zdCBUZXh0UnVuJiwgVmVjdG9yPFJlZjxDb21wbGV4VGV4dFJ1bj4+
Jik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476759</attachid>
            <date>2025-09-16 08:51:46 -0700</date>
            <delta_ts>2025-09-16 09:56:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-298953-20250916085146.patch</filename>
            <type>text/plain</type>
            <size>9920</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhMzQ1ZWVkNTBjYTkyMWMwYWJmMmEwOTg4NjIzODhkYWIzMjlkNzAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgU2VwIDIwMjUgMDg6NTA6MzMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbdGV4dCBz
aGFwaW5nXSBMaW5lIGJyZWFraW5nIG5lZWRzIHRvIGtub3cgdGhlIHNoYXBlZCBjb250ZW50CiB3
aWR0aCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk4OTUzCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlciBj
dXJyZW50IGNvbnRlbnQgZml0cyB0aGUgYXZhaWxhYmxlIHNwYWNlLCB3ZSBoYXZlCnRvIHNldCB0
aGUgc2hhcGVkIGNvbnRlbnQgd2lkdGggb24gTGluZUNhbmRpZGF0ZS4KCihXaGlsZSB0aGlzIHBh
dGNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIG9mIGFwcGx5aW5nIHNoYXBlZCBjb250ZW50IHdpZHRo
LCBnbHlwaHMgc2l6ZXMKYXJlIG5vdCB5ZXQgYXZhaWxhYmxlLiBTZWUgQ29tcGxleFRleHRDb250
cm9sbGVyOjpnbHlwaEJvdW5kc0ZvclRleHRSdW4pCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmg6CihXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6YWRqdXN0
TG9naWNhbFdpZHRoKToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNv
bnRpbnVvdXNDb250ZW50OjpSdW46OmFkanVzdENvbnRlbnRXaWR0aCk6CiogU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3Bw
OgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nT25SdW5SYW5nZSBj
b25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRl
ZCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpl
bmNsb3NpbmdHbHlwaEJvdW5kc0ZvclRleHRSdW4pOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oOgotLS0KIC4uLi9pbmxpbmUvSW5saW5l
Q29udGVudEJyZWFrZXIuaCAgICAgICAgICAgICB8ICAyICsKIC4uLi9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwICAgICAgICAgICAgICB8IDYxICsrKysrKysrKysrKysrKystLS0KIC4uLi9p
bmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCAgICAgICAgICAgICAgICB8ICAxICsKIC4uLi9ncmFw
aGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICAgICAgICB8ICA3ICsrKwogLi4uL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oIHwgIDEgKwogNSBmaWxlcyBjaGFu
Z2VkLCA2MiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50
QnJlYWtlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAppbmRleCAxNGUwY2YzMzYxYjguLmQ5NzQwYjI2ODZl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCkBAIC04MSw2
ICs4MSw3IEBAIHB1YmxpYzoKICAgICAvLyBzZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy10ZXh0LTMvI2xpbmUtYnJlYWstZGV0YWlscwogICAgIHN0cnVjdCBDb250aW51b3VzQ29udGVu
dCB7CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9sb2dpY2FsV2lkdGg7IH0KKyAgICAgICAgdm9pZCBhZGp1c3RMb2dpY2FsV2lkdGgoSW5s
aW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpIHsgbV9sb2dpY2FsV2lkdGggPSBsb2dpY2FsV2lk
dGg7IH0KICAgICAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBtaW5pbXVtUmVx
dWlyZWRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bVJlcXVpcmVkV2lkdGg7IH0KICAg
ICAgICAgSW5saW5lTGF5b3V0VW5pdCBsZWFkaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX2xlYWRpbmdUcmltbWFibGVXaWR0aDsgfQogICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IHRyYWlsaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3RyYWlsaW5nVHJpbW1h
YmxlV2lkdGg7IH0KQEAgLTEwNiw2ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBSdW4m
IG9wZXJhdG9yPShjb25zdCBSdW4mKTsKIAogICAgICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBz
cGFjZVJlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gb2Zmc2V0ICsgY29udGVudFdpZHRoKCk7IH0K
KyAgICAgICAgICAgIHZvaWQgYWRqdXN0Q29udGVudFdpZHRoKElubGluZUxheW91dFVuaXQgY29u
dGVudFdpZHRoKSB7IG1fY29udGVudFdpZHRoID0gY29udGVudFdpZHRoOyB9CiAgICAgICAgICAg
ICBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
dFdpZHRoOyB9CiAKICAgICAgICAgICAgIGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggZjQxNzY3ZGYzZGQ4
Li5lMzQzNTcyOWUxN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbmxp
bmVMaW5lQnVpbGRlci5oIgogCisjaW5jbHVkZSAiQ29tcGxleFRleHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSW5saW5lQ29udGVudEFsaWduZXIuaCIKICNpbmNsdWRlICJJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdVdGlscy5oIgpAQCAtODI4
LDI0ICs4MjksNjQgQEAgVmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+IExpbmVCdWls
ZGVyOjpjb2xsZWN0U2hhcGluZ1Jhbmdlcyhjb25zdCBMaW5lQ2EKICAgICByZXR1cm4gcmFuZ2Vz
OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2FuZGlk
YXRlJiBsaW5lQ2FuZGlkYXRlKQordm9pZCBMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nT25SdW5S
YW5nZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQ6OnBhaXI8c2l6ZV90LCBzaXpl
X3Q+IHJhbmdlKSBjb25zdAogewotICAgIGlmICghbGF5b3V0U3RhdGUoKS5zaG91bGRTaGFwZVRl
eHRBY3Jvc3NJbmxpbmVCb3hlcygpKQorICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2Fu
ZGlkYXRlLmlubGluZUNvbnRlbnQ7CisgICAgYXV0byYgcnVucyA9IGlubGluZUNvbnRlbnQuY29u
dGludW91c0NvbnRlbnQoKS5ydW5zKCk7CisgICAgaWYgKHJhbmdlLmZpcnN0ID49IHJhbmdlLnNl
Y29uZCB8fCByYW5nZS5maXJzdCA+PSBydW5zLnNpemUoKSB8fCByYW5nZS5zZWNvbmQgPj0gcnVu
cy5zaXplKCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgcnVuc1tyYW5nZS5maXJzdF0uc2hhcGluZ0JvdW5kYXJ5ID0gSW5saW5l
Q29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNoYXBpbmdCb3VuZGFyeTo6
U3RhcnQ7CisgICAgcnVuc1tyYW5nZS5zZWNvbmRdLnNoYXBpbmdCb3VuZGFyeSA9IElubGluZUNv
bnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuOjpTaGFwaW5nQm91bmRhcnk6OkVu
ZDsKIAotICAgIGlmICghbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmlzU2hhcGluZ0NhbmRp
ZGF0ZUJ5Q29udGVudCgpKQorICAgIFN0cmluZ0J1aWxkZXIgdGV4dENvbnRlbnQ7CisgICAgZm9y
IChhdXRvIGluZGV4ID0gcmFuZ2UuZmlyc3Q7IGluZGV4IDwgcmFuZ2Uuc2Vjb25kOyArK2luZGV4
KSB7CisgICAgICAgIGlmIChhdXRvKiBpbmxpbmVUZXh0SXRlbSA9IGR5bmFtaWNEb3duY2FzdDxJ
bmxpbmVUZXh0SXRlbT4ocnVuc1tpbmRleF0uaW5saW5lSXRlbSkpCisgICAgICAgICAgICB0ZXh0
Q29udGVudC5hcHBlbmQoaW5saW5lVGV4dEl0ZW0tPmNvbnRlbnQoKSk7CisgICAgfQorCisgICAg
QVNTRVJUKCF0ZXh0Q29udGVudC5pc0VtcHR5KCkpOworICAgIGF1dG8gY2hhcmFjdGVyU2NhbkZv
ckNvZGVQYXRoID0gdHJ1ZTsKKyAgICBhdXRvJiBzdHlsZSA9IGlzRmlyc3RGb3JtYXR0ZWRMaW5l
Q2FuZGlkYXRlKCkgPyBydW5zW3JhbmdlLmZpcnN0XS5pbmxpbmVJdGVtLmZpcnN0TGluZVN0eWxl
KCkgOiBydW5zW3JhbmdlLmZpcnN0XS5pbmxpbmVJdGVtLnN0eWxlKCk7CisgICAgYXV0byB0ZXh0
UnVuID0gVGV4dFJ1biB7IHRleHRDb250ZW50LCBtX2xpbmVMb2dpY2FsUmVjdC5sZWZ0KCksIHsg
fSwgRXhwYW5zaW9uQmVoYXZpb3I6OmRlZmF1bHRCZWhhdmlvcigpLCBUZXh0RGlyZWN0aW9uOjpS
VEwsIHN0eWxlLnJ0bE9yZGVyaW5nKCkgPT0gT3JkZXI6OlZpc3VhbCwgY2hhcmFjdGVyU2NhbkZv
ckNvZGVQYXRoIH07CisgICAgYXV0byBnbHlwaFNpemVzID0gQ29tcGxleFRleHRDb250cm9sbGVy
OjpnbHlwaEJvdW5kc0ZvclRleHRSdW4oc3R5bGUuZm9udENhc2NhZGUoKSwgdGV4dFJ1bik7CisK
KyAgICBpZiAoZ2x5cGhTaXplcy5zaXplKCkgIT0gdGV4dFJ1bi5sZW5ndGgoKSkgeworICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIGF1
dG8mIHJ1bnMgPSBsaW5lQ2FuZGlkYXRlLmlubGluZUNvbnRlbnQuY29udGludW91c0NvbnRlbnQo
KS5ydW5zKCk7Ci0gICAgYXV0byBzaGFwaW5nUmFuZ2VzID0gY29sbGVjdFNoYXBpbmdSYW5nZXMo
bGluZUNhbmRpZGF0ZSk7Ci0gICAgZm9yIChhdXRvIHJhbmdlIDogc2hhcGluZ1Jhbmdlcykgewot
ICAgICAgICBpZiAocmFuZ2UuZmlyc3QgPj0gcmFuZ2Uuc2Vjb25kIHx8IHJhbmdlLmZpcnN0ID49
IHJ1bnMuc2l6ZSgpIHx8IHJhbmdlLnNlY29uZCA+PSBydW5zLnNpemUoKSkgewotICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgc2l6ZV90IGdseXBoSW5kZXggPSAwOworICAg
IGF1dG8gc2hhcGVkQ29udGVudFdpZHRoID0gSW5saW5lTGF5b3V0VW5pdCB7IH07CisgICAgZm9y
IChhdXRvIGluZGV4ID0gcmFuZ2UuZmlyc3Q7IGluZGV4IDwgcmFuZ2Uuc2Vjb25kOyArK2luZGV4
KSB7CisgICAgICAgIGF1dG8mIHJ1biA9IHJ1bnNbaW5kZXhdOworICAgICAgICBhdXRvKiBpbmxp
bmVUZXh0SXRlbSA9IGR5bmFtaWNEb3duY2FzdDxJbmxpbmVUZXh0SXRlbT4ocnVuLmlubGluZUl0
ZW0pOworICAgICAgICBpZiAoIWlubGluZVRleHRJdGVtKSB7CisgICAgICAgICAgICBBU1NFUlQo
cnVuLmlubGluZUl0ZW0uaXNJbmxpbmVCb3hTdGFydE9yRW5kKCkpOwogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIH0KLSAgICAgICAgcnVuc1tyYW5nZS5maXJzdF0uc2hhcGluZ0JvdW5k
YXJ5ID0gSW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNoYXBp
bmdCb3VuZGFyeTo6U3RhcnQ7Ci0gICAgICAgIHJ1bnNbcmFuZ2Uuc2Vjb25kXS5zaGFwaW5nQm91
bmRhcnkgPSBJbmxpbmVDb250ZW50QnJlYWtlcjo6Q29udGludW91c0NvbnRlbnQ6OlJ1bjo6U2hh
cGluZ0JvdW5kYXJ5OjpFbmQ7CisgICAgICAgIGF1dG8gcnVuV2lkdGggPSBJbmxpbmVMYXlvdXRV
bml0IHsgfTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbmxpbmVUZXh0SXRlbS0+
bGVuZ3RoKCk7ICsraSkgeworICAgICAgICAgICAgcnVuV2lkdGggKz0gc3RkOjptYXgoMC5mLCBn
bHlwaFNpemVzW2dseXBoSW5kZXhdKTsKKyAgICAgICAgICAgICsrZ2x5cGhJbmRleDsKKyAgICAg
ICAgfQorICAgICAgICBydW4uYWRqdXN0Q29udGVudFdpZHRoKHJ1bldpZHRoKTsKKyAgICAgICAg
c2hhcGVkQ29udGVudFdpZHRoICs9IHJ1bldpZHRoOwogICAgIH0KKyAgICBpbmxpbmVDb250ZW50
LmNvbnRpbnVvdXNDb250ZW50KCkuYWRqdXN0TG9naWNhbFdpZHRoKHNoYXBlZENvbnRlbnRXaWR0
aCk7Cit9CisKK3ZvaWQgTGluZUJ1aWxkZXI6OmFwcGx5U2hhcGluZ0lmTmVlZGVkKExpbmVDYW5k
aWRhdGUmIGxpbmVDYW5kaWRhdGUpCit7CisgICAgaWYgKCFsYXlvdXRTdGF0ZSgpLnNob3VsZFNo
YXBlVGV4dEFjcm9zc0lubGluZUJveGVzKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmlzU2hhcGluZ0NhbmRpZGF0ZUJ5Q29udGVudCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBmb3IgKGF1dG8gcmFuZ2UgOiBjb2xsZWN0U2hhcGlu
Z1JhbmdlcyhsaW5lQ2FuZGlkYXRlKSkKKyAgICAgICAgYXBwbHlTaGFwaW5nT25SdW5SYW5nZShs
aW5lQ2FuZGlkYXRlLCByYW5nZSk7CiB9CiAKIHZvaWQgTGluZUJ1aWxkZXI6OmNhbmRpZGF0ZUNv
bnRlbnRGb3JMaW5lKExpbmVDYW5kaWRhdGUmIGxpbmVDYW5kaWRhdGUsIHN0ZDo6cGFpcjxzaXpl
X3QsIHNpemVfdD4gc3RhcnRFbmRJbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBsYXlvdXRS
YW5nZSwgSW5saW5lTGF5b3V0VW5pdCBjdXJyZW50TG9naWNhbFJpZ2h0LCBTa2lwRmxvYXRzIHNr
aXBGbG9hdHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAppbmRleCAwNzcx
MTAwYmVkYWIuLmZkNDdhNTIzMmZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVp
bGRlci5oCkBAIC00Niw2ICs0Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjYW5kaWRhdGVDb250
ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiwgc3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90PiBzdGFy
dEVuZEluZGV4LCBjb25zdCBJbmxpbmVJdGVtUmFuZ2UmIG5lZWRzTGF5b3V0UmFuZ2UsIElubGlu
ZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCwgU2tpcEZsb2F0cyA9IFNraXBGbG9hdHM6
Ok5vKTsKICAgICB2b2lkIGFwcGx5U2hhcGluZ0lmTmVlZGVkKExpbmVDYW5kaWRhdGUmKTsKICAg
ICBWZWN0b3I8c3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90Pj4gY29sbGVjdFNoYXBpbmdSYW5nZXMo
Y29uc3QgTGluZUNhbmRpZGF0ZSYpIGNvbnN0OworICAgIHZvaWQgYXBwbHlTaGFwaW5nT25SdW5S
YW5nZShMaW5lQ2FuZGlkYXRlJiwgc3RkOjpwYWlyPHNpemVfdCwgc2l6ZV90PiByYW5nZSkgY29u
c3Q7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBsZWFkaW5nUHVuY3R1YXRpb25XaWR0aEZvckxpbmVD
YW5kaWF0ZShjb25zdCBMaW5lQ2FuZGlkYXRlJikgY29uc3Q7CiAgICAgSW5saW5lTGF5b3V0VW5p
dCB0cmFpbGluZ1B1bmN0dWF0aW9uT3JTdG9wT3JDb21tYVdpZHRoRm9yTGluZUNhbmRpYXRlKGNv
bnN0IExpbmVDYW5kaWRhdGUmLCBzaXplX3Qgc3RhcnRJbmRleEFmdGVyQ2FuZGlkYXRlQ29udGVu
dCwgIHNpemVfdCBsYXlvdXRSYW5nZUVuZCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCmlu
ZGV4IDk4OGQ5NGFlMDE4ZC4uNjQxNThkNGUxMmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKQEAg
LTE4Miw2ICsxODIsMTMgQEAgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gQ29tcGxleFRleHRDb250
cm9sbGVyOjplbmNsb3NpbmdHbHlwaEJvdW5kc0ZvclRleHRSdW4oY28KICAgICByZXR1cm4geyBl
bmNsb3NpbmdBc2NlbnQudmFsdWVfb3IoMC5mKSwgZW5jbG9zaW5nRGVzY2VudC52YWx1ZV9vcigw
LmYpIH07CiB9CiAKK1ZlY3RvcjxmbG9hdD4gQ29tcGxleFRleHRDb250cm9sbGVyOjpnbHlwaEJv
dW5kc0ZvclRleHRSdW4oY29uc3QgRm9udENhc2NhZGUmIGZvbnRDYXNjYWRlLCBjb25zdCBUZXh0
UnVuJiB0ZXh0UnVuKQoreworICAgIFVOVVNFRF9QQVJBTShmb250Q2FzY2FkZSk7CisgICAgVU5V
U0VEX1BBUkFNKHRleHRSdW4pOworICAgIHJldHVybiB7IH07Cit9CisKIHZvaWQgQ29tcGxleFRl
eHRDb250cm9sbGVyOjpmaW5pc2hDb25zdHJ1Y3Rpb24oKQogewogICAgIGFkanVzdEdseXBoc0Fu
ZEFkdmFuY2VzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db21wbGV4VGV4dENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oCmluZGV4IGQ0Nzk1MDVjNTJiNi4uMWU1YzIwZmFj
MTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4
VGV4dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b21wbGV4VGV4dENvbnRyb2xsZXIuaApAQCAtNjMsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgQ29t
cGxleFRleHRDb250cm9sbGVyKGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgVGV4dFJ1biYsIGJv
b2wgbWF5VXNlTmF0dXJhbFdyaXRpbmdEaXJlY3Rpb24gPSBmYWxzZSwgU2luZ2xlVGhyZWFkV2Vh
a0hhc2hTZXQ8Y29uc3QgRm9udD4qIGZhbGxiYWNrRm9udHMgPSAwLCBib29sIGZvclRleHRFbXBo
YXNpcyA9IGZhbHNlKTsKIAogICAgIHN0YXRpYyBzdGQ6OnBhaXI8ZmxvYXQsIGZsb2F0PiBlbmNs
b3NpbmdHbHlwaEJvdW5kc0ZvclRleHRSdW4oY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBUZXh0
UnVuJik7CisgICAgc3RhdGljIFZlY3RvcjxmbG9hdD4gZ2x5cGhCb3VuZHNGb3JUZXh0UnVuKGNv
bnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgVGV4dFJ1biYpOwogCiAgICAgY2xhc3MgQ29tcGxleFRl
eHRSdW47CiAgICAgV0VCQ09SRV9FWFBPUlQgQ29tcGxleFRleHRDb250cm9sbGVyKGNvbnN0IEZv
bnRDYXNjYWRlJiwgY29uc3QgVGV4dFJ1biYsIFZlY3RvcjxSZWY8Q29tcGxleFRleHRSdW4+PiYp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476760</attachid>
            <date>2025-09-16 09:56:50 -0700</date>
            <delta_ts>2025-09-17 05:10:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-298953-20250916095649.patch</filename>
            <type>text/plain</type>
            <size>9921</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA5NzMxNWZhNzA0OGY4YzhlODcyZmYyYzhhMWU3NWM2OTVjZTdlMzhjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgU2VwIDIwMjUgMDg6NTA6MzMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbdGV4dCBz
aGFwaW5nXSBMaW5lIGJyZWFraW5nIG5lZWRzIHRvIGtub3cgdGhlIHNoYXBlZCBjb250ZW50CiB3
aWR0aCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk4OTUzCgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlciBj
dXJyZW50IGNvbnRlbnQgZml0cyB0aGUgYXZhaWxhYmxlIHNwYWNlLCB3ZSBoYXZlCnRvIHNldCB0
aGUgc2hhcGVkIGNvbnRlbnQgd2lkdGggb24gTGluZUNhbmRpZGF0ZS4KCihXaGlsZSB0aGlzIHBh
dGNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIG9mIGFwcGx5aW5nIHNoYXBlZCBjb250ZW50IHdpZHRo
LCBnbHlwaHMgc2l6ZXMKYXJlIG5vdCB5ZXQgYXZhaWxhYmxlLiBTZWUgQ29tcGxleFRleHRDb250
cm9sbGVyOjpnbHlwaEJvdW5kc0ZvclRleHRSdW4pCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmg6CihXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6YWRqdXN0
TG9naWNhbFdpZHRoKToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNv
bnRpbnVvdXNDb250ZW50OjpSdW46OmFkanVzdENvbnRlbnRXaWR0aCk6CiogU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3Bw
OgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nT25SdW5SYW5nZSBj
b25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRl
ZCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpl
bmNsb3NpbmdHbHlwaEJvdW5kc0ZvclRleHRSdW4pOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oOgotLS0KIC4uLi9pbmxpbmUvSW5saW5l
Q29udGVudEJyZWFrZXIuaCAgICAgICAgICAgICB8ICAyICsKIC4uLi9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwICAgICAgICAgICAgICB8IDYxICsrKysrKysrKysrKysrKystLS0KIC4uLi9p
bmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCAgICAgICAgICAgICAgICB8ICAxICsKIC4uLi9ncmFw
aGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICAgICAgICB8ICA3ICsrKwogLi4uL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oIHwgIDEgKwogNSBmaWxlcyBjaGFu
Z2VkLCA2MiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50
QnJlYWtlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAppbmRleCAxNGUwY2YzMzYxYjguLmQ5NzQwYjI2ODZl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCkBAIC04MSw2
ICs4MSw3IEBAIHB1YmxpYzoKICAgICAvLyBzZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy10ZXh0LTMvI2xpbmUtYnJlYWstZGV0YWlscwogICAgIHN0cnVjdCBDb250aW51b3VzQ29udGVu
dCB7CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9sb2dpY2FsV2lkdGg7IH0KKyAgICAgICAgdm9pZCBhZGp1c3RMb2dpY2FsV2lkdGgoSW5s
aW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpIHsgbV9sb2dpY2FsV2lkdGggPSBsb2dpY2FsV2lk
dGg7IH0KICAgICAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBtaW5pbXVtUmVx
dWlyZWRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bVJlcXVpcmVkV2lkdGg7IH0KICAg
ICAgICAgSW5saW5lTGF5b3V0VW5pdCBsZWFkaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX2xlYWRpbmdUcmltbWFibGVXaWR0aDsgfQogICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IHRyYWlsaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3RyYWlsaW5nVHJpbW1h
YmxlV2lkdGg7IH0KQEAgLTEwNiw2ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBSdW4m
IG9wZXJhdG9yPShjb25zdCBSdW4mKTsKIAogICAgICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBz
cGFjZVJlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gb2Zmc2V0ICsgY29udGVudFdpZHRoKCk7IH0K
KyAgICAgICAgICAgIHZvaWQgYWRqdXN0Q29udGVudFdpZHRoKElubGluZUxheW91dFVuaXQgY29u
dGVudFdpZHRoKSB7IG1fY29udGVudFdpZHRoID0gY29udGVudFdpZHRoOyB9CiAgICAgICAgICAg
ICBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
dFdpZHRoOyB9CiAKICAgICAgICAgICAgIGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggZjQxNzY3ZGYzZGQ4
Li41M2MyNzYzZTMwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbmxp
bmVMaW5lQnVpbGRlci5oIgogCisjaW5jbHVkZSAiQ29tcGxleFRleHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSW5saW5lQ29udGVudEFsaWduZXIuaCIKICNpbmNsdWRlICJJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdVdGlscy5oIgpAQCAtODI4
LDI0ICs4MjksNjQgQEAgVmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+IExpbmVCdWls
ZGVyOjpjb2xsZWN0U2hhcGluZ1Jhbmdlcyhjb25zdCBMaW5lQ2EKICAgICByZXR1cm4gcmFuZ2Vz
OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2FuZGlk
YXRlJiBsaW5lQ2FuZGlkYXRlKQordm9pZCBMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nT25SdW5S
YW5nZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQ6OnBhaXI8c2l6ZV90LCBzaXpl
X3Q+IHJhbmdlKSBjb25zdAogewotICAgIGlmICghbGF5b3V0U3RhdGUoKS5zaG91bGRTaGFwZVRl
eHRBY3Jvc3NJbmxpbmVCb3hlcygpKQorICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2Fu
ZGlkYXRlLmlubGluZUNvbnRlbnQ7CisgICAgYXV0byYgcnVucyA9IGlubGluZUNvbnRlbnQuY29u
dGludW91c0NvbnRlbnQoKS5ydW5zKCk7CisgICAgaWYgKHJhbmdlLmZpcnN0ID49IHJhbmdlLnNl
Y29uZCB8fCByYW5nZS5maXJzdCA+PSBydW5zLnNpemUoKSB8fCByYW5nZS5zZWNvbmQgPj0gcnVu
cy5zaXplKCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgcnVuc1tyYW5nZS5maXJzdF0uc2hhcGluZ0JvdW5kYXJ5ID0gSW5saW5l
Q29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNoYXBpbmdCb3VuZGFyeTo6
U3RhcnQ7CisgICAgcnVuc1tyYW5nZS5zZWNvbmRdLnNoYXBpbmdCb3VuZGFyeSA9IElubGluZUNv
bnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuOjpTaGFwaW5nQm91bmRhcnk6OkVu
ZDsKIAotICAgIGlmICghbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmlzU2hhcGluZ0NhbmRp
ZGF0ZUJ5Q29udGVudCgpKQorICAgIFN0cmluZ0J1aWxkZXIgdGV4dENvbnRlbnQ7CisgICAgZm9y
IChhdXRvIGluZGV4ID0gcmFuZ2UuZmlyc3Q7IGluZGV4IDw9IHJhbmdlLnNlY29uZDsgKytpbmRl
eCkgeworICAgICAgICBpZiAoYXV0byogaW5saW5lVGV4dEl0ZW0gPSBkeW5hbWljRG93bmNhc3Q8
SW5saW5lVGV4dEl0ZW0+KHJ1bnNbaW5kZXhdLmlubGluZUl0ZW0pKQorICAgICAgICAgICAgdGV4
dENvbnRlbnQuYXBwZW5kKGlubGluZVRleHRJdGVtLT5jb250ZW50KCkpOworICAgIH0KKworICAg
IEFTU0VSVCghdGV4dENvbnRlbnQuaXNFbXB0eSgpKTsKKyAgICBhdXRvIGNoYXJhY3RlclNjYW5G
b3JDb2RlUGF0aCA9IHRydWU7CisgICAgYXV0byYgc3R5bGUgPSBpc0ZpcnN0Rm9ybWF0dGVkTGlu
ZUNhbmRpZGF0ZSgpID8gcnVuc1tyYW5nZS5maXJzdF0uaW5saW5lSXRlbS5maXJzdExpbmVTdHls
ZSgpIDogcnVuc1tyYW5nZS5maXJzdF0uaW5saW5lSXRlbS5zdHlsZSgpOworICAgIGF1dG8gdGV4
dFJ1biA9IFRleHRSdW4geyB0ZXh0Q29udGVudCwgbV9saW5lTG9naWNhbFJlY3QubGVmdCgpLCB7
IH0sIEV4cGFuc2lvbkJlaGF2aW9yOjpkZWZhdWx0QmVoYXZpb3IoKSwgVGV4dERpcmVjdGlvbjo6
UlRMLCBzdHlsZS5ydGxPcmRlcmluZygpID09IE9yZGVyOjpWaXN1YWwsIGNoYXJhY3RlclNjYW5G
b3JDb2RlUGF0aCB9OworICAgIGF1dG8gZ2x5cGhTaXplcyA9IENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6Z2x5cGhCb3VuZHNGb3JUZXh0UnVuKHN0eWxlLmZvbnRDYXNjYWRlKCksIHRleHRSdW4pOwor
CisgICAgaWYgKGdseXBoU2l6ZXMuc2l6ZSgpICE9IHRleHRSdW4ubGVuZ3RoKCkpIHsKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBh
dXRvJiBydW5zID0gbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmNvbnRpbnVvdXNDb250ZW50
KCkucnVucygpOwotICAgIGF1dG8gc2hhcGluZ1JhbmdlcyA9IGNvbGxlY3RTaGFwaW5nUmFuZ2Vz
KGxpbmVDYW5kaWRhdGUpOwotICAgIGZvciAoYXV0byByYW5nZSA6IHNoYXBpbmdSYW5nZXMpIHsK
LSAgICAgICAgaWYgKHJhbmdlLmZpcnN0ID49IHJhbmdlLnNlY29uZCB8fCByYW5nZS5maXJzdCA+
PSBydW5zLnNpemUoKSB8fCByYW5nZS5zZWNvbmQgPj0gcnVucy5zaXplKCkpIHsKLSAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHNpemVfdCBnbHlwaEluZGV4ID0gMDsKKyAg
ICBhdXRvIHNoYXBlZENvbnRlbnRXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGZv
ciAoYXV0byBpbmRleCA9IHJhbmdlLmZpcnN0OyBpbmRleCA8IHJhbmdlLnNlY29uZDsgKytpbmRl
eCkgeworICAgICAgICBhdXRvJiBydW4gPSBydW5zW2luZGV4XTsKKyAgICAgICAgYXV0byogaW5s
aW5lVGV4dEl0ZW0gPSBkeW5hbWljRG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KHJ1bi5pbmxpbmVJ
dGVtKTsKKyAgICAgICAgaWYgKCFpbmxpbmVUZXh0SXRlbSkgeworICAgICAgICAgICAgQVNTRVJU
KHJ1bi5pbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnRPckVuZCgpKTsKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIHJ1bnNbcmFuZ2UuZmlyc3RdLnNoYXBpbmdCb3Vu
ZGFyeSA9IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuOjpTaGFw
aW5nQm91bmRhcnk6OlN0YXJ0OwotICAgICAgICBydW5zW3JhbmdlLnNlY29uZF0uc2hhcGluZ0Jv
dW5kYXJ5ID0gSW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNo
YXBpbmdCb3VuZGFyeTo6RW5kOworICAgICAgICBhdXRvIHJ1bldpZHRoID0gSW5saW5lTGF5b3V0
VW5pdCB7IH07CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW5saW5lVGV4dEl0ZW0t
Pmxlbmd0aCgpOyArK2kpIHsKKyAgICAgICAgICAgIHJ1bldpZHRoICs9IHN0ZDo6bWF4KDAuZiwg
Z2x5cGhTaXplc1tnbHlwaEluZGV4XSk7CisgICAgICAgICAgICArK2dseXBoSW5kZXg7CisgICAg
ICAgIH0KKyAgICAgICAgcnVuLmFkanVzdENvbnRlbnRXaWR0aChydW5XaWR0aCk7CisgICAgICAg
IHNoYXBlZENvbnRlbnRXaWR0aCArPSBydW5XaWR0aDsKICAgICB9CisgICAgaW5saW5lQ29udGVu
dC5jb250aW51b3VzQ29udGVudCgpLmFkanVzdExvZ2ljYWxXaWR0aChzaGFwZWRDb250ZW50V2lk
dGgpOworfQorCit2b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2Fu
ZGlkYXRlJiBsaW5lQ2FuZGlkYXRlKQoreworICAgIGlmICghbGF5b3V0U3RhdGUoKS5zaG91bGRT
aGFwZVRleHRBY3Jvc3NJbmxpbmVCb3hlcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
IWxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5pc1NoYXBpbmdDYW5kaWRhdGVCeUNvbnRlbnQo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChhdXRvIHJhbmdlIDogY29sbGVjdFNoYXBp
bmdSYW5nZXMobGluZUNhbmRpZGF0ZSkpCisgICAgICAgIGFwcGx5U2hhcGluZ09uUnVuUmFuZ2Uo
bGluZUNhbmRpZGF0ZSwgcmFuZ2UpOwogfQogCiB2b2lkIExpbmVCdWlsZGVyOjpjYW5kaWRhdGVD
b250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQ6OnBhaXI8c2l6
ZV90LCBzaXplX3Q+IHN0YXJ0RW5kSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0
UmFuZ2UsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCwgU2tpcEZsb2F0cyBz
a2lwRmxvYXRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXggMDc3
MTEwMGJlZGFiLi5mZDQ3YTUyMzJmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1
aWxkZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2FuZGlkYXRlQ29u
dGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYsIHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4gc3Rh
cnRFbmRJbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBJbmxp
bmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQsIFNraXBGbG9hdHMgPSBTa2lwRmxvYXRz
OjpObyk7CiAgICAgdm9pZCBhcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2FuZGlkYXRlJik7CiAg
ICAgVmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+IGNvbGxlY3RTaGFwaW5nUmFuZ2Vz
KGNvbnN0IExpbmVDYW5kaWRhdGUmKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5U2hhcGluZ09uUnVu
UmFuZ2UoTGluZUNhbmRpZGF0ZSYsIHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4gcmFuZ2UpIGNv
bnN0OwogICAgIElubGluZUxheW91dFVuaXQgbGVhZGluZ1B1bmN0dWF0aW9uV2lkdGhGb3JMaW5l
Q2FuZGlhdGUoY29uc3QgTGluZUNhbmRpZGF0ZSYpIGNvbnN0OwogICAgIElubGluZUxheW91dFVu
aXQgdHJhaWxpbmdQdW5jdHVhdGlvbk9yU3RvcE9yQ29tbWFXaWR0aEZvckxpbmVDYW5kaWF0ZShj
b25zdCBMaW5lQ2FuZGlkYXRlJiwgc2l6ZV90IHN0YXJ0SW5kZXhBZnRlckNhbmRpZGF0ZUNvbnRl
bnQsICBzaXplX3QgbGF5b3V0UmFuZ2VFbmQpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcApp
bmRleCA5ODhkOTRhZTAxOGQuLjY0MTU4ZDRlMTJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCkBA
IC0xODIsNiArMTgyLDEzIEBAIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IENvbXBsZXhUZXh0Q29u
dHJvbGxlcjo6ZW5jbG9zaW5nR2x5cGhCb3VuZHNGb3JUZXh0UnVuKGNvCiAgICAgcmV0dXJuIHsg
ZW5jbG9zaW5nQXNjZW50LnZhbHVlX29yKDAuZiksIGVuY2xvc2luZ0Rlc2NlbnQudmFsdWVfb3Io
MC5mKSB9OwogfQogCitWZWN0b3I8ZmxvYXQ+IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Z2x5cGhC
b3VuZHNGb3JUZXh0UnVuKGNvbnN0IEZvbnRDYXNjYWRlJiBmb250Q2FzY2FkZSwgY29uc3QgVGV4
dFJ1biYgdGV4dFJ1bikKK3sKKyAgICBVTlVTRURfUEFSQU0oZm9udENhc2NhZGUpOworICAgIFVO
VVNFRF9QQVJBTSh0ZXh0UnVuKTsKKyAgICByZXR1cm4geyB9OworfQorCiB2b2lkIENvbXBsZXhU
ZXh0Q29udHJvbGxlcjo6ZmluaXNoQ29uc3RydWN0aW9uKCkKIHsKICAgICBhZGp1c3RHbHlwaHNB
bmRBZHZhbmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuaAppbmRleCBkNDc5NTA1YzUyYjYuLjFlNWMyMGZh
YzEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxl
eFRleHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29tcGxleFRleHRDb250cm9sbGVyLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIENv
bXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IFRleHRSdW4mLCBi
b29sIG1heVVzZU5hdHVyYWxXcml0aW5nRGlyZWN0aW9uID0gZmFsc2UsIFNpbmdsZVRocmVhZFdl
YWtIYXNoU2V0PGNvbnN0IEZvbnQ+KiBmYWxsYmFja0ZvbnRzID0gMCwgYm9vbCBmb3JUZXh0RW1w
aGFzaXMgPSBmYWxzZSk7CiAKICAgICBzdGF0aWMgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gZW5j
bG9zaW5nR2x5cGhCb3VuZHNGb3JUZXh0UnVuKGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgVGV4
dFJ1biYpOworICAgIHN0YXRpYyBWZWN0b3I8ZmxvYXQ+IGdseXBoQm91bmRzRm9yVGV4dFJ1bihj
b25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IFRleHRSdW4mKTsKIAogICAgIGNsYXNzIENvbXBsZXhU
ZXh0UnVuOwogICAgIFdFQkNPUkVfRVhQT1JUIENvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBG
b250Q2FzY2FkZSYsIGNvbnN0IFRleHRSdW4mLCBWZWN0b3I8UmVmPENvbXBsZXhUZXh0UnVuPj4m
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476777</attachid>
            <date>2025-09-17 05:11:26 -0700</date>
            <delta_ts>2025-09-17 07:02:24 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-298953-20250917051125.patch</filename>
            <type>text/plain</type>
            <size>9921</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBmZmJiNjIwNjY3NGFmYWQwN2YwNGQ2ZWQ2YTRhOTc0ZDUwNDlhNTc3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMTYgU2VwIDIwMjUgMDg6NTA6MzMgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbdGV4dCBz
aGFwaW5nXSBMaW5lIGJyZWFraW5nIG5lZWRzIHRvIGtub3cgdGhlIHNoYXBlZCBjb250ZW50CiB3
aWR0aCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjk4OTUzCgpSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KCkluIG9yZGVyIHRvIGZpZ3VyZSBvdXQgd2hldGhlciBj
dXJyZW50IGNvbnRlbnQgZml0cyB0aGUgYXZhaWxhYmxlIHNwYWNlLCB3ZSBoYXZlCnRvIHNldCB0
aGUgc2hhcGVkIGNvbnRlbnQgd2lkdGggb24gTGluZUNhbmRpZGF0ZS4KCihXaGlsZSB0aGlzIHBh
dGNoIGltcGxlbWVudHMgdGhlIGxvZ2ljIG9mIGFwcGx5aW5nIHNoYXBlZCBjb250ZW50IHdpZHRo
LCBnbHlwaHMgc2l6ZXMKYXJlIG5vdCB5ZXQgYXZhaWxhYmxlLiBTZWUgQ29tcGxleFRleHRDb250
cm9sbGVyOjpnbHlwaEJvdW5kc0ZvclRleHRSdW4pCgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUNvbnRlbnRCcmVha2VyLmg6CihXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6YWRqdXN0
TG9naWNhbFdpZHRoKToKKFdlYkNvcmU6OkxheW91dDo6SW5saW5lQ29udGVudEJyZWFrZXI6OkNv
bnRpbnVvdXNDb250ZW50OjpSdW46OmFkanVzdENvbnRlbnRXaWR0aCk6CiogU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuY3Bw
OgooV2ViQ29yZTo6TGF5b3V0OjpMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nT25SdW5SYW5nZSBj
b25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRl
ZCk6CiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5s
aW5lTGluZUJ1aWxkZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21w
bGV4VGV4dENvbnRyb2xsZXIuY3BwOgooV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpl
bmNsb3NpbmdHbHlwaEJvdW5kc0ZvclRleHRSdW4pOgoqIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oOgotLS0KIC4uLi9pbmxpbmUvSW5saW5l
Q29udGVudEJyZWFrZXIuaCAgICAgICAgICAgICB8ICAyICsKIC4uLi9pbmxpbmUvSW5saW5lTGlu
ZUJ1aWxkZXIuY3BwICAgICAgICAgICAgICB8IDYxICsrKysrKysrKysrKysrKystLS0KIC4uLi9p
bmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCAgICAgICAgICAgICAgICB8ICAxICsKIC4uLi9ncmFw
aGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwICAgICAgICB8ICA3ICsrKwogLi4uL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5oIHwgIDEgKwogNSBmaWxlcyBjaGFu
Z2VkLCA2MiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50
QnJlYWtlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAppbmRleCAxNGUwY2YzMzYxYjguLmQ5NzQwYjI2ODZl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lQ29udGVudEJyZWFrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
Zm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVDb250ZW50QnJlYWtlci5oCkBAIC04MSw2
ICs4MSw3IEBAIHB1YmxpYzoKICAgICAvLyBzZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy10ZXh0LTMvI2xpbmUtYnJlYWstZGV0YWlscwogICAgIHN0cnVjdCBDb250aW51b3VzQ29udGVu
dCB7CiAgICAgICAgIElubGluZUxheW91dFVuaXQgbG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9sb2dpY2FsV2lkdGg7IH0KKyAgICAgICAgdm9pZCBhZGp1c3RMb2dpY2FsV2lkdGgoSW5s
aW5lTGF5b3V0VW5pdCBsb2dpY2FsV2lkdGgpIHsgbV9sb2dpY2FsV2lkdGggPSBsb2dpY2FsV2lk
dGg7IH0KICAgICAgICAgc3RkOjpvcHRpb25hbDxJbmxpbmVMYXlvdXRVbml0PiBtaW5pbXVtUmVx
dWlyZWRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bVJlcXVpcmVkV2lkdGg7IH0KICAg
ICAgICAgSW5saW5lTGF5b3V0VW5pdCBsZWFkaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX2xlYWRpbmdUcmltbWFibGVXaWR0aDsgfQogICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IHRyYWlsaW5nVHJpbW1hYmxlV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3RyYWlsaW5nVHJpbW1h
YmxlV2lkdGg7IH0KQEAgLTEwNiw2ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBSdW4m
IG9wZXJhdG9yPShjb25zdCBSdW4mKTsKIAogICAgICAgICAgICAgSW5saW5lTGF5b3V0VW5pdCBz
cGFjZVJlcXVpcmVkKCkgY29uc3QgeyByZXR1cm4gb2Zmc2V0ICsgY29udGVudFdpZHRoKCk7IH0K
KyAgICAgICAgICAgIHZvaWQgYWRqdXN0Q29udGVudFdpZHRoKElubGluZUxheW91dFVuaXQgY29u
dGVudFdpZHRoKSB7IG1fY29udGVudFdpZHRoID0gY29udGVudFdpZHRoOyB9CiAgICAgICAgICAg
ICBJbmxpbmVMYXlvdXRVbml0IGNvbnRlbnRXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVu
dFdpZHRoOyB9CiAKICAgICAgICAgICAgIGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGlu
Z0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5jcHAKaW5kZXggNmYzNDYzZTQ4ZDI2
Li43MGNjMTE4MGQ0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQnVpbGRlci5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbmxp
bmVMaW5lQnVpbGRlci5oIgogCisjaW5jbHVkZSAiQ29tcGxleFRleHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSW5saW5lQ29udGVudEFsaWduZXIuaCIKICNpbmNsdWRlICJJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdVdGlscy5oIgpAQCAtODMy
LDI0ICs4MzMsNjQgQEAgVmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+IExpbmVCdWls
ZGVyOjpjb2xsZWN0U2hhcGluZ1Jhbmdlcyhjb25zdCBMaW5lQ2EKICAgICByZXR1cm4gcmFuZ2Vz
OwogfQogCi12b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2FuZGlk
YXRlJiBsaW5lQ2FuZGlkYXRlKQordm9pZCBMaW5lQnVpbGRlcjo6YXBwbHlTaGFwaW5nT25SdW5S
YW5nZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQ6OnBhaXI8c2l6ZV90LCBzaXpl
X3Q+IHJhbmdlKSBjb25zdAogewotICAgIGlmICghbGF5b3V0U3RhdGUoKS5zaG91bGRTaGFwZVRl
eHRBY3Jvc3NJbmxpbmVCb3hlcygpKQorICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lQ2Fu
ZGlkYXRlLmlubGluZUNvbnRlbnQ7CisgICAgYXV0byYgcnVucyA9IGlubGluZUNvbnRlbnQuY29u
dGludW91c0NvbnRlbnQoKS5ydW5zKCk7CisgICAgaWYgKHJhbmdlLmZpcnN0ID49IHJhbmdlLnNl
Y29uZCB8fCByYW5nZS5maXJzdCA+PSBydW5zLnNpemUoKSB8fCByYW5nZS5zZWNvbmQgPj0gcnVu
cy5zaXplKCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgcnVuc1tyYW5nZS5maXJzdF0uc2hhcGluZ0JvdW5kYXJ5ID0gSW5saW5l
Q29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNoYXBpbmdCb3VuZGFyeTo6
U3RhcnQ7CisgICAgcnVuc1tyYW5nZS5zZWNvbmRdLnNoYXBpbmdCb3VuZGFyeSA9IElubGluZUNv
bnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuOjpTaGFwaW5nQm91bmRhcnk6OkVu
ZDsKIAotICAgIGlmICghbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmlzU2hhcGluZ0NhbmRp
ZGF0ZUJ5Q29udGVudCgpKQorICAgIFN0cmluZ0J1aWxkZXIgdGV4dENvbnRlbnQ7CisgICAgZm9y
IChhdXRvIGluZGV4ID0gcmFuZ2UuZmlyc3Q7IGluZGV4IDw9IHJhbmdlLnNlY29uZDsgKytpbmRl
eCkgeworICAgICAgICBpZiAoYXV0byogaW5saW5lVGV4dEl0ZW0gPSBkeW5hbWljRG93bmNhc3Q8
SW5saW5lVGV4dEl0ZW0+KHJ1bnNbaW5kZXhdLmlubGluZUl0ZW0pKQorICAgICAgICAgICAgdGV4
dENvbnRlbnQuYXBwZW5kKGlubGluZVRleHRJdGVtLT5jb250ZW50KCkpOworICAgIH0KKworICAg
IEFTU0VSVCghdGV4dENvbnRlbnQuaXNFbXB0eSgpKTsKKyAgICBhdXRvIGNoYXJhY3RlclNjYW5G
b3JDb2RlUGF0aCA9IHRydWU7CisgICAgYXV0byYgc3R5bGUgPSBpc0ZpcnN0Rm9ybWF0dGVkTGlu
ZUNhbmRpZGF0ZSgpID8gcnVuc1tyYW5nZS5maXJzdF0uaW5saW5lSXRlbS5maXJzdExpbmVTdHls
ZSgpIDogcnVuc1tyYW5nZS5maXJzdF0uaW5saW5lSXRlbS5zdHlsZSgpOworICAgIGF1dG8gdGV4
dFJ1biA9IFRleHRSdW4geyB0ZXh0Q29udGVudCwgbV9saW5lTG9naWNhbFJlY3QubGVmdCgpLCB7
IH0sIEV4cGFuc2lvbkJlaGF2aW9yOjpkZWZhdWx0QmVoYXZpb3IoKSwgVGV4dERpcmVjdGlvbjo6
UlRMLCBzdHlsZS5ydGxPcmRlcmluZygpID09IE9yZGVyOjpWaXN1YWwsIGNoYXJhY3RlclNjYW5G
b3JDb2RlUGF0aCB9OworICAgIGF1dG8gZ2x5cGhTaXplcyA9IENvbXBsZXhUZXh0Q29udHJvbGxl
cjo6Z2x5cGhCb3VuZHNGb3JUZXh0UnVuKHN0eWxlLmZvbnRDYXNjYWRlKCksIHRleHRSdW4pOwor
CisgICAgaWYgKGdseXBoU2l6ZXMuc2l6ZSgpICE9IHRleHRSdW4ubGVuZ3RoKCkpIHsKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBh
dXRvJiBydW5zID0gbGluZUNhbmRpZGF0ZS5pbmxpbmVDb250ZW50LmNvbnRpbnVvdXNDb250ZW50
KCkucnVucygpOwotICAgIGF1dG8gc2hhcGluZ1JhbmdlcyA9IGNvbGxlY3RTaGFwaW5nUmFuZ2Vz
KGxpbmVDYW5kaWRhdGUpOwotICAgIGZvciAoYXV0byByYW5nZSA6IHNoYXBpbmdSYW5nZXMpIHsK
LSAgICAgICAgaWYgKHJhbmdlLmZpcnN0ID49IHJhbmdlLnNlY29uZCB8fCByYW5nZS5maXJzdCA+
PSBydW5zLnNpemUoKSB8fCByYW5nZS5zZWNvbmQgPj0gcnVucy5zaXplKCkpIHsKLSAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHNpemVfdCBnbHlwaEluZGV4ID0gMDsKKyAg
ICBhdXRvIHNoYXBlZENvbnRlbnRXaWR0aCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIGZv
ciAoYXV0byBpbmRleCA9IHJhbmdlLmZpcnN0OyBpbmRleCA8IHJhbmdlLnNlY29uZDsgKytpbmRl
eCkgeworICAgICAgICBhdXRvJiBydW4gPSBydW5zW2luZGV4XTsKKyAgICAgICAgYXV0byogaW5s
aW5lVGV4dEl0ZW0gPSBkeW5hbWljRG93bmNhc3Q8SW5saW5lVGV4dEl0ZW0+KHJ1bi5pbmxpbmVJ
dGVtKTsKKyAgICAgICAgaWYgKCFpbmxpbmVUZXh0SXRlbSkgeworICAgICAgICAgICAgQVNTRVJU
KHJ1bi5pbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnRPckVuZCgpKTsKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIHJ1bnNbcmFuZ2UuZmlyc3RdLnNoYXBpbmdCb3Vu
ZGFyeSA9IElubGluZUNvbnRlbnRCcmVha2VyOjpDb250aW51b3VzQ29udGVudDo6UnVuOjpTaGFw
aW5nQm91bmRhcnk6OlN0YXJ0OwotICAgICAgICBydW5zW3JhbmdlLnNlY29uZF0uc2hhcGluZ0Jv
dW5kYXJ5ID0gSW5saW5lQ29udGVudEJyZWFrZXI6OkNvbnRpbnVvdXNDb250ZW50OjpSdW46OlNo
YXBpbmdCb3VuZGFyeTo6RW5kOworICAgICAgICBhdXRvIHJ1bldpZHRoID0gSW5saW5lTGF5b3V0
VW5pdCB7IH07CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW5saW5lVGV4dEl0ZW0t
Pmxlbmd0aCgpOyArK2kpIHsKKyAgICAgICAgICAgIHJ1bldpZHRoICs9IHN0ZDo6bWF4KDAuZiwg
Z2x5cGhTaXplc1tnbHlwaEluZGV4XSk7CisgICAgICAgICAgICArK2dseXBoSW5kZXg7CisgICAg
ICAgIH0KKyAgICAgICAgcnVuLmFkanVzdENvbnRlbnRXaWR0aChydW5XaWR0aCk7CisgICAgICAg
IHNoYXBlZENvbnRlbnRXaWR0aCArPSBydW5XaWR0aDsKICAgICB9CisgICAgaW5saW5lQ29udGVu
dC5jb250aW51b3VzQ29udGVudCgpLmFkanVzdExvZ2ljYWxXaWR0aChzaGFwZWRDb250ZW50V2lk
dGgpOworfQorCit2b2lkIExpbmVCdWlsZGVyOjphcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2Fu
ZGlkYXRlJiBsaW5lQ2FuZGlkYXRlKQoreworICAgIGlmICghbGF5b3V0U3RhdGUoKS5zaG91bGRT
aGFwZVRleHRBY3Jvc3NJbmxpbmVCb3hlcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
IWxpbmVDYW5kaWRhdGUuaW5saW5lQ29udGVudC5pc1NoYXBpbmdDYW5kaWRhdGVCeUNvbnRlbnQo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChhdXRvIHJhbmdlIDogY29sbGVjdFNoYXBp
bmdSYW5nZXMobGluZUNhbmRpZGF0ZSkpCisgICAgICAgIGFwcGx5U2hhcGluZ09uUnVuUmFuZ2Uo
bGluZUNhbmRpZGF0ZSwgcmFuZ2UpOwogfQogCiB2b2lkIExpbmVCdWlsZGVyOjpjYW5kaWRhdGVD
b250ZW50Rm9yTGluZShMaW5lQ2FuZGlkYXRlJiBsaW5lQ2FuZGlkYXRlLCBzdGQ6OnBhaXI8c2l6
ZV90LCBzaXplX3Q+IHN0YXJ0RW5kSW5kZXgsIGNvbnN0IElubGluZUl0ZW1SYW5nZSYgbGF5b3V0
UmFuZ2UsIElubGluZUxheW91dFVuaXQgY3VycmVudExvZ2ljYWxSaWdodCwgU2tpcEZsb2F0cyBz
a2lwRmxvYXRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKaW5kZXggMDc3
MTEwMGJlZGFiLi5mZDQ3YTUyMzJmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVCdWlsZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJ1
aWxkZXIuaApAQCAtNDYsNiArNDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2FuZGlkYXRlQ29u
dGVudEZvckxpbmUoTGluZUNhbmRpZGF0ZSYsIHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4gc3Rh
cnRFbmRJbmRleCwgY29uc3QgSW5saW5lSXRlbVJhbmdlJiBuZWVkc0xheW91dFJhbmdlLCBJbmxp
bmVMYXlvdXRVbml0IGN1cnJlbnRMb2dpY2FsUmlnaHQsIFNraXBGbG9hdHMgPSBTa2lwRmxvYXRz
OjpObyk7CiAgICAgdm9pZCBhcHBseVNoYXBpbmdJZk5lZWRlZChMaW5lQ2FuZGlkYXRlJik7CiAg
ICAgVmVjdG9yPHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4+IGNvbGxlY3RTaGFwaW5nUmFuZ2Vz
KGNvbnN0IExpbmVDYW5kaWRhdGUmKSBjb25zdDsKKyAgICB2b2lkIGFwcGx5U2hhcGluZ09uUnVu
UmFuZ2UoTGluZUNhbmRpZGF0ZSYsIHN0ZDo6cGFpcjxzaXplX3QsIHNpemVfdD4gcmFuZ2UpIGNv
bnN0OwogICAgIElubGluZUxheW91dFVuaXQgbGVhZGluZ1B1bmN0dWF0aW9uV2lkdGhGb3JMaW5l
Q2FuZGlhdGUoY29uc3QgTGluZUNhbmRpZGF0ZSYpIGNvbnN0OwogICAgIElubGluZUxheW91dFVu
aXQgdHJhaWxpbmdQdW5jdHVhdGlvbk9yU3RvcE9yQ29tbWFXaWR0aEZvckxpbmVDYW5kaWF0ZShj
b25zdCBMaW5lQ2FuZGlkYXRlJiwgc2l6ZV90IHN0YXJ0SW5kZXhBZnRlckNhbmRpZGF0ZUNvbnRl
bnQsICBzaXplX3QgbGF5b3V0UmFuZ2VFbmQpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcApp
bmRleCA5ODhkOTRhZTAxOGQuLjY0MTU4ZDRlMTJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCkBA
IC0xODIsNiArMTgyLDEzIEBAIHN0ZDo6cGFpcjxmbG9hdCwgZmxvYXQ+IENvbXBsZXhUZXh0Q29u
dHJvbGxlcjo6ZW5jbG9zaW5nR2x5cGhCb3VuZHNGb3JUZXh0UnVuKGNvCiAgICAgcmV0dXJuIHsg
ZW5jbG9zaW5nQXNjZW50LnZhbHVlX29yKDAuZiksIGVuY2xvc2luZ0Rlc2NlbnQudmFsdWVfb3Io
MC5mKSB9OwogfQogCitWZWN0b3I8ZmxvYXQ+IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6Z2x5cGhC
b3VuZHNGb3JUZXh0UnVuKGNvbnN0IEZvbnRDYXNjYWRlJiBmb250Q2FzY2FkZSwgY29uc3QgVGV4
dFJ1biYgdGV4dFJ1bikKK3sKKyAgICBVTlVTRURfUEFSQU0oZm9udENhc2NhZGUpOworICAgIFVO
VVNFRF9QQVJBTSh0ZXh0UnVuKTsKKyAgICByZXR1cm4geyB9OworfQorCiB2b2lkIENvbXBsZXhU
ZXh0Q29udHJvbGxlcjo6ZmluaXNoQ29uc3RydWN0aW9uKCkKIHsKICAgICBhZGp1c3RHbHlwaHNB
bmRBZHZhbmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuaAppbmRleCBkNDc5NTA1YzUyYjYuLjFlNWMyMGZh
YzEzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxl
eFRleHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29tcGxleFRleHRDb250cm9sbGVyLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIENv
bXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IFRleHRSdW4mLCBi
b29sIG1heVVzZU5hdHVyYWxXcml0aW5nRGlyZWN0aW9uID0gZmFsc2UsIFNpbmdsZVRocmVhZFdl
YWtIYXNoU2V0PGNvbnN0IEZvbnQ+KiBmYWxsYmFja0ZvbnRzID0gMCwgYm9vbCBmb3JUZXh0RW1w
aGFzaXMgPSBmYWxzZSk7CiAKICAgICBzdGF0aWMgc3RkOjpwYWlyPGZsb2F0LCBmbG9hdD4gZW5j
bG9zaW5nR2x5cGhCb3VuZHNGb3JUZXh0UnVuKGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgVGV4
dFJ1biYpOworICAgIHN0YXRpYyBWZWN0b3I8ZmxvYXQ+IGdseXBoQm91bmRzRm9yVGV4dFJ1bihj
b25zdCBGb250Q2FzY2FkZSYsIGNvbnN0IFRleHRSdW4mKTsKIAogICAgIGNsYXNzIENvbXBsZXhU
ZXh0UnVuOwogICAgIFdFQkNPUkVfRVhQT1JUIENvbXBsZXhUZXh0Q29udHJvbGxlcihjb25zdCBG
b250Q2FzY2FkZSYsIGNvbnN0IFRleHRSdW4mLCBWZWN0b3I8UmVmPENvbXBsZXhUZXh0UnVuPj4m
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>