<?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>227138</bug_id>
          
          <creation_ts>2021-06-17 12:10:46 -0700</creation_ts>
          <short_desc>Add a new pattern to B3ReduceStrength based on Bug 226984</short_desc>
          <delta_ts>2021-06-18 11:26:04 -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>JavaScriptCore</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yijia Huang">yijia_huang</reporter>
          <assigned_to name="Yijia Huang">yijia_huang</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1770758</commentid>
    <comment_count>0</comment_count>
    <who name="Yijia Huang">yijia_huang</who>
    <bug_when>2021-06-17 12:10:46 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770936</commentid>
    <comment_count>1</comment_count>
      <attachid>431754</attachid>
    <who name="Yijia Huang">yijia_huang</who>
    <bug_when>2021-06-17 22:23:32 -0700</bug_when>
    <thetext>Created attachment 431754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770937</commentid>
    <comment_count>2</comment_count>
      <attachid>431755</attachid>
    <who name="Yijia Huang">yijia_huang</who>
    <bug_when>2021-06-17 22:25:42 -0700</bug_when>
    <thetext>Created attachment 431755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770945</commentid>
    <comment_count>3</comment_count>
      <attachid>431758</attachid>
    <who name="Yijia Huang">yijia_huang</who>
    <bug_when>2021-06-17 23:31:51 -0700</bug_when>
    <thetext>Created attachment 431758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771031</commentid>
    <comment_count>4</comment_count>
      <attachid>431779</attachid>
    <who name="Yijia Huang">yijia_huang</who>
    <bug_when>2021-06-18 10:03:51 -0700</bug_when>
    <thetext>Created attachment 431779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771033</commentid>
    <comment_count>5</comment_count>
      <attachid>431779</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2021-06-18 10:16:35 -0700</bug_when>
    <thetext>Comment on attachment 431779
Patch

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

I think this is correct, but I&apos;d make the two small changes I suggest.

&gt; Source/JavaScriptCore/b3/B3ReduceStrength.cpp:1044
&gt; +                &amp;&amp; !(m_value-&gt;child(0)-&gt;child(0)-&gt;hasInt())

I don&apos;t think you need this condition.  Your transformation is still correct even if that value is a constant.

If it was a constant then it would probably also get constant-folded, but you don&apos;t have to worry about that.  It&apos;s better to just have only the checks you really need.

&gt; Source/JavaScriptCore/b3/B3ReduceStrength.cpp:1048
&gt; +                int64_t const1 = m_value-&gt;child(0)-&gt;child(1)-&gt;asInt();
&gt; +                uint64_t const2 = m_value-&gt;child(1)-&gt;asInt();

Can we give these better names?  Like, I&apos;d use shiftAmount instead of const1.  And I&apos;d use mask for const2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771037</commentid>
    <comment_count>6</comment_count>
      <attachid>431780</attachid>
    <who name="Yijia Huang">yijia_huang</who>
    <bug_when>2021-06-18 10:38:40 -0700</bug_when>
    <thetext>Created attachment 431780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771043</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-18 11:25:57 -0700</bug_when>
    <thetext>Committed r279042 (238962@main): &lt;https://commits.webkit.org/238962@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431780.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431754</attachid>
            <date>2021-06-17 22:23:32 -0700</date>
            <delta_ts>2021-06-17 22:49:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227138-20210618002331.patch</filename>
            <type>text/plain</type>
            <size>7772</size>
            <attacher name="Yijia Huang">yijia_huang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YmMyZGE3MDM4ODliNGY5ZDY2ODVjYmJiYjc5OTdmOGVmZTU0NjJjLi5kOTIxZDYxZmMwZDhjNWNm
ZDg2Njk3ZjI0OTQyZGJiZWEyNTBlN2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAyMS0wNi0xNyAgWWlqaWEgSHVhbmcgIDx5aWppYV9odWFuZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGEgbmV3IHBhdHRlcm4gdG8gQjNSZWR1Y2VTdHJlbmd0aCBiYXNl
ZCBvbiBCdWcgMjI2OTg0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbiB0aGUgcHJldmlvdXMgcGF0Y2ggYnVnIDIyNjk4NCwgYSBuZXcgcGF0dGVybiBj
b3VsZCBiZSBpbnRyb2R1Y2VkIHRvIAorICAgICAgICBCM1JlZHVjZVN0cmVuZ3RoLmNwcCBmb3Ig
ZnVydGhlciBvcHRpbWl6YXRpb24sIHdoaWNoIGlzIHRoYXQ6CisKKyAgICAgICAgZGVzdCA9IChz
cmMgPj4gY29uc3QxKSAmIGNvbnN0MgorCisgICAgICAgIGlzIGVxdWl2YWxlbnQgdG8KKworICAg
ICAgICBzcmMgPj4gY29uc3QxCisKKyAgICAgICAgdW5kZXIgdGhlc2UgY29uc3RyYWludHM6CisK
KyAgICAgICAgMS4gY29uc3QxID49IDAgCisgICAgICAgIDIuIGNvbnN0MiBoYXMgYSBiaW5hcnkg
Zm9ybWF0IGluIGNvbnRpZ3VvdXMgb25lcyBzdGFydGluZyBmcm9tIHRoZSAKKyAgICAgICAgICAg
bGVhc3Qgc2lnbmlmaWNhbnQgYml0LgorICAgICAgICAzLiBjb25zdDEgKyBiaXRDb3VudChjb25z
dDIpID09IG1heEJpdFdpZHRoCisKKyAgICAgICAgRm9yIGluc3RhbmNlICgzMi1iaXQpOgorCisg
ICAgICAgIChzcmMgPj4gMTIpICYgMHgwMDBmZmZmZiA9PSBzcmMgPj4gMTIKKworICAgICAgICBU
aGlzIHJlZHVjdGlvbiBpcyBtb3JlIGJlbmVmaWNpYWwgdGhhbiBVQkZYIGluIHRoaXMgY2FzZS4g
IAorCisgICAgICAgIC8vIEIzIElSCisgICAgICAgIEludCBAMCA9IEFyZ3VtZW50UmVnKCUwKQor
ICAgICAgICBJbnQgQDEgPSAxMgorICAgICAgICBJbnQgQDIgPSBaU2hyKEAwLCBAMSkKKyAgICAg
ICAgSW50IEAzID0gMHgwMDBmZmZmZgorICAgICAgICBJbnQgQDQgPSBCaXRBbmQoQDIsIEAzKSkK
KyAgICAgICAgVm9pZEA1ID0gUmV0dXJuKEA0LCBUZXJtaW5hbCkgICAgCisKKyAgICAgICAgdy9v
IHRoZSBwYXR0ZXJuOgorICAgICAgICAvLyBPbGQgb3B0aW1pemVkIEFJUgorICAgICAgICBVYmZ4
ICUwLCAkMTIsICQyMCwgJTAsIEA0CisgICAgICAgIFJldCAgJTAsICAgICAgICAgICAgICAgQDUK
KworICAgICAgICB3LyB0aGUgcGF0dGVybjoKKyAgICAgICAgLy8gTmV3IG9wdGltaXplZCBBSVIK
KyAgICAgICAgVXJzaGlmdCAlMCwgJDEyLCAlMCwgQDMKKyAgICAgICAgUmV0MzIgICAlMCwgICAg
ICAgICAgQDYKKworICAgICAgICAqIGIzL0IzUmVkdWNlU3RyZW5ndGguY3BwOgorICAgICAgICAq
IGIzL3Rlc3RiMy5oOgorICAgICAgICAqIGIzL3Rlc3RiM18yLmNwcDoKKyAgICAgICAgKHRlc3RC
aXRBbmRaZXJvU2hpZnRSaWdodEltbU1hc2szMik6CisgICAgICAgICh0ZXN0Qml0QW5kWmVyb1No
aWZ0UmlnaHRJbW1NYXNrNjQpOgorICAgICAgICAoYWRkQml0VGVzdHMpOgorCiAyMDIxLTA2LTE3
ICBZaWppYSBIdWFuZyAgPHlpamlhX2h1YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBu
ZXcgcGF0dGVybiB0byBpbnN0cnVjdGlvbiBzZWxlY3RvciB0byB1dGlsaXplIFVCRlggc3VwcG9y
dGVkIGJ5IEFSTTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1
Y2VTdHJlbmd0aC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1Y2VTdHJlbmd0
aC5jcHAKaW5kZXggYzRmOGE3OTQ0ODgzZjQ1MjI4MDc5MDRjMGU1NWZiYjE2NjUyNzBhNi4uMzE3
YTMxYzI0ZTJjYmZjZTkxMGI0NmQyZWI1YTk3OGMxYzRhYzZlMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5ndGguY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2lu
Y2x1ZGUgIkIzVmFsdWVLZXlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZUlubGluZXMuaCIK
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKQEAgLTEwMzUsNiArMTAzNiwyNCBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCisgICAg
ICAgICAgICAvLyBUdXJuIHRoaXM6IEJpdEFuZChaU2hyKHZhbHVlLCBjb25zdGFudDEpLCBjb25z
dGFudDIpCisgICAgICAgICAgICAvLyAtIGNvbnN0YW50MSA+PSAwIGFuZCBjb25zdGFudDIgaXMg
Y29udGlndW91cyBvbmVzIGZyb20gTFNCLCBleGFtcGxlIDBiMDExMTExMTEKKyAgICAgICAgICAg
IC8vIC0gY29uc3RhbnQxICsgYml0Q291bnQoY29uc3RhbnQyKSA9PSBtYXhCaXRXaWR0aAorICAg
ICAgICAgICAgLy8gSW50byB0aGlzOiBaU2hyKHZhbHVlLCBjb25zdGFudDEpCisgICAgICAgICAg
ICBpZiAobV92YWx1ZS0+Y2hpbGQoMCktPm9wY29kZSgpID09IFpTaHIKKyAgICAgICAgICAgICAg
ICAmJiAhKG1fdmFsdWUtPmNoaWxkKDApLT5jaGlsZCgwKS0+aGFzSW50KCkpCisgICAgICAgICAg
ICAgICAgJiYgbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5oYXNJbnQoKQorICAgICAgICAg
ICAgICAgICYmIG1fdmFsdWUtPmNoaWxkKDEpLT5oYXNJbnQoKSkgeworICAgICAgICAgICAgICAg
IGludDY0X3QgY29uc3QxID0gbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5hc0ludCgpOwor
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNvbnN0MiA9IG1fdmFsdWUtPmNoaWxkKDEpLT5hc0lu
dCgpOworICAgICAgICAgICAgICAgIGJvb2wgaXNWYWxpZCA9IGNvbnN0MiAmJiAhKGNvbnN0MiAm
IChjb25zdDIgKyAxKSk7CisgICAgICAgICAgICAgICAgdWludDY0X3QgbWF4Qml0V2lkdGggPSBt
X3ZhbHVlLT5jaGlsZCgwKS0+Y2hpbGQoMCktPnR5cGUoKSA9PSBJbnQ2NCA/IDY0IDogMzI7Cisg
ICAgICAgICAgICAgICAgaWYgKGNvbnN0MSA+PSAwICYmIGlzVmFsaWQgJiYgY29uc3QxICsgV1RG
OjpiaXRDb3VudChjb25zdDIpID09IG1heEJpdFdpZHRoKSB7CisgICAgICAgICAgICAgICAgICAg
IHJlcGxhY2VXaXRoSWRlbnRpdHkobV92YWx1ZS0+Y2hpbGQoMCkpOworICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKICAgICAgICAg
ICAgIC8vIFR1cm4gdGhpczogQml0QW5kKHZhbHVlLCBhbGwtb25lcykKICAgICAgICAgICAgIC8v
IEludG8gdGhpczogdmFsdWUuCiAgICAgICAgICAgICBpZiAoKG1fdmFsdWUtPnR5cGUoKSA9PSBJ
bnQ2NCAmJiBtX3ZhbHVlLT5jaGlsZCgxKS0+aXNJbnQ2NChzdGQ6Om51bWVyaWNfbGltaXRzPHVp
bnQ2NF90Pjo6bWF4KCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rl
c3RiMy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5oCmluZGV4IDQzYTczNDdl
OGU1NDk3Yjg5NzI2YmUyOTkxNjkyNGFhMDFhYzBkMDUuLmEyMjM4MTA1YWIxYjQ1OTE2ZTNjY2I2
Mzc3OWJhYTI1MWJlZTBlZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90
ZXN0YjMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmgKQEAgLTQyMCw2
ICs0MjAsOCBAQCB2b2lkIHRlc3RVYmZ4MzIoKTsKIHZvaWQgdGVzdFViZngzMlBhdHRlcm5NYXRj
aCgpOwogdm9pZCB0ZXN0VWJmeDY0KCk7CiB2b2lkIHRlc3RVYmZ4NjRQYXR0ZXJuTWF0Y2goKTsK
K3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazMyKCk7Cit2b2lkIHRlc3RC
aXRBbmRaZXJvU2hpZnRSaWdodEFyZ0ltbU1hc2s2NCgpOwogdm9pZCB0ZXN0QmFzaWNTZWxlY3Qo
KTsKIHZvaWQgdGVzdFNlbGVjdFRlc3QoKTsKIHZvaWQgdGVzdFNlbGVjdENvbXBhcmVEb3VibGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjNfMi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzIuY3BwCmluZGV4IGIxN2VhYWVhMzgwZTk4
MThiMWQzNTE2Zjg4MDYxYzhkYWE2MWNlNGEuLjI3NDBlOWIyMGQxMjhjOWJlODE0YmZlZTY1OWEw
OTAwMTE5OThlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjNf
Mi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiM18yLmNwcApAQCAtMjY4
OCw2ICsyNjg4LDc2IEBAIHZvaWQgdGVzdFViZng2NFBhdHRlcm5NYXRjaCgpCiAgICAgfQogfQog
Cit2b2lkIHRlc3RCaXRBbmRaZXJvU2hpZnRSaWdodEFyZ0ltbU1hc2szMigpCit7CisgICAgLy8g
VHVybiB0aGlzOiAodG1wID4+IGltbSkgJiBtYXNrIAorICAgIC8vIEludG8gdGhpczogdG1wID4+
IGltbQorICAgIHVpbnQzMl90IHRtcCA9IDB4ZmZmZmZmZmY7CisgICAgVmVjdG9yPHVpbnQzMl90
PiBpbW1zID0geyAwLCAzMSB9OworICAgIFZlY3Rvcjx1aW50MzJfdD4gbWFza3MgPSB7IDB4ZmZm
ZmZmZmYsIDEgfTsKKworICAgIGF1dG8gdGVzdCA9IFsmXSAodWludDMyX3QgaW1tLCB1aW50MzJf
dCBtYXNrKSB7CisgICAgICAgIFByb2NlZHVyZSBwcm9jOworICAgICAgICBCYXNpY0Jsb2NrKiBy
b290ID0gcHJvYy5hZGRCbG9jaygpOworCisgICAgICAgIFZhbHVlKiB0bXBWYWx1ZSA9IHJvb3Qt
PmFwcGVuZE5ldzxWYWx1ZT4oCisgICAgICAgICAgICBwcm9jLCBUcnVuYywgT3JpZ2luKCksIAor
ICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFsdWU+KHByb2MsIE9yaWdp
bigpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApKTsKKyAgICAgICAgVmFsdWUqIGltbVZhbHVlID0g
cm9vdC0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIGltbSk7CisgICAg
ICAgIFZhbHVlKiBsZWZ0VmFsdWUgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIFpTaHIs
IE9yaWdpbigpLCB0bXBWYWx1ZSwgaW1tVmFsdWUpOworICAgICAgICBWYWx1ZSogcmlnaHRWYWx1
ZSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KHByb2MsIE9yaWdpbigpLCBtYXNrKTsK
KyAgICAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKAorICAgICAgICAgICAgcHJvYywg
UmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJv
YywgQml0QW5kLCBPcmlnaW4oKSwgbGVmdFZhbHVlLCByaWdodFZhbHVlKSk7CisKKyAgICAgICAg
YXV0byBjb2RlID0gY29tcGlsZVByb2MocHJvYyk7CisgICAgICAgIGlmIChpc0FSTTY0KCkpIHsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiQW5kMzIiKTsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiVWJmeDMyIik7
CisgICAgICAgIH0KKyAgICAgICAgdWludDMyX3QgbGhzID0gaW52b2tlPHVpbnQzMl90PigqY29k
ZSwgdG1wKTsKKyAgICAgICAgdWludDMyX3QgcmhzID0gdG1wID4+IGltbTsKKyAgICAgICAgQ0hF
Q0sobGhzID09IHJocyk7CisgICAgfTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW1t
cy5zaXplKCk7ICsraSkKKyAgICAgICAgdGVzdChpbW1zLmF0KGkpLCBtYXNrcy5hdChpKSk7Cit9
CisKK3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazY0KCkKK3sKKyAgICAv
LyBUdXJuIHRoaXM6ICh0bXAgPj4gaW1tKSAmIG1hc2sgCisgICAgLy8gSW50byB0aGlzOiB0bXAg
Pj4gaW1tCisgICAgdWludDY0X3QgdG1wID0gMHhmZmZmZmZmZmZmZmZmZmZmOworICAgIFZlY3Rv
cjx1aW50NjRfdD4gaW1tcyA9IHsgMCwgNjMgfTsKKyAgICBWZWN0b3I8dWludDY0X3Q+IG1hc2tz
ID0geyAweGZmZmZmZmZmZmZmZmZmZmYsIDEgfTsKKworICAgIGF1dG8gdGVzdCA9IFsmXSAodWlu
dDY0X3QgaW1tLCB1aW50NjRfdCBtYXNrKSB7CisgICAgICAgIFByb2NlZHVyZSBwcm9jOworICAg
ICAgICBCYXNpY0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworCisgICAgICAgIFZhbHVl
KiB0bXBWYWx1ZSA9IHJvb3QtPmFwcGVuZE5ldzxBcmd1bWVudFJlZ1ZhbHVlPihwcm9jLCBPcmln
aW4oKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICAgICAgVmFsdWUqIGltbVZhbHVlID0g
cm9vdC0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIGltbSk7CisgICAg
ICAgIFZhbHVlKiBsZWZ0VmFsdWUgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIFpTaHIs
IE9yaWdpbigpLCB0bXBWYWx1ZSwgaW1tVmFsdWUpOworICAgICAgICBWYWx1ZSogcmlnaHRWYWx1
ZSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdDY0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBtYXNrKTsK
KyAgICAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKAorICAgICAgICAgICAgcHJvYywg
UmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJv
YywgQml0QW5kLCBPcmlnaW4oKSwgbGVmdFZhbHVlLCByaWdodFZhbHVlKSk7CisKKyAgICAgICAg
YXV0byBjb2RlID0gY29tcGlsZVByb2MocHJvYyk7CisgICAgICAgIGlmIChpc0FSTTY0KCkpIHsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiQW5kNjQiKTsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiVWJmeDY0Iik7
CisgICAgICAgIH0KKyAgICAgICAgdWludDY0X3QgbGhzID0gaW52b2tlPHVpbnQ2NF90PigqY29k
ZSwgdG1wKTsKKyAgICAgICAgdWludDY0X3QgcmhzID0gdG1wID4+IGltbTsKKyAgICAgICAgQ0hF
Q0sobGhzID09IHJocyk7CisgICAgfTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW1t
cy5zaXplKCk7ICsraSkKKyAgICAgICAgdGVzdChpbW1zLmF0KGkpLCBtYXNrcy5hdChpKSk7Cit9
CisKIHN0YXRpYyB2b2lkIHRlc3RCaXRBbmRBcmdzKGludDY0X3QgYSwgaW50NjRfdCBiKQogewog
ICAgIFByb2NlZHVyZSBwcm9jOwpAQCAtMzUwNiw3ICszNTc2LDggQEAgdm9pZCBhZGRCaXRUZXN0
cyhjb25zdCBjaGFyKiBmaWx0ZXIsIERlcXVlPFJlZlB0cjxTaGFyZWRUYXNrPHZvaWQoKT4+PiYg
dGFza3MpCiAgICAgUlVOKHRlc3RVYmZ4MzJQYXR0ZXJuTWF0Y2goKSk7CiAgICAgUlVOKHRlc3RV
YmZ4NjQoKSk7CiAgICAgUlVOKHRlc3RVYmZ4NjRQYXR0ZXJuTWF0Y2goKSk7Ci0KKyAgICBSVU4o
dGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazMyKCkpOworICAgIFJVTih0ZXN0Qml0
QW5kWmVyb1NoaWZ0UmlnaHRBcmdJbW1NYXNrNjQoKSk7CiAgICAgUlVOKHRlc3RCaXRBbmRBcmdz
KDQzLCA0MykpOwogICAgIFJVTih0ZXN0Qml0QW5kQXJncyg0MywgMCkpOwogICAgIFJVTih0ZXN0
Qml0QW5kQXJncygxMCwgMykpOwo=
</data>
<flag name="commit-queue"
          id="453609"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431755</attachid>
            <date>2021-06-17 22:25:42 -0700</date>
            <delta_ts>2021-06-17 23:31:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227138-20210618002541.patch</filename>
            <type>text/plain</type>
            <size>7772</size>
            <attacher name="Yijia Huang">yijia_huang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YmMyZGE3MDM4ODliNGY5ZDY2ODVjYmJiYjc5OTdmOGVmZTU0NjJjLi5kOTIxZDYxZmMwZDhjNWNm
ZDg2Njk3ZjI0OTQyZGJiZWEyNTBlN2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAyMS0wNi0xNyAgWWlqaWEgSHVhbmcgIDx5aWppYV9odWFuZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGEgbmV3IHBhdHRlcm4gdG8gQjNSZWR1Y2VTdHJlbmd0aCBiYXNl
ZCBvbiBCdWcgMjI2OTg0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbiB0aGUgcHJldmlvdXMgcGF0Y2ggYnVnIDIyNjk4NCwgYSBuZXcgcGF0dGVybiBj
b3VsZCBiZSBpbnRyb2R1Y2VkIHRvIAorICAgICAgICBCM1JlZHVjZVN0cmVuZ3RoLmNwcCBmb3Ig
ZnVydGhlciBvcHRpbWl6YXRpb24sIHdoaWNoIGlzIHRoYXQ6CisKKyAgICAgICAgZGVzdCA9IChz
cmMgPj4gY29uc3QxKSAmIGNvbnN0MgorCisgICAgICAgIGlzIGVxdWl2YWxlbnQgdG8KKworICAg
ICAgICBzcmMgPj4gY29uc3QxCisKKyAgICAgICAgdW5kZXIgdGhlc2UgY29uc3RyYWludHM6CisK
KyAgICAgICAgMS4gY29uc3QxID49IDAgCisgICAgICAgIDIuIGNvbnN0MiBoYXMgYSBiaW5hcnkg
Zm9ybWF0IGluIGNvbnRpZ3VvdXMgb25lcyBzdGFydGluZyBmcm9tIHRoZSAKKyAgICAgICAgICAg
bGVhc3Qgc2lnbmlmaWNhbnQgYml0LgorICAgICAgICAzLiBjb25zdDEgKyBiaXRDb3VudChjb25z
dDIpID09IG1heEJpdFdpZHRoCisKKyAgICAgICAgRm9yIGluc3RhbmNlICgzMi1iaXQpOgorCisg
ICAgICAgIChzcmMgPj4gMTIpICYgMHgwMDBmZmZmZiA9PSBzcmMgPj4gMTIKKworICAgICAgICBU
aGlzIHJlZHVjdGlvbiBpcyBtb3JlIGJlbmVmaWNpYWwgdGhhbiBVQkZYIGluIHRoaXMgY2FzZS4g
IAorCisgICAgICAgIC8vIEIzIElSCisgICAgICAgIEludCBAMCA9IEFyZ3VtZW50UmVnKCUwKQor
ICAgICAgICBJbnQgQDEgPSAxMgorICAgICAgICBJbnQgQDIgPSBaU2hyKEAwLCBAMSkKKyAgICAg
ICAgSW50IEAzID0gMHgwMDBmZmZmZgorICAgICAgICBJbnQgQDQgPSBCaXRBbmQoQDIsIEAzKSkK
KyAgICAgICAgVm9pZEA1ID0gUmV0dXJuKEA0LCBUZXJtaW5hbCkgICAgCisKKyAgICAgICAgdy9v
IHRoZSBwYXR0ZXJuOgorICAgICAgICAvLyBPbGQgb3B0aW1pemVkIEFJUgorICAgICAgICBVYmZ4
ICUwLCAkMTIsICQyMCwgJTAsIEA0CisgICAgICAgIFJldCAgJTAsICAgICAgICAgICAgICAgQDUK
KworICAgICAgICB3LyB0aGUgcGF0dGVybjoKKyAgICAgICAgLy8gTmV3IG9wdGltaXplZCBBSVIK
KyAgICAgICAgVXJzaGlmdCAlMCwgJDEyLCAlMCwgQDMKKyAgICAgICAgUmV0MzIgICAlMCwgICAg
ICAgICAgQDYKKworICAgICAgICAqIGIzL0IzUmVkdWNlU3RyZW5ndGguY3BwOgorICAgICAgICAq
IGIzL3Rlc3RiMy5oOgorICAgICAgICAqIGIzL3Rlc3RiM18yLmNwcDoKKyAgICAgICAgKHRlc3RC
aXRBbmRaZXJvU2hpZnRSaWdodEltbU1hc2szMik6CisgICAgICAgICh0ZXN0Qml0QW5kWmVyb1No
aWZ0UmlnaHRJbW1NYXNrNjQpOgorICAgICAgICAoYWRkQml0VGVzdHMpOgorCiAyMDIxLTA2LTE3
ICBZaWppYSBIdWFuZyAgPHlpamlhX2h1YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBu
ZXcgcGF0dGVybiB0byBpbnN0cnVjdGlvbiBzZWxlY3RvciB0byB1dGlsaXplIFVCRlggc3VwcG9y
dGVkIGJ5IEFSTTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1
Y2VTdHJlbmd0aC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1Y2VTdHJlbmd0
aC5jcHAKaW5kZXggYzRmOGE3OTQ0ODgzZjQ1MjI4MDc5MDRjMGU1NWZiYjE2NjUyNzBhNi4uMzE3
YTMxYzI0ZTJjYmZjZTkxMGI0NmQyZWI1YTk3OGMxYzRhYzZlMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5ndGguY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2lu
Y2x1ZGUgIkIzVmFsdWVLZXlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZUlubGluZXMuaCIK
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKQEAgLTEwMzUsNiArMTAzNiwyNCBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCisgICAg
ICAgICAgICAvLyBUdXJuIHRoaXM6IEJpdEFuZChaU2hyKHZhbHVlLCBjb25zdGFudDEpLCBjb25z
dGFudDIpCisgICAgICAgICAgICAvLyAtIGNvbnN0YW50MSA+PSAwIGFuZCBjb25zdGFudDIgaXMg
Y29udGlndW91cyBvbmVzIGZyb20gTFNCLCBleGFtcGxlIDBiMDExMTExMTEKKyAgICAgICAgICAg
IC8vIC0gY29uc3RhbnQxICsgYml0Q291bnQoY29uc3RhbnQyKSA9PSBtYXhCaXRXaWR0aAorICAg
ICAgICAgICAgLy8gSW50byB0aGlzOiBaU2hyKHZhbHVlLCBjb25zdGFudDEpCisgICAgICAgICAg
ICBpZiAobV92YWx1ZS0+Y2hpbGQoMCktPm9wY29kZSgpID09IFpTaHIKKyAgICAgICAgICAgICAg
ICAmJiAhKG1fdmFsdWUtPmNoaWxkKDApLT5jaGlsZCgwKS0+aGFzSW50KCkpCisgICAgICAgICAg
ICAgICAgJiYgbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5oYXNJbnQoKQorICAgICAgICAg
ICAgICAgICYmIG1fdmFsdWUtPmNoaWxkKDEpLT5oYXNJbnQoKSkgeworICAgICAgICAgICAgICAg
IGludDY0X3QgY29uc3QxID0gbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5hc0ludCgpOwor
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNvbnN0MiA9IG1fdmFsdWUtPmNoaWxkKDEpLT5hc0lu
dCgpOworICAgICAgICAgICAgICAgIGJvb2wgaXNWYWxpZCA9IGNvbnN0MiAmJiAhKGNvbnN0MiAm
IChjb25zdDIgKyAxKSk7CisgICAgICAgICAgICAgICAgdWludDY0X3QgbWF4Qml0V2lkdGggPSBt
X3ZhbHVlLT5jaGlsZCgwKS0+Y2hpbGQoMCktPnR5cGUoKSA9PSBJbnQ2NCA/IDY0IDogMzI7Cisg
ICAgICAgICAgICAgICAgaWYgKGNvbnN0MSA+PSAwICYmIGlzVmFsaWQgJiYgY29uc3QxICsgV1RG
OjpiaXRDb3VudChjb25zdDIpID09IG1heEJpdFdpZHRoKSB7CisgICAgICAgICAgICAgICAgICAg
IHJlcGxhY2VXaXRoSWRlbnRpdHkobV92YWx1ZS0+Y2hpbGQoMCkpOworICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKICAgICAgICAg
ICAgIC8vIFR1cm4gdGhpczogQml0QW5kKHZhbHVlLCBhbGwtb25lcykKICAgICAgICAgICAgIC8v
IEludG8gdGhpczogdmFsdWUuCiAgICAgICAgICAgICBpZiAoKG1fdmFsdWUtPnR5cGUoKSA9PSBJ
bnQ2NCAmJiBtX3ZhbHVlLT5jaGlsZCgxKS0+aXNJbnQ2NChzdGQ6Om51bWVyaWNfbGltaXRzPHVp
bnQ2NF90Pjo6bWF4KCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rl
c3RiMy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5oCmluZGV4IDQzYTczNDdl
OGU1NDk3Yjg5NzI2YmUyOTkxNjkyNGFhMDFhYzBkMDUuLmEyMjM4MTA1YWIxYjQ1OTE2ZTNjY2I2
Mzc3OWJhYTI1MWJlZTBlZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90
ZXN0YjMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmgKQEAgLTQyMCw2
ICs0MjAsOCBAQCB2b2lkIHRlc3RVYmZ4MzIoKTsKIHZvaWQgdGVzdFViZngzMlBhdHRlcm5NYXRj
aCgpOwogdm9pZCB0ZXN0VWJmeDY0KCk7CiB2b2lkIHRlc3RVYmZ4NjRQYXR0ZXJuTWF0Y2goKTsK
K3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazMyKCk7Cit2b2lkIHRlc3RC
aXRBbmRaZXJvU2hpZnRSaWdodEFyZ0ltbU1hc2s2NCgpOwogdm9pZCB0ZXN0QmFzaWNTZWxlY3Qo
KTsKIHZvaWQgdGVzdFNlbGVjdFRlc3QoKTsKIHZvaWQgdGVzdFNlbGVjdENvbXBhcmVEb3VibGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjNfMi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzIuY3BwCmluZGV4IGIxN2VhYWVhMzgwZTk4
MThiMWQzNTE2Zjg4MDYxYzhkYWE2MWNlNGEuLjI3NDBlOWIyMGQxMjhjOWJlODE0YmZlZTY1OWEw
OTAwMTE5OThlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjNf
Mi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiM18yLmNwcApAQCAtMjY4
OCw2ICsyNjg4LDc2IEBAIHZvaWQgdGVzdFViZng2NFBhdHRlcm5NYXRjaCgpCiAgICAgfQogfQog
Cit2b2lkIHRlc3RCaXRBbmRaZXJvU2hpZnRSaWdodEFyZ0ltbU1hc2szMigpCit7CisgICAgLy8g
VHVybiB0aGlzOiAodG1wID4+IGltbSkgJiBtYXNrIAorICAgIC8vIEludG8gdGhpczogdG1wID4+
IGltbQorICAgIHVpbnQzMl90IHRtcCA9IDB4ZmZmZmZmZmY7CisgICAgVmVjdG9yPHVpbnQzMl90
PiBpbW1zID0geyAwLCAzMSB9OworICAgIFZlY3Rvcjx1aW50MzJfdD4gbWFza3MgPSB7IDB4ZmZm
ZmZmZmYsIDEgfTsKKworICAgIGF1dG8gdGVzdCA9IFsmXSAodWludDMyX3QgaW1tLCB1aW50MzJf
dCBtYXNrKSB7CisgICAgICAgIFByb2NlZHVyZSBwcm9jOworICAgICAgICBCYXNpY0Jsb2NrKiBy
b290ID0gcHJvYy5hZGRCbG9jaygpOworCisgICAgICAgIFZhbHVlKiB0bXBWYWx1ZSA9IHJvb3Qt
PmFwcGVuZE5ldzxWYWx1ZT4oCisgICAgICAgICAgICBwcm9jLCBUcnVuYywgT3JpZ2luKCksIAor
ICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFsdWU+KHByb2MsIE9yaWdp
bigpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApKTsKKyAgICAgICAgVmFsdWUqIGltbVZhbHVlID0g
cm9vdC0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIGltbSk7CisgICAg
ICAgIFZhbHVlKiBsZWZ0VmFsdWUgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIFpTaHIs
IE9yaWdpbigpLCB0bXBWYWx1ZSwgaW1tVmFsdWUpOworICAgICAgICBWYWx1ZSogcmlnaHRWYWx1
ZSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KHByb2MsIE9yaWdpbigpLCBtYXNrKTsK
KyAgICAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKAorICAgICAgICAgICAgcHJvYywg
UmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJv
YywgQml0QW5kLCBPcmlnaW4oKSwgbGVmdFZhbHVlLCByaWdodFZhbHVlKSk7CisKKyAgICAgICAg
YXV0byBjb2RlID0gY29tcGlsZVByb2MocHJvYyk7CisgICAgICAgIGlmIChpc0FSTTY0KCkpIHsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiQW5kMzIiKTsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiVWJmeDMyIik7
CisgICAgICAgIH0KKyAgICAgICAgdWludDMyX3QgbGhzID0gaW52b2tlPHVpbnQzMl90PigqY29k
ZSwgdG1wKTsKKyAgICAgICAgdWludDMyX3QgcmhzID0gdG1wID4+IGltbTsKKyAgICAgICAgQ0hF
Q0sobGhzID09IHJocyk7CisgICAgfTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW1t
cy5zaXplKCk7ICsraSkKKyAgICAgICAgdGVzdChpbW1zLmF0KGkpLCBtYXNrcy5hdChpKSk7Cit9
CisKK3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazY0KCkKK3sKKyAgICAv
LyBUdXJuIHRoaXM6ICh0bXAgPj4gaW1tKSAmIG1hc2sgCisgICAgLy8gSW50byB0aGlzOiB0bXAg
Pj4gaW1tCisgICAgdWludDY0X3QgdG1wID0gMHhmZmZmZmZmZmZmZmZmZmZmOworICAgIFZlY3Rv
cjx1aW50NjRfdD4gaW1tcyA9IHsgMCwgNjMgfTsKKyAgICBWZWN0b3I8dWludDY0X3Q+IG1hc2tz
ID0geyAweGZmZmZmZmZmZmZmZmZmZmYsIDEgfTsKKworICAgIGF1dG8gdGVzdCA9IFsmXSAodWlu
dDY0X3QgaW1tLCB1aW50NjRfdCBtYXNrKSB7CisgICAgICAgIFByb2NlZHVyZSBwcm9jOworICAg
ICAgICBCYXNpY0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworCisgICAgICAgIFZhbHVl
KiB0bXBWYWx1ZSA9IHJvb3QtPmFwcGVuZE5ldzxBcmd1bWVudFJlZ1ZhbHVlPihwcm9jLCBPcmln
aW4oKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICAgICAgVmFsdWUqIGltbVZhbHVlID0g
cm9vdC0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4ocHJvYywgT3JpZ2luKCksIGltbSk7CisgICAg
ICAgIFZhbHVlKiBsZWZ0VmFsdWUgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIFpTaHIs
IE9yaWdpbigpLCB0bXBWYWx1ZSwgaW1tVmFsdWUpOworICAgICAgICBWYWx1ZSogcmlnaHRWYWx1
ZSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdDY0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBtYXNrKTsK
KyAgICAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKAorICAgICAgICAgICAgcHJvYywg
UmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJv
YywgQml0QW5kLCBPcmlnaW4oKSwgbGVmdFZhbHVlLCByaWdodFZhbHVlKSk7CisKKyAgICAgICAg
YXV0byBjb2RlID0gY29tcGlsZVByb2MocHJvYyk7CisgICAgICAgIGlmIChpc0FSTTY0KCkpIHsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiQW5kNjQiKTsK
KyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpjb2RlLCAiVWJmeDY0Iik7
CisgICAgICAgIH0KKyAgICAgICAgdWludDY0X3QgbGhzID0gaW52b2tlPHVpbnQ2NF90PigqY29k
ZSwgdG1wKTsKKyAgICAgICAgdWludDY0X3QgcmhzID0gdG1wID4+IGltbTsKKyAgICAgICAgQ0hF
Q0sobGhzID09IHJocyk7CisgICAgfTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaW1t
cy5zaXplKCk7ICsraSkKKyAgICAgICAgdGVzdChpbW1zLmF0KGkpLCBtYXNrcy5hdChpKSk7Cit9
CisKIHN0YXRpYyB2b2lkIHRlc3RCaXRBbmRBcmdzKGludDY0X3QgYSwgaW50NjRfdCBiKQogewog
ICAgIFByb2NlZHVyZSBwcm9jOwpAQCAtMzUwNiw3ICszNTc2LDggQEAgdm9pZCBhZGRCaXRUZXN0
cyhjb25zdCBjaGFyKiBmaWx0ZXIsIERlcXVlPFJlZlB0cjxTaGFyZWRUYXNrPHZvaWQoKT4+PiYg
dGFza3MpCiAgICAgUlVOKHRlc3RVYmZ4MzJQYXR0ZXJuTWF0Y2goKSk7CiAgICAgUlVOKHRlc3RV
YmZ4NjQoKSk7CiAgICAgUlVOKHRlc3RVYmZ4NjRQYXR0ZXJuTWF0Y2goKSk7Ci0KKyAgICBSVU4o
dGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazMyKCkpOworICAgIFJVTih0ZXN0Qml0
QW5kWmVyb1NoaWZ0UmlnaHRBcmdJbW1NYXNrNjQoKSk7CiAgICAgUlVOKHRlc3RCaXRBbmRBcmdz
KDQzLCA0MykpOwogICAgIFJVTih0ZXN0Qml0QW5kQXJncyg0MywgMCkpOwogICAgIFJVTih0ZXN0
Qml0QW5kQXJncygxMCwgMykpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431758</attachid>
            <date>2021-06-17 23:31:51 -0700</date>
            <delta_ts>2021-06-18 10:03:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227138-20210618013150.patch</filename>
            <type>text/plain</type>
            <size>7795</size>
            <attacher name="Yijia Huang">yijia_huang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YmMyZGE3MDM4ODliNGY5ZDY2ODVjYmJiYjc5OTdmOGVmZTU0NjJjLi5kOTIxZDYxZmMwZDhjNWNm
ZDg2Njk3ZjI0OTQyZGJiZWEyNTBlN2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAyMS0wNi0xNyAgWWlqaWEgSHVhbmcgIDx5aWppYV9odWFuZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGEgbmV3IHBhdHRlcm4gdG8gQjNSZWR1Y2VTdHJlbmd0aCBiYXNl
ZCBvbiBCdWcgMjI2OTg0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbiB0aGUgcHJldmlvdXMgcGF0Y2ggYnVnIDIyNjk4NCwgYSBuZXcgcGF0dGVybiBj
b3VsZCBiZSBpbnRyb2R1Y2VkIHRvIAorICAgICAgICBCM1JlZHVjZVN0cmVuZ3RoLmNwcCBmb3Ig
ZnVydGhlciBvcHRpbWl6YXRpb24sIHdoaWNoIGlzIHRoYXQ6CisKKyAgICAgICAgZGVzdCA9IChz
cmMgPj4gY29uc3QxKSAmIGNvbnN0MgorCisgICAgICAgIGlzIGVxdWl2YWxlbnQgdG8KKworICAg
ICAgICBzcmMgPj4gY29uc3QxCisKKyAgICAgICAgdW5kZXIgdGhlc2UgY29uc3RyYWludHM6CisK
KyAgICAgICAgMS4gY29uc3QxID49IDAgCisgICAgICAgIDIuIGNvbnN0MiBoYXMgYSBiaW5hcnkg
Zm9ybWF0IGluIGNvbnRpZ3VvdXMgb25lcyBzdGFydGluZyBmcm9tIHRoZSAKKyAgICAgICAgICAg
bGVhc3Qgc2lnbmlmaWNhbnQgYml0LgorICAgICAgICAzLiBjb25zdDEgKyBiaXRDb3VudChjb25z
dDIpID09IG1heEJpdFdpZHRoCisKKyAgICAgICAgRm9yIGluc3RhbmNlICgzMi1iaXQpOgorCisg
ICAgICAgIChzcmMgPj4gMTIpICYgMHgwMDBmZmZmZiA9PSBzcmMgPj4gMTIKKworICAgICAgICBU
aGlzIHJlZHVjdGlvbiBpcyBtb3JlIGJlbmVmaWNpYWwgdGhhbiBVQkZYIGluIHRoaXMgY2FzZS4g
IAorCisgICAgICAgIC8vIEIzIElSCisgICAgICAgIEludCBAMCA9IEFyZ3VtZW50UmVnKCUwKQor
ICAgICAgICBJbnQgQDEgPSAxMgorICAgICAgICBJbnQgQDIgPSBaU2hyKEAwLCBAMSkKKyAgICAg
ICAgSW50IEAzID0gMHgwMDBmZmZmZgorICAgICAgICBJbnQgQDQgPSBCaXRBbmQoQDIsIEAzKSkK
KyAgICAgICAgVm9pZEA1ID0gUmV0dXJuKEA0LCBUZXJtaW5hbCkgICAgCisKKyAgICAgICAgdy9v
IHRoZSBwYXR0ZXJuOgorICAgICAgICAvLyBPbGQgb3B0aW1pemVkIEFJUgorICAgICAgICBVYmZ4
ICUwLCAkMTIsICQyMCwgJTAsIEA0CisgICAgICAgIFJldCAgJTAsICAgICAgICAgICAgICAgQDUK
KworICAgICAgICB3LyB0aGUgcGF0dGVybjoKKyAgICAgICAgLy8gTmV3IG9wdGltaXplZCBBSVIK
KyAgICAgICAgVXJzaGlmdCAlMCwgJDEyLCAlMCwgQDMKKyAgICAgICAgUmV0MzIgICAlMCwgICAg
ICAgICAgQDYKKworICAgICAgICAqIGIzL0IzUmVkdWNlU3RyZW5ndGguY3BwOgorICAgICAgICAq
IGIzL3Rlc3RiMy5oOgorICAgICAgICAqIGIzL3Rlc3RiM18yLmNwcDoKKyAgICAgICAgKHRlc3RC
aXRBbmRaZXJvU2hpZnRSaWdodEltbU1hc2szMik6CisgICAgICAgICh0ZXN0Qml0QW5kWmVyb1No
aWZ0UmlnaHRJbW1NYXNrNjQpOgorICAgICAgICAoYWRkQml0VGVzdHMpOgorCiAyMDIxLTA2LTE3
ICBZaWppYSBIdWFuZyAgPHlpamlhX2h1YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBu
ZXcgcGF0dGVybiB0byBpbnN0cnVjdGlvbiBzZWxlY3RvciB0byB1dGlsaXplIFVCRlggc3VwcG9y
dGVkIGJ5IEFSTTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1
Y2VTdHJlbmd0aC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1Y2VTdHJlbmd0
aC5jcHAKaW5kZXggYzRmOGE3OTQ0ODgzZjQ1MjI4MDc5MDRjMGU1NWZiYjE2NjUyNzBhNi4uNzk1
ODg1Yzg1NzFlNDhiZTdhNGY4YjEzMGIyYTk5OTc4MDc3YzExOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5ndGguY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2lu
Y2x1ZGUgIkIzVmFsdWVLZXlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZUlubGluZXMuaCIK
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKQEAgLTEwMzUsNiArMTAzNiwyNCBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCisgICAg
ICAgICAgICAvLyBUdXJuIHRoaXM6IEJpdEFuZChaU2hyKHZhbHVlLCBjb25zdGFudDEpLCBjb25z
dGFudDIpCisgICAgICAgICAgICAvLyAtIGNvbnN0YW50MSA+PSAwIGFuZCBjb25zdGFudDIgaXMg
Y29udGlndW91cyBvbmVzIGZyb20gTFNCLCBleGFtcGxlIDBiMDExMTExMTEKKyAgICAgICAgICAg
IC8vIC0gY29uc3RhbnQxICsgYml0Q291bnQoY29uc3RhbnQyKSA9PSBtYXhCaXRXaWR0aAorICAg
ICAgICAgICAgLy8gSW50byB0aGlzOiBaU2hyKHZhbHVlLCBjb25zdGFudDEpCisgICAgICAgICAg
ICBpZiAobV92YWx1ZS0+Y2hpbGQoMCktPm9wY29kZSgpID09IFpTaHIKKyAgICAgICAgICAgICAg
ICAmJiAhKG1fdmFsdWUtPmNoaWxkKDApLT5jaGlsZCgwKS0+aGFzSW50KCkpCisgICAgICAgICAg
ICAgICAgJiYgbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5oYXNJbnQoKQorICAgICAgICAg
ICAgICAgICYmIG1fdmFsdWUtPmNoaWxkKDEpLT5oYXNJbnQoKSkgeworICAgICAgICAgICAgICAg
IGludDY0X3QgY29uc3QxID0gbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5hc0ludCgpOwor
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNvbnN0MiA9IG1fdmFsdWUtPmNoaWxkKDEpLT5hc0lu
dCgpOworICAgICAgICAgICAgICAgIGJvb2wgaXNWYWxpZCA9IGNvbnN0MiAmJiAhKGNvbnN0MiAm
IChjb25zdDIgKyAxKSk7CisgICAgICAgICAgICAgICAgdWludDY0X3QgbWF4Qml0V2lkdGggPSBt
X3ZhbHVlLT5jaGlsZCgwKS0+Y2hpbGQoMCktPnR5cGUoKSA9PSBJbnQ2NCA/IDY0IDogMzI7Cisg
ICAgICAgICAgICAgICAgaWYgKGNvbnN0MSA+PSAwICYmIGlzVmFsaWQgJiYgc3RhdGljX2Nhc3Q8
dWludDY0X3Q+KGNvbnN0MSArIFdURjo6Yml0Q291bnQoY29uc3QyKSkgPT0gbWF4Qml0V2lkdGgp
IHsKKyAgICAgICAgICAgICAgICAgICAgcmVwbGFjZVdpdGhJZGVudGl0eShtX3ZhbHVlLT5jaGls
ZCgwKSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKwogICAgICAgICAgICAgLy8gVHVybiB0aGlzOiBCaXRBbmQodmFsdWUsIGFs
bC1vbmVzKQogICAgICAgICAgICAgLy8gSW50byB0aGlzOiB2YWx1ZS4KICAgICAgICAgICAgIGlm
ICgobV92YWx1ZS0+dHlwZSgpID09IEludDY0ICYmIG1fdmFsdWUtPmNoaWxkKDEpLT5pc0ludDY0
KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
dGVzdGIzLmgKaW5kZXggNDNhNzM0N2U4ZTU0OTdiODk3MjZiZTI5OTE2OTI0YWEwMWFjMGQwNS4u
YTIyMzgxMDVhYjFiNDU5MTZlM2NjYjYzNzc5YmFhMjUxYmVlMGVkZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy90ZXN0YjMuaApAQCAtNDIwLDYgKzQyMCw4IEBAIHZvaWQgdGVzdFViZngzMigpOwogdm9p
ZCB0ZXN0VWJmeDMyUGF0dGVybk1hdGNoKCk7CiB2b2lkIHRlc3RVYmZ4NjQoKTsKIHZvaWQgdGVz
dFViZng2NFBhdHRlcm5NYXRjaCgpOwordm9pZCB0ZXN0Qml0QW5kWmVyb1NoaWZ0UmlnaHRBcmdJ
bW1NYXNrMzIoKTsKK3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazY0KCk7
CiB2b2lkIHRlc3RCYXNpY1NlbGVjdCgpOwogdm9pZCB0ZXN0U2VsZWN0VGVzdCgpOwogdm9pZCB0
ZXN0U2VsZWN0Q29tcGFyZURvdWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL3Rlc3RiM18yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjNfMi5j
cHAKaW5kZXggYjE3ZWFhZWEzODBlOTgxOGIxZDM1MTZmODgwNjFjOGRhYTYxY2U0YS4uMjc0MGU5
YjIwZDEyOGM5YmU4MTRiZmVlNjU5YTA5MDAxMTk5OGUwZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL3Rlc3RiM18yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvdGVzdGIzXzIuY3BwCkBAIC0yNjg4LDYgKzI2ODgsNzYgQEAgdm9pZCB0ZXN0VWJmeDY0UGF0
dGVybk1hdGNoKCkKICAgICB9CiB9CiAKK3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJn
SW1tTWFzazMyKCkKK3sKKyAgICAvLyBUdXJuIHRoaXM6ICh0bXAgPj4gaW1tKSAmIG1hc2sgCisg
ICAgLy8gSW50byB0aGlzOiB0bXAgPj4gaW1tCisgICAgdWludDMyX3QgdG1wID0gMHhmZmZmZmZm
ZjsKKyAgICBWZWN0b3I8dWludDMyX3Q+IGltbXMgPSB7IDAsIDMxIH07CisgICAgVmVjdG9yPHVp
bnQzMl90PiBtYXNrcyA9IHsgMHhmZmZmZmZmZiwgMSB9OworCisgICAgYXV0byB0ZXN0ID0gWyZd
ICh1aW50MzJfdCBpbW0sIHVpbnQzMl90IG1hc2spIHsKKyAgICAgICAgUHJvY2VkdXJlIHByb2M7
CisgICAgICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJsb2NrKCk7CisKKyAgICAgICAg
VmFsdWUqIHRtcFZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PFZhbHVlPigKKyAgICAgICAgICAgIHBy
b2MsIFRydW5jLCBPcmlnaW4oKSwgCisgICAgICAgICAgICByb290LT5hcHBlbmROZXc8QXJndW1l
bnRSZWdWYWx1ZT4ocHJvYywgT3JpZ2luKCksIEdQUkluZm86OmFyZ3VtZW50R1BSMCkpOworICAg
ICAgICBWYWx1ZSogaW1tVmFsdWUgPSByb290LT5hcHBlbmROZXc8Q29uc3QzMlZhbHVlPihwcm9j
LCBPcmlnaW4oKSwgaW1tKTsKKyAgICAgICAgVmFsdWUqIGxlZnRWYWx1ZSA9IHJvb3QtPmFwcGVu
ZE5ldzxWYWx1ZT4ocHJvYywgWlNociwgT3JpZ2luKCksIHRtcFZhbHVlLCBpbW1WYWx1ZSk7Cisg
ICAgICAgIFZhbHVlKiByaWdodFZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4o
cHJvYywgT3JpZ2luKCksIG1hc2spOworICAgICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFs
dWUoCisgICAgICAgICAgICBwcm9jLCBSZXR1cm4sIE9yaWdpbigpLAorICAgICAgICAgICAgcm9v
dC0+YXBwZW5kTmV3PFZhbHVlPihwcm9jLCBCaXRBbmQsIE9yaWdpbigpLCBsZWZ0VmFsdWUsIHJp
Z2h0VmFsdWUpKTsKKworICAgICAgICBhdXRvIGNvZGUgPSBjb21waWxlUHJvYyhwcm9jKTsKKyAg
ICAgICAgaWYgKGlzQVJNNjQoKSkgeworICAgICAgICAgICAgY2hlY2tEb2VzTm90VXNlSW5zdHJ1
Y3Rpb24oKmNvZGUsICJBbmQzMiIpOworICAgICAgICAgICAgY2hlY2tEb2VzTm90VXNlSW5zdHJ1
Y3Rpb24oKmNvZGUsICJVYmZ4MzIiKTsKKyAgICAgICAgfQorICAgICAgICB1aW50MzJfdCBsaHMg
PSBpbnZva2U8dWludDMyX3Q+KCpjb2RlLCB0bXApOworICAgICAgICB1aW50MzJfdCByaHMgPSB0
bXAgPj4gaW1tOworICAgICAgICBDSEVDSyhsaHMgPT0gcmhzKTsKKyAgICB9OworCisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBpbW1zLnNpemUoKTsgKytpKQorICAgICAgICB0ZXN0KGltbXMu
YXQoaSksIG1hc2tzLmF0KGkpKTsKK30KKwordm9pZCB0ZXN0Qml0QW5kWmVyb1NoaWZ0UmlnaHRB
cmdJbW1NYXNrNjQoKQoreworICAgIC8vIFR1cm4gdGhpczogKHRtcCA+PiBpbW0pICYgbWFzayAK
KyAgICAvLyBJbnRvIHRoaXM6IHRtcCA+PiBpbW0KKyAgICB1aW50NjRfdCB0bXAgPSAweGZmZmZm
ZmZmZmZmZmZmZmY7CisgICAgVmVjdG9yPHVpbnQ2NF90PiBpbW1zID0geyAwLCA2MyB9OworICAg
IFZlY3Rvcjx1aW50NjRfdD4gbWFza3MgPSB7IDB4ZmZmZmZmZmZmZmZmZmZmZiwgMSB9OworCisg
ICAgYXV0byB0ZXN0ID0gWyZdICh1aW50NjRfdCBpbW0sIHVpbnQ2NF90IG1hc2spIHsKKyAgICAg
ICAgUHJvY2VkdXJlIHByb2M7CisgICAgICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJs
b2NrKCk7CisKKyAgICAgICAgVmFsdWUqIHRtcFZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PEFyZ3Vt
ZW50UmVnVmFsdWU+KHByb2MsIE9yaWdpbigpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAg
ICAgICBWYWx1ZSogaW1tVmFsdWUgPSByb290LT5hcHBlbmROZXc8Q29uc3QzMlZhbHVlPihwcm9j
LCBPcmlnaW4oKSwgaW1tKTsKKyAgICAgICAgVmFsdWUqIGxlZnRWYWx1ZSA9IHJvb3QtPmFwcGVu
ZE5ldzxWYWx1ZT4ocHJvYywgWlNociwgT3JpZ2luKCksIHRtcFZhbHVlLCBpbW1WYWx1ZSk7Cisg
ICAgICAgIFZhbHVlKiByaWdodFZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0NjRWYWx1ZT4o
cHJvYywgT3JpZ2luKCksIG1hc2spOworICAgICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFs
dWUoCisgICAgICAgICAgICBwcm9jLCBSZXR1cm4sIE9yaWdpbigpLAorICAgICAgICAgICAgcm9v
dC0+YXBwZW5kTmV3PFZhbHVlPihwcm9jLCBCaXRBbmQsIE9yaWdpbigpLCBsZWZ0VmFsdWUsIHJp
Z2h0VmFsdWUpKTsKKworICAgICAgICBhdXRvIGNvZGUgPSBjb21waWxlUHJvYyhwcm9jKTsKKyAg
ICAgICAgaWYgKGlzQVJNNjQoKSkgeworICAgICAgICAgICAgY2hlY2tEb2VzTm90VXNlSW5zdHJ1
Y3Rpb24oKmNvZGUsICJBbmQ2NCIpOworICAgICAgICAgICAgY2hlY2tEb2VzTm90VXNlSW5zdHJ1
Y3Rpb24oKmNvZGUsICJVYmZ4NjQiKTsKKyAgICAgICAgfQorICAgICAgICB1aW50NjRfdCBsaHMg
PSBpbnZva2U8dWludDY0X3Q+KCpjb2RlLCB0bXApOworICAgICAgICB1aW50NjRfdCByaHMgPSB0
bXAgPj4gaW1tOworICAgICAgICBDSEVDSyhsaHMgPT0gcmhzKTsKKyAgICB9OworCisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBpbW1zLnNpemUoKTsgKytpKQorICAgICAgICB0ZXN0KGltbXMu
YXQoaSksIG1hc2tzLmF0KGkpKTsKK30KKwogc3RhdGljIHZvaWQgdGVzdEJpdEFuZEFyZ3MoaW50
NjRfdCBhLCBpbnQ2NF90IGIpCiB7CiAgICAgUHJvY2VkdXJlIHByb2M7CkBAIC0zNTA2LDcgKzM1
NzYsOCBAQCB2b2lkIGFkZEJpdFRlc3RzKGNvbnN0IGNoYXIqIGZpbHRlciwgRGVxdWU8UmVmUHRy
PFNoYXJlZFRhc2s8dm9pZCgpPj4+JiB0YXNrcykKICAgICBSVU4odGVzdFViZngzMlBhdHRlcm5N
YXRjaCgpKTsKICAgICBSVU4odGVzdFViZng2NCgpKTsKICAgICBSVU4odGVzdFViZng2NFBhdHRl
cm5NYXRjaCgpKTsKLQorICAgIFJVTih0ZXN0Qml0QW5kWmVyb1NoaWZ0UmlnaHRBcmdJbW1NYXNr
MzIoKSk7CisgICAgUlVOKHRlc3RCaXRBbmRaZXJvU2hpZnRSaWdodEFyZ0ltbU1hc2s2NCgpKTsK
ICAgICBSVU4odGVzdEJpdEFuZEFyZ3MoNDMsIDQzKSk7CiAgICAgUlVOKHRlc3RCaXRBbmRBcmdz
KDQzLCAwKSk7CiAgICAgUlVOKHRlc3RCaXRBbmRBcmdzKDEwLCAzKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431779</attachid>
            <date>2021-06-18 10:03:51 -0700</date>
            <delta_ts>2021-06-18 10:38:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227138-20210618120350.patch</filename>
            <type>text/plain</type>
            <size>7889</size>
            <attacher name="Yijia Huang">yijia_huang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YmMyZGE3MDM4ODliNGY5ZDY2ODVjYmJiYjc5OTdmOGVmZTU0NjJjLi5kOTIxZDYxZmMwZDhjNWNm
ZDg2Njk3ZjI0OTQyZGJiZWEyNTBlN2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAyMS0wNi0xNyAgWWlqaWEgSHVhbmcgIDx5aWppYV9odWFuZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGEgbmV3IHBhdHRlcm4gdG8gQjNSZWR1Y2VTdHJlbmd0aCBiYXNl
ZCBvbiBCdWcgMjI2OTg0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbiB0aGUgcHJldmlvdXMgcGF0Y2ggYnVnIDIyNjk4NCwgYSBuZXcgcGF0dGVybiBj
b3VsZCBiZSBpbnRyb2R1Y2VkIHRvIAorICAgICAgICBCM1JlZHVjZVN0cmVuZ3RoLmNwcCBmb3Ig
ZnVydGhlciBvcHRpbWl6YXRpb24sIHdoaWNoIGlzIHRoYXQ6CisKKyAgICAgICAgZGVzdCA9IChz
cmMgPj4gY29uc3QxKSAmIGNvbnN0MgorCisgICAgICAgIGlzIGVxdWl2YWxlbnQgdG8KKworICAg
ICAgICBzcmMgPj4gY29uc3QxCisKKyAgICAgICAgdW5kZXIgdGhlc2UgY29uc3RyYWludHM6CisK
KyAgICAgICAgMS4gY29uc3QxID49IDAgCisgICAgICAgIDIuIGNvbnN0MiBoYXMgYSBiaW5hcnkg
Zm9ybWF0IGluIGNvbnRpZ3VvdXMgb25lcyBzdGFydGluZyBmcm9tIHRoZSAKKyAgICAgICAgICAg
bGVhc3Qgc2lnbmlmaWNhbnQgYml0LgorICAgICAgICAzLiBjb25zdDEgKyBiaXRDb3VudChjb25z
dDIpID09IG1heEJpdFdpZHRoCisKKyAgICAgICAgRm9yIGluc3RhbmNlICgzMi1iaXQpOgorCisg
ICAgICAgIChzcmMgPj4gMTIpICYgMHgwMDBmZmZmZiA9PSBzcmMgPj4gMTIKKworICAgICAgICBU
aGlzIHJlZHVjdGlvbiBpcyBtb3JlIGJlbmVmaWNpYWwgdGhhbiBVQkZYIGluIHRoaXMgY2FzZS4g
IAorCisgICAgICAgIC8vIEIzIElSCisgICAgICAgIEludCBAMCA9IEFyZ3VtZW50UmVnKCUwKQor
ICAgICAgICBJbnQgQDEgPSAxMgorICAgICAgICBJbnQgQDIgPSBaU2hyKEAwLCBAMSkKKyAgICAg
ICAgSW50IEAzID0gMHgwMDBmZmZmZgorICAgICAgICBJbnQgQDQgPSBCaXRBbmQoQDIsIEAzKSkK
KyAgICAgICAgVm9pZEA1ID0gUmV0dXJuKEA0LCBUZXJtaW5hbCkgICAgCisKKyAgICAgICAgdy9v
IHRoZSBwYXR0ZXJuOgorICAgICAgICAvLyBPbGQgb3B0aW1pemVkIEFJUgorICAgICAgICBVYmZ4
ICUwLCAkMTIsICQyMCwgJTAsIEA0CisgICAgICAgIFJldCAgJTAsICAgICAgICAgICAgICAgQDUK
KworICAgICAgICB3LyB0aGUgcGF0dGVybjoKKyAgICAgICAgLy8gTmV3IG9wdGltaXplZCBBSVIK
KyAgICAgICAgVXJzaGlmdCAlMCwgJDEyLCAlMCwgQDMKKyAgICAgICAgUmV0MzIgICAlMCwgICAg
ICAgICAgQDYKKworICAgICAgICAqIGIzL0IzUmVkdWNlU3RyZW5ndGguY3BwOgorICAgICAgICAq
IGIzL3Rlc3RiMy5oOgorICAgICAgICAqIGIzL3Rlc3RiM18yLmNwcDoKKyAgICAgICAgKHRlc3RC
aXRBbmRaZXJvU2hpZnRSaWdodEltbU1hc2szMik6CisgICAgICAgICh0ZXN0Qml0QW5kWmVyb1No
aWZ0UmlnaHRJbW1NYXNrNjQpOgorICAgICAgICAoYWRkQml0VGVzdHMpOgorCiAyMDIxLTA2LTE3
ICBZaWppYSBIdWFuZyAgPHlpamlhX2h1YW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBu
ZXcgcGF0dGVybiB0byBpbnN0cnVjdGlvbiBzZWxlY3RvciB0byB1dGlsaXplIFVCRlggc3VwcG9y
dGVkIGJ5IEFSTTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1
Y2VTdHJlbmd0aC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1Y2VTdHJlbmd0
aC5jcHAKaW5kZXggYzRmOGE3OTQ0ODgzZjQ1MjI4MDc5MDRjMGU1NWZiYjE2NjUyNzBhNi4uNzk1
ODg1Yzg1NzFlNDhiZTdhNGY4YjEzMGIyYTk5OTc4MDc3YzExOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5ndGguY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9iMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2lu
Y2x1ZGUgIkIzVmFsdWVLZXlJbmxpbmVzLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZUlubGluZXMuaCIK
ICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
IAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7CiAKQEAgLTEwMzUsNiArMTAzNiwyNCBA
QCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCisgICAg
ICAgICAgICAvLyBUdXJuIHRoaXM6IEJpdEFuZChaU2hyKHZhbHVlLCBjb25zdGFudDEpLCBjb25z
dGFudDIpCisgICAgICAgICAgICAvLyAtIGNvbnN0YW50MSA+PSAwIGFuZCBjb25zdGFudDIgaXMg
Y29udGlndW91cyBvbmVzIGZyb20gTFNCLCBleGFtcGxlIDBiMDExMTExMTEKKyAgICAgICAgICAg
IC8vIC0gY29uc3RhbnQxICsgYml0Q291bnQoY29uc3RhbnQyKSA9PSBtYXhCaXRXaWR0aAorICAg
ICAgICAgICAgLy8gSW50byB0aGlzOiBaU2hyKHZhbHVlLCBjb25zdGFudDEpCisgICAgICAgICAg
ICBpZiAobV92YWx1ZS0+Y2hpbGQoMCktPm9wY29kZSgpID09IFpTaHIKKyAgICAgICAgICAgICAg
ICAmJiAhKG1fdmFsdWUtPmNoaWxkKDApLT5jaGlsZCgwKS0+aGFzSW50KCkpCisgICAgICAgICAg
ICAgICAgJiYgbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5oYXNJbnQoKQorICAgICAgICAg
ICAgICAgICYmIG1fdmFsdWUtPmNoaWxkKDEpLT5oYXNJbnQoKSkgeworICAgICAgICAgICAgICAg
IGludDY0X3QgY29uc3QxID0gbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5hc0ludCgpOwor
ICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNvbnN0MiA9IG1fdmFsdWUtPmNoaWxkKDEpLT5hc0lu
dCgpOworICAgICAgICAgICAgICAgIGJvb2wgaXNWYWxpZCA9IGNvbnN0MiAmJiAhKGNvbnN0MiAm
IChjb25zdDIgKyAxKSk7CisgICAgICAgICAgICAgICAgdWludDY0X3QgbWF4Qml0V2lkdGggPSBt
X3ZhbHVlLT5jaGlsZCgwKS0+Y2hpbGQoMCktPnR5cGUoKSA9PSBJbnQ2NCA/IDY0IDogMzI7Cisg
ICAgICAgICAgICAgICAgaWYgKGNvbnN0MSA+PSAwICYmIGlzVmFsaWQgJiYgc3RhdGljX2Nhc3Q8
dWludDY0X3Q+KGNvbnN0MSArIFdURjo6Yml0Q291bnQoY29uc3QyKSkgPT0gbWF4Qml0V2lkdGgp
IHsKKyAgICAgICAgICAgICAgICAgICAgcmVwbGFjZVdpdGhJZGVudGl0eShtX3ZhbHVlLT5jaGls
ZCgwKSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKwogICAgICAgICAgICAgLy8gVHVybiB0aGlzOiBCaXRBbmQodmFsdWUsIGFs
bC1vbmVzKQogICAgICAgICAgICAgLy8gSW50byB0aGlzOiB2YWx1ZS4KICAgICAgICAgICAgIGlm
ICgobV92YWx1ZS0+dHlwZSgpID09IEludDY0ICYmIG1fdmFsdWUtPmNoaWxkKDEpLT5pc0ludDY0
KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+OjptYXgoKSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
dGVzdGIzLmgKaW5kZXggNDNhNzM0N2U4ZTU0OTdiODk3MjZiZTI5OTE2OTI0YWEwMWFjMGQwNS4u
YTIyMzgxMDVhYjFiNDU5MTZlM2NjYjYzNzc5YmFhMjUxYmVlMGVkZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9iMy90ZXN0YjMuaApAQCAtNDIwLDYgKzQyMCw4IEBAIHZvaWQgdGVzdFViZngzMigpOwogdm9p
ZCB0ZXN0VWJmeDMyUGF0dGVybk1hdGNoKCk7CiB2b2lkIHRlc3RVYmZ4NjQoKTsKIHZvaWQgdGVz
dFViZng2NFBhdHRlcm5NYXRjaCgpOwordm9pZCB0ZXN0Qml0QW5kWmVyb1NoaWZ0UmlnaHRBcmdJ
bW1NYXNrMzIoKTsKK3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazY0KCk7
CiB2b2lkIHRlc3RCYXNpY1NlbGVjdCgpOwogdm9pZCB0ZXN0U2VsZWN0VGVzdCgpOwogdm9pZCB0
ZXN0U2VsZWN0Q29tcGFyZURvdWJsZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2IzL3Rlc3RiM18yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjNfMi5j
cHAKaW5kZXggYjE3ZWFhZWEzODBlOTgxOGIxZDM1MTZmODgwNjFjOGRhYTYxY2U0YS4uMzRhYjBh
MTE2OWE3ZTAyOTE4MjBhYzg4ZDYzN2E2NDM1ZWZiOTM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2IzL3Rlc3RiM18yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvdGVzdGIzXzIuY3BwCkBAIC0yNjg4LDYgKzI2ODgsNzggQEAgdm9pZCB0ZXN0VWJmeDY0UGF0
dGVybk1hdGNoKCkKICAgICB9CiB9CiAKK3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJn
SW1tTWFzazMyKCkKK3sKKyAgICAvLyBUdXJuIHRoaXM6ICh0bXAgPj4gaW1tKSAmIG1hc2sgCisg
ICAgLy8gSW50byB0aGlzOiB0bXAgPj4gaW1tCisgICAgdWludDMyX3QgdG1wID0gMHhmZmZmZmZm
ZjsKKyAgICBWZWN0b3I8dWludDMyX3Q+IGltbXMgPSB7IDQsIDI4IH07CisgICAgVmVjdG9yPHVp
bnQzMl90PiBtYXNrcyA9IHsgMHgwZmZmZmZmZiwgMHhmIH07CisKKyAgICBhdXRvIHRlc3QgPSBb
Jl0gKHVpbnQzMl90IGltbSwgdWludDMyX3QgbWFzaykgeworICAgICAgICBQcm9jZWR1cmUgcHJv
YzsKKyAgICAgICAgQmFzaWNCbG9jayogcm9vdCA9IHByb2MuYWRkQmxvY2soKTsKKworICAgICAg
ICBWYWx1ZSogdG1wVmFsdWUgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KAorICAgICAgICAgICAg
cHJvYywgVHJ1bmMsIE9yaWdpbigpLCAKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxBcmd1
bWVudFJlZ1ZhbHVlPihwcm9jLCBPcmlnaW4oKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKSk7Cisg
ICAgICAgIFZhbHVlKiBpbW1WYWx1ZSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdDMyVmFsdWU+KHBy
b2MsIE9yaWdpbigpLCBpbW0pOworICAgICAgICBWYWx1ZSogbGVmdFZhbHVlID0gcm9vdC0+YXBw
ZW5kTmV3PFZhbHVlPihwcm9jLCBaU2hyLCBPcmlnaW4oKSwgdG1wVmFsdWUsIGltbVZhbHVlKTsK
KyAgICAgICAgVmFsdWUqIHJpZ2h0VmFsdWUgPSByb290LT5hcHBlbmROZXc8Q29uc3QzMlZhbHVl
Pihwcm9jLCBPcmlnaW4oKSwgbWFzayk7CisgICAgICAgIHJvb3QtPmFwcGVuZE5ld0NvbnRyb2xW
YWx1ZSgKKyAgICAgICAgICAgIHByb2MsIFJldHVybiwgT3JpZ2luKCksCisgICAgICAgICAgICBy
b290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIEJpdEFuZCwgT3JpZ2luKCksIGxlZnRWYWx1ZSwg
cmlnaHRWYWx1ZSkpOworCisgICAgICAgIGF1dG8gY29kZSA9IGNvbXBpbGVQcm9jKHByb2MpOwor
ICAgICAgICBpZiAoaXNBUk02NCgpKSB7CisgICAgICAgICAgICBjaGVja1VzZXNJbnN0cnVjdGlv
bigqY29kZSwgImxzciIpOworICAgICAgICAgICAgY2hlY2tEb2VzTm90VXNlSW5zdHJ1Y3Rpb24o
KmNvZGUsICJhbmQiKTsKKyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpj
b2RlLCAidWJmeCIpOworICAgICAgICB9CisgICAgICAgIHVpbnQzMl90IGxocyA9IGludm9rZTx1
aW50MzJfdD4oKmNvZGUsIHRtcCk7CisgICAgICAgIHVpbnQzMl90IHJocyA9IHRtcCA+PiBpbW07
CisgICAgICAgIENIRUNLKGxocyA9PSByaHMpOworICAgIH07CisKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGltbXMuc2l6ZSgpOyArK2kpCisgICAgICAgIHRlc3QoaW1tcy5hdChpKSwgbWFz
a3MuYXQoaSkpOworfQorCit2b2lkIHRlc3RCaXRBbmRaZXJvU2hpZnRSaWdodEFyZ0ltbU1hc2s2
NCgpCit7CisgICAgLy8gVHVybiB0aGlzOiAodG1wID4+IGltbSkgJiBtYXNrIAorICAgIC8vIElu
dG8gdGhpczogdG1wID4+IGltbQorICAgIHVpbnQ2NF90IHRtcCA9IDB4ZmZmZmZmZmZmZmZmZmZm
ZjsKKyAgICBWZWN0b3I8dWludDY0X3Q+IGltbXMgPSB7IDQsIDYwIH07CisgICAgVmVjdG9yPHVp
bnQ2NF90PiBtYXNrcyA9IHsgMHgwZmZmZmZmZmZmZmZmZmZmLCAweGYgfTsKKworICAgIGF1dG8g
dGVzdCA9IFsmXSAodWludDY0X3QgaW1tLCB1aW50NjRfdCBtYXNrKSB7CisgICAgICAgIFByb2Nl
ZHVyZSBwcm9jOworICAgICAgICBCYXNpY0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOwor
CisgICAgICAgIFZhbHVlKiB0bXBWYWx1ZSA9IHJvb3QtPmFwcGVuZE5ldzxBcmd1bWVudFJlZ1Zh
bHVlPihwcm9jLCBPcmlnaW4oKSwgR1BSSW5mbzo6YXJndW1lbnRHUFIwKTsKKyAgICAgICAgVmFs
dWUqIGltbVZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0MzJWYWx1ZT4ocHJvYywgT3JpZ2lu
KCksIGltbSk7CisgICAgICAgIFZhbHVlKiBsZWZ0VmFsdWUgPSByb290LT5hcHBlbmROZXc8VmFs
dWU+KHByb2MsIFpTaHIsIE9yaWdpbigpLCB0bXBWYWx1ZSwgaW1tVmFsdWUpOworICAgICAgICBW
YWx1ZSogcmlnaHRWYWx1ZSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdDY0VmFsdWU+KHByb2MsIE9y
aWdpbigpLCBtYXNrKTsKKyAgICAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKAorICAg
ICAgICAgICAgcHJvYywgUmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVu
ZE5ldzxWYWx1ZT4ocHJvYywgQml0QW5kLCBPcmlnaW4oKSwgbGVmdFZhbHVlLCByaWdodFZhbHVl
KSk7CisKKyAgICAgICAgYXV0byBjb2RlID0gY29tcGlsZVByb2MocHJvYyk7CisgICAgICAgIGlm
IChpc0FSTTY0KCkpIHsKKyAgICAgICAgICAgIGNoZWNrVXNlc0luc3RydWN0aW9uKCpjb2RlLCAi
bHNyIik7CisgICAgICAgICAgICBjaGVja0RvZXNOb3RVc2VJbnN0cnVjdGlvbigqY29kZSwgImFu
ZCIpOworICAgICAgICAgICAgY2hlY2tEb2VzTm90VXNlSW5zdHJ1Y3Rpb24oKmNvZGUsICJ1YmZ4
Iik7CisgICAgICAgIH0KKyAgICAgICAgdWludDY0X3QgbGhzID0gaW52b2tlPHVpbnQ2NF90Pigq
Y29kZSwgdG1wKTsKKyAgICAgICAgdWludDY0X3QgcmhzID0gdG1wID4+IGltbTsKKyAgICAgICAg
Q0hFQ0sobGhzID09IHJocyk7CisgICAgfTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
aW1tcy5zaXplKCk7ICsraSkKKyAgICAgICAgdGVzdChpbW1zLmF0KGkpLCBtYXNrcy5hdChpKSk7
Cit9CisKIHN0YXRpYyB2b2lkIHRlc3RCaXRBbmRBcmdzKGludDY0X3QgYSwgaW50NjRfdCBiKQog
ewogICAgIFByb2NlZHVyZSBwcm9jOwpAQCAtMzUwNiw3ICszNTc4LDggQEAgdm9pZCBhZGRCaXRU
ZXN0cyhjb25zdCBjaGFyKiBmaWx0ZXIsIERlcXVlPFJlZlB0cjxTaGFyZWRUYXNrPHZvaWQoKT4+
PiYgdGFza3MpCiAgICAgUlVOKHRlc3RVYmZ4MzJQYXR0ZXJuTWF0Y2goKSk7CiAgICAgUlVOKHRl
c3RVYmZ4NjQoKSk7CiAgICAgUlVOKHRlc3RVYmZ4NjRQYXR0ZXJuTWF0Y2goKSk7Ci0KKyAgICBS
VU4odGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJnSW1tTWFzazMyKCkpOworICAgIFJVTih0ZXN0
Qml0QW5kWmVyb1NoaWZ0UmlnaHRBcmdJbW1NYXNrNjQoKSk7CiAgICAgUlVOKHRlc3RCaXRBbmRB
cmdzKDQzLCA0MykpOwogICAgIFJVTih0ZXN0Qml0QW5kQXJncyg0MywgMCkpOwogICAgIFJVTih0
ZXN0Qml0QW5kQXJncygxMCwgMykpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431780</attachid>
            <date>2021-06-18 10:38:40 -0700</date>
            <delta_ts>2021-06-18 11:25:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227138-20210618123838.patch</filename>
            <type>text/plain</type>
            <size>7840</size>
            <attacher name="Yijia Huang">yijia_huang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
YmMyZGE3MDM4ODliNGY5ZDY2ODVjYmJiYjc5OTdmOGVmZTU0NjJjLi43Nzc4YmQ4ZWVlNmYxMzYz
MTdlMmNjNjJjYTFmYzE1NzRlNzA3MTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NyBAQAorMjAyMS0wNi0xNyAgWWlqaWEgSHVhbmcgIDx5aWppYV9odWFuZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGEgbmV3IHBhdHRlcm4gdG8gQjNSZWR1Y2VTdHJlbmd0aCBiYXNl
ZCBvbiBCdWcgMjI2OTg0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbiB0aGUgcHJldmlvdXMgcGF0Y2ggYnVnIDIyNjk4NCwgYSBuZXcgcGF0dGVybiBj
b3VsZCBiZSBpbnRyb2R1Y2VkIHRvIAorICAgICAgICBCM1JlZHVjZVN0cmVuZ3RoLmNwcCBmb3Ig
ZnVydGhlciBvcHRpbWl6YXRpb24sIHdoaWNoIGlzIHRoYXQ6CisKKyAgICAgICAgZGVzdCA9IChz
cmMgPj4gc2hpZnRBbW91bnQpICYgbWFzaworCisgICAgICAgIGlzIGVxdWl2YWxlbnQgdG8KKwor
ICAgICAgICBzcmMgPj4gc2hpZnRBbW91bnQKKworICAgICAgICB1bmRlciB0aGVzZSBjb25zdHJh
aW50czoKKworICAgICAgICAxLiBzaGlmdEFtb3VudCA+PSAwIAorICAgICAgICAyLiBtYXNrIGhh
cyBhIGJpbmFyeSBmb3JtYXQgaW4gY29udGlndW91cyBvbmVzIHN0YXJ0aW5nIGZyb20gdGhlIAor
ICAgICAgICAgICBsZWFzdCBzaWduaWZpY2FudCBiaXQuCisgICAgICAgIDMuIHNoaWZ0QW1vdW50
ICsgYml0Q291bnQobWFzaykgPT0gbWF4Qml0V2lkdGgKKworICAgICAgICBGb3IgaW5zdGFuY2Ug
KDMyLWJpdCk6CisKKyAgICAgICAgKHNyYyA+PiAxMikgJiAweDAwMGZmZmZmID09IHNyYyA+PiAx
MgorCisgICAgICAgIFRoaXMgcmVkdWN0aW9uIGlzIG1vcmUgYmVuZWZpY2lhbCB0aGFuIFVCRlgg
aW4gdGhpcyBjYXNlLiAgCisKKyAgICAgICAgLy8gQjMgSVIKKyAgICAgICAgSW50IEAwID0gQXJn
dW1lbnRSZWcoJTApCisgICAgICAgIEludCBAMSA9IDEyCisgICAgICAgIEludCBAMiA9IFpTaHIo
QDAsIEAxKQorICAgICAgICBJbnQgQDMgPSAweDAwMGZmZmZmCisgICAgICAgIEludCBANCA9IEJp
dEFuZChAMiwgQDMpKQorICAgICAgICBWb2lkQDUgPSBSZXR1cm4oQDQsIFRlcm1pbmFsKSAgICAK
KworICAgICAgICB3L28gdGhlIHBhdHRlcm46CisgICAgICAgIC8vIE9sZCBvcHRpbWl6ZWQgQUlS
CisgICAgICAgIFViZnggJTAsICQxMiwgJDIwLCAlMCwgQDQKKyAgICAgICAgUmV0ICAlMCwgICAg
ICAgICAgICAgICBANQorCisgICAgICAgIHcvIHRoZSBwYXR0ZXJuOgorICAgICAgICAvLyBOZXcg
b3B0aW1pemVkIEFJUgorICAgICAgICBVcnNoaWZ0ICUwLCAkMTIsICUwLCBAMworICAgICAgICBS
ZXQzMiAgICUwLCAgICAgICAgICBANgorCisgICAgICAgICogYjMvQjNSZWR1Y2VTdHJlbmd0aC5j
cHA6CisgICAgICAgICogYjMvdGVzdGIzLmg6CisgICAgICAgICogYjMvdGVzdGIzXzIuY3BwOgor
ICAgICAgICAodGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0SW1tTWFzazMyKToKKyAgICAgICAgKHRl
c3RCaXRBbmRaZXJvU2hpZnRSaWdodEltbU1hc2s2NCk6CisgICAgICAgIChhZGRCaXRUZXN0cyk6
CisKIDIwMjEtMDYtMTcgIFlpamlhIEh1YW5nICA8eWlqaWFfaHVhbmdAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBhIG5ldyBwYXR0ZXJuIHRvIGluc3RydWN0aW9uIHNlbGVjdG9yIHRvIHV0aWxp
emUgVUJGWCBzdXBwb3J0ZWQgYnkgQVJNNjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM1JlZHVjZVN0cmVuZ3RoLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9C
M1JlZHVjZVN0cmVuZ3RoLmNwcAppbmRleCBjNGY4YTc5NDQ4ODNmNDUyMjgwNzkwNGMwZTU1ZmJi
MTY2NTI3MGE2Li42MmIwODE3NWU5YTUwZDAyMDYzNGM5YzJiYWQ2MWMxZGFiM2JjMjk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNSZWR1Y2VTdHJlbmd0aC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUmVkdWNlU3RyZW5ndGguY3BwCkBAIC00Miw2
ICs0Miw3IEBACiAjaW5jbHVkZSAiQjNWYWx1ZUtleUlubGluZXMuaCIKICNpbmNsdWRlICJCM1Zh
bHVlSW5saW5lcy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1N0
ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKIApAQCAtMTAz
NSw2ICsxMDM2LDIzIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICB9CiAKKyAgICAgICAgICAgIC8vIFR1cm4gdGhpczogQml0QW5kKFpTaHIodmFsdWUsIHNo
aWZ0QW1vdW50KSwgbWFzaykKKyAgICAgICAgICAgIC8vIC0gc2hpZnRBbW91bnQgPj0gMCBhbmQg
bWFzayBpcyBjb250aWd1b3VzIG9uZXMgZnJvbSBMU0IsIGV4YW1wbGUgMGIwMTExMTExMQorICAg
ICAgICAgICAgLy8gLSBzaGlmdEFtb3VudCArIGJpdENvdW50KG1hc2spID09IG1heEJpdFdpZHRo
CisgICAgICAgICAgICAvLyBJbnRvIHRoaXM6IFpTaHIodmFsdWUsIHNoaWZ0QW1vdW50KQorICAg
ICAgICAgICAgaWYgKG1fdmFsdWUtPmNoaWxkKDApLT5vcGNvZGUoKSA9PSBaU2hyCisgICAgICAg
ICAgICAgICAgJiYgbV92YWx1ZS0+Y2hpbGQoMCktPmNoaWxkKDEpLT5oYXNJbnQoKQorICAgICAg
ICAgICAgICAgICYmIG1fdmFsdWUtPmNoaWxkKDEpLT5oYXNJbnQoKSkgeworICAgICAgICAgICAg
ICAgIGludDY0X3Qgc2hpZnRBbW91bnQgPSBtX3ZhbHVlLT5jaGlsZCgwKS0+Y2hpbGQoMSktPmFz
SW50KCk7CisgICAgICAgICAgICAgICAgdWludDY0X3QgbWFzayA9IG1fdmFsdWUtPmNoaWxkKDEp
LT5hc0ludCgpOworICAgICAgICAgICAgICAgIGJvb2wgaXNWYWxpZCA9IG1hc2sgJiYgIShtYXNr
ICYgKG1hc2sgKyAxKSk7CisgICAgICAgICAgICAgICAgdWludDY0X3QgbWF4Qml0V2lkdGggPSBt
X3ZhbHVlLT5jaGlsZCgwKS0+Y2hpbGQoMCktPnR5cGUoKSA9PSBJbnQ2NCA/IDY0IDogMzI7Cisg
ICAgICAgICAgICAgICAgaWYgKHNoaWZ0QW1vdW50ID49IDAgJiYgaXNWYWxpZCAmJiBzdGF0aWNf
Y2FzdDx1aW50NjRfdD4oc2hpZnRBbW91bnQgKyBXVEY6OmJpdENvdW50KG1hc2spKSA9PSBtYXhC
aXRXaWR0aCkgeworICAgICAgICAgICAgICAgICAgICByZXBsYWNlV2l0aElkZW50aXR5KG1fdmFs
dWUtPmNoaWxkKDApKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCiAgICAgICAgICAgICAvLyBUdXJuIHRoaXM6IEJpdEFuZCh2
YWx1ZSwgYWxsLW9uZXMpCiAgICAgICAgICAgICAvLyBJbnRvIHRoaXM6IHZhbHVlLgogICAgICAg
ICAgICAgaWYgKChtX3ZhbHVlLT50eXBlKCkgPT0gSW50NjQgJiYgbV92YWx1ZS0+Y2hpbGQoMSkt
PmlzSW50NjQoc3RkOjpudW1lcmljX2xpbWl0czx1aW50NjRfdD46Om1heCgpKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy90ZXN0YjMuaAppbmRleCA0M2E3MzQ3ZThlNTQ5N2I4OTcyNmJlMjk5MTY5MjRhYTAx
YWMwZDA1Li5hMjIzODEwNWFiMWI0NTkxNmUzY2NiNjM3NzliYWEyNTFiZWUwZWRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL3Rlc3RiMy5oCkBAIC00MjAsNiArNDIwLDggQEAgdm9pZCB0ZXN0VWJmeDMy
KCk7CiB2b2lkIHRlc3RVYmZ4MzJQYXR0ZXJuTWF0Y2goKTsKIHZvaWQgdGVzdFViZng2NCgpOwog
dm9pZCB0ZXN0VWJmeDY0UGF0dGVybk1hdGNoKCk7Cit2b2lkIHRlc3RCaXRBbmRaZXJvU2hpZnRS
aWdodEFyZ0ltbU1hc2szMigpOwordm9pZCB0ZXN0Qml0QW5kWmVyb1NoaWZ0UmlnaHRBcmdJbW1N
YXNrNjQoKTsKIHZvaWQgdGVzdEJhc2ljU2VsZWN0KCk7CiB2b2lkIHRlc3RTZWxlY3RUZXN0KCk7
CiB2b2lkIHRlc3RTZWxlY3RDb21wYXJlRG91YmxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvdGVzdGIzXzIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rl
c3RiM18yLmNwcAppbmRleCBiMTdlYWFlYTM4MGU5ODE4YjFkMzUxNmY4ODA2MWM4ZGFhNjFjZTRh
Li4zNGFiMGExMTY5YTdlMDI5MTgyMGFjODhkNjM3YTY0MzVlZmI5MzVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy90ZXN0YjNfMi5jcHAKQEAgLTI2ODgsNiArMjY4OCw3OCBAQCB2b2lkIHRlc3RV
YmZ4NjRQYXR0ZXJuTWF0Y2goKQogICAgIH0KIH0KIAordm9pZCB0ZXN0Qml0QW5kWmVyb1NoaWZ0
UmlnaHRBcmdJbW1NYXNrMzIoKQoreworICAgIC8vIFR1cm4gdGhpczogKHRtcCA+PiBpbW0pICYg
bWFzayAKKyAgICAvLyBJbnRvIHRoaXM6IHRtcCA+PiBpbW0KKyAgICB1aW50MzJfdCB0bXAgPSAw
eGZmZmZmZmZmOworICAgIFZlY3Rvcjx1aW50MzJfdD4gaW1tcyA9IHsgNCwgMjggfTsKKyAgICBW
ZWN0b3I8dWludDMyX3Q+IG1hc2tzID0geyAweDBmZmZmZmZmLCAweGYgfTsKKworICAgIGF1dG8g
dGVzdCA9IFsmXSAodWludDMyX3QgaW1tLCB1aW50MzJfdCBtYXNrKSB7CisgICAgICAgIFByb2Nl
ZHVyZSBwcm9jOworICAgICAgICBCYXNpY0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOwor
CisgICAgICAgIFZhbHVlKiB0bXBWYWx1ZSA9IHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4oCisgICAg
ICAgICAgICBwcm9jLCBUcnVuYywgT3JpZ2luKCksIAorICAgICAgICAgICAgcm9vdC0+YXBwZW5k
TmV3PEFyZ3VtZW50UmVnVmFsdWU+KHByb2MsIE9yaWdpbigpLCBHUFJJbmZvOjphcmd1bWVudEdQ
UjApKTsKKyAgICAgICAgVmFsdWUqIGltbVZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0MzJW
YWx1ZT4ocHJvYywgT3JpZ2luKCksIGltbSk7CisgICAgICAgIFZhbHVlKiBsZWZ0VmFsdWUgPSBy
b290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIFpTaHIsIE9yaWdpbigpLCB0bXBWYWx1ZSwgaW1t
VmFsdWUpOworICAgICAgICBWYWx1ZSogcmlnaHRWYWx1ZSA9IHJvb3QtPmFwcGVuZE5ldzxDb25z
dDMyVmFsdWU+KHByb2MsIE9yaWdpbigpLCBtYXNrKTsKKyAgICAgICAgcm9vdC0+YXBwZW5kTmV3
Q29udHJvbFZhbHVlKAorICAgICAgICAgICAgcHJvYywgUmV0dXJuLCBPcmlnaW4oKSwKKyAgICAg
ICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgQml0QW5kLCBPcmlnaW4oKSwgbGVm
dFZhbHVlLCByaWdodFZhbHVlKSk7CisKKyAgICAgICAgYXV0byBjb2RlID0gY29tcGlsZVByb2Mo
cHJvYyk7CisgICAgICAgIGlmIChpc0FSTTY0KCkpIHsKKyAgICAgICAgICAgIGNoZWNrVXNlc0lu
c3RydWN0aW9uKCpjb2RlLCAibHNyIik7CisgICAgICAgICAgICBjaGVja0RvZXNOb3RVc2VJbnN0
cnVjdGlvbigqY29kZSwgImFuZCIpOworICAgICAgICAgICAgY2hlY2tEb2VzTm90VXNlSW5zdHJ1
Y3Rpb24oKmNvZGUsICJ1YmZ4Iik7CisgICAgICAgIH0KKyAgICAgICAgdWludDMyX3QgbGhzID0g
aW52b2tlPHVpbnQzMl90PigqY29kZSwgdG1wKTsKKyAgICAgICAgdWludDMyX3QgcmhzID0gdG1w
ID4+IGltbTsKKyAgICAgICAgQ0hFQ0sobGhzID09IHJocyk7CisgICAgfTsKKworICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgaW1tcy5zaXplKCk7ICsraSkKKyAgICAgICAgdGVzdChpbW1zLmF0
KGkpLCBtYXNrcy5hdChpKSk7Cit9CisKK3ZvaWQgdGVzdEJpdEFuZFplcm9TaGlmdFJpZ2h0QXJn
SW1tTWFzazY0KCkKK3sKKyAgICAvLyBUdXJuIHRoaXM6ICh0bXAgPj4gaW1tKSAmIG1hc2sgCisg
ICAgLy8gSW50byB0aGlzOiB0bXAgPj4gaW1tCisgICAgdWludDY0X3QgdG1wID0gMHhmZmZmZmZm
ZmZmZmZmZmZmOworICAgIFZlY3Rvcjx1aW50NjRfdD4gaW1tcyA9IHsgNCwgNjAgfTsKKyAgICBW
ZWN0b3I8dWludDY0X3Q+IG1hc2tzID0geyAweDBmZmZmZmZmZmZmZmZmZmYsIDB4ZiB9OworCisg
ICAgYXV0byB0ZXN0ID0gWyZdICh1aW50NjRfdCBpbW0sIHVpbnQ2NF90IG1hc2spIHsKKyAgICAg
ICAgUHJvY2VkdXJlIHByb2M7CisgICAgICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJs
b2NrKCk7CisKKyAgICAgICAgVmFsdWUqIHRtcFZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PEFyZ3Vt
ZW50UmVnVmFsdWU+KHByb2MsIE9yaWdpbigpLCBHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAg
ICAgICBWYWx1ZSogaW1tVmFsdWUgPSByb290LT5hcHBlbmROZXc8Q29uc3QzMlZhbHVlPihwcm9j
LCBPcmlnaW4oKSwgaW1tKTsKKyAgICAgICAgVmFsdWUqIGxlZnRWYWx1ZSA9IHJvb3QtPmFwcGVu
ZE5ldzxWYWx1ZT4ocHJvYywgWlNociwgT3JpZ2luKCksIHRtcFZhbHVlLCBpbW1WYWx1ZSk7Cisg
ICAgICAgIFZhbHVlKiByaWdodFZhbHVlID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0NjRWYWx1ZT4o
cHJvYywgT3JpZ2luKCksIG1hc2spOworICAgICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFs
dWUoCisgICAgICAgICAgICBwcm9jLCBSZXR1cm4sIE9yaWdpbigpLAorICAgICAgICAgICAgcm9v
dC0+YXBwZW5kTmV3PFZhbHVlPihwcm9jLCBCaXRBbmQsIE9yaWdpbigpLCBsZWZ0VmFsdWUsIHJp
Z2h0VmFsdWUpKTsKKworICAgICAgICBhdXRvIGNvZGUgPSBjb21waWxlUHJvYyhwcm9jKTsKKyAg
ICAgICAgaWYgKGlzQVJNNjQoKSkgeworICAgICAgICAgICAgY2hlY2tVc2VzSW5zdHJ1Y3Rpb24o
KmNvZGUsICJsc3IiKTsKKyAgICAgICAgICAgIGNoZWNrRG9lc05vdFVzZUluc3RydWN0aW9uKCpj
b2RlLCAiYW5kIik7CisgICAgICAgICAgICBjaGVja0RvZXNOb3RVc2VJbnN0cnVjdGlvbigqY29k
ZSwgInViZngiKTsKKyAgICAgICAgfQorICAgICAgICB1aW50NjRfdCBsaHMgPSBpbnZva2U8dWlu
dDY0X3Q+KCpjb2RlLCB0bXApOworICAgICAgICB1aW50NjRfdCByaHMgPSB0bXAgPj4gaW1tOwor
ICAgICAgICBDSEVDSyhsaHMgPT0gcmhzKTsKKyAgICB9OworCisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBpbW1zLnNpemUoKTsgKytpKQorICAgICAgICB0ZXN0KGltbXMuYXQoaSksIG1hc2tz
LmF0KGkpKTsKK30KKwogc3RhdGljIHZvaWQgdGVzdEJpdEFuZEFyZ3MoaW50NjRfdCBhLCBpbnQ2
NF90IGIpCiB7CiAgICAgUHJvY2VkdXJlIHByb2M7CkBAIC0zNTA2LDcgKzM1NzgsOCBAQCB2b2lk
IGFkZEJpdFRlc3RzKGNvbnN0IGNoYXIqIGZpbHRlciwgRGVxdWU8UmVmUHRyPFNoYXJlZFRhc2s8
dm9pZCgpPj4+JiB0YXNrcykKICAgICBSVU4odGVzdFViZngzMlBhdHRlcm5NYXRjaCgpKTsKICAg
ICBSVU4odGVzdFViZng2NCgpKTsKICAgICBSVU4odGVzdFViZng2NFBhdHRlcm5NYXRjaCgpKTsK
LQorICAgIFJVTih0ZXN0Qml0QW5kWmVyb1NoaWZ0UmlnaHRBcmdJbW1NYXNrMzIoKSk7CisgICAg
UlVOKHRlc3RCaXRBbmRaZXJvU2hpZnRSaWdodEFyZ0ltbU1hc2s2NCgpKTsKICAgICBSVU4odGVz
dEJpdEFuZEFyZ3MoNDMsIDQzKSk7CiAgICAgUlVOKHRlc3RCaXRBbmRBcmdzKDQzLCAwKSk7CiAg
ICAgUlVOKHRlc3RCaXRBbmRBcmdzKDEwLCAzKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>