<?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>228595</bug_id>
          
          <creation_ts>2021-07-29 11:24:39 -0700</creation_ts>
          <short_desc>Improve OSR entry into Wasm loops with arguments</short_desc>
          <delta_ts>2021-07-30 18:40: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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>200362</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1780465</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-07-29 11:24:39 -0700</bug_when>
    <thetext>Follow-up to https://bugs.webkit.org/show_bug.cgi?id=200362 for a new(-ish) language feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780469</commentid>
    <comment_count>1</comment_count>
      <attachid>434546</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-07-29 11:30:58 -0700</bug_when>
    <thetext>Created attachment 434546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780473</commentid>
    <comment_count>2</comment_count>
      <attachid>434548</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-07-29 11:39:45 -0700</bug_when>
    <thetext>Created attachment 434548
Patch

fix the style issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780479</commentid>
    <comment_count>3</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2021-07-29 11:42:42 -0700</bug_when>
    <thetext>rdar://78254778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781026</commentid>
    <comment_count>4</comment_count>
      <attachid>434548</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-07-30 18:18:17 -0700</bug_when>
    <thetext>Comment on attachment 434548
Patch

OK, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781034</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-30 18:40:12 -0700</bug_when>
    <thetext>Committed r280507 (240139@main): &lt;https://commits.webkit.org/240139@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434548.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434546</attachid>
            <date>2021-07-29 11:30:58 -0700</date>
            <delta_ts>2021-07-29 11:39:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch228595</filename>
            <type>text/plain</type>
            <size>12650</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NTM3Y2Y3MzA0MDVhLi44OTY2NGNkYTRmNjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMjkgIFJv
YmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBJbXByb3ZlIE9T
UiBlbnRyeSBpbnRvIFdhc20gbG9vcHMgd2l0aCBhcmd1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODU5NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYSBzdHJhaWdodGZvcndhcmQgdGVz
dCB0aGF0IGNvdW50cyB0byAxTSBpbiBhIGxvb3AsIHRvIGV4ZXJjaXNlIGJvdGggT1NSIGVudHJ5
IGFuZCBhIGxvb3Agd2l0aCBhbiBhcmd1bWVudCBhdCB0aGUgc2FtZSB0aW1lLgorICAgICAgICAx
MDBrIGl0ZXJhdGlvbnMgd2FzIG5vdCBlbm91Z2ggdG8gcmVsaWFibHkgY29tcGxldGUgYW4gT1NS
IGVudHJ5LgorCisgICAgICAgICogd2FzbS9zdHJlc3Mvb3NyLWVudHJ5LXdpdGgtbG9vcC1hcmd1
bWVudHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgdGVzdCk6CisKIDIwMjEtMDctMjIgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQWlyU3RhY2tTbG90J3Mg
dWludDE2X3QgYnl0ZSBzaXplIGlzIHRvbyBzbWFsbApkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNt
L3N0cmVzcy9vc3ItZW50cnktd2l0aC1sb29wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvd2FzbS9z
dHJlc3Mvb3NyLWVudHJ5LXdpdGgtbG9vcC1hcmd1bWVudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wZWZmM2MzMjk3NGQKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3dhc20vc3RyZXNzL29zci1lbnRyeS13aXRoLWxvb3AtYXJndW1lbnRzLmpzCkBAIC0w
LDAgKzEsMjkgQEAKK2ltcG9ydCAqIGFzIGFzc2VydCBmcm9tICcuLi9hc3NlcnQuanMnOworaW1w
b3J0IHsgaW5zdGFudGlhdGUgfSBmcm9tICIuLi93YWJ0LXdyYXBwZXIuanMiOworCitsZXQgd2F0
ID0gYAorKG1vZHVsZQorICAoZnVuYyAoZXhwb3J0ICJ0ZXN0IikgKHBhcmFtICRjb3VudEFyZyBp
MzIpIChyZXN1bHQgaTMyKSAobG9jYWwgJHJlc3VsdCBpMzIpCisgICAgaTMyLmNvbnN0IDAKKyAg
ICAobG9vcCAocGFyYW0gaTMyKSAocmVzdWx0IGkzMikKKyAgICAgIGkzMi5jb25zdCAxCisgICAg
ICBpMzIuYWRkCisgICAgICBsb2NhbC50ZWUgJHJlc3VsdAorICAgICAgbG9jYWwuZ2V0ICRyZXN1
bHQKKyAgICAgIGxvY2FsLmdldCAkY291bnRBcmcKKyAgICAgIGkzMi5sdF91CisgICAgICBicl9p
ZiAwCisgICAgKQorICApCispCitgOworCithc3luYyBmdW5jdGlvbiB0ZXN0KCkgeworICAgIGxl
dCBpbnN0YW5jZSA9IGF3YWl0IGluc3RhbnRpYXRlKHdhdCk7CisKKyAgICBsZXQgcmVzdWx0ID0g
aW5zdGFuY2UuZXhwb3J0cy50ZXN0KDEwMDAwMDApOworICAgIGlmIChyZXN1bHQgIT09IDEwMDAw
MDApCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgMTAwMDAwLCBidXQgZ290OiAi
ICsgcmVzdWx0KTsKK30KKworYXNzZXJ0LmFzeW5jVGVzdCh0ZXN0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggOGE3YTJlMzc5ZjYwLi42YjE1N2Y3ZDBhNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA3LTI5ICBSb2JpbiBNb3Jpc3NldCAg
PHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSBPU1IgZW50cnkgaW50byBX
YXNtIGxvb3BzIHdpdGggYXJndW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjg1OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGhhcyB0d28gcGFydHM6CisgICAgICAgIC0gaW1w
cm92ZSB0aGUgV2FzbSBPU1IgY29kZSB0byBmdWxseSBzdXBwb3J0IGxvb3AgYXJndW1lbnRzIChq
dXN0IHNvbWUgcGx1bWJpbmcgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHJpZ2h0IHZhbHVlcyBhcmUg
cHJvcGFnYXRlZCkKKyAgICAgICAgLSBpbXByb3ZlIHRoZSBCMyB2YWxpZGF0b3IgdG8gZml4IGEg
aG9sZSBJIG5vdGljZWQgd2hpbGUgd3JpdGluZyB0aGUgZmlyc3QgcGFydDogd2Ugd2VyZSBub3Qg
ZGV0ZWN0aW5nIGNvZGUgdGhhdCBpbnRyb2R1Y2UgVXBzaWxvbnMgaW4gdGhlIHdyb25nIGJsb2Nr
cy4KKyAgICAgICAgICBOYXR1cmFsbHksIHRoaXMgY2F1c2VkIGhhcmQgdG8gZGVidWcgaXNzdWVz
LCBhcyBCMyBoYXMgbm8gd2VsbC1kZWZpbmVkIHNlbWFudGljcyBmb3IgYSBQaGkgdGhhdCBpcyBy
ZWFjaGVkIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBVcHNpbG9uKHMpLgorCisgICAgICAgICog
YjMvQjNWYWxpZGF0ZS5jcHA6CisgICAgICAgICogd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpXYXNtOjpBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVj
ayk6CisgICAgICAgIChKU0M6Oldhc206OkFpcklSR2VuZXJhdG9yOjphZGRMb29wKToKKyAgICAg
ICAgKiB3YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJ
UkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayk6CisgICAgICAgIChKU0M6Oldhc206OkIz
SVJHZW5lcmF0b3I6OmFkZExvb3ApOgorICAgICAgICAqIHdhc20vV2FzbUxMSW50R2VuZXJhdG9y
LmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExvb3ApOgorCiAy
MDIxLTA3LTIyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIEFp
clN0YWNrU2xvdCdzIHVpbnQxNl90IGJ5dGUgc2l6ZSBpcyB0b28gc21hbGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcAppbmRleCA0ZWU3ZWM4OGZmYWEuLjdkNzI2N2RkZjEw
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsaWRhdGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcApAQCAtNTcyLDYgKzU3
Miw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBwcmVkZWNlc3NvcnMuYWRkKHByZWRlY2Vz
c29yKTsKICAgICAgICAgICAgIFZBTElEQVRFKGJsb2NrLT5udW1QcmVkZWNlc3NvcnMoKSA9PSBw
cmVkZWNlc3NvcnMuc2l6ZSgpLCAoIkF0ICIsICpibG9jaykpOwogICAgICAgICB9CisKKyAgICAg
ICAgdmFsaWRhdGVQaGlzQXJlRG9taW5hdGVkQnlVcHNpbG9ucygpOwogICAgIH0KIAogcHJpdmF0
ZToKQEAgLTY1Miw3ICs2NTQsNTIgQEAgcHJpdmF0ZToKIAogICAgICAgICBWQUxJREFURShtZW1v
cnktPm9mZnNldCgpID49IDAsICgiQXQgIiwgKnZhbHVlKSk7CiAgICAgfQotICAgIAorCisgICAg
Ly8gQSBzaW1wbGUgYmFja3dhcmRzIGFuYWx5c2lzIHRvIGNoZWNrIHRoYXQgd2UgY2Fubm90IHJl
YWNoIGEgUGhpIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBhIGNvcnJlc3BvbmRpbmcgVXBzaWxvbgor
ICAgIC8vIFdlIGNhbm5vdCB1c2UgdGhlIGRvbWluYXRvciB0cmVlLCBzaW5jZSB3ZSBhcmUgY2hl
Y2tpbmcgdGhhdCBlYWNoIFBoaSBpcyBkb21pbmF0ZWQgYnkgYSB0aGUgc2V0IG9mIGFsbCBvZiBp
dHMgdXBzaWxvbnMsIGFuZCBub3QgYnkgYSBzaW5nbGUgbm9kZS4KKyAgICB2b2lkIHZhbGlkYXRl
UGhpc0FyZURvbWluYXRlZEJ5VXBzaWxvbnMoKQorICAgIHsKKyAgICAgICAgYm9vbCBjaGFuZ2Vk
ID0gdHJ1ZTsKKyAgICAgICAgQml0VmVjdG9yIGJsb2Nrc1RvVmlzaXQ7CisgICAgICAgIEluZGV4
TWFwPEJhc2ljQmxvY2sqLCBIYXNoU2V0PFZhbHVlKj4+IHVuZG9taW5hdGVkUGhpc0F0VGFpbCht
X3Byb2NlZHVyZS5zaXplKCkpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9w
cm9jZWR1cmUpCisgICAgICAgICAgICBibG9ja3NUb1Zpc2l0LnNldChibG9jay0+aW5kZXgoKSk7
CisgICAgICAgIHdoaWxlIChjaGFuZ2VkKSB7CisgICAgICAgICAgICBjaGFuZ2VkID0gZmFsc2U7
CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9wcm9jZWR1cmUuYmxvY2tz
SW5Qb3N0T3JkZXIoKSkgeworICAgICAgICAgICAgICAgIGlmICghYmxvY2tzVG9WaXNpdC5xdWlj
a0NsZWFyKGJsb2NrLT5pbmRleCgpKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgICAgSGFzaFNldDxWYWx1ZSo+IHVuZG9taW5hdGVkUGhpcyA9IHVuZG9taW5h
dGVkUGhpc0F0VGFpbFtibG9ja107CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpbmRl
eCA9IGJsb2NrLT5zaXplKCktMTsgaW5kZXgtLTspIHsKKyAgICAgICAgICAgICAgICAgICAgVmFs
dWUqIHZhbHVlID0gYmxvY2stPmF0KGluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNo
KHZhbHVlLT5vcGNvZGUoKSkgeworICAgICAgICAgICAgICAgICAgICBjYXNlIFVwc2lsb246Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1bmRvbWluYXRlZFBoaXMucmVtb3ZlKHZhbHVlLT5hczxV
cHNpbG9uVmFsdWU+KCktPnBoaSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgICAgICAgICBjYXNlIFBoaToKKyAgICAgICAgICAgICAgICAgICAgICAgIFZB
TElEQVRFKCF1bmRvbWluYXRlZFBoaXMuY29udGFpbnModmFsdWUpLCAoIkF0ICIsICp2YWx1ZSkp
OworICAgICAgICAgICAgICAgICAgICAgICAgdW5kb21pbmF0ZWRQaGlzLmFkZCh2YWx1ZSk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZvciAoQmFzaWNCbG9jayogcHJl
ZGVjZXNzb3IgOiBibG9jay0+cHJlZGVjZXNzb3JzKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
Ym9vbCBjaGFuZ2VkU2V0ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIGZvciAoVmFsdWUq
IHBoaSA6IHVuZG9taW5hdGVkUGhpcykgeworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdl
ZFNldCB8PSB1bmRvbWluYXRlZFBoaXNBdFRhaWxbcHJlZGVjZXNzb3JdLmFkZChwaGkpLmlzTmV3
RW50cnk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgaWYgKGNo
YW5nZWRTZXQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJsb2Nrc1RvVmlzaXQucXVpY2tT
ZXQocHJlZGVjZXNzb3ItPmluZGV4KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdl
ZCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgaWYgKCFibG9jay0+aW5kZXgoKSkKKyAgICAgICAgICAgICAgICAgICAgVkFM
SURBVEUodW5kb21pbmF0ZWRQaGlzLmlzRW1wdHkoKSwgKCJVbmRvbWluYXRlZCBwaGkgYXQgdG9w
IG9mIGVudHJ5IGJsb2NrOiAiLCAqKnVuZG9taW5hdGVkUGhpcy5iZWdpbigpKSk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9CisKICAgICBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZv
aWQgZmFpbCgKICAgICAgICAgY29uc3QgY2hhciogZmlsZW5hbWUsIGludCBsaW5lTnVtYmVyLCBj
b25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogY29uZGl0aW9uLAogICAgICAgICBDU3Ry
aW5nIG1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
QWlySVJHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklS
R2VuZXJhdG9yLmNwcAppbmRleCA2YWFlOWM2N2RmYjUuLmY5YzI5NDYwMDYxOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwCkBAIC02
NjgsNyArNjY4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVtaXRUaHJvd0V4Y2VwdGlvbihDQ2Fs
bEhlbHBlcnMmLCBFeGNlcHRpb25UeXBlKTsKIAogICAgIHZvaWQgZW1pdEVudHJ5VGllclVwQ2hl
Y2soKTsKLSAgICB2b2lkIGVtaXRMb29wVGllclVwQ2hlY2sodWludDMyX3QgbG9vcEluZGV4LCBj
b25zdCBTdGFjayYgZW5jbG9zaW5nU3RhY2spOworICAgIHZvaWQgZW1pdExvb3BUaWVyVXBDaGVj
ayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3NpbmdTdGFjaywgY29uc3Qg
U3RhY2smIG5ld1N0YWNrKTsKIAogICAgIHZvaWQgZW1pdFdyaXRlQmFycmllckZvckpTV3JhcHBl
cigpOwogICAgIEV4cHJlc3Npb25UeXBlIGVtaXRDaGVja0FuZFByZXBhcmVQb2ludGVyKEV4cHJl
c3Npb25UeXBlIHBvaW50ZXIsIHVpbnQzMl90IG9mZnNldCwgdWludDMyX3Qgc2l6ZU9mT3ApOwpA
QCAtMjg0Niw3ICsyODQ2LDcgQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVw
Q2hlY2soKQogICAgIGVtaXRQYXRjaHBvaW50KHBhdGNoLCBUbXAoKSwgY291bnRkb3duUHRyKTsK
IH0KIAotdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayh1aW50MzJfdCBs
b29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3NpbmdTdGFjaykKK3ZvaWQgQWlySVJHZW5lcmF0
b3I6OmVtaXRMb29wVGllclVwQ2hlY2sodWludDMyX3QgbG9vcEluZGV4LCBjb25zdCBTdGFjayYg
ZW5jbG9zaW5nU3RhY2ssIGNvbnN0IFN0YWNrJiBuZXdTdGFjaykKIHsKICAgICB1aW50MzJfdCBv
dXRlckxvb3BJbmRleCA9IHRoaXMtPm91dGVyTG9vcEluZGV4KCk7CiAgICAgbV9vdXRlckxvb3Bz
LmFwcGVuZChsb29wSW5kZXgpOwpAQCAtMjg4NSw2ICsyODg1LDggQEAgdm9pZCBBaXJJUkdlbmVy
YXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNr
JiBlbmNsb3MKICAgICB9CiAgICAgZm9yIChUeXBlZEV4cHJlc3Npb24gdmFsdWUgOiBlbmNsb3Np
bmdTdGFjaykKICAgICAgICAgcGF0Y2hBcmdzLmFwcGVuZChDb25zdHJhaW5lZFRtcCh2YWx1ZS52
YWx1ZSgpLCBCMzo6VmFsdWVSZXA6OkNvbGRBbnkpKTsKKyAgICBmb3IgKFR5cGVkRXhwcmVzc2lv
biB2YWx1ZSA6IG5ld1N0YWNrKQorICAgICAgICBwYXRjaEFyZ3MuYXBwZW5kKENvbnN0cmFpbmVk
VG1wKHZhbHVlLnZhbHVlKCksIEIzOjpWYWx1ZVJlcDo6Q29sZEFueSkpOwogCiAgICAgVGllclVw
Q291bnQ6OlRyaWdnZXJSZWFzb24qIGZvcmNlRW50cnlUcmlnZ2VyID0gJihtX3RpZXJVcC0+b3Ny
RW50cnlUcmlnZ2VycygpLmxhc3QoKSk7CiAgICAgc3RhdGljX2Fzc2VydCghc3RhdGljX2Nhc3Q8
dWludDhfdD4oVGllclVwQ291bnQ6OlRyaWdnZXJSZWFzb246OkRvbnRUcmlnZ2VyKSwgInRoZSBK
SVQgY29kZSBhc3N1bWVzIG5vbi16ZXJvIG1lYW5zICdlbnRlciciKTsKQEAgLTI5MzYsNyArMjkz
OCw3IEBAIGF1dG8gQWlySVJHZW5lcmF0b3I6OmFkZExvb3AoQmxvY2tTaWduYXR1cmUgc2lnbmF0
dXJlLCBTdGFjayYgZW5jbG9zaW5nU3RhY2ssIENvCiAgICAgbV9jdXJyZW50QmxvY2stPnNldFN1
Y2Nlc3NvcnMoYm9keSk7CiAKICAgICBtX2N1cnJlbnRCbG9jayA9IGJvZHk7Ci0gICAgZW1pdExv
b3BUaWVyVXBDaGVjayhsb29wSW5kZXgsIGVuY2xvc2luZ1N0YWNrKTsKKyAgICBlbWl0TG9vcFRp
ZXJVcENoZWNrKGxvb3BJbmRleCwgZW5jbG9zaW5nU3RhY2ssIG5ld1N0YWNrKTsKIAogICAgIHJl
dHVybiB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
QjNJUkdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdl
bmVyYXRvci5jcHAKaW5kZXggMGJlYjhmYjg0ZDVmLi4wODFjYzJiMjU1ZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTMwNCw3
ICszMDQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZW1pdEV4Y2VwdGlvbkNoZWNrKENDYWxsSGVs
cGVycyYsIEV4Y2VwdGlvblR5cGUpOwogCiAgICAgdm9pZCBlbWl0RW50cnlUaWVyVXBDaGVjaygp
OwotICAgIHZvaWQgZW1pdExvb3BUaWVyVXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0
IFN0YWNrJiBlbmNsb3NpbmdTdGFjayk7CisgICAgdm9pZCBlbWl0TG9vcFRpZXJVcENoZWNrKHVp
bnQzMl90IGxvb3BJbmRleCwgY29uc3QgU3RhY2smIGVuY2xvc2luZ1N0YWNrLCBjb25zdCBTdGFj
ayYgbmV3U3RhY2spOwogCiAgICAgdm9pZCBlbWl0V3JpdGVCYXJyaWVyRm9ySlNXcmFwcGVyKCk7
CiAgICAgRXhwcmVzc2lvblR5cGUgZW1pdENoZWNrQW5kUHJlcGFyZVBvaW50ZXIoRXhwcmVzc2lv
blR5cGUgcG9pbnRlciwgdWludDMyX3Qgb2Zmc2V0LCB1aW50MzJfdCBzaXplT2ZPcCk7CkBAIC0y
MDY3LDcgKzIwNjcsNyBAQCB2b2lkIEIzSVJHZW5lcmF0b3I6OmVtaXRFbnRyeVRpZXJVcENoZWNr
KCkKICAgICB9KTsKIH0KIAotdm9pZCBCM0lSR2VuZXJhdG9yOjplbWl0TG9vcFRpZXJVcENoZWNr
KHVpbnQzMl90IGxvb3BJbmRleCwgY29uc3QgU3RhY2smIGVuY2xvc2luZ1N0YWNrKQordm9pZCBC
M0lSR2VuZXJhdG9yOjplbWl0TG9vcFRpZXJVcENoZWNrKHVpbnQzMl90IGxvb3BJbmRleCwgY29u
c3QgU3RhY2smIGVuY2xvc2luZ1N0YWNrLCBjb25zdCBTdGFjayYgbmV3U3RhY2spCiB7CiAgICAg
dWludDMyX3Qgb3V0ZXJMb29wSW5kZXggPSB0aGlzLT5vdXRlckxvb3BJbmRleCgpOwogICAgIG1f
b3V0ZXJMb29wcy5hcHBlbmQobG9vcEluZGV4KTsKQEAgLTIwOTQsNiArMjA5NCw4IEBAIHZvaWQg
QjNJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNv
bnN0IFN0YWNrJiBlbmNsb3NpCiAgICAgfQogICAgIGZvciAoVHlwZWRFeHByZXNzaW9uIHZhbHVl
IDogZW5jbG9zaW5nU3RhY2spCiAgICAgICAgIHN0YWNrbWFwLmFwcGVuZCh2YWx1ZSk7CisgICAg
Zm9yIChUeXBlZEV4cHJlc3Npb24gdmFsdWUgOiBuZXdTdGFjaykKKyAgICAgICAgc3RhY2ttYXAu
YXBwZW5kKHZhbHVlKTsKIAogICAgIFBhdGNocG9pbnRWYWx1ZSogcGF0Y2ggPSBtX2N1cnJlbnRC
bG9jay0+YXBwZW5kTmV3PFBhdGNocG9pbnRWYWx1ZT4obV9wcm9jLCBCMzo6Vm9pZCwgb3JpZ2lu
KTsKICAgICBFZmZlY3RzIGVmZmVjdHMgPSBFZmZlY3RzOjpub25lKCk7CkBAIC0yMTQ0LDE5ICsy
MTQ2LDE0IEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6YWRkTG9vcChCbG9ja1NpZ25hdHVyZSBzaWdu
YXR1cmUsIFN0YWNrJiBlbmNsb3NpbmdTdGFjaywgQ29uCiAgICAgQmFzaWNCbG9jayogY29udGlu
dWF0aW9uID0gbV9wcm9jLmFkZEJsb2NrKCk7CiAKICAgICBibG9jayA9IENvbnRyb2xEYXRhKG1f
cHJvYywgb3JpZ2luKCksIHNpZ25hdHVyZSwgQmxvY2tUeXBlOjpMb29wLCBjb250aW51YXRpb24s
IGJvZHkpOwotCi0gICAgRXhwcmVzc2lvbkxpc3QgYXJnczsKLSAgICB7Ci0gICAgICAgIHVuc2ln
bmVkIG9mZnNldCA9IGVuY2xvc2luZ1N0YWNrLnNpemUoKSAtIHNpZ25hdHVyZS0+YXJndW1lbnRD
b3VudCgpOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2lnbmF0dXJlLT5hcmd1
bWVudENvdW50KCk7ICsraSkgewotICAgICAgICAgICAgVHlwZWRFeHByZXNzaW9uIHZhbHVlID0g
ZW5jbG9zaW5nU3RhY2suYXQob2Zmc2V0ICsgaSk7Ci0gICAgICAgICAgICBhdXRvKiB1cHNpbG9u
ID0gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxVcHNpbG9uVmFsdWU+KG1fcHJvYywgb3JpZ2lu
KCksIHZhbHVlKTsKLSAgICAgICAgICAgIFZhbHVlKiBwaGkgPSBibG9jay5waGlzW2ldOwotICAg
ICAgICAgICAgYm9keS0+YXBwZW5kKHBoaSk7Ci0gICAgICAgICAgICB1cHNpbG9uLT5zZXRQaGko
cGhpKTsKLSAgICAgICAgICAgIG5ld1N0YWNrLmNvbnN0cnVjdEFuZEFwcGVuZCh2YWx1ZS50eXBl
KCksIHBoaSk7Ci0gICAgICAgIH0KLSAgICAgICAgZW5jbG9zaW5nU3RhY2suc2hyaW5rKG9mZnNl
dCk7CisgICAgdW5zaWduZWQgb2Zmc2V0ID0gZW5jbG9zaW5nU3RhY2suc2l6ZSgpIC0gc2lnbmF0
dXJlLT5hcmd1bWVudENvdW50KCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpZ25h
dHVyZS0+YXJndW1lbnRDb3VudCgpOyArK2kpIHsKKyAgICAgICAgVHlwZWRFeHByZXNzaW9uIHZh
bHVlID0gZW5jbG9zaW5nU3RhY2suYXQob2Zmc2V0ICsgaSk7CisgICAgICAgIGF1dG8qIHVwc2ls
b24gPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PFVwc2lsb25WYWx1ZT4obV9wcm9jLCBvcmln
aW4oKSwgdmFsdWUpOworICAgICAgICBWYWx1ZSogcGhpID0gYmxvY2sucGhpc1tpXTsKKyAgICAg
ICAgYm9keS0+YXBwZW5kKHBoaSk7CisgICAgICAgIHVwc2lsb24tPnNldFBoaShwaGkpOworICAg
ICAgICBuZXdTdGFjay5jb25zdHJ1Y3RBbmRBcHBlbmQodmFsdWUudHlwZSgpLCBwaGkpOwogICAg
IH0KIAogICAgIG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXdDb250cm9sVmFsdWUobV9wcm9jLCBK
dW1wLCBvcmlnaW4oKSwgYm9keSk7CkBAIC0yMjE3LDE1ICsyMjE0LDIyIEBAIGF1dG8gQjNJUkdl
bmVyYXRvcjo6YWRkTG9vcChCbG9ja1NpZ25hdHVyZSBzaWduYXR1cmUsIFN0YWNrJiBlbmNsb3Np
bmdTdGFjaywgQ29uCiAgICAgICAgICAgICBhdXRvJiBleHByZXNzaW9uU3RhY2sgPSBtX3BhcnNl
ci0+Y29udHJvbFN0YWNrKClbY29udHJvbEluZGV4XS5lbmNsb3NlZEV4cHJlc3Npb25TdGFjazsK
ICAgICAgICAgICAgIGNvbm5lY3RDb250cm9sRW50cnkoZGF0YSwgZXhwcmVzc2lvblN0YWNrKTsK
ICAgICAgICAgfQorICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2lnbmF0dXJlLT5h
cmd1bWVudENvdW50KCk7ICsraSkgeworICAgICAgICAgICAgVHlwZWRFeHByZXNzaW9uIHZhbHVl
ID0gZW5jbG9zaW5nU3RhY2suYXQob2Zmc2V0ICsgaSk7CisgICAgICAgICAgICBWYWx1ZSogcGhp
ID0gYmxvY2sucGhpc1tpXTsKKyAgICAgICAgICAgIG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8
VXBzaWxvblZhbHVlPihtX3Byb2MsIHZhbHVlLT5vcmlnaW4oKSwgbG9hZEZyb21TY3JhdGNoQnVm
ZmVyKHZhbHVlLT50eXBlKCkpLCBwaGkpOworICAgICAgICB9CisgICAgICAgIGVuY2xvc2luZ1N0
YWNrLnNocmluayhvZmZzZXQpOwogICAgICAgICBjb25uZWN0Q29udHJvbEVudHJ5KGJsb2NrLCBl
bmNsb3NpbmdTdGFjayk7CiAKICAgICAgICAgbV9vc3JFbnRyeVNjcmF0Y2hCdWZmZXJTaXplID0g
aW5kZXhJbkJ1ZmZlcjsKICAgICAgICAgbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ld0NvbnRyb2xW
YWx1ZShtX3Byb2MsIEp1bXAsIG9yaWdpbigpLCBib2R5KTsKICAgICAgICAgYm9keS0+YWRkUHJl
ZGVjZXNzb3IobV9jdXJyZW50QmxvY2spOwotICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgZW5j
bG9zaW5nU3RhY2suc2hyaW5rKG9mZnNldCk7CiAKICAgICBtX2N1cnJlbnRCbG9jayA9IGJvZHk7
Ci0gICAgZW1pdExvb3BUaWVyVXBDaGVjayhsb29wSW5kZXgsIGVuY2xvc2luZ1N0YWNrKTsKKyAg
ICBlbWl0TG9vcFRpZXJVcENoZWNrKGxvb3BJbmRleCwgZW5jbG9zaW5nU3RhY2ssIG5ld1N0YWNr
KTsKICAgICByZXR1cm4geyB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcAppbmRleCBmYzA3ODFmMzUzNTguLjgxYTVjZGJjYWUz
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50R2VuZXJh
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0
b3IuY3BwCkBAIC05MjIsNiArOTIyLDggQEAgYXV0byBMTEludEdlbmVyYXRvcjo6YWRkTG9vcChC
bG9ja1NpZ25hdHVyZSBzaWduYXR1cmUsIFN0YWNrJiBlbmNsb3NpbmdTdGFjaywgQ28KICAgICB9
CiAgICAgZm9yIChUeXBlZEV4cHJlc3Npb24gZXhwcmVzc2lvbiA6IGVuY2xvc2luZ1N0YWNrKQog
ICAgICAgICBvc3JFbnRyeURhdGEuYXBwZW5kKGV4cHJlc3Npb24pOworICAgIGZvciAoVHlwZWRF
eHByZXNzaW9uIGV4cHJlc3Npb24gOiBuZXdTdGFjaykKKyAgICAgICAgb3NyRW50cnlEYXRhLmFw
cGVuZChleHByZXNzaW9uKTsKIAogICAgIFdhc21Mb29wSGludDo6ZW1pdCh0aGlzKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434548</attachid>
            <date>2021-07-29 11:39:45 -0700</date>
            <delta_ts>2021-07-30 18:40:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch228595</filename>
            <type>text/plain</type>
            <size>12626</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NTM3Y2Y3MzA0MDVhLi44OTY2NGNkYTRmNjMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMjkgIFJv
YmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBJbXByb3ZlIE9T
UiBlbnRyeSBpbnRvIFdhc20gbG9vcHMgd2l0aCBhcmd1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODU5NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEp1c3QgYSBzdHJhaWdodGZvcndhcmQgdGVz
dCB0aGF0IGNvdW50cyB0byAxTSBpbiBhIGxvb3AsIHRvIGV4ZXJjaXNlIGJvdGggT1NSIGVudHJ5
IGFuZCBhIGxvb3Agd2l0aCBhbiBhcmd1bWVudCBhdCB0aGUgc2FtZSB0aW1lLgorICAgICAgICAx
MDBrIGl0ZXJhdGlvbnMgd2FzIG5vdCBlbm91Z2ggdG8gcmVsaWFibHkgY29tcGxldGUgYW4gT1NS
IGVudHJ5LgorCisgICAgICAgICogd2FzbS9zdHJlc3Mvb3NyLWVudHJ5LXdpdGgtbG9vcC1hcmd1
bWVudHMuanM6IEFkZGVkLgorICAgICAgICAoYXN5bmMgdGVzdCk6CisKIDIwMjEtMDctMjIgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQWlyU3RhY2tTbG90J3Mg
dWludDE2X3QgYnl0ZSBzaXplIGlzIHRvbyBzbWFsbApkaWZmIC0tZ2l0IGEvSlNUZXN0cy93YXNt
L3N0cmVzcy9vc3ItZW50cnktd2l0aC1sb29wLWFyZ3VtZW50cy5qcyBiL0pTVGVzdHMvd2FzbS9z
dHJlc3Mvb3NyLWVudHJ5LXdpdGgtbG9vcC1hcmd1bWVudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wZWZmM2MzMjk3NGQKLS0tIC9kZXYvbnVsbAorKysgYi9K
U1Rlc3RzL3dhc20vc3RyZXNzL29zci1lbnRyeS13aXRoLWxvb3AtYXJndW1lbnRzLmpzCkBAIC0w
LDAgKzEsMjkgQEAKK2ltcG9ydCAqIGFzIGFzc2VydCBmcm9tICcuLi9hc3NlcnQuanMnOworaW1w
b3J0IHsgaW5zdGFudGlhdGUgfSBmcm9tICIuLi93YWJ0LXdyYXBwZXIuanMiOworCitsZXQgd2F0
ID0gYAorKG1vZHVsZQorICAoZnVuYyAoZXhwb3J0ICJ0ZXN0IikgKHBhcmFtICRjb3VudEFyZyBp
MzIpIChyZXN1bHQgaTMyKSAobG9jYWwgJHJlc3VsdCBpMzIpCisgICAgaTMyLmNvbnN0IDAKKyAg
ICAobG9vcCAocGFyYW0gaTMyKSAocmVzdWx0IGkzMikKKyAgICAgIGkzMi5jb25zdCAxCisgICAg
ICBpMzIuYWRkCisgICAgICBsb2NhbC50ZWUgJHJlc3VsdAorICAgICAgbG9jYWwuZ2V0ICRyZXN1
bHQKKyAgICAgIGxvY2FsLmdldCAkY291bnRBcmcKKyAgICAgIGkzMi5sdF91CisgICAgICBicl9p
ZiAwCisgICAgKQorICApCispCitgOworCithc3luYyBmdW5jdGlvbiB0ZXN0KCkgeworICAgIGxl
dCBpbnN0YW5jZSA9IGF3YWl0IGluc3RhbnRpYXRlKHdhdCk7CisKKyAgICBsZXQgcmVzdWx0ID0g
aW5zdGFuY2UuZXhwb3J0cy50ZXN0KDEwMDAwMDApOworICAgIGlmIChyZXN1bHQgIT09IDEwMDAw
MDApCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgMTAwMDAwLCBidXQgZ290OiAi
ICsgcmVzdWx0KTsKK30KKworYXNzZXJ0LmFzeW5jVGVzdCh0ZXN0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggOGE3YTJlMzc5ZjYwLi42YjE1N2Y3ZDBhNzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA3LTI5ICBSb2JpbiBNb3Jpc3NldCAg
PHJtb3Jpc3NldEBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSBPU1IgZW50cnkgaW50byBX
YXNtIGxvb3BzIHdpdGggYXJndW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjg1OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGhhcyB0d28gcGFydHM6CisgICAgICAgIC0gaW1w
cm92ZSB0aGUgV2FzbSBPU1IgY29kZSB0byBmdWxseSBzdXBwb3J0IGxvb3AgYXJndW1lbnRzIChq
dXN0IHNvbWUgcGx1bWJpbmcgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHJpZ2h0IHZhbHVlcyBhcmUg
cHJvcGFnYXRlZCkKKyAgICAgICAgLSBpbXByb3ZlIHRoZSBCMyB2YWxpZGF0b3IgdG8gZml4IGEg
aG9sZSBJIG5vdGljZWQgd2hpbGUgd3JpdGluZyB0aGUgZmlyc3QgcGFydDogd2Ugd2VyZSBub3Qg
ZGV0ZWN0aW5nIGNvZGUgdGhhdCBpbnRyb2R1Y2UgVXBzaWxvbnMgaW4gdGhlIHdyb25nIGJsb2Nr
cy4KKyAgICAgICAgICBOYXR1cmFsbHksIHRoaXMgY2F1c2VkIGhhcmQgdG8gZGVidWcgaXNzdWVz
LCBhcyBCMyBoYXMgbm8gd2VsbC1kZWZpbmVkIHNlbWFudGljcyBmb3IgYSBQaGkgdGhhdCBpcyBy
ZWFjaGVkIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBVcHNpbG9uKHMpLgorCisgICAgICAgICog
YjMvQjNWYWxpZGF0ZS5jcHA6CisgICAgICAgICogd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpXYXNtOjpBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVj
ayk6CisgICAgICAgIChKU0M6Oldhc206OkFpcklSR2VuZXJhdG9yOjphZGRMb29wKToKKyAgICAg
ICAgKiB3YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJ
UkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVjayk6CisgICAgICAgIChKU0M6Oldhc206OkIz
SVJHZW5lcmF0b3I6OmFkZExvb3ApOgorICAgICAgICAqIHdhc20vV2FzbUxMSW50R2VuZXJhdG9y
LmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6TExJbnRHZW5lcmF0b3I6OmFkZExvb3ApOgorCiAy
MDIxLTA3LTIyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIEFp
clN0YWNrU2xvdCdzIHVpbnQxNl90IGJ5dGUgc2l6ZSBpcyB0b28gc21hbGwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcAppbmRleCA0ZWU3ZWM4OGZmYWEuLmYzMjFmNmNjNzBj
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzVmFsaWRhdGUuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1ZhbGlkYXRlLmNwcApAQCAtNTcyLDYgKzU3
Miw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBwcmVkZWNlc3NvcnMuYWRkKHByZWRlY2Vz
c29yKTsKICAgICAgICAgICAgIFZBTElEQVRFKGJsb2NrLT5udW1QcmVkZWNlc3NvcnMoKSA9PSBw
cmVkZWNlc3NvcnMuc2l6ZSgpLCAoIkF0ICIsICpibG9jaykpOwogICAgICAgICB9CisKKyAgICAg
ICAgdmFsaWRhdGVQaGlzQXJlRG9taW5hdGVkQnlVcHNpbG9ucygpOwogICAgIH0KIAogcHJpdmF0
ZToKQEAgLTY1Miw3ICs2NTQsNTEgQEAgcHJpdmF0ZToKIAogICAgICAgICBWQUxJREFURShtZW1v
cnktPm9mZnNldCgpID49IDAsICgiQXQgIiwgKnZhbHVlKSk7CiAgICAgfQotICAgIAorCisgICAg
Ly8gQSBzaW1wbGUgYmFja3dhcmRzIGFuYWx5c2lzIHRvIGNoZWNrIHRoYXQgd2UgY2Fubm90IHJl
YWNoIGEgUGhpIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBhIGNvcnJlc3BvbmRpbmcgVXBzaWxvbgor
ICAgIC8vIFdlIGNhbm5vdCB1c2UgdGhlIGRvbWluYXRvciB0cmVlLCBzaW5jZSB3ZSBhcmUgY2hl
Y2tpbmcgdGhhdCBlYWNoIFBoaSBpcyBkb21pbmF0ZWQgYnkgYSB0aGUgc2V0IG9mIGFsbCBvZiBp
dHMgdXBzaWxvbnMsIGFuZCBub3QgYnkgYSBzaW5nbGUgbm9kZS4KKyAgICB2b2lkIHZhbGlkYXRl
UGhpc0FyZURvbWluYXRlZEJ5VXBzaWxvbnMoKQorICAgIHsKKyAgICAgICAgYm9vbCBjaGFuZ2Vk
ID0gdHJ1ZTsKKyAgICAgICAgQml0VmVjdG9yIGJsb2Nrc1RvVmlzaXQ7CisgICAgICAgIEluZGV4
TWFwPEJhc2ljQmxvY2sqLCBIYXNoU2V0PFZhbHVlKj4+IHVuZG9taW5hdGVkUGhpc0F0VGFpbCht
X3Byb2NlZHVyZS5zaXplKCkpOworICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9w
cm9jZWR1cmUpCisgICAgICAgICAgICBibG9ja3NUb1Zpc2l0LnNldChibG9jay0+aW5kZXgoKSk7
CisgICAgICAgIHdoaWxlIChjaGFuZ2VkKSB7CisgICAgICAgICAgICBjaGFuZ2VkID0gZmFsc2U7
CisgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIGJsb2NrIDogbV9wcm9jZWR1cmUuYmxvY2tz
SW5Qb3N0T3JkZXIoKSkgeworICAgICAgICAgICAgICAgIGlmICghYmxvY2tzVG9WaXNpdC5xdWlj
a0NsZWFyKGJsb2NrLT5pbmRleCgpKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgICAgSGFzaFNldDxWYWx1ZSo+IHVuZG9taW5hdGVkUGhpcyA9IHVuZG9taW5h
dGVkUGhpc0F0VGFpbFtibG9ja107CisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpbmRl
eCA9IGJsb2NrLT5zaXplKCktMTsgaW5kZXgtLTspIHsKKyAgICAgICAgICAgICAgICAgICAgVmFs
dWUqIHZhbHVlID0gYmxvY2stPmF0KGluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAgc3dpdGNo
ICh2YWx1ZS0+b3Bjb2RlKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBVcHNpbG9uOgor
ICAgICAgICAgICAgICAgICAgICAgICAgdW5kb21pbmF0ZWRQaGlzLnJlbW92ZSh2YWx1ZS0+YXM8
VXBzaWxvblZhbHVlPigpLT5waGkoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAgICAgY2FzZSBQaGk6CisgICAgICAgICAgICAgICAgICAgICAgICBW
QUxJREFURSghdW5kb21pbmF0ZWRQaGlzLmNvbnRhaW5zKHZhbHVlKSwgKCJBdCAiLCAqdmFsdWUp
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuZG9taW5hdGVkUGhpcy5hZGQodmFsdWUpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKEJhc2ljQmxvY2sqIHBy
ZWRlY2Vzc29yIDogYmxvY2stPnByZWRlY2Vzc29ycygpKSB7CisgICAgICAgICAgICAgICAgICAg
IGJvb2wgY2hhbmdlZFNldCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBmb3IgKFZhbHVl
KiBwaGkgOiB1bmRvbWluYXRlZFBoaXMpCisgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2Vk
U2V0IHw9IHVuZG9taW5hdGVkUGhpc0F0VGFpbFtwcmVkZWNlc3Nvcl0uYWRkKHBoaSkuaXNOZXdF
bnRyeTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoYW5nZWRTZXQpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGJsb2Nrc1RvVmlzaXQucXVpY2tTZXQocHJlZGVjZXNzb3ItPmluZGV4KCkp
OworICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKCFibG9jay0+
aW5kZXgoKSkKKyAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUodW5kb21pbmF0ZWRQaGlzLmlz
RW1wdHkoKSwgKCJVbmRvbWluYXRlZCBwaGkgYXQgdG9wIG9mIGVudHJ5IGJsb2NrOiAiLCAqKnVu
ZG9taW5hdGVkUGhpcy5iZWdpbigpKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisKICAgICBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZmFpbCgKICAgICAgICAgY29uc3Qg
Y2hhciogZmlsZW5hbWUsIGludCBsaW5lTnVtYmVyLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29u
c3QgY2hhciogY29uZGl0aW9uLAogICAgICAgICBDU3RyaW5nIG1lc3NhZ2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAppbmRleCA2YWFl
OWM2N2RmYjUuLmY5YzI5NDYwMDYxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUFpcklSR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d2FzbS9XYXNtQWlySVJHZW5lcmF0b3IuY3BwCkBAIC02NjgsNyArNjY4LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGVtaXRUaHJvd0V4Y2VwdGlvbihDQ2FsbEhlbHBlcnMmLCBFeGNlcHRpb25UeXBl
KTsKIAogICAgIHZvaWQgZW1pdEVudHJ5VGllclVwQ2hlY2soKTsKLSAgICB2b2lkIGVtaXRMb29w
VGllclVwQ2hlY2sodWludDMyX3QgbG9vcEluZGV4LCBjb25zdCBTdGFjayYgZW5jbG9zaW5nU3Rh
Y2spOworICAgIHZvaWQgZW1pdExvb3BUaWVyVXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNv
bnN0IFN0YWNrJiBlbmNsb3NpbmdTdGFjaywgY29uc3QgU3RhY2smIG5ld1N0YWNrKTsKIAogICAg
IHZvaWQgZW1pdFdyaXRlQmFycmllckZvckpTV3JhcHBlcigpOwogICAgIEV4cHJlc3Npb25UeXBl
IGVtaXRDaGVja0FuZFByZXBhcmVQb2ludGVyKEV4cHJlc3Npb25UeXBlIHBvaW50ZXIsIHVpbnQz
Ml90IG9mZnNldCwgdWludDMyX3Qgc2l6ZU9mT3ApOwpAQCAtMjg0Niw3ICsyODQ2LDcgQEAgdm9p
ZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdEVudHJ5VGllclVwQ2hlY2soKQogICAgIGVtaXRQYXRjaHBv
aW50KHBhdGNoLCBUbXAoKSwgY291bnRkb3duUHRyKTsKIH0KIAotdm9pZCBBaXJJUkdlbmVyYXRv
cjo6ZW1pdExvb3BUaWVyVXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBl
bmNsb3NpbmdTdGFjaykKK3ZvaWQgQWlySVJHZW5lcmF0b3I6OmVtaXRMb29wVGllclVwQ2hlY2so
dWludDMyX3QgbG9vcEluZGV4LCBjb25zdCBTdGFjayYgZW5jbG9zaW5nU3RhY2ssIGNvbnN0IFN0
YWNrJiBuZXdTdGFjaykKIHsKICAgICB1aW50MzJfdCBvdXRlckxvb3BJbmRleCA9IHRoaXMtPm91
dGVyTG9vcEluZGV4KCk7CiAgICAgbV9vdXRlckxvb3BzLmFwcGVuZChsb29wSW5kZXgpOwpAQCAt
Mjg4NSw2ICsyODg1LDggQEAgdm9pZCBBaXJJUkdlbmVyYXRvcjo6ZW1pdExvb3BUaWVyVXBDaGVj
ayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3MKICAgICB9CiAgICAgZm9y
IChUeXBlZEV4cHJlc3Npb24gdmFsdWUgOiBlbmNsb3NpbmdTdGFjaykKICAgICAgICAgcGF0Y2hB
cmdzLmFwcGVuZChDb25zdHJhaW5lZFRtcCh2YWx1ZS52YWx1ZSgpLCBCMzo6VmFsdWVSZXA6OkNv
bGRBbnkpKTsKKyAgICBmb3IgKFR5cGVkRXhwcmVzc2lvbiB2YWx1ZSA6IG5ld1N0YWNrKQorICAg
ICAgICBwYXRjaEFyZ3MuYXBwZW5kKENvbnN0cmFpbmVkVG1wKHZhbHVlLnZhbHVlKCksIEIzOjpW
YWx1ZVJlcDo6Q29sZEFueSkpOwogCiAgICAgVGllclVwQ291bnQ6OlRyaWdnZXJSZWFzb24qIGZv
cmNlRW50cnlUcmlnZ2VyID0gJihtX3RpZXJVcC0+b3NyRW50cnlUcmlnZ2VycygpLmxhc3QoKSk7
CiAgICAgc3RhdGljX2Fzc2VydCghc3RhdGljX2Nhc3Q8dWludDhfdD4oVGllclVwQ291bnQ6OlRy
aWdnZXJSZWFzb246OkRvbnRUcmlnZ2VyKSwgInRoZSBKSVQgY29kZSBhc3N1bWVzIG5vbi16ZXJv
IG1lYW5zICdlbnRlciciKTsKQEAgLTI5MzYsNyArMjkzOCw3IEBAIGF1dG8gQWlySVJHZW5lcmF0
b3I6OmFkZExvb3AoQmxvY2tTaWduYXR1cmUgc2lnbmF0dXJlLCBTdGFjayYgZW5jbG9zaW5nU3Rh
Y2ssIENvCiAgICAgbV9jdXJyZW50QmxvY2stPnNldFN1Y2Nlc3NvcnMoYm9keSk7CiAKICAgICBt
X2N1cnJlbnRCbG9jayA9IGJvZHk7Ci0gICAgZW1pdExvb3BUaWVyVXBDaGVjayhsb29wSW5kZXgs
IGVuY2xvc2luZ1N0YWNrKTsKKyAgICBlbWl0TG9vcFRpZXJVcENoZWNrKGxvb3BJbmRleCwgZW5j
bG9zaW5nU3RhY2ssIG5ld1N0YWNrKTsKIAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKaW5kZXggMGJlYjhm
Yjg0ZDVmLi4wODFjYzJiMjU1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2Fz
bS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTMwNCw3ICszMDQsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgZW1pdEV4Y2VwdGlvbkNoZWNrKENDYWxsSGVscGVycyYsIEV4Y2VwdGlvblR5cGUpOwog
CiAgICAgdm9pZCBlbWl0RW50cnlUaWVyVXBDaGVjaygpOwotICAgIHZvaWQgZW1pdExvb3BUaWVy
VXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3NpbmdTdGFjayk7
CisgICAgdm9pZCBlbWl0TG9vcFRpZXJVcENoZWNrKHVpbnQzMl90IGxvb3BJbmRleCwgY29uc3Qg
U3RhY2smIGVuY2xvc2luZ1N0YWNrLCBjb25zdCBTdGFjayYgbmV3U3RhY2spOwogCiAgICAgdm9p
ZCBlbWl0V3JpdGVCYXJyaWVyRm9ySlNXcmFwcGVyKCk7CiAgICAgRXhwcmVzc2lvblR5cGUgZW1p
dENoZWNrQW5kUHJlcGFyZVBvaW50ZXIoRXhwcmVzc2lvblR5cGUgcG9pbnRlciwgdWludDMyX3Qg
b2Zmc2V0LCB1aW50MzJfdCBzaXplT2ZPcCk7CkBAIC0yMDY3LDcgKzIwNjcsNyBAQCB2b2lkIEIz
SVJHZW5lcmF0b3I6OmVtaXRFbnRyeVRpZXJVcENoZWNrKCkKICAgICB9KTsKIH0KIAotdm9pZCBC
M0lSR2VuZXJhdG9yOjplbWl0TG9vcFRpZXJVcENoZWNrKHVpbnQzMl90IGxvb3BJbmRleCwgY29u
c3QgU3RhY2smIGVuY2xvc2luZ1N0YWNrKQordm9pZCBCM0lSR2VuZXJhdG9yOjplbWl0TG9vcFRp
ZXJVcENoZWNrKHVpbnQzMl90IGxvb3BJbmRleCwgY29uc3QgU3RhY2smIGVuY2xvc2luZ1N0YWNr
LCBjb25zdCBTdGFjayYgbmV3U3RhY2spCiB7CiAgICAgdWludDMyX3Qgb3V0ZXJMb29wSW5kZXgg
PSB0aGlzLT5vdXRlckxvb3BJbmRleCgpOwogICAgIG1fb3V0ZXJMb29wcy5hcHBlbmQobG9vcElu
ZGV4KTsKQEAgLTIwOTQsNiArMjA5NCw4IEBAIHZvaWQgQjNJUkdlbmVyYXRvcjo6ZW1pdExvb3BU
aWVyVXBDaGVjayh1aW50MzJfdCBsb29wSW5kZXgsIGNvbnN0IFN0YWNrJiBlbmNsb3NpCiAgICAg
fQogICAgIGZvciAoVHlwZWRFeHByZXNzaW9uIHZhbHVlIDogZW5jbG9zaW5nU3RhY2spCiAgICAg
ICAgIHN0YWNrbWFwLmFwcGVuZCh2YWx1ZSk7CisgICAgZm9yIChUeXBlZEV4cHJlc3Npb24gdmFs
dWUgOiBuZXdTdGFjaykKKyAgICAgICAgc3RhY2ttYXAuYXBwZW5kKHZhbHVlKTsKIAogICAgIFBh
dGNocG9pbnRWYWx1ZSogcGF0Y2ggPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PFBhdGNocG9p
bnRWYWx1ZT4obV9wcm9jLCBCMzo6Vm9pZCwgb3JpZ2luKTsKICAgICBFZmZlY3RzIGVmZmVjdHMg
PSBFZmZlY3RzOjpub25lKCk7CkBAIC0yMTQ0LDE5ICsyMTQ2LDE0IEBAIGF1dG8gQjNJUkdlbmVy
YXRvcjo6YWRkTG9vcChCbG9ja1NpZ25hdHVyZSBzaWduYXR1cmUsIFN0YWNrJiBlbmNsb3NpbmdT
dGFjaywgQ29uCiAgICAgQmFzaWNCbG9jayogY29udGludWF0aW9uID0gbV9wcm9jLmFkZEJsb2Nr
KCk7CiAKICAgICBibG9jayA9IENvbnRyb2xEYXRhKG1fcHJvYywgb3JpZ2luKCksIHNpZ25hdHVy
ZSwgQmxvY2tUeXBlOjpMb29wLCBjb250aW51YXRpb24sIGJvZHkpOwotCi0gICAgRXhwcmVzc2lv
bkxpc3QgYXJnczsKLSAgICB7Ci0gICAgICAgIHVuc2lnbmVkIG9mZnNldCA9IGVuY2xvc2luZ1N0
YWNrLnNpemUoKSAtIHNpZ25hdHVyZS0+YXJndW1lbnRDb3VudCgpOwotICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgc2lnbmF0dXJlLT5hcmd1bWVudENvdW50KCk7ICsraSkgewotICAg
ICAgICAgICAgVHlwZWRFeHByZXNzaW9uIHZhbHVlID0gZW5jbG9zaW5nU3RhY2suYXQob2Zmc2V0
ICsgaSk7Ci0gICAgICAgICAgICBhdXRvKiB1cHNpbG9uID0gbV9jdXJyZW50QmxvY2stPmFwcGVu
ZE5ldzxVcHNpbG9uVmFsdWU+KG1fcHJvYywgb3JpZ2luKCksIHZhbHVlKTsKLSAgICAgICAgICAg
IFZhbHVlKiBwaGkgPSBibG9jay5waGlzW2ldOwotICAgICAgICAgICAgYm9keS0+YXBwZW5kKHBo
aSk7Ci0gICAgICAgICAgICB1cHNpbG9uLT5zZXRQaGkocGhpKTsKLSAgICAgICAgICAgIG5ld1N0
YWNrLmNvbnN0cnVjdEFuZEFwcGVuZCh2YWx1ZS50eXBlKCksIHBoaSk7Ci0gICAgICAgIH0KLSAg
ICAgICAgZW5jbG9zaW5nU3RhY2suc2hyaW5rKG9mZnNldCk7CisgICAgdW5zaWduZWQgb2Zmc2V0
ID0gZW5jbG9zaW5nU3RhY2suc2l6ZSgpIC0gc2lnbmF0dXJlLT5hcmd1bWVudENvdW50KCk7Cisg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpZ25hdHVyZS0+YXJndW1lbnRDb3VudCgpOyAr
K2kpIHsKKyAgICAgICAgVHlwZWRFeHByZXNzaW9uIHZhbHVlID0gZW5jbG9zaW5nU3RhY2suYXQo
b2Zmc2V0ICsgaSk7CisgICAgICAgIGF1dG8qIHVwc2lsb24gPSBtX2N1cnJlbnRCbG9jay0+YXBw
ZW5kTmV3PFVwc2lsb25WYWx1ZT4obV9wcm9jLCBvcmlnaW4oKSwgdmFsdWUpOworICAgICAgICBW
YWx1ZSogcGhpID0gYmxvY2sucGhpc1tpXTsKKyAgICAgICAgYm9keS0+YXBwZW5kKHBoaSk7Cisg
ICAgICAgIHVwc2lsb24tPnNldFBoaShwaGkpOworICAgICAgICBuZXdTdGFjay5jb25zdHJ1Y3RB
bmRBcHBlbmQodmFsdWUudHlwZSgpLCBwaGkpOwogICAgIH0KIAogICAgIG1fY3VycmVudEJsb2Nr
LT5hcHBlbmROZXdDb250cm9sVmFsdWUobV9wcm9jLCBKdW1wLCBvcmlnaW4oKSwgYm9keSk7CkBA
IC0yMjE3LDE1ICsyMjE0LDIyIEBAIGF1dG8gQjNJUkdlbmVyYXRvcjo6YWRkTG9vcChCbG9ja1Np
Z25hdHVyZSBzaWduYXR1cmUsIFN0YWNrJiBlbmNsb3NpbmdTdGFjaywgQ29uCiAgICAgICAgICAg
ICBhdXRvJiBleHByZXNzaW9uU3RhY2sgPSBtX3BhcnNlci0+Y29udHJvbFN0YWNrKClbY29udHJv
bEluZGV4XS5lbmNsb3NlZEV4cHJlc3Npb25TdGFjazsKICAgICAgICAgICAgIGNvbm5lY3RDb250
cm9sRW50cnkoZGF0YSwgZXhwcmVzc2lvblN0YWNrKTsKICAgICAgICAgfQorICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgc2lnbmF0dXJlLT5hcmd1bWVudENvdW50KCk7ICsraSkgewor
ICAgICAgICAgICAgVHlwZWRFeHByZXNzaW9uIHZhbHVlID0gZW5jbG9zaW5nU3RhY2suYXQob2Zm
c2V0ICsgaSk7CisgICAgICAgICAgICBWYWx1ZSogcGhpID0gYmxvY2sucGhpc1tpXTsKKyAgICAg
ICAgICAgIG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8VXBzaWxvblZhbHVlPihtX3Byb2MsIHZh
bHVlLT5vcmlnaW4oKSwgbG9hZEZyb21TY3JhdGNoQnVmZmVyKHZhbHVlLT50eXBlKCkpLCBwaGkp
OworICAgICAgICB9CisgICAgICAgIGVuY2xvc2luZ1N0YWNrLnNocmluayhvZmZzZXQpOwogICAg
ICAgICBjb25uZWN0Q29udHJvbEVudHJ5KGJsb2NrLCBlbmNsb3NpbmdTdGFjayk7CiAKICAgICAg
ICAgbV9vc3JFbnRyeVNjcmF0Y2hCdWZmZXJTaXplID0gaW5kZXhJbkJ1ZmZlcjsKICAgICAgICAg
bV9jdXJyZW50QmxvY2stPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShtX3Byb2MsIEp1bXAsIG9yaWdp
bigpLCBib2R5KTsKICAgICAgICAgYm9keS0+YWRkUHJlZGVjZXNzb3IobV9jdXJyZW50QmxvY2sp
OwotICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgZW5jbG9zaW5nU3RhY2suc2hyaW5rKG9mZnNl
dCk7CiAKICAgICBtX2N1cnJlbnRCbG9jayA9IGJvZHk7Ci0gICAgZW1pdExvb3BUaWVyVXBDaGVj
ayhsb29wSW5kZXgsIGVuY2xvc2luZ1N0YWNrKTsKKyAgICBlbWl0TG9vcFRpZXJVcENoZWNrKGxv
b3BJbmRleCwgZW5jbG9zaW5nU3RhY2ssIG5ld1N0YWNrKTsKICAgICByZXR1cm4geyB9OwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNw
cAppbmRleCBmYzA3ODFmMzUzNTguLjgxYTVjZGJjYWUzMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbUxMSW50R2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtTExJbnRHZW5lcmF0b3IuY3BwCkBAIC05MjIsNiArOTIyLDgg
QEAgYXV0byBMTEludEdlbmVyYXRvcjo6YWRkTG9vcChCbG9ja1NpZ25hdHVyZSBzaWduYXR1cmUs
IFN0YWNrJiBlbmNsb3NpbmdTdGFjaywgQ28KICAgICB9CiAgICAgZm9yIChUeXBlZEV4cHJlc3Np
b24gZXhwcmVzc2lvbiA6IGVuY2xvc2luZ1N0YWNrKQogICAgICAgICBvc3JFbnRyeURhdGEuYXBw
ZW5kKGV4cHJlc3Npb24pOworICAgIGZvciAoVHlwZWRFeHByZXNzaW9uIGV4cHJlc3Npb24gOiBu
ZXdTdGFjaykKKyAgICAgICAgb3NyRW50cnlEYXRhLmFwcGVuZChleHByZXNzaW9uKTsKIAogICAg
IFdhc21Mb29wSGludDo6ZW1pdCh0aGlzKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>