<?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>250982</bug_id>
          
          <creation_ts>2023-01-22 08:40:44 -0800</creation_ts>
          <short_desc>[IFC] Rename LineBoxBuilder::adjustedLayoutBoundsWithFallbackFonts to enclosingAscentDescentWithFallbackFonts</short_desc>
          <delta_ts>2023-01-22 11:32:19 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</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>1927281</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-01-22 08:40:44 -0800</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1927283</commentid>
    <comment_count>1</comment_count>
      <attachid>464593</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-01-22 08:43:26 -0800</bug_when>
    <thetext>Created attachment 464593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1927285</commentid>
    <comment_count>2</comment_count>
      <attachid>464593</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2023-01-22 08:45:23 -0800</bug_when>
    <thetext>Comment on attachment 464593
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=464593&amp;action=review

&gt; Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:154
&gt; +AscentAndDescent LineBoxBuilder::enclosingAscentDescentWithFallbackFonts(InlineLevelBox&amp; inlineBox, const TextUtil::FallbackFontList&amp; fallbackFontsForContent, FontBaseline fontBaseline) const

Can this take const InlineLevelBox&amp;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1927286</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-01-22 08:46:25 -0800</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 464593 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=464593&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:154
&gt; &gt; +AscentAndDescent LineBoxBuilder::enclosingAscentDescentWithFallbackFonts(InlineLevelBox&amp; inlineBox, const TextUtil::FallbackFontList&amp; fallbackFontsForContent, FontBaseline fontBaseline) const
&gt; 
&gt; Can this take const InlineLevelBox&amp;?
excellent point!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1927287</commentid>
    <comment_count>4</comment_count>
      <attachid>464594</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-01-22 08:48:23 -0800</bug_when>
    <thetext>Created attachment 464594
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1927305</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-01-22 11:31:54 -0800</bug_when>
    <thetext>Committed 259194@main (15e2f12c0c15): &lt;https://commits.webkit.org/259194@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 464594.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1927306</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-01-22 11:32:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/104532519&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>464593</attachid>
            <date>2023-01-22 08:43:26 -0800</date>
            <delta_ts>2023-01-22 08:48:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-250982-20230122084325.patch</filename>
            <type>text/plain</type>
            <size>10203</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA0MmQyYTQwNTM2MjExZmMzN2U2NDU4MWEzZTVjMDgyZWNhOWE5N2JjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgMjIgSmFuIDIwMjMgMDg6NDA6NTQgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbSUZDXSBS
ZW5hbWUKIExpbmVCb3hCdWlsZGVyOjphZGp1c3RlZExheW91dEJvdW5kc1dpdGhGYWxsYmFja0Zv
bnRzIHRvCiBlbmNsb3NpbmdBc2NlbnREZXNjZW50V2l0aEZhbGxiYWNrRm9udHMKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTA5ODIKClJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgoKTGV0IHRoZSBjYWxsZXIgZGVjaWRlIHdoZXRoZXIgbGF5b3V0IGJvdW5kcyBv
ciB0aGUgYXNjZW50L2Rlc2NlbnQgdmFsdWUgcGFpciBzaG91bGQgYmUgYWRqdXN0ZWQuCgoqIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
b3hCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmVuY2xvc2lu
Z0FzY2VudERlc2NlbnRXaXRoRmFsbGJhY2tGb250cyBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKToKKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJveEJ1aWxkZXI6OmFkanVzdElubGluZUJveEhlaWdodHNGb3JMaW5lQm94Q29u
dGFpbklmQXBwbGljYWJsZSk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjphZGp1
c3RJZGVvZ3JhcGhpY0Jhc2VsaW5lSWZBcHBsaWNhYmxlKToKKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveEJ1aWxkZXI6OmFkanVzdGVkTGF5b3V0Qm91bmRzV2l0aEZhbGxiYWNrRm9udHMgY29uc3Qp
OiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmg6Ci0tLQogLi4uL2lubGluZS9JbmxpbmVMaW5lQm94
QnVpbGRlci5jcHAgICAgICAgICAgIHwgODIgKysrKysrKysrKy0tLS0tLS0tLQogLi4uL2lubGlu
ZS9JbmxpbmVMaW5lQm94QnVpbGRlci5oICAgICAgICAgICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hh
bmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCmluZGV4IDI4YTA2NDYyNGJlZi4uOWE3OTdj
M2FmYmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3Bw
CkBAIC01NCwzOSArNTQsNiBAQCBMaW5lQm94IExpbmVCb3hCdWlsZGVyOjpidWlsZChzaXplX3Qg
bGluZUluZGV4KQogICAgIHJldHVybiBsaW5lQm94OwogfQogCi1JbmxpbmVMZXZlbEJveDo6TGF5
b3V0Qm91bmRzIExpbmVCb3hCdWlsZGVyOjphZGp1c3RlZExheW91dEJvdW5kc1dpdGhGYWxsYmFj
a0ZvbnRzKElubGluZUxldmVsQm94JiBpbmxpbmVCb3gsIGNvbnN0IFRleHRVdGlsOjpGYWxsYmFj
a0ZvbnRMaXN0JiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5lIGZvbnRCYXNl
bGluZSkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWZhbGxiYWNrRm9udHNGb3JDb250ZW50LmlzRW1w
dHkoKSk7Ci0gICAgQVNTRVJUKGlubGluZUJveC5pc0lubGluZUJveCgpKTsKLQotICAgIC8vIGh0
dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtaW5saW5lLTMvI2lubGluZS1oZWlnaHQKLSAgICAvLyBX
aGVuIHRoZSBjb21wdXRlZCBsaW5lLWhlaWdodCBpcyBub3JtYWwsIHRoZSBsYXlvdXQgYm91bmRz
IG9mIGFuIGlubGluZSBib3ggZW5jbG9zZXMgYWxsIGl0cyBnbHlwaHMsIGdvaW5nIGZyb20gdGhl
IGhpZ2hlc3QgQSB0byB0aGUgZGVlcGVzdCBELiAKLSAgICBhdXRvIG1heEFzY2VudCA9IElubGlu
ZUxheW91dFVuaXQgeyB9OwotICAgIGF1dG8gbWF4RGVzY2VudCA9IElubGluZUxheW91dFVuaXQg
eyB9OwotICAgIC8vIElmIGxpbmUtaGVpZ2h0IGNvbXB1dGVzIHRvIG5vcm1hbCBhbmQgZWl0aGVy
IHRleHQtZWRnZSBpcyBsZWFkaW5nIG9yIHRoaXMgaXMgdGhlIHJvb3QgaW5saW5lIGJveCwKLSAg
ICAvLyB0aGUgZm9udCdzIGxpbmUgZ2FwIG1ldHJpYyBtYXkgYWxzbyBiZSBpbmNvcnBvcmF0ZWQg
aW50byBBIGFuZCBEIGJ5IGFkZGluZyBoYWxmIHRvIGVhY2ggc2lkZSBhcyBoYWxmLWxlYWRpbmcu
Ci0gICAgLy8gRklYTUU6IFdlIGRvbid0IHN1cHBvcnQgdGhlIHRleHQtZWRnZSBwcm9wZXJ0eSB5
ZXQsIGJ1dCBpdHMgaW5pdGlhbCB2YWx1ZSBpcyAnbGVhZGluZycgd2hpY2ggbWFrZXMgdGhlIGxp
bmUtZ2FwIGFkanVzdG1lbnQgYWx3YXlzIG9uLgotICAgIGF1dG8gaXNUZXh0RWRnZUxlYWRpbmcg
PSB0cnVlOwotICAgIGF1dG8gc2hvdWxkVXNlTGluZUdhcFRvQWRqdXN0QXNjZW50RGVzY2VudCA9
IGlubGluZUJveC5pc1Jvb3RJbmxpbmVCb3goKSB8fCBpc1RleHRFZGdlTGVhZGluZzsKLSAgICBm
b3IgKGF1dG8qIGZvbnQgOiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCkgewotICAgICAgICBhdXRv
JiBmb250TWV0cmljcyA9IGZvbnQtPmZvbnRNZXRyaWNzKCk7Ci0gICAgICAgIElubGluZUxheW91
dFVuaXQgYXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KGZvbnRCYXNlbGluZSk7Ci0gICAgICAg
IElubGluZUxheW91dFVuaXQgZGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQoZm9udEJhc2Vs
aW5lKTsKLSAgICAgICAgaWYgKHNob3VsZFVzZUxpbmVHYXBUb0FkanVzdEFzY2VudERlc2NlbnQp
IHsKLSAgICAgICAgICAgIGF1dG8gbG9naWNhbEhlaWdodCA9IGFzY2VudCArIGRlc2NlbnQ7Ci0g
ICAgICAgICAgICBhdXRvIGhhbGZMZWFkaW5nID0gKGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkg
LSBsb2dpY2FsSGVpZ2h0KSAvIDI7Ci0gICAgICAgICAgICBhc2NlbnQgPSBhc2NlbnQgKyBoYWxm
TGVhZGluZzsKLSAgICAgICAgICAgIGRlc2NlbnQgPSBkZXNjZW50ICsgaGFsZkxlYWRpbmc7Ci0g
ICAgICAgIH0KLSAgICAgICAgbWF4QXNjZW50ID0gc3RkOjptYXgobWF4QXNjZW50LCBhc2NlbnQp
OwotICAgICAgICBtYXhEZXNjZW50ID0gc3RkOjptYXgobWF4RGVzY2VudCwgZGVzY2VudCk7Ci0g
ICAgfQotCi0gICAgLy8gV2UgbmVlZCBmbG9vci9jZWlsIHRvIG1hdGNoIGxlZ2FjeSBsYXlvdXQg
aW50ZWdyYWwgcG9zaXRpb25pbmcuCi0gICAgYXV0byBsYXlvdXRCb3VuZHMgPSAqaW5saW5lQm94
LmxheW91dEJvdW5kcygpOwotICAgIHJldHVybiB7IHN0ZDo6bWF4KGxheW91dEJvdW5kcy5hc2Nl
bnQsIGZsb29yZihtYXhBc2NlbnQpKSwgc3RkOjptYXgobGF5b3V0Qm91bmRzLmRlc2NlbnQsIGNl
aWxmKG1heERlc2NlbnQpKSB9OwotfQotCiBUZXh0VXRpbDo6RmFsbGJhY2tGb250TGlzdCBMaW5l
Qm94QnVpbGRlcjo6Y29sbGVjdEZhbGxiYWNrRm9udHMoY29uc3QgSW5saW5lTGV2ZWxCb3gmIHBh
cmVudElubGluZUJveCwgY29uc3QgTGluZTo6UnVuJiBydW4sIGNvbnN0IFJlbmRlclN0eWxlJiBz
dHlsZSkKIHsKICAgICBBU1NFUlQocGFyZW50SW5saW5lQm94LmlzSW5saW5lQm94KCkpOwpAQCAt
MTg0LDYgKzE1MSwzNSBAQCBzdGF0aWMgQXNjZW50QW5kRGVzY2VudCBhc2NlbnRBbmREZXNjZW50
V2l0aFRleHRFZGdlRm9ySW5saW5lQm94KGNvbnN0IElubGluZUxldgogICAgIHJldHVybiB7IGFz
Y2VudCgpLCBkZXNjZW50KCkgfTsKIH0KIAorQXNjZW50QW5kRGVzY2VudCBMaW5lQm94QnVpbGRl
cjo6ZW5jbG9zaW5nQXNjZW50RGVzY2VudFdpdGhGYWxsYmFja0ZvbnRzKElubGluZUxldmVsQm94
JiBpbmxpbmVCb3gsIGNvbnN0IFRleHRVdGlsOjpGYWxsYmFja0ZvbnRMaXN0JiBmYWxsYmFja0Zv
bnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5lIGZvbnRCYXNlbGluZSkgY29uc3QKK3sKKyAgICBB
U1NFUlQoIWZhbGxiYWNrRm9udHNGb3JDb250ZW50LmlzRW1wdHkoKSk7CisgICAgQVNTRVJUKGlu
bGluZUJveC5pc0lubGluZUJveCgpKTsKKworICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9j
c3MtaW5saW5lLTMvI2lubGluZS1oZWlnaHQKKyAgICAvLyBXaGVuIHRoZSBjb21wdXRlZCBsaW5l
LWhlaWdodCBpcyBub3JtYWwsIHRoZSBsYXlvdXQgYm91bmRzIG9mIGFuIGlubGluZSBib3ggZW5j
bG9zZXMgYWxsIGl0cyBnbHlwaHMsIGdvaW5nIGZyb20gdGhlIGhpZ2hlc3QgQSB0byB0aGUgZGVl
cGVzdCBELiAKKyAgICBhdXRvIG1heEFzY2VudCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAg
IGF1dG8gbWF4RGVzY2VudCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIC8vIElmIGxpbmUt
aGVpZ2h0IGNvbXB1dGVzIHRvIG5vcm1hbCBhbmQgZWl0aGVyIHRleHQtZWRnZSBpcyBsZWFkaW5n
IG9yIHRoaXMgaXMgdGhlIHJvb3QgaW5saW5lIGJveCwKKyAgICAvLyB0aGUgZm9udCdzIGxpbmUg
Z2FwIG1ldHJpYyBtYXkgYWxzbyBiZSBpbmNvcnBvcmF0ZWQgaW50byBBIGFuZCBEIGJ5IGFkZGlu
ZyBoYWxmIHRvIGVhY2ggc2lkZSBhcyBoYWxmLWxlYWRpbmcuCisgICAgYXV0byBzaG91bGRVc2VM
aW5lR2FwVG9BZGp1c3RBc2NlbnREZXNjZW50ID0gaW5saW5lQm94LmlzUm9vdElubGluZUJveCgp
IHx8IGlzVGV4dEVkZ2VMZWFkaW5nKGlubGluZUJveCk7CisgICAgZm9yIChhdXRvKiBmb250IDog
ZmFsbGJhY2tGb250c0ZvckNvbnRlbnQpIHsKKyAgICAgICAgYXV0byYgZm9udE1ldHJpY3MgPSBm
b250LT5mb250TWV0cmljcygpOworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGFzY2VudCA9IGZv
bnRNZXRyaWNzLmFzY2VudChmb250QmFzZWxpbmUpOworICAgICAgICBJbmxpbmVMYXlvdXRVbml0
IGRlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KGZvbnRCYXNlbGluZSk7CisgICAgICAgIGlm
IChzaG91bGRVc2VMaW5lR2FwVG9BZGp1c3RBc2NlbnREZXNjZW50KSB7CisgICAgICAgICAgICBh
dXRvIGxvZ2ljYWxIZWlnaHQgPSBhc2NlbnQgKyBkZXNjZW50OworICAgICAgICAgICAgYXV0byBo
YWxmTGVhZGluZyA9IChmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gbG9naWNhbEhlaWdodCkg
LyAyOworICAgICAgICAgICAgYXNjZW50ID0gYXNjZW50ICsgaGFsZkxlYWRpbmc7CisgICAgICAg
ICAgICBkZXNjZW50ID0gZGVzY2VudCArIGhhbGZMZWFkaW5nOworICAgICAgICB9CisgICAgICAg
IG1heEFzY2VudCA9IHN0ZDo6bWF4KG1heEFzY2VudCwgYXNjZW50KTsKKyAgICAgICAgbWF4RGVz
Y2VudCA9IHN0ZDo6bWF4KG1heERlc2NlbnQsIGRlc2NlbnQpOworICAgIH0KKyAgICAvLyBXZSBu
ZWVkIGZsb29yL2NlaWwgdG8gbWF0Y2ggbGVnYWN5IGxheW91dCBpbnRlZ3JhbCBwb3NpdGlvbmlu
Zy4KKyAgICByZXR1cm4geyBmbG9vcmYobWF4QXNjZW50KSwgY2VpbGYobWF4RGVzY2VudCkgfTsK
K30KKwogdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0TGF5b3V0Qm91bmRzRm9ySW5saW5lQm94KElu
bGluZUxldmVsQm94JiBpbmxpbmVCb3gsIEZvbnRCYXNlbGluZSBmb250QmFzZWxpbmUpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKGlubGluZUJveC5pc0lubGluZUJveCgpKTsKQEAgLTQwNSw4ICs0MDEs
MTEgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hlcyhMaW5l
Qm94JiBsaW5lQm94KQogICAgICAgICAgICAgcGFyZW50SW5saW5lQm94LnNldEhhc0NvbnRlbnQo
KTsKICAgICAgICAgICAgIGlmIChhdXRvIGZhbGxiYWNrRm9udHMgPSBjb2xsZWN0RmFsbGJhY2tG
b250cyhwYXJlbnRJbmxpbmVCb3gsIHJ1biwgc3R5bGUpOyAhZmFsbGJhY2tGb250cy5pc0VtcHR5
KCkpIHsKICAgICAgICAgICAgICAgICAvLyBBZGp1c3Qgbm9uLWVtcHR5IGlubGluZSBib3ggaGVp
Z2h0IHdoZW4gZ2x5cGhzIGZyb20gdGhlIG5vbi1wcmltYXJ5IGZvbnQgc3RyZXRjaCB0aGUgYm94
LgotICAgICAgICAgICAgICAgIGlmIChwYXJlbnRJbmxpbmVCb3guaXNQcmVmZXJyZWRMaW5lSGVp
Z2h0Rm9udE1ldHJpY3NCYXNlZCgpKQotICAgICAgICAgICAgICAgICAgICBwYXJlbnRJbmxpbmVC
b3guc2V0TGF5b3V0Qm91bmRzKGFkanVzdGVkTGF5b3V0Qm91bmRzV2l0aEZhbGxiYWNrRm9udHMo
cGFyZW50SW5saW5lQm94LCBmYWxsYmFja0ZvbnRzLCBBbHBoYWJldGljQmFzZWxpbmUpKTsKKyAg
ICAgICAgICAgICAgICBpZiAocGFyZW50SW5saW5lQm94LmlzUHJlZmVycmVkTGluZUhlaWdodEZv
bnRNZXRyaWNzQmFzZWQoKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGVuY2xvc2luZ0Fz
Y2VudEFuZERlc2NlbnQgPSBlbmNsb3NpbmdBc2NlbnREZXNjZW50V2l0aEZhbGxiYWNrRm9udHMo
cGFyZW50SW5saW5lQm94LCBmYWxsYmFja0ZvbnRzLCBBbHBoYWJldGljQmFzZWxpbmUpOworICAg
ICAgICAgICAgICAgICAgICBhdXRvIGxheW91dEJvdW5kcyA9ICpwYXJlbnRJbmxpbmVCb3gubGF5
b3V0Qm91bmRzKCk7CisgICAgICAgICAgICAgICAgICAgIHBhcmVudElubGluZUJveC5zZXRMYXlv
dXRCb3VuZHMoeyBzdGQ6Om1heChsYXlvdXRCb3VuZHMuYXNjZW50LCBlbmNsb3NpbmdBc2NlbnRB
bmREZXNjZW50LmFzY2VudCksIHN0ZDo6bWF4KGxheW91dEJvdW5kcy5kZXNjZW50LCBlbmNsb3Np
bmdBc2NlbnRBbmREZXNjZW50LmRlc2NlbnQpIH0pOworICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CkBAIC00ODQsOSArNDgz
LDkgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6YWRqdXN0SW5saW5lQm94SGVpZ2h0c0ZvckxpbmVC
b3hDb250YWluSWZBcHBsaWNhYmxlKExpbmVCb3gKICAgICAgICAgICAgIGF1dG8gYXNjZW50ID0g
YXNjZW50QW5kRGVzY2VudC5hc2NlbnQgKyBoYWxmTGVhZGluZzsKICAgICAgICAgICAgIGF1dG8g
ZGVzY2VudCA9IGFzY2VudEFuZERlc2NlbnQuZGVzY2VudCArIGhhbGZMZWFkaW5nOwogICAgICAg
ICAgICAgaWYgKGF1dG8gZmFsbGJhY2tGb250cyA9IG1fZmFsbGJhY2tGb250c0ZvcklubGluZUJv
eGVzLmdldCgmaW5saW5lQm94KTsgIWZhbGxiYWNrRm9udHMuaXNFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICAgICAgYXV0byBsYXlvdXRCb3VuZHMgPSBhZGp1c3RlZExheW91dEJvdW5kc1dpdGhGYWxs
YmFja0ZvbnRzKGlubGluZUJveCwgZmFsbGJhY2tGb250cywgbGluZUJveC5iYXNlbGluZVR5cGUo
KSk7Ci0gICAgICAgICAgICAgICAgYXNjZW50ID0gc3RkOjptYXgoYXNjZW50LCBsYXlvdXRCb3Vu
ZHMuYXNjZW50KTsKLSAgICAgICAgICAgICAgICBkZXNjZW50ID0gc3RkOjptYXgoZGVzY2VudCwg
bGF5b3V0Qm91bmRzLmRlc2NlbnQpOworICAgICAgICAgICAgICAgIGF1dG8gZW5jbG9zaW5nQXNj
ZW50QW5kRGVzY2VudCA9IGVuY2xvc2luZ0FzY2VudERlc2NlbnRXaXRoRmFsbGJhY2tGb250cyhp
bmxpbmVCb3gsIGZhbGxiYWNrRm9udHMsIGxpbmVCb3guYmFzZWxpbmVUeXBlKCkpOworICAgICAg
ICAgICAgICAgIGFzY2VudCA9IHN0ZDo6bWF4KGFzY2VudCwgZW5jbG9zaW5nQXNjZW50QW5kRGVz
Y2VudC5hc2NlbnQpOworICAgICAgICAgICAgICAgIGRlc2NlbnQgPSBzdGQ6Om1heChkZXNjZW50
LCBlbmNsb3NpbmdBc2NlbnRBbmREZXNjZW50LmRlc2NlbnQpOwogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgaW5saW5lQm94Qm91bmRzTWFwLnNldCgmaW5saW5lQm94LCBUZXh0VXRpbDo6RW5j
bG9zaW5nQXNjZW50RGVzY2VudCB7IGFzY2VudCwgZGVzY2VudCB9KTsKICAgICAgICAgfTsKQEAg
LTYwNSw4ICs2MDQsMTEgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6YWRqdXN0SWRlb2dyYXBoaWNC
YXNlbGluZUlmQXBwbGljYWJsZShMaW5lQm94JiBsaW5lQm94KQogCiAgICAgICAgIGF1dG8gbmVl
ZHNGb250RmFsbGJhY2tBZGp1c3RtZW50ID0gaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVCb3goKTsK
ICAgICAgICAgaWYgKG5lZWRzRm9udEZhbGxiYWNrQWRqdXN0bWVudCkgewotICAgICAgICAgICAg
aWYgKGF1dG8gZmFsbGJhY2tGb250cyA9IG1fZmFsbGJhY2tGb250c0ZvcklubGluZUJveGVzLmdl
dCgmaW5saW5lTGV2ZWxCb3gpOyAhZmFsbGJhY2tGb250cy5pc0VtcHR5KCkgJiYgaW5saW5lTGV2
ZWxCb3guaXNQcmVmZXJyZWRMaW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCgpKQotICAgICAgICAg
ICAgICAgIGlubGluZUxldmVsQm94LnNldExheW91dEJvdW5kcyhhZGp1c3RlZExheW91dEJvdW5k
c1dpdGhGYWxsYmFja0ZvbnRzKGlubGluZUxldmVsQm94LCBmYWxsYmFja0ZvbnRzLCBJZGVvZ3Jh
cGhpY0Jhc2VsaW5lKSk7CisgICAgICAgICAgICBpZiAoYXV0byBmYWxsYmFja0ZvbnRzID0gbV9m
YWxsYmFja0ZvbnRzRm9ySW5saW5lQm94ZXMuZ2V0KCZpbmxpbmVMZXZlbEJveCk7ICFmYWxsYmFj
a0ZvbnRzLmlzRW1wdHkoKSAmJiBpbmxpbmVMZXZlbEJveC5pc1ByZWZlcnJlZExpbmVIZWlnaHRG
b250TWV0cmljc0Jhc2VkKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGVuY2xvc2luZ0FzY2Vu
dEFuZERlc2NlbnQgPSBlbmNsb3NpbmdBc2NlbnREZXNjZW50V2l0aEZhbGxiYWNrRm9udHMoaW5s
aW5lTGV2ZWxCb3gsIGZhbGxiYWNrRm9udHMsIElkZW9ncmFwaGljQmFzZWxpbmUpOworICAgICAg
ICAgICAgICAgIGF1dG8gbGF5b3V0Qm91bmRzID0gKmlubGluZUxldmVsQm94LmxheW91dEJvdW5k
cygpOworICAgICAgICAgICAgICAgIGlubGluZUxldmVsQm94LnNldExheW91dEJvdW5kcyh7IHN0
ZDo6bWF4KGxheW91dEJvdW5kcy5hc2NlbnQsIGVuY2xvc2luZ0FzY2VudEFuZERlc2NlbnQuYXNj
ZW50KSwgc3RkOjptYXgobGF5b3V0Qm91bmRzLmRlc2NlbnQsIGVuY2xvc2luZ0FzY2VudEFuZERl
c2NlbnQuZGVzY2VudCkgfSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9JbmxpbmVMaW5lQm94QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRp
bmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaAppbmRleCAyZjVkNzdkNGVm
ZDAuLjRhMjI0ODg4Mzg2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVp
bGRlci5oCkBAIC00OSw3ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRMYXlvdXRCb3Vu
ZHNGb3JJbmxpbmVCb3goSW5saW5lTGV2ZWxCb3gmLCBGb250QmFzZWxpbmUpIGNvbnN0OwogICAg
IHZvaWQgYWRqdXN0SW5saW5lQm94SGVpZ2h0c0ZvckxpbmVCb3hDb250YWluSWZBcHBsaWNhYmxl
KExpbmVCb3gmKTsKICAgICB2b2lkIGNvbXB1dGVMaW5lQm94R2VvbWV0cnkoTGluZUJveCYpIGNv
bnN0OwotICAgIElubGluZUxldmVsQm94OjpMYXlvdXRCb3VuZHMgYWRqdXN0ZWRMYXlvdXRCb3Vu
ZHNXaXRoRmFsbGJhY2tGb250cyhJbmxpbmVMZXZlbEJveCYsIGNvbnN0IFRleHRVdGlsOjpGYWxs
YmFja0ZvbnRMaXN0JiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5lKSBjb25z
dDsKKyAgICBBc2NlbnRBbmREZXNjZW50IGVuY2xvc2luZ0FzY2VudERlc2NlbnRXaXRoRmFsbGJh
Y2tGb250cyhJbmxpbmVMZXZlbEJveCYsIGNvbnN0IFRleHRVdGlsOjpGYWxsYmFja0ZvbnRMaXN0
JiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5lKSBjb25zdDsKICAgICBUZXh0
VXRpbDo6RmFsbGJhY2tGb250TGlzdCBjb2xsZWN0RmFsbGJhY2tGb250cyhjb25zdCBJbmxpbmVM
ZXZlbEJveCYgcGFyZW50SW5saW5lQm94LCBjb25zdCBMaW5lOjpSdW4mLCBjb25zdCBSZW5kZXJT
dHlsZSYpOwogCiAgICAgdm9pZCBjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKExpbmVCb3gmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>464594</attachid>
            <date>2023-01-22 08:48:23 -0800</date>
            <delta_ts>2023-01-22 11:31:55 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-250982-20230122084822.patch</filename>
            <type>text/plain</type>
            <size>10215</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAyNWJmMjRjOGI2MzhmZGU3ODQyODI4MzE1YzgzYjk2ZjY2YjIyZTNjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgMjIgSmFuIDIwMjMgMDg6NDA6NTQgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbSUZDXSBS
ZW5hbWUKIExpbmVCb3hCdWlsZGVyOjphZGp1c3RlZExheW91dEJvdW5kc1dpdGhGYWxsYmFja0Zv
bnRzIHRvCiBlbmNsb3NpbmdBc2NlbnREZXNjZW50V2l0aEZhbGxiYWNrRm9udHMKIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTA5ODIKClJldmlld2VkIGJ5IEFudHRp
IEtvaXZpc3RvLgoKTGV0IHRoZSBjYWxsZXIgZGVjaWRlIHdoZXRoZXIgbGF5b3V0IGJvdW5kcyBv
ciB0aGUgYXNjZW50L2Rlc2NlbnQgdmFsdWUgcGFpciBzaG91bGQgYmUgYWRqdXN0ZWQuCgoqIFNv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZUxpbmVC
b3hCdWlsZGVyLmNwcDoKKFdlYkNvcmU6OkxheW91dDo6TGluZUJveEJ1aWxkZXI6OmVuY2xvc2lu
Z0FzY2VudERlc2NlbnRXaXRoRmFsbGJhY2tGb250cyBjb25zdCk6CihXZWJDb3JlOjpMYXlvdXQ6
OkxpbmVCb3hCdWlsZGVyOjpjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVzKToKKFdlYkNvcmU6Okxh
eW91dDo6TGluZUJveEJ1aWxkZXI6OmFkanVzdElubGluZUJveEhlaWdodHNGb3JMaW5lQm94Q29u
dGFpbklmQXBwbGljYWJsZSk6CihXZWJDb3JlOjpMYXlvdXQ6OkxpbmVCb3hCdWlsZGVyOjphZGp1
c3RJZGVvZ3JhcGhpY0Jhc2VsaW5lSWZBcHBsaWNhYmxlKToKKFdlYkNvcmU6OkxheW91dDo6TGlu
ZUJveEJ1aWxkZXI6OmFkanVzdGVkTGF5b3V0Qm91bmRzV2l0aEZhbGxiYWNrRm9udHMgY29uc3Qp
OiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZUxpbmVCb3hCdWlsZGVyLmg6Ci0tLQogLi4uL2lubGluZS9JbmxpbmVMaW5lQm94
QnVpbGRlci5jcHAgICAgICAgICAgIHwgODIgKysrKysrKysrKy0tLS0tLS0tLQogLi4uL2lubGlu
ZS9JbmxpbmVMaW5lQm94QnVpbGRlci5oICAgICAgICAgICAgIHwgIDIgKy0KIDIgZmlsZXMgY2hh
bmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJv
eEJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9p
bmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3BwCmluZGV4IDI4YTA2NDYyNGJlZi4uODAwZDU4
NjM2ZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRl
eHRzL2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuY3Bw
CkBAIC01NCwzOSArNTQsNiBAQCBMaW5lQm94IExpbmVCb3hCdWlsZGVyOjpidWlsZChzaXplX3Qg
bGluZUluZGV4KQogICAgIHJldHVybiBsaW5lQm94OwogfQogCi1JbmxpbmVMZXZlbEJveDo6TGF5
b3V0Qm91bmRzIExpbmVCb3hCdWlsZGVyOjphZGp1c3RlZExheW91dEJvdW5kc1dpdGhGYWxsYmFj
a0ZvbnRzKElubGluZUxldmVsQm94JiBpbmxpbmVCb3gsIGNvbnN0IFRleHRVdGlsOjpGYWxsYmFj
a0ZvbnRMaXN0JiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5lIGZvbnRCYXNl
bGluZSkgY29uc3QKLXsKLSAgICBBU1NFUlQoIWZhbGxiYWNrRm9udHNGb3JDb250ZW50LmlzRW1w
dHkoKSk7Ci0gICAgQVNTRVJUKGlubGluZUJveC5pc0lubGluZUJveCgpKTsKLQotICAgIC8vIGh0
dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtaW5saW5lLTMvI2lubGluZS1oZWlnaHQKLSAgICAvLyBX
aGVuIHRoZSBjb21wdXRlZCBsaW5lLWhlaWdodCBpcyBub3JtYWwsIHRoZSBsYXlvdXQgYm91bmRz
IG9mIGFuIGlubGluZSBib3ggZW5jbG9zZXMgYWxsIGl0cyBnbHlwaHMsIGdvaW5nIGZyb20gdGhl
IGhpZ2hlc3QgQSB0byB0aGUgZGVlcGVzdCBELiAKLSAgICBhdXRvIG1heEFzY2VudCA9IElubGlu
ZUxheW91dFVuaXQgeyB9OwotICAgIGF1dG8gbWF4RGVzY2VudCA9IElubGluZUxheW91dFVuaXQg
eyB9OwotICAgIC8vIElmIGxpbmUtaGVpZ2h0IGNvbXB1dGVzIHRvIG5vcm1hbCBhbmQgZWl0aGVy
IHRleHQtZWRnZSBpcyBsZWFkaW5nIG9yIHRoaXMgaXMgdGhlIHJvb3QgaW5saW5lIGJveCwKLSAg
ICAvLyB0aGUgZm9udCdzIGxpbmUgZ2FwIG1ldHJpYyBtYXkgYWxzbyBiZSBpbmNvcnBvcmF0ZWQg
aW50byBBIGFuZCBEIGJ5IGFkZGluZyBoYWxmIHRvIGVhY2ggc2lkZSBhcyBoYWxmLWxlYWRpbmcu
Ci0gICAgLy8gRklYTUU6IFdlIGRvbid0IHN1cHBvcnQgdGhlIHRleHQtZWRnZSBwcm9wZXJ0eSB5
ZXQsIGJ1dCBpdHMgaW5pdGlhbCB2YWx1ZSBpcyAnbGVhZGluZycgd2hpY2ggbWFrZXMgdGhlIGxp
bmUtZ2FwIGFkanVzdG1lbnQgYWx3YXlzIG9uLgotICAgIGF1dG8gaXNUZXh0RWRnZUxlYWRpbmcg
PSB0cnVlOwotICAgIGF1dG8gc2hvdWxkVXNlTGluZUdhcFRvQWRqdXN0QXNjZW50RGVzY2VudCA9
IGlubGluZUJveC5pc1Jvb3RJbmxpbmVCb3goKSB8fCBpc1RleHRFZGdlTGVhZGluZzsKLSAgICBm
b3IgKGF1dG8qIGZvbnQgOiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCkgewotICAgICAgICBhdXRv
JiBmb250TWV0cmljcyA9IGZvbnQtPmZvbnRNZXRyaWNzKCk7Ci0gICAgICAgIElubGluZUxheW91
dFVuaXQgYXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KGZvbnRCYXNlbGluZSk7Ci0gICAgICAg
IElubGluZUxheW91dFVuaXQgZGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQoZm9udEJhc2Vs
aW5lKTsKLSAgICAgICAgaWYgKHNob3VsZFVzZUxpbmVHYXBUb0FkanVzdEFzY2VudERlc2NlbnQp
IHsKLSAgICAgICAgICAgIGF1dG8gbG9naWNhbEhlaWdodCA9IGFzY2VudCArIGRlc2NlbnQ7Ci0g
ICAgICAgICAgICBhdXRvIGhhbGZMZWFkaW5nID0gKGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkg
LSBsb2dpY2FsSGVpZ2h0KSAvIDI7Ci0gICAgICAgICAgICBhc2NlbnQgPSBhc2NlbnQgKyBoYWxm
TGVhZGluZzsKLSAgICAgICAgICAgIGRlc2NlbnQgPSBkZXNjZW50ICsgaGFsZkxlYWRpbmc7Ci0g
ICAgICAgIH0KLSAgICAgICAgbWF4QXNjZW50ID0gc3RkOjptYXgobWF4QXNjZW50LCBhc2NlbnQp
OwotICAgICAgICBtYXhEZXNjZW50ID0gc3RkOjptYXgobWF4RGVzY2VudCwgZGVzY2VudCk7Ci0g
ICAgfQotCi0gICAgLy8gV2UgbmVlZCBmbG9vci9jZWlsIHRvIG1hdGNoIGxlZ2FjeSBsYXlvdXQg
aW50ZWdyYWwgcG9zaXRpb25pbmcuCi0gICAgYXV0byBsYXlvdXRCb3VuZHMgPSAqaW5saW5lQm94
LmxheW91dEJvdW5kcygpOwotICAgIHJldHVybiB7IHN0ZDo6bWF4KGxheW91dEJvdW5kcy5hc2Nl
bnQsIGZsb29yZihtYXhBc2NlbnQpKSwgc3RkOjptYXgobGF5b3V0Qm91bmRzLmRlc2NlbnQsIGNl
aWxmKG1heERlc2NlbnQpKSB9OwotfQotCiBUZXh0VXRpbDo6RmFsbGJhY2tGb250TGlzdCBMaW5l
Qm94QnVpbGRlcjo6Y29sbGVjdEZhbGxiYWNrRm9udHMoY29uc3QgSW5saW5lTGV2ZWxCb3gmIHBh
cmVudElubGluZUJveCwgY29uc3QgTGluZTo6UnVuJiBydW4sIGNvbnN0IFJlbmRlclN0eWxlJiBz
dHlsZSkKIHsKICAgICBBU1NFUlQocGFyZW50SW5saW5lQm94LmlzSW5saW5lQm94KCkpOwpAQCAt
MTg0LDYgKzE1MSwzNSBAQCBzdGF0aWMgQXNjZW50QW5kRGVzY2VudCBhc2NlbnRBbmREZXNjZW50
V2l0aFRleHRFZGdlRm9ySW5saW5lQm94KGNvbnN0IElubGluZUxldgogICAgIHJldHVybiB7IGFz
Y2VudCgpLCBkZXNjZW50KCkgfTsKIH0KIAorQXNjZW50QW5kRGVzY2VudCBMaW5lQm94QnVpbGRl
cjo6ZW5jbG9zaW5nQXNjZW50RGVzY2VudFdpdGhGYWxsYmFja0ZvbnRzKGNvbnN0IElubGluZUxl
dmVsQm94JiBpbmxpbmVCb3gsIGNvbnN0IFRleHRVdGlsOjpGYWxsYmFja0ZvbnRMaXN0JiBmYWxs
YmFja0ZvbnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5lIGZvbnRCYXNlbGluZSkgY29uc3QKK3sK
KyAgICBBU1NFUlQoIWZhbGxiYWNrRm9udHNGb3JDb250ZW50LmlzRW1wdHkoKSk7CisgICAgQVNT
RVJUKGlubGluZUJveC5pc0lubGluZUJveCgpKTsKKworICAgIC8vIGh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9jc3MtaW5saW5lLTMvI2lubGluZS1oZWlnaHQKKyAgICAvLyBXaGVuIHRoZSBjb21wdXRl
ZCBsaW5lLWhlaWdodCBpcyBub3JtYWwsIHRoZSBsYXlvdXQgYm91bmRzIG9mIGFuIGlubGluZSBi
b3ggZW5jbG9zZXMgYWxsIGl0cyBnbHlwaHMsIGdvaW5nIGZyb20gdGhlIGhpZ2hlc3QgQSB0byB0
aGUgZGVlcGVzdCBELiAKKyAgICBhdXRvIG1heEFzY2VudCA9IElubGluZUxheW91dFVuaXQgeyB9
OworICAgIGF1dG8gbWF4RGVzY2VudCA9IElubGluZUxheW91dFVuaXQgeyB9OworICAgIC8vIElm
IGxpbmUtaGVpZ2h0IGNvbXB1dGVzIHRvIG5vcm1hbCBhbmQgZWl0aGVyIHRleHQtZWRnZSBpcyBs
ZWFkaW5nIG9yIHRoaXMgaXMgdGhlIHJvb3QgaW5saW5lIGJveCwKKyAgICAvLyB0aGUgZm9udCdz
IGxpbmUgZ2FwIG1ldHJpYyBtYXkgYWxzbyBiZSBpbmNvcnBvcmF0ZWQgaW50byBBIGFuZCBEIGJ5
IGFkZGluZyBoYWxmIHRvIGVhY2ggc2lkZSBhcyBoYWxmLWxlYWRpbmcuCisgICAgYXV0byBzaG91
bGRVc2VMaW5lR2FwVG9BZGp1c3RBc2NlbnREZXNjZW50ID0gaW5saW5lQm94LmlzUm9vdElubGlu
ZUJveCgpIHx8IGlzVGV4dEVkZ2VMZWFkaW5nKGlubGluZUJveCk7CisgICAgZm9yIChhdXRvKiBm
b250IDogZmFsbGJhY2tGb250c0ZvckNvbnRlbnQpIHsKKyAgICAgICAgYXV0byYgZm9udE1ldHJp
Y3MgPSBmb250LT5mb250TWV0cmljcygpOworICAgICAgICBJbmxpbmVMYXlvdXRVbml0IGFzY2Vu
dCA9IGZvbnRNZXRyaWNzLmFzY2VudChmb250QmFzZWxpbmUpOworICAgICAgICBJbmxpbmVMYXlv
dXRVbml0IGRlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KGZvbnRCYXNlbGluZSk7CisgICAg
ICAgIGlmIChzaG91bGRVc2VMaW5lR2FwVG9BZGp1c3RBc2NlbnREZXNjZW50KSB7CisgICAgICAg
ICAgICBhdXRvIGxvZ2ljYWxIZWlnaHQgPSBhc2NlbnQgKyBkZXNjZW50OworICAgICAgICAgICAg
YXV0byBoYWxmTGVhZGluZyA9IChmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gbG9naWNhbEhl
aWdodCkgLyAyOworICAgICAgICAgICAgYXNjZW50ID0gYXNjZW50ICsgaGFsZkxlYWRpbmc7Cisg
ICAgICAgICAgICBkZXNjZW50ID0gZGVzY2VudCArIGhhbGZMZWFkaW5nOworICAgICAgICB9Cisg
ICAgICAgIG1heEFzY2VudCA9IHN0ZDo6bWF4KG1heEFzY2VudCwgYXNjZW50KTsKKyAgICAgICAg
bWF4RGVzY2VudCA9IHN0ZDo6bWF4KG1heERlc2NlbnQsIGRlc2NlbnQpOworICAgIH0KKyAgICAv
LyBXZSBuZWVkIGZsb29yL2NlaWwgdG8gbWF0Y2ggbGVnYWN5IGxheW91dCBpbnRlZ3JhbCBwb3Np
dGlvbmluZy4KKyAgICByZXR1cm4geyBmbG9vcmYobWF4QXNjZW50KSwgY2VpbGYobWF4RGVzY2Vu
dCkgfTsKK30KKwogdm9pZCBMaW5lQm94QnVpbGRlcjo6c2V0TGF5b3V0Qm91bmRzRm9ySW5saW5l
Qm94KElubGluZUxldmVsQm94JiBpbmxpbmVCb3gsIEZvbnRCYXNlbGluZSBmb250QmFzZWxpbmUp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKGlubGluZUJveC5pc0lubGluZUJveCgpKTsKQEAgLTQwNSw4
ICs0MDEsMTEgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6Y29uc3RydWN0SW5saW5lTGV2ZWxCb3hl
cyhMaW5lQm94JiBsaW5lQm94KQogICAgICAgICAgICAgcGFyZW50SW5saW5lQm94LnNldEhhc0Nv
bnRlbnQoKTsKICAgICAgICAgICAgIGlmIChhdXRvIGZhbGxiYWNrRm9udHMgPSBjb2xsZWN0RmFs
bGJhY2tGb250cyhwYXJlbnRJbmxpbmVCb3gsIHJ1biwgc3R5bGUpOyAhZmFsbGJhY2tGb250cy5p
c0VtcHR5KCkpIHsKICAgICAgICAgICAgICAgICAvLyBBZGp1c3Qgbm9uLWVtcHR5IGlubGluZSBi
b3ggaGVpZ2h0IHdoZW4gZ2x5cGhzIGZyb20gdGhlIG5vbi1wcmltYXJ5IGZvbnQgc3RyZXRjaCB0
aGUgYm94LgotICAgICAgICAgICAgICAgIGlmIChwYXJlbnRJbmxpbmVCb3guaXNQcmVmZXJyZWRM
aW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCgpKQotICAgICAgICAgICAgICAgICAgICBwYXJlbnRJ
bmxpbmVCb3guc2V0TGF5b3V0Qm91bmRzKGFkanVzdGVkTGF5b3V0Qm91bmRzV2l0aEZhbGxiYWNr
Rm9udHMocGFyZW50SW5saW5lQm94LCBmYWxsYmFja0ZvbnRzLCBBbHBoYWJldGljQmFzZWxpbmUp
KTsKKyAgICAgICAgICAgICAgICBpZiAocGFyZW50SW5saW5lQm94LmlzUHJlZmVycmVkTGluZUhl
aWdodEZvbnRNZXRyaWNzQmFzZWQoKSkgeworICAgICAgICAgICAgICAgICAgICBhdXRvIGVuY2xv
c2luZ0FzY2VudEFuZERlc2NlbnQgPSBlbmNsb3NpbmdBc2NlbnREZXNjZW50V2l0aEZhbGxiYWNr
Rm9udHMocGFyZW50SW5saW5lQm94LCBmYWxsYmFja0ZvbnRzLCBBbHBoYWJldGljQmFzZWxpbmUp
OworICAgICAgICAgICAgICAgICAgICBhdXRvIGxheW91dEJvdW5kcyA9ICpwYXJlbnRJbmxpbmVC
b3gubGF5b3V0Qm91bmRzKCk7CisgICAgICAgICAgICAgICAgICAgIHBhcmVudElubGluZUJveC5z
ZXRMYXlvdXRCb3VuZHMoeyBzdGQ6Om1heChsYXlvdXRCb3VuZHMuYXNjZW50LCBlbmNsb3NpbmdB
c2NlbnRBbmREZXNjZW50LmFzY2VudCksIHN0ZDo6bWF4KGxheW91dEJvdW5kcy5kZXNjZW50LCBl
bmNsb3NpbmdBc2NlbnRBbmREZXNjZW50LmRlc2NlbnQpIH0pOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CkBAIC00ODQs
OSArNDgzLDkgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6YWRqdXN0SW5saW5lQm94SGVpZ2h0c0Zv
ckxpbmVCb3hDb250YWluSWZBcHBsaWNhYmxlKExpbmVCb3gKICAgICAgICAgICAgIGF1dG8gYXNj
ZW50ID0gYXNjZW50QW5kRGVzY2VudC5hc2NlbnQgKyBoYWxmTGVhZGluZzsKICAgICAgICAgICAg
IGF1dG8gZGVzY2VudCA9IGFzY2VudEFuZERlc2NlbnQuZGVzY2VudCArIGhhbGZMZWFkaW5nOwog
ICAgICAgICAgICAgaWYgKGF1dG8gZmFsbGJhY2tGb250cyA9IG1fZmFsbGJhY2tGb250c0Zvcklu
bGluZUJveGVzLmdldCgmaW5saW5lQm94KTsgIWZhbGxiYWNrRm9udHMuaXNFbXB0eSgpKSB7Ci0g
ICAgICAgICAgICAgICAgYXV0byBsYXlvdXRCb3VuZHMgPSBhZGp1c3RlZExheW91dEJvdW5kc1dp
dGhGYWxsYmFja0ZvbnRzKGlubGluZUJveCwgZmFsbGJhY2tGb250cywgbGluZUJveC5iYXNlbGlu
ZVR5cGUoKSk7Ci0gICAgICAgICAgICAgICAgYXNjZW50ID0gc3RkOjptYXgoYXNjZW50LCBsYXlv
dXRCb3VuZHMuYXNjZW50KTsKLSAgICAgICAgICAgICAgICBkZXNjZW50ID0gc3RkOjptYXgoZGVz
Y2VudCwgbGF5b3V0Qm91bmRzLmRlc2NlbnQpOworICAgICAgICAgICAgICAgIGF1dG8gZW5jbG9z
aW5nQXNjZW50QW5kRGVzY2VudCA9IGVuY2xvc2luZ0FzY2VudERlc2NlbnRXaXRoRmFsbGJhY2tG
b250cyhpbmxpbmVCb3gsIGZhbGxiYWNrRm9udHMsIGxpbmVCb3guYmFzZWxpbmVUeXBlKCkpOwor
ICAgICAgICAgICAgICAgIGFzY2VudCA9IHN0ZDo6bWF4KGFzY2VudCwgZW5jbG9zaW5nQXNjZW50
QW5kRGVzY2VudC5hc2NlbnQpOworICAgICAgICAgICAgICAgIGRlc2NlbnQgPSBzdGQ6Om1heChk
ZXNjZW50LCBlbmNsb3NpbmdBc2NlbnRBbmREZXNjZW50LmRlc2NlbnQpOwogICAgICAgICAgICAg
fQogICAgICAgICAgICAgaW5saW5lQm94Qm91bmRzTWFwLnNldCgmaW5saW5lQm94LCBUZXh0VXRp
bDo6RW5jbG9zaW5nQXNjZW50RGVzY2VudCB7IGFzY2VudCwgZGVzY2VudCB9KTsKICAgICAgICAg
fTsKQEAgLTYwNSw4ICs2MDQsMTEgQEAgdm9pZCBMaW5lQm94QnVpbGRlcjo6YWRqdXN0SWRlb2dy
YXBoaWNCYXNlbGluZUlmQXBwbGljYWJsZShMaW5lQm94JiBsaW5lQm94KQogCiAgICAgICAgIGF1
dG8gbmVlZHNGb250RmFsbGJhY2tBZGp1c3RtZW50ID0gaW5saW5lTGV2ZWxCb3guaXNJbmxpbmVC
b3goKTsKICAgICAgICAgaWYgKG5lZWRzRm9udEZhbGxiYWNrQWRqdXN0bWVudCkgewotICAgICAg
ICAgICAgaWYgKGF1dG8gZmFsbGJhY2tGb250cyA9IG1fZmFsbGJhY2tGb250c0ZvcklubGluZUJv
eGVzLmdldCgmaW5saW5lTGV2ZWxCb3gpOyAhZmFsbGJhY2tGb250cy5pc0VtcHR5KCkgJiYgaW5s
aW5lTGV2ZWxCb3guaXNQcmVmZXJyZWRMaW5lSGVpZ2h0Rm9udE1ldHJpY3NCYXNlZCgpKQotICAg
ICAgICAgICAgICAgIGlubGluZUxldmVsQm94LnNldExheW91dEJvdW5kcyhhZGp1c3RlZExheW91
dEJvdW5kc1dpdGhGYWxsYmFja0ZvbnRzKGlubGluZUxldmVsQm94LCBmYWxsYmFja0ZvbnRzLCBJ
ZGVvZ3JhcGhpY0Jhc2VsaW5lKSk7CisgICAgICAgICAgICBpZiAoYXV0byBmYWxsYmFja0ZvbnRz
ID0gbV9mYWxsYmFja0ZvbnRzRm9ySW5saW5lQm94ZXMuZ2V0KCZpbmxpbmVMZXZlbEJveCk7ICFm
YWxsYmFja0ZvbnRzLmlzRW1wdHkoKSAmJiBpbmxpbmVMZXZlbEJveC5pc1ByZWZlcnJlZExpbmVI
ZWlnaHRGb250TWV0cmljc0Jhc2VkKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGVuY2xvc2lu
Z0FzY2VudEFuZERlc2NlbnQgPSBlbmNsb3NpbmdBc2NlbnREZXNjZW50V2l0aEZhbGxiYWNrRm9u
dHMoaW5saW5lTGV2ZWxCb3gsIGZhbGxiYWNrRm9udHMsIElkZW9ncmFwaGljQmFzZWxpbmUpOwor
ICAgICAgICAgICAgICAgIGF1dG8gbGF5b3V0Qm91bmRzID0gKmlubGluZUxldmVsQm94LmxheW91
dEJvdW5kcygpOworICAgICAgICAgICAgICAgIGlubGluZUxldmVsQm94LnNldExheW91dEJvdW5k
cyh7IHN0ZDo6bWF4KGxheW91dEJvdW5kcy5hc2NlbnQsIGVuY2xvc2luZ0FzY2VudEFuZERlc2Nl
bnQuYXNjZW50KSwgc3RkOjptYXgobGF5b3V0Qm91bmRzLmRlc2NlbnQsIGVuY2xvc2luZ0FzY2Vu
dEFuZERlc2NlbnQuZGVzY2VudCkgfSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9JbmxpbmVMaW5lQm94QnVpbGRlci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaAppbmRleCAyZjVk
NzdkNGVmZDAuLjAyYTNiZTdhYWVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0
L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lTGluZUJveEJ1aWxkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVMaW5l
Qm94QnVpbGRlci5oCkBAIC00OSw3ICs0OSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRMYXlv
dXRCb3VuZHNGb3JJbmxpbmVCb3goSW5saW5lTGV2ZWxCb3gmLCBGb250QmFzZWxpbmUpIGNvbnN0
OwogICAgIHZvaWQgYWRqdXN0SW5saW5lQm94SGVpZ2h0c0ZvckxpbmVCb3hDb250YWluSWZBcHBs
aWNhYmxlKExpbmVCb3gmKTsKICAgICB2b2lkIGNvbXB1dGVMaW5lQm94R2VvbWV0cnkoTGluZUJv
eCYpIGNvbnN0OwotICAgIElubGluZUxldmVsQm94OjpMYXlvdXRCb3VuZHMgYWRqdXN0ZWRMYXlv
dXRCb3VuZHNXaXRoRmFsbGJhY2tGb250cyhJbmxpbmVMZXZlbEJveCYsIGNvbnN0IFRleHRVdGls
OjpGYWxsYmFja0ZvbnRMaXN0JiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5l
KSBjb25zdDsKKyAgICBBc2NlbnRBbmREZXNjZW50IGVuY2xvc2luZ0FzY2VudERlc2NlbnRXaXRo
RmFsbGJhY2tGb250cyhjb25zdCBJbmxpbmVMZXZlbEJveCYsIGNvbnN0IFRleHRVdGlsOjpGYWxs
YmFja0ZvbnRMaXN0JiBmYWxsYmFja0ZvbnRzRm9yQ29udGVudCwgRm9udEJhc2VsaW5lKSBjb25z
dDsKICAgICBUZXh0VXRpbDo6RmFsbGJhY2tGb250TGlzdCBjb2xsZWN0RmFsbGJhY2tGb250cyhj
b25zdCBJbmxpbmVMZXZlbEJveCYgcGFyZW50SW5saW5lQm94LCBjb25zdCBMaW5lOjpSdW4mLCBj
b25zdCBSZW5kZXJTdHlsZSYpOwogCiAgICAgdm9pZCBjb25zdHJ1Y3RJbmxpbmVMZXZlbEJveGVz
KExpbmVCb3gmKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>