<?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>107939</bug_id>
          
          <creation_ts>2013-01-25 05:12:16 -0800</creation_ts>
          <short_desc>Web Inspector: SourceURL and SourceMappingURL together in evalled code</short_desc>
          <delta_ts>2014-12-13 13:48:59 -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>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Guy Bedford">guybedford</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>burg</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>816505</commentid>
    <comment_count>0</comment_count>
    <who name="Guy Bedford">guybedford</who>
    <bug_when>2013-01-25 05:12:16 -0800</bug_when>
    <thetext>I&apos;m interested in seeing how source maps can work for evalled script. This is in order to bring support to the RequireJS CoffeeScript parser. One way I&apos;ve been experimenting with this is through data-uris in the @ sourceMapperURL property.

When testing this with eval code, it seems that this method is working correctly. The only issue I have is that the @ sourceURL property is displaying the js file not the coffeescript file in the sources window, even though the debug line points correspond to the coffeescript file. If this could be fixed so that when a @ sourceURL and @ sourceMapperURL are both present in evalled code, the @ sourceURL code is displayed in full, that would be great.

Example repo here - https://github.com/guybedford/cs-source-maps  (test-eval.html is the sample page)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817574</commentid>
    <comment_count>1</comment_count>
      <attachid>184946</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-28 00:51:07 -0800</bug_when>
    <thetext>Created attachment 184946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817684</commentid>
    <comment_count>2</comment_count>
      <attachid>184946</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-01-28 04:27:38 -0800</bug_when>
    <thetext>Comment on attachment 184946
Patch

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

&gt; Source/WebCore/inspector/front-end/CompilerScriptMapping.js:97
&gt; +        if (!sourceMap)

I like this. The reason it was not here before is that it is currently done in WebInspector.DebuggerScriptMapping. I think we should remove the check there and move it here.

&gt; Source/WebCore/inspector/front-end/CompilerScriptMapping.js:178
&gt; +            var baseURL = sourceMapURL.startsWith(&quot;data:&quot;) ? scriptURL : sourceMapURL;

You could use ParsedURL.isDataURL() instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817691</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-28 04:46:59 -0800</bug_when>
    <thetext>Committed r140965: &lt;http://trac.webkit.org/changeset/140965&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817695</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-28 04:52:30 -0800</bug_when>
    <thetext>Note that https://github.com/guybedford/cs-source-maps has it a bit wrong, it should have test-eval.js as the //@ sourceURL value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817703</commentid>
    <comment_count>5</comment_count>
    <who name="Guy Bedford">guybedford</who>
    <bug_when>2013-01-28 05:18:36 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Note that https://github.com/guybedford/cs-source-maps has it a bit wrong, it should have test-eval.js as the //@ sourceURL value.

In the case of compiling the CoffeeScript in the browser, this file wouldn&apos;t exist. I was under the impression that for any source, the @ sourceURL was the primary source file, not the compiled one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830767</commentid>
    <comment_count>6</comment_count>
    <who name="Guy Bedford">guybedford</who>
    <bug_when>2013-02-12 03:58:13 -0800</bug_when>
    <thetext>Thanks for the prompt assistance with this. I&apos;m showing my ignorance here, but when would I expect to be able to test this out in Chrome Canary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830809</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-12 05:26:53 -0800</bug_when>
    <thetext>You should be able to test this now. It typically takes ~2 days for a change to get into Canary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830816</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-12 05:30:26 -0800</bug_when>
    <thetext>&gt; In the case of compiling the CoffeeScript in the browser, this file wouldn&apos;t exist. I was under the impression that for any source, the @ sourceURL was the primary source file, not the compiled one?

@ sourceURL defines an alias (string) that will be used as a script name in the UI. It covers the &quot;eval&quot; part of the story. Once you define a name, it will be no different from loading it with that name from the server. Then you have a source map defined for it that maps it to the CoffeeScript file. It is essential that CoffeeScript file and the JS it produced have different names. AFAIR they were matching in your case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830835</commentid>
    <comment_count>9</comment_count>
    <who name="Guy Bedford">guybedford</who>
    <bug_when>2013-02-12 05:43:19 -0800</bug_when>
    <thetext>Ok, so the @ sourceURL should match the &quot;file&quot; property in the @ sourceMapping URL?

I&apos;ve updated the repo to reflect this using a &quot;test-built.js&quot; alias as the @ sourceURL and &quot;file&quot; property in the map, but am still seeing the JS file loaded with the break points from the JS file as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861656</commentid>
    <comment_count>10</comment_count>
    <who name="Guy Bedford">guybedford</who>
    <bug_when>2013-03-22 10:46:16 -0700</bug_when>
    <thetext>I&apos;m still struggling with getting eval to work with a source map data-uri. I am seeing some quite odd behaviour in my testing (which differs between Chrome and Canary), and have tried various permutations of options.

Any help with this would be much appreciated to get the RequireJS CoffeeScript plugin working with source maps support (https://github.com/jrburke/require-cs/issues/42).

The current source map I am using looks like:
var map = {
version : 3,
file: &quot;/module.js&quot;,
sourceRoot : &quot;&quot;,
sources: [&quot;/module.coffee&quot;],
sourcesContent: [&quot;define [] () -&gt; \n   test: &apos;coffee&apos;&quot;],
mappings: &quot;(as calculated by CoffeeScript compiler)&quot;
}

I am then converting this into a base64 data-uri and including it as the following:

eval(source + &apos;\n//@ sourceMappingURL=data:application/json;base64,&apos; + btoa(map) + &apos;\n//@ sourceURL=/module.coffee);

This displays the correct file in sources in the current version of Chrome, and the debug points seem to correspond to the correct lines, but when debugging it crashes the browser.

In Canary, it reverts to displaying the JavaScript instead of the CoffeeScript as it does in Chrome.

The project is located at https://github.com/guybedford/require-cs.

Any tips would be really helpful, as I&apos;ve kind of hit a dead end here. If you can point me to someone to ask, that would be appreciated as well. Thanks for your time!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184946</attachid>
            <date>2013-01-28 00:51:07 -0800</date>
            <delta_ts>2013-01-28 04:43:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107939-20130128124754.patch</filename>
            <type>text/plain</type>
            <size>11901</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDUwNzRkNGY1MDlhMmU3
YzllYmU4MzU2OTczZGU0MjgxNTYwZWJiMy4uYzdkMjcyOWU5MzMxZmI4M2Y1MWFkNGU0ZmVjMGY2
YmRjODBhMWJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAxLTI4ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFNvdXJjZVVSTCBhbmQgU291cmNlTWFwcGluZ1VSTCB0b2dldGhlciBpbiBldmFsbGVkIGNv
ZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzkz
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc29s
dmUgbWFwJ3Mgc291cmNlcyBVUkxzIHdydCBzY3JpcHQgVVJMIGluIGNhc2Ugc291cmNlTWFwIGlz
IGRlZmluZWQgYXMgZGF0YTouCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbXBp
bGVyU2NyaXB0TWFwcGluZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21waWxlclNjcmlw
dE1hcHBpbmcucHJvdG90eXBlLmxvYWRTb3VyY2VNYXBGb3JTY3JpcHQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvUGFyc2VkVVJMLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBh
cnNlZFVSTC5jb21wbGV0ZVVSTCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3Vy
Y2VNYXAuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlTWFwLnByb3RvdHlwZS5fcGFy
c2VNYXApOgorCiAyMDEzLTAxLTI1ICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxNDA2NTgpOiBNdWx0aXBsZSBhY2Nlc3NpYmls
aXR5IGZhaWx1cmVzIG9uIEdUSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Db21waWxlclNjcmlwdE1hcHBpbmcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbXBpbGVyU2NyaXB0TWFwcGluZy5qcwppbmRleCBlNmU0ZDMzOGM5
MzcwZTdmMmM0ZjYzNGY3YmVlNGFjZmY2Y2Q3YmMzLi5jNTk3ZjM2ZDA1YTRiOTYwOWM2MjA5ZWUy
NTUxNzg1OTg5YTViYjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0NvbXBpbGVyU2NyaXB0TWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NvbXBpbGVyU2NyaXB0TWFwcGluZy5qcwpAQCAtOTQsNiArOTQsOCBA
QCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICBh
ZGRTY3JpcHQ6IGZ1bmN0aW9uKHNjcmlwdCkKICAgICB7CiAgICAgICAgIHZhciBzb3VyY2VNYXAg
PSB0aGlzLmxvYWRTb3VyY2VNYXBGb3JTY3JpcHQoc2NyaXB0KTsKKyAgICAgICAgaWYgKCFzb3Vy
Y2VNYXApCisgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKHRoaXMuX3NjcmlwdEZv
clNvdXJjZU1hcC5nZXQoc291cmNlTWFwKSkgewogICAgICAgICAgICAgdGhpcy5fc291cmNlTWFw
Rm9yU2NyaXB0SWRbc2NyaXB0LnNjcmlwdElkXSA9IHNvdXJjZU1hcDsKQEAgLTE1MCwxMSArMTUy
LDE5IEBAIFdlYkluc3BlY3Rvci5Db21waWxlclNjcmlwdE1hcHBpbmcucHJvdG90eXBlID0gewog
CiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuU2NyaXB0fSBzY3JpcHQKLSAg
ICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuUG9zaXRpb25CYXNlZFNvdXJjZU1hcH0KKyAgICAg
KiBAcmV0dXJuIHs/V2ViSW5zcGVjdG9yLlBvc2l0aW9uQmFzZWRTb3VyY2VNYXB9CiAgICAgICov
CiAgICAgbG9hZFNvdXJjZU1hcEZvclNjcmlwdDogZnVuY3Rpb24oc2NyaXB0KQogICAgIHsKLSAg
ICAgICAgdmFyIHNvdXJjZU1hcFVSTCA9IFdlYkluc3BlY3Rvci5Qb3NpdGlvbkJhc2VkU291cmNl
TWFwLnByb3RvdHlwZS5fY2Fub25pY2FsaXplVVJMKHNjcmlwdC5zb3VyY2VNYXBVUkwsIHNjcmlw
dC5zb3VyY2VVUkwpOworICAgICAgICAvLyBzY3JpcHQuc291cmNlVVJMIGNhbiBiZSBhIHJhbmRv
bSBzdHJpbmcsIGJ1dCBpcyBnZW5lcmFsbHkgYW4gYWJzb2x1dGUgcGF0aCAtPiBjb21wbGV0ZSBp
dCB0byBpbnNwZWN0ZWQgcGFnZSB1cmwgZm9yCisgICAgICAgIC8vIHJlbGF0aXZlIGxpbmtzLgor
ICAgICAgICB2YXIgc2NyaXB0VVJMID0gV2ViSW5zcGVjdG9yLlBhcnNlZFVSTC5jb21wbGV0ZVVS
TChXZWJJbnNwZWN0b3IuaW5zcGVjdGVkUGFnZVVSTCwgc2NyaXB0LnNvdXJjZVVSTCk7CisgICAg
ICAgIGlmICghc2NyaXB0VVJMKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHZh
ciBzb3VyY2VNYXBVUkwgPSBXZWJJbnNwZWN0b3IuUGFyc2VkVVJMLmNvbXBsZXRlVVJMKHNjcmlw
dFVSTCwgc2NyaXB0LnNvdXJjZU1hcFVSTCk7CisgICAgICAgIGlmICghc291cmNlTWFwVVJMKQor
ICAgICAgICAgICAgcmV0dXJuIG51bGw7CisKICAgICAgICAgdmFyIHNvdXJjZU1hcCA9IHRoaXMu
X3NvdXJjZU1hcEZvclNvdXJjZU1hcFVSTFtzb3VyY2VNYXBVUkxdOwogICAgICAgICBpZiAoc291
cmNlTWFwKQogICAgICAgICAgICAgcmV0dXJuIHNvdXJjZU1hcDsKQEAgLTE2NSw3ICsxNzUsOCBA
QCBXZWJJbnNwZWN0b3IuQ29tcGlsZXJTY3JpcHRNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgIGlmIChyZXNwb25zZS5zbGljZSgwLCAzKSA9PT0gIildfSIpCiAgICAgICAgICAgICAg
ICAgcmVzcG9uc2UgPSByZXNwb25zZS5zdWJzdHJpbmcocmVzcG9uc2UuaW5kZXhPZignXG4nKSk7
CiAgICAgICAgICAgICB2YXIgcGF5bG9hZCA9IC8qKiBAdHlwZSB7U291cmNlTWFwVjN9ICovIChK
U09OLnBhcnNlKHJlc3BvbnNlKSk7Ci0gICAgICAgICAgICBzb3VyY2VNYXAgPSBuZXcgV2ViSW5z
cGVjdG9yLlBvc2l0aW9uQmFzZWRTb3VyY2VNYXAoc291cmNlTWFwVVJMLCBwYXlsb2FkKTsKKyAg
ICAgICAgICAgIHZhciBiYXNlVVJMID0gc291cmNlTWFwVVJMLnN0YXJ0c1dpdGgoImRhdGE6Iikg
PyBzY3JpcHRVUkwgOiBzb3VyY2VNYXBVUkw7CisgICAgICAgICAgICBzb3VyY2VNYXAgPSBuZXcg
V2ViSW5zcGVjdG9yLlBvc2l0aW9uQmFzZWRTb3VyY2VNYXAoYmFzZVVSTCwgcGF5bG9hZCk7CiAg
ICAgICAgIH0gY2F0Y2goZSkgewogICAgICAgICAgICAgY29uc29sZS5lcnJvcihlLm1lc3NhZ2Up
OwogICAgICAgICAgICAgcmV0dXJuIG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1BhcnNlZFVSTC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUGFyc2VkVVJMLmpzCmluZGV4IDM3NGY4ODU3ZDE5YzNmNTQyZDkwMzlkNmI0
NTNmN2U0MDUxNDcwOWUuLmI3NWVhY2MzMDQ0NDQzYjY1MDUwNjYyOTI5NDRhMDYwOWM0MGQyYTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFyc2VkVVJM
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFyc2VkVVJMLmpz
CkBAIC0xMDgsNiArMTA4LDggQEAgV2ViSW5zcGVjdG9yLlBhcnNlZFVSTC5jb21wbGV0ZVVSTCA9
IGZ1bmN0aW9uKGJhc2VVUkwsIGhyZWYpCiAKICAgICB2YXIgcGFyc2VkVVJMID0gYmFzZVVSTC5h
c1BhcnNlZFVSTCgpOwogICAgIGlmIChwYXJzZWRVUkwpIHsKKyAgICAgICAgaWYgKHBhcnNlZFVS
TC5pc0RhdGFVUkwoKSkKKyAgICAgICAgICAgIHJldHVybiBocmVmOwogICAgICAgICB2YXIgcGF0
aCA9IGhyZWY7CiAgICAgICAgIGlmIChwYXRoLmNoYXJBdCgwKSAhPT0gIi8iKSB7CiAgICAgICAg
ICAgICB2YXIgYmFzZVBhdGggPSBwYXJzZWRVUkwucGF0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlTWFwLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VNYXAuanMKaW5kZXggMDZmMzExOTUyNDIzYzc4NjIx
ZTVkMDZiNWM0NzMxYmRlZDNmZjgwNS4uMmQ0ZTEzYjUyMzY1NjliYmIxZTY0MDcyNzA2YjQ2ZDU0
MWIzNDAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VNYXAuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3Vy
Y2VNYXAuanMKQEAgLTEwNyw3ICsxMDcsOCBAQCBXZWJJbnNwZWN0b3IuU291cmNlTWFwLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgdmFyIG9yaWdpbmFsVG9DYW5vbmljYWxVUkxNYXAgPSB7fTsKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXAuc291cmNlcy5sZW5ndGg7ICsraSkgewogICAg
ICAgICAgICAgdmFyIG9yaWdpbmFsU291cmNlVVJMID0gbWFwLnNvdXJjZXNbaV07Ci0gICAgICAg
ICAgICB2YXIgdXJsID0gdGhpcy5fY2Fub25pY2FsaXplVVJMKChtYXAuc291cmNlUm9vdCA/IG1h
cC5zb3VyY2VSb290ICsgIi8iIDogIiIpICsgb3JpZ2luYWxTb3VyY2VVUkwsIHRoaXMuX3NvdXJj
ZU1hcHBpbmdVUkwpOworICAgICAgICAgICAgdmFyIGhyZWYgPSAobWFwLnNvdXJjZVJvb3QgPyBt
YXAuc291cmNlUm9vdCArICIvIiA6ICIiKSArIG9yaWdpbmFsU291cmNlVVJMOworICAgICAgICAg
ICAgdmFyIHVybCA9IFdlYkluc3BlY3Rvci5QYXJzZWRVUkwuY29tcGxldGVVUkwodGhpcy5fc291
cmNlTWFwcGluZ1VSTCwgaHJlZikgfHwgaHJlZjsKICAgICAgICAgICAgIG9yaWdpbmFsVG9DYW5v
bmljYWxVUkxNYXBbb3JpZ2luYWxTb3VyY2VVUkxdID0gdXJsOwogICAgICAgICAgICAgc291cmNl
cy5wdXNoKHVybCk7CiAgICAgICAgICAgICB0aGlzLl9zb3VyY2VzW3VybF0gPSB0cnVlOwpAQCAt
MTgyLDI1ICsxODMsNiBAQCBXZWJJbnNwZWN0b3IuU291cmNlTWFwLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgcmV0dXJuIG5lZ2F0aXZlID8gLXJlc3VsdCA6IHJlc3VsdDsKICAgICB9LAogCi0gICAg
LyoqCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBi
YXNlVVJMCi0gICAgICovCi0gICAgX2Nhbm9uaWNhbGl6ZVVSTDogZnVuY3Rpb24odXJsLCBiYXNl
VVJMKQotICAgIHsKLSAgICAgICAgaWYgKCF1cmwgfHwgIWJhc2VVUkwgfHwgdXJsLmFzUGFyc2Vk
VVJMKCkgfHwgdXJsLnN1YnN0cmluZygwLCA1KSA9PT0gImRhdGE6IikKLSAgICAgICAgICAgIHJl
dHVybiB1cmw7Ci0KLSAgICAgICAgdmFyIGJhc2UgPSBiYXNlVVJMLmFzUGFyc2VkVVJMKCk7Ci0g
ICAgICAgIGlmICghYmFzZSkKLSAgICAgICAgICAgIHJldHVybiB1cmw7Ci0KLSAgICAgICAgdmFy
IGJhc2VIb3N0ID0gYmFzZS5zY2hlbWUgKyAiOi8vIiArIGJhc2UuaG9zdCArIChiYXNlLnBvcnQg
PyAiOiIgKyBiYXNlLnBvcnQgOiAiIik7Ci0gICAgICAgIGlmICh1cmxbMF0gPT09ICIvIikKLSAg
ICAgICAgICAgIHJldHVybiBiYXNlSG9zdCArIHVybDsKLSAgICAgICAgcmV0dXJuIGJhc2VIb3N0
ICsgYmFzZS5mb2xkZXJQYXRoQ29tcG9uZW50cyArICIvIiArIHVybDsKLSAgICB9LAotCiAgICAg
X1ZMUV9CQVNFX1NISUZUOiA1LAogICAgIF9WTFFfQkFTRV9NQVNLOiAoMSA8PCA1KSAtIDEsCiAg
ICAgX1ZMUV9DT05USU5VQVRJT05fTUFTSzogMSA8PCA1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzIyZGRkY2EwMjFiMDI4
MGNhZmU0MTlhOGE5ZjQ0MWYxZDYyMTJmZC4uNWU2MDc2MmY4ZTM2OGNlZTA4ZTUyNmE2MjRmMjQw
OTEyNTUzNmRhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTI4ICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNv
dXJjZVVSTCBhbmQgU291cmNlTWFwcGluZ1VSTCB0b2dldGhlciBpbiBldmFsbGVkIGNvZGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzkzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9pbnNwZWN0b3IvY29tcGlsZXItc2NyaXB0LW1hcHBpbmctZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLmh0bWw6CisK
IDIwMTMtMDEtMjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
TWFjIFdLMSByZWJhc2VsaW5lcyBmb3IgcjE0MDcyOC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBwaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBw
aW5nLWV4cGVjdGVkLnR4dAppbmRleCBmYTcyYmY3MTJlMmFkYTgwMDhiMzQyZjgzMTg3Y2I1NDlh
MjI4ODhkLi4zNzAzNzQ1ZjA2ZWNhZDkxZjlmMDc3MzdmN2Y3MDVlMDIwNDUwOTc1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3JpcHQtbWFw
cGluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
Y29tcGlsZXItc2NyaXB0LW1hcHBpbmctZXhwZWN0ZWQudHh0CkBAIC0yLDIwICsyLDc1IEBAIFRl
c3RzIFBvc2l0aW9uQmFzZWRTb3VyY2VNYXAgYW5kIENvbXBpbGVyU2NyaXB0TWFwcGluZy4KIAog
CiBSdW5uaW5nOiB0ZXN0U2ltcGxlTWFwCitleGFtcGxlLmpzID09PSBleGFtcGxlLmpzCiswID09
PSAwCis5ID09PSA5CitleGFtcGxlLmpzID09PSBleGFtcGxlLmpzCiswID09PSAwCisxMyA9PT0g
MTMKK2V4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKKzAgPT09IDAKKzI1ID09PSAyNQorZXhhbXBs
ZS5qcyA9PT0gZXhhbXBsZS5qcworMiA9PT0gMgorNCA9PT0gNAorZXhhbXBsZS5qcyA9PT0gZXhh
bXBsZS5qcworMiA9PT0gMgorMTEgPT09IDExCitleGFtcGxlLmpzID09PSBleGFtcGxlLmpzCisy
ID09PSAyCisyNCA9PT0gMjQKKzAgPT09IDAKKzAgPT09IDAKKzAgPT09IDAKKzE3ID09PSAxNwor
MCA9PT0gMAorMTggPT09IDE4CiswID09PSAwCisyOSA9PT0gMjkKKzAgPT09IDAKKzI5ID09PSAy
OQogCiBSdW5uaW5nOiB0ZXN0Tm9NYXBwaW5nRW50cnkKK2V4YW1wbGUuanMgPT09IGV4YW1wbGUu
anMKKzAgPT09IDAKKzAgPT09IDAKK2V4YW1wbGUuanMgPT09IGV4YW1wbGUuanMKKzAgPT09IDAK
KzIgPT09IDIKIAogUnVubmluZzogdGVzdEVtcHR5TGluZQorZXhhbXBsZS5qcyA9PT0gZXhhbXBs
ZS5qcworMCA9PT0gMAorMCA9PT0gMAorMyA9PT0gMworMSA9PT0gMQogCiBSdW5uaW5nOiB0ZXN0
U2VjdGlvbnMKK3NvdXJjZTEuanMgPT09IHNvdXJjZTEuanMKKzAgPT09IDAKKzAgPT09IDAKK3Nv
dXJjZTEuanMgPT09IHNvdXJjZTEuanMKKzIgPT09IDIKKzEgPT09IDEKK3NvdXJjZTIuanMgPT09
IHNvdXJjZTIuanMKKzAgPT09IDAKKzAgPT09IDAKK3NvdXJjZTIuanMgPT09IHNvdXJjZTIuanMK
KzIgPT09IDIKKzEgPT09IDEKIAogUnVubmluZzogdGVzdFJlc29sdmVTb3VyY2VNYXBVUkwKK2h0
dHA6Ly9leGFtcGxlLmNvbS9tYXAuanNvbiA9PT0gaHR0cDovL2V4YW1wbGUuY29tL21hcC5qc29u
CitodHRwOi8vZXhhbXBsZS5jb20vbWFwLmpzb24gPT09IGh0dHA6Ly9leGFtcGxlLmNvbS9tYXAu
anNvbgoraHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdHMvLi4vbWFwcy9tYXAuanNvbiA9PT0gaHR0
cDovL2V4YW1wbGUuY29tL3NjcmlwdHMvLi4vbWFwcy9tYXAuanNvbgogCiBSdW5uaW5nOiB0ZXN0
Q29tcGlsZXJTY3JpcHRNYXBwaW5nCiAKIFJ1bm5pbmc6IHRlc3RDb21waWxlclNjcmlwdE1hcHBp
bmdXaGVuUmVzb3VyY2VXYXNMb2FkZWRBZnRlclNvdXJjZQogCiBSdW5uaW5nOiB0ZXN0SW5saW5l
ZFNvdXJjZU1hcAorPHNvdXJjZSBjb250ZW50PiA9PT0gPHNvdXJjZSBjb250ZW50PgogCiBSdW5u
aW5nOiB0ZXN0U291cmNlTWFwQ291bGROb3RCZUxvYWRlZAogY29tcGlsZWQuanMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBw
aW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9jb21waWxlci1zY3Jp
cHQtbWFwcGluZy5odG1sCmluZGV4IDk1YTY3MzY3YTczNzMwMmNkZDIwNDM5YzhiYTE5YWRlMTU4
YjQ2OGUuLjBkNzgzOWQ1ZDRmZDk0ZThmMjFjN2U3ZThjZjQ3YTBhMGIyZjhhNTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2NvbXBpbGVyLXNjcmlwdC1tYXBw
aW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29tcGlsZXIt
c2NyaXB0LW1hcHBpbmcuaHRtbApAQCAtMjMsMTYgKzIzLDE2IEBAIGZ1bmN0aW9uIHRlc3QoKQog
ICAgIGZ1bmN0aW9uIGNoZWNrTWFwcGluZyhjb21waWxlZExpbmVOdW1iZXIsIGNvbXBpbGVkQ29s
dW1uTnVtYmVyLCBzb3VyY2VVUkwsIHNvdXJjZUxpbmVOdW1iZXIsIHNvdXJjZUNvbHVtbk51bWJl
ciwgbWFwcGluZykKICAgICB7CiAgICAgICAgIHZhciBlbnRyeSA9IG1hcHBpbmcuZmluZEVudHJ5
KGNvbXBpbGVkTGluZU51bWJlciwgY29tcGlsZWRDb2x1bW5OdW1iZXIpOwotICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEVxdWFscyhzb3VyY2VVUkwsIGVudHJ5WzJdKTsKLSAgICAgICAgSW5z
cGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMoc291cmNlTGluZU51bWJlciwgZW50cnlbM10pOwotICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEVxdWFscyhzb3VyY2VDb2x1bW5OdW1iZXIsIGVudHJ5
WzRdKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlVVJMICsgIiA9PT0g
IiArIGVudHJ5WzJdKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoc291cmNlTGlu
ZU51bWJlciArICIgPT09ICIgKyBlbnRyeVszXSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KHNvdXJjZUNvbHVtbk51bWJlciArICIgPT09ICIgKyBlbnRyeVs0XSk7CiAgICAgfQog
CiAgICAgZnVuY3Rpb24gY2hlY2tSZXZlcnNlTWFwcGluZyhjb21waWxlZExpbmVOdW1iZXIsIGNv
bXBpbGVkQ29sdW1uTnVtYmVyLCBzb3VyY2VVUkwsIHNvdXJjZUxpbmVOdW1iZXIsIG1hcHBpbmcp
CiAgICAgewogICAgICAgICB2YXIgZW50cnkgPSBtYXBwaW5nLmZpbmRFbnRyeVJldmVyc2VkKHNv
dXJjZVVSTCwgc291cmNlTGluZU51bWJlcik7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0
RXF1YWxzKGNvbXBpbGVkTGluZU51bWJlciwgZW50cnlbMF0pOwotICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFzc2VydEVxdWFscyhjb21waWxlZENvbHVtbk51bWJlciwgZW50cnlbMV0pOworICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjb21waWxlZExpbmVOdW1iZXIgKyAiID09PSAiICsg
ZW50cnlbMF0pOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChjb21waWxlZENvbHVt
bk51bWJlciArICIgPT09ICIgKyBlbnRyeVsxXSk7CiAgICAgfQogCiAgICAgSW5zcGVjdG9yVGVz
dC5ydW5UZXN0U3VpdGUoWwpAQCAtMTMwLDEwICsxMzAsMTAgQEAgZnVuY3Rpb24gdGVzdCgpCiAK
ICAgICAgICAgZnVuY3Rpb24gdGVzdFJlc29sdmVTb3VyY2VNYXBVUkwobmV4dCkKICAgICAgICAg
ewotICAgICAgICAgICAgdmFyIGZ1bmMgPSBXZWJJbnNwZWN0b3IuUG9zaXRpb25CYXNlZFNvdXJj
ZU1hcC5wcm90b3R5cGUuX2Nhbm9uaWNhbGl6ZVVSTDsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0RXF1YWxzKCJodHRwOi8vZXhhbXBsZS5jb20vbWFwLmpzb24iLCBmdW5jKCJodHRw
Oi8vZXhhbXBsZS5jb20vbWFwLmpzb24iLCAiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdC5qcyIp
KTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJodHRwOi8vZXhhbXBs
ZS5jb20vbWFwLmpzb24iLCBmdW5jKCIvbWFwLmpzb24iLCAiaHR0cDovL2V4YW1wbGUuY29tL3Nj
cmlwdC5qcyIpKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0RXF1YWxzKCJodHRw
Oi8vZXhhbXBsZS5jb20vc2NyaXB0cy8uLi9tYXBzL21hcC5qc29uIiwgZnVuYygiLi4vbWFwcy9t
YXAuanNvbiIsICJodHRwOi8vZXhhbXBsZS5jb20vc2NyaXB0cy9zY3JpcHQuanMiKSk7CisgICAg
ICAgICAgICB2YXIgZnVuYyA9IFdlYkluc3BlY3Rvci5QYXJzZWRVUkwuY29tcGxldGVVUkw7Cisg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiaHR0cDovL2V4YW1wbGUuY29tL21h
cC5qc29uID09PSAiICsgZnVuYygiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdC5qcyIsICJodHRw
Oi8vZXhhbXBsZS5jb20vbWFwLmpzb24iKSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiaHR0cDovL2V4YW1wbGUuY29tL21hcC5qc29uID09PSAiICsgZnVuYygiaHR0cDov
L2V4YW1wbGUuY29tL3NjcmlwdC5qcyIsICIvbWFwLmpzb24iKSk7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFkZFJlc3VsdCgiaHR0cDovL2V4YW1wbGUuY29tL3NjcmlwdHMvLi4vbWFwcy9t
YXAuanNvbiA9PT0gIiArIGZ1bmMoImh0dHA6Ly9leGFtcGxlLmNvbS9zY3JpcHRzL3NjcmlwdC5q
cyIsICIuLi9tYXBzL21hcC5qc29uIikpOwogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICB9
LAogCkBAIC0yOTEsNyArMjkxLDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICByZXNv
dXJjZVNjcmlwdE1hcHBpbmcuYWRkU2NyaXB0KHNjcmlwdCk7CiAgICAgICAgICAgICBtYXBwaW5n
LmFkZFNjcmlwdChzY3JpcHQpOwogCi0gICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gSW5z
cGVjdG9yVGVzdC50ZXN0V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9yaWdpblVSTCgic291cmNl
LmpzIik7CisgICAgICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gSW5zcGVjdG9yVGVzdC50ZXN0
V29ya3NwYWNlLnVpU291cmNlQ29kZUZvck9yaWdpblVSTCgiaHR0cDovL2V4YW1wbGUuY29tL3Nv
dXJjZS5qcyIpOwogCiAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmNoZWNrVUlMb2NhdGlvbih1
aVNvdXJjZUNvZGUsIDIsIDQsIG1hcHBpbmcucmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oV2ViSW5z
cGVjdG9yLmRlYnVnZ2VyTW9kZWwuY3JlYXRlUmF3TG9jYXRpb24oc2NyaXB0LCAwLCAxOCkpKTsK
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY2hlY2tSYXdMb2NhdGlvbihzY3JpcHQsIDAsIDE4
LCBtYXBwaW5nLnVpTG9jYXRpb25Ub1Jhd0xvY2F0aW9uKHVpU291cmNlQ29kZSwgMiwgNCkpOwpA
QCAtMzAwLDcgKzMwMCw3IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgICAgICBmdW5jdGlv
biBkaWRSZXF1ZXN0Q29udGVudChjb250ZW50LCBjb250ZW50RW5jb2RlZCwgbWltZVR5cGUpCiAg
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRFcXVhbHMo
Ijxzb3VyY2UgY29udGVudD4iLCBjb250ZW50KTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiPHNvdXJjZSBjb250ZW50PiA9PT0gIiArIGNvbnRlbnQpOwogICAgICAg
ICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSwK
</data>
<flag name="review"
          id="203845"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>