<?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>288801</bug_id>
          
          <creation_ts>2025-02-27 20:36:09 -0800</creation_ts>
          <short_desc>[IFC] Let&apos;s use RangeBasedLineBuilder for inline box content only too</short_desc>
          <delta_ts>2025-02-28 18:13:15 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="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>2099094</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-02-27 20:36:09 -0800</bug_when>
    <thetext>currently it is used when text content is nested inside inline box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2099095</commentid>
    <comment_count>1</comment_count>
      <attachid>474373</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-02-27 20:37:49 -0800</bug_when>
    <thetext>Created attachment 474373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2099227</commentid>
    <comment_count>2</comment_count>
      <attachid>474377</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-02-28 08:16:01 -0800</bug_when>
    <thetext>Created attachment 474377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2099307</commentid>
    <comment_count>3</comment_count>
      <attachid>474379</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-02-28 11:27:06 -0800</bug_when>
    <thetext>Created attachment 474379
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2099520</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-02-28 18:12:25 -0800</bug_when>
    <thetext>Committed 291415@main (e02c95667a90): &lt;https://commits.webkit.org/291415@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 474379.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2099521</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-02-28 18:13:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/145896621&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>474373</attachid>
            <date>2025-02-27 20:37:49 -0800</date>
            <delta_ts>2025-02-28 08:15:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-288801-20250227203748.patch</filename>
            <type>text/plain</type>
            <size>10957</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhMjRhYzVkZmI1MjJiNzNkMzQ0YzY4ZTJjMmExYjNmMTExYzgxMzVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgMjcgRmViIDIwMjUgMjA6Mzc6MDYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbSUZDXSBM
ZXQncyB1c2UgUmFuZ2VCYXNlZExpbmVCdWlsZGVyIGZvciBpbmxpbmUgYm94IGNvbnRlbnQKIG9u
bHkgdG9vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODg4MDEKClJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHA6CihXZWJDb3Jl
OjpMYXlvdXQ6OklubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQpOgoqIFNvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRl
ci5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6OlJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6UmFuZ2VCYXNl
ZExpbmVCdWlsZGVyKToKKFdlYkNvcmU6OkxheW91dDo6UmFuZ2VCYXNlZExpbmVCdWlsZGVyOjps
YXlvdXRJbmxpbmVDb250ZW50KToKKFdlYkNvcmU6OkxheW91dDo6UmFuZ2VCYXNlZExpbmVCdWls
ZGVyOjppc0VsaWdpYmxlRm9yUmFuZ2VJbmxpbmVMYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5oOgot
LS0KIC4uLi9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwICAgICAgICB8ICA5ICst
LQogLi4uL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuY3BwICAgICAgICAgIHwgNzEgKysr
KysrKysrKysrKysrLS0tLQogLi4uL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaCAgICAg
ICAgICAgIHwgIDMgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMjAgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQuY3BwCmluZGV4IDY4ZmFmOGU3OTY1ZC4uOThmMmU2MmQ3ZjQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0
aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMjAsNyArMTIwLDgg
QEAgSW5saW5lTGF5b3V0UmVzdWx0IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQoY29u
c3QgQ29uc3RyYWludHNGb3JJbmxpbmVDb24KICAgICAgICAgcmV0dXJuIHsgeyB9LCBJbmxpbmVM
YXlvdXRSZXN1bHQ6OlJhbmdlOjpGdWxsIH07CiAgICAgfQogCi0gICAgYXV0byYgaW5saW5lSXRl
bUxpc3QgPSBpbmxpbmVDb250ZW50Q2FjaGUoKS5pbmxpbmVJdGVtcygpLmNvbnRlbnQoKTsKKyAg
ICBhdXRvJiBpbmxpbmVJdGVtcyA9IGlubGluZUNvbnRlbnRDYWNoZSgpLmlubGluZUl0ZW1zKCk7
CisgICAgYXV0byYgaW5saW5lSXRlbUxpc3QgPSBpbmxpbmVJdGVtcy5jb250ZW50KCk7CiAgICAg
YXV0byBuZWVkc0xheW91dFJhbmdlID0gWyZdKCkgLT4gSW5saW5lSXRlbVJhbmdlIHsKICAgICAg
ICAgaWYgKCFJbmxpbmVJbnZhbGlkYXRpb246Om1heU9ubHlOZWVkUGFydGlhbExheW91dChsaW5l
RGFtYWdlKSkKICAgICAgICAgICAgIHJldHVybiB7IHsgfSwgeyBpbmxpbmVJdGVtTGlzdC5zaXpl
KCksIHsgfSB9IH07CkBAIC0xNTgsMTIgKzE1OSwxMiBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5s
aW5lRm9ybWF0dGluZ0NvbnRleHQ6OmxheW91dChjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNv
bgogICAgICAgICAgICAgbGF5b3V0U3RhdGUoKS5zZXRBdmFpbGFibGVMaW5lV2lkdGhPdmVycmlk
ZSh7ICpjb25zdHJhaW5lZExpbmVXaWR0aHMgfSk7CiAgICAgfQogCi0gICAgaWYgKFRleHRPbmx5
U2ltcGxlTGluZUJ1aWxkZXI6OmlzRWxpZ2libGVGb3JTaW1wbGlmaWVkVGV4dE9ubHlJbmxpbmVM
YXlvdXRCeUNvbnRlbnQoaW5saW5lQ29udGVudENhY2hlKCkuaW5saW5lSXRlbXMoKSwgbGF5b3V0
U3RhdGUoKS5wbGFjZWRGbG9hdHMoKSkgJiYgVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlcjo6aXNF
bGlnaWJsZUZvclNpbXBsaWZpZWRJbmxpbmVMYXlvdXRCeVN0eWxlKHJvb3QoKS5zdHlsZSgpKSkg
eworICAgIGlmIChUZXh0T25seVNpbXBsZUxpbmVCdWlsZGVyOjppc0VsaWdpYmxlRm9yU2ltcGxp
ZmllZFRleHRPbmx5SW5saW5lTGF5b3V0QnlDb250ZW50KGlubGluZUl0ZW1zLCBsYXlvdXRTdGF0
ZSgpLnBsYWNlZEZsb2F0cygpKSAmJiBUZXh0T25seVNpbXBsZUxpbmVCdWlsZGVyOjppc0VsaWdp
YmxlRm9yU2ltcGxpZmllZElubGluZUxheW91dEJ5U3R5bGUocm9vdCgpLnN0eWxlKCkpKSB7CiAg
ICAgICAgIGF1dG8gc2ltcGxpZmllZExpbmVCdWlsZGVyID0gVGV4dE9ubHlTaW1wbGVMaW5lQnVp
bGRlciB7ICp0aGlzLCByb290KCksIGNvbnN0cmFpbnRzLmhvcml6b250YWwoKSwgaW5saW5lSXRl
bUxpc3QgfTsKICAgICAgICAgcmV0dXJuIGxpbmVMYXlvdXQoc2ltcGxpZmllZExpbmVCdWlsZGVy
LCBpbmxpbmVJdGVtTGlzdCwgbmVlZHNMYXlvdXRSYW5nZSwgcHJldmlvdXNMaW5lKCksIGNvbnN0
cmFpbnRzLCBsaW5lRGFtYWdlKTsKICAgICB9Ci0gICAgaWYgKFJhbmdlQmFzZWRMaW5lQnVpbGRl
cjo6aXNFbGlnaWJsZUZvclJhbmdlSW5saW5lTGF5b3V0KCp0aGlzLCBpbmxpbmVDb250ZW50Q2Fj
aGUoKS5pbmxpbmVJdGVtcygpLCBsYXlvdXRTdGF0ZSgpLnBsYWNlZEZsb2F0cygpKSkgewotICAg
ICAgICBhdXRvIHJhbmdlQmFzZWRMaW5lQnVpbGRlciA9IFJhbmdlQmFzZWRMaW5lQnVpbGRlciB7
ICp0aGlzLCBjb25zdHJhaW50cy5ob3Jpem9udGFsKCksIGlubGluZUl0ZW1MaXN0IH07CisgICAg
aWYgKFJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclJhbmdlSW5saW5lTGF5b3V0
KCp0aGlzLCBpbmxpbmVJdGVtcywgbGF5b3V0U3RhdGUoKS5wbGFjZWRGbG9hdHMoKSkpIHsKKyAg
ICAgICAgYXV0byByYW5nZUJhc2VkTGluZUJ1aWxkZXIgPSBSYW5nZUJhc2VkTGluZUJ1aWxkZXIg
eyAqdGhpcywgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLCBpbmxpbmVJdGVtcyB9OwogICAgICAg
ICByZXR1cm4gbGluZUxheW91dChyYW5nZUJhc2VkTGluZUJ1aWxkZXIsIGlubGluZUl0ZW1MaXN0
LCBuZWVkc0xheW91dFJhbmdlLCBwcmV2aW91c0xpbmUoKSwgY29uc3RyYWludHMsIGxpbmVEYW1h
Z2UpOwogICAgIH0KICAgICBhdXRvIGxpbmVCdWlsZGVyID0gbWFrZVVuaXF1ZVJlZjxMaW5lQnVp
bGRlcj4oKnRoaXMsIGNvbnN0cmFpbnRzLmhvcml6b250YWwoKSwgaW5saW5lSXRlbUxpc3QsIGlu
bGluZUNvbnRlbnRDYWNoZSgpLnRleHRTcGFjaW5nQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRM
aW5lQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuY3BwCmluZGV4IDU2YzVkYWEyOWNhNy4uMjcx
ZmRkZmQ2ZmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRl
ci5jcHAKQEAgLTMxLDE0ICszMSwzOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNl
IExheW91dCB7CiAKLVJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6UmFuZ2VCYXNlZExpbmVCdWlsZGVy
KElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgSG9yaXpv
bnRhbENvbnN0cmFpbnRzIHJvb3RIb3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IElubGluZUl0
ZW1MaXN0JiBpbmxpbmVJdGVtTGlzdCkKLSAgICA6IEFic3RyYWN0TGluZUJ1aWxkZXIoaW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQsIGlubGluZUZvcm1hdHRpbmdDb250ZXh0LnJvb3QoKSwgcm9vdEhv
cml6b250YWxDb25zdHJhaW50cywgaW5saW5lSXRlbUxpc3QpCi0gICAgLCBtX3RleHRPbmx5U2lt
cGxlTGluZUJ1aWxkZXIoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGRvd25jYXN0PEVsZW1lbnRC
b3g+KGlubGluZUl0ZW1MaXN0WzBdLmxheW91dEJveCgpKSwgcm9vdEhvcml6b250YWxDb25zdHJh
aW50cywgaW5saW5lSXRlbUxpc3QpCitSYW5nZUJhc2VkTGluZUJ1aWxkZXI6OlJhbmdlQmFzZWRM
aW5lQnVpbGRlcihJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQsIEhvcml6b250YWxDb25zdHJhaW50cyByb290SG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25z
dCBJbmxpbmVDb250ZW50Q2FjaGU6OklubGluZUl0ZW1zJiBpbmxpbmVJdGVtcykKKyAgICA6IEFi
c3RyYWN0TGluZUJ1aWxkZXIoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGlubGluZUZvcm1hdHRp
bmdDb250ZXh0LnJvb3QoKSwgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgaW5saW5lSXRlbXMu
Y29udGVudCgpKQorICAgICwgbV90ZXh0T25seVNpbXBsZUxpbmVCdWlsZGVyKGlubGluZUZvcm1h
dHRpbmdDb250ZXh0LCBkb3duY2FzdDxFbGVtZW50Qm94PihpbmxpbmVJdGVtcy5jb250ZW50KClb
MF0ubGF5b3V0Qm94KCkpLCByb290SG9yaXpvbnRhbENvbnN0cmFpbnRzLCBpbmxpbmVJdGVtcy5j
b250ZW50KCkpCisgICAgLCBtX2lubGluZUJveENvdW50KGlubGluZUl0ZW1zLmlubGluZUJveENv
dW50KCkpCiB7CisgICAgQVNTRVJUKG1faW5saW5lQm94Q291bnQpOwogfQogCiBMaW5lTGF5b3V0
UmVzdWx0IFJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBM
aW5lSW5wdXQmIGxpbmVJbnB1dCwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBw
cmV2aW91c0xpbmUpCiB7CisgICAgYXV0byBpc0VtcHR5Q29udGVudCA9IFsmXSB7CisgICAgICAg
IGF1dG8gbnVtYmVyT2ZJbmxpbmVJdGVtcyA9IG1faW5saW5lSXRlbUxpc3Quc2l6ZSgpOworICAg
ICAgICByZXR1cm4gIShudW1iZXJPZklubGluZUl0ZW1zICUgMikgJiYgbV9pbmxpbmVCb3hDb3Vu
dCA9PSBudW1iZXJPZklubGluZUl0ZW1zIC8gMjsKKyAgICB9OworICAgIGlmIChpc0VtcHR5Q29u
dGVudCgpKSB7CisgICAgICAgIExpbmU6OlJ1bkxpc3QgaW5saW5lQm94UnVuczsKKyAgICAgICAg
aW5saW5lQm94UnVucy5yZXNlcnZlQ2FwYWNpdHkobV9pbmxpbmVCb3hDb3VudCk7CisgICAgICAg
IGZvciAoYXV0byYgaW5saW5lSXRlbSA6IG1faW5saW5lSXRlbUxpc3QpIHsKKyAgICAgICAgICAg
IEFTU0VSVChpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnRPckVuZCgpKTsKKyAgICAgICAgICAg
IGlmIChpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSkKKyAgICAgICAgICAgICAgICBpbmxp
bmVCb3hSdW5zLmFwcGVuZCh7IExpbmU6OlJ1bihpbmxpbmVJdGVtLCBpbmxpbmVJdGVtLmZpcnN0
TGluZVN0eWxlKCksIHsgfSkgfSk7CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGxpbmVSZWN0
ID0gbGluZUlucHV0LmluaXRpYWxMb2dpY2FsUmVjdDsKKyAgICAgICAgYXV0byBjb250ZW50TGVm
dCA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6aG9yaXpvbnRhbEFsaWdubWVudE9mZnNldChyb290
U3R5bGUoKSwgeyB9LCBsaW5lUmVjdC53aWR0aCgpLCB7IH0sIGlubGluZUJveFJ1bnMsIHRydWUp
OworICAgICAgICByZXR1cm4gTGluZUxheW91dFJlc3VsdCB7IGxpbmVJbnB1dC5uZWVkc0xheW91
dFJhbmdlCisgICAgICAgICAgICAsIFdURk1vdmUoaW5saW5lQm94UnVucykKKyAgICAgICAgICAg
ICwgeyB9CisgICAgICAgICAgICAsIHsgY29udGVudExlZnQsIHsgfSwgY29udGVudExlZnQsIHN0
ZDo6bWF4KDAuZiwgY29udGVudExlZnQgLSBsaW5lUmVjdC5yaWdodCgpKSB9CisgICAgICAgICAg
ICAsIHsgbGluZVJlY3QudG9wTGVmdCgpLCBsaW5lUmVjdC53aWR0aCgpLCBsaW5lUmVjdC5sZWZ0
KCkgfQorICAgICAgICB9OworICAgIH0KKwogICAgIC8vIDEuIFNocmluayB0aGUgbGF5b3V0IHJh
bmdlIHRoYXQgd2UgY2FuIHJ1biB0ZXh0LW9ubHkgYnVpbGRlciBvbiAoY3VycmVudGx5IGl0J3Mg
anVzdCB0aGUgb3BlbmluZy9jbG9zaW5nIGlubGluZSBib3gpCiAgICAgLy8gMi4gUnVuIHRleHQt
b25seSBsaW5lIGJ1aWxkZXIKICAgICAvLyAzLiBJbnNlcnQvYXBwZW5kIHRoZSBtaXNzaW5nIGlu
bGluZSBib3ggcnVuCkBAIC05NCwzMCArMTE5LDQ2IEBAIGJvb2wgUmFuZ2VCYXNlZExpbmVCdWls
ZGVyOjppc0VsaWdpYmxlRm9yUmFuZ2VJbmxpbmVMYXlvdXQoY29uc3QgSW5saW5lRm9ybWF0dGlu
CiB7CiAgICAgaWYgKGlubGluZUl0ZW1zLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgLy8gUmFuZ2UgYmFzZWQgbGluZSBidWlsZGVyIG9ubHkgc3VwcG9ydHMgdGhlIGZv
bGxvd2luZyBjb250ZW50IDxpbmxpbmUgYm94PmVsaWdpYmxlIGZvciB0ZXh0IG9ubHkgbGF5b3V0
PC9pbmxpbmUgYm94PgogICAgIGF1dG8mIGlubGluZUl0ZW1MaXN0ID0gaW5saW5lSXRlbXMuY29u
dGVudCgpOwotICAgIGF1dG8gaXNGdWxseU5lc3RlZENvbnRlbnQgPSBpbmxpbmVJdGVtcy5pbmxp
bmVCb3hDb3VudCgpID09IDEgJiYgaW5saW5lSXRlbUxpc3QuZmlyc3QoKS5pc0lubGluZUJveFN0
YXJ0KCkgJiYgaW5saW5lSXRlbUxpc3QubGFzdCgpLmlzSW5saW5lQm94RW5kKCkgJiYgaW5saW5l
SXRlbUxpc3Quc2l6ZSgpID4gMjsKLSAgICBpZiAoIWlzRnVsbHlOZXN0ZWRDb250ZW50KQorICAg
IGF1dG8gbnVtYmVyT2ZJbmxpbmVJdGVtcyA9IGlubGluZUl0ZW1MaXN0LnNpemUoKTsKKyAgICBh
dXRvIGlzRW1wdHlDb250ZW50ID0gIShudW1iZXJPZklubGluZUl0ZW1zICUgMikgJiYgaW5saW5l
SXRlbXMuaW5saW5lQm94Q291bnQoKSA9PSBudW1iZXJPZklubGluZUl0ZW1zIC8gMjsKKyAgICBh
dXRvIGlzRnVsbHlOZXN0ZWRDb250ZW50ID0gaW5saW5lSXRlbXMuaW5saW5lQm94Q291bnQoKSA9
PSAxICYmIGlubGluZUl0ZW1MaXN0LmZpcnN0KCkuaXNJbmxpbmVCb3hTdGFydCgpICYmIGlubGlu
ZUl0ZW1MaXN0Lmxhc3QoKS5pc0lubGluZUJveEVuZCgpICYmIG51bWJlck9mSW5saW5lSXRlbXMg
PiAyOworICAgIGlmICghaXNFbXB0eUNvbnRlbnQgJiYgIWlzRnVsbHlOZXN0ZWRDb250ZW50KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvJiBpbmxpbmVCb3ggPSBpbmxpbmVJdGVt
TGlzdC5maXJzdCgpLmxheW91dEJveCgpOwotICAgIGF1dG8mIGlubGluZUJveEdlb21ldHJ5ID0g
aW5saW5lRm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goaW5saW5lQm94KTsKLSAgICBp
ZiAoaW5saW5lQm94R2VvbWV0cnkuaG9yaXpvbnRhbE1hcmdpbkJvcmRlckFuZFBhZGRpbmcoKSkg
eworICAgIGF1dG8gaGFzRGVjb3JhdGlvbk9yQnJlYWsgPSBbJl0geworICAgICAgICBmb3IgKGF1
dG8mIGlubGluZUl0ZW0gOiBpbmxpbmVJdGVtTGlzdCkgeworICAgICAgICAgICAgaWYgKCFpbmxp
bmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBpbmxpbmVJdGVtLmxheW91dEJveCgpOwor
ICAgICAgICAgICAgaWYgKGlubGluZUZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KGlu
bGluZUJveCkuaG9yaXpvbnRhbE1hcmdpbkJvcmRlckFuZFBhZGRpbmcoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChpbmxpbmVCb3guc3R5bGUoKS5ib3hE
ZWNvcmF0aW9uQnJlYWsoKSAhPSBSZW5kZXJTdHlsZTo6aW5pdGlhbEJveERlY29yYXRpb25CcmVh
aygpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9OworCisgICAg
aWYgKGhhc0RlY29yYXRpb25PckJyZWFrKCkpIHsKICAgICAgICAgLy8gRklYTUU6IEFkZCBzdGFy
dCBkZWNvcmF0aW9uIHN1cHBvcnQgaXMganVzdCBhIG1hdHRlciBvZiBzaHJpbmtpbmcgdGhlIGF2
YWlsYWJsZSBzcGFjZSBmb3IgdGhlIGZpcnN0IGxpbmUgKG9yIG9uIHN1YnNlcXVlbnQgbGluZXMg
d2hlbiBkZWNvcmF0aW9uIGJyZWFrIGlzIHByZXNlbnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9Ci0gICAgaWYgKGlubGluZUJveC5zdHlsZSgpLmJveERlY29yYXRpb25CcmVhaygpICE9
IFJlbmRlclN0eWxlOjppbml0aWFsQm94RGVjb3JhdGlvbkJyZWFrKCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGlmIChpbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5sYXlvdXRTdGF0ZSgp
LnBhcmVudEJsb2NrTGF5b3V0U3RhdGUoKS5saW5lQ2xhbXAoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCi0gICAgLy8gQ2hlY2sgdGhlIG5lc3RlZCB0ZXh0IGNvbnRlbnQuCi0gICAgaWYgKCFp
bmxpbmVJdGVtcy5oYXNUZXh0QW5kTGluZUJyZWFrT25seUNvbnRlbnQoKSB8fCBpbmxpbmVJdGVt
cy5yZXF1aXJlc1Zpc3VhbFJlb3JkZXJpbmcoKSB8fCAhcGxhY2VkRmxvYXRzLmlzRW1wdHkoKSB8
fCBpbmxpbmVJdGVtcy5oYXNUZXh0QXV0b3NwYWNlKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBpZiAoIWlzRW1wdHlDb250ZW50KSB7CisgICAgICAgIC8vIENoZWNrIHRoZSBuZXN0ZWQg
dGV4dCBjb250ZW50LgorICAgICAgICBpZiAoIWlubGluZUl0ZW1zLmhhc1RleHRBbmRMaW5lQnJl
YWtPbmx5Q29udGVudCgpIHx8IGlubGluZUl0ZW1zLnJlcXVpcmVzVmlzdWFsUmVvcmRlcmluZygp
IHx8ICFwbGFjZWRGbG9hdHMuaXNFbXB0eSgpIHx8IGlubGluZUl0ZW1zLmhhc1RleHRBdXRvc3Bh
Y2UoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghVGV4dE9ubHlTaW1w
bGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJbmxpbmVMYXlvdXRCeVN0eWxl
KGlubGluZUZvcm1hdHRpbmdDb250ZXh0LnJvb3QoKS5zdHlsZSgpKSB8fCAhVGV4dE9ubHlTaW1w
bGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJbmxpbmVMYXlvdXRCeVN0eWxl
KGlubGluZUJveC5zdHlsZSgpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBhdXRv
JiBpbmxpbmVCb3ggPSBpbmxpbmVJdGVtTGlzdC5maXJzdCgpLmxheW91dEJveCgpOworICAgICAg
ICBpZiAoIVRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6OmlzRWxpZ2libGVGb3JTaW1wbGlmaWVk
SW5saW5lTGF5b3V0QnlTdHlsZShpbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5yb290KCkuc3R5bGUo
KSkgfHwgIVRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6OmlzRWxpZ2libGVGb3JTaW1wbGlmaWVk
SW5saW5lTGF5b3V0QnlTdHlsZShpbmxpbmVCb3guc3R5bGUoKSkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGlu
ZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5oCmluZGV4IDkzYzkzZGJmNmMxMy4uNjA4OTA5YWJm
NjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaApAQCAt
MzUsMTMgKzM1LDE0IEBAIGNsYXNzIElubGluZUNvbnRlbnRCcmVha2VyOwogCiBjbGFzcyBSYW5n
ZUJhc2VkTGluZUJ1aWxkZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RMaW5lQnVpbGRlciB7CiBw
dWJsaWM6Ci0gICAgUmFuZ2VCYXNlZExpbmVCdWlsZGVyKElubGluZUZvcm1hdHRpbmdDb250ZXh0
JiwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RIb3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0
IElubGluZUl0ZW1MaXN0Jik7CisgICAgUmFuZ2VCYXNlZExpbmVCdWlsZGVyKElubGluZUZvcm1h
dHRpbmdDb250ZXh0JiwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RIb3Jpem9udGFsQ29uc3Ry
YWludHMsIGNvbnN0IElubGluZUNvbnRlbnRDYWNoZTo6SW5saW5lSXRlbXMmKTsKICAgICBMaW5l
TGF5b3V0UmVzdWx0IGxheW91dElubGluZUNvbnRlbnQoY29uc3QgTGluZUlucHV0JiwgY29uc3Qg
c3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JikgZmluYWw7CiAKICAgICBzdGF0aWMgYm9vbCBp
c0VsaWdpYmxlRm9yUmFuZ2VJbmxpbmVMYXlvdXQoY29uc3QgSW5saW5lRm9ybWF0dGluZ0NvbnRl
eHQmLCBjb25zdCBJbmxpbmVDb250ZW50Q2FjaGU6OklubGluZUl0ZW1zJiwgY29uc3QgUGxhY2Vk
RmxvYXRzJik7CiAKIHByaXZhdGU6CiAgICAgVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlciBtX3Rl
eHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI7CisgICAgc2l6ZV90IG1faW5saW5lQm94Q291bnQgeyAw
IH07CiB9OwogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>474377</attachid>
            <date>2025-02-28 08:16:01 -0800</date>
            <delta_ts>2025-02-28 11:27:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-288801-20250228081600.patch</filename>
            <type>text/plain</type>
            <size>13183</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA1MzA0YmY4YjAzZjdmOTJjNjA3NzJkNDAzNzU3OTBlOWVmMmJjNGVhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgMjcgRmViIDIwMjUgMjA6Mzc6MDYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbSUZDXSBM
ZXQncyB1c2UgUmFuZ2VCYXNlZExpbmVCdWlsZGVyIGZvciBpbmxpbmUgYm94IGNvbnRlbnQKIG9u
bHkgdG9vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODg4MDEKClJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKUmFuZ2VCYXNlZExpbmVCdWlsZGVyIGNhbiBsYXlv
dXQgY29udGVudCB3aGVyZSB0ZXh0IGlzIGVuY2xvc2VkIGJ5IGFuIGlubGluZSBib3ggZS5nLgo8
ZGl2PjxzcGFuPnRoaXMgdGV4dCBvbmx5IGNvbnRlbnQgaXMgZW5jbG9zZWQgYnkgYW4gaW5saW5l
IGJveDwvc3Bhbj48L2Rpdj4KClRoaXMgY2hhbmdlIGVuYWJsZXMgUmFuZ2VCYXNlZExpbmVCdWls
ZGVyIHRvIGxheW91dCBpbmxpbmUgY29udGVudCB3aGVyZSB0aGVyZSdzCm5vIGVuY2xvc2VkIGlu
bGluZSBpdGVtcyBlLmcuCgo8ZGl2PjxzcGFuPjwvc3Bhbj48L2Rpdj4KCipmYXN0L2Zvcm1zL2Zv
cm0taW4tbWFsZm9ybWVkLW1hcmt1cDogZ2VvbWV0cnkgcHJvZ3Jlc3Npb24gb24gZW1wdHkgaW5s
aW5lIGJveC4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0KToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6
TGF5b3V0OjpSYW5nZUJhc2VkTGluZUJ1aWxkZXI6OlJhbmdlQmFzZWRMaW5lQnVpbGRlcik6CihX
ZWJDb3JlOjpMYXlvdXQ6OlJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVu
dCk6CihXZWJDb3JlOjpMYXlvdXQ6OlJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZv
clJhbmdlSW5saW5lTGF5b3V0KToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaDoKLS0tCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCAgICAgICAgfCAgOSArKy0KIC4uLi9pbmxpbmUvUmFu
Z2VCYXNlZExpbmVCdWlsZGVyLmNwcCAgICAgICAgICB8IDc4ICsrKysrKysrKysrKysrKy0tLS0K
IC4uLi9pbmxpbmUvUmFuZ2VCYXNlZExpbmVCdWlsZGVyLmggICAgICAgICAgICB8ICAzICstCiAu
Li4vZm9ybS1pbi1tYWxmb3JtZWQtbWFya3VwLWV4cGVjdGVkLnR4dCAgICAgfCAgMiArLQogLi4u
L2Zvcm0taW4tbWFsZm9ybWVkLW1hcmt1cC1leHBlY3RlZC50eHQgICAgIHwgIDIgKy0KIDUgZmls
ZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDY4ZmFmOGU3
OTY1ZC4uOThmMmU2MmQ3ZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMjAsNyArMTIwLDggQEAgSW5saW5lTGF5b3V0UmVzdWx0
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQoY29uc3QgQ29uc3RyYWludHNGb3JJbmxp
bmVDb24KICAgICAgICAgcmV0dXJuIHsgeyB9LCBJbmxpbmVMYXlvdXRSZXN1bHQ6OlJhbmdlOjpG
dWxsIH07CiAgICAgfQogCi0gICAgYXV0byYgaW5saW5lSXRlbUxpc3QgPSBpbmxpbmVDb250ZW50
Q2FjaGUoKS5pbmxpbmVJdGVtcygpLmNvbnRlbnQoKTsKKyAgICBhdXRvJiBpbmxpbmVJdGVtcyA9
IGlubGluZUNvbnRlbnRDYWNoZSgpLmlubGluZUl0ZW1zKCk7CisgICAgYXV0byYgaW5saW5lSXRl
bUxpc3QgPSBpbmxpbmVJdGVtcy5jb250ZW50KCk7CiAgICAgYXV0byBuZWVkc0xheW91dFJhbmdl
ID0gWyZdKCkgLT4gSW5saW5lSXRlbVJhbmdlIHsKICAgICAgICAgaWYgKCFJbmxpbmVJbnZhbGlk
YXRpb246Om1heU9ubHlOZWVkUGFydGlhbExheW91dChsaW5lRGFtYWdlKSkKICAgICAgICAgICAg
IHJldHVybiB7IHsgfSwgeyBpbmxpbmVJdGVtTGlzdC5zaXplKCksIHsgfSB9IH07CkBAIC0xNTgs
MTIgKzE1OSwxMiBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OmxheW91dChjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbgogICAgICAgICAgICAgbGF5b3V0
U3RhdGUoKS5zZXRBdmFpbGFibGVMaW5lV2lkdGhPdmVycmlkZSh7ICpjb25zdHJhaW5lZExpbmVX
aWR0aHMgfSk7CiAgICAgfQogCi0gICAgaWYgKFRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6Omlz
RWxpZ2libGVGb3JTaW1wbGlmaWVkVGV4dE9ubHlJbmxpbmVMYXlvdXRCeUNvbnRlbnQoaW5saW5l
Q29udGVudENhY2hlKCkuaW5saW5lSXRlbXMoKSwgbGF5b3V0U3RhdGUoKS5wbGFjZWRGbG9hdHMo
KSkgJiYgVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJ
bmxpbmVMYXlvdXRCeVN0eWxlKHJvb3QoKS5zdHlsZSgpKSkgeworICAgIGlmIChUZXh0T25seVNp
bXBsZUxpbmVCdWlsZGVyOjppc0VsaWdpYmxlRm9yU2ltcGxpZmllZFRleHRPbmx5SW5saW5lTGF5
b3V0QnlDb250ZW50KGlubGluZUl0ZW1zLCBsYXlvdXRTdGF0ZSgpLnBsYWNlZEZsb2F0cygpKSAm
JiBUZXh0T25seVNpbXBsZUxpbmVCdWlsZGVyOjppc0VsaWdpYmxlRm9yU2ltcGxpZmllZElubGlu
ZUxheW91dEJ5U3R5bGUocm9vdCgpLnN0eWxlKCkpKSB7CiAgICAgICAgIGF1dG8gc2ltcGxpZmll
ZExpbmVCdWlsZGVyID0gVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlciB7ICp0aGlzLCByb290KCks
IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKSwgaW5saW5lSXRlbUxpc3QgfTsKICAgICAgICAgcmV0
dXJuIGxpbmVMYXlvdXQoc2ltcGxpZmllZExpbmVCdWlsZGVyLCBpbmxpbmVJdGVtTGlzdCwgbmVl
ZHNMYXlvdXRSYW5nZSwgcHJldmlvdXNMaW5lKCksIGNvbnN0cmFpbnRzLCBsaW5lRGFtYWdlKTsK
ICAgICB9Ci0gICAgaWYgKFJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclJhbmdl
SW5saW5lTGF5b3V0KCp0aGlzLCBpbmxpbmVDb250ZW50Q2FjaGUoKS5pbmxpbmVJdGVtcygpLCBs
YXlvdXRTdGF0ZSgpLnBsYWNlZEZsb2F0cygpKSkgewotICAgICAgICBhdXRvIHJhbmdlQmFzZWRM
aW5lQnVpbGRlciA9IFJhbmdlQmFzZWRMaW5lQnVpbGRlciB7ICp0aGlzLCBjb25zdHJhaW50cy5o
b3Jpem9udGFsKCksIGlubGluZUl0ZW1MaXN0IH07CisgICAgaWYgKFJhbmdlQmFzZWRMaW5lQnVp
bGRlcjo6aXNFbGlnaWJsZUZvclJhbmdlSW5saW5lTGF5b3V0KCp0aGlzLCBpbmxpbmVJdGVtcywg
bGF5b3V0U3RhdGUoKS5wbGFjZWRGbG9hdHMoKSkpIHsKKyAgICAgICAgYXV0byByYW5nZUJhc2Vk
TGluZUJ1aWxkZXIgPSBSYW5nZUJhc2VkTGluZUJ1aWxkZXIgeyAqdGhpcywgY29uc3RyYWludHMu
aG9yaXpvbnRhbCgpLCBpbmxpbmVJdGVtcyB9OwogICAgICAgICByZXR1cm4gbGluZUxheW91dChy
YW5nZUJhc2VkTGluZUJ1aWxkZXIsIGlubGluZUl0ZW1MaXN0LCBuZWVkc0xheW91dFJhbmdlLCBw
cmV2aW91c0xpbmUoKSwgY29uc3RyYWludHMsIGxpbmVEYW1hZ2UpOwogICAgIH0KICAgICBhdXRv
IGxpbmVCdWlsZGVyID0gbWFrZVVuaXF1ZVJlZjxMaW5lQnVpbGRlcj4oKnRoaXMsIGNvbnN0cmFp
bnRzLmhvcml6b250YWwoKSwgaW5saW5lSXRlbUxpc3QsIGlubGluZUNvbnRlbnRDYWNoZSgpLnRl
eHRTcGFjaW5nQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGlu
ZUJ1aWxkZXIuY3BwCmluZGV4IDU2YzVkYWEyOWNhNy4uMTYxZTkwZWRhNGNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJh
c2VkTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5jcHAKQEAgLTMxLDE0ICszMSw0
NiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLVJhbmdlQmFz
ZWRMaW5lQnVpbGRlcjo6UmFuZ2VCYXNlZExpbmVCdWlsZGVyKElubGluZUZvcm1hdHRpbmdDb250
ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RI
b3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IElubGluZUl0ZW1MaXN0JiBpbmxpbmVJdGVtTGlz
dCkKLSAgICA6IEFic3RyYWN0TGluZUJ1aWxkZXIoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGlu
bGluZUZvcm1hdHRpbmdDb250ZXh0LnJvb3QoKSwgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywg
aW5saW5lSXRlbUxpc3QpCi0gICAgLCBtX3RleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXIoaW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQsIGRvd25jYXN0PEVsZW1lbnRCb3g+KGlubGluZUl0ZW1MaXN0WzBd
LmxheW91dEJveCgpKSwgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgaW5saW5lSXRlbUxpc3Qp
CitzdGF0aWMgaW5saW5lIGJvb2wgaGFzSW5saW5lQm94ZXNPbmx5KHNpemVfdCBpbmxpbmVCb3hD
b3VudCwgc2l6ZV90IG51bWJlck9mSW5saW5lSXRlbXMpCiB7CisgICAgcmV0dXJuICEobnVtYmVy
T2ZJbmxpbmVJdGVtcyAlIDIpICYmIGlubGluZUJveENvdW50ID09IG51bWJlck9mSW5saW5lSXRl
bXMgLyAyOworfQorCitSYW5nZUJhc2VkTGluZUJ1aWxkZXI6OlJhbmdlQmFzZWRMaW5lQnVpbGRl
cihJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIEhvcml6
b250YWxDb25zdHJhaW50cyByb290SG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBJbmxpbmVD
b250ZW50Q2FjaGU6OklubGluZUl0ZW1zJiBpbmxpbmVJdGVtcykKKyAgICA6IEFic3RyYWN0TGlu
ZUJ1aWxkZXIoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGlubGluZUZvcm1hdHRpbmdDb250ZXh0
LnJvb3QoKSwgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgaW5saW5lSXRlbXMuY29udGVudCgp
KQorICAgICwgbV90ZXh0T25seVNpbXBsZUxpbmVCdWlsZGVyKGlubGluZUZvcm1hdHRpbmdDb250
ZXh0LCBkb3duY2FzdDxFbGVtZW50Qm94PihpbmxpbmVJdGVtcy5jb250ZW50KClbMF0ubGF5b3V0
Qm94KCkpLCByb290SG9yaXpvbnRhbENvbnN0cmFpbnRzLCBpbmxpbmVJdGVtcy5jb250ZW50KCkp
CisgICAgLCBtX2lubGluZUJveENvdW50KGlubGluZUl0ZW1zLmlubGluZUJveENvdW50KCkpCit7
CisgICAgQVNTRVJUKG1faW5saW5lQm94Q291bnQpOwogfQogCiBMaW5lTGF5b3V0UmVzdWx0IFJh
bmdlQmFzZWRMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBMaW5lSW5wdXQm
IGxpbmVJbnB1dCwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBwcmV2aW91c0xp
bmUpCiB7CisgICAgYXV0byBudW1iZXJPZklubGluZUl0ZW1zID0gbV9pbmxpbmVJdGVtTGlzdC5z
aXplKCk7CisgICAgaWYgKGhhc0lubGluZUJveGVzT25seShtX2lubGluZUJveENvdW50LCBudW1i
ZXJPZklubGluZUl0ZW1zKSkgeworICAgICAgICBMaW5lOjpSdW5MaXN0IGlubGluZUJveFJ1bnM7
CisgICAgICAgIGlubGluZUJveFJ1bnMucmVzZXJ2ZUNhcGFjaXR5KG51bWJlck9mSW5saW5lSXRl
bXMpOworICAgICAgICBmb3IgKGF1dG8mIGlubGluZUl0ZW0gOiBtX2lubGluZUl0ZW1MaXN0KSB7
CisgICAgICAgICAgICBBU1NFUlQoaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0T3JFbmQoKSk7
CisgICAgICAgICAgICBpbmxpbmVCb3hSdW5zLmFwcGVuZCh7IExpbmU6OlJ1bihpbmxpbmVJdGVt
LCBpbmxpbmVJdGVtLmZpcnN0TGluZVN0eWxlKCksIHsgfSkgfSk7CisgICAgICAgIH0KKworICAg
ICAgICBhdXRvIGxpbmVSZWN0ID0gbGluZUlucHV0LmluaXRpYWxMb2dpY2FsUmVjdDsKKyAgICAg
ICAgYXV0byBjb250ZW50TGVmdCA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6aG9yaXpvbnRhbEFs
aWdubWVudE9mZnNldChyb290U3R5bGUoKSwgeyB9LCBsaW5lUmVjdC53aWR0aCgpLCB7IH0sIGlu
bGluZUJveFJ1bnMsIHRydWUpOworICAgICAgICByZXR1cm4gTGluZUxheW91dFJlc3VsdCB7IGxp
bmVJbnB1dC5uZWVkc0xheW91dFJhbmdlCisgICAgICAgICAgICAsIFdURk1vdmUoaW5saW5lQm94
UnVucykKKyAgICAgICAgICAgICwgeyB9CisgICAgICAgICAgICAsIHsgY29udGVudExlZnQsIHsg
fSwgY29udGVudExlZnQsIHN0ZDo6bWF4KDAuZiwgY29udGVudExlZnQgLSBsaW5lUmVjdC5yaWdo
dCgpKSB9CisgICAgICAgICAgICAsIHsgbGluZVJlY3QudG9wTGVmdCgpLCBsaW5lUmVjdC53aWR0
aCgpLCBsaW5lUmVjdC5sZWZ0KCkgfQorICAgICAgICAgICAgLCB7IH0KKyAgICAgICAgICAgICwg
eyB9CisgICAgICAgICAgICAsIHsgfQorICAgICAgICAgICAgLCB7IH0KKyAgICAgICAgICAgICwg
eyB9CisgICAgICAgICAgICAsIG1faW5saW5lQm94Q291bnQKKyAgICAgICAgfTsKKyAgICB9CisK
ICAgICAvLyAxLiBTaHJpbmsgdGhlIGxheW91dCByYW5nZSB0aGF0IHdlIGNhbiBydW4gdGV4dC1v
bmx5IGJ1aWxkZXIgb24gKGN1cnJlbnRseSBpdCdzIGp1c3QgdGhlIG9wZW5pbmcvY2xvc2luZyBp
bmxpbmUgYm94KQogICAgIC8vIDIuIFJ1biB0ZXh0LW9ubHkgbGluZSBidWlsZGVyCiAgICAgLy8g
My4gSW5zZXJ0L2FwcGVuZCB0aGUgbWlzc2luZyBpbmxpbmUgYm94IHJ1bgpAQCAtOTQsMzAgKzEy
Niw0NiBAQCBib29sIFJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclJhbmdlSW5s
aW5lTGF5b3V0KGNvbnN0IElubGluZUZvcm1hdHRpbgogewogICAgIGlmIChpbmxpbmVJdGVtcy5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIC8vIFJhbmdlIGJhc2VkIGxp
bmUgYnVpbGRlciBvbmx5IHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgY29udGVudCA8aW5saW5lIGJv
eD5lbGlnaWJsZSBmb3IgdGV4dCBvbmx5IGxheW91dDwvaW5saW5lIGJveD4KICAgICBhdXRvJiBp
bmxpbmVJdGVtTGlzdCA9IGlubGluZUl0ZW1zLmNvbnRlbnQoKTsKLSAgICBhdXRvIGlzRnVsbHlO
ZXN0ZWRDb250ZW50ID0gaW5saW5lSXRlbXMuaW5saW5lQm94Q291bnQoKSA9PSAxICYmIGlubGlu
ZUl0ZW1MaXN0LmZpcnN0KCkuaXNJbmxpbmVCb3hTdGFydCgpICYmIGlubGluZUl0ZW1MaXN0Lmxh
c3QoKS5pc0lubGluZUJveEVuZCgpICYmIGlubGluZUl0ZW1MaXN0LnNpemUoKSA+IDI7Ci0gICAg
aWYgKCFpc0Z1bGx5TmVzdGVkQ29udGVudCkKKyAgICBhdXRvIG51bWJlck9mSW5saW5lSXRlbXMg
PSBpbmxpbmVJdGVtTGlzdC5zaXplKCk7CisgICAgYXV0byBpc0VtcHR5Q29udGVudCA9IGhhc0lu
bGluZUJveGVzT25seShpbmxpbmVJdGVtcy5pbmxpbmVCb3hDb3VudCgpLCBudW1iZXJPZklubGlu
ZUl0ZW1zKTsKKyAgICBhdXRvIGlzRnVsbHlOZXN0ZWRDb250ZW50ID0gaW5saW5lSXRlbXMuaW5s
aW5lQm94Q291bnQoKSA9PSAxICYmIGlubGluZUl0ZW1MaXN0LmZpcnN0KCkuaXNJbmxpbmVCb3hT
dGFydCgpICYmIGlubGluZUl0ZW1MaXN0Lmxhc3QoKS5pc0lubGluZUJveEVuZCgpICYmIG51bWJl
ck9mSW5saW5lSXRlbXMgPiAyOworICAgIGlmICghaXNFbXB0eUNvbnRlbnQgJiYgIWlzRnVsbHlO
ZXN0ZWRDb250ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvJiBpbmxpbmVC
b3ggPSBpbmxpbmVJdGVtTGlzdC5maXJzdCgpLmxheW91dEJveCgpOwotICAgIGF1dG8mIGlubGlu
ZUJveEdlb21ldHJ5ID0gaW5saW5lRm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goaW5s
aW5lQm94KTsKLSAgICBpZiAoaW5saW5lQm94R2VvbWV0cnkuaG9yaXpvbnRhbE1hcmdpbkJvcmRl
ckFuZFBhZGRpbmcoKSkgeworICAgIGF1dG8gaGFzRGVjb3JhdGlvbk9yQnJlYWsgPSBbJl0gewor
ICAgICAgICBmb3IgKGF1dG8mIGlubGluZUl0ZW0gOiBpbmxpbmVJdGVtTGlzdCkgeworICAgICAg
ICAgICAgaWYgKCFpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBpbmxpbmVJdGVt
LmxheW91dEJveCgpOworICAgICAgICAgICAgaWYgKGlubGluZUZvcm1hdHRpbmdDb250ZXh0Lmdl
b21ldHJ5Rm9yQm94KGlubGluZUJveCkuaG9yaXpvbnRhbE1hcmdpbkJvcmRlckFuZFBhZGRpbmco
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChpbmxpbmVC
b3guc3R5bGUoKS5ib3hEZWNvcmF0aW9uQnJlYWsoKSAhPSBSZW5kZXJTdHlsZTo6aW5pdGlhbEJv
eERlY29yYXRpb25CcmVhaygpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9OworCisgICAgaWYgKGhhc0RlY29yYXRpb25PckJyZWFrKCkpIHsKICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdGFydCBkZWNvcmF0aW9uIHN1cHBvcnQgaXMganVzdCBhIG1hdHRlciBvZiBz
aHJpbmtpbmcgdGhlIGF2YWlsYWJsZSBzcGFjZSBmb3IgdGhlIGZpcnN0IGxpbmUgKG9yIG9uIHN1
YnNlcXVlbnQgbGluZXMgd2hlbiBkZWNvcmF0aW9uIGJyZWFrIGlzIHByZXNlbnQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9Ci0gICAgaWYgKGlubGluZUJveC5zdHlsZSgpLmJveERlY29y
YXRpb25CcmVhaygpICE9IFJlbmRlclN0eWxlOjppbml0aWFsQm94RGVjb3JhdGlvbkJyZWFrKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChpbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5sYXlvdXRTdGF0ZSgpLnBhcmVudEJsb2NrTGF5b3V0U3RhdGUoKS5saW5lQ2xhbXAoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gQ2hlY2sgdGhlIG5lc3RlZCB0ZXh0IGNvbnRl
bnQuCi0gICAgaWYgKCFpbmxpbmVJdGVtcy5oYXNUZXh0QW5kTGluZUJyZWFrT25seUNvbnRlbnQo
KSB8fCBpbmxpbmVJdGVtcy5yZXF1aXJlc1Zpc3VhbFJlb3JkZXJpbmcoKSB8fCAhcGxhY2VkRmxv
YXRzLmlzRW1wdHkoKSB8fCBpbmxpbmVJdGVtcy5oYXNUZXh0QXV0b3NwYWNlKCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWlzRW1wdHlDb250ZW50KSB7CisgICAgICAgIC8vIENo
ZWNrIHRoZSBuZXN0ZWQgdGV4dCBjb250ZW50LgorICAgICAgICBpZiAoIWlubGluZUl0ZW1zLmhh
c1RleHRBbmRMaW5lQnJlYWtPbmx5Q29udGVudCgpIHx8IGlubGluZUl0ZW1zLnJlcXVpcmVzVmlz
dWFsUmVvcmRlcmluZygpIHx8ICFwbGFjZWRGbG9hdHMuaXNFbXB0eSgpIHx8IGlubGluZUl0ZW1z
Lmhhc1RleHRBdXRvc3BhY2UoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
ICghVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJbmxp
bmVMYXlvdXRCeVN0eWxlKGlubGluZUZvcm1hdHRpbmdDb250ZXh0LnJvb3QoKS5zdHlsZSgpKSB8
fCAhVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJbmxp
bmVMYXlvdXRCeVN0eWxlKGlubGluZUJveC5zdHlsZSgpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBpbmxpbmVJdGVtTGlzdC5maXJzdCgpLmxheW91
dEJveCgpOworICAgICAgICBpZiAoIVRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6OmlzRWxpZ2li
bGVGb3JTaW1wbGlmaWVkSW5saW5lTGF5b3V0QnlTdHlsZShpbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5yb290KCkuc3R5bGUoKSkgfHwgIVRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6OmlzRWxpZ2li
bGVGb3JTaW1wbGlmaWVkSW5saW5lTGF5b3V0QnlTdHlsZShpbmxpbmVCb3guc3R5bGUoKSkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5oCmluZGV4IDkzYzkzZGJm
NmMxMy4uNjA4OTA5YWJmNjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGlu
ZUJ1aWxkZXIuaApAQCAtMzUsMTMgKzM1LDE0IEBAIGNsYXNzIElubGluZUNvbnRlbnRCcmVha2Vy
OwogCiBjbGFzcyBSYW5nZUJhc2VkTGluZUJ1aWxkZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RM
aW5lQnVpbGRlciB7CiBwdWJsaWM6Ci0gICAgUmFuZ2VCYXNlZExpbmVCdWlsZGVyKElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RIb3Jpem9udGFsQ29u
c3RyYWludHMsIGNvbnN0IElubGluZUl0ZW1MaXN0Jik7CisgICAgUmFuZ2VCYXNlZExpbmVCdWls
ZGVyKElubGluZUZvcm1hdHRpbmdDb250ZXh0JiwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RI
b3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IElubGluZUNvbnRlbnRDYWNoZTo6SW5saW5lSXRl
bXMmKTsKICAgICBMaW5lTGF5b3V0UmVzdWx0IGxheW91dElubGluZUNvbnRlbnQoY29uc3QgTGlu
ZUlucHV0JiwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JikgZmluYWw7CiAKICAg
ICBzdGF0aWMgYm9vbCBpc0VsaWdpYmxlRm9yUmFuZ2VJbmxpbmVMYXlvdXQoY29uc3QgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBJbmxpbmVDb250ZW50Q2FjaGU6OklubGluZUl0ZW1z
JiwgY29uc3QgUGxhY2VkRmxvYXRzJik7CiAKIHByaXZhdGU6CiAgICAgVGV4dE9ubHlTaW1wbGVM
aW5lQnVpbGRlciBtX3RleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI7CisgICAgc2l6ZV90IG1faW5s
aW5lQm94Q291bnQgeyAwIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvZmFzdC9mb3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxmb3JtZWQt
bWFya3VwLWV4cGVjdGVkLnR4dAppbmRleCBhYjlmNmNjMjMwYzIuLjIwYWUwMmE0NWU0NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxm
b3JtZWQtbWFya3VwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
ZmFzdC9mb3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0CkBAIC00LDcg
KzQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzg0eDU4NAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3
ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLC0xNSkgc2l6ZSAweDE5CisgICAg
ICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge0ZPUk19IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9
IGF0ICgwLDApIHNpemUgMjM2eDI2CiAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9
IGF0ICgwLDApIHNpemUgMjM2eDI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9mb3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxmb3JtZWQtbWFya3Vw
LWV4cGVjdGVkLnR4dAppbmRleCBkNGM0ZjM5YTY0M2IuLjNiNDA5ZTQ3ODUyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxmb3JtZWQt
bWFya3VwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0CkBAIC00LDcgKzQsNyBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU4NAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MAot
ICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLC0xNCkgc2l6ZSAweDE4CisgICAgICAgIFJl
bmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBSZW5kZXJJbmxpbmUg
e0ZPUk19IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgw
LDApIHNpemUgMjM2eDI0CiAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgw
LDApIHNpemUgMjM2eDI0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>474379</attachid>
            <date>2025-02-28 11:27:06 -0800</date>
            <delta_ts>2025-02-28 18:12:26 -0800</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-288801-20250228112705.patch</filename>
            <type>text/plain</type>
            <size>13183</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBmNDRkMjEzM2VkZDg4Mjc0MWU2ZmRhYTA1YTM0NTM0MjI5NDIwMDhmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgMjcgRmViIDIwMjUgMjA6Mzc6MDYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbSUZDXSBM
ZXQncyB1c2UgUmFuZ2VCYXNlZExpbmVCdWlsZGVyIGZvciBpbmxpbmUgYm94IGNvbnRlbnQKIG9u
bHkgdG9vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODg4MDEKClJl
dmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKUmFuZ2VCYXNlZExpbmVCdWlsZGVyIGNhbiBsYXlv
dXQgY29udGVudCB3aGVyZSB0ZXh0IGlzIGVuY2xvc2VkIGJ5IGFuIGlubGluZSBib3ggZS5nLgo8
ZGl2PjxzcGFuPnRoaXMgdGV4dCBvbmx5IGNvbnRlbnQgaXMgZW5jbG9zZWQgYnkgYW4gaW5saW5l
IGJveDwvc3Bhbj48L2Rpdj4KClRoaXMgY2hhbmdlIGVuYWJsZXMgUmFuZ2VCYXNlZExpbmVCdWls
ZGVyIHRvIGxheW91dCBpbmxpbmUgY29udGVudCB3aGVyZSB0aGVyZSdzCm5vIGVuY2xvc2VkIGlu
bGluZSBpdGVtcyBlLmcuCgo8ZGl2PjxzcGFuPjwvc3Bhbj48L2Rpdj4KCipmYXN0L2Zvcm1zL2Zv
cm0taW4tbWFsZm9ybWVkLW1hcmt1cDogZ2VvbWV0cnkgcHJvZ3Jlc3Npb24gb24gZW1wdHkgaW5s
aW5lIGJveC4KCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJbmxpbmVG
b3JtYXR0aW5nQ29udGV4dDo6bGF5b3V0KToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6
TGF5b3V0OjpSYW5nZUJhc2VkTGluZUJ1aWxkZXI6OlJhbmdlQmFzZWRMaW5lQnVpbGRlcik6CihX
ZWJDb3JlOjpMYXlvdXQ6OlJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVu
dCk6CihXZWJDb3JlOjpMYXlvdXQ6OlJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZv
clJhbmdlSW5saW5lTGF5b3V0KToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaDoKLS0tCiAuLi4vaW5saW5lL0lu
bGluZUZvcm1hdHRpbmdDb250ZXh0LmNwcCAgICAgICAgfCAgOSArKy0KIC4uLi9pbmxpbmUvUmFu
Z2VCYXNlZExpbmVCdWlsZGVyLmNwcCAgICAgICAgICB8IDc4ICsrKysrKysrKysrKysrKy0tLS0K
IC4uLi9pbmxpbmUvUmFuZ2VCYXNlZExpbmVCdWlsZGVyLmggICAgICAgICAgICB8ICAzICstCiAu
Li4vZm9ybS1pbi1tYWxmb3JtZWQtbWFya3VwLWV4cGVjdGVkLnR4dCAgICAgfCAgMiArLQogLi4u
L2Zvcm0taW4tbWFsZm9ybWVkLW1hcmt1cC1leHBlY3RlZC50eHQgICAgIHwgIDIgKy0KIDUgZmls
ZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdD
b250ZXh0cy9pbmxpbmUvSW5saW5lRm9ybWF0dGluZ0NvbnRleHQuY3BwCmluZGV4IDY4ZmFmOGU3
OTY1ZC4uOThmMmU2MmQ3ZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQuY3BwCkBAIC0xMjAsNyArMTIwLDggQEAgSW5saW5lTGF5b3V0UmVzdWx0
IElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpsYXlvdXQoY29uc3QgQ29uc3RyYWludHNGb3JJbmxp
bmVDb24KICAgICAgICAgcmV0dXJuIHsgeyB9LCBJbmxpbmVMYXlvdXRSZXN1bHQ6OlJhbmdlOjpG
dWxsIH07CiAgICAgfQogCi0gICAgYXV0byYgaW5saW5lSXRlbUxpc3QgPSBpbmxpbmVDb250ZW50
Q2FjaGUoKS5pbmxpbmVJdGVtcygpLmNvbnRlbnQoKTsKKyAgICBhdXRvJiBpbmxpbmVJdGVtcyA9
IGlubGluZUNvbnRlbnRDYWNoZSgpLmlubGluZUl0ZW1zKCk7CisgICAgYXV0byYgaW5saW5lSXRl
bUxpc3QgPSBpbmxpbmVJdGVtcy5jb250ZW50KCk7CiAgICAgYXV0byBuZWVkc0xheW91dFJhbmdl
ID0gWyZdKCkgLT4gSW5saW5lSXRlbVJhbmdlIHsKICAgICAgICAgaWYgKCFJbmxpbmVJbnZhbGlk
YXRpb246Om1heU9ubHlOZWVkUGFydGlhbExheW91dChsaW5lRGFtYWdlKSkKICAgICAgICAgICAg
IHJldHVybiB7IHsgfSwgeyBpbmxpbmVJdGVtTGlzdC5zaXplKCksIHsgfSB9IH07CkBAIC0xNTgs
MTIgKzE1OSwxMiBAQCBJbmxpbmVMYXlvdXRSZXN1bHQgSW5saW5lRm9ybWF0dGluZ0NvbnRleHQ6
OmxheW91dChjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbgogICAgICAgICAgICAgbGF5b3V0
U3RhdGUoKS5zZXRBdmFpbGFibGVMaW5lV2lkdGhPdmVycmlkZSh7ICpjb25zdHJhaW5lZExpbmVX
aWR0aHMgfSk7CiAgICAgfQogCi0gICAgaWYgKFRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6Omlz
RWxpZ2libGVGb3JTaW1wbGlmaWVkVGV4dE9ubHlJbmxpbmVMYXlvdXRCeUNvbnRlbnQoaW5saW5l
Q29udGVudENhY2hlKCkuaW5saW5lSXRlbXMoKSwgbGF5b3V0U3RhdGUoKS5wbGFjZWRGbG9hdHMo
KSkgJiYgVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJ
bmxpbmVMYXlvdXRCeVN0eWxlKHJvb3QoKS5zdHlsZSgpKSkgeworICAgIGlmIChUZXh0T25seVNp
bXBsZUxpbmVCdWlsZGVyOjppc0VsaWdpYmxlRm9yU2ltcGxpZmllZFRleHRPbmx5SW5saW5lTGF5
b3V0QnlDb250ZW50KGlubGluZUl0ZW1zLCBsYXlvdXRTdGF0ZSgpLnBsYWNlZEZsb2F0cygpKSAm
JiBUZXh0T25seVNpbXBsZUxpbmVCdWlsZGVyOjppc0VsaWdpYmxlRm9yU2ltcGxpZmllZElubGlu
ZUxheW91dEJ5U3R5bGUocm9vdCgpLnN0eWxlKCkpKSB7CiAgICAgICAgIGF1dG8gc2ltcGxpZmll
ZExpbmVCdWlsZGVyID0gVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlciB7ICp0aGlzLCByb290KCks
IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKSwgaW5saW5lSXRlbUxpc3QgfTsKICAgICAgICAgcmV0
dXJuIGxpbmVMYXlvdXQoc2ltcGxpZmllZExpbmVCdWlsZGVyLCBpbmxpbmVJdGVtTGlzdCwgbmVl
ZHNMYXlvdXRSYW5nZSwgcHJldmlvdXNMaW5lKCksIGNvbnN0cmFpbnRzLCBsaW5lRGFtYWdlKTsK
ICAgICB9Ci0gICAgaWYgKFJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclJhbmdl
SW5saW5lTGF5b3V0KCp0aGlzLCBpbmxpbmVDb250ZW50Q2FjaGUoKS5pbmxpbmVJdGVtcygpLCBs
YXlvdXRTdGF0ZSgpLnBsYWNlZEZsb2F0cygpKSkgewotICAgICAgICBhdXRvIHJhbmdlQmFzZWRM
aW5lQnVpbGRlciA9IFJhbmdlQmFzZWRMaW5lQnVpbGRlciB7ICp0aGlzLCBjb25zdHJhaW50cy5o
b3Jpem9udGFsKCksIGlubGluZUl0ZW1MaXN0IH07CisgICAgaWYgKFJhbmdlQmFzZWRMaW5lQnVp
bGRlcjo6aXNFbGlnaWJsZUZvclJhbmdlSW5saW5lTGF5b3V0KCp0aGlzLCBpbmxpbmVJdGVtcywg
bGF5b3V0U3RhdGUoKS5wbGFjZWRGbG9hdHMoKSkpIHsKKyAgICAgICAgYXV0byByYW5nZUJhc2Vk
TGluZUJ1aWxkZXIgPSBSYW5nZUJhc2VkTGluZUJ1aWxkZXIgeyAqdGhpcywgY29uc3RyYWludHMu
aG9yaXpvbnRhbCgpLCBpbmxpbmVJdGVtcyB9OwogICAgICAgICByZXR1cm4gbGluZUxheW91dChy
YW5nZUJhc2VkTGluZUJ1aWxkZXIsIGlubGluZUl0ZW1MaXN0LCBuZWVkc0xheW91dFJhbmdlLCBw
cmV2aW91c0xpbmUoKSwgY29uc3RyYWludHMsIGxpbmVEYW1hZ2UpOwogICAgIH0KICAgICBhdXRv
IGxpbmVCdWlsZGVyID0gbWFrZVVuaXF1ZVJlZjxMaW5lQnVpbGRlcj4oKnRoaXMsIGNvbnN0cmFp
bnRzLmhvcml6b250YWwoKSwgaW5saW5lSXRlbUxpc3QsIGlubGluZUNvbnRlbnRDYWNoZSgpLnRl
eHRTcGFjaW5nQ29udGV4dCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGlu
ZUJ1aWxkZXIuY3BwCmluZGV4IDU2YzVkYWEyOWNhNy4uMTYxZTkwZWRhNGNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJh
c2VkTGluZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5jcHAKQEAgLTMxLDE0ICszMSw0
NiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIExheW91dCB7CiAKLVJhbmdlQmFz
ZWRMaW5lQnVpbGRlcjo6UmFuZ2VCYXNlZExpbmVCdWlsZGVyKElubGluZUZvcm1hdHRpbmdDb250
ZXh0JiBpbmxpbmVGb3JtYXR0aW5nQ29udGV4dCwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RI
b3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IElubGluZUl0ZW1MaXN0JiBpbmxpbmVJdGVtTGlz
dCkKLSAgICA6IEFic3RyYWN0TGluZUJ1aWxkZXIoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGlu
bGluZUZvcm1hdHRpbmdDb250ZXh0LnJvb3QoKSwgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywg
aW5saW5lSXRlbUxpc3QpCi0gICAgLCBtX3RleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXIoaW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQsIGRvd25jYXN0PEVsZW1lbnRCb3g+KGlubGluZUl0ZW1MaXN0WzBd
LmxheW91dEJveCgpKSwgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgaW5saW5lSXRlbUxpc3Qp
CitzdGF0aWMgaW5saW5lIGJvb2wgaGFzSW5saW5lQm94ZXNPbmx5KHNpemVfdCBpbmxpbmVCb3hD
b3VudCwgc2l6ZV90IG51bWJlck9mSW5saW5lSXRlbXMpCiB7CisgICAgcmV0dXJuICEobnVtYmVy
T2ZJbmxpbmVJdGVtcyAlIDIpICYmIGlubGluZUJveENvdW50ID09IG51bWJlck9mSW5saW5lSXRl
bXMgLyAyOworfQorCitSYW5nZUJhc2VkTGluZUJ1aWxkZXI6OlJhbmdlQmFzZWRMaW5lQnVpbGRl
cihJbmxpbmVGb3JtYXR0aW5nQ29udGV4dCYgaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIEhvcml6
b250YWxDb25zdHJhaW50cyByb290SG9yaXpvbnRhbENvbnN0cmFpbnRzLCBjb25zdCBJbmxpbmVD
b250ZW50Q2FjaGU6OklubGluZUl0ZW1zJiBpbmxpbmVJdGVtcykKKyAgICA6IEFic3RyYWN0TGlu
ZUJ1aWxkZXIoaW5saW5lRm9ybWF0dGluZ0NvbnRleHQsIGlubGluZUZvcm1hdHRpbmdDb250ZXh0
LnJvb3QoKSwgcm9vdEhvcml6b250YWxDb25zdHJhaW50cywgaW5saW5lSXRlbXMuY29udGVudCgp
KQorICAgICwgbV90ZXh0T25seVNpbXBsZUxpbmVCdWlsZGVyKGlubGluZUZvcm1hdHRpbmdDb250
ZXh0LCBkb3duY2FzdDxFbGVtZW50Qm94PihpbmxpbmVJdGVtcy5jb250ZW50KClbMF0ubGF5b3V0
Qm94KCkpLCByb290SG9yaXpvbnRhbENvbnN0cmFpbnRzLCBpbmxpbmVJdGVtcy5jb250ZW50KCkp
CisgICAgLCBtX2lubGluZUJveENvdW50KGlubGluZUl0ZW1zLmlubGluZUJveENvdW50KCkpCit7
CisgICAgQVNTRVJUKG1faW5saW5lQm94Q291bnQpOwogfQogCiBMaW5lTGF5b3V0UmVzdWx0IFJh
bmdlQmFzZWRMaW5lQnVpbGRlcjo6bGF5b3V0SW5saW5lQ29udGVudChjb25zdCBMaW5lSW5wdXQm
IGxpbmVJbnB1dCwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JiBwcmV2aW91c0xp
bmUpCiB7CisgICAgYXV0byBudW1iZXJPZklubGluZUl0ZW1zID0gbV9pbmxpbmVJdGVtTGlzdC5z
aXplKCk7CisgICAgaWYgKGhhc0lubGluZUJveGVzT25seShtX2lubGluZUJveENvdW50LCBudW1i
ZXJPZklubGluZUl0ZW1zKSkgeworICAgICAgICBMaW5lOjpSdW5MaXN0IGlubGluZUJveFJ1bnM7
CisgICAgICAgIGlubGluZUJveFJ1bnMucmVzZXJ2ZUNhcGFjaXR5KG51bWJlck9mSW5saW5lSXRl
bXMpOworICAgICAgICBmb3IgKGF1dG8mIGlubGluZUl0ZW0gOiBtX2lubGluZUl0ZW1MaXN0KSB7
CisgICAgICAgICAgICBBU1NFUlQoaW5saW5lSXRlbS5pc0lubGluZUJveFN0YXJ0T3JFbmQoKSk7
CisgICAgICAgICAgICBpbmxpbmVCb3hSdW5zLmFwcGVuZCh7IExpbmU6OlJ1bihpbmxpbmVJdGVt
LCBpbmxpbmVJdGVtLmZpcnN0TGluZVN0eWxlKCksIHsgfSkgfSk7CisgICAgICAgIH0KKworICAg
ICAgICBhdXRvIGxpbmVSZWN0ID0gbGluZUlucHV0LmluaXRpYWxMb2dpY2FsUmVjdDsKKyAgICAg
ICAgYXV0byBjb250ZW50TGVmdCA9IElubGluZUZvcm1hdHRpbmdVdGlsczo6aG9yaXpvbnRhbEFs
aWdubWVudE9mZnNldChyb290U3R5bGUoKSwgeyB9LCBsaW5lUmVjdC53aWR0aCgpLCB7IH0sIGlu
bGluZUJveFJ1bnMsIHRydWUpOworICAgICAgICByZXR1cm4gTGluZUxheW91dFJlc3VsdCB7IGxp
bmVJbnB1dC5uZWVkc0xheW91dFJhbmdlCisgICAgICAgICAgICAsIFdURk1vdmUoaW5saW5lQm94
UnVucykKKyAgICAgICAgICAgICwgeyB9CisgICAgICAgICAgICAsIHsgY29udGVudExlZnQsIHsg
fSwgY29udGVudExlZnQsIHN0ZDo6bWF4KDAuZiwgY29udGVudExlZnQgLSBsaW5lUmVjdC5yaWdo
dCgpKSB9CisgICAgICAgICAgICAsIHsgbGluZVJlY3QudG9wTGVmdCgpLCBsaW5lUmVjdC53aWR0
aCgpLCBsaW5lUmVjdC5sZWZ0KCkgfQorICAgICAgICAgICAgLCB7IH0KKyAgICAgICAgICAgICwg
eyB9CisgICAgICAgICAgICAsIHsgfQorICAgICAgICAgICAgLCB7IH0KKyAgICAgICAgICAgICwg
eyB9CisgICAgICAgICAgICAsIG1faW5saW5lQm94Q291bnQKKyAgICAgICAgfTsKKyAgICB9CisK
ICAgICAvLyAxLiBTaHJpbmsgdGhlIGxheW91dCByYW5nZSB0aGF0IHdlIGNhbiBydW4gdGV4dC1v
bmx5IGJ1aWxkZXIgb24gKGN1cnJlbnRseSBpdCdzIGp1c3QgdGhlIG9wZW5pbmcvY2xvc2luZyBp
bmxpbmUgYm94KQogICAgIC8vIDIuIFJ1biB0ZXh0LW9ubHkgbGluZSBidWlsZGVyCiAgICAgLy8g
My4gSW5zZXJ0L2FwcGVuZCB0aGUgbWlzc2luZyBpbmxpbmUgYm94IHJ1bgpAQCAtOTQsMzAgKzEy
Niw0NiBAQCBib29sIFJhbmdlQmFzZWRMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclJhbmdlSW5s
aW5lTGF5b3V0KGNvbnN0IElubGluZUZvcm1hdHRpbgogewogICAgIGlmIChpbmxpbmVJdGVtcy5p
c0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIC8vIFJhbmdlIGJhc2VkIGxp
bmUgYnVpbGRlciBvbmx5IHN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgY29udGVudCA8aW5saW5lIGJv
eD5lbGlnaWJsZSBmb3IgdGV4dCBvbmx5IGxheW91dDwvaW5saW5lIGJveD4KICAgICBhdXRvJiBp
bmxpbmVJdGVtTGlzdCA9IGlubGluZUl0ZW1zLmNvbnRlbnQoKTsKLSAgICBhdXRvIGlzRnVsbHlO
ZXN0ZWRDb250ZW50ID0gaW5saW5lSXRlbXMuaW5saW5lQm94Q291bnQoKSA9PSAxICYmIGlubGlu
ZUl0ZW1MaXN0LmZpcnN0KCkuaXNJbmxpbmVCb3hTdGFydCgpICYmIGlubGluZUl0ZW1MaXN0Lmxh
c3QoKS5pc0lubGluZUJveEVuZCgpICYmIGlubGluZUl0ZW1MaXN0LnNpemUoKSA+IDI7Ci0gICAg
aWYgKCFpc0Z1bGx5TmVzdGVkQ29udGVudCkKKyAgICBhdXRvIG51bWJlck9mSW5saW5lSXRlbXMg
PSBpbmxpbmVJdGVtTGlzdC5zaXplKCk7CisgICAgYXV0byBpc0VtcHR5Q29udGVudCA9IGhhc0lu
bGluZUJveGVzT25seShpbmxpbmVJdGVtcy5pbmxpbmVCb3hDb3VudCgpLCBudW1iZXJPZklubGlu
ZUl0ZW1zKTsKKyAgICBhdXRvIGlzRnVsbHlOZXN0ZWRDb250ZW50ID0gaW5saW5lSXRlbXMuaW5s
aW5lQm94Q291bnQoKSA9PSAxICYmIGlubGluZUl0ZW1MaXN0LmZpcnN0KCkuaXNJbmxpbmVCb3hT
dGFydCgpICYmIGlubGluZUl0ZW1MaXN0Lmxhc3QoKS5pc0lubGluZUJveEVuZCgpICYmIG51bWJl
ck9mSW5saW5lSXRlbXMgPiAyOworICAgIGlmICghaXNFbXB0eUNvbnRlbnQgJiYgIWlzRnVsbHlO
ZXN0ZWRDb250ZW50KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvJiBpbmxpbmVC
b3ggPSBpbmxpbmVJdGVtTGlzdC5maXJzdCgpLmxheW91dEJveCgpOwotICAgIGF1dG8mIGlubGlu
ZUJveEdlb21ldHJ5ID0gaW5saW5lRm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3goaW5s
aW5lQm94KTsKLSAgICBpZiAoaW5saW5lQm94R2VvbWV0cnkuaG9yaXpvbnRhbE1hcmdpbkJvcmRl
ckFuZFBhZGRpbmcoKSkgeworICAgIGF1dG8gaGFzRGVjb3JhdGlvbk9yQnJlYWsgPSBbJl0gewor
ICAgICAgICBmb3IgKGF1dG8mIGlubGluZUl0ZW0gOiBpbmxpbmVJdGVtTGlzdCkgeworICAgICAg
ICAgICAgaWYgKCFpbmxpbmVJdGVtLmlzSW5saW5lQm94U3RhcnQoKSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBpbmxpbmVJdGVt
LmxheW91dEJveCgpOworICAgICAgICAgICAgaWYgKGlubGluZUZvcm1hdHRpbmdDb250ZXh0Lmdl
b21ldHJ5Rm9yQm94KGlubGluZUJveCkuaG9yaXpvbnRhbE1hcmdpbkJvcmRlckFuZFBhZGRpbmco
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChpbmxpbmVC
b3guc3R5bGUoKS5ib3hEZWNvcmF0aW9uQnJlYWsoKSAhPSBSZW5kZXJTdHlsZTo6aW5pdGlhbEJv
eERlY29yYXRpb25CcmVhaygpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9OworCisgICAgaWYgKGhhc0RlY29yYXRpb25PckJyZWFrKCkpIHsKICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdGFydCBkZWNvcmF0aW9uIHN1cHBvcnQgaXMganVzdCBhIG1hdHRlciBvZiBz
aHJpbmtpbmcgdGhlIGF2YWlsYWJsZSBzcGFjZSBmb3IgdGhlIGZpcnN0IGxpbmUgKG9yIG9uIHN1
YnNlcXVlbnQgbGluZXMgd2hlbiBkZWNvcmF0aW9uIGJyZWFrIGlzIHByZXNlbnQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9Ci0gICAgaWYgKGlubGluZUJveC5zdHlsZSgpLmJveERlY29y
YXRpb25CcmVhaygpICE9IFJlbmRlclN0eWxlOjppbml0aWFsQm94RGVjb3JhdGlvbkJyZWFrKCkp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChpbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5sYXlvdXRTdGF0ZSgpLnBhcmVudEJsb2NrTGF5b3V0U3RhdGUoKS5saW5lQ2xhbXAoKSkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgLy8gQ2hlY2sgdGhlIG5lc3RlZCB0ZXh0IGNvbnRl
bnQuCi0gICAgaWYgKCFpbmxpbmVJdGVtcy5oYXNUZXh0QW5kTGluZUJyZWFrT25seUNvbnRlbnQo
KSB8fCBpbmxpbmVJdGVtcy5yZXF1aXJlc1Zpc3VhbFJlb3JkZXJpbmcoKSB8fCAhcGxhY2VkRmxv
YXRzLmlzRW1wdHkoKSB8fCBpbmxpbmVJdGVtcy5oYXNUZXh0QXV0b3NwYWNlKCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWlzRW1wdHlDb250ZW50KSB7CisgICAgICAgIC8vIENo
ZWNrIHRoZSBuZXN0ZWQgdGV4dCBjb250ZW50LgorICAgICAgICBpZiAoIWlubGluZUl0ZW1zLmhh
c1RleHRBbmRMaW5lQnJlYWtPbmx5Q29udGVudCgpIHx8IGlubGluZUl0ZW1zLnJlcXVpcmVzVmlz
dWFsUmVvcmRlcmluZygpIHx8ICFwbGFjZWRGbG9hdHMuaXNFbXB0eSgpIHx8IGlubGluZUl0ZW1z
Lmhhc1RleHRBdXRvc3BhY2UoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
ICghVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJbmxp
bmVMYXlvdXRCeVN0eWxlKGlubGluZUZvcm1hdHRpbmdDb250ZXh0LnJvb3QoKS5zdHlsZSgpKSB8
fCAhVGV4dE9ubHlTaW1wbGVMaW5lQnVpbGRlcjo6aXNFbGlnaWJsZUZvclNpbXBsaWZpZWRJbmxp
bmVMYXlvdXRCeVN0eWxlKGlubGluZUJveC5zdHlsZSgpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICBhdXRvJiBpbmxpbmVCb3ggPSBpbmxpbmVJdGVtTGlzdC5maXJzdCgpLmxheW91
dEJveCgpOworICAgICAgICBpZiAoIVRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6OmlzRWxpZ2li
bGVGb3JTaW1wbGlmaWVkSW5saW5lTGF5b3V0QnlTdHlsZShpbmxpbmVGb3JtYXR0aW5nQ29udGV4
dC5yb290KCkuc3R5bGUoKSkgfHwgIVRleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI6OmlzRWxpZ2li
bGVGb3JTaW1wbGlmaWVkSW5saW5lTGF5b3V0QnlTdHlsZShpbmxpbmVCb3guc3R5bGUoKSkpCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGlu
ZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0
aW5nQ29udGV4dHMvaW5saW5lL1JhbmdlQmFzZWRMaW5lQnVpbGRlci5oCmluZGV4IDkzYzkzZGJm
NmMxMy4uNjA4OTA5YWJmNjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGluZUJ1aWxkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9SYW5nZUJhc2VkTGlu
ZUJ1aWxkZXIuaApAQCAtMzUsMTMgKzM1LDE0IEBAIGNsYXNzIElubGluZUNvbnRlbnRCcmVha2Vy
OwogCiBjbGFzcyBSYW5nZUJhc2VkTGluZUJ1aWxkZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RM
aW5lQnVpbGRlciB7CiBwdWJsaWM6Ci0gICAgUmFuZ2VCYXNlZExpbmVCdWlsZGVyKElubGluZUZv
cm1hdHRpbmdDb250ZXh0JiwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RIb3Jpem9udGFsQ29u
c3RyYWludHMsIGNvbnN0IElubGluZUl0ZW1MaXN0Jik7CisgICAgUmFuZ2VCYXNlZExpbmVCdWls
ZGVyKElubGluZUZvcm1hdHRpbmdDb250ZXh0JiwgSG9yaXpvbnRhbENvbnN0cmFpbnRzIHJvb3RI
b3Jpem9udGFsQ29uc3RyYWludHMsIGNvbnN0IElubGluZUNvbnRlbnRDYWNoZTo6SW5saW5lSXRl
bXMmKTsKICAgICBMaW5lTGF5b3V0UmVzdWx0IGxheW91dElubGluZUNvbnRlbnQoY29uc3QgTGlu
ZUlucHV0JiwgY29uc3Qgc3RkOjpvcHRpb25hbDxQcmV2aW91c0xpbmU+JikgZmluYWw7CiAKICAg
ICBzdGF0aWMgYm9vbCBpc0VsaWdpYmxlRm9yUmFuZ2VJbmxpbmVMYXlvdXQoY29uc3QgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQmLCBjb25zdCBJbmxpbmVDb250ZW50Q2FjaGU6OklubGluZUl0ZW1z
JiwgY29uc3QgUGxhY2VkRmxvYXRzJik7CiAKIHByaXZhdGU6CiAgICAgVGV4dE9ubHlTaW1wbGVM
aW5lQnVpbGRlciBtX3RleHRPbmx5U2ltcGxlTGluZUJ1aWxkZXI7CisgICAgc2l6ZV90IG1faW5s
aW5lQm94Q291bnQgeyAwIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvZmFzdC9mb3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxmb3JtZWQt
bWFya3VwLWV4cGVjdGVkLnR4dAppbmRleCBhYjlmNmNjMjMwYzIuLjIwYWUwMmE0NWU0NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxm
b3JtZWQtbWFya3VwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
ZmFzdC9mb3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0CkBAIC00LDcg
KzQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzg0eDU4NAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3
ODR4MAotICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLC0xNSkgc2l6ZSAweDE5CisgICAg
ICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge0ZPUk19IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9
IGF0ICgwLDApIHNpemUgMjM2eDI2CiAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9
IGF0ICgwLDApIHNpemUgMjM2eDI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9mb3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxmb3JtZWQtbWFya3Vw
LWV4cGVjdGVkLnR4dAppbmRleCBkNGM0ZjM5YTY0M2IuLjNiNDA5ZTQ3ODUyYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZm9ybS1pbi1tYWxmb3JtZWQt
bWFya3VwLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9mb3JtLWluLW1hbGZvcm1lZC1tYXJrdXAtZXhwZWN0ZWQudHh0CkBAIC00LDcgKzQsNyBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU4NAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MAot
ICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLC0xNCkgc2l6ZSAweDE4CisgICAgICAgIFJl
bmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBSZW5kZXJJbmxpbmUg
e0ZPUk19IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgw
LDApIHNpemUgMjM2eDI0CiAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgw
LDApIHNpemUgMjM2eDI0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>