<?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>225116</bug_id>
          
          <creation_ts>2021-04-27 12:23:16 -0700</creation_ts>
          <short_desc>Sampling profiler should dump a tier breakdown, and add ability to see time spent in C code with sampleCCode=0, and fix bugs with frames having the wrong jitType if they&apos;re inlined</short_desc>
          <delta_ts>2021-04-29 10:43:15 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</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>1754741</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-04-27 12:23:16 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755182</commentid>
    <comment_count>1</comment_count>
      <attachid>427299</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-04-28 15:13:42 -0700</bug_when>
    <thetext>Created attachment 427299
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755183</commentid>
    <comment_count>2</comment_count>
      <attachid>427299</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-28 15:15:24 -0700</bug_when>
    <thetext>Comment on attachment 427299
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755184</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-04-28 15:16:12 -0700</bug_when>
    <thetext>This will show data like this:

Tier breakdown:
-----------------------------------
LLInt:                    10  (0.197902%)
Baseline:                191  (3.779933%)
DFG:                     693  (13.714625%)
FTL:                     482  (9.538888%)
js builtin:               17  (0.336434%)
Wasm:                      0  (0.000000%)
Host:                      0  (0.000000%)
C/C++:                  3666  (72.550960%)
Unknown Frame:             1  (0.019790%)
Unknown Executable:       10  (0.197902%)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755448</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-29 10:42:22 -0700</bug_when>
    <thetext>Committed r276786 (237164@main): &lt;https://commits.webkit.org/237164@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427299.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755450</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-29 10:43:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/77329686&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427299</attachid>
            <date>2021-04-28 15:13:42 -0700</date>
            <delta_ts>2021-04-29 10:42:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>14799</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc2NzMzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDIxLTA0LTI4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFNhbXBsaW5nIHByb2ZpbGVyIHNob3VsZCBkdW1wIGEgdGllciBicmVha2Rvd24sIGFuZCBhZGQg
YWJpbGl0eSB0byBzZWUgdGltZSBzcGVudCBpbiBDIGNvZGUgd2l0aCBzYW1wbGVDQ29kZT0wLCBh
bmQgZml4IGJ1Z3Mgd2l0aCBmcmFtZXMgaGF2aW5nIHRoZSB3cm9uZyBqaXRUeXBlIGlmIHRoZXkn
cmUgaW5saW5lZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI1MTE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBtYWtlcyBpdCBzbyB3ZSBhbHNvIGR1bXAgdGltZSBzcGVudCBpbiBlYWNo
IHRpZXIgd2hlbiBkdW1waW5nIHRvcAorICAgICAgICBieXRlY29kZXMuIFRoaXMgY2FuIGJlIGhl
bHBmdWwgaW5mbyB3aGVuIGFuYWx5emluZyBiZW5jaG1hcmtzLgorICAgICAgICAKKyAgICAgICAg
VGhpcyBwYXRjaCBhbHNvIG1ha2VzIGl0IHNvIHdlIGtub3cgd2hlbiB3ZSdyZSBpbiBDL0MrKyBj
b2RlIHdoZW4gd2UncmUgbm90CisgICAgICAgIHVzaW5nIHRoZSBzYW1wbGVDQ29kZT10cnVlIG9w
dGlvbi4gSSBmb3VuZCBzb21lIHdlaXJkIHBlcmZvcm1hbmNlIHBhdGhvbG9naWVzCisgICAgICAg
IHdpdGggdGhhdCBvcHRpb24gdGhhdCBjYXVzZSB1cyB0byBub3Qgc2FtcGxlIGNvZGUgYXQgYWxs
LiBJIHdhcyBzZWVpbmcgfjUwCisgICAgICAgIHNhbXBsZXMgdGFrZW4gZm9yIH43IHNlY29uZHMg
b2YgY29kZSBydW5uaW5nIHRpbWUuIEl0J3Mgd29ydGggZmlndXJpbmcgb3V0CisgICAgICAgIHdo
YXQncyBnb2luZyBvbiB0aGVyZSBldmVudHVhbGx5LiBCdXQgZm9yIG5vdywgSSd2ZSBtYWRlIGl0
IHNvIHRoYXQgd2UKKyAgICAgICAgcmVjb2duaXplIHRoYXQgdGhlIHRvcCBmcmFtZSBpcyBDL0Mr
KyB3aGVuIHVzaW5nIHRoZSBjb2xsZWN0RXh0cmFTYW1wbGluZ1Byb2ZpbGVyRGF0YT0xCisgICAg
ICAgIG9wdGlvbi4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBmaXhlcyBhIGJ1
ZyB3aGVyZSB3ZSBtaXMtYXR0cmlidXRlIEpJVFR5cGVzIGZvciBpbmxpbmUKKyAgICAgICAgZnJh
bWVzLiBXZSdkIGF0dHJpYnV0ZSBpdCB0byB3aGF0ZXZlciB0aGUgQ29kZUJsb2NrIHdhcyBjb21w
aWxlZCBhcywgaW5zdGVhZAorICAgICAgICBvZiB1c2luZyB0aGUgbWFjaGluZSBmcmFtZSdzIEpJ
VFR5cGUuCisKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoQ29tbWFuZExpbmU6OnBhcnNl
QXJndW1lbnRzKToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnNMaXN0Lmg6CisgICAgICAgICog
cnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcDoKKyAgICAgICAgKEpTQzo6U2FtcGxpbmdQcm9m
aWxlcjo6dGFrZVNhbXBsZSk6CisgICAgICAgIChKU0M6OlNhbXBsaW5nUHJvZmlsZXI6OnByb2Nl
c3NVbnZlcmlmaWVkU3RhY2tUcmFjZXMpOgorICAgICAgICAoSlNDOjpTYW1wbGluZ1Byb2ZpbGVy
OjpTdGFja0ZyYW1lOjpkaXNwbGF5TmFtZSk6CisgICAgICAgIChKU0M6OlNhbXBsaW5nUHJvZmls
ZXI6OnJlcG9ydFRvcEJ5dGVjb2Rlcyk6CisKIDIwMjEtMDQtMjggIE1hcmsgTGFtICA8bWFyay5s
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBleGNlcHRpb24gYXNzZXJ0aW9ucyBpbiBsaWdo
dCBvZiB0aGUgVGVybWluYXRpb25FeGNlcHRpb24uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvanNjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAko
cmV2aXNpb24gMjc2NjQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMyOTksNyArMzI5OSw3IEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJn
dW1lbnRzKGludCBhcmcKICAgICAgICAgfQogICAgICAgICBpZiAoIXN0cmNtcChhcmcsICItLXNh
bXBsZSIpKSB7CiAgICAgICAgICAgICBKU0M6Ok9wdGlvbnM6OnVzZVNhbXBsaW5nUHJvZmlsZXIo
KSA9IHRydWU7Ci0gICAgICAgICAgICBKU0M6Ok9wdGlvbnM6OmNvbGxlY3RTYW1wbGluZ1Byb2Zp
bGVyRGF0YUZvckpTQ1NoZWxsKCkgPSB0cnVlOworICAgICAgICAgICAgSlNDOjpPcHRpb25zOjpj
b2xsZWN0RXh0cmFTYW1wbGluZ1Byb2ZpbGVyRGF0YSgpID0gdHJ1ZTsKICAgICAgICAgICAgIG1f
ZHVtcFNhbXBsaW5nUHJvZmlsZXJEYXRhID0gdHJ1ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlz
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNM
aXN0LmgJKHJldmlzaW9uIDI3NjY0NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L09wdGlvbnNMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM3Myw3ICszNzMsNyBAQCBjb25zdGV4
cHIgdW5zaWduZWQganNjUmVzZXJ2ZWRab25lU2l6ZSA9CiAgICAgXAogICAgIHYoQm9vbCwgdXNl
U2FtcGxpbmdQcm9maWxlciwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYoVW5zaWdu
ZWQsIHNhbXBsZUludGVydmFsLCAxMDAwLCBOb3JtYWwsICJUaW1lIGJldHdlZW4gc3RhY2sgdHJh
Y2VzIGluIG1pY3Jvc2Vjb25kcy4iKSBcCi0gICAgdihCb29sLCBjb2xsZWN0U2FtcGxpbmdQcm9m
aWxlckRhdGFGb3JKU0NTaGVsbCwgZmFsc2UsIE5vcm1hbCwgIlRoaXMgY29ycmVzcG9uZHMgdG8g
dGhlIEpTQyBzaGVsbCdzIC0tc2FtcGxlIG9wdGlvbi4iKSBcCisgICAgdihCb29sLCBjb2xsZWN0
RXh0cmFTYW1wbGluZ1Byb2ZpbGVyRGF0YSwgZmFsc2UsIE5vcm1hbCwgIlRoaXMgY29ycmVzcG9u
ZHMgdG8gdGhlIEpTQyBzaGVsbCdzIC0tc2FtcGxlIG9wdGlvbiwgb3IgaWYgd2UncmUgd2FudGlu
ZyB0byB1c2UgdGhlIHNhbXBsaW5nIHByb2ZpbGVyIHZpYSB0aGUgRGVidWcgbWVudSBpbiB0aGUg
YnJvd3Nlci4iKSBcCiAgICAgdihVbnNpZ25lZCwgc2FtcGxpbmdQcm9maWxlclRvcEZ1bmN0aW9u
c0NvdW50LCAxMiwgTm9ybWFsLCAiTnVtYmVyIG9mIHRvcCBmdW5jdGlvbnMgdG8gcmVwb3J0IHdo
ZW4gdXNpbmcgdGhlIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UuIikgXAogICAgIHYoVW5zaWduZWQs
IHNhbXBsaW5nUHJvZmlsZXJUb3BCeXRlY29kZXNDb3VudCwgNDAsIE5vcm1hbCwgIk51bWJlciBv
ZiB0b3AgYnl0ZWNvZGVzIHRvIHJlcG9ydCB3aGVuIHVzaW5nIHRoZSBjb21tYW5kIGxpbmUgaW50
ZXJmYWNlLiIpIFwKICAgICB2KE9wdGlvblN0cmluZywgc2FtcGxpbmdQcm9maWxlclBhdGgsIG51
bGxwdHIsIE5vcm1hbCwgIlRoZSBwYXRoIHRvIHRoZSBkaXJlY3RvcnkgdG8gd3JpdGUgc2FtcGls
aW5nIHByb2ZpbGVyIG91dHB1dCB0by4gVGhpcyBwcm9iYWJseSB3aWxsIG5vdCB3b3JrIHdpdGgg
V0syIHVubGVzcyB0aGUgcGF0aCBpcyBpbiB0aGUgc2FuZGJveC4iKSBcCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmNwcAkocmV2
aXNpb24gMjc2NjQ2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2FtcGxpbmdQ
cm9maWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4MCw2ICszODAsOCBAQCB2b2lkIFNhbXBs
aW5nUHJvZmlsZXI6OnRha2VTYW1wbGUoY29uc3QgCiAgICAgICAgICAgICAgICAgbGxpbnRQQyA9
IHJlbW92ZUNvZGVQdHJUYWcoTWFjaGluZUNvbnRleHQ6OmxsaW50SW5zdHJ1Y3Rpb25Qb2ludGVy
KHJlZ2lzdGVycykpOwogICAgICAgICAgICAgICAgIGFzc2VydElzTm90VGFnZ2VkKG1hY2hpbmVQ
Qyk7CiAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGJvb2wgc2hvdWxkQXBwZW5kVG9wRnJh
bWVBc0NDb2RlID0gZmFsc2U7CiAgICAgICAgICAgICAvLyBGSVhNRTogTGV0cyBoYXZlIGEgd2F5
IG9mIGRldGVjdGluZyB3aGVuIHdlJ3JlIHBhcnNpbmcgY29kZS4KICAgICAgICAgICAgIC8vIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3NjEKICAgICAgICAgICAg
IGlmIChFeGVjdXRhYmxlQWxsb2NhdG9yOjpzaW5nbGV0b24oKS5pc1ZhbGlkRXhlY3V0YWJsZU1l
bW9yeShleGVjdXRhYmxlQWxsb2NhdG9yTG9ja2VyLCBtYWNoaW5lUEMpKSB7CkBAIC0zOTYsNiAr
Mzk4LDggQEAgdm9pZCBTYW1wbGluZ1Byb2ZpbGVyOjp0YWtlU2FtcGxlKGNvbnN0IAogICAgICAg
ICAgICAgICAgIC8vIFdlIHJlc29ydCB0byB0b3BDYWxsRnJhbWUgdG8gc2VlIGlmIHdlIGNhbiBn
ZXQgYW55dGhpbmcKICAgICAgICAgICAgICAgICAvLyB1c2VmdWwuIFdlIHVzdWFsbHkgZ2V0IGhl
cmUgd2hlbiB3ZSdyZSBleGVjdXRpbmcgQyBjb2RlLgogICAgICAgICAgICAgICAgIGNhbGxGcmFt
ZSA9IG1fdm0udG9wQ2FsbEZyYW1lOworICAgICAgICAgICAgICAgIGlmIChPcHRpb25zOjpjb2xs
ZWN0RXh0cmFTYW1wbGluZ1Byb2ZpbGVyRGF0YSgpICYmICFPcHRpb25zOjpzYW1wbGVDQ29kZSgp
KQorICAgICAgICAgICAgICAgICAgICBzaG91bGRBcHBlbmRUb3BGcmFtZUFzQ0NvZGUgPSB0cnVl
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBzaXplX3Qgd2Fsa1NpemU7CkBAIC00MjIs
NyArNDI2LDkgQEAgdm9pZCBTYW1wbGluZ1Byb2ZpbGVyOjp0YWtlU2FtcGxlKGNvbnN0IAogICAg
ICAgICAgICAgICAgIGlmIChzUmVwb3J0U3RhdHMpCiAgICAgICAgICAgICAgICAgICAgIHNOdW1U
b3RhbFN0YWNrVHJhY2VzKys7CiAgICAgICAgICAgICAgICAgVmVjdG9yPFVucHJvY2Vzc2VkU3Rh
Y2tGcmFtZT4gc3RhY2tUcmFjZTsKLSAgICAgICAgICAgICAgICBzdGFja1RyYWNlLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkod2Fsa1NpemUpOworICAgICAgICAgICAgICAgIHN0YWNrVHJhY2UucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eSh3YWxrU2l6ZSArICEhc2hvdWxkQXBwZW5kVG9wRnJhbWVBc0ND
b2RlKTsKKyAgICAgICAgICAgICAgICBpZiAoc2hvdWxkQXBwZW5kVG9wRnJhbWVBc0NDb2RlKQor
ICAgICAgICAgICAgICAgICAgICBzdGFja1RyYWNlLnVuY2hlY2tlZEFwcGVuZChVbnByb2Nlc3Nl
ZFN0YWNrRnJhbWUgeyBtYWNoaW5lUEMgfSk7CiAgICAgICAgICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCB3YWxrU2l6ZTsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAgIFVucHJvY2Vz
c2VkU3RhY2tGcmFtZSBmcmFtZSA9IG1fY3VycmVudEZyYW1lc1tpXTsKICAgICAgICAgICAgICAg
ICAgICAgc3RhY2tUcmFjZS51bmNoZWNrZWRBcHBlbmQoZnJhbWUpOwpAQCAtNDY0LDcgKzQ3MCw3
IEBAIHZvaWQgU2FtcGxpbmdQcm9maWxlcjo6cHJvY2Vzc1VudmVyaWZpZWQKICAgICAgICAgU3Rh
Y2tUcmFjZSYgc3RhY2tUcmFjZSA9IG1fc3RhY2tUcmFjZXMubGFzdCgpOwogICAgICAgICBzdGFj
a1RyYWNlLnRpbWVzdGFtcCA9IHVucHJvY2Vzc2VkU3RhY2tUcmFjZS50aW1lc3RhbXA7CiAKLSAg
ICAgICAgYXV0byBwb3B1bGF0ZUNvZGVMb2NhdGlvbiA9IFtdIChDb2RlQmxvY2sqIGNvZGVCbG9j
aywgQnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4LCBTdGFja0ZyYW1lOjpDb2RlTG9jYXRpb24m
IGxvY2F0aW9uKSB7CisgICAgICAgIGF1dG8gcG9wdWxhdGVDb2RlTG9jYXRpb24gPSBbXSAoQ29k
ZUJsb2NrKiBjb2RlQmxvY2ssIEpJVFR5cGUgaml0VHlwZSwgQnl0ZWNvZGVJbmRleCBieXRlY29k
ZUluZGV4LCBTdGFja0ZyYW1lOjpDb2RlTG9jYXRpb24mIGxvY2F0aW9uKSB7CiAgICAgICAgICAg
ICBpZiAoYnl0ZWNvZGVJbmRleC5vZmZzZXQoKSA8IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zU2l6
ZSgpKSB7CiAgICAgICAgICAgICAgICAgaW50IGRpdm90OwogICAgICAgICAgICAgICAgIGludCBz
dGFydE9mZnNldDsKQEAgLTQ3MywxNiArNDc5LDE1IEBAIHZvaWQgU2FtcGxpbmdQcm9maWxlcjo6
cHJvY2Vzc1VudmVyaWZpZWQKICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ubGluZU51bWJl
ciwgbG9jYXRpb24uY29sdW1uTnVtYmVyKTsKICAgICAgICAgICAgICAgICBsb2NhdGlvbi5ieXRl
Y29kZUluZGV4ID0gYnl0ZWNvZGVJbmRleDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
IChPcHRpb25zOjpjb2xsZWN0U2FtcGxpbmdQcm9maWxlckRhdGFGb3JKU0NTaGVsbCgpKSB7Cisg
ICAgICAgICAgICBpZiAoY29kZUJsb2NrLT5oYXNIYXNoKCkpCiAgICAgICAgICAgICAgICAgbG9j
YXRpb24uY29kZUJsb2NrSGFzaCA9IGNvZGVCbG9jay0+aGFzaCgpOwotICAgICAgICAgICAgICAg
IGxvY2F0aW9uLmppdFR5cGUgPSBjb2RlQmxvY2stPmppdFR5cGUoKTsKLSAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGxvY2F0aW9uLmppdFR5cGUgPSBqaXRUeXBlOwogICAgICAgICB9OwogCi0g
ICAgICAgIGF1dG8gYXBwZW5kQ29kZUJsb2NrID0gWyZdIChDb2RlQmxvY2sqIGNvZGVCbG9jaywg
Qnl0ZWNvZGVJbmRleCBieXRlY29kZUluZGV4KSB7CisgICAgICAgIGF1dG8gYXBwZW5kQ29kZUJs
b2NrID0gWyZdIChDb2RlQmxvY2sqIGNvZGVCbG9jaywgSklUVHlwZSBqaXRUeXBlLCBCeXRlY29k
ZUluZGV4IGJ5dGVjb2RlSW5kZXgpIHsKICAgICAgICAgICAgIHN0YWNrVHJhY2UuZnJhbWVzLmFw
cGVuZChTdGFja0ZyYW1lKGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCkpKTsKICAgICAgICAg
ICAgIG1fbGl2ZUNlbGxQb2ludGVycy5hZGQoY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSk7
Ci0gICAgICAgICAgICBwb3B1bGF0ZUNvZGVMb2NhdGlvbihjb2RlQmxvY2ssIGJ5dGVjb2RlSW5k
ZXgsIHN0YWNrVHJhY2UuZnJhbWVzLmxhc3QoKS5zZW1hbnRpY0xvY2F0aW9uKTsKKyAgICAgICAg
ICAgIHBvcHVsYXRlQ29kZUxvY2F0aW9uKGNvZGVCbG9jaywgaml0VHlwZSwgYnl0ZWNvZGVJbmRl
eCwgc3RhY2tUcmFjZS5mcmFtZXMubGFzdCgpLnNlbWFudGljTG9jYXRpb24pOwogICAgICAgICB9
OwogCiAgICAgICAgIGF1dG8gYXBwZW5kRW1wdHlGcmFtZSA9IFsmXSB7CkBAIC01NjAsMTAgKzU2
NSwxMCBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnByb2Nlc3NVbnZlcmlmaWVkCiAgICAgICAg
ICAgICBvcmlnaW4ud2Fsa1VwSW5saW5lU3RhY2soWyZdIChjb25zdCBDb2RlT3JpZ2luJiBjb2Rl
T3JpZ2luKSB7CiAgICAgICAgICAgICAgICAgbWFjaGluZU9yaWdpbiA9IGNvZGVPcmlnaW47CiAg
ICAgICAgICAgICAgICAgYXV0byogaW5saW5lQ2FsbEZyYW1lID0gY29kZU9yaWdpbi5pbmxpbmVD
YWxsRnJhbWUoKTsKLSAgICAgICAgICAgICAgICBhcHBlbmRDb2RlQmxvY2soaW5saW5lQ2FsbEZy
YW1lID8gaW5saW5lQ2FsbEZyYW1lLT5iYXNlbGluZUNvZGVCbG9jay5nZXQoKSA6IG1hY2hpbmVD
b2RlQmxvY2ssIGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCgpKTsKKyAgICAgICAgICAgICAgICBh
cHBlbmRDb2RlQmxvY2soaW5saW5lQ2FsbEZyYW1lID8gaW5saW5lQ2FsbEZyYW1lLT5iYXNlbGlu
ZUNvZGVCbG9jay5nZXQoKSA6IG1hY2hpbmVDb2RlQmxvY2ssIG1hY2hpbmVDb2RlQmxvY2stPmpp
dFR5cGUoKSwgY29kZU9yaWdpbi5ieXRlY29kZUluZGV4KCkpOwogICAgICAgICAgICAgfSk7CiAK
LSAgICAgICAgICAgIGlmIChPcHRpb25zOjpjb2xsZWN0U2FtcGxpbmdQcm9maWxlckRhdGFGb3JK
U0NTaGVsbCgpKSB7CisgICAgICAgICAgICBpZiAoT3B0aW9uczo6Y29sbGVjdEV4dHJhU2FtcGxp
bmdQcm9maWxlckRhdGEoKSkgewogICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1hY2hp
bmVPcmlnaW4uaXNTZXQoKSk7CiAgICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoIW1hY2hp
bmVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lKCkpOwogCkBAIC01OTksNyArNjA0LDcgQEAgdm9pZCBT
YW1wbGluZ1Byb2ZpbGVyOjpwcm9jZXNzVW52ZXJpZmllZAogCiAgICAgICAgICAgICAgICAgICAg
IFVOVVNFRF9QQVJBTShieXRlY29kZUluZGV4KTsgLy8gRklYTUU6IGRvIHNvbWV0aGluZyB3aXRo
IHRoaXMgaW5mbyBmb3IgdGhlIHdlYiBpbnNwZWN0b3I6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTM0NTUKIAotICAgICAgICAgICAgICAgICAgICBhcHBlbmRDb2Rl
QmxvY2sodG9wQ29kZUJsb2NrLCBieXRlY29kZUluZGV4KTsKKyAgICAgICAgICAgICAgICAgICAg
YXBwZW5kQ29kZUJsb2NrKHRvcENvZGVCbG9jaywgdG9wQ29kZUJsb2NrLT5qaXRUeXBlKCksIGJ5
dGVjb2RlSW5kZXgpOwogICAgICAgICAgICAgICAgICAgICBzdG9yZUNhbGxlZUludG9MYXN0RnJh
bWUodW5wcm9jZXNzZWRTdGFja1RyYWNlLmZyYW1lc1swXSk7CiAgICAgICAgICAgICAgICAgICAg
IHN0YXJ0SW5kZXggPSAxOwogICAgICAgICAgICAgICAgIH0KQEAgLTYyMSw3ICs2MjYsNyBAQCB2
b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnByb2Nlc3NVbnZlcmlmaWVkCiAgICAgICAgICAgICAgICAg
Q2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4ID0gdW5wcm9jZXNzZWRTdGFja0ZyYW1lLmNhbGxT
aXRlSW5kZXg7CiAKICAgICAgICAgICAgICAgICBhdXRvIGFwcGVuZENvZGVCbG9ja05vSW5saW5p
bmcgPSBbJl0gewotICAgICAgICAgICAgICAgICAgICBhcHBlbmRDb2RlQmxvY2soY29kZUJsb2Nr
LCB0cnlHZXRCeXRlY29kZUluZGV4KGNhbGxTaXRlSW5kZXguYml0cygpLCBjb2RlQmxvY2spKTsK
KyAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ29kZUJsb2NrKGNvZGVCbG9jaywgY29kZUJsb2Nr
LT5qaXRUeXBlKCksIHRyeUdldEJ5dGVjb2RlSW5kZXgoY2FsbFNpdGVJbmRleC5iaXRzKCksIGNv
ZGVCbG9jaykpOwogICAgICAgICAgICAgICAgIH07CiAKICNpZiBFTkFCTEUoREZHX0pJVCkKQEAg
LTYyOSw3ICs2MzQsNyBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnByb2Nlc3NVbnZlcmlmaWVk
CiAgICAgICAgICAgICAgICAgICAgIGlmIChjb2RlQmxvY2stPmNhbkdldENvZGVPcmlnaW4oY2Fs
bFNpdGVJbmRleCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRDb2RlT3JpZ2luKGNv
ZGVCbG9jaywgY29kZUJsb2NrLT5jb2RlT3JpZ2luKGNhbGxTaXRlSW5kZXgpKTsKICAgICAgICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kQ29kZUJsb2Nr
KGNvZGVCbG9jaywgQnl0ZWNvZGVJbmRleCgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFw
cGVuZENvZGVCbG9jayhjb2RlQmxvY2ssIGNvZGVCbG9jay0+aml0VHlwZSgpLCBCeXRlY29kZUlu
ZGV4KCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICBhcHBl
bmRDb2RlQmxvY2tOb0lubGluaW5nKCk7CiAjZWxzZQpAQCAtNzYyLDcgKzc2Nyw2IEBAIFN0cmlu
ZyBTYW1wbGluZ1Byb2ZpbGVyOjpTdGFja0ZyYW1lOjpkaXMKICAgICB9CiAKICAgICBzd2l0Y2gg
KGZyYW1lVHlwZSkgewotICAgIGNhc2UgRnJhbWVUeXBlOjpVbmtub3duOgogICAgIGNhc2UgRnJh
bWVUeXBlOjpDOgogI2lmIEhBVkUoRExBRERSKQogICAgICAgICBpZiAoZnJhbWVUeXBlID09IEZy
YW1lVHlwZTo6QykgewpAQCAtNzcyLDYgKzc3Niw4IEBAIFN0cmluZyBTYW1wbGluZ1Byb2ZpbGVy
OjpTdGFja0ZyYW1lOjpkaXMKICAgICAgICAgICAgIFdURjo6ZGF0YUxvZygiY291bGRuJ3QgZ2V0
IGEgbmFtZSIpOwogICAgICAgICB9CiAjZW5kaWYKKyAgICAgICAgcmV0dXJuICIodW5rbm93biBD
IFBDKSJfczsKKyAgICBjYXNlIEZyYW1lVHlwZTo6VW5rbm93bjoKICAgICAgICAgcmV0dXJuICIo
dW5rbm93bikiX3M7CiAKICAgICBjYXNlIEZyYW1lVHlwZTo6SG9zdDoKQEAgLTEwOTAsNiArMTA5
NiwzMiBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnJlcG9ydFRvcEJ5dGVjb2RlCiAKICAgICBz
aXplX3QgdG90YWxTYW1wbGVzID0gMDsKICAgICBIYXNoTWFwPFN0cmluZywgc2l6ZV90PiBieXRl
Y29kZUNvdW50czsKKyAgICBIYXNoTWFwPFN0cmluZywgc2l6ZV90PiB0aWVyQ291bnRzOworCisg
ICAgU3RyaW5nIGxsaW50ID0gIkxMSW50Il9zOworICAgIFN0cmluZyBiYXNlbGluZSA9ICJCYXNl
bGluZSJfczsKKyAgICBTdHJpbmcgZGZnID0gIkRGRyJfczsKKyAgICBTdHJpbmcgZnRsID0gIkZU
TCJfczsKKyAgICBTdHJpbmcgYnVpbHRpbiA9ICJqcyBidWlsdGluIl9zOworICAgIFN0cmluZyB3
YXNtID0gIldhc20iX3M7CisgICAgU3RyaW5nIGhvc3QgPSAiSG9zdCJfczsKKyAgICBTdHJpbmcg
Y3BwID0gIkMvQysrIl9zOworICAgIFN0cmluZyB1bmtub3duRnJhbWUgPSAiVW5rbm93biBGcmFt
ZSJfczsKKyAgICBTdHJpbmcgdW5rbm93bkV4ZWN1dGFibGUgPSAiVW5rbm93biBFeGVjdXRhYmxl
Il9zOworCisgICAgYXV0byBmb3JFYWNoVGllciA9IFsmXSAoYXV0byBmdW5jKSB7CisgICAgICAg
IGZ1bmMobGxpbnQpOworICAgICAgICBmdW5jKGJhc2VsaW5lKTsKKyAgICAgICAgZnVuYyhkZmcp
OworICAgICAgICBmdW5jKGZ0bCk7CisgICAgICAgIGZ1bmMoYnVpbHRpbik7CisgICAgICAgIGZ1
bmMod2FzbSk7CisgICAgICAgIGZ1bmMoaG9zdCk7CisgICAgICAgIGZ1bmMoY3BwKTsKKyAgICAg
ICAgZnVuYyh1bmtub3duRnJhbWUpOworICAgICAgICBmdW5jKHVua25vd25FeGVjdXRhYmxlKTsK
KyAgICB9OworCiAgICAgZm9yIChTdGFja1RyYWNlJiBzdGFja1RyYWNlIDogbV9zdGFja1RyYWNl
cykgewogICAgICAgICBpZiAoIXN0YWNrVHJhY2UuZnJhbWVzLnNpemUoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwpAQCAtMTEyNSw2ICsxMTU3LDU3IEBAIHZvaWQgU2FtcGxpbmdQcm9maWxlcjo6
cmVwb3J0VG9wQnl0ZWNvZGUKICAgICAgICAgICAgICAgICBtYWNoaW5lTG9jYXRpb24tPnNlY29u
ZC0+aW5mZXJyZWROYW1lKCkuZGF0YSgpLCBkZXNjcmlwdGlvbkZvckxvY2F0aW9uKG1hY2hpbmVM
b2NhdGlvbi0+Zmlyc3QsIFdURjo6bnVsbG9wdCkpOwogICAgICAgICB9CiAgICAgICAgIGJ5dGVj
b2RlQ291bnRzLmFkZChmcmFtZURlc2NyaXB0aW9uLCAwKS5pdGVyYXRvci0+dmFsdWUrKzsKKyAg
ICAgICAgCisgICAgICAgIHsKKyAgICAgICAgICAgIFN0cmluZyB0aWVyTmFtZTsKKyAgICAgICAg
ICAgIHN3aXRjaCAoZnJhbWUuZnJhbWVUeXBlKSB7CisgICAgICAgICAgICBjYXNlIFNhbXBsaW5n
UHJvZmlsZXI6OkZyYW1lVHlwZTo6RXhlY3V0YWJsZToKKyAgICAgICAgICAgICAgICBzd2l0Y2gg
KGZyYW1lLnNlbWFudGljTG9jYXRpb24uaml0VHlwZSkgeworICAgICAgICAgICAgICAgIGNhc2Ug
SklUVHlwZTo6SG9zdENhbGxUaHVuazoKKyAgICAgICAgICAgICAgICAgICAgdGllck5hbWUgPSBo
b3N0OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjYXNlIEpJ
VFR5cGU6OkludGVycHJldGVyVGh1bms6CisgICAgICAgICAgICAgICAgICAgIHRpZXJOYW1lID0g
bGxpbnQ7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2Ug
SklUVHlwZTo6QmFzZWxpbmVKSVQ6CisgICAgICAgICAgICAgICAgICAgIHRpZXJOYW1lID0gYmFz
ZWxpbmU7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2Ug
SklUVHlwZTo6REZHSklUOgorICAgICAgICAgICAgICAgICAgICB0aWVyTmFtZSA9IGRmZzsKKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBKSVRUeXBlOjpG
VExKSVQ6CisgICAgICAgICAgICAgICAgICAgIHRpZXJOYW1lID0gZnRsOworICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAg
ICAgICB0aWVyTmFtZSA9IHVua25vd25FeGVjdXRhYmxlOworICAgICAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoZnJhbWUuZXhl
Y3V0YWJsZSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogZXhlY3V0YWJsZSA9IGpz
RHluYW1pY0Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4obV92bSwgZnJhbWUuZXhlY3V0YWJsZSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGVjdXRhYmxlLT5pc0J1aWx0aW5GdW5j
dGlvbigpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpZXJDb3VudHMuYWRkKGJ1aWx0
aW4sIDApLml0ZXJhdG9yLT52YWx1ZSsrOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNh
bXBsaW5nUHJvZmlsZXI6OkZyYW1lVHlwZTo6V2FzbToKKyAgICAgICAgICAgICAgICB0aWVyTmFt
ZSA9IHdhc207CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNhbXBs
aW5nUHJvZmlsZXI6OkZyYW1lVHlwZTo6SG9zdDoKKyAgICAgICAgICAgICAgICB0aWVyTmFtZSA9
IGhvc3Q7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNhbXBsaW5n
UHJvZmlsZXI6OkZyYW1lVHlwZTo6QzoKKyAgICAgICAgICAgICAgICB0aWVyTmFtZSA9IGNwcDsK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU2FtcGxpbmdQcm9maWxl
cjo6RnJhbWVUeXBlOjpVbmtub3duOgorICAgICAgICAgICAgICAgIHRpZXJOYW1lID0gdW5rbm93
bkZyYW1lOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICB0aWVyQ291bnRzLmFkZCh0aWVyTmFtZSwgMCkuaXRlcmF0b3ItPnZhbHVlKys7CisgICAg
ICAgIH0KKyAgICAgICAgIAogICAgICAgICB0b3RhbFNhbXBsZXMrKzsKICAgICB9CiAKQEAgLTEx
NDMsNyArMTIyNiwyNyBAQCB2b2lkIFNhbXBsaW5nUHJvZmlsZXI6OnJlcG9ydFRvcEJ5dGVjb2Rl
CiAgICAgfTsKIAogICAgIGlmIChPcHRpb25zOjpzYW1wbGluZ1Byb2ZpbGVyVG9wQnl0ZWNvZGVz
Q291bnQoKSkgewotICAgICAgICBvdXQucHJpbnRsbigiXG5cblNhbXBsaW5nIHJhdGU6ICIsIG1f
dGltaW5nSW50ZXJ2YWwubWljcm9zZWNvbmRzKCksICIgbWljcm9zZWNvbmRzLiBUb3RhbCBzYW1w
bGVzOiAiLCB0b3RhbFNhbXBsZXMpOworICAgICAgICBvdXQucHJpbnRsbigiXG5cblNhbXBsaW5n
IHJhdGU6ICIsIG1fdGltaW5nSW50ZXJ2YWwubWljcm9zZWNvbmRzKCksICIgbWljcm9zZWNvbmRz
LiBUb3RhbCBzYW1wbGVzOiAiLCB0b3RhbFNhbXBsZXMsICJcbiIpOworCisgICAgICAgIG91dC5w
cmludGxuKCJUaWVyIGJyZWFrZG93bjoiKTsKKyAgICAgICAgb3V0LnByaW50bG4oIi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisgICAgICAgIHVuc2lnbmVkIG1heFRpZXJO
YW1lTGVuZ3RoID0gMDsKKyAgICAgICAgZm9yRWFjaFRpZXIoWyZdIChTdHJpbmcgdGllcikgewor
ICAgICAgICAgICAgbWF4VGllck5hbWVMZW5ndGggPSBzdGQ6Om1heChtYXhUaWVyTmFtZUxlbmd0
aCwgdGllci5sZW5ndGgoKSk7CisgICAgICAgIH0pOworICAgICAgICBhdXRvIHByaW50VGllciA9
IFsmXSAoU3RyaW5nIHRpZXIpIHsKKyAgICAgICAgICAgIHNpemVfdCBjb3VudCA9IHRpZXJDb3Vu
dHMuZ2V0KHRpZXIpOworICAgICAgICAgICAgaWYgKCFjb3VudCAmJiAodGllciA9PSB1bmtub3du
RnJhbWUgfHwgdGllciA9PSB1bmtub3duRXhlY3V0YWJsZSkpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgb3V0LnByaW50KHRpZXIsICI6ICIpOworICAgICAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IG1heFRpZXJOYW1lTGVuZ3RoICsgMiAtIHRpZXIubGVuZ3Ro
KCk7ICsraSkKKyAgICAgICAgICAgICAgICBvdXQucHJpbnQoIiAiKTsKKyAgICAgICAgICAgIG91
dC5wcmludGYoIiU2enUgIiwgY291bnQpOworICAgICAgICAgICAgb3V0LnByaW50bG4oIiAoIiwg
KHN0YXRpY19jYXN0PGRvdWJsZT4oY291bnQpIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPih0b3RhbFNh
bXBsZXMpKSAqIDEwMCwgIiUpIik7CisgICAgICAgIH07CisgICAgICAgIGZvckVhY2hUaWVyKHBy
aW50VGllcik7CisgICAgICAgIG91dC5wcmludGxuKCJcbiIpOworCiAgICAgICAgIG91dC5wcmlu
dGxuKCJIb3R0ZXN0IGJ5dGVjb2RlcyBhcyA8bnVtU2FtcGxlcyAgICdmdW5jdGlvbk5hbWUjaGFz
aDpKSVRUeXBlOmJ5dGVjb2RlSW5kZXgnPiIpOwogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IE9wdGlvbnM6OnNhbXBsaW5nUHJvZmlsZXJUb3BCeXRlY29kZXNDb3VudCgpOyBpKyspIHsK
ICAgICAgICAgICAgIGF1dG8gcGFpciA9IHRha2VNYXgoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>