<?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>172446</bug_id>
          
          <creation_ts>2017-05-22 06:41:30 -0700</creation_ts>
          <short_desc>Ordered list and Shadow DOM have broken order</short_desc>
          <delta_ts>2022-07-18 14:23:14 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>macOS 10.12</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>148695</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mattia Astorino">astorino.design</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1311318</commentid>
    <comment_count>0</comment_count>
    <who name="Mattia Astorino">astorino.design</who>
    <bug_when>2017-05-22 06:41:30 -0700</bug_when>
    <thetext>When an ordered list is composed by custom elements and shadow dom (open and slot) the list counter restart each &lt;li&gt; element, so every &lt;li&gt; have the 1. number:

This is the output:

1. Lorem ipsum
1. Dolor Sit amet
1. Consecutor adipiscing
   1. Lorem ipsum
   1. Dolor Sit amet
1. Dolor Sit amet

This is the source code:
&lt;oa-list&gt;
   &lt;oa-list-item&gt;Lorem ipsum&lt;/oa-list-item&gt;
   &lt;oa-list-item&gt;Dolor Sit amet&lt;/oa-list-item&gt;
   &lt;oa-list-item&gt;
      Consecutor adipiscing
      &lt;oa-list&gt;
          &lt;oa-list-item&gt;Lorem ipsum&lt;/oa-list-item&gt;
          &lt;oa-list-item&gt;Dolor Sit amet&lt;/oa-list-item&gt;
      &lt;/oa-list&gt;
   &lt;/oa-list-item&gt;
   &lt;oa-list-item&gt;Dolor Sit amet&lt;/oa-list-item&gt;
&lt;/oa-list&gt;




&lt;oa-list&gt; shadow root:

&lt;ol&gt;
  &lt;slot&gt;&lt;/slot&gt;
&lt;/ol&gt;



&lt;oa-list-item&gt; shadow root:

&lt;li&gt;
  &lt;slot&gt;&lt;/slot&gt;
&lt;/li&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315935</commentid>
    <comment_count>1</comment_count>
    <who name="Mattia Astorino">astorino.design</who>
    <bug_when>2017-06-06 00:20:31 -0700</bug_when>
    <thetext>Now with the latest WebKit Nightly release the there is no bullet indicators for orderered and unordered lists. Are you working on that? This is the output, same source code:

http://i.imgur.com/aEaaMBc.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1367886</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-11-03 05:19:58 -0700</bug_when>
    <thetext>A full test case would be helpful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1447180</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-08-01 22:40:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/42842990&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460534</commentid>
    <comment_count>4</comment_count>
      <attachid>350010</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-09-18 01:06:26 -0700</bug_when>
    <thetext>Created attachment 350010
Reproduction

This works in Chrome &amp; Firefox but fails in Safari.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1884646</commentid>
    <comment_count>5</comment_count>
      <attachid>460965</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-07-17 14:48:00 -0700</bug_when>
    <thetext>Created attachment 460965
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1884690</commentid>
    <comment_count>6</comment_count>
      <attachid>460967</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-07-17 23:50:20 -0700</bug_when>
    <thetext>Created attachment 460967
WIP2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1884871</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-07-18 14:23:14 -0700</bug_when>
    <thetext>Hm... attached patch fixes the order number issue but there is some kind of weird padding / margin added to the list. Not sure where that&apos;s coming from.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>350010</attachid>
            <date>2018-09-18 01:06:26 -0700</date>
            <delta_ts>2018-09-18 01:06:26 -0700</delta_ts>
            <desc>Reproduction</desc>
            <filename>bug172446.html</filename>
            <type>text/html</type>
            <size>915</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHNjcmlwdD4KCmN1c3RvbUVsZW1lbnRzLmRl
ZmluZSgnb2EtbGlzdCcsIGNsYXNzIE9BTGlzdCBleHRlbmRzIEhUTUxFbGVtZW50IHsKICAgIGNv
bnN0cnVjdG9yKCkKICAgIHsKICAgICAgICBzdXBlcigpOwogICAgICAgIGNvbnN0IHNoYWRvd1Jv
b3QgPSB0aGlzLmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKICAgICAgICBzaGFkb3dS
b290LmlubmVySFRNTCA9IGA8b2w+PHNsb3Q+PC9zbG90Pjwvb2w+YDsKICAgIH0KfSk7CgpjdXN0
b21FbGVtZW50cy5kZWZpbmUoJ29hLWxpc3QtaXRlbScsIGNsYXNzIE9BTGlzdCBleHRlbmRzIEhU
TUxFbGVtZW50IHsKICAgIGNvbnN0cnVjdG9yKCkKICAgIHsKICAgICAgICBzdXBlcigpOwogICAg
ICAgIGNvbnN0IHNoYWRvd1Jvb3QgPSB0aGlzLmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9
KTsKICAgICAgICBzaGFkb3dSb290LmlubmVySFRNTCA9IGA8bGk+PHNsb3Q+PC9zbG90PjwvbGk+
YDsKICAgIH0KfSk7Cgo8L3NjcmlwdD4KPG9hLWxpc3Q+CiAgIDxvYS1saXN0LWl0ZW0+TG9yZW0g
aXBzdW08L29hLWxpc3QtaXRlbT4KICAgPG9hLWxpc3QtaXRlbT5Eb2xvciBTaXQgYW1ldDwvb2Et
bGlzdC1pdGVtPgogICA8b2EtbGlzdC1pdGVtPgogICAgICBDb25zZWN1dG9yIGFkaXBpc2NpbmcK
ICAgICAgPG9hLWxpc3Q+CiAgICAgICAgICA8b2EtbGlzdC1pdGVtPkxvcmVtIGlwc3VtPC9vYS1s
aXN0LWl0ZW0+CiAgICAgICAgICA8b2EtbGlzdC1pdGVtPkRvbG9yIFNpdCBhbWV0PC9vYS1saXN0
LWl0ZW0+CiAgICAgIDwvb2EtbGlzdD4KICAgPC9vYS1saXN0LWl0ZW0+CiAgIDxvYS1saXN0LWl0
ZW0+RG9sb3IgU2l0IGFtZXQ8L29hLWxpc3QtaXRlbT4KPC9vYS1saXN0Pgo8L2JvZHk+CjwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460965</attachid>
            <date>2022-07-17 14:48:00 -0700</date>
            <delta_ts>2022-07-17 23:50:20 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>wip172446.patch</filename>
            <type>text/plain</type>
            <size>8939</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NlZFRyZWVJdGVyYXRvci5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0NvbXBvc2VkVHJlZUl0ZXJhdG9yLmgKaW5kZXggMzc5NDIzZmIx
ODVkLi42MDg3M2MxNGViNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3Nl
ZFRyZWVJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NlZFRyZWVJdGVy
YXRvci5oCkBAIC0yMzIsNiArMjMyLDMwIEBAIGlubGluZSBOb2RlKiBmaXJzdENoaWxkSW5Db21w
b3NlZFRyZWVJZ25vcmluZ1VzZXJBZ2VudFNoYWRvdyhOb2RlJiBub2RlKQogICAgIHJldHVybiBu
b2RlLmZpcnN0Q2hpbGQoKTsKIH0KIAoraW5saW5lIE5vZGUqIGZpcnN0Q2hpbGRJbkNvbXBvc2Vk
VHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KE5vZGUmIG5vZGUpCit7
CisgICAgaWYgKGF1dG8qIHNoYWRvd1Jvb3QgPSBzaGFkb3dSb290SWdub3JpbmdVc2VyQWdlbnRT
aGFkb3cobm9kZSkpCisgICAgICAgIHJldHVybiBzaGFkb3dSb290LT5wc2V1ZG9Bd2FyZUZpcnN0
Q2hpbGQoKTsKKyAgICBpZiAoYXV0byBzbG90ID0gZHluYW1pY0Rvd25jYXN0PEhUTUxTbG90RWxl
bWVudD4obm9kZSkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGFzc2lnbmVkTm9kZXMgPSBzbG90LT5h
c3NpZ25lZE5vZGVzKCkpCisgICAgICAgICAgICByZXR1cm4gYXNzaWduZWROb2Rlcy0+YXQoMCku
Z2V0KCk7ICAgICAgICAKKyAgICB9CisgICAgcmV0dXJuIG5vZGUucHNldWRvQXdhcmVGaXJzdENo
aWxkKCk7Cit9CisKK2lubGluZSBOb2RlKiBsYXN0Q2hpbGRJbkNvbXBvc2VkVHJlZUluY2x1ZGlu
Z1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KE5vZGUmIG5vZGUpCit7CisgICAgaWYgKGF1
dG8qIHNoYWRvd1Jvb3QgPSBzaGFkb3dSb290SWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSkp
CisgICAgICAgIHJldHVybiBzaGFkb3dSb290LT5wc2V1ZG9Bd2FyZUxhc3RDaGlsZCgpOworICAg
IGlmIChhdXRvIHNsb3QgPSBkeW5hbWljRG93bmNhc3Q8SFRNTFNsb3RFbGVtZW50Pihub2RlKSkg
eworICAgICAgICBpZiAoYXV0byogYXNzaWduZWROb2RlcyA9IHNsb3QtPmFzc2lnbmVkTm9kZXMo
KSkgeworICAgICAgICAgICAgaWYgKGFzc2lnbmVkTm9kZXMtPnNpemUoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gYXNzaWduZWROb2Rlcy0+bGFzdCgpLmdldCgpOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBub2RlLnBzZXVkb0F3YXJlTGFzdENoaWxkKCk7Cit9CisKIGlubGluZSBO
b2RlKiBuZXh0U2libGluZ0luQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9k
ZSYgbm9kZSkKIHsKICAgICBpZiAoYXV0byogc2xvdCA9IGFzc2lnbmVkU2xvdElnbm9yaW5nVXNl
ckFnZW50U2hhZG93KG5vZGUpKSB7CkBAIC0yNDYsNiArMjcwLDM0IEBAIGlubGluZSBOb2RlKiBu
ZXh0U2libGluZ0luQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9k
ZSkKICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZygpOwogfQogCitpbmxpbmUgTm9kZSogbmV4
dFNpYmxpbmdJbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hh
ZG93KE5vZGUmIG5vZGUpCit7CisgICAgaWYgKGF1dG8qIHNsb3QgPSBhc3NpZ25lZFNsb3RJZ25v
cmluZ1VzZXJBZ2VudFNoYWRvdyhub2RlKSkgeworICAgICAgICBhdXRvKiBhc3NpZ25lZE5vZGVz
ID0gc2xvdC0+YXNzaWduZWROb2RlcygpOworICAgICAgICBBU1NFUlQoYXNzaWduZWROb2Rlcyk7
CisgICAgICAgIGF1dG8gbm9kZUluZGV4ID0gYXNzaWduZWROb2Rlcy0+ZmluZCgmbm9kZSk7Cisg
ICAgICAgIEFTU0VSVChub2RlSW5kZXggIT0gbm90Rm91bmQpOworICAgICAgICBpZiAoYXNzaWdu
ZWROb2Rlcy0+c2l6ZSgpID4gbm9kZUluZGV4ICsgMSkKKyAgICAgICAgICAgIHJldHVybiBhc3Np
Z25lZE5vZGVzLT5hdChub2RlSW5kZXggKyAxKS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorICAgIHJldHVybiBub2RlLnBzZXVkb0F3YXJlTmV4dFNpYmxpbmcoKTsKK30K
KworaW5saW5lIE5vZGUqIHByZXZpb3VzU2libGluZ0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNl
dWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9kZSkKK3sKKyAgICBpZiAoYXV0byog
c2xvdCA9IGFzc2lnbmVkU2xvdElnbm9yaW5nVXNlckFnZW50U2hhZG93KG5vZGUpKSB7CisgICAg
ICAgIGF1dG8qIGFzc2lnbmVkTm9kZXMgPSBzbG90LT5hc3NpZ25lZE5vZGVzKCk7CisgICAgICAg
IEFTU0VSVChhc3NpZ25lZE5vZGVzKTsKKyAgICAgICAgYXV0byBub2RlSW5kZXggPSBhc3NpZ25l
ZE5vZGVzLT5maW5kKCZub2RlKTsKKyAgICAgICAgQVNTRVJUKG5vZGVJbmRleCAhPSBub3RGb3Vu
ZCk7CisgICAgICAgIGlmIChub2RlSW5kZXgpCisgICAgICAgICAgICByZXR1cm4gYXNzaWduZWRO
b2Rlcy0+YXQobm9kZUluZGV4IC0gMSkuZ2V0KCk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKyAgICByZXR1cm4gbm9kZS5wc2V1ZG9Bd2FyZVByZXZpb3VzU2libGluZygpOworfQor
CiBpbmxpbmUgTm9kZSogbmV4dFNraXBwaW5nQ2hpbGRyZW5JbkNvbXBvc2VkVHJlZUlnbm9yaW5n
VXNlckFnZW50U2hhZG93KE5vZGUmIG5vZGUpCiB7CiAgICAgaWYgKGF1dG8qIHNpYmxpbmcgPSBu
ZXh0U2libGluZ0luQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSkpCkBA
IC0yNTcsNiArMzA5LDI4IEBAIGlubGluZSBOb2RlKiBuZXh0U2tpcHBpbmdDaGlsZHJlbkluQ29t
cG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9kCiAgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKK2lubGluZSBOb2RlKiBuZXh0U2tpcHBpbmdDaGlsZHJlbkluQ29tcG9zZWRU
cmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9kZSwgY29u
c3QgTm9kZSogcm9vdE5vZGUpCit7CisgICAgaWYgKGF1dG8qIHNpYmxpbmcgPSBuZXh0U2libGlu
Z0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9k
ZSkpCisgICAgICAgIHJldHVybiBzaWJsaW5nOworICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBu
b2RlLnBhcmVudEluQ29tcG9zZWRUcmVlKCk7IGFuY2VzdG9yICE9IHJvb3ROb2RlOyBhbmNlc3Rv
ciA9IGFuY2VzdG9yLT5wYXJlbnRJbkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgIGlmIChhdXRv
KiBzaWJsaW5nID0gbmV4dFNpYmxpbmdJbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9y
aW5nVXNlckFnZW50U2hhZG93KCphbmNlc3RvcikpCisgICAgICAgICAgICByZXR1cm4gc2libGlu
ZzsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2lubGluZSBOb2RlKiBwcmV2b2l1
c1NraXBwaW5nQ2hpbGRyZW5JbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNl
ckFnZW50U2hhZG93KE5vZGUmIG5vZGUsIGNvbnN0IE5vZGUqIHJvb3ROb2RlKQoreworICAgIGlm
IChhdXRvKiBzaWJsaW5nID0gcHJldmlvdXNTaWJsaW5nSW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQ
c2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRvdyhub2RlKSkKKyAgICAgICAgcmV0dXJuIHNpYmxp
bmc7CisgICAgZm9yIChhdXRvKiBhbmNlc3RvciA9IG5vZGUucGFyZW50SW5Db21wb3NlZFRyZWUo
KTsgYW5jZXN0b3IgIT0gcm9vdE5vZGU7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudEluQ29t
cG9zZWRUcmVlKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIHNpYmxpbmcgPSBwcmV2aW91c1NpYmxp
bmdJbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KCph
bmNlc3RvcikpCisgICAgICAgICAgICByZXR1cm4gc2libGluZzsKKyAgICB9CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKIGlubGluZSBOb2RlKiBuZXh0SW5Db21wb3NlZFRyZWVJZ25vcmluZ1Vz
ZXJBZ2VudFNoYWRvdyhOb2RlJiBub2RlKQogewogICAgIGlmIChhdXRvKiBmaXJzdENoaWxkID0g
Zmlyc3RDaGlsZEluQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSkpCkBA
IC0yNjQsNCArMzM4LDIzIEBAIGlubGluZSBOb2RlKiBuZXh0SW5Db21wb3NlZFRyZWVJZ25vcmlu
Z1VzZXJBZ2VudFNoYWRvdyhOb2RlJiBub2RlKQogICAgIHJldHVybiBuZXh0U2tpcHBpbmdDaGls
ZHJlbkluQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSk7CiB9CiAKK2lu
bGluZSBOb2RlKiBuZXh0SW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJB
Z2VudFNoYWRvdyhOb2RlJiBub2RlLCBjb25zdCBOb2RlKiByb290Tm9kZSkKK3sKKyAgICBpZiAo
YXV0byogZmlyc3RDaGlsZCA9IGZpcnN0Q2hpbGRJbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVk
b0lnbm9yaW5nVXNlckFnZW50U2hhZG93KG5vZGUpKQorICAgICAgICByZXR1cm4gZmlyc3RDaGls
ZDsKKyAgICByZXR1cm4gbmV4dFNraXBwaW5nQ2hpbGRyZW5JbkNvbXBvc2VkVHJlZUluY2x1ZGlu
Z1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KG5vZGUsIHJvb3ROb2RlKTsKK30KKworaW5s
aW5lIE5vZGUqIHByZXZpb3VzSW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1Vz
ZXJBZ2VudFNoYWRvdyhOb2RlJiBub2RlLCBjb25zdCBOb2RlKiByb290Tm9kZSkKK3sKKyAgICBp
ZiAoJm5vZGUgPT0gcm9vdE5vZGUpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmIChh
dXRvKiBwcmV2aW91cyA9IHByZXZpb3VzU2libGluZ0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNl
dWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSkpIHsKKyAgICAgICAgd2hpbGUgKGF1dG8q
IGxhc3RDaGlsZCA9IGxhc3RDaGlsZEluQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3Jp
bmdVc2VyQWdlbnRTaGFkb3coKnByZXZpb3VzKSkKKyAgICAgICAgICAgIHByZXZpb3VzID0gbGFz
dENoaWxkOworICAgICAgICByZXR1cm4gcHJldmlvdXM7CisgICAgfQorICAgIHJldHVybiBpczxQ
c2V1ZG9FbGVtZW50Pihub2RlKSA/IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KG5vZGUpLmhvc3RF
bGVtZW50KCkgOiBub2RlLnBhcmVudEluQ29tcG9zZWRUcmVlKCk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0SXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3Bw
CmluZGV4IGI1NmY3MTU5ZmQ2MC4uOGVhNjE5OTk4MGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJS
ZW5kZXJMaXN0SXRlbS5oIgogCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCisjaW5jbHVk
ZSAiQ29tcG9zZWRUcmVlSXRlcmF0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5oIgog
I2luY2x1ZGUgIkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAg
LTEwOCw4ICsxMDksOCBAQCBib29sIGlzSFRNTExpc3RFbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUp
CiBzdGF0aWMgRWxlbWVudCogZW5jbG9zaW5nTGlzdChjb25zdCBSZW5kZXJMaXN0SXRlbSYgbGlz
dEl0ZW0pCiB7CiAgICAgYXV0byYgZWxlbWVudCA9IGxpc3RJdGVtLmVsZW1lbnQoKTsKLSAgICBh
dXRvKiBwYXJlbnQgPSBpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSA/IGRvd25jYXN0PFBzZXVk
b0VsZW1lbnQ+KGVsZW1lbnQpLmhvc3RFbGVtZW50KCkgOiBlbGVtZW50LnBhcmVudEVsZW1lbnQo
KTsKLSAgICBmb3IgKGF1dG8qIGFuY2VzdG9yID0gcGFyZW50OyBhbmNlc3RvcjsgYW5jZXN0b3Ig
PSBhbmNlc3Rvci0+cGFyZW50RWxlbWVudCgpKSB7CisgICAgYXV0byogcGFyZW50ID0gaXM8UHNl
dWRvRWxlbWVudD4oZWxlbWVudCkgPyBkb3duY2FzdDxQc2V1ZG9FbGVtZW50PihlbGVtZW50KS5o
b3N0RWxlbWVudCgpIDogZWxlbWVudC5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKTsKKyAg
ICBmb3IgKGF1dG8qIGFuY2VzdG9yID0gcGFyZW50OyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNl
c3Rvci0+cGFyZW50RWxlbWVudEluQ29tcG9zZWRUcmVlKCkpIHsKICAgICAgICAgaWYgKGlzSFRN
TExpc3RFbGVtZW50KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4gYW5jZXN0b3I7CiAg
ICAgfQpAQCAtMTIwLDE0ICsxMjEsMzggQEAgc3RhdGljIEVsZW1lbnQqIGVuY2xvc2luZ0xpc3Qo
Y29uc3QgUmVuZGVyTGlzdEl0ZW0mIGxpc3RJdGVtKQogICAgIHJldHVybiBwYXJlbnQ7CiB9CiAK
K3N0YXRpYyBFbGVtZW50KiBuZXh0RWxlbWVudChjb25zdCBFbGVtZW50JiBjdXJyZW50LCBjb25z
dCBFbGVtZW50KiBsaXN0KQoreworICAgIE5vZGUqIG5leHQgPSBuZXh0SW5Db21wb3NlZFRyZWVJ
bmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRvdyhjb25zdF9jYXN0PEVsZW1lbnQm
PihjdXJyZW50KSwgbGlzdCk7CisgICAgd2hpbGUgKG5leHQgJiYgIWlzPEVsZW1lbnQ+KG5leHQp
KQorICAgICAgICBuZXh0ID0gbmV4dEluQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3Jp
bmdVc2VyQWdlbnRTaGFkb3coKm5leHQsIGxpc3QpOworICAgIHJldHVybiBkb3duY2FzdDxFbGVt
ZW50PihuZXh0KTsKK30KKworc3RhdGljIEVsZW1lbnQqIHByZXZpb3VzRWxlbWVudChjb25zdCBF
bGVtZW50JiBjdXJyZW50LCBjb25zdCBFbGVtZW50KiBsaXN0KQoreworICAgIE5vZGUqIG5leHQg
PSBwcmV2aW91c0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdlbnRT
aGFkb3coY29uc3RfY2FzdDxFbGVtZW50Jj4oY3VycmVudCksIGxpc3QpOworICAgIHdoaWxlIChu
ZXh0ICYmICFpczxFbGVtZW50PihuZXh0KSkKKyAgICAgICAgbmV4dCA9IHByZXZpb3VzSW5Db21w
b3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRvdygqbmV4dCwgbGlz
dCk7CisgICAgcmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KG5leHQpOworfQorCitzdGF0aWMgRWxl
bWVudCogbmV4dEVsZW1lbnRTa2lwcGluZ0NoaWxkcmVuKGNvbnN0IEVsZW1lbnQmIGN1cnJlbnQs
IGNvbnN0IEVsZW1lbnQqIGxpc3QpCit7CisgICAgTm9kZSogbmV4dCA9IG5leHRTa2lwcGluZ0No
aWxkcmVuSW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRv
dyhjb25zdF9jYXN0PEVsZW1lbnQmPihjdXJyZW50KSwgbGlzdCk7CisgICAgd2hpbGUgKG5leHQg
JiYgIWlzPEVsZW1lbnQ+KG5leHQpKQorICAgICAgICBuZXh0ID0gbmV4dFNraXBwaW5nQ2hpbGRy
ZW5JbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KCpu
ZXh0LCBsaXN0KTsKKyAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4obmV4dCk7Cit9CisKIHN0
YXRpYyBSZW5kZXJMaXN0SXRlbSogbmV4dExpc3RJdGVtSGVscGVyKGNvbnN0IEVsZW1lbnQmIGxp
c3QsIGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgYXV0byogY3VycmVudCA9ICZlbGVt
ZW50OwogICAgIGF1dG8gYWR2YW5jZSA9IFsmXSB7CiAgICAgICAgIGlmICghY3VycmVudC0+cmVu
ZGVyT3JEaXNwbGF5Q29udGVudHNTdHlsZSgpKQotICAgICAgICAgICAgY3VycmVudCA9IEVsZW1l
bnRUcmF2ZXJzYWw6Om5leHRJbmNsdWRpbmdQc2V1ZG9Ta2lwcGluZ0NoaWxkcmVuKCpjdXJyZW50
LCAmbGlzdCk7CisgICAgICAgICAgICBjdXJyZW50ID0gbmV4dEVsZW1lbnRTa2lwcGluZ0NoaWxk
cmVuKCpjdXJyZW50LCAmbGlzdCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGN1cnJlbnQg
PSBFbGVtZW50VHJhdmVyc2FsOjpuZXh0SW5jbHVkaW5nUHNldWRvKCpjdXJyZW50LCAmbGlzdCk7
CisgICAgICAgICAgICBjdXJyZW50ID0gbmV4dEVsZW1lbnQoKmN1cnJlbnQsICZsaXN0KTsKICAg
ICB9OwogICAgIGFkdmFuY2UoKTsKICAgICB3aGlsZSAoY3VycmVudCkgewpAQCAtMTQ4LDcgKzE3
Myw3IEBAIHN0YXRpYyBSZW5kZXJMaXN0SXRlbSogbmV4dExpc3RJdGVtSGVscGVyKGNvbnN0IEVs
ZW1lbnQmIGxpc3QsIGNvbnN0IEVsZW1lbnQmIGVsCiAgICAgICAgICAgICByZXR1cm4gJml0ZW07
CiAKICAgICAgICAgLy8gV2UgZm91bmQgb3Vyc2VsZiBpbnNpZGUgYW5vdGhlciBsaXN0OyBza2lw
IHRoZSByZXN0IG9mIGl0cyBjb250ZW50cy4KLSAgICAgICAgY3VycmVudCA9IEVsZW1lbnRUcmF2
ZXJzYWw6Om5leHRJbmNsdWRpbmdQc2V1ZG9Ta2lwcGluZ0NoaWxkcmVuKCpjdXJyZW50LCAmbGlz
dCk7CisgICAgICAgIGN1cnJlbnQgPSBuZXh0RWxlbWVudFNraXBwaW5nQ2hpbGRyZW4oKmN1cnJl
bnQsICZsaXN0KTsKICAgICB9CiAKICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE2OCw3ICsxOTMs
NyBAQCBzdGF0aWMgUmVuZGVyTGlzdEl0ZW0qIHByZXZpb3VzTGlzdEl0ZW0oY29uc3QgRWxlbWVu
dCYgbGlzdCwgY29uc3QgUmVuZGVyTGlzdEl0ZQogewogICAgIGF1dG8qIGN1cnJlbnQgPSAmaXRl
bS5lbGVtZW50KCk7CiAgICAgYXV0byBhZHZhbmNlID0gWyZdIHsKLSAgICAgICAgY3VycmVudCA9
IEVsZW1lbnRUcmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKCpjdXJyZW50LCAmbGlz
dCk7CisgICAgICAgIGN1cnJlbnQgPSBwcmV2aW91c0VsZW1lbnQoKmN1cnJlbnQsICZsaXN0KTsK
ICAgICB9OwogICAgIGFkdmFuY2UoKTsKICAgICB3aGlsZSAoY3VycmVudCkgewo=
</data>
<flag name="commit-queue"
          id="489953"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>460967</attachid>
            <date>2022-07-17 23:50:20 -0700</date>
            <delta_ts>2022-07-17 23:50:20 -0700</delta_ts>
            <desc>WIP2</desc>
            <filename>wip172446b.patch</filename>
            <type>text/plain</type>
            <size>9044</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NlZFRyZWVJdGVyYXRvci5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0NvbXBvc2VkVHJlZUl0ZXJhdG9yLmgKaW5kZXggMzc5NDIzZmIx
ODVkLi45NGZlOTBjM2Y5NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3Nl
ZFRyZWVJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db21wb3NlZFRyZWVJdGVy
YXRvci5oCkBAIC0yMzIsNiArMjMyLDMwIEBAIGlubGluZSBOb2RlKiBmaXJzdENoaWxkSW5Db21w
b3NlZFRyZWVJZ25vcmluZ1VzZXJBZ2VudFNoYWRvdyhOb2RlJiBub2RlKQogICAgIHJldHVybiBu
b2RlLmZpcnN0Q2hpbGQoKTsKIH0KIAoraW5saW5lIE5vZGUqIGZpcnN0Q2hpbGRJbkNvbXBvc2Vk
VHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KE5vZGUmIG5vZGUpCit7
CisgICAgaWYgKGF1dG8qIHNoYWRvd1Jvb3QgPSBzaGFkb3dSb290SWdub3JpbmdVc2VyQWdlbnRT
aGFkb3cobm9kZSkpCisgICAgICAgIHJldHVybiBzaGFkb3dSb290LT5wc2V1ZG9Bd2FyZUZpcnN0
Q2hpbGQoKTsKKyAgICBpZiAoYXV0byBzbG90ID0gZHluYW1pY0Rvd25jYXN0PEhUTUxTbG90RWxl
bWVudD4obm9kZSkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGFzc2lnbmVkTm9kZXMgPSBzbG90LT5h
c3NpZ25lZE5vZGVzKCkpCisgICAgICAgICAgICByZXR1cm4gYXNzaWduZWROb2Rlcy0+YXQoMCku
Z2V0KCk7ICAgICAgICAKKyAgICB9CisgICAgcmV0dXJuIG5vZGUucHNldWRvQXdhcmVGaXJzdENo
aWxkKCk7Cit9CisKK2lubGluZSBOb2RlKiBsYXN0Q2hpbGRJbkNvbXBvc2VkVHJlZUluY2x1ZGlu
Z1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KE5vZGUmIG5vZGUpCit7CisgICAgaWYgKGF1
dG8qIHNoYWRvd1Jvb3QgPSBzaGFkb3dSb290SWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSkp
CisgICAgICAgIHJldHVybiBzaGFkb3dSb290LT5wc2V1ZG9Bd2FyZUxhc3RDaGlsZCgpOworICAg
IGlmIChhdXRvIHNsb3QgPSBkeW5hbWljRG93bmNhc3Q8SFRNTFNsb3RFbGVtZW50Pihub2RlKSkg
eworICAgICAgICBpZiAoYXV0byogYXNzaWduZWROb2RlcyA9IHNsb3QtPmFzc2lnbmVkTm9kZXMo
KSkgeworICAgICAgICAgICAgaWYgKGFzc2lnbmVkTm9kZXMtPnNpemUoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gYXNzaWduZWROb2Rlcy0+bGFzdCgpLmdldCgpOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBub2RlLnBzZXVkb0F3YXJlTGFzdENoaWxkKCk7Cit9CisKIGlubGluZSBO
b2RlKiBuZXh0U2libGluZ0luQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9k
ZSYgbm9kZSkKIHsKICAgICBpZiAoYXV0byogc2xvdCA9IGFzc2lnbmVkU2xvdElnbm9yaW5nVXNl
ckFnZW50U2hhZG93KG5vZGUpKSB7CkBAIC0yNDYsNiArMjcwLDM0IEBAIGlubGluZSBOb2RlKiBu
ZXh0U2libGluZ0luQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9k
ZSkKICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZygpOwogfQogCitpbmxpbmUgTm9kZSogbmV4
dFNpYmxpbmdJbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hh
ZG93KE5vZGUmIG5vZGUpCit7CisgICAgaWYgKGF1dG8qIHNsb3QgPSBhc3NpZ25lZFNsb3RJZ25v
cmluZ1VzZXJBZ2VudFNoYWRvdyhub2RlKSkgeworICAgICAgICBhdXRvKiBhc3NpZ25lZE5vZGVz
ID0gc2xvdC0+YXNzaWduZWROb2RlcygpOworICAgICAgICBBU1NFUlQoYXNzaWduZWROb2Rlcyk7
CisgICAgICAgIGF1dG8gbm9kZUluZGV4ID0gYXNzaWduZWROb2Rlcy0+ZmluZCgmbm9kZSk7Cisg
ICAgICAgIEFTU0VSVChub2RlSW5kZXggIT0gbm90Rm91bmQpOworICAgICAgICBpZiAoYXNzaWdu
ZWROb2Rlcy0+c2l6ZSgpID4gbm9kZUluZGV4ICsgMSkKKyAgICAgICAgICAgIHJldHVybiBhc3Np
Z25lZE5vZGVzLT5hdChub2RlSW5kZXggKyAxKS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgfQorICAgIHJldHVybiBub2RlLnBzZXVkb0F3YXJlTmV4dFNpYmxpbmcoKTsKK30K
KworaW5saW5lIE5vZGUqIHByZXZpb3VzU2libGluZ0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNl
dWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9kZSkKK3sKKyAgICBpZiAoYXV0byog
c2xvdCA9IGFzc2lnbmVkU2xvdElnbm9yaW5nVXNlckFnZW50U2hhZG93KG5vZGUpKSB7CisgICAg
ICAgIGF1dG8qIGFzc2lnbmVkTm9kZXMgPSBzbG90LT5hc3NpZ25lZE5vZGVzKCk7CisgICAgICAg
IEFTU0VSVChhc3NpZ25lZE5vZGVzKTsKKyAgICAgICAgYXV0byBub2RlSW5kZXggPSBhc3NpZ25l
ZE5vZGVzLT5maW5kKCZub2RlKTsKKyAgICAgICAgQVNTRVJUKG5vZGVJbmRleCAhPSBub3RGb3Vu
ZCk7CisgICAgICAgIGlmIChub2RlSW5kZXgpCisgICAgICAgICAgICByZXR1cm4gYXNzaWduZWRO
b2Rlcy0+YXQobm9kZUluZGV4IC0gMSkuZ2V0KCk7CisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKyAgICByZXR1cm4gbm9kZS5wc2V1ZG9Bd2FyZVByZXZpb3VzU2libGluZygpOworfQor
CiBpbmxpbmUgTm9kZSogbmV4dFNraXBwaW5nQ2hpbGRyZW5JbkNvbXBvc2VkVHJlZUlnbm9yaW5n
VXNlckFnZW50U2hhZG93KE5vZGUmIG5vZGUpCiB7CiAgICAgaWYgKGF1dG8qIHNpYmxpbmcgPSBu
ZXh0U2libGluZ0luQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSkpCkBA
IC0yNTcsNiArMzA5LDI5IEBAIGlubGluZSBOb2RlKiBuZXh0U2tpcHBpbmdDaGlsZHJlbkluQ29t
cG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9kCiAgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKK2lubGluZSBOb2RlKiBuZXh0U2tpcHBpbmdDaGlsZHJlbkluQ29tcG9zZWRU
cmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coTm9kZSYgbm9kZSwgY29u
c3QgTm9kZSogcm9vdE5vZGUpCit7CisgICAgaWYgKGF1dG8qIHNpYmxpbmcgPSBuZXh0U2libGlu
Z0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9k
ZSkpCisgICAgICAgIHJldHVybiBzaWJsaW5nOworICAgIGZvciAoYXV0byogYW5jZXN0b3IgPSBp
czxQc2V1ZG9FbGVtZW50Pihub2RlKSA/IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KG5vZGUpLmhv
c3RFbGVtZW50KCkgOiBub2RlLnBhcmVudEluQ29tcG9zZWRUcmVlKCk7CisgICAgICAgIGFuY2Vz
dG9yICYmIGFuY2VzdG9yICE9IHJvb3ROb2RlOyBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnRJ
bkNvbXBvc2VkVHJlZSgpKSB7CisgICAgICAgIGlmIChhdXRvKiBzaWJsaW5nID0gbmV4dFNpYmxp
bmdJbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KCph
bmNlc3RvcikpCisgICAgICAgICAgICByZXR1cm4gc2libGluZzsKKyAgICB9CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK2lubGluZSBOb2RlKiBwcmV2b2l1c1NraXBwaW5nQ2hpbGRyZW5JbkNv
bXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KE5vZGUmIG5v
ZGUsIGNvbnN0IE5vZGUqIHJvb3ROb2RlKQoreworICAgIGlmIChhdXRvKiBzaWJsaW5nID0gcHJl
dmlvdXNTaWJsaW5nSW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2Vu
dFNoYWRvdyhub2RlKSkKKyAgICAgICAgcmV0dXJuIHNpYmxpbmc7CisgICAgZm9yIChhdXRvKiBh
bmNlc3RvciA9IG5vZGUucGFyZW50SW5Db21wb3NlZFRyZWUoKTsgYW5jZXN0b3IgJiYgYW5jZXN0
b3IgIT0gcm9vdE5vZGU7IGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudEluQ29tcG9zZWRUcmVl
KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIHNpYmxpbmcgPSBwcmV2aW91c1NpYmxpbmdJbkNvbXBv
c2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KCphbmNlc3Rvcikp
CisgICAgICAgICAgICByZXR1cm4gc2libGluZzsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKIGlubGluZSBOb2RlKiBuZXh0SW5Db21wb3NlZFRyZWVJZ25vcmluZ1VzZXJBZ2VudFNo
YWRvdyhOb2RlJiBub2RlKQogewogICAgIGlmIChhdXRvKiBmaXJzdENoaWxkID0gZmlyc3RDaGls
ZEluQ29tcG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSkpCkBAIC0yNjQsNCAr
MzM5LDIzIEBAIGlubGluZSBOb2RlKiBuZXh0SW5Db21wb3NlZFRyZWVJZ25vcmluZ1VzZXJBZ2Vu
dFNoYWRvdyhOb2RlJiBub2RlKQogICAgIHJldHVybiBuZXh0U2tpcHBpbmdDaGlsZHJlbkluQ29t
cG9zZWRUcmVlSWdub3JpbmdVc2VyQWdlbnRTaGFkb3cobm9kZSk7CiB9CiAKK2lubGluZSBOb2Rl
KiBuZXh0SW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRv
dyhOb2RlJiBub2RlLCBjb25zdCBOb2RlKiByb290Tm9kZSkKK3sKKyAgICBpZiAoYXV0byogZmly
c3RDaGlsZCA9IGZpcnN0Q2hpbGRJbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5n
VXNlckFnZW50U2hhZG93KG5vZGUpKQorICAgICAgICByZXR1cm4gZmlyc3RDaGlsZDsKKyAgICBy
ZXR1cm4gbmV4dFNraXBwaW5nQ2hpbGRyZW5JbkNvbXBvc2VkVHJlZUluY2x1ZGluZ1BzZXVkb0ln
bm9yaW5nVXNlckFnZW50U2hhZG93KG5vZGUsIHJvb3ROb2RlKTsKK30KKworaW5saW5lIE5vZGUq
IHByZXZpb3VzSW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNo
YWRvdyhOb2RlJiBub2RlLCBjb25zdCBOb2RlKiByb290Tm9kZSkKK3sKKyAgICBpZiAoJm5vZGUg
PT0gcm9vdE5vZGUpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGlmIChhdXRvKiBwcmV2
aW91cyA9IHByZXZpb3VzU2libGluZ0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3Jp
bmdVc2VyQWdlbnRTaGFkb3cobm9kZSkpIHsKKyAgICAgICAgd2hpbGUgKGF1dG8qIGxhc3RDaGls
ZCA9IGxhc3RDaGlsZEluQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdl
bnRTaGFkb3coKnByZXZpb3VzKSkKKyAgICAgICAgICAgIHByZXZpb3VzID0gbGFzdENoaWxkOwor
ICAgICAgICByZXR1cm4gcHJldmlvdXM7CisgICAgfQorICAgIHJldHVybiBpczxQc2V1ZG9FbGVt
ZW50Pihub2RlKSA/IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KG5vZGUpLmhvc3RFbGVtZW50KCkg
OiBub2RlLnBhcmVudEluQ29tcG9zZWRUcmVlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCmluZGV4IGI1
NmY3MTU5ZmQ2MC4uOGVhNjE5OTk4MGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0SXRlbS5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMaXN0
SXRlbS5oIgogCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ29tcG9z
ZWRUcmVlSXRlcmF0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5oIgogI2luY2x1ZGUg
IkVsZW1lbnRUcmF2ZXJzYWwuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAgLTEwOCw4ICsx
MDksOCBAQCBib29sIGlzSFRNTExpc3RFbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCiBzdGF0aWMg
RWxlbWVudCogZW5jbG9zaW5nTGlzdChjb25zdCBSZW5kZXJMaXN0SXRlbSYgbGlzdEl0ZW0pCiB7
CiAgICAgYXV0byYgZWxlbWVudCA9IGxpc3RJdGVtLmVsZW1lbnQoKTsKLSAgICBhdXRvKiBwYXJl
bnQgPSBpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSA/IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+
KGVsZW1lbnQpLmhvc3RFbGVtZW50KCkgOiBlbGVtZW50LnBhcmVudEVsZW1lbnQoKTsKLSAgICBm
b3IgKGF1dG8qIGFuY2VzdG9yID0gcGFyZW50OyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rv
ci0+cGFyZW50RWxlbWVudCgpKSB7CisgICAgYXV0byogcGFyZW50ID0gaXM8UHNldWRvRWxlbWVu
dD4oZWxlbWVudCkgPyBkb3duY2FzdDxQc2V1ZG9FbGVtZW50PihlbGVtZW50KS5ob3N0RWxlbWVu
dCgpIDogZWxlbWVudC5wYXJlbnRFbGVtZW50SW5Db21wb3NlZFRyZWUoKTsKKyAgICBmb3IgKGF1
dG8qIGFuY2VzdG9yID0gcGFyZW50OyBhbmNlc3RvcjsgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFy
ZW50RWxlbWVudEluQ29tcG9zZWRUcmVlKCkpIHsKICAgICAgICAgaWYgKGlzSFRNTExpc3RFbGVt
ZW50KCphbmNlc3RvcikpCiAgICAgICAgICAgICByZXR1cm4gYW5jZXN0b3I7CiAgICAgfQpAQCAt
MTIwLDE0ICsxMjEsMzggQEAgc3RhdGljIEVsZW1lbnQqIGVuY2xvc2luZ0xpc3QoY29uc3QgUmVu
ZGVyTGlzdEl0ZW0mIGxpc3RJdGVtKQogICAgIHJldHVybiBwYXJlbnQ7CiB9CiAKK3N0YXRpYyBF
bGVtZW50KiBuZXh0RWxlbWVudChjb25zdCBFbGVtZW50JiBjdXJyZW50LCBjb25zdCBFbGVtZW50
KiBsaXN0KQoreworICAgIE5vZGUqIG5leHQgPSBuZXh0SW5Db21wb3NlZFRyZWVJbmNsdWRpbmdQ
c2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRvdyhjb25zdF9jYXN0PEVsZW1lbnQmPihjdXJyZW50
KSwgbGlzdCk7CisgICAgd2hpbGUgKG5leHQgJiYgIWlzPEVsZW1lbnQ+KG5leHQpKQorICAgICAg
ICBuZXh0ID0gbmV4dEluQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdl
bnRTaGFkb3coKm5leHQsIGxpc3QpOworICAgIHJldHVybiBkb3duY2FzdDxFbGVtZW50PihuZXh0
KTsKK30KKworc3RhdGljIEVsZW1lbnQqIHByZXZpb3VzRWxlbWVudChjb25zdCBFbGVtZW50JiBj
dXJyZW50LCBjb25zdCBFbGVtZW50KiBsaXN0KQoreworICAgIE5vZGUqIG5leHQgPSBwcmV2aW91
c0luQ29tcG9zZWRUcmVlSW5jbHVkaW5nUHNldWRvSWdub3JpbmdVc2VyQWdlbnRTaGFkb3coY29u
c3RfY2FzdDxFbGVtZW50Jj4oY3VycmVudCksIGxpc3QpOworICAgIHdoaWxlIChuZXh0ICYmICFp
czxFbGVtZW50PihuZXh0KSkKKyAgICAgICAgbmV4dCA9IHByZXZpb3VzSW5Db21wb3NlZFRyZWVJ
bmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRvdygqbmV4dCwgbGlzdCk7CisgICAg
cmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KG5leHQpOworfQorCitzdGF0aWMgRWxlbWVudCogbmV4
dEVsZW1lbnRTa2lwcGluZ0NoaWxkcmVuKGNvbnN0IEVsZW1lbnQmIGN1cnJlbnQsIGNvbnN0IEVs
ZW1lbnQqIGxpc3QpCit7CisgICAgTm9kZSogbmV4dCA9IG5leHRTa2lwcGluZ0NoaWxkcmVuSW5D
b21wb3NlZFRyZWVJbmNsdWRpbmdQc2V1ZG9JZ25vcmluZ1VzZXJBZ2VudFNoYWRvdyhjb25zdF9j
YXN0PEVsZW1lbnQmPihjdXJyZW50KSwgbGlzdCk7CisgICAgd2hpbGUgKG5leHQgJiYgIWlzPEVs
ZW1lbnQ+KG5leHQpKQorICAgICAgICBuZXh0ID0gbmV4dFNraXBwaW5nQ2hpbGRyZW5JbkNvbXBv
c2VkVHJlZUluY2x1ZGluZ1BzZXVkb0lnbm9yaW5nVXNlckFnZW50U2hhZG93KCpuZXh0LCBsaXN0
KTsKKyAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4obmV4dCk7Cit9CisKIHN0YXRpYyBSZW5k
ZXJMaXN0SXRlbSogbmV4dExpc3RJdGVtSGVscGVyKGNvbnN0IEVsZW1lbnQmIGxpc3QsIGNvbnN0
IEVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgYXV0byogY3VycmVudCA9ICZlbGVtZW50OwogICAg
IGF1dG8gYWR2YW5jZSA9IFsmXSB7CiAgICAgICAgIGlmICghY3VycmVudC0+cmVuZGVyT3JEaXNw
bGF5Q29udGVudHNTdHlsZSgpKQotICAgICAgICAgICAgY3VycmVudCA9IEVsZW1lbnRUcmF2ZXJz
YWw6Om5leHRJbmNsdWRpbmdQc2V1ZG9Ta2lwcGluZ0NoaWxkcmVuKCpjdXJyZW50LCAmbGlzdCk7
CisgICAgICAgICAgICBjdXJyZW50ID0gbmV4dEVsZW1lbnRTa2lwcGluZ0NoaWxkcmVuKCpjdXJy
ZW50LCAmbGlzdCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGN1cnJlbnQgPSBFbGVtZW50
VHJhdmVyc2FsOjpuZXh0SW5jbHVkaW5nUHNldWRvKCpjdXJyZW50LCAmbGlzdCk7CisgICAgICAg
ICAgICBjdXJyZW50ID0gbmV4dEVsZW1lbnQoKmN1cnJlbnQsICZsaXN0KTsKICAgICB9OwogICAg
IGFkdmFuY2UoKTsKICAgICB3aGlsZSAoY3VycmVudCkgewpAQCAtMTQ4LDcgKzE3Myw3IEBAIHN0
YXRpYyBSZW5kZXJMaXN0SXRlbSogbmV4dExpc3RJdGVtSGVscGVyKGNvbnN0IEVsZW1lbnQmIGxp
c3QsIGNvbnN0IEVsZW1lbnQmIGVsCiAgICAgICAgICAgICByZXR1cm4gJml0ZW07CiAKICAgICAg
ICAgLy8gV2UgZm91bmQgb3Vyc2VsZiBpbnNpZGUgYW5vdGhlciBsaXN0OyBza2lwIHRoZSByZXN0
IG9mIGl0cyBjb250ZW50cy4KLSAgICAgICAgY3VycmVudCA9IEVsZW1lbnRUcmF2ZXJzYWw6Om5l
eHRJbmNsdWRpbmdQc2V1ZG9Ta2lwcGluZ0NoaWxkcmVuKCpjdXJyZW50LCAmbGlzdCk7CisgICAg
ICAgIGN1cnJlbnQgPSBuZXh0RWxlbWVudFNraXBwaW5nQ2hpbGRyZW4oKmN1cnJlbnQsICZsaXN0
KTsKICAgICB9CiAKICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE2OCw3ICsxOTMsNyBAQCBzdGF0
aWMgUmVuZGVyTGlzdEl0ZW0qIHByZXZpb3VzTGlzdEl0ZW0oY29uc3QgRWxlbWVudCYgbGlzdCwg
Y29uc3QgUmVuZGVyTGlzdEl0ZQogewogICAgIGF1dG8qIGN1cnJlbnQgPSAmaXRlbS5lbGVtZW50
KCk7CiAgICAgYXV0byBhZHZhbmNlID0gWyZdIHsKLSAgICAgICAgY3VycmVudCA9IEVsZW1lbnRU
cmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKCpjdXJyZW50LCAmbGlzdCk7CisgICAg
ICAgIGN1cnJlbnQgPSBwcmV2aW91c0VsZW1lbnQoKmN1cnJlbnQsICZsaXN0KTsKICAgICB9Owog
ICAgIGFkdmFuY2UoKTsKICAgICB3aGlsZSAoY3VycmVudCkgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>