<?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>29366</bug_id>
          
          <creation_ts>2009-09-18 02:50:46 -0700</creation_ts>
          <short_desc>REGRESSION: formatting is broken in console.log()</short_desc>
          <delta_ts>2009-09-18 22:34:44 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>148038</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-09-18 02:50:46 -0700</bug_when>
    <thetext>Template parameters are not substituted in console.log():

Steps:
1) In the error console type  evaluate
console.log(&apos;s=%s&apos;, &apos;a string&apos;);
2) Look at the output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148188</commentid>
    <comment_count>1</comment_count>
      <attachid>39761</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-09-18 08:38:39 -0700</bug_when>
    <thetext>Created attachment 39761
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148212</commentid>
    <comment_count>2</comment_count>
      <attachid>39761</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-18 09:17:16 -0700</bug_when>
    <thetext>Comment on attachment 39761
patch

&gt; +        if (typeof substitution == &apos;object&apos; &amp;&amp; Object.proxyType(substitution) == &apos;number&apos;) {
&gt; +            substitution = substitution.description;
&gt; +        }

Use === here. Also remove the braces.


&gt; +        if (typeof substitution == &apos;object&apos; &amp;&amp; Object.proxyType(substitution) == &apos;number&apos;) {
&gt; +            substitution = substitution.description;
&gt; +        }

Ditto.


&gt; +        if (typeof substitution == &apos;object&apos; &amp;&amp; Object.proxyType(substitution) != &apos;null&apos;) {
&gt; +            substitution = substitution.description;
&gt; +        }

Ditto.

Will r+ when those style changes are made.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148219</commentid>
    <comment_count>3</comment_count>
      <attachid>39763</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-09-18 10:00:34 -0700</bug_when>
    <thetext>Created attachment 39763
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148220</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-09-18 10:00:58 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 39761 [details])
&gt; &gt; +        if (typeof substitution == &apos;object&apos; &amp;&amp; Object.proxyType(substitution) == &apos;number&apos;) {
&gt; &gt; +            substitution = substitution.description;
&gt; &gt; +        }
&gt; 
&gt; Use === here. Also remove the braces.
&gt; 
Done.

&gt; 
&gt; &gt; +        if (typeof substitution == &apos;object&apos; &amp;&amp; Object.proxyType(substitution) == &apos;number&apos;) {
&gt; &gt; +            substitution = substitution.description;
&gt; &gt; +        }
&gt; 
&gt; Ditto.
&gt; 
Done.

&gt; 
&gt; &gt; +        if (typeof substitution == &apos;object&apos; &amp;&amp; Object.proxyType(substitution) != &apos;null&apos;) {
&gt; &gt; +            substitution = substitution.description;
&gt; &gt; +        }
&gt; 
&gt; Ditto.
&gt; 
&gt; Will r+ when those style changes are made.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148246</commentid>
    <comment_count>5</comment_count>
      <attachid>39763</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-09-18 10:58:11 -0700</bug_when>
    <thetext>Comment on attachment 39763
patch

You still have the braces. Also you should use double quotes for stings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148304</commentid>
    <comment_count>6</comment_count>
      <attachid>39776</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-09-18 12:22:13 -0700</bug_when>
    <thetext>Created attachment 39776
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148305</commentid>
    <comment_count>7</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-09-18 12:22:46 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 39763 [details])
&gt; You still have the braces.
FIxed.

&gt; Also you should use double quotes for stings.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148343</commentid>
    <comment_count>8</comment_count>
      <attachid>39776</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-18 13:17:52 -0700</bug_when>
    <thetext>Comment on attachment 39776
patch

AFAIK, Yury is not a committer, and I don&apos;t believe this patch will break Chromium, so setting commit-queue+.

Yury, if you would like reviewers to set cq+ for you, you should set cq=?.  Or if you have special plans for your patches and don&apos;t want them landed automatically, please set cq-.  As-is, I&apos;m just going to go off the assumption that you want this landed normally, but can&apos;t because you&apos;re not a committer, so I&apos;m cq+&apos;ing it for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148360</commentid>
    <comment_count>9</comment_count>
      <attachid>39776</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-18 13:36:05 -0700</bug_when>
    <thetext>Comment on attachment 39776
patch

Rejecting patch 39776 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Committing to http://svn.webkit.org/repository/webkit/trunk ...
Merge conflict during commit: Your file or directory &apos;WebCore/ChangeLog&apos; is probably out-of-date: resource out of date; try updating at /usr/local/libexec/git-core//git-svn line 469</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148367</commentid>
    <comment_count>10</comment_count>
      <attachid>39776</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-18 13:43:25 -0700</bug_when>
    <thetext>Comment on attachment 39776
patch

Sorry.  bug 28316, will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148402</commentid>
    <comment_count>11</comment_count>
      <attachid>39776</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-18 14:58:46 -0700</bug_when>
    <thetext>Comment on attachment 39776
patch

Clearing flags on attachment: 39776

Committed r48536: &lt;http://trac.webkit.org/changeset/48536&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148403</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-18 14:58:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148460</commentid>
    <comment_count>13</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-09-18 22:34:44 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 39776 [details])
&gt; AFAIK, Yury is not a committer, and I don&apos;t believe this patch will break
&gt; Chromium, so setting commit-queue+.
&gt; 
&gt; Yury, if you would like reviewers to set cq+ for you, you should set cq=?. 
OK, will do next time. I didn&apos;t know I need to do something in order my patches get to the commit-queue. Now I see it described in  http://webkit.org/coding/contributing.html. Thanks for your advices!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39761</attachid>
            <date>2009-09-18 08:38:39 -0700</date>
            <delta_ts>2009-09-18 10:00:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>console-format.diff</filename>
            <type>text/plain</type>
            <size>5495</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2E3YzNmMi4uM2I4NTFmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0wOS0xOCAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5
IEhhdGNoZXIuCisKKyAgICAgICAgRml4IHBhcmFtZXRlciBzdWJzdGl0dXRpb25zIGluIGNvbnNv
bGUubG9nKCkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI5MzY2CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZS5fZm9ybWF0
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzOgorICAg
ICAgICAoSW5qZWN0ZWRTY3JpcHQuZ2V0UHJvdG90eXBlcyk6CisgICAgICAgIChJbmplY3RlZFNj
cmlwdC5DYWxsRnJhbWVQcm94eS5wcm90b3R5cGUuX3dyYXBTY29wZUNoYWluKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qczoKKyAgICAgICAgKCk6CisKIDIwMDkt
MDktMTggIEpvZXJnIEJvcm5lbWFubiAgPGpvZXJnLmJvcm5lbWFubkBub2tpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXggNWRmMTgxNi4uNTJlNDljMCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtNjM5LDcgKzYzOSw3IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLmNvbnNvbGUuX2Zvcm1hdChvYmosIHRydWUpOwogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKHR5cGVvZiBwYXJhbWV0ZXJzWzBdID09PSAic3RyaW5nIikgeworICAgICAg
ICBpZiAoT2JqZWN0LnByb3h5VHlwZShwYXJhbWV0ZXJzWzBdKSA9PT0gInN0cmluZyIpIHsKICAg
ICAgICAgICAgIHZhciBmb3JtYXR0ZXJzID0ge30KICAgICAgICAgICAgIGZvciAodmFyIGkgaW4g
U3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVycykKICAgICAgICAgICAgICAgICBmb3JtYXR0ZXJzW2ld
ID0gU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVyc1tpXTsKQEAgLTY2MCw3ICs2NjAsNyBAQCBXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJl
dHVybiBhOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5n
LmZvcm1hdChwYXJhbWV0ZXJzWzBdLCBwYXJhbWV0ZXJzLnNsaWNlKDEpLCBmb3JtYXR0ZXJzLCBm
b3JtYXR0ZWRSZXN1bHQsIGFwcGVuZCk7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5n
LmZvcm1hdChwYXJhbWV0ZXJzWzBdLmRlc2NyaXB0aW9uLCBwYXJhbWV0ZXJzLnNsaWNlKDEpLCBm
b3JtYXR0ZXJzLCBmb3JtYXR0ZWRSZXN1bHQsIGFwcGVuZCk7CiAgICAgICAgICAgICBmb3JtYXR0
ZWRSZXN1bHQgPSByZXN1bHQuZm9ybWF0dGVkUmVzdWx0OwogICAgICAgICAgICAgcGFyYW1ldGVy
cyA9IHJlc3VsdC51bnVzZWRTdWJzdGl0dXRpb25zOwogICAgICAgICAgICAgaWYgKHBhcmFtZXRl
cnMubGVuZ3RoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVj
dGVkU2NyaXB0LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0
LmpzCmluZGV4IGIzZDk1NjYuLjJiNmU0MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKQEAgLTQyMSw3ICs0MjEsNyBAQCBJbmplY3RlZFNjcmlw
dC5nZXRQcm90b3R5cGVzID0gZnVuY3Rpb24obm9kZUlkKQogCiAgICAgdmFyIHJlc3VsdCA9IFtd
OwogICAgIGZvciAodmFyIHByb3RvdHlwZSA9IG5vZGU7IHByb3RvdHlwZTsgcHJvdG90eXBlID0g
cHJvdG90eXBlLl9fcHJvdG9fXykgewotICAgICAgICB2YXIgdGl0bGUgPSBPYmplY3QuZGVzY3Jp
YmUocHJvdG90eXBlKTsKKyAgICAgICAgdmFyIHRpdGxlID0gT2JqZWN0LmRlc2NyaWJlKHByb3Rv
dHlwZSwgdHJ1ZSk7CiAgICAgICAgIGlmICh0aXRsZS5tYXRjaCgvUHJvdG90eXBlJC8pKSB7CiAg
ICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnJlcGxhY2UoL1Byb3RvdHlwZSQvLCAiIik7CiAgICAg
ICAgIH0KQEAgLTk5OSwxMSArOTk5LDExIEBAIEluamVjdGVkU2NyaXB0LkNhbGxGcmFtZVByb3h5
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHNjb3BlQ2hhaW5Qcm94eSA9IFtdOwogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHNjb3BlQ2hhaW4ubGVuZ3RoOyArK2kpIHsKICAgICAgICAg
ICAgIHZhciBzY29wZU9iamVjdCA9IHNjb3BlQ2hhaW5baV07Ci0gICAgICAgICAgICB2YXIgc2Nv
cGVPYmplY3RQcm94eSA9IEluamVjdGVkU2NyaXB0LmNyZWF0ZVByb3h5T2JqZWN0KHNjb3BlT2Jq
ZWN0LCB7IGNhbGxGcmFtZTogdGhpcy5pZCwgY2hhaW5JbmRleDogaSB9KTsKKyAgICAgICAgICAg
IHZhciBzY29wZU9iamVjdFByb3h5ID0gSW5qZWN0ZWRTY3JpcHQuY3JlYXRlUHJveHlPYmplY3Qo
c2NvcGVPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCBjaGFpbkluZGV4OiBpIH0sIHRydWUp
OwogCiAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHNjb3Bl
T2JqZWN0KSA9PT0gIltvYmplY3QgSlNBY3RpdmF0aW9uXSIpIHsKICAgICAgICAgICAgICAgICBp
ZiAoIWZvdW5kTG9jYWxTY29wZSkKLSAgICAgICAgICAgICAgICAgICAgc2NvcGVPYmplY3RQcm94
eS50aGlzT2JqZWN0ID0gSW5qZWN0ZWRTY3JpcHQuY3JlYXRlUHJveHlPYmplY3QoY2FsbEZyYW1l
LnRoaXNPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCB0aGlzT2JqZWN0OiB0cnVlIH0pOwor
ICAgICAgICAgICAgICAgICAgICBzY29wZU9iamVjdFByb3h5LnRoaXNPYmplY3QgPSBJbmplY3Rl
ZFNjcmlwdC5jcmVhdGVQcm94eU9iamVjdChjYWxsRnJhbWUudGhpc09iamVjdCwgeyBjYWxsRnJh
bWU6IHRoaXMuaWQsIHRoaXNPYmplY3Q6IHRydWUgfSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgICAgICBzY29wZU9iamVjdFByb3h5LmlzQ2xvc3VyZSA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgZm91bmRMb2NhbFNjb3BlID0gdHJ1ZTsKQEAgLTEwNzcsNiAr
MTA3Nyw4IEBAIE9iamVjdC5kZXNjcmliZSA9IGZ1bmN0aW9uKG9iaiwgYWJicmV2aWF0ZWQpCiAg
ICAgY2FzZSAiYXJyYXkiOgogICAgICAgICByZXR1cm4gIlsiICsgb2JqLnRvU3RyaW5nKCkgKyAi
XSI7CiAgICAgY2FzZSAic3RyaW5nIjoKKyAgICAgICAgaWYgKCFhYmJyZXZpYXRlZCkKKyAgICAg
ICAgICAgIHJldHVybiBvYmo7CiAgICAgICAgIGlmIChvYmoubGVuZ3RoID4gMTAwKQogICAgICAg
ICAgICAgcmV0dXJuICJcIiIgKyBvYmouc3Vic3RyaW5nKDAsIDEwMCkgKyAiXHUyMDI2XCIiOwog
ICAgICAgICByZXR1cm4gIlwiIiArIG9iaiArICJcIiI7CkBAIC0xMDg5LDYgKzEwOTEsMTAgQEAg
T2JqZWN0LmRlc2NyaWJlID0gZnVuY3Rpb24ob2JqLCBhYmJyZXZpYXRlZCkKICAgICAgICAgcmV0
dXJuIG9iamVjdFRleHQ7CiAgICAgY2FzZSAicmVnZXhwIjoKICAgICAgICAgcmV0dXJuIFN0cmlu
ZyhvYmopLnJlcGxhY2UoLyhbXFxcL10pL2csICJcXCQxIikucmVwbGFjZSgvXFwoXC9bZ2ltXSop
JC8sICIkMSIpLnN1YnN0cmluZygxKTsKKyAgICBjYXNlICJib29sZWFuIjoKKyAgICBjYXNlICJu
dW1iZXIiOgorICAgIGNhc2UgIm51bGwiOgorICAgICAgICByZXR1cm4gb2JqOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiBTdHJpbmcob2JqKTsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRleCBlODMxYWJkLi44OWI5YTEyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKQEAgLTgxNCwxMiArODE0LDE4IEBAIFN0
cmluZy50b2tlbml6ZUZvcm1hdFN0cmluZyA9IGZ1bmN0aW9uKGZvcm1hdCkKIFN0cmluZy5zdGFu
ZGFyZEZvcm1hdHRlcnMgPSB7CiAgICAgZDogZnVuY3Rpb24oc3Vic3RpdHV0aW9uKQogICAgIHsK
KyAgICAgICAgaWYgKHR5cGVvZiBzdWJzdGl0dXRpb24gPT0gJ29iamVjdCcgJiYgT2JqZWN0LnBy
b3h5VHlwZShzdWJzdGl0dXRpb24pID09ICdudW1iZXInKSB7CisgICAgICAgICAgICBzdWJzdGl0
dXRpb24gPSBzdWJzdGl0dXRpb24uZGVzY3JpcHRpb247CisgICAgICAgIH0KICAgICAgICAgc3Vi
c3RpdHV0aW9uID0gcGFyc2VJbnQoc3Vic3RpdHV0aW9uKTsKICAgICAgICAgcmV0dXJuICFpc05h
TihzdWJzdGl0dXRpb24pID8gc3Vic3RpdHV0aW9uIDogMDsKICAgICB9LAogCiAgICAgZjogZnVu
Y3Rpb24oc3Vic3RpdHV0aW9uLCB0b2tlbikKICAgICB7CisgICAgICAgIGlmICh0eXBlb2Ygc3Vi
c3RpdHV0aW9uID09ICdvYmplY3QnICYmIE9iamVjdC5wcm94eVR5cGUoc3Vic3RpdHV0aW9uKSA9
PSAnbnVtYmVyJykgeworICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uLmRl
c2NyaXB0aW9uOworICAgICAgICB9CiAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHBhcnNlRmxvYXQo
c3Vic3RpdHV0aW9uKTsKICAgICAgICAgaWYgKHN1YnN0aXR1dGlvbiAmJiB0b2tlbi5wcmVjaXNp
b24gPiAtMSkKICAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbi50b0ZpeGVk
KHRva2VuLnByZWNpc2lvbik7CkBAIC04MjgsNiArODM0LDkgQEAgU3RyaW5nLnN0YW5kYXJkRm9y
bWF0dGVycyA9IHsKIAogICAgIHM6IGZ1bmN0aW9uKHN1YnN0aXR1dGlvbikKICAgICB7CisgICAg
ICAgIGlmICh0eXBlb2Ygc3Vic3RpdHV0aW9uID09ICdvYmplY3QnICYmIE9iamVjdC5wcm94eVR5
cGUoc3Vic3RpdHV0aW9uKSAhPSAnbnVsbCcpIHsKKyAgICAgICAgICAgIHN1YnN0aXR1dGlvbiA9
IHN1YnN0aXR1dGlvbi5kZXNjcmlwdGlvbjsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gc3Vi
c3RpdHV0aW9uOwogICAgIH0sCiB9Owo=
</data>
<flag name="review"
          id="20886"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39763</attachid>
            <date>2009-09-18 10:00:34 -0700</date>
            <delta_ts>2009-09-18 12:22:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>console-format2.diff</filename>
            <type>text/plain</type>
            <size>5498</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2E3YzNmMi4uM2I4NTFmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0wOS0xOCAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5
IEhhdGNoZXIuCisKKyAgICAgICAgRml4IHBhcmFtZXRlciBzdWJzdGl0dXRpb25zIGluIGNvbnNv
bGUubG9nKCkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI5MzY2CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZS5fZm9ybWF0
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzOgorICAg
ICAgICAoSW5qZWN0ZWRTY3JpcHQuZ2V0UHJvdG90eXBlcyk6CisgICAgICAgIChJbmplY3RlZFNj
cmlwdC5DYWxsRnJhbWVQcm94eS5wcm90b3R5cGUuX3dyYXBTY29wZUNoYWluKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qczoKKyAgICAgICAgKCk6CisKIDIwMDkt
MDktMTggIEpvZXJnIEJvcm5lbWFubiAgPGpvZXJnLmJvcm5lbWFubkBub2tpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXggNWRmMTgxNi4uNTJlNDljMCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtNjM5LDcgKzYzOSw3IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLmNvbnNvbGUuX2Zvcm1hdChvYmosIHRydWUpOwogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKHR5cGVvZiBwYXJhbWV0ZXJzWzBdID09PSAic3RyaW5nIikgeworICAgICAg
ICBpZiAoT2JqZWN0LnByb3h5VHlwZShwYXJhbWV0ZXJzWzBdKSA9PT0gInN0cmluZyIpIHsKICAg
ICAgICAgICAgIHZhciBmb3JtYXR0ZXJzID0ge30KICAgICAgICAgICAgIGZvciAodmFyIGkgaW4g
U3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVycykKICAgICAgICAgICAgICAgICBmb3JtYXR0ZXJzW2ld
ID0gU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVyc1tpXTsKQEAgLTY2MCw3ICs2NjAsNyBAQCBXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJl
dHVybiBhOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5n
LmZvcm1hdChwYXJhbWV0ZXJzWzBdLCBwYXJhbWV0ZXJzLnNsaWNlKDEpLCBmb3JtYXR0ZXJzLCBm
b3JtYXR0ZWRSZXN1bHQsIGFwcGVuZCk7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5n
LmZvcm1hdChwYXJhbWV0ZXJzWzBdLmRlc2NyaXB0aW9uLCBwYXJhbWV0ZXJzLnNsaWNlKDEpLCBm
b3JtYXR0ZXJzLCBmb3JtYXR0ZWRSZXN1bHQsIGFwcGVuZCk7CiAgICAgICAgICAgICBmb3JtYXR0
ZWRSZXN1bHQgPSByZXN1bHQuZm9ybWF0dGVkUmVzdWx0OwogICAgICAgICAgICAgcGFyYW1ldGVy
cyA9IHJlc3VsdC51bnVzZWRTdWJzdGl0dXRpb25zOwogICAgICAgICAgICAgaWYgKHBhcmFtZXRl
cnMubGVuZ3RoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVj
dGVkU2NyaXB0LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0
LmpzCmluZGV4IGIzZDk1NjYuLjJiNmU0MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKQEAgLTQyMSw3ICs0MjEsNyBAQCBJbmplY3RlZFNjcmlw
dC5nZXRQcm90b3R5cGVzID0gZnVuY3Rpb24obm9kZUlkKQogCiAgICAgdmFyIHJlc3VsdCA9IFtd
OwogICAgIGZvciAodmFyIHByb3RvdHlwZSA9IG5vZGU7IHByb3RvdHlwZTsgcHJvdG90eXBlID0g
cHJvdG90eXBlLl9fcHJvdG9fXykgewotICAgICAgICB2YXIgdGl0bGUgPSBPYmplY3QuZGVzY3Jp
YmUocHJvdG90eXBlKTsKKyAgICAgICAgdmFyIHRpdGxlID0gT2JqZWN0LmRlc2NyaWJlKHByb3Rv
dHlwZSwgdHJ1ZSk7CiAgICAgICAgIGlmICh0aXRsZS5tYXRjaCgvUHJvdG90eXBlJC8pKSB7CiAg
ICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnJlcGxhY2UoL1Byb3RvdHlwZSQvLCAiIik7CiAgICAg
ICAgIH0KQEAgLTk5OSwxMSArOTk5LDExIEBAIEluamVjdGVkU2NyaXB0LkNhbGxGcmFtZVByb3h5
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHNjb3BlQ2hhaW5Qcm94eSA9IFtdOwogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHNjb3BlQ2hhaW4ubGVuZ3RoOyArK2kpIHsKICAgICAgICAg
ICAgIHZhciBzY29wZU9iamVjdCA9IHNjb3BlQ2hhaW5baV07Ci0gICAgICAgICAgICB2YXIgc2Nv
cGVPYmplY3RQcm94eSA9IEluamVjdGVkU2NyaXB0LmNyZWF0ZVByb3h5T2JqZWN0KHNjb3BlT2Jq
ZWN0LCB7IGNhbGxGcmFtZTogdGhpcy5pZCwgY2hhaW5JbmRleDogaSB9KTsKKyAgICAgICAgICAg
IHZhciBzY29wZU9iamVjdFByb3h5ID0gSW5qZWN0ZWRTY3JpcHQuY3JlYXRlUHJveHlPYmplY3Qo
c2NvcGVPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCBjaGFpbkluZGV4OiBpIH0sIHRydWUp
OwogCiAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHNjb3Bl
T2JqZWN0KSA9PT0gIltvYmplY3QgSlNBY3RpdmF0aW9uXSIpIHsKICAgICAgICAgICAgICAgICBp
ZiAoIWZvdW5kTG9jYWxTY29wZSkKLSAgICAgICAgICAgICAgICAgICAgc2NvcGVPYmplY3RQcm94
eS50aGlzT2JqZWN0ID0gSW5qZWN0ZWRTY3JpcHQuY3JlYXRlUHJveHlPYmplY3QoY2FsbEZyYW1l
LnRoaXNPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCB0aGlzT2JqZWN0OiB0cnVlIH0pOwor
ICAgICAgICAgICAgICAgICAgICBzY29wZU9iamVjdFByb3h5LnRoaXNPYmplY3QgPSBJbmplY3Rl
ZFNjcmlwdC5jcmVhdGVQcm94eU9iamVjdChjYWxsRnJhbWUudGhpc09iamVjdCwgeyBjYWxsRnJh
bWU6IHRoaXMuaWQsIHRoaXNPYmplY3Q6IHRydWUgfSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgICAgICBzY29wZU9iamVjdFByb3h5LmlzQ2xvc3VyZSA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgZm91bmRMb2NhbFNjb3BlID0gdHJ1ZTsKQEAgLTEwNzcsNiAr
MTA3Nyw4IEBAIE9iamVjdC5kZXNjcmliZSA9IGZ1bmN0aW9uKG9iaiwgYWJicmV2aWF0ZWQpCiAg
ICAgY2FzZSAiYXJyYXkiOgogICAgICAgICByZXR1cm4gIlsiICsgb2JqLnRvU3RyaW5nKCkgKyAi
XSI7CiAgICAgY2FzZSAic3RyaW5nIjoKKyAgICAgICAgaWYgKCFhYmJyZXZpYXRlZCkKKyAgICAg
ICAgICAgIHJldHVybiBvYmo7CiAgICAgICAgIGlmIChvYmoubGVuZ3RoID4gMTAwKQogICAgICAg
ICAgICAgcmV0dXJuICJcIiIgKyBvYmouc3Vic3RyaW5nKDAsIDEwMCkgKyAiXHUyMDI2XCIiOwog
ICAgICAgICByZXR1cm4gIlwiIiArIG9iaiArICJcIiI7CkBAIC0xMDg5LDYgKzEwOTEsMTAgQEAg
T2JqZWN0LmRlc2NyaWJlID0gZnVuY3Rpb24ob2JqLCBhYmJyZXZpYXRlZCkKICAgICAgICAgcmV0
dXJuIG9iamVjdFRleHQ7CiAgICAgY2FzZSAicmVnZXhwIjoKICAgICAgICAgcmV0dXJuIFN0cmlu
ZyhvYmopLnJlcGxhY2UoLyhbXFxcL10pL2csICJcXCQxIikucmVwbGFjZSgvXFwoXC9bZ2ltXSop
JC8sICIkMSIpLnN1YnN0cmluZygxKTsKKyAgICBjYXNlICJib29sZWFuIjoKKyAgICBjYXNlICJu
dW1iZXIiOgorICAgIGNhc2UgIm51bGwiOgorICAgICAgICByZXR1cm4gb2JqOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiBTdHJpbmcob2JqKTsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRleCBlODMxYWJkLi5jNjZmNjhmIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKQEAgLTgxNCwxMiArODE0LDE4IEBAIFN0
cmluZy50b2tlbml6ZUZvcm1hdFN0cmluZyA9IGZ1bmN0aW9uKGZvcm1hdCkKIFN0cmluZy5zdGFu
ZGFyZEZvcm1hdHRlcnMgPSB7CiAgICAgZDogZnVuY3Rpb24oc3Vic3RpdHV0aW9uKQogICAgIHsK
KyAgICAgICAgaWYgKHR5cGVvZiBzdWJzdGl0dXRpb24gPT0gJ29iamVjdCcgJiYgT2JqZWN0LnBy
b3h5VHlwZShzdWJzdGl0dXRpb24pID09PSAnbnVtYmVyJykgeworICAgICAgICAgICAgc3Vic3Rp
dHV0aW9uID0gc3Vic3RpdHV0aW9uLmRlc2NyaXB0aW9uOworICAgICAgICB9CiAgICAgICAgIHN1
YnN0aXR1dGlvbiA9IHBhcnNlSW50KHN1YnN0aXR1dGlvbik7CiAgICAgICAgIHJldHVybiAhaXNO
YU4oc3Vic3RpdHV0aW9uKSA/IHN1YnN0aXR1dGlvbiA6IDA7CiAgICAgfSwKIAogICAgIGY6IGZ1
bmN0aW9uKHN1YnN0aXR1dGlvbiwgdG9rZW4pCiAgICAgeworICAgICAgICBpZiAodHlwZW9mIHN1
YnN0aXR1dGlvbiA9PSAnb2JqZWN0JyAmJiBPYmplY3QucHJveHlUeXBlKHN1YnN0aXR1dGlvbikg
PT09ICdudW1iZXInKSB7CisgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb24u
ZGVzY3JpcHRpb247CisgICAgICAgIH0KICAgICAgICAgc3Vic3RpdHV0aW9uID0gcGFyc2VGbG9h
dChzdWJzdGl0dXRpb24pOwogICAgICAgICBpZiAoc3Vic3RpdHV0aW9uICYmIHRva2VuLnByZWNp
c2lvbiA+IC0xKQogICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uLnRvRml4
ZWQodG9rZW4ucHJlY2lzaW9uKTsKQEAgLTgyOCw2ICs4MzQsOSBAQCBTdHJpbmcuc3RhbmRhcmRG
b3JtYXR0ZXJzID0gewogCiAgICAgczogZnVuY3Rpb24oc3Vic3RpdHV0aW9uKQogICAgIHsKKyAg
ICAgICAgaWYgKHR5cGVvZiBzdWJzdGl0dXRpb24gPT0gJ29iamVjdCcgJiYgT2JqZWN0LnByb3h5
VHlwZShzdWJzdGl0dXRpb24pICE9PSAnbnVsbCcpIHsKKyAgICAgICAgICAgIHN1YnN0aXR1dGlv
biA9IHN1YnN0aXR1dGlvbi5kZXNjcmlwdGlvbjsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4g
c3Vic3RpdHV0aW9uOwogICAgIH0sCiB9Owo=
</data>
<flag name="review"
          id="20887"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39776</attachid>
            <date>2009-09-18 12:22:13 -0700</date>
            <delta_ts>2009-09-18 14:58:46 -0700</delta_ts>
            <desc>patch</desc>
            <filename>console-format3.diff</filename>
            <type>text/plain</type>
            <size>5459</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Y2E3YzNmMi4uM2I4NTFmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAwOS0wOS0xOCAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5
IEhhdGNoZXIuCisKKyAgICAgICAgRml4IHBhcmFtZXRlciBzdWJzdGl0dXRpb25zIGluIGNvbnNv
bGUubG9nKCkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI5MzY2CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZS5fZm9ybWF0
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0LmpzOgorICAg
ICAgICAoSW5qZWN0ZWRTY3JpcHQuZ2V0UHJvdG90eXBlcyk6CisgICAgICAgIChJbmplY3RlZFNj
cmlwdC5DYWxsRnJhbWVQcm94eS5wcm90b3R5cGUuX3dyYXBTY29wZUNoYWluKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL3V0aWxpdGllcy5qczoKKyAgICAgICAgKCk6CisKIDIwMDkt
MDktMTggIEpvZXJnIEJvcm5lbWFubiAgPGpvZXJnLmJvcm5lbWFubkBub2tpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXggNWRmMTgxNi4uNTJlNDljMCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtNjM5LDcgKzYzOSw3IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLmNvbnNvbGUuX2Zvcm1hdChvYmosIHRydWUpOwogICAgICAgICB9CiAK
LSAgICAgICAgaWYgKHR5cGVvZiBwYXJhbWV0ZXJzWzBdID09PSAic3RyaW5nIikgeworICAgICAg
ICBpZiAoT2JqZWN0LnByb3h5VHlwZShwYXJhbWV0ZXJzWzBdKSA9PT0gInN0cmluZyIpIHsKICAg
ICAgICAgICAgIHZhciBmb3JtYXR0ZXJzID0ge30KICAgICAgICAgICAgIGZvciAodmFyIGkgaW4g
U3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVycykKICAgICAgICAgICAgICAgICBmb3JtYXR0ZXJzW2ld
ID0gU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVyc1tpXTsKQEAgLTY2MCw3ICs2NjAsNyBAQCBXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJl
dHVybiBhOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5n
LmZvcm1hdChwYXJhbWV0ZXJzWzBdLCBwYXJhbWV0ZXJzLnNsaWNlKDEpLCBmb3JtYXR0ZXJzLCBm
b3JtYXR0ZWRSZXN1bHQsIGFwcGVuZCk7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5n
LmZvcm1hdChwYXJhbWV0ZXJzWzBdLmRlc2NyaXB0aW9uLCBwYXJhbWV0ZXJzLnNsaWNlKDEpLCBm
b3JtYXR0ZXJzLCBmb3JtYXR0ZWRSZXN1bHQsIGFwcGVuZCk7CiAgICAgICAgICAgICBmb3JtYXR0
ZWRSZXN1bHQgPSByZXN1bHQuZm9ybWF0dGVkUmVzdWx0OwogICAgICAgICAgICAgcGFyYW1ldGVy
cyA9IHJlc3VsdC51bnVzZWRTdWJzdGl0dXRpb25zOwogICAgICAgICAgICAgaWYgKHBhcmFtZXRl
cnMubGVuZ3RoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVj
dGVkU2NyaXB0LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luamVjdGVkU2NyaXB0
LmpzCmluZGV4IGIzZDk1NjYuLjJiNmU0MTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9JbmplY3RlZFNjcmlwdC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMKQEAgLTQyMSw3ICs0MjEsNyBAQCBJbmplY3RlZFNjcmlw
dC5nZXRQcm90b3R5cGVzID0gZnVuY3Rpb24obm9kZUlkKQogCiAgICAgdmFyIHJlc3VsdCA9IFtd
OwogICAgIGZvciAodmFyIHByb3RvdHlwZSA9IG5vZGU7IHByb3RvdHlwZTsgcHJvdG90eXBlID0g
cHJvdG90eXBlLl9fcHJvdG9fXykgewotICAgICAgICB2YXIgdGl0bGUgPSBPYmplY3QuZGVzY3Jp
YmUocHJvdG90eXBlKTsKKyAgICAgICAgdmFyIHRpdGxlID0gT2JqZWN0LmRlc2NyaWJlKHByb3Rv
dHlwZSwgdHJ1ZSk7CiAgICAgICAgIGlmICh0aXRsZS5tYXRjaCgvUHJvdG90eXBlJC8pKSB7CiAg
ICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnJlcGxhY2UoL1Byb3RvdHlwZSQvLCAiIik7CiAgICAg
ICAgIH0KQEAgLTk5OSwxMSArOTk5LDExIEBAIEluamVjdGVkU2NyaXB0LkNhbGxGcmFtZVByb3h5
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHNjb3BlQ2hhaW5Qcm94eSA9IFtdOwogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHNjb3BlQ2hhaW4ubGVuZ3RoOyArK2kpIHsKICAgICAgICAg
ICAgIHZhciBzY29wZU9iamVjdCA9IHNjb3BlQ2hhaW5baV07Ci0gICAgICAgICAgICB2YXIgc2Nv
cGVPYmplY3RQcm94eSA9IEluamVjdGVkU2NyaXB0LmNyZWF0ZVByb3h5T2JqZWN0KHNjb3BlT2Jq
ZWN0LCB7IGNhbGxGcmFtZTogdGhpcy5pZCwgY2hhaW5JbmRleDogaSB9KTsKKyAgICAgICAgICAg
IHZhciBzY29wZU9iamVjdFByb3h5ID0gSW5qZWN0ZWRTY3JpcHQuY3JlYXRlUHJveHlPYmplY3Qo
c2NvcGVPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCBjaGFpbkluZGV4OiBpIH0sIHRydWUp
OwogCiAgICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHNjb3Bl
T2JqZWN0KSA9PT0gIltvYmplY3QgSlNBY3RpdmF0aW9uXSIpIHsKICAgICAgICAgICAgICAgICBp
ZiAoIWZvdW5kTG9jYWxTY29wZSkKLSAgICAgICAgICAgICAgICAgICAgc2NvcGVPYmplY3RQcm94
eS50aGlzT2JqZWN0ID0gSW5qZWN0ZWRTY3JpcHQuY3JlYXRlUHJveHlPYmplY3QoY2FsbEZyYW1l
LnRoaXNPYmplY3QsIHsgY2FsbEZyYW1lOiB0aGlzLmlkLCB0aGlzT2JqZWN0OiB0cnVlIH0pOwor
ICAgICAgICAgICAgICAgICAgICBzY29wZU9iamVjdFByb3h5LnRoaXNPYmplY3QgPSBJbmplY3Rl
ZFNjcmlwdC5jcmVhdGVQcm94eU9iamVjdChjYWxsRnJhbWUudGhpc09iamVjdCwgeyBjYWxsRnJh
bWU6IHRoaXMuaWQsIHRoaXNPYmplY3Q6IHRydWUgfSwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgICAgICAgICBzY29wZU9iamVjdFByb3h5LmlzQ2xvc3VyZSA9IHRy
dWU7CiAgICAgICAgICAgICAgICAgZm91bmRMb2NhbFNjb3BlID0gdHJ1ZTsKQEAgLTEwNzcsNiAr
MTA3Nyw4IEBAIE9iamVjdC5kZXNjcmliZSA9IGZ1bmN0aW9uKG9iaiwgYWJicmV2aWF0ZWQpCiAg
ICAgY2FzZSAiYXJyYXkiOgogICAgICAgICByZXR1cm4gIlsiICsgb2JqLnRvU3RyaW5nKCkgKyAi
XSI7CiAgICAgY2FzZSAic3RyaW5nIjoKKyAgICAgICAgaWYgKCFhYmJyZXZpYXRlZCkKKyAgICAg
ICAgICAgIHJldHVybiBvYmo7CiAgICAgICAgIGlmIChvYmoubGVuZ3RoID4gMTAwKQogICAgICAg
ICAgICAgcmV0dXJuICJcIiIgKyBvYmouc3Vic3RyaW5nKDAsIDEwMCkgKyAiXHUyMDI2XCIiOwog
ICAgICAgICByZXR1cm4gIlwiIiArIG9iaiArICJcIiI7CkBAIC0xMDg5LDYgKzEwOTEsMTAgQEAg
T2JqZWN0LmRlc2NyaWJlID0gZnVuY3Rpb24ob2JqLCBhYmJyZXZpYXRlZCkKICAgICAgICAgcmV0
dXJuIG9iamVjdFRleHQ7CiAgICAgY2FzZSAicmVnZXhwIjoKICAgICAgICAgcmV0dXJuIFN0cmlu
ZyhvYmopLnJlcGxhY2UoLyhbXFxcL10pL2csICJcXCQxIikucmVwbGFjZSgvXFwoXC9bZ2ltXSop
JC8sICIkMSIpLnN1YnN0cmluZygxKTsKKyAgICBjYXNlICJib29sZWFuIjoKKyAgICBjYXNlICJu
dW1iZXIiOgorICAgIGNhc2UgIm51bGwiOgorICAgICAgICByZXR1cm4gb2JqOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiBTdHJpbmcob2JqKTsKICAgICB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3V0aWxpdGllcy5qcwppbmRleCBlODMxYWJkLi5lODNjN2MwIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdXRpbGl0aWVzLmpzCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC91dGlsaXRpZXMuanMKQEAgLTgxNCwxMiArODE0LDE2IEBAIFN0
cmluZy50b2tlbml6ZUZvcm1hdFN0cmluZyA9IGZ1bmN0aW9uKGZvcm1hdCkKIFN0cmluZy5zdGFu
ZGFyZEZvcm1hdHRlcnMgPSB7CiAgICAgZDogZnVuY3Rpb24oc3Vic3RpdHV0aW9uKQogICAgIHsK
KyAgICAgICAgaWYgKHR5cGVvZiBzdWJzdGl0dXRpb24gPT0gIm9iamVjdCIgJiYgT2JqZWN0LnBy
b3h5VHlwZShzdWJzdGl0dXRpb24pID09PSAibnVtYmVyIikKKyAgICAgICAgICAgIHN1YnN0aXR1
dGlvbiA9IHN1YnN0aXR1dGlvbi5kZXNjcmlwdGlvbjsKICAgICAgICAgc3Vic3RpdHV0aW9uID0g
cGFyc2VJbnQoc3Vic3RpdHV0aW9uKTsKICAgICAgICAgcmV0dXJuICFpc05hTihzdWJzdGl0dXRp
b24pID8gc3Vic3RpdHV0aW9uIDogMDsKICAgICB9LAogCiAgICAgZjogZnVuY3Rpb24oc3Vic3Rp
dHV0aW9uLCB0b2tlbikKICAgICB7CisgICAgICAgIGlmICh0eXBlb2Ygc3Vic3RpdHV0aW9uID09
ICJvYmplY3QiICYmIE9iamVjdC5wcm94eVR5cGUoc3Vic3RpdHV0aW9uKSA9PT0gIm51bWJlciIp
CisgICAgICAgICAgICBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb24uZGVzY3JpcHRpb247CiAg
ICAgICAgIHN1YnN0aXR1dGlvbiA9IHBhcnNlRmxvYXQoc3Vic3RpdHV0aW9uKTsKICAgICAgICAg
aWYgKHN1YnN0aXR1dGlvbiAmJiB0b2tlbi5wcmVjaXNpb24gPiAtMSkKICAgICAgICAgICAgIHN1
YnN0aXR1dGlvbiA9IHN1YnN0aXR1dGlvbi50b0ZpeGVkKHRva2VuLnByZWNpc2lvbik7CkBAIC04
MjgsNiArODMyLDggQEAgU3RyaW5nLnN0YW5kYXJkRm9ybWF0dGVycyA9IHsKIAogICAgIHM6IGZ1
bmN0aW9uKHN1YnN0aXR1dGlvbikKICAgICB7CisgICAgICAgIGlmICh0eXBlb2Ygc3Vic3RpdHV0
aW9uID09ICJvYmplY3QiICYmIE9iamVjdC5wcm94eVR5cGUoc3Vic3RpdHV0aW9uKSAhPT0gIm51
bGwiKQorICAgICAgICAgICAgc3Vic3RpdHV0aW9uID0gc3Vic3RpdHV0aW9uLmRlc2NyaXB0aW9u
OwogICAgICAgICByZXR1cm4gc3Vic3RpdHV0aW9uOwogICAgIH0sCiB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>