<?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>40447</bug_id>
          
          <creation_ts>2010-06-10 14:30:19 -0700</creation_ts>
          <short_desc>Infinite loop in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded</short_desc>
          <delta_ts>2012-10-12 04:07:56 -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>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://bugs.webkit.org/show_bug.cgi?id=40304</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustaaf Groenendaal (MysteryQuest)">webkit</reporter>
          <assigned_to>eustas.bug</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>eustas.bug</cc>
    
    <cc>joepeck</cc>
    
    <cc>pfeldman</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>236537</commentid>
    <comment_count>0</comment_count>
    <who name="Gustaaf Groenendaal (MysteryQuest)">webkit</who>
    <bug_when>2010-06-10 14:30:19 -0700</bug_when>
    <thetext>Original bug here: https://bugs.webkit.org/show_bug.cgi?id=40304
Opening the page provided in the original bug: ( http://j.benzakoun.free.fr/JSNE/JavaScriptNoteEditor_b2/index.php?loadid=13&amp;key=d16ad39b783f65e55410ab5d8ca9b4ab )
Seems to start a buffer overflow in: Web Inspector -&gt; recources -&gt; &lt;file&gt; -&gt; contents
Can confirm that this is happening on all Macs with 10.5 and up where Safari 5 or Nightly installed.
Needs a check on other platforms to see if this is Mac only or not.

Credit to the original reporter.
Passing this on as a security bug as I don&apos;t know the risk of the cause of this bug being available in public.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245019</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-06-30 17:09:17 -0700</bug_when>
    <thetext>This appears to be a denial-of-service (DoS) attack, or at least a performance issue.  I see a lot of RAM being allocated when tapping on the &quot;Content&quot; tab of &quot;index.php&quot; in the Web Inspector, but nothing else.

I think this should be duped back to Bug 40304 unless there is more information available.  (Can you attach a crash log, Gustaaf?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>245165</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-01 00:43:47 -0700</bug_when>
    <thetext>It is just an infinite loop in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded. I&apos;ll fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282678</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-09-21 17:21:23 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; It is just an infinite loop in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded. I&apos;ll fix it.

Does this really need to be in Security if it&apos;s an infinite loop?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367730</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2011-03-15 10:02:49 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Does this really need to be in Security if it&apos;s an infinite loop?

Removing from Security group.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>428829</commentid>
    <comment_count>5</comment_count>
      <attachid>98905</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2011-06-28 06:07:44 -0700</bug_when>
    <thetext>Created attachment 98905
Fix performance / memory allocation problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429559</commentid>
    <comment_count>6</comment_count>
      <attachid>98905</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-06-29 06:29:19 -0700</bug_when>
    <thetext>Comment on attachment 98905
Fix performance / memory allocation problem

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

Looks good. Please fix the log entry at least.

&gt; Source/WebCore/ChangeLog:5
&gt; +        Infinite loop in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded

You should change the log entry in case it was not in fact an infinite loop. Also, please start bug title with the &quot;Web Inspector:&quot;.

&gt; Source/WebCore/inspector/front-end/TextEditorModel.js:152
&gt; +            var sum = 0;

I&apos;d rename &quot;sum&quot; to the &quot;offset&quot;.

&gt; Source/WebCore/inspector/front-end/TextEditorModel.js:164
&gt; +            if (line.length &gt; caretIndex) {

no need for { }

&gt; LayoutTests/inspector/editor/text-editor-model-replace-tabs.html:15
&gt; +        InspectorTest.addResult(&quot;Output length:&quot; + lines[0].length + &quot;, output matches sample:&quot; + (lines[0] === sampleOutput));

We would typically dump &quot;text&quot; and &quot;sampleOutput&quot; instead. It is way more informative.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430251</commentid>
    <comment_count>7</comment_count>
      <attachid>99255</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2011-06-30 01:38:40 -0700</bug_when>
    <thetext>Created attachment 99255
Fix performance / memory allocation problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430255</commentid>
    <comment_count>8</comment_count>
      <attachid>99255</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-06-30 01:48:06 -0700</bug_when>
    <thetext>Comment on attachment 99255
Fix performance / memory allocation problem

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

&gt; Source/WebCore/ChangeLog:5
&gt; +        Performance / memory allocation issue in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded

Web Inspector: prefix missing

&gt; LayoutTests/ChangeLog:5
&gt; +        Performance / memory allocation issue in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded

ditto

&gt; LayoutTests/inspector/editor/text-editor-model-replace-tabs-expected.txt:16
&gt; +[]

It&apos;d be nicer to print results side by side with the source lines. You should also render tab as \t in the source to avoid possible confusions (I have tab rendered as 8 spaces in my settings).

&gt; LayoutTests/inspector/editor/text-editor-model-replace-tabs.html:35
&gt; +            result = &quot;FAIL: time limit (100ms) exceeded (execution time: &quot; + duration + &quot;ms)&quot;

This won&apos;t work on the bots. Things may take seconds there. Please do not test performance in the layout tests - they become flaky. As we agree, measuring correctness is sufficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430331</commentid>
    <comment_count>9</comment_count>
      <attachid>99278</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2011-06-30 05:15:17 -0700</bug_when>
    <thetext>Created attachment 99278
Fix performance / memory allocation problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430352</commentid>
    <comment_count>10</comment_count>
      <attachid>99278</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-06-30 06:21:58 -0700</bug_when>
    <thetext>Comment on attachment 99278
Fix performance / memory allocation problem

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

&gt; Source/WebCore/ChangeLog:5
&gt; +        Performance / memory allocation issue in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded

Please add WebInspector: prefix.

&gt; LayoutTests/ChangeLog:5
&gt; +        Performance / memory allocation issue in WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded

Ditto

&gt; LayoutTests/inspector/editor/text-editor-model-replace-tabs.html:12
&gt; +    	var input = testCases[i];

weird indent, otherwise looks good.

&gt; LayoutTests/inspector/editor/text-editor-model-replace-tabs.html:22
&gt; +    var bufT = [];

nit: no abbreviations in webkit (bufferT &amp; bufferS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430416</commentid>
    <comment_count>11</comment_count>
      <attachid>99303</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2011-06-30 08:05:12 -0700</bug_when>
    <thetext>Created attachment 99303
WebInspector: Fix performance / memory allocation problem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431007</commentid>
    <comment_count>12</comment_count>
      <attachid>99303</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 23:50:26 -0700</bug_when>
    <thetext>Comment on attachment 99303
WebInspector: Fix performance / memory allocation problem

Clearing flags on attachment: 99303

Committed r90209: &lt;http://trac.webkit.org/changeset/90209&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431008</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 23:50:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98905</attachid>
            <date>2011-06-28 06:07:44 -0700</date>
            <delta_ts>2011-06-30 01:38:40 -0700</delta_ts>
            <desc>Fix performance / memory allocation problem</desc>
            <filename>patch-40447.patch</filename>
            <type>text/plain</type>
            <size>5596</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5OTIyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDYtMjggIEV1Z2VuZSBL
bHl1Y2huaWtvdiAgPGV1c3Rhcy5idWdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluZmluaXRlIGxvb3AgaW4gV2ViSW5zcGVjdG9y
LlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUuX3JlcGxhY2VUYWJzSWZOZWVkZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNDQ3CisKKyAgICAgICAg
VGVzdDogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC1yZXBsYWNlLXRhYnMuaHRt
bAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanM6IGZp
eGVkIHBhZXJmb3JtYWNlL21lbW9yeSBhbGxvY2F0aW9uIHByb2JsZW0KKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBlLl9yZXBsYWNlVGFic0lmTmVlZGVkKToK
KwogMjAxMS0wNi0yNyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcwkocmV2
aXNpb24gODk5MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRF
ZGl0b3JNb2RlbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDEyICsxNDYsMjUgQEAgV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUgPQogICAgICAgICB2YXIgc3BhY2VzID0g
WyAiICAgICIsICIgICAiLCAiICAiLCAiICJdOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGxpbmVzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgbGluZSA9IGxpbmVzW2ldOwot
ICAgICAgICAgICAgdmFyIGluZGV4ID0gbGluZS5pbmRleE9mKCJcdCIpOworICAgICAgICAgICAg
dmFyIGNhcmV0SW5kZXggPSAwOworICAgICAgICAgICAgdmFyIGluZGV4ID0gbGluZS5pbmRleE9m
KCJcdCIsIGNhcmV0SW5kZXgpOworICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IFtdOworICAgICAg
ICAgICAgdmFyIHN1bSA9IDA7CiAgICAgICAgICAgICB3aGlsZSAoaW5kZXggIT09IC0xKSB7Ci0g
ICAgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3Vic3RyaW5nKDAsIGluZGV4KSArIHNwYWNlc1tp
bmRleCAlIDRdICsgbGluZS5zdWJzdHJpbmcoaW5kZXggKyAxKTsKLSAgICAgICAgICAgICAgICBp
bmRleCA9IGxpbmUuaW5kZXhPZigiXHQiLCBpbmRleCArIDEpOworICAgICAgICAgICAgICAgIGlm
IChpbmRleCA+IGNhcmV0SW5kZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgc3VtICs9IGluZGV4
IC0gY2FyZXRJbmRleDsKKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyLnB1c2gobGluZS5zdWJz
dHJpbmcoY2FyZXRJbmRleCwgaW5kZXgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgY2FyZXRJbmRleCA9IGluZGV4ICsgMTsKKyAgICAgICAgICAgICAgICB2YXIgc3BhY2Ug
PSBzcGFjZXNbc3VtICUgNF07CisgICAgICAgICAgICAgICAgc3VtICs9IHNwYWNlLmxlbmd0aDsK
KyAgICAgICAgICAgICAgICBidWZmZXIucHVzaChzcGFjZSk7CisgICAgICAgICAgICAgICAgaW5k
ZXggPSBsaW5lLmluZGV4T2YoIlx0IiwgY2FyZXRJbmRleCk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBsaW5lc1tpXSA9IGxpbmU7CisgICAgICAgICAgICBpZiAobGluZS5sZW5ndGggPiBj
YXJldEluZGV4KSB7CisgICAgICAgICAgICAgICAgYnVmZmVyLnB1c2gobGluZS5zdWJzdHJpbmco
Y2FyZXRJbmRleCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbGluZXNbaV0gPSBidWZm
ZXIuam9pbigiIik7CiAgICAgICAgIH0KICAgICB9LAogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4OTky
MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDExLTA2LTI4ICBFdWdlbmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmZp
bml0ZSBsb29wIGluIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBlLl9yZXBs
YWNlVGFic0lmTmVlZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MDQ0NworCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1t
b2RlbC1yZXBsYWNlLXRhYnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy5odG1sOiBBZGRlZC4KKwog
MjAxMS0wNi0yNyAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1t
b2RlbC1yZXBsYWNlLXRhYnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC1yZXBsYWNlLXRhYnMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACitUaGlzIHRlc3QgY2hlY2tzIHRo
ZSB0ZXh0IGVkaXRvciBtb2RlbCBfcmVwbGFjZVRhYnNJZk5lZWRlZCBtZXRob2QuCisKK091dHB1
dCBsZW5ndGg6MCwgb3V0cHV0IG1hdGNoZXMgc2FtcGxlOnRydWUKK091dHB1dCBsZW5ndGg6NCwg
b3V0cHV0IG1hdGNoZXMgc2FtcGxlOnRydWUKK091dHB1dCBsZW5ndGg6NCwgb3V0cHV0IG1hdGNo
ZXMgc2FtcGxlOnRydWUKK091dHB1dCBsZW5ndGg6NCwgb3V0cHV0IG1hdGNoZXMgc2FtcGxlOnRy
dWUKK091dHB1dCBsZW5ndGg6NCwgb3V0cHV0IG1hdGNoZXMgc2FtcGxlOnRydWUKK091dHB1dCBs
ZW5ndGg6NSwgb3V0cHV0IG1hdGNoZXMgc2FtcGxlOnRydWUKK091dHB1dCBsZW5ndGg6NSwgb3V0
cHV0IG1hdGNoZXMgc2FtcGxlOnRydWUKK091dHB1dCBsZW5ndGg6MTIsIG91dHB1dCBtYXRjaGVz
IHNhbXBsZTp0cnVlCitPdXRwdXQgbGVuZ3RoOjEyLCBvdXRwdXQgbWF0Y2hlcyBzYW1wbGU6dHJ1
ZQorT3V0cHV0IGxlbmd0aDoxLCBvdXRwdXQgbWF0Y2hlcyBzYW1wbGU6dHJ1ZQorT3V0cHV0IGxl
bmd0aDo4LCBvdXRwdXQgbWF0Y2hlcyBzYW1wbGU6dHJ1ZQorT3V0cHV0IGxlbmd0aDo0MDAwMDAw
LCBvdXRwdXQgbWF0Y2hlcyBzYW1wbGU6dHJ1ZQorCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItbW9kZWwtcmVwbGFj
ZS10YWJzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9y
L3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDUwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIGZ1bmN0aW9uIGNoZWNrVGFic1JlcGxhY2VtZW50KHRleHQsIHNh
bXBsZU91dHB1dCkKKyAgICB7CisgICAgICAgIHZhciB0ZXh0TW9kZWwgPSBuZXcgV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNb2RlbCgpOworICAgICAgICB0ZXh0TW9kZWwucmVwbGFjZVRhYnNXaXRo
U3BhY2VzID0gdHJ1ZTsKKyAgICAgICAgdmFyIGxpbmVzID0gW107CisgICAgICAgIGxpbmVzLnB1
c2godGV4dCk7CisgICAgICAgIHRleHRNb2RlbC5fcmVwbGFjZVRhYnNJZk5lZWRlZChsaW5lcyk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJPdXRwdXQgbGVuZ3RoOiIgKyBsaW5l
c1swXS5sZW5ndGggKyAiLCBvdXRwdXQgbWF0Y2hlcyBzYW1wbGU6IiArIChsaW5lc1swXSA9PT0g
c2FtcGxlT3V0cHV0KSk7CisgICAgfQorCisgICAgY2hlY2tUYWJzUmVwbGFjZW1lbnQoIiIsIiIp
OworCWNoZWNrVGFic1JlcGxhY2VtZW50KCJcdCIsIiAgICAiKTsKKyAgICBjaGVja1RhYnNSZXBs
YWNlbWVudCgiQVx0IiwiQSAgICIpOworICAgIGNoZWNrVGFic1JlcGxhY2VtZW50KCJBQlx0Iiwi
QUIgICIpOworICAgIGNoZWNrVGFic1JlcGxhY2VtZW50KCJBQkNcdCIsIkFCQyAiKTsKKyAgICBj
aGVja1RhYnNSZXBsYWNlbWVudCgiXHRBIiwiICAgIEEiKTsKKyAgICBjaGVja1RhYnNSZXBsYWNl
bWVudCgiQVx0QiIsIkEgICBCIik7CisgICAgY2hlY2tUYWJzUmVwbGFjZW1lbnQoIlx0XHRBXHQi
LCIgICAgICAgIEEgICAiKTsKKyAgICBjaGVja1RhYnNSZXBsYWNlbWVudCgiXHRBXHRcdCIsIiAg
ICBBICAgICAgICIpOworICAgIGNoZWNrVGFic1JlcGxhY2VtZW50KCJBIiwiQSIpOworICAgIGNo
ZWNrVGFic1JlcGxhY2VtZW50KCJcdEFCQ0QiLCIgICAgQUJDRCIpOworCisJdmFyIGJ1ZlQgPSBb
XTsKKwl2YXIgYnVmUyA9IFtdOworCWZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwMDsgaSsrKSB7
CisJCWJ1ZlQucHVzaCgiXHQiKTsKKwkJYnVmUy5wdXNoKCIgICAgIik7CisJfQorICAgIGNoZWNr
VGFic1JlcGxhY2VtZW50KGJ1ZlQuam9pbigiIiksIGJ1ZlMuam9pbigiIikpOworCisgICAgSW5z
cGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGhpcyB0ZXN0IGNoZWNrcyB0aGUgdGV4dCBl
ZGl0b3IgbW9kZWwgX3JlcGxhY2VUYWJzSWZOZWVkZWQgbWV0aG9kLgorPC9wPgorCis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99255</attachid>
            <date>2011-06-30 01:38:40 -0700</date>
            <delta_ts>2011-06-30 05:15:17 -0700</delta_ts>
            <desc>Fix performance / memory allocation problem</desc>
            <filename>patch-40447.patch</filename>
            <type>text/plain</type>
            <size>5597</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwMDk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDYtMzAgIEV1Z2VuZSBL
bHl1Y2huaWtvdiAgPGV1c3Rhcy5idWdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmZvcm1hbmNlIC8gbWVtb3J5IGFsbG9jYXRp
b24gaXNzdWUgaW4gV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUuX3JlcGxh
Y2VUYWJzSWZOZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQwNDQ3CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRv
ci1tb2RlbC1yZXBsYWNlLXRhYnMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9UZXh0RWRpdG9yTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1v
ZGVsLnByb3RvdHlwZS5fcmVwbGFjZVRhYnNJZk5lZWRlZCk6IGF2b2lkIGxvb3BlZCBwcm9kdWN0
aW9uIG9mIHRhaWwgc3Vic3RyaW5ncyAKKwogMjAxMS0wNi0yNyAgUGF2ZWwgUG9kaXZpbG92ICA8
cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9y
TW9kZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UZXh0RWRpdG9yTW9kZWwuanMJKHJldmlzaW9uIDkwMDg4KQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanMJKHdvcmtpbmcgY29weSkKQEAg
LTE0NiwxMiArMTQ2LDI0IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBl
ID0KICAgICAgICAgdmFyIHNwYWNlcyA9IFsgIiAgICAiLCAiICAgIiwgIiAgIiwgIiAiXTsKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSkgewogICAgICAgICAg
ICAgdmFyIGxpbmUgPSBsaW5lc1tpXTsKLSAgICAgICAgICAgIHZhciBpbmRleCA9IGxpbmUuaW5k
ZXhPZigiXHQiKTsKKyAgICAgICAgICAgIHZhciBjYXJldEluZGV4ID0gMDsKKyAgICAgICAgICAg
IHZhciBpbmRleCA9IGxpbmUuaW5kZXhPZigiXHQiLCBjYXJldEluZGV4KTsKKyAgICAgICAgICAg
IHZhciBidWZmZXIgPSBbXTsKKyAgICAgICAgICAgIHZhciBvZmZzZXQgPSAwOwogICAgICAgICAg
ICAgd2hpbGUgKGluZGV4ICE9PSAtMSkgewotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN1
YnN0cmluZygwLCBpbmRleCkgKyBzcGFjZXNbaW5kZXggJSA0XSArIGxpbmUuc3Vic3RyaW5nKGlu
ZGV4ICsgMSk7Ci0gICAgICAgICAgICAgICAgaW5kZXggPSBsaW5lLmluZGV4T2YoIlx0IiwgaW5k
ZXggKyAxKTsKKyAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiBjYXJldEluZGV4KSB7CisgICAg
ICAgICAgICAgICAgICAgIG9mZnNldCArPSBpbmRleCAtIGNhcmV0SW5kZXg7CisgICAgICAgICAg
ICAgICAgICAgIGJ1ZmZlci5wdXNoKGxpbmUuc3Vic3RyaW5nKGNhcmV0SW5kZXgsIGluZGV4KSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhcmV0SW5kZXggPSBpbmRleCAr
IDE7CisgICAgICAgICAgICAgICAgdmFyIHNwYWNlID0gc3BhY2VzW29mZnNldCAlIDRdOworICAg
ICAgICAgICAgICAgIG9mZnNldCArPSBzcGFjZS5sZW5ndGg7CisgICAgICAgICAgICAgICAgYnVm
ZmVyLnB1c2goc3BhY2UpOworICAgICAgICAgICAgICAgIGluZGV4ID0gbGluZS5pbmRleE9mKCJc
dCIsIGNhcmV0SW5kZXgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbGluZXNbaV0gPSBs
aW5lOworICAgICAgICAgICAgaWYgKGxpbmUubGVuZ3RoID4gY2FyZXRJbmRleCkKKyAgICAgICAg
ICAgICAgICBidWZmZXIucHVzaChsaW5lLnN1YnN0cmluZyhjYXJldEluZGV4KSk7CisgICAgICAg
ICAgICBsaW5lc1tpXSA9IGJ1ZmZlci5qb2luKCIiKTsKICAgICAgICAgfQogICAgIH0sCiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDkwMDk2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMzAgIEV1Z2VuZSBLbHl1Y2huaWtvdiAg
PGV1c3Rhcy5idWdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFBlcmZvcm1hbmNlIC8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWUgaW4g
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUuX3JlcGxhY2VUYWJzSWZOZWVk
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNDQ3
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2Ut
dGFicy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4
dC1lZGl0b3ItbW9kZWwtcmVwbGFjZS10YWJzLmh0bWw6IEFkZGVkLgorCiAyMDExLTA2LTMwICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4
dC1lZGl0b3ItbW9kZWwtcmVwbGFjZS10YWJzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFi
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRp
dG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjggQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIHRleHQgZWRpdG9yIG1v
ZGVsIF9yZXBsYWNlVGFic0lmTmVlZGVkIG1ldGhvZC4KKworSW5wdXQgbGluZXM6CitbXQorWwld
CitbQQldCitbQUIJXQorW0FCQwldCitbCUFdCitbQQlCXQorWwkJQQldCitbCUEJCV0KK1tBXQor
WwlBQkNEXQorT3V0cHV0IGxpbmVzOgorW10KK1sgICAgXQorW0EgICBdCitbQUIgIF0KK1tBQkMg
XQorWyAgICBBXQorW0EgICBCXQorWyAgICAgICAgQSAgIF0KK1sgICAgQSAgICAgICBdCitbQV0K
K1sgICAgQUJDRF0KK1BlcmZvcm1hY2UgdGVzdDogUEFTUworCkluZGV4OiBMYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItbW9kZWwt
cmVwbGFjZS10YWJzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
ZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciB0ZXh0TW9kZWwgPSBuZXcgV2ViSW5zcGVjdG9y
LlRleHRFZGl0b3JNb2RlbCgpOworICAgIHRleHRNb2RlbC5yZXBsYWNlVGFic1dpdGhTcGFjZXMg
PSB0cnVlOworICAgIHZhciBsaW5lcyA9IG5ldyBBcnJheSgiIiwiXHQiLCJBXHQiLCJBQlx0Iiwi
QUJDXHQiLCJcdEEiLCJBXHRCIiwiXHRcdEFcdCIsIlx0QVx0XHQiLCJBIiwiXHRBQkNEIik7Cisg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIklucHV0IGxpbmVzOlxuWyIgKyBsaW5lcy5qb2lu
KCJdXG5bIikgKyAiXSIpOworICAgIHRleHRNb2RlbC5fcmVwbGFjZVRhYnNJZk5lZWRlZChsaW5l
cyk7CisgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk91dHB1dCBsaW5lczpcblsiICsgbGlu
ZXMuam9pbigiXVxuWyIpICsgIl0iKTsKKworICAgIHZhciBidWZUID0gW107CisgICAgdmFyIGJ1
ZlMgPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAg
YnVmVC5wdXNoKCJcdFx0XHRcdFx0XHRcdFx0XHRcdCIpOyAvLyAxMCB0YWJ1bGF0aW9ucworICAg
ICAgICBidWZTLnB1c2goIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
KTsgLy8gNDAgc3BhY2VzCisgICAgfQorICAgIGxpbmVzID0gbmV3IEFycmF5KGJ1ZlQuam9pbigi
IikpOworICAgIHZhciBsb25nT3V0cHV0ID0gYnVmUy5qb2luKCIiKTsKKworICAgIHZhciBzdGFy
dCA9IG5ldyBEYXRlKCk7CisgICAgdGV4dE1vZGVsLl9yZXBsYWNlVGFic0lmTmVlZGVkKGxpbmVz
KTsKKyAgICB2YXIgZmluaXNoID0gbmV3IERhdGUoKTsKKworICAgIHZhciBkdXJhdGlvbiA9IGZp
bmlzaC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCk7CisgICAgdmFyIGNvcnJlY3RSZXN1bHQg
PSAobGluZXNbMF0gPT09IGxvbmdPdXRwdXQpOworICAgIHZhciByZXN1bHQ7CisgICAgaWYgKGNv
cnJlY3RSZXN1bHQpIHsKKyAgICAgICAgaWYgKGR1cmF0aW9uIDw9IDEwMCkgeyAvLyBUeXBpY2Fs
bHkgaXQgcnVucyAxMm1zIG9uIDIgeCAyLjI2IEdIeiBRdWFkLUNvcmUgSW50ZWwgWGVvbiAKKyAg
ICAgICAgICAgIHJlc3VsdCA9ICJQQVNTIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IHJlc3VsdCA9ICJGQUlMOiB0aW1lIGxpbWl0ICgxMDBtcykgZXhjZWVkZWQgKGV4ZWN1dGlvbiB0
aW1lOiAiICsgZHVyYXRpb24gKyAibXMpIgorICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgcmVzdWx0ID0gIkZBSUw6IGluY29ycmVjdCBvdXRwdXQiOworICAgIH0KKyAgICBJbnNwZWN0
b3JUZXN0LmFkZFJlc3VsdCgiUGVyZm9ybWFjZSB0ZXN0OiAiICsgcmVzdWx0KTsKKworICAgIElu
c3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1RoaXMgdGVzdCBjaGVja3MgdGhlIHRleHQg
ZWRpdG9yIG1vZGVsIF9yZXBsYWNlVGFic0lmTmVlZGVkIG1ldGhvZC4KKzwvcD4KKworPC9ib2R5
PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="93695"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99278</attachid>
            <date>2011-06-30 05:15:17 -0700</date>
            <delta_ts>2011-06-30 08:07:42 -0700</delta_ts>
            <desc>Fix performance / memory allocation problem</desc>
            <filename>patch-40447.patch</filename>
            <type>text/plain</type>
            <size>5881</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwMDk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDYtMzAgIEV1Z2VuZSBL
bHl1Y2huaWtvdiAgPGV1c3Rhcy5idWdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcmZvcm1hbmNlIC8gbWVtb3J5IGFsbG9jYXRp
b24gaXNzdWUgaW4gV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUuX3JlcGxh
Y2VUYWJzSWZOZWVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQwNDQ3CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRv
ci1tb2RlbC1yZXBsYWNlLXRhYnMuaHRtbAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9UZXh0RWRpdG9yTW9kZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1v
ZGVsLnByb3RvdHlwZS5fcmVwbGFjZVRhYnNJZk5lZWRlZCk6IGF2b2lkIGxvb3BlZCBwcm9kdWN0
aW9uIG9mIHRhaWwgc3Vic3RyaW5ncyAKKwogMjAxMS0wNi0yNyAgUGF2ZWwgUG9kaXZpbG92ICA8
cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9y
TW9kZWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9UZXh0RWRpdG9yTW9kZWwuanMJKHJldmlzaW9uIDkwMDg4KQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanMJKHdvcmtpbmcgY29weSkKQEAg
LTE0NiwxMiArMTQ2LDI0IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBl
ID0KICAgICAgICAgdmFyIHNwYWNlcyA9IFsgIiAgICAiLCAiICAgIiwgIiAgIiwgIiAiXTsKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSkgewogICAgICAgICAg
ICAgdmFyIGxpbmUgPSBsaW5lc1tpXTsKLSAgICAgICAgICAgIHZhciBpbmRleCA9IGxpbmUuaW5k
ZXhPZigiXHQiKTsKKyAgICAgICAgICAgIHZhciBjYXJldEluZGV4ID0gMDsKKyAgICAgICAgICAg
IHZhciBpbmRleCA9IGxpbmUuaW5kZXhPZigiXHQiLCBjYXJldEluZGV4KTsKKyAgICAgICAgICAg
IHZhciBidWZmZXIgPSBbXTsKKyAgICAgICAgICAgIHZhciBvZmZzZXQgPSAwOwogICAgICAgICAg
ICAgd2hpbGUgKGluZGV4ICE9PSAtMSkgewotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN1
YnN0cmluZygwLCBpbmRleCkgKyBzcGFjZXNbaW5kZXggJSA0XSArIGxpbmUuc3Vic3RyaW5nKGlu
ZGV4ICsgMSk7Ci0gICAgICAgICAgICAgICAgaW5kZXggPSBsaW5lLmluZGV4T2YoIlx0IiwgaW5k
ZXggKyAxKTsKKyAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiBjYXJldEluZGV4KSB7CisgICAg
ICAgICAgICAgICAgICAgIG9mZnNldCArPSBpbmRleCAtIGNhcmV0SW5kZXg7CisgICAgICAgICAg
ICAgICAgICAgIGJ1ZmZlci5wdXNoKGxpbmUuc3Vic3RyaW5nKGNhcmV0SW5kZXgsIGluZGV4KSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhcmV0SW5kZXggPSBpbmRleCAr
IDE7CisgICAgICAgICAgICAgICAgdmFyIHNwYWNlID0gc3BhY2VzW29mZnNldCAlIDRdOworICAg
ICAgICAgICAgICAgIG9mZnNldCArPSBzcGFjZS5sZW5ndGg7CisgICAgICAgICAgICAgICAgYnVm
ZmVyLnB1c2goc3BhY2UpOworICAgICAgICAgICAgICAgIGluZGV4ID0gbGluZS5pbmRleE9mKCJc
dCIsIGNhcmV0SW5kZXgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgbGluZXNbaV0gPSBs
aW5lOworICAgICAgICAgICAgaWYgKGxpbmUubGVuZ3RoID4gY2FyZXRJbmRleCkKKyAgICAgICAg
ICAgICAgICBidWZmZXIucHVzaChsaW5lLnN1YnN0cmluZyhjYXJldEluZGV4KSk7CisgICAgICAg
ICAgICBsaW5lc1tpXSA9IGJ1ZmZlci5qb2luKCIiKTsKICAgICAgICAgfQogICAgIH0sCiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDkwMDk2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMzAgIEV1Z2VuZSBLbHl1Y2huaWtvdiAg
PGV1c3Rhcy5idWdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFBlcmZvcm1hbmNlIC8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWUgaW4g
V2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUuX3JlcGxhY2VUYWJzSWZOZWVk
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwNDQ3
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2Ut
dGFicy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9lZGl0b3IvdGV4
dC1lZGl0b3ItbW9kZWwtcmVwbGFjZS10YWJzLmh0bWw6IEFkZGVkLgorCiAyMDExLTA2LTMwICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERpbWl0cmkgR2xhemtvdi4KSW5kZXg6IExheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4
dC1lZGl0b3ItbW9kZWwtcmVwbGFjZS10YWJzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFi
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRp
dG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNDggQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIHRleHQgZWRpdG9yIG1v
ZGVsIF9yZXBsYWNlVGFic0lmTmVlZGVkIG1ldGhvZC4gSW4gdGVzdCBjYXNlcyB0YWJ1bGF0aW9u
cyBhcmUgZGVub3RlZCB3aXRoICJcdCIgYW5kIHNwYWNlcyBhcmUgcmVuZGVyZWQgYXMgIi4iOwor
CitUZXN0IENhc2UgIzAKK0lucHV0OiAgCitPdXRwdXQ6IAorCitUZXN0IENhc2UgIzEKK0lucHV0
OiAgXHQKK091dHB1dDogLi4uLgorCitUZXN0IENhc2UgIzIKK0lucHV0OiAgQVx0CitPdXRwdXQ6
IEEuLi4KKworVGVzdCBDYXNlICMzCitJbnB1dDogIEFCXHQKK091dHB1dDogQUIuLgorCitUZXN0
IENhc2UgIzQKK0lucHV0OiAgQUJDXHQKK091dHB1dDogQUJDLgorCitUZXN0IENhc2UgIzUKK0lu
cHV0OiAgXHRBCitPdXRwdXQ6IC4uLi5BCisKK1Rlc3QgQ2FzZSAjNgorSW5wdXQ6ICBBXHRCCitP
dXRwdXQ6IEEuLi5CCisKK1Rlc3QgQ2FzZSAjNworSW5wdXQ6ICBcdFx0QVx0CitPdXRwdXQ6IC4u
Li4uLi4uQS4uLgorCitUZXN0IENhc2UgIzgKK0lucHV0OiAgXHRBXHRcdAorT3V0cHV0OiAuLi4u
QS4uLi4uLi4KKworVGVzdCBDYXNlICM5CitJbnB1dDogIEEKK091dHB1dDogQQorCitUZXN0IENh
c2UgIzEwCitJbnB1dDogIFx0QUJDRAorT3V0cHV0OiAuLi4uQUJDRAorCitWZXJ5IExvbmcgdGVz
dDogUEFTUworCkluZGV4OiBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9y
LW1vZGVsLXJlcGxhY2UtdGFicy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2luc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItbW9kZWwtcmVwbGFjZS10YWJzLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJl
cGxhY2UtdGFicy5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ2IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10
ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZh
ciB0ZXh0TW9kZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbCgpOworICAgIHRl
eHRNb2RlbC5yZXBsYWNlVGFic1dpdGhTcGFjZXMgPSB0cnVlOworICAgIHZhciB0ZXN0Q2FzZXMg
PSBuZXcgQXJyYXkoIiIsIlx0IiwiQVx0IiwiQUJcdCIsIkFCQ1x0IiwiXHRBIiwiQVx0QiIsIlx0
XHRBXHQiLCJcdEFcdFx0IiwiQSIsIlx0QUJDRCIpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
dGVzdENhc2VzLmxlbmd0aDsgaSsrKSB7CisgICAgCXZhciBpbnB1dCA9IHRlc3RDYXNlc1tpXTsK
KyAgICAJdmFyIG91dHB1dCA9IG5ldyBBcnJheShpbnB1dCk7CisgICAgCXRleHRNb2RlbC5fcmVw
bGFjZVRhYnNJZk5lZWRlZChvdXRwdXQpOworCQlvdXRwdXQgPSBvdXRwdXRbMF07CisgICAgICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJUZXN0IENhc2UgIyIgKyBpKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIklucHV0OiAgIiArIGlucHV0LnJlcGxhY2UoL1x0L2csICJc
XHQiKS5yZXBsYWNlKC8gL2csICIuIikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3Vs
dCgiT3V0cHV0OiAiICsgb3V0cHV0LnJlcGxhY2UoL1x0L2csICJcXHQiKS5yZXBsYWNlKC8gL2cs
ICIuIikpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiIik7CisgICAgfQorCisg
ICAgdmFyIGJ1ZlQgPSBbXTsKKyAgICB2YXIgYnVmUyA9IFtdOworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7IGkrKykgeworICAgICAgICBidWZULnB1c2goIlx0XHRcdFx0XHRcdFx0XHRc
dFx0Iik7IC8vIDEwIHRhYnVsYXRpb25zCisgICAgICAgIGJ1ZlMucHVzaCgiICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIpOyAvLyA0MCBzcGFjZXMKKyAgICB9CisgICAg
bGluZXMgPSBuZXcgQXJyYXkoYnVmVC5qb2luKCIiKSk7CisgICAgdmFyIGxvbmdPdXRwdXQgPSBi
dWZTLmpvaW4oIiIpOworICAgIHRleHRNb2RlbC5fcmVwbGFjZVRhYnNJZk5lZWRlZChsaW5lcyk7
CisgICAgdmFyIGNvcnJlY3RSZXN1bHQgPSAobGluZXNbMF0gPT09IGxvbmdPdXRwdXQpOworICAg
IEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJWZXJ5IExvbmcgdGVzdDogIiArIChjb3JyZWN0UmVz
dWx0ID8gIlBBU1MiIDogIkZBSUwiKSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVz
dCgpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorPHA+CitUaGlzIHRlc3QgY2hlY2tzIHRoZSB0ZXh0IGVkaXRvciBtb2RlbCBfcmVwbGFjZVRh
YnNJZk5lZWRlZCBtZXRob2QuCitJbiB0ZXN0IGNhc2VzIHRhYnVsYXRpb25zIGFyZSBkZW5vdGVk
IHdpdGggIlx0IiBhbmQgc3BhY2VzIGFyZSByZW5kZXJlZCBhcyAiLiI7Cis8L3A+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="93721"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99303</attachid>
            <date>2011-06-30 08:05:12 -0700</date>
            <delta_ts>2011-06-30 23:50:26 -0700</delta_ts>
            <desc>WebInspector: Fix performance / memory allocation problem</desc>
            <filename>patch-40447.patch</filename>
            <type>text/plain</type>
            <size>5921</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwMDk2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDYtMzAgIEV1Z2VuZSBL
bHl1Y2huaWtvdiAgPGV1c3Rhcy5idWdAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYkluc3BlY3RvcjogUGVyZm9ybWFuY2UgLyBt
ZW1vcnkgYWxsb2NhdGlvbiBpc3N1ZSBpbiBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLnBy
b3RvdHlwZS5fcmVwbGFjZVRhYnNJZk5lZWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA0NDcKKworICAgICAgICBUZXN0OiBpbnNwZWN0b3IvZWRp
dG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy5odG1sCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yTW9kZWwucHJvdG90eXBlLl9yZXBsYWNlVGFic0lmTmVlZGVkKTogYXZvaWQg
bG9vcGVkIHByb2R1Y3Rpb24gb2YgdGFpbCBzdWJzdHJpbmdzIAorCiAyMDExLTA2LTI3ICBQYXZl
bCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RleHRFZGl0b3JNb2RlbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcwkocmV2aXNpb24gOTAwODgpCisrKyBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMTQ2LDEyICsxNDYsMjQgQEAgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JN
b2RlbC5wcm90b3R5cGUgPQogICAgICAgICB2YXIgc3BhY2VzID0gWyAiICAgICIsICIgICAiLCAi
ICAiLCAiICJdOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbmVzLmxlbmd0aDsgKytp
KSB7CiAgICAgICAgICAgICB2YXIgbGluZSA9IGxpbmVzW2ldOwotICAgICAgICAgICAgdmFyIGlu
ZGV4ID0gbGluZS5pbmRleE9mKCJcdCIpOworICAgICAgICAgICAgdmFyIGNhcmV0SW5kZXggPSAw
OworICAgICAgICAgICAgdmFyIGluZGV4ID0gbGluZS5pbmRleE9mKCJcdCIsIGNhcmV0SW5kZXgp
OworICAgICAgICAgICAgdmFyIGJ1ZmZlciA9IFtdOworICAgICAgICAgICAgdmFyIG9mZnNldCA9
IDA7CiAgICAgICAgICAgICB3aGlsZSAoaW5kZXggIT09IC0xKSB7Ci0gICAgICAgICAgICAgICAg
bGluZSA9IGxpbmUuc3Vic3RyaW5nKDAsIGluZGV4KSArIHNwYWNlc1tpbmRleCAlIDRdICsgbGlu
ZS5zdWJzdHJpbmcoaW5kZXggKyAxKTsKLSAgICAgICAgICAgICAgICBpbmRleCA9IGxpbmUuaW5k
ZXhPZigiXHQiLCBpbmRleCArIDEpOworICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGNhcmV0
SW5kZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IGluZGV4IC0gY2FyZXRJbmRl
eDsKKyAgICAgICAgICAgICAgICAgICAgYnVmZmVyLnB1c2gobGluZS5zdWJzdHJpbmcoY2FyZXRJ
bmRleCwgaW5kZXgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2FyZXRJ
bmRleCA9IGluZGV4ICsgMTsKKyAgICAgICAgICAgICAgICB2YXIgc3BhY2UgPSBzcGFjZXNbb2Zm
c2V0ICUgNF07CisgICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHNwYWNlLmxlbmd0aDsKKyAgICAg
ICAgICAgICAgICBidWZmZXIucHVzaChzcGFjZSk7CisgICAgICAgICAgICAgICAgaW5kZXggPSBs
aW5lLmluZGV4T2YoIlx0IiwgY2FyZXRJbmRleCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBsaW5lc1tpXSA9IGxpbmU7CisgICAgICAgICAgICBpZiAobGluZS5sZW5ndGggPiBjYXJldElu
ZGV4KQorICAgICAgICAgICAgICAgIGJ1ZmZlci5wdXNoKGxpbmUuc3Vic3RyaW5nKGNhcmV0SW5k
ZXgpKTsKKyAgICAgICAgICAgIGxpbmVzW2ldID0gYnVmZmVyLmpvaW4oIiIpOwogICAgICAgICB9
CiAgICAgfSwKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTAwOTYpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wNi0zMCAgRXVnZW5l
IEtseXVjaG5pa292ICA8ZXVzdGFzLmJ1Z0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViSW5zcGVjdG9yOiBQZXJmb3JtYW5jZSAv
IG1lbW9yeSBhbGxvY2F0aW9uIGlzc3VlIGluIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwu
cHJvdG90eXBlLl9yZXBsYWNlVGFic0lmTmVlZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDQ0NworCisgICAgICAgICogaW5zcGVjdG9yL2VkaXRv
ci90ZXh0LWVkaXRvci1tb2RlbC1yZXBsYWNlLXRhYnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy5o
dG1sOiBBZGRlZC4KKwogMjAxMS0wNi0zMCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBMYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVsLXJlcGxhY2UtdGFicy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90
ZXh0LWVkaXRvci1tb2RlbC1yZXBsYWNlLXRhYnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC1yZXBsYWNl
LXRhYnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ4IEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoZSB0ZXh0IGVkaXRvciBtb2RlbCBfcmVwbGFjZVRhYnNJZk5lZWRlZCBtZXRo
b2QuIEluIHRlc3QgY2FzZXMgdGFidWxhdGlvbnMgYXJlIGRlbm90ZWQgd2l0aCAiXHQiIGFuZCBz
cGFjZXMgYXJlIHJlbmRlcmVkIGFzICIuIjsKKworVGVzdCBDYXNlICMwCitJbnB1dDogIAorT3V0
cHV0OiAKKworVGVzdCBDYXNlICMxCitJbnB1dDogIFx0CitPdXRwdXQ6IC4uLi4KKworVGVzdCBD
YXNlICMyCitJbnB1dDogIEFcdAorT3V0cHV0OiBBLi4uCisKK1Rlc3QgQ2FzZSAjMworSW5wdXQ6
ICBBQlx0CitPdXRwdXQ6IEFCLi4KKworVGVzdCBDYXNlICM0CitJbnB1dDogIEFCQ1x0CitPdXRw
dXQ6IEFCQy4KKworVGVzdCBDYXNlICM1CitJbnB1dDogIFx0QQorT3V0cHV0OiAuLi4uQQorCitU
ZXN0IENhc2UgIzYKK0lucHV0OiAgQVx0QgorT3V0cHV0OiBBLi4uQgorCitUZXN0IENhc2UgIzcK
K0lucHV0OiAgXHRcdEFcdAorT3V0cHV0OiAuLi4uLi4uLkEuLi4KKworVGVzdCBDYXNlICM4CitJ
bnB1dDogIFx0QVx0XHQKK091dHB1dDogLi4uLkEuLi4uLi4uCisKK1Rlc3QgQ2FzZSAjOQorSW5w
dXQ6ICBBCitPdXRwdXQ6IEEKKworVGVzdCBDYXNlICMxMAorSW5wdXQ6ICBcdEFCQ0QKK091dHB1
dDogLi4uLkFCQ0QKKworVmVyeSBMb25nIHRlc3Q6IFBBU1MKKwpJbmRleDogTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC1yZXBsYWNlLXRhYnMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLW1vZGVs
LXJlcGxhY2UtdGFicy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VkaXRvci90ZXh0LWVkaXRvci1tb2RlbC1yZXBsYWNlLXRhYnMuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw0NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgdGV4dE1vZGVsID0gbmV3IFdlYkluc3BlY3Rv
ci5UZXh0RWRpdG9yTW9kZWwoKTsKKyAgICB0ZXh0TW9kZWwucmVwbGFjZVRhYnNXaXRoU3BhY2Vz
ID0gdHJ1ZTsKKyAgICB2YXIgdGVzdENhc2VzID0gbmV3IEFycmF5KCIiLCJcdCIsIkFcdCIsIkFC
XHQiLCJBQkNcdCIsIlx0QSIsIkFcdEIiLCJcdFx0QVx0IiwiXHRBXHRcdCIsIkEiLCJcdEFCQ0Qi
KTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3RDYXNlcy5sZW5ndGg7IGkrKykgeworICAg
ICAgICB2YXIgaW5wdXQgPSB0ZXN0Q2FzZXNbaV07CisgICAgICAgIHZhciBvdXRwdXQgPSBuZXcg
QXJyYXkoaW5wdXQpOworICAgICAgICB0ZXh0TW9kZWwuX3JlcGxhY2VUYWJzSWZOZWVkZWQob3V0
cHV0KTsKKyAgICAgICAgb3V0cHV0ID0gb3V0cHV0WzBdOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZFJlc3VsdCgiVGVzdCBDYXNlICMiICsgaSk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJJbnB1dDogICIgKyBpbnB1dC5yZXBsYWNlKC9cdC9nLCAiXFx0IikucmVwbGFjZSgv
IC9nLCAiLiIpKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk91dHB1dDogIiAr
IG91dHB1dC5yZXBsYWNlKC9cdC9nLCAiXFx0IikucmVwbGFjZSgvIC9nLCAiLiIpKTsKKyAgICAg
ICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiIpOworICAgIH0KKworICAgIHZhciBpbnB1dCA9
IFtdOworICAgIHZhciBvdXRwdXQgPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
OyBpKyspIHsKKyAgICAgICAgaW5wdXQucHVzaCgiXHRcdFx0XHRcdFx0XHRcdFx0XHQiKTsgLy8g
MTAgdGFidWxhdGlvbnMKKyAgICAgICAgb3V0cHV0LnB1c2goIiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiKTsgLy8gNDAgc3BhY2VzCisgICAgfQorICAgIGlucHV0ID0g
bmV3IEFycmF5KGlucHV0LmpvaW4oIiIpKTsKKyAgICBvdXRwdXQgPSBvdXRwdXQuam9pbigiIik7
CisgICAgdGV4dE1vZGVsLl9yZXBsYWNlVGFic0lmTmVlZGVkKGlucHV0KTsKKyAgICB2YXIgY29y
cmVjdFJlc3VsdCA9IChpbnB1dFswXSA9PT0gb3V0cHV0KTsKKyAgICBJbnNwZWN0b3JUZXN0LmFk
ZFJlc3VsdCgiVmVyeSBMb25nIHRlc3Q6ICIgKyAoY29ycmVjdFJlc3VsdCA/ICJQQVNTIiA6ICJG
QUlMIikpOworCisgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKK30KKworPC9zY3Jp
cHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGhpcyB0ZXN0
IGNoZWNrcyB0aGUgdGV4dCBlZGl0b3IgbW9kZWwgX3JlcGxhY2VUYWJzSWZOZWVkZWQgbWV0aG9k
LgorSW4gdGVzdCBjYXNlcyB0YWJ1bGF0aW9ucyBhcmUgZGVub3RlZCB3aXRoICJcdCIgYW5kIHNw
YWNlcyBhcmUgcmVuZGVyZWQgYXMgIi4iOworPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>