<?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>35232</bug_id>
          
          <creation_ts>2010-02-22 03:19:06 -0800</creation_ts>
          <short_desc>Web Inspector: Scripts panel shows blank source when stopping on a breakpoint on refresh.</short_desc>
          <delta_ts>2010-02-25 05:45:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://testsuites.opera.com/JSON/correctness/004.html</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="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>ap</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>192400</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-02-22 03:19:06 -0800</bug_when>
    <thetext>(Follow up to https://bugs.webkit.org/show_bug.cgi?id=28799)

I was thinking of a change that prevents scripts from being bound to resources prior to the resource&apos;s finished event and it works fine for secondary resources (external scripts). For main resource it would show multiple chunks of script tags first, and, once resource is loaded, it should replace chunks with the resource itself. Besides merging script entries upon resource finished event, there is a problem with chunks having 1-based lines numbering. It all breaks breakpoints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192404</commentid>
    <comment_count>1</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-02-22 03:21:12 -0800</bug_when>
    <thetext>Steps to repro:
1. go to http://testsuites.opera.com/JSON/correctness/004.html
2. enable the debugger
3. set a breakpoint somewhere in the code of 004.js
4. reload the page

Result:
004.js is sometimes shown with empty content.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193126</commentid>
    <comment_count>2</comment_count>
      <attachid>49326</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-02-23 14:17:37 -0800</bug_when>
    <thetext>Created attachment 49326
[PATCH] Proposed fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193200</commentid>
    <comment_count>3</comment_count>
      <attachid>49326</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-02-23 17:45:26 -0800</bug_when>
    <thetext>Comment on attachment 49326
[PATCH] Proposed fix.


&gt; +        var prefix = [];
&gt; +        for (var i = 0; i &lt; this.script.startingLine; ++i)
&gt; +            prefix.push(&quot;&quot;);
&gt; +        
&gt; +        this.sourceFrame.setContent(&quot;text/javascript&quot;, prefix.join(&quot;\n&quot;) + this.script.source);

Why not just build a string by appending &quot;\n&quot;? I think JSC optimizes that case.


&gt; +            this._resourceForURLInFilesSelect[script.resource.url] = script.resource;
&gt; +       }
&gt; + 
&gt; +        var displayName = script.sourceURL ? WebInspector.displayNameForURL(script.sourceURL) : WebInspector.UIString(&quot;(program)&quot;);

Bad indent on the } line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193693</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-02-25 05:45:45 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/Panel.js
	M	WebCore/inspector/front-end/ResourcesPanel.js
	M	WebCore/inspector/front-end/Script.js
	M	WebCore/inspector/front-end/ScriptView.js
	M	WebCore/inspector/front-end/ScriptsPanel.js
	M	WebCore/inspector/front-end/SourceView.js
	M	WebCore/inspector/front-end/inspector.js
Committed r55231</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49326</attachid>
            <date>2010-02-23 14:17:37 -0800</date>
            <delta_ts>2010-02-23 17:45:26 -0800</delta_ts>
            <desc>[PATCH] Proposed fix.</desc>
            <filename>break_on_load</filename>
            <type>text/plain</type>
            <size>21623</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDk1NDE0Ny4uZGZiOWI3ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMC0wMi0yMyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBTY3JpcHRzIHBhbmVsIHNob3dzIGJs
YW5rIHNvdXJjZSB3aGVuIHN0b3BwaW5nIG9uIGEgYnJlYWtwb2ludCBvbiByZWZyZXNoLgorCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTIzMgorCisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5QYW5lbC5wcm90b3R5cGUuY2FuU2hvd1NvdXJjZUxpbmUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlBhbmVsLnByb3RvdHlwZS5zaG93U291cmNlTGluZSk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
ZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUuY2FuU2hvd1NvdXJjZUxpbmUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZS5zaG93U291cmNlTGluZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHQuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2NyaXB0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFZpZXcuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0Vmlldy5wcm90b3R5cGUuc2V0dXBTb3VyY2VG
cmFtZUlmTmVlZGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5l
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlLnNob3cp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuZ2V0IHNlYXJj
aGFibGVWaWV3cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlw
ZS5hZGRTY3JpcHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5
cGUuX3Jlc291cmNlTG9hZGluZ0ZpbmlzaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TY3Jp
cHRzUGFuZWwucHJvdG90eXBlLmFkZEJyZWFrcG9pbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjcmlwdHNQYW5lbC5wcm90b3R5cGUucmVtb3ZlQnJlYWtwb2ludCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5yZXNldCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5jYW5TaG93U291cmNlTGluZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5zaG93U291cmNlTGluZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fc2NyaXB0T3JSZXNv
dXJjZUZvclVSTEFuZExpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUuc2hvd1ZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5w
cm90b3R5cGUuX3NvdXJjZUZyYW1lRm9yU2NyaXB0T3JSZXNvdXJjZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZS5fc2hvd1NjcmlwdE9yUmVzb3VyY2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5lbC5wcm90b3R5cGUuX2FkZFNjcmlwdFRv
RmlsZXNNZW51Lm9wdGlvbkNvbXBhcmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbC5wcm90b3R5cGUuX2FkZFNjcmlwdFRvRmlsZXNNZW51KToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NvdXJjZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNl
Vmlldy5wcm90b3R5cGUuX2FkZEJyZWFrcG9pbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50Q2xpY2su
Zm9sbG93TGluayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuZG9jdW1lbnRDbGljayk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuX2Nob29zZVBhbmVsVG9TaG93U291cmNlTGluZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuY2FuU2hvd1NvdXJjZUxpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LnNob3dTb3VyY2VMaW5lKToKKwogMjAxMC0wMi0yMiAgU3RlcGhhbiBBw59tdXMgIDxzdXBlcnN0
aXBwaUBnbXguZGU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUGFuZWwuanMKaW5kZXggNWIwMTE5MS4uYjkxNjcwOCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwpAQCAtMzczLDEyICszNzMsMTIgQEAgV2ViSW5zcGVj
dG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZpc2libGVWaWV3LnJlc2l6ZSgp
OwogICAgIH0sCiAKLSAgICBjYW5TaG93U291cmNlTGluZUZvclVSTDogZnVuY3Rpb24odXJsKQor
ICAgIGNhblNob3dTb3VyY2VMaW5lOiBmdW5jdGlvbih1cmwsIGxpbmUpCiAgICAgewogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfSwKIAotICAgIHNob3dTb3VyY2VMaW5lRm9yVVJMOiBmdW5j
dGlvbih1cmwsIGxpbmUpCisgICAgc2hvd1NvdXJjZUxpbmU6IGZ1bmN0aW9uKHVybCwgbGluZSkK
ICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9LApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCmluZGV4IDlhNDRjNTcuLjc3NGVkNjQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwor
KysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKQEAgLTQ1
NCwxMiArNDU0LDEyIEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSB7
CiAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbHMuc2NyaXB0cy52aWV3UmVjcmVhdGVkKG9sZFZp
ZXcsIG5ld1ZpZXcpOwogICAgIH0sCiAKLSAgICBjYW5TaG93U291cmNlTGluZUZvclVSTDogZnVu
Y3Rpb24odXJsKQorICAgIGNhblNob3dTb3VyY2VMaW5lOiBmdW5jdGlvbih1cmwsIGxpbmUpCiAg
ICAgewogICAgICAgICByZXR1cm4gISFXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwodXJsKTsK
ICAgICB9LAogCi0gICAgc2hvd1NvdXJjZUxpbmVGb3JVUkw6IGZ1bmN0aW9uKHVybCwgbGluZSkK
KyAgICBzaG93U291cmNlTGluZTogZnVuY3Rpb24odXJsLCBsaW5lKQogICAgIHsKICAgICAgICAg
dGhpcy5zaG93UmVzb3VyY2UoV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMKHVybCksIGxpbmUp
OwogICAgIH0sCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdC5qcwppbmRleCBlNjQxM2E5
Li41ODI2OGQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0
LmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHQuanMKQEAgLTMyLDYg
KzMyLDEzIEBAIFdlYkluc3BlY3Rvci5TY3JpcHQgPSBmdW5jdGlvbihzb3VyY2VJRCwgc291cmNl
VVJMLCBzb3VyY2UsIHN0YXJ0aW5nTGluZSwgZXJyb3JMCiAgICAgdGhpcy5lcnJvckxpbmUgPSBl
cnJvckxpbmU7CiAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7CiAKKyAgICB0
aGlzLmxpbmVzQ291bnQgPSAwOworICAgIHZhciBsYXN0SW5kZXggPSBzb3VyY2UuaW5kZXhPZigi
XG4iKTsKKyAgICB3aGlsZSAobGFzdEluZGV4ICE9PSAtMSkgeworICAgICAgICBsYXN0SW5kZXgg
PSBzb3VyY2UuaW5kZXhPZigiXG4iLCBsYXN0SW5kZXggKyAxKSAKKyAgICAgICAgdGhpcy5saW5l
c0NvdW50Kys7CisgICAgfQorCiAgICAgLy8gaWYgbm8gVVJMLCBsb29rIGZvciAiLy9AIHNvdXJj
ZVVSTD0iIGRlY29yYXRvcgogICAgIC8vIG5vdGUgdGhhdCB0aGlzIHNvdXJjZVVSTCBjb21tZW50
IGRlY29yYXRvciBpcyBiZWhhdmlvciB0aGF0IEZpcmVCdWcgYWRkZWQKICAgICAvLyBpbiBpdCdz
IDEuMSByZWxlYXNlIGFzIG5vdGVkIGluIHRoZSByZWxlYXNlIG5vdGVzOgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdFZpZXcuanMgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0Vmlldy5qcwppbmRleCBjNWE4YjgxLi41YTg4NDdlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Vmlldy5qcworKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Vmlldy5qcwpAQCAtNTIsNyArNTIsMTEg
QEAgV2ViSW5zcGVjdG9yLlNjcmlwdFZpZXcucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMu
YXR0YWNoKCk7CiAKLSAgICAgICAgdGhpcy5zb3VyY2VGcmFtZS5zZXRDb250ZW50KCJ0ZXh0L2ph
dmFzY3JpcHQiLCB0aGlzLnNjcmlwdC5zb3VyY2UpOworICAgICAgICB2YXIgcHJlZml4ID0gW107
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zY3JpcHQuc3RhcnRpbmdMaW5lOyAr
K2kpCisgICAgICAgICAgICBwcmVmaXgucHVzaCgiIik7CisgICAgICAgIAorICAgICAgICB0aGlz
LnNvdXJjZUZyYW1lLnNldENvbnRlbnQoInRleHQvamF2YXNjcmlwdCIsIHByZWZpeC5qb2luKCJc
biIpICsgdGhpcy5zY3JpcHQuc291cmNlKTsKICAgICAgICAgdGhpcy5fc291cmNlRnJhbWVTZXR1
cCA9IHRydWU7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9mcmFtZU5lZWRzU2V0dXA7CiAgICAgfSwK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzUGFuZWwuanMg
Yi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c1BhbmVsLmpzCmluZGV4IDdlOWNi
OWIuLmI4YTgyMDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3Jp
cHRzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NjcmlwdHNQYW5l
bC5qcwpAQCAtMjM4LDE2ICsyMzgsNiBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3LmhlYWRlcnNWaXNpYmxl
ID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3LnNob3codGhpcy52aWV3c0Nv
bnRhaW5lckVsZW1lbnQpOwogICAgICAgICB9Ci0gICAgICAgIC8vIEhpZGUgYW55IHZpZXdzIHRo
YXQgYXJlIHZpc2libGUgdGhhdCBhcmUgbm90IHRoaXMgcGFuZWwncyBjdXJyZW50IHZpc2libGUg
dmlldy4KLSAgICAgICAgLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBSZXNvdXJjZVZpZXcgaXMg
dmlzaWJsZSBpbiB0aGUgUmVzb3VyY2VzIHBhbmVsIHRoZW4gc3dpdGNoZWQKLSAgICAgICAgLy8g
dG8gdGhlIHRoaXMgcGFuZWwuCi0gICAgICAgIGZvciAodmFyIHNvdXJjZUlEIGluIHRoaXMuX3Nv
dXJjZUlETWFwKSB7Ci0gICAgICAgICAgICB2YXIgc2NyaXB0T3JSZXNvdXJjZSA9IHRoaXMuX3Nv
dXJjZUlETWFwW3NvdXJjZUlEXTsKLSAgICAgICAgICAgIHZhciB2aWV3ID0gdGhpcy5fc291cmNl
Vmlld0ZvclNjcmlwdE9yUmVzb3VyY2Uoc2NyaXB0T3JSZXNvdXJjZSk7Ci0gICAgICAgICAgICBp
ZiAoIXZpZXcgfHwgdmlldyA9PT0gdGhpcy52aXNpYmxlVmlldykKLSAgICAgICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgICAgIHZpZXcudmlzaWJsZSA9IGZhbHNlOwotICAgICAgICB9CiAg
ICAgICAgIGlmICh0aGlzLl9hdHRhY2hEZWJ1Z2dlcldoZW5TaG93bikgewogICAgICAgICAgICAg
SW5zcGVjdG9yQmFja2VuZC5lbmFibGVEZWJ1Z2dlcihmYWxzZSk7CiAgICAgICAgICAgICBkZWxl
dGUgdGhpcy5fYXR0YWNoRGVidWdnZXJXaGVuU2hvd247CkBAIC0yNTYsMjggKzI0Niw3IEBAIFdl
Ykluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHNlYXJjaGFi
bGVWaWV3cygpCiAgICAgewotICAgICAgICB2YXIgdmlld3MgPSBbXTsKLQotICAgICAgICBjb25z
dCB2aXNpYmxlVmlldyA9IHRoaXMudmlzaWJsZVZpZXc7Ci0gICAgICAgIGlmICh2aXNpYmxlVmll
dyAmJiB2aXNpYmxlVmlldy5wZXJmb3JtU2VhcmNoKSB7Ci0gICAgICAgICAgICB2aXNpYmxlVmll
dy5hbHJlYWR5U2VhcmNoaW5nID0gdHJ1ZTsKLSAgICAgICAgICAgIHZpZXdzLnB1c2godmlzaWJs
ZVZpZXcpOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yICh2YXIgc291cmNlSUQgaW4gdGhpcy5f
c291cmNlSURNYXApIHsKLSAgICAgICAgICAgIHZhciBzY3JpcHRPclJlc291cmNlID0gdGhpcy5f
c291cmNlSURNYXBbc291cmNlSURdOwotICAgICAgICAgICAgdmFyIHZpZXcgPSB0aGlzLl9zb3Vy
Y2VWaWV3Rm9yU2NyaXB0T3JSZXNvdXJjZShzY3JpcHRPclJlc291cmNlKTsKLSAgICAgICAgICAg
IGlmICghdmlldyB8fCAhdmlldy5wZXJmb3JtU2VhcmNoIHx8IHZpZXcuYWxyZWFkeVNlYXJjaGlu
ZykKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAgICAgdmlldy5hbHJlYWR5
U2VhcmNoaW5nID0gdHJ1ZTsKLSAgICAgICAgICAgIHZpZXdzLnB1c2godmlldyk7Ci0gICAgICAg
IH0KLQotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZpZXdzLmxlbmd0aDsgKytpKQotICAg
ICAgICAgICAgZGVsZXRlIHZpZXdzW2ldLmFscmVhZHlTZWFyY2hpbmc7Ci0KLSAgICAgICAgcmV0
dXJuIHZpZXdzOworICAgICAgICByZXR1cm4gWyB0aGlzLnZpc2libGVWaWV3IF07CiAgICAgfSwK
IAogICAgIGdldCBicmVha3BvaW50c0FjdGl2YXRlZCgpCkBAIC0yODgsMjcgKzI1Nyw1MCBAQCBX
ZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICBhZGRTY3JpcHQ6IGZ1
bmN0aW9uKHNvdXJjZUlELCBzb3VyY2VVUkwsIHNvdXJjZSwgc3RhcnRpbmdMaW5lLCBlcnJvckxp
bmUsIGVycm9yTWVzc2FnZSkKICAgICB7CiAgICAgICAgIHZhciBzY3JpcHQgPSBuZXcgV2ViSW5z
cGVjdG9yLlNjcmlwdChzb3VyY2VJRCwgc291cmNlVVJMLCBzb3VyY2UsIHN0YXJ0aW5nTGluZSwg
ZXJyb3JMaW5lLCBlcnJvck1lc3NhZ2UpOwotCi0gICAgICAgIGlmIChzb3VyY2VVUkwgaW4gV2Vi
SW5zcGVjdG9yLnJlc291cmNlVVJMTWFwKSB7Ci0gICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VVUkxNYXBbc291cmNlVVJMXTsKLSAgICAgICAgICAgIHJlc291
cmNlLmFkZFNjcmlwdChzY3JpcHQpOworICAgICAgICB0aGlzLl9zb3VyY2VJRE1hcFtzb3VyY2VJ
RF0gPSBzY3JpcHQ7CisKKyAgICAgICAgdmFyIHJlc291cmNlID0gV2ViSW5zcGVjdG9yLnJlc291
cmNlVVJMTWFwW3NvdXJjZVVSTF07CisgICAgICAgIGlmIChyZXNvdXJjZSkgeworICAgICAgICAg
ICAgaWYgKHJlc291cmNlLmZpbmlzaGVkKSB7CisgICAgICAgICAgICAgICAgLy8gUmVzb3VyY2Ug
aXMgZmluaXNoZWQsIGJpbmQgdGhlIHNjcmlwdCByaWdodCBhd2F5LgorICAgICAgICAgICAgICAg
IHJlc291cmNlLmFkZFNjcmlwdChzY3JpcHQpOworICAgICAgICAgICAgICAgIHRoaXMuX3NvdXJj
ZUlETWFwW3NvdXJjZUlEXSA9IHJlc291cmNlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAvLyBSZXNvdXJjZSBpcyBub3QgZmluaXNoZWQsIGJpbmQgdGhlIHNjcmlwdCBs
YXRlci4KKyAgICAgICAgICAgICAgICBpZiAoIXJlc291cmNlLl9zY3JpcHRzUGVuZGluZ1Jlc291
cmNlTG9hZCkgeworICAgICAgICAgICAgICAgICAgICByZXNvdXJjZS5fc2NyaXB0c1BlbmRpbmdS
ZXNvdXJjZUxvYWQgPSBbXTsKKyAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2UuYWRkRXZlbnRM
aXN0ZW5lcigiZmluaXNoZWQiLCB0aGlzLl9yZXNvdXJjZUxvYWRpbmdGaW5pc2hlZCwgdGhpcyk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlc291cmNlLl9zY3JpcHRzUGVu
ZGluZ1Jlc291cmNlTG9hZC5wdXNoKHNjcmlwdCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0K
LQotICAgICAgICBzb3VyY2VVUkwgPSBzY3JpcHQuc291cmNlVVJMOwotCi0gICAgICAgIGlmIChz
b3VyY2VJRCkKLSAgICAgICAgICAgIHRoaXMuX3NvdXJjZUlETWFwW3NvdXJjZUlEXSA9IChyZXNv
dXJjZSB8fCBzY3JpcHQpOwogICAgICAgICB0aGlzLl9hZGRTY3JpcHRUb0ZpbGVzTWVudShzY3Jp
cHQpOwogICAgIH0sCiAKLSAgICBzY3JpcHRPclJlc291cmNlRm9ySUQ6IGZ1bmN0aW9uKGlkKQor
ICAgIF9yZXNvdXJjZUxvYWRpbmdGaW5pc2hlZDogZnVuY3Rpb24oZSkKICAgICB7Ci0gICAgICAg
IHJldHVybiB0aGlzLl9zb3VyY2VJRE1hcFtpZF07Ci0gICAgfSwKLQotICAgIHNjcmlwdEZvclVS
TDogZnVuY3Rpb24odXJsKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3NjcmlwdHNGb3JV
UkxzSW5GaWxlc1NlbGVjdFt1cmxdOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBlLnRhcmdldDsK
KyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXNvdXJjZS5fc2NyaXB0c1BlbmRpbmdSZXNv
dXJjZUxvYWQubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIC8vIEJpbmQgc2NyaXB0IHRvIHJl
c291cmNlLgorICAgICAgICAgICAgdmFyIHNjcmlwdCA9IHJlc291cmNlLl9zY3JpcHRzUGVuZGlu
Z1Jlc291cmNlTG9hZFtpXTsKKyAgICAgICAgICAgIHJlc291cmNlLmFkZFNjcmlwdChzY3JpcHQp
OworICAgICAgICAgICAgdGhpcy5fc291cmNlSURNYXBbc2NyaXB0LnNvdXJjZUlEXSA9IHJlc291
cmNlOworCisgICAgICAgICAgICAvLyBSZW1vdmUgc2NyaXB0IGZyb20gdGhlIGZpbGVzIGxpc3Qu
CisgICAgICAgICAgICBzY3JpcHQuZmlsZXNTZWxlY3RPcHRpb24ucGFyZW50RWxlbWVudC5yZW1v
dmVDaGlsZChzY3JpcHQuZmlsZXNTZWxlY3RPcHRpb24pOworICAgICAgICAgICAgCisgICAgICAg
ICAgICAvLyBNb3ZlIGJyZWFrcG9pbnRzIHRvIHRoZSByZXNvdXJjZSdzIGZyYW1lLgorICAgICAg
ICAgICAgaWYgKHNjcmlwdC5fc2NyaXB0VmlldykgeworICAgICAgICAgICAgICAgIHZhciBzb3Vy
Y2VGcmFtZSA9IHNjcmlwdC5fc2NyaXB0Vmlldy5zb3VyY2VGcmFtZTsKKyAgICAgICAgICAgICAg
ICBmb3IgKHZhciBqID0gMDsgaiA8IHNvdXJjZUZyYW1lLmJyZWFrcG9pbnRzOyArK2opIHsKKyAg
ICAgICAgICAgICAgICAgICAgdmFyIHJlc291cmNlRnJhbWUgPSB0aGlzLl9zb3VyY2VGcmFtZUZv
clNjcmlwdE9yUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAgICAgICAgICAgICAgICByZXNvdXJj
ZUZyYW1lLmFkZEJyZWFrcG9pbnQoc291cmNlRnJhbWUuYnJlYWtwb2ludHNbal0pOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAvLyBBZGRpbmcg
Zmlyc3Qgc2NyaXB0IHdpbGwgYWRkIHJlc291cmNlLgorICAgICAgICB0aGlzLl9hZGRTY3JpcHRU
b0ZpbGVzTWVudShyZXNvdXJjZS5fc2NyaXB0c1BlbmRpbmdSZXNvdXJjZUxvYWRbMF0pOworICAg
ICAgICBkZWxldGUgcmVzb3VyY2UuX3NjcmlwdHNQZW5kaW5nUmVzb3VyY2VMb2FkOwogICAgIH0s
CiAKICAgICBhZGRCcmVha3BvaW50OiBmdW5jdGlvbihicmVha3BvaW50KQpAQCAtMzIwLDEwICsz
MTIsOSBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICB2YXIgc291cmNlRnJhbWU7CiAgICAgICAgIGlmIChicmVha3BvaW50LnVybCkgewotICAgICAg
ICAgICAgaWYgKGJyZWFrcG9pbnQudXJsIGluIFdlYkluc3BlY3Rvci5yZXNvdXJjZVVSTE1hcCkg
ewotICAgICAgICAgICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJjZVVS
TE1hcFticmVha3BvaW50LnVybF07CisgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNw
ZWN0b3IucmVzb3VyY2VVUkxNYXBbYnJlYWtwb2ludC51cmxdOworICAgICAgICAgICAgaWYgKHJl
c291cmNlICYmIHJlc291cmNlLmZpbmlzaGVkKQogICAgICAgICAgICAgICAgIHNvdXJjZUZyYW1l
ID0gdGhpcy5fc291cmNlRnJhbWVGb3JTY3JpcHRPclJlc291cmNlKHJlc291cmNlKTsKLSAgICAg
ICAgICAgIH0KICAgICAgICAgfQogCiAgICAgICAgIGlmIChicmVha3BvaW50LnNvdXJjZUlEICYm
ICFzb3VyY2VGcmFtZSkgewpAQCAtMzQwLDkgKzMzMSwxMCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0
c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5zaWRlYmFyUGFuZXMuYnJlYWtwb2lu
dHMucmVtb3ZlQnJlYWtwb2ludChicmVha3BvaW50KTsKIAogICAgICAgICB2YXIgc291cmNlRnJh
bWU7Ci0gICAgICAgIGlmIChicmVha3BvaW50LnVybCAmJiBicmVha3BvaW50LnVybCBpbiBXZWJJ
bnNwZWN0b3IucmVzb3VyY2VVUkxNYXApIHsKKyAgICAgICAgaWYgKGJyZWFrcG9pbnQudXJsKSB7
CiAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBXZWJJbnNwZWN0b3IucmVzb3VyY2VVUkxNYXBb
YnJlYWtwb2ludC51cmxdOwotICAgICAgICAgICAgc291cmNlRnJhbWUgPSB0aGlzLl9zb3VyY2VG
cmFtZUZvclNjcmlwdE9yUmVzb3VyY2UocmVzb3VyY2UpOworICAgICAgICAgICAgaWYgKHJlc291
cmNlICYmIHJlc291cmNlLmZpbmlzaGVkKQorICAgICAgICAgICAgICAgIHNvdXJjZUZyYW1lID0g
dGhpcy5fc291cmNlRnJhbWVGb3JTY3JpcHRPclJlc291cmNlKHJlc291cmNlKTsKICAgICAgICAg
fQogCiAgICAgICAgIGlmIChicmVha3BvaW50LnNvdXJjZUlEICYmICFzb3VyY2VGcmFtZSkgewpA
QCAtNDUzLDcgKzQ0NSw3IEBAIFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl9jdXJyZW50QmFja0ZvcndhcmRJbmRleCA9IC0xOwogICAgICAgICB0
aGlzLl91cGRhdGVCYWNrQW5kRm9yd2FyZEJ1dHRvbnMoKTsKIAotICAgICAgICB0aGlzLl9zY3Jp
cHRzRm9yVVJMc0luRmlsZXNTZWxlY3QgPSB7fTsKKyAgICAgICAgdGhpcy5fcmVzb3VyY2VGb3JV
UkxJbkZpbGVzU2VsZWN0ID0ge307CiAgICAgICAgIHRoaXMuZmlsZXNTZWxlY3RFbGVtZW50LnJl
bW92ZUNoaWxkcmVuKCk7CiAgICAgICAgIHRoaXMuZnVuY3Rpb25zU2VsZWN0RWxlbWVudC5yZW1v
dmVDaGlsZHJlbigpOwogICAgICAgICB0aGlzLnZpZXdzQ29udGFpbmVyRWxlbWVudC5yZW1vdmVD
aGlsZHJlbigpOwpAQCAtNDk3LDM2ICs0ODksNDEgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQYW5l
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl92aXNpYmxlVmlldyA9IG5ld1ZpZXc7
CiAgICAgfSwKIAotICAgIGNhblNob3dTb3VyY2VMaW5lRm9yVVJMOiBmdW5jdGlvbih1cmwpCisg
ICAgY2FuU2hvd1NvdXJjZUxpbmU6IGZ1bmN0aW9uKHVybCwgbGluZSkKICAgICB7Ci0gICAgICAg
IHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmRlYnVnZ2VyRW5hYmxlZCgpICYmCi0gICAgICAgICAg
ICAhIShXZWJJbnNwZWN0b3IucmVzb3VyY2VGb3JVUkwodXJsKSB8fCB0aGlzLnNjcmlwdEZvclVS
TCh1cmwpKTsKLSAgICB9LAotCi0gICAgc2hvd1NvdXJjZUxpbmVGb3JVUkw6IGZ1bmN0aW9uKHVy
bCwgbGluZSkKLSAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IFdlYkluc3BlY3Rvci5yZXNv
dXJjZUZvclVSTCh1cmwpOwotICAgICAgICBpZiAocmVzb3VyY2UpCi0gICAgICAgICAgICB0aGlz
LnNob3dSZXNvdXJjZShyZXNvdXJjZSwgbGluZSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IHRoaXMuc2hvd1NjcmlwdCh0aGlzLnNjcmlwdEZvclVSTCh1cmwpLCBsaW5lKTsKKyAgICAgICAg
aWYgKCFJbnNwZWN0b3JCYWNrZW5kLmRlYnVnZ2VyRW5hYmxlZCgpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gISF0aGlzLl9zY3JpcHRPclJlc291cmNlRm9yVVJM
QW5kTGluZSh1cmwsIGxpbmUpOwogICAgIH0sCiAKLSAgICBzaG93U2NyaXB0OiBmdW5jdGlvbihz
Y3JpcHQsIGxpbmUpCisgICAgc2hvd1NvdXJjZUxpbmU6IGZ1bmN0aW9uKHVybCwgbGluZSkKICAg
ICB7Ci0gICAgICAgIHRoaXMuX3Nob3dTY3JpcHRPclJlc291cmNlKHNjcmlwdCwge2xpbmU6IGxp
bmUsIHNob3VsZEhpZ2hsaWdodExpbmU6IHRydWV9KTsKKyAgICAgICAgdmFyIHNjcmlwdE9yUmVz
b3VyY2UgPSB0aGlzLl9zY3JpcHRPclJlc291cmNlRm9yVVJMQW5kTGluZSh1cmwsIGxpbmUpOwor
ICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZShzY3JpcHRPclJlc291cmNlLCB7bGlu
ZTogbGluZSwgc2hvdWxkSGlnaGxpZ2h0TGluZTogdHJ1ZX0pOwogICAgIH0sCiAKLSAgICBzaG93
UmVzb3VyY2U6IGZ1bmN0aW9uKHJlc291cmNlLCBsaW5lKQorICAgIF9zY3JpcHRPclJlc291cmNl
Rm9yVVJMQW5kTGluZTogZnVuY3Rpb24odXJsLCBsaW5lKSAKICAgICB7Ci0gICAgICAgIHRoaXMu
X3Nob3dTY3JpcHRPclJlc291cmNlKHJlc291cmNlLCB7bGluZTogbGluZSwgc2hvdWxkSGlnaGxp
Z2h0TGluZTogdHJ1ZX0pOworICAgICAgICBmb3IgKHZhciBzb3VyY2VJRCBpbiB0aGlzLl9zb3Vy
Y2VJRE1hcCkgeworICAgICAgICAgICAgdmFyIHNjcmlwdE9yUmVzb3VyY2UgPSB0aGlzLl9zb3Vy
Y2VJRE1hcFtzb3VyY2VJRF07CisgICAgICAgICAgICBpZiAoc2NyaXB0T3JSZXNvdXJjZSBpbnN0
YW5jZW9mIFdlYkluc3BlY3Rvci5TY3JpcHQpIHsKKyAgICAgICAgICAgICAgICB2YXIgc2NyaXB0
ID0gc2NyaXB0T3JSZXNvdXJjZTsKKyAgICAgICAgICAgICAgICBpZiAoc2NyaXB0LnN0YXJ0aW5n
TGluZSA8PSBsaW5lICYmIHNjcmlwdC5zdGFydGluZ0xpbmUgKyBzY3JpcHQubGluZXNDb3VudCA+
IGxpbmUpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzY3JpcHQ7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIHZhciByZXNvdXJjZSA9IHNjcmlwdE9yUmVzb3VyY2U7
CisgICAgICAgICAgICAgICAgaWYgKHJlc291cmNlLnVybCA9PT0gdXJsKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gcmVzb3VyY2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIG51bGw7CiAgICAgfSwKIAogICAgIHNob3dWaWV3OiBmdW5jdGlvbih2aWV3KQog
ICAgIHsKICAgICAgICAgaWYgKCF2aWV3KQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0
aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZSgodmlldy5yZXNvdXJjZSB8fCB2aWV3LnNjcmlwdCkp
OworICAgICAgICB0aGlzLl9zaG93U2NyaXB0T3JSZXNvdXJjZSh2aWV3LnJlc291cmNlIHx8IHZp
ZXcuc2NyaXB0KTsKICAgICB9LAogCiAgICAgaGFuZGxlU2hvcnRjdXQ6IGZ1bmN0aW9uKGV2ZW50
KQpAQCAtNTc2LDExICs1NzMsOCBAQCBXZWJJbnNwZWN0b3IuU2NyaXB0c1BhbmVsLnByb3RvdHlw
ZSA9IHsKIAogICAgIF9zb3VyY2VGcmFtZUZvclNjcmlwdE9yUmVzb3VyY2U6IGZ1bmN0aW9uKHNj
cmlwdE9yUmVzb3VyY2UpCiAgICAgewotICAgICAgICBpZiAoc2NyaXB0T3JSZXNvdXJjZSBpbnN0
YW5jZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZSkgewotICAgICAgICAgICAgaWYgKCFXZWJJbnNw
ZWN0b3IucGFuZWxzLnJlc291cmNlcykKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAg
ICAgICAgaWYgKHNjcmlwdE9yUmVzb3VyY2UgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2UpCiAgICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLnBhbmVscy5yZXNvdXJjZXMuc291
cmNlRnJhbWVGb3JSZXNvdXJjZShzY3JpcHRPclJlc291cmNlKTsKLSAgICAgICAgfQogICAgICAg
ICBpZiAoc2NyaXB0T3JSZXNvdXJjZSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5TY3JpcHQpCiAg
ICAgICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2VGcmFtZUZvclNjcmlwdChzY3JpcHRPclJlc291
cmNlKTsKICAgICB9LApAQCAtNjUzLDU1ICs2NDcsNTAgQEAgV2ViSW5zcGVjdG9yLlNjcmlwdHNQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAvLyBoYXNuJ3QgYmVlbiBhZGRlZCB5ZXQg
LSBoYXBwZW5zIGZvciBzdGVwcGluZyBpbiBldmFscywKICAgICAgICAgICAgIC8vIHNvIHVzZSB0
aGUgZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIHRoZSBzY3JpcHQgaW50byB0aGUgbWVudS4KICAgICAg
ICAgICAgIGlmICghb3B0aW9uKSB7Ci0gICAgICAgICAgICAgICAgdGhpcy5fYWRkU2NyaXB0VG9G
aWxlc01lbnUoc2NyaXB0T3JSZXNvdXJjZSwge2ZvcmNlOiB0cnVlfSk7CisgICAgICAgICAgICAg
ICAgdGhpcy5fYWRkU2NyaXB0VG9GaWxlc01lbnUoc2NyaXB0T3JSZXNvdXJjZSwgdHJ1ZSk7CiAg
ICAgICAgICAgICAgICAgb3B0aW9uID0gc2NyaXB0T3JSZXNvdXJjZS5maWxlc1NlbGVjdE9wdGlv
bjsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQob3B0aW9uKTsK
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHZhciBzY3JpcHQgPSB0aGlzLnNjcmlwdEZv
clVSTCh1cmwpOwotICAgICAgICAgICAgaWYgKHNjcmlwdCkKLSAgICAgICAgICAgICAgIG9wdGlv
biA9IHNjcmlwdC5maWxlc1NlbGVjdE9wdGlvbjsKLSAgICAgICAgfQorICAgICAgICB9IGVsc2UK
KyAgICAgICAgICAgIG9wdGlvbiA9IHNjcmlwdE9yUmVzb3VyY2UuZmlsZXNTZWxlY3RPcHRpb247
CiAKICAgICAgICAgaWYgKG9wdGlvbikKICAgICAgICAgICAgIHRoaXMuZmlsZXNTZWxlY3RFbGVt
ZW50LnNlbGVjdGVkSW5kZXggPSBvcHRpb24uaW5kZXg7CiAgICAgfSwKIAotICAgIF9hZGRTY3Jp
cHRUb0ZpbGVzTWVudTogZnVuY3Rpb24oc2NyaXB0LCBvcHRpb25zKQorICAgIF9hZGRTY3JpcHRU
b0ZpbGVzTWVudTogZnVuY3Rpb24oc2NyaXB0LCBmb3JjZSkKICAgICB7Ci0gICAgICAgIHZhciBm
b3JjZSA9IG9wdGlvbnMgJiYgb3B0aW9ucy5mb3JjZTsKLQogICAgICAgICBpZiAoIXNjcmlwdC5z
b3VyY2VVUkwgJiYgIWZvcmNlKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmIChz
Y3JpcHQucmVzb3VyY2UgJiYgdGhpcy5fc2NyaXB0c0ZvclVSTHNJbkZpbGVzU2VsZWN0W3Njcmlw
dC5zb3VyY2VVUkxdKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3Njcmlw
dHNGb3JVUkxzSW5GaWxlc1NlbGVjdFtzY3JpcHQuc291cmNlVVJMXSA9IHNjcmlwdDsKKyAgICAg
ICAgaWYgKHNjcmlwdC5yZXNvdXJjZSkgeworICAgICAgICAgICAgaWYgKHRoaXMuX3Jlc291cmNl
Rm9yVVJMSW5GaWxlc1NlbGVjdFtzY3JpcHQucmVzb3VyY2UudXJsXSkKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB0aGlzLl9yZXNvdXJjZUZvclVSTEluRmlsZXNTZWxlY3Rb
c2NyaXB0LnJlc291cmNlLnVybF0gPSBzY3JpcHQucmVzb3VyY2U7CisgICAgICAgfQorIAorICAg
ICAgICB2YXIgZGlzcGxheU5hbWUgPSBzY3JpcHQuc291cmNlVVJMID8gV2ViSW5zcGVjdG9yLmRp
c3BsYXlOYW1lRm9yVVJMKHNjcmlwdC5zb3VyY2VVUkwpIDogV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCIocHJvZ3JhbSkiKTsKIAogICAgICAgICB2YXIgc2VsZWN0ID0gdGhpcy5maWxlc1NlbGVjdEVs
ZW1lbnQ7Ci0KICAgICAgICAgdmFyIG9wdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9w
dGlvbiIpOwotICAgICAgICBvcHRpb24ucmVwcmVzZW50ZWRPYmplY3QgPSAoc2NyaXB0LnJlc291
cmNlIHx8IHNjcmlwdCk7Ci0gICAgICAgIG9wdGlvbi50ZXh0ID0gKHNjcmlwdC5zb3VyY2VVUkwg
PyBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwoc2NyaXB0LnNvdXJjZVVSTCkgOiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIihwcm9ncmFtKSIpKTsKKyAgICAgICAgb3B0aW9uLnJlcHJlc2Vu
dGVkT2JqZWN0ID0gc2NyaXB0LnJlc291cmNlIHx8IHNjcmlwdDsKKyAgICAgICAgb3B0aW9uLnVy
bCA9IGRpc3BsYXlOYW1lOworICAgICAgICBvcHRpb24uc3RhcnRpbmdMaW5lID0gc2NyaXB0LnN0
YXJ0aW5nTGluZTsKKyAgICAgICAgb3B0aW9uLnRleHQgPSBzY3JpcHQucmVzb3VyY2UgPyBkaXNw
bGF5TmFtZSA6IFN0cmluZy5zcHJpbnRmKCIlcyAoJWQgLSAlZCkiLCBkaXNwbGF5TmFtZSwgc2Ny
aXB0LnN0YXJ0aW5nTGluZSwgc2NyaXB0LnN0YXJ0aW5nTGluZSArIHNjcmlwdC5saW5lc0NvdW50
KTsKIAogICAgICAgICBmdW5jdGlvbiBvcHRpb25Db21wYXJlKGEsIGIpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIHZhciBhVGl0bGUgPSBhLnRleHQudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgICAg
IHZhciBiVGl0bGUgPSBiLnRleHQudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgICAgIGlmIChhVGl0
bGUgPCBiVGl0bGUpCisgICAgICAgICAgICBpZiAoYS51cmwgPCBiLnVybCkKICAgICAgICAgICAg
ICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICBlbHNlIGlmIChhVGl0bGUgPiBiVGl0bGUpCisg
ICAgICAgICAgICBlbHNlIGlmIChhLnVybCA+IGIudXJsKQogICAgICAgICAgICAgICAgIHJldHVy
biAxOwogCi0gICAgICAgICAgICB2YXIgYVNvdXJjZUlEID0gYS5yZXByZXNlbnRlZE9iamVjdC5z
b3VyY2VJRDsKLSAgICAgICAgICAgIHZhciBiU291cmNlSUQgPSBiLnJlcHJlc2VudGVkT2JqZWN0
LnNvdXJjZUlEOwotICAgICAgICAgICAgaWYgKGFTb3VyY2VJRCA8IGJTb3VyY2VJRCkKKyAgICAg
ICAgICAgIGlmICh0eXBlb2YgYS5zdGFydGluZ0xpbmUgIT09ICJudW1iZXIiKQogICAgICAgICAg
ICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgIGVsc2UgaWYgKGFTb3VyY2VJRCA+IGJTb3Vy
Y2VJRCkKLSAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAgICAgaWYgKHR5cGVvZiBiLnN0YXJ0aW5nTGluZSAhPT0gIm51bWJlciIpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgcmV0dXJuIGEuc3RhcnRpbmdMaW5l
IC0gYi5zdGFydGluZ0xpbmU7CiAgICAgICAgIH0KIAogICAgICAgICB2YXIgaW5zZXJ0aW9uSW5k
ZXggPSBpbnNlcnRpb25JbmRleEZvck9iamVjdEluTGlzdFNvcnRlZEJ5RnVuY3Rpb24ob3B0aW9u
LCBzZWxlY3QuY2hpbGROb2Rlcywgb3B0aW9uQ29tcGFyZSk7CkBAIC03MTAsNyArNjk5LDEwIEBA
IFdlYkluc3BlY3Rvci5TY3JpcHRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBzZWxlY3QuaW5zZXJ0QmVmb3JlKG9wdGlvbiwgc2VsZWN0LmNoaWxkTm9kZXMu
aXRlbShpbnNlcnRpb25JbmRleCkpOwogCi0gICAgICAgIHNjcmlwdC5maWxlc1NlbGVjdE9wdGlv
biA9IG9wdGlvbjsKKyAgICAgICAgaWYgKHNjcmlwdC5yZXNvdXJjZSkKKyAgICAgICAgICAgIHNj
cmlwdC5yZXNvdXJjZS5maWxlc1NlbGVjdE9wdGlvbiA9IG9wdGlvbjsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgc2NyaXB0LmZpbGVzU2VsZWN0T3B0aW9uID0gb3B0aW9uOwogCiAgICAgICAg
IC8vIENhbGwgX3Nob3dTY3JpcHRPclJlc291cmNlIGlmIHRoZSBvcHRpb24gd2UganVzdCBhcHBl
bmRlZCBlbmRlZCB1cCBiZWluZyBzZWxlY3RlZC4KICAgICAgICAgLy8gVGhpcyB3aWxsIGhhcHBl
biBmb3IgdGhlIGZpcnN0IGl0ZW0gYWRkZWQgdG8gdGhlIG1lbnUuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlVmlldy5qcyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VWaWV3LmpzCmluZGV4IGI0MDFjMTIuLjM4MmQ4NDAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3LmpzCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3LmpzCkBAIC05MiwxMyArOTIsMTIgQEAg
V2ViSW5zcGVjdG9yLlNvdXJjZVZpZXcucHJvdG90eXBlID0gewogICAgIF9hZGRCcmVha3BvaW50
OiBmdW5jdGlvbihsaW5lKQogICAgIHsKICAgICAgICAgdmFyIHNvdXJjZUlEID0gbnVsbDsKLSAg
ICAgICAgdmFyIGNsb3Nlc3RTdGFydGluZ0xpbmUgPSAwOwogICAgICAgICB2YXIgc2NyaXB0cyA9
IHRoaXMucmVzb3VyY2Uuc2NyaXB0czsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzY3Jp
cHRzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgc2NyaXB0ID0gc2NyaXB0c1tpXTsK
LSAgICAgICAgICAgIGlmIChzY3JpcHQuc3RhcnRpbmdMaW5lIDw9IGxpbmUgJiYgc2NyaXB0LnN0
YXJ0aW5nTGluZSA+PSBjbG9zZXN0U3RhcnRpbmdMaW5lKSB7Ci0gICAgICAgICAgICAgICAgY2xv
c2VzdFN0YXJ0aW5nTGluZSA9IHNjcmlwdC5zdGFydGluZ0xpbmU7CisgICAgICAgICAgICBpZiAo
c2NyaXB0LnN0YXJ0aW5nTGluZSA8PSBsaW5lICYmIHNjcmlwdC5zdGFydGluZ0xpbmUgKyBzY3Jp
cHQubGluZXNDb3VudCA+IGxpbmUpIHsKICAgICAgICAgICAgICAgICBzb3VyY2VJRCA9IHNjcmlw
dC5zb3VyY2VJRDsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA4MTk1
ODMzLi42MGY5YWI4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMK
QEAgLTYyMiwxNyArNjIyLDE3IEBAIFdlYkluc3BlY3Rvci5kb2N1bWVudENsaWNrID0gZnVuY3Rp
b24oZXZlbnQpCiAgICAgZnVuY3Rpb24gZm9sbG93TGluaygpCiAgICAgewogICAgICAgICAvLyBG
SVhNRTogc3VwcG9ydCB3ZWJraXQtaHRtbC1leHRlcm5hbC1saW5rIGxpbmtzIGhlcmUuCi0gICAg
ICAgIGlmIChXZWJJbnNwZWN0b3IuY2FuU2hvd1NvdXJjZUxpbmVGb3JVUkwoYW5jaG9yLmhyZWYs
IGFuY2hvci5wcmVmZXJyZWRQYW5lbCkpIHsKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jYW5T
aG93U291cmNlTGluZShhbmNob3IuaHJlZiwgYW5jaG9yLmxpbmVOdW1iZXIsIGFuY2hvci5wcmVm
ZXJyZWRQYW5lbCkpIHsKICAgICAgICAgICAgIGlmIChhbmNob3IuaGFzU3R5bGVDbGFzcygid2Vi
a2l0LWh0bWwtZXh0ZXJuYWwtbGluayIpKSB7CiAgICAgICAgICAgICAgICAgYW5jaG9yLnJlbW92
ZVN0eWxlQ2xhc3MoIndlYmtpdC1odG1sLWV4dGVybmFsLWxpbmsiKTsKICAgICAgICAgICAgICAg
ICBhbmNob3IuYWRkU3R5bGVDbGFzcygid2Via2l0LWh0bWwtcmVzb3VyY2UtbGluayIpOwogICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUxpbmVGb3JV
UkwoYW5jaG9yLmhyZWYsIGFuY2hvci5saW5lTnVtYmVyLCBhbmNob3IucHJlZmVycmVkUGFuZWwp
OworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dTb3VyY2VMaW5lKGFuY2hvci5ocmVmLCBh
bmNob3IubGluZU51bWJlciwgYW5jaG9yLnByZWZlcnJlZFBhbmVsKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIHZhciBwcm9maWxlU3RyaW5nID0gV2ViSW5zcGVjdG9yLlByb2ZpbGVU
eXBlLlVSTFJlZ0V4cC5leGVjKGFuY2hvci5ocmVmKTsKICAgICAgICAgICAgIGlmIChwcm9maWxl
U3RyaW5nKQotICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93UHJvZmlsZUZvclVSTChh
bmNob3IuaHJlZik7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNob3dQcm9maWxlKGFu
Y2hvci5ocmVmLCBhbmNob3IubGluZU51bWJlcik7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTE0
NjIsMjcgKzE0NjIsMjcgQEAgV2ViSW5zcGVjdG9yLnJlc291cmNlRm9yVVJMID0gZnVuY3Rpb24o
dXJsKQogICAgIHJldHVybiBudWxsOwogfQogCi1XZWJJbnNwZWN0b3IuX2Nob29zZVBhbmVsVG9T
aG93U291cmNlTGluZUZvclVSTCA9IGZ1bmN0aW9uKHVybCwgcHJlZmVycmVkUGFuZWwpCitXZWJJ
bnNwZWN0b3IuX2Nob29zZVBhbmVsVG9TaG93U291cmNlTGluZSA9IGZ1bmN0aW9uKHVybCwgbGlu
ZSwgcHJlZmVycmVkUGFuZWwpCiB7CiAgICAgcHJlZmVycmVkUGFuZWwgPSBwcmVmZXJyZWRQYW5l
bCB8fCAicmVzb3VyY2VzIjsKICAgICB2YXIgcGFuZWwgPSB0aGlzLnBhbmVsc1twcmVmZXJyZWRQ
YW5lbF07Ci0gICAgaWYgKHBhbmVsICYmIHBhbmVsLmNhblNob3dTb3VyY2VMaW5lRm9yVVJMKHVy
bCkpCisgICAgaWYgKHBhbmVsICYmIHBhbmVsLmNhblNob3dTb3VyY2VMaW5lKHVybCwgbGluZSkp
CiAgICAgICAgIHJldHVybiBwYW5lbDsKICAgICBwYW5lbCA9IHRoaXMucGFuZWxzLnJlc291cmNl
czsKLSAgICByZXR1cm4gcGFuZWwuY2FuU2hvd1NvdXJjZUxpbmVGb3JVUkwodXJsKSA/IHBhbmVs
IDogbnVsbDsKKyAgICByZXR1cm4gcGFuZWwuY2FuU2hvd1NvdXJjZUxpbmUodXJsLCBsaW5lKSA/
IHBhbmVsIDogbnVsbDsKIH0KIAotV2ViSW5zcGVjdG9yLmNhblNob3dTb3VyY2VMaW5lRm9yVVJM
ID0gZnVuY3Rpb24odXJsLCBwcmVmZXJyZWRQYW5lbCkKK1dlYkluc3BlY3Rvci5jYW5TaG93U291
cmNlTGluZSA9IGZ1bmN0aW9uKHVybCwgbGluZSwgcHJlZmVycmVkUGFuZWwpCiB7Ci0gICAgcmV0
dXJuICEhdGhpcy5fY2hvb3NlUGFuZWxUb1Nob3dTb3VyY2VMaW5lRm9yVVJMKHVybCwgcHJlZmVy
cmVkUGFuZWwpOworICAgIHJldHVybiAhIXRoaXMuX2Nob29zZVBhbmVsVG9TaG93U291cmNlTGlu
ZSh1cmwsIGxpbmUsIHByZWZlcnJlZFBhbmVsKTsKIH0KIAotV2ViSW5zcGVjdG9yLnNob3dTb3Vy
Y2VMaW5lRm9yVVJMID0gZnVuY3Rpb24odXJsLCBsaW5lLCBwcmVmZXJyZWRQYW5lbCkKK1dlYklu
c3BlY3Rvci5zaG93U291cmNlTGluZSA9IGZ1bmN0aW9uKHVybCwgbGluZSwgcHJlZmVycmVkUGFu
ZWwpCiB7Ci0gICAgdGhpcy5jdXJyZW50UGFuZWwgPSB0aGlzLl9jaG9vc2VQYW5lbFRvU2hvd1Nv
dXJjZUxpbmVGb3JVUkwodXJsLCBwcmVmZXJyZWRQYW5lbCk7CisgICAgdGhpcy5jdXJyZW50UGFu
ZWwgPSB0aGlzLl9jaG9vc2VQYW5lbFRvU2hvd1NvdXJjZUxpbmUodXJsLCBsaW5lLCBwcmVmZXJy
ZWRQYW5lbCk7CiAgICAgaWYgKCF0aGlzLmN1cnJlbnRQYW5lbCkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIHRoaXMuY3VycmVudFBhbmVsLnNob3dTb3VyY2VMaW5lRm9yVVJMKHVybCwgbGlu
ZSk7CisgICAgdGhpcy5jdXJyZW50UGFuZWwuc2hvd1NvdXJjZUxpbmUodXJsLCBsaW5lKTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAo=
</data>
<flag name="review"
          id="32168"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>