<?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>147961</bug_id>
          
          <creation_ts>2015-08-12 17:30:56 -0700</creation_ts>
          <short_desc>Refactor BuildbotQueueView._presentPopoverForPendingCommits to work more generically with repositories other than &quot;openSource&quot; and &quot;internal&quot;.</short_desc>
          <delta_ts>2015-08-17 12:45:23 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jason Marcell">jmarcell</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>ap</cc>
    
    <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>jmarcell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1117104</commentid>
    <comment_count>0</comment_count>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-12 17:30:56 -0700</bug_when>
    <thetext>Refactor BuildbotQueueView._presentPopoverForPendingCommits to work more generically with repositories other than &quot;openSource&quot; and &quot;internal&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117107</commentid>
    <comment_count>1</comment_count>
      <attachid>258859</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-12 17:34:26 -0700</bug_when>
    <thetext>Created attachment 258859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117392</commentid>
    <comment_count>2</comment_count>
      <attachid>258859</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-13 14:24:19 -0700</bug_when>
    <thetext>Comment on attachment 258859
Patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:172
&gt; +                if (shouldAddDivider)
&gt; +                    this._addDividerToPopover(content);
&gt;  
&gt; -        if (linesForOpenSource.length &amp;&amp; linesForInternal.length)
&gt; -            this._addDividerToPopover(content);
&gt; +                for (var i = 0; i != lines.length; ++i)
&gt; +                    content.appendChild(lines[i]);
&gt;  

This is not correct because we always add a divider regardless of whether there were popover lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117394</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-13 14:26:08 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This is not correct because we always add a divider regardless of whether
&gt; there were popover lines.

I meant to write:

This is not correct because we always add a divider regardless of whether there were popover lines when shouldAddDivider is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117404</commentid>
    <comment_count>4</comment_count>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-13 14:36:58 -0700</bug_when>
    <thetext>I see. I think we want that to say:

if (lines.length)
    shouldAddDivider = true;

Right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117435</commentid>
    <comment_count>5</comment_count>
      <attachid>258946</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-13 16:01:46 -0700</bug_when>
    <thetext>Created attachment 258946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117436</commentid>
    <comment_count>6</comment_count>
      <attachid>258946</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-13 16:02:35 -0700</bug_when>
    <thetext>Comment on attachment 258946
Patch

Now checking lines.length before adding the divider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117757</commentid>
    <comment_count>7</comment_count>
      <attachid>258946</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-14 14:15:30 -0700</bug_when>
    <thetext>Comment on attachment 258946
Patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:174
&gt; +                if (lines.length)
&gt; +                    shouldAddDivider = true;

This is not correct. Suppose there three repositories A, B, C and when processing these repositories (in this order) lines.length = 1, 0, 1, respectively. Then the output content will look like A_1, &quot;divider&quot;, &quot;divider&quot;, C_1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117760</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-14 14:17:09 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; [...]
&gt; Then the output content will look like A_1, &quot;divider&quot;, &quot;divider&quot;, C_1.

I should add that we want the output content to look like:

A_1, &quot;divider&quot;, C_1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117781</commentid>
    <comment_count>9</comment_count>
      <attachid>259046</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-14 14:47:43 -0700</bug_when>
    <thetext>Created attachment 259046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117782</commentid>
    <comment_count>10</comment_count>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-14 14:49:14 -0700</bug_when>
    <thetext>I reset the shouldAddDivider variable after adding a divider.

I also moved the lines variable assignment closer to it&apos;s usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117847</commentid>
    <comment_count>11</comment_count>
      <attachid>259046</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-08-14 18:03:36 -0700</bug_when>
    <thetext>Comment on attachment 259046
Patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:177
&gt; +        var shouldAddDivider = false;
&gt; +        var sortedRepositories = Dashboard.sortedRepositories;
&gt; +        for (var i = 0; i &lt; sortedRepositories.length; i++) {
&gt; +            var repository = sortedRepositories[i];
&gt; +            var trac = repository.trac;
&gt; +            var repositoryName = repository.name;
&gt; +            var latestProductiveRevisionNumber = latestProductiveIteration.revision[repositoryName];
&gt; +            var lines = [];
&gt; +            if (latestProductiveRevisionNumber &amp;&amp; trac.latestRecordedRevisionNumber) {
&gt; +                if (shouldAddDivider) {
&gt; +                    this._addDividerToPopover(content);
&gt; +                    shouldAddDivider = false;
&gt; +                }
&gt; +
&gt; +                lines = this._popoverLinesForCommitRange(trac, queue.branch[repositoryName], latestProductiveRevisionNumber + 1, trac.latestRecordedRevisionNumber);
&gt; +                for (var i = 0; i != lines.length; ++i)
&gt; +                    content.appendChild(lines[i]);
&gt; +
&gt; +                if (lines.length)
&gt; +                    shouldAddDivider = true;
&gt; +            }
&gt; +        }

This is not correct. Suppose there are three repositories A, B and when processing these repositories (in this order) lines.length = 1, 0, respectively. Then the output content will look like A_1, &quot;divider&quot;. But it should be A_1.

Maybe something like this will work:

var shouldAddDivider = false;
var sortedRepositories = Dashboard.sortedRepositories;
for (var i = 0; i &lt; sortedRepositories.length; ++i) {
    var repository = sortedRepositories[i];
    var trac = repository.trac;
    var repositoryName = repository.name;
    var latestProductiveRevisionNumber = latestProductiveIteration.revision[repositoryName];
    if (!latestProductiveRevisionNumber || !trac.latestRecordedRevisionNumber)
        continue;
    var lines = this._popoverLinesForCommitRange(trac, queue.branch[repositoryName], latestProductiveRevisionNumber + 1, trac.latestRecordedRevisionNumber);
    var length = lines.length;
    if (length &amp;&amp; shouldAddDivider)
        this._addDividerToPopover(content);
    for (var i = 0; i &lt; length; ++i)
        content.appendChild(lines[i]);
    shouldAddDivider = shouldAddDivider || length &gt; 0;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118143</commentid>
    <comment_count>12</comment_count>
      <attachid>259161</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-17 10:33:25 -0700</bug_when>
    <thetext>Created attachment 259161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118145</commentid>
    <comment_count>13</comment_count>
      <attachid>259161</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-17 10:35:34 -0700</bug_when>
    <thetext>Comment on attachment 259161
Patch

Thanks, Dan. I looked over your suggested change over the weekend. It looks correct and also very concise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118194</commentid>
    <comment_count>14</comment_count>
      <attachid>259161</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-17 12:45:18 -0700</bug_when>
    <thetext>Comment on attachment 259161
Patch

Clearing flags on attachment: 259161

Committed r188533: &lt;http://trac.webkit.org/changeset/188533&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118195</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-17 12:45:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258859</attachid>
            <date>2015-08-12 17:34:26 -0700</date>
            <delta_ts>2015-08-13 16:01:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147961-20150812173409.patch</filename>
            <type>text/plain</type>
            <size>3938</size>
            <attacher name="Jason Marcell">jmarcell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMmRi
ZDAwODAwNTVjYTI1YWUyYjMwZDk1NTRkMTM5MmRjZmNjNjkzLi5lYjVjMGFhMDRkOGQ1MzczZmMw
ZGM2NDNhNTRkYjhjNTIwOTZiOWE2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKKzIwMTUtMDgtMTIgIEphc29uIE1hcmNl
bGwgIDxqbWFyY2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgQnVpbGRib3RRdWV1
ZVZpZXcuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMgdG8gd29yayBtb3JlIGdlbmVy
aWNhbGx5IHdpdGgKKyAgICAgICAgcmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2Ui
IGFuZCAiaW50ZXJuYWwiLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ3OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qczoKKyAgICAgICAg
KEJ1aWxkYm90UXVldWVWaWV3LnByb3RvdHlwZS5fcHJlc2VudFBvcG92ZXJGb3JQZW5kaW5nQ29t
bWl0cyk6IFJlZmFjdG9yZWQgdG8gd29yayBtb3JlCisgICAgICAgIGdlbmVyaWNhbGx5IHdpdGgg
cmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2UiIGFuZCAiaW50ZXJuYWwiLgorCiAy
MDE1LTA4LTEyICBKYXNvbiBNYXJjZWxsICA8am1hcmNlbGxAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlZmFjdG9yIEJ1aWxkYm90UXVldWVWaWV3Ll9hcHBlbmRQZW5kaW5nUmV2aXNpb25Db3VudCB0
byB3b3JrIG1vcmUgZ2VuZXJpY2FsbHkgd2l0aCByZXBvc2l0b3JpZXMKICAgICAgICAgb3RoZXIg
dGhhbiAib3BlblNvdXJjZSIgYW5kICJpbnRlcm5hbCIuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc5MzgKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL0J1aWxkYm90UXVldWVWaWV3LmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVp
bGRib3RRdWV1ZVZpZXcuanMKaW5kZXggYzc1NDRiYTU5ODI2OTZiM2JhNDIxYjFkY2JjN2IwZTIz
YmI1NThiNC4uZTk1NTdkNmE1ZjlkMWZiMGEzYTZlZjdhYzliYzJlMzczNGQ4YTA0ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMKKysrIGIvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwv
ZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMKQEAgLTE1MywyMSArMTUzLDI2
IEBAIEJ1aWxkYm90UXVldWVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGNvbnRlbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgY29udGVudC5jbGFzc05h
bWUgPSAiY29tbWl0LWhpc3RvcnktcG9wb3ZlciI7CiAKLSAgICAgICAgdmFyIHdlYmtpdFRyYWMg
PSBEYXNoYm9hcmQuUmVwb3NpdG9yeS5PcGVuU291cmNlLnRyYWM7Ci0gICAgICAgIHZhciBpbnRl
cm5hbFRyYWMgPSBEYXNoYm9hcmQuUmVwb3NpdG9yeS5JbnRlcm5hbC50cmFjOwotICAgICAgICB2
YXIgbGluZXNGb3JPcGVuU291cmNlID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFuZ2Uo
d2Via2l0VHJhYywgcXVldWUuYnJhbmNoLm9wZW5Tb3VyY2UsIGxhdGVzdFByb2R1Y3RpdmVJdGVy
YXRpb24ucmV2aXNpb25bRGFzaGJvYXJkLlJlcG9zaXRvcnkuT3BlblNvdXJjZS5uYW1lXSArIDEs
IHdlYmtpdFRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcik7Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpICE9IGxpbmVzRm9yT3BlblNvdXJjZS5sZW5ndGg7ICsraSkKLSAgICAgICAg
ICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQobGluZXNGb3JPcGVuU291cmNlW2ldKTsKKyAgICAgICAg
dmFyIHNob3VsZEFkZERpdmlkZXIgPSBmYWxzZTsKKyAgICAgICAgdmFyIHNvcnRlZFJlcG9zaXRv
cmllcyA9IERhc2hib2FyZC5zb3J0ZWRSZXBvc2l0b3JpZXM7CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc29ydGVkUmVwb3NpdG9yaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2
YXIgcmVwb3NpdG9yeSA9IHNvcnRlZFJlcG9zaXRvcmllc1tpXTsKKyAgICAgICAgICAgIHZhciB0
cmFjID0gcmVwb3NpdG9yeS50cmFjOworICAgICAgICAgICAgdmFyIHJlcG9zaXRvcnlOYW1lID0g
cmVwb3NpdG9yeS5uYW1lOworICAgICAgICAgICAgdmFyIGxhdGVzdFByb2R1Y3RpdmVSZXZpc2lv
bk51bWJlciA9IGxhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bcmVwb3NpdG9yeU5h
bWVdOworICAgICAgICAgICAgdmFyIGxpbmVzID0gW107CisgICAgICAgICAgICBpZiAobGF0ZXN0
UHJvZHVjdGl2ZVJldmlzaW9uTnVtYmVyICYmIHRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51
bWJlcikgeworICAgICAgICAgICAgICAgIGxpbmVzID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29t
bWl0UmFuZ2UodHJhYywgcXVldWUuYnJhbmNoW3JlcG9zaXRvcnlOYW1lXSwgbGF0ZXN0UHJvZHVj
dGl2ZVJldmlzaW9uTnVtYmVyICsgMSwgdHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVy
KTsKIAotICAgICAgICB2YXIgbGluZXNGb3JJbnRlcm5hbCA9IFtdOwotICAgICAgICBpZiAobGF0
ZXN0UHJvZHVjdGl2ZUl0ZXJhdGlvbi5yZXZpc2lvbltEYXNoYm9hcmQuUmVwb3NpdG9yeS5JbnRl
cm5hbC5uYW1lXSAmJiBpbnRlcm5hbFRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcikK
LSAgICAgICAgICAgIHZhciBsaW5lc0ZvckludGVybmFsID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9y
Q29tbWl0UmFuZ2UoaW50ZXJuYWxUcmFjLCBxdWV1ZS5icmFuY2guaW50ZXJuYWwsIGxhdGVzdFBy
b2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bRGFzaGJvYXJkLlJlcG9zaXRvcnkuSW50ZXJuYWwu
bmFtZV0gKyAxLCBpbnRlcm5hbFRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcik7Cisg
ICAgICAgICAgICAgICAgaWYgKHNob3VsZEFkZERpdmlkZXIpCisgICAgICAgICAgICAgICAgICAg
IHRoaXMuX2FkZERpdmlkZXJUb1BvcG92ZXIoY29udGVudCk7CiAKLSAgICAgICAgaWYgKGxpbmVz
Rm9yT3BlblNvdXJjZS5sZW5ndGggJiYgbGluZXNGb3JJbnRlcm5hbC5sZW5ndGgpCi0gICAgICAg
ICAgICB0aGlzLl9hZGREaXZpZGVyVG9Qb3BvdmVyKGNvbnRlbnQpOworICAgICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpICE9IGxpbmVzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAg
ICAgICBjb250ZW50LmFwcGVuZENoaWxkKGxpbmVzW2ldKTsKIAotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSAhPSBsaW5lc0ZvckludGVybmFsLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgY29u
dGVudC5hcHBlbmRDaGlsZChsaW5lc0ZvckludGVybmFsW2ldKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRBZGREaXZpZGVyID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAg
ICAgIHZhciByZWN0ID0gRGFzaGJvYXJkLlJlY3QucmVjdEZyb21DbGllbnRSZWN0KGVsZW1lbnQu
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpOwogICAgICAgICBwb3BvdmVyLmNvbnRlbnQgPSBjb250
ZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258946</attachid>
            <date>2015-08-13 16:01:46 -0700</date>
            <delta_ts>2015-08-14 14:47:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147961-20150813160128.patch</filename>
            <type>text/plain</type>
            <size>3977</size>
            <attacher name="Jason Marcell">jmarcell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMmRi
ZDAwODAwNTVjYTI1YWUyYjMwZDk1NTRkMTM5MmRjZmNjNjkzLi5lYjVjMGFhMDRkOGQ1MzczZmMw
ZGM2NDNhNTRkYjhjNTIwOTZiOWE2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcgQEAKKzIwMTUtMDgtMTIgIEphc29uIE1hcmNl
bGwgIDxqbWFyY2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgQnVpbGRib3RRdWV1
ZVZpZXcuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMgdG8gd29yayBtb3JlIGdlbmVy
aWNhbGx5IHdpdGgKKyAgICAgICAgcmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2Ui
IGFuZCAiaW50ZXJuYWwiLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ3OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qczoKKyAgICAgICAg
KEJ1aWxkYm90UXVldWVWaWV3LnByb3RvdHlwZS5fcHJlc2VudFBvcG92ZXJGb3JQZW5kaW5nQ29t
bWl0cyk6IFJlZmFjdG9yZWQgdG8gd29yayBtb3JlCisgICAgICAgIGdlbmVyaWNhbGx5IHdpdGgg
cmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2UiIGFuZCAiaW50ZXJuYWwiLgorCiAy
MDE1LTA4LTEyICBKYXNvbiBNYXJjZWxsICA8am1hcmNlbGxAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlZmFjdG9yIEJ1aWxkYm90UXVldWVWaWV3Ll9hcHBlbmRQZW5kaW5nUmV2aXNpb25Db3VudCB0
byB3b3JrIG1vcmUgZ2VuZXJpY2FsbHkgd2l0aCByZXBvc2l0b3JpZXMKICAgICAgICAgb3RoZXIg
dGhhbiAib3BlblNvdXJjZSIgYW5kICJpbnRlcm5hbCIuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc5MzgKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxk
U2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2Fy
ZC9TY3JpcHRzL0J1aWxkYm90UXVldWVWaWV3LmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVp
bGRib3RRdWV1ZVZpZXcuanMKaW5kZXggYzc1NDRiYTU5ODI2OTZiM2JhNDIxYjFkY2JjN2IwZTIz
YmI1NThiNC4uZjBjZWZhY2QzNzM0Zjc3MDdmOWRhOTIzOGE0MmExOTkyZjU5NWU4NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMKKysrIGIvVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwv
ZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMKQEAgLTE1MywyMSArMTUzLDI3
IEBAIEJ1aWxkYm90UXVldWVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGNvbnRlbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgY29udGVudC5jbGFzc05h
bWUgPSAiY29tbWl0LWhpc3RvcnktcG9wb3ZlciI7CiAKLSAgICAgICAgdmFyIHdlYmtpdFRyYWMg
PSBEYXNoYm9hcmQuUmVwb3NpdG9yeS5PcGVuU291cmNlLnRyYWM7Ci0gICAgICAgIHZhciBpbnRl
cm5hbFRyYWMgPSBEYXNoYm9hcmQuUmVwb3NpdG9yeS5JbnRlcm5hbC50cmFjOwotICAgICAgICB2
YXIgbGluZXNGb3JPcGVuU291cmNlID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFuZ2Uo
d2Via2l0VHJhYywgcXVldWUuYnJhbmNoLm9wZW5Tb3VyY2UsIGxhdGVzdFByb2R1Y3RpdmVJdGVy
YXRpb24ucmV2aXNpb25bRGFzaGJvYXJkLlJlcG9zaXRvcnkuT3BlblNvdXJjZS5uYW1lXSArIDEs
IHdlYmtpdFRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcik7Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpICE9IGxpbmVzRm9yT3BlblNvdXJjZS5sZW5ndGg7ICsraSkKLSAgICAgICAg
ICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQobGluZXNGb3JPcGVuU291cmNlW2ldKTsKKyAgICAgICAg
dmFyIHNob3VsZEFkZERpdmlkZXIgPSBmYWxzZTsKKyAgICAgICAgdmFyIHNvcnRlZFJlcG9zaXRv
cmllcyA9IERhc2hib2FyZC5zb3J0ZWRSZXBvc2l0b3JpZXM7CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgc29ydGVkUmVwb3NpdG9yaWVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2
YXIgcmVwb3NpdG9yeSA9IHNvcnRlZFJlcG9zaXRvcmllc1tpXTsKKyAgICAgICAgICAgIHZhciB0
cmFjID0gcmVwb3NpdG9yeS50cmFjOworICAgICAgICAgICAgdmFyIHJlcG9zaXRvcnlOYW1lID0g
cmVwb3NpdG9yeS5uYW1lOworICAgICAgICAgICAgdmFyIGxhdGVzdFByb2R1Y3RpdmVSZXZpc2lv
bk51bWJlciA9IGxhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bcmVwb3NpdG9yeU5h
bWVdOworICAgICAgICAgICAgdmFyIGxpbmVzID0gW107CisgICAgICAgICAgICBpZiAobGF0ZXN0
UHJvZHVjdGl2ZVJldmlzaW9uTnVtYmVyICYmIHRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51
bWJlcikgeworICAgICAgICAgICAgICAgIGxpbmVzID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29t
bWl0UmFuZ2UodHJhYywgcXVldWUuYnJhbmNoW3JlcG9zaXRvcnlOYW1lXSwgbGF0ZXN0UHJvZHVj
dGl2ZVJldmlzaW9uTnVtYmVyICsgMSwgdHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVy
KTsKIAotICAgICAgICB2YXIgbGluZXNGb3JJbnRlcm5hbCA9IFtdOwotICAgICAgICBpZiAobGF0
ZXN0UHJvZHVjdGl2ZUl0ZXJhdGlvbi5yZXZpc2lvbltEYXNoYm9hcmQuUmVwb3NpdG9yeS5JbnRl
cm5hbC5uYW1lXSAmJiBpbnRlcm5hbFRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcikK
LSAgICAgICAgICAgIHZhciBsaW5lc0ZvckludGVybmFsID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9y
Q29tbWl0UmFuZ2UoaW50ZXJuYWxUcmFjLCBxdWV1ZS5icmFuY2guaW50ZXJuYWwsIGxhdGVzdFBy
b2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bRGFzaGJvYXJkLlJlcG9zaXRvcnkuSW50ZXJuYWwu
bmFtZV0gKyAxLCBpbnRlcm5hbFRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcik7Cisg
ICAgICAgICAgICAgICAgaWYgKHNob3VsZEFkZERpdmlkZXIpCisgICAgICAgICAgICAgICAgICAg
IHRoaXMuX2FkZERpdmlkZXJUb1BvcG92ZXIoY29udGVudCk7CiAKLSAgICAgICAgaWYgKGxpbmVz
Rm9yT3BlblNvdXJjZS5sZW5ndGggJiYgbGluZXNGb3JJbnRlcm5hbC5sZW5ndGgpCi0gICAgICAg
ICAgICB0aGlzLl9hZGREaXZpZGVyVG9Qb3BvdmVyKGNvbnRlbnQpOworICAgICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpICE9IGxpbmVzLmxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAg
ICAgICBjb250ZW50LmFwcGVuZENoaWxkKGxpbmVzW2ldKTsKIAotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSAhPSBsaW5lc0ZvckludGVybmFsLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgY29u
dGVudC5hcHBlbmRDaGlsZChsaW5lc0ZvckludGVybmFsW2ldKTsKKyAgICAgICAgICAgICAgICBp
ZiAobGluZXMubGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICBzaG91bGRBZGREaXZpZGVyID0g
dHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgICAgIHZhciByZWN0ID0gRGFz
aGJvYXJkLlJlY3QucmVjdEZyb21DbGllbnRSZWN0KGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRS
ZWN0KCkpOwogICAgICAgICBwb3BvdmVyLmNvbnRlbnQgPSBjb250ZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259046</attachid>
            <date>2015-08-14 14:47:43 -0700</date>
            <delta_ts>2015-08-17 10:33:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147961-20150814144724.patch</filename>
            <type>text/plain</type>
            <size>3914</size>
            <attacher name="Jason Marcell">jmarcell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMzEy
ZWY3MGM0MzRhODk2NTI5NWRiNjE3NWE1ZWE3Yzg3ZDliODE3Li4zMTUwZTRhMWYzYjlmZWM5MGE4
ZjBjY2Q2NmU3ZjI1MThkZjA3ZjA3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDgtMTQgIEphc29uIE1hcmNl
bGwgIDxqbWFyY2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgQnVpbGRib3RRdWV1
ZVZpZXcuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMgdG8gd29yayBtb3JlIGdlbmVy
aWNhbGx5IHdpdGgKKyAgICAgICAgcmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2Ui
IGFuZCAiaW50ZXJuYWwiLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ3OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qczoKKyAgICAgICAg
KEJ1aWxkYm90UXVldWVWaWV3LnByb3RvdHlwZS5fcHJlc2VudFBvcG92ZXJGb3JQZW5kaW5nQ29t
bWl0cyk6IFJlZmFjdG9yZWQgdG8gd29yayBtb3JlCisgICAgICAgIGdlbmVyaWNhbGx5IHdpdGgg
cmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2UiIGFuZCAiaW50ZXJuYWwiLgorCiAy
MDE1LTA4LTEzICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29j
b2FdIERvd25sb2FkcyBkbyBub3Qgc3RhcnQgaWYgcG9saWN5IGRlY2lzaW9uIGlzIG1hZGUgYXN5
bmNocm9ub3VzbHkKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxkYm90UXVl
dWVWaWV3LmpzIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMKaW5k
ZXggYzc1NDRiYTU5ODI2OTZiM2JhNDIxYjFkY2JjN2IwZTIzYmI1NThiNC4uZjEyZWUyYWQ1YTc4
YTdlNzBkOGVkMjQzYzQ0ZDMxODhjN2VlZDFiNSAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1Nj
cmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQv
YnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVp
bGRib3RRdWV1ZVZpZXcuanMKQEAgLTE1MywyMSArMTUzLDI4IEBAIEJ1aWxkYm90UXVldWVWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKICAgICAgICAgY29udGVudC5jbGFzc05hbWUgPSAiY29tbWl0LWhpc3Rvcnkt
cG9wb3ZlciI7CiAKLSAgICAgICAgdmFyIHdlYmtpdFRyYWMgPSBEYXNoYm9hcmQuUmVwb3NpdG9y
eS5PcGVuU291cmNlLnRyYWM7Ci0gICAgICAgIHZhciBpbnRlcm5hbFRyYWMgPSBEYXNoYm9hcmQu
UmVwb3NpdG9yeS5JbnRlcm5hbC50cmFjOwotICAgICAgICB2YXIgbGluZXNGb3JPcGVuU291cmNl
ID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFuZ2Uod2Via2l0VHJhYywgcXVldWUuYnJh
bmNoLm9wZW5Tb3VyY2UsIGxhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bRGFzaGJv
YXJkLlJlcG9zaXRvcnkuT3BlblNvdXJjZS5uYW1lXSArIDEsIHdlYmtpdFRyYWMubGF0ZXN0UmVj
b3JkZWRSZXZpc2lvbk51bWJlcik7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpICE9IGxpbmVz
Rm9yT3BlblNvdXJjZS5sZW5ndGg7ICsraSkKLSAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hp
bGQobGluZXNGb3JPcGVuU291cmNlW2ldKTsKLQotICAgICAgICB2YXIgbGluZXNGb3JJbnRlcm5h
bCA9IFtdOwotICAgICAgICBpZiAobGF0ZXN0UHJvZHVjdGl2ZUl0ZXJhdGlvbi5yZXZpc2lvbltE
YXNoYm9hcmQuUmVwb3NpdG9yeS5JbnRlcm5hbC5uYW1lXSAmJiBpbnRlcm5hbFRyYWMubGF0ZXN0
UmVjb3JkZWRSZXZpc2lvbk51bWJlcikKLSAgICAgICAgICAgIHZhciBsaW5lc0ZvckludGVybmFs
ID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFuZ2UoaW50ZXJuYWxUcmFjLCBxdWV1ZS5i
cmFuY2guaW50ZXJuYWwsIGxhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bRGFzaGJv
YXJkLlJlcG9zaXRvcnkuSW50ZXJuYWwubmFtZV0gKyAxLCBpbnRlcm5hbFRyYWMubGF0ZXN0UmVj
b3JkZWRSZXZpc2lvbk51bWJlcik7Ci0KLSAgICAgICAgaWYgKGxpbmVzRm9yT3BlblNvdXJjZS5s
ZW5ndGggJiYgbGluZXNGb3JJbnRlcm5hbC5sZW5ndGgpCi0gICAgICAgICAgICB0aGlzLl9hZGRE
aXZpZGVyVG9Qb3BvdmVyKGNvbnRlbnQpOwotCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpICE9
IGxpbmVzRm9ySW50ZXJuYWwubGVuZ3RoOyArK2kpCi0gICAgICAgICAgICBjb250ZW50LmFwcGVu
ZENoaWxkKGxpbmVzRm9ySW50ZXJuYWxbaV0pOworICAgICAgICB2YXIgc2hvdWxkQWRkRGl2aWRl
ciA9IGZhbHNlOworICAgICAgICB2YXIgc29ydGVkUmVwb3NpdG9yaWVzID0gRGFzaGJvYXJkLnNv
cnRlZFJlcG9zaXRvcmllczsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzb3J0ZWRSZXBv
c2l0b3JpZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciByZXBvc2l0b3J5ID0gc29y
dGVkUmVwb3NpdG9yaWVzW2ldOworICAgICAgICAgICAgdmFyIHRyYWMgPSByZXBvc2l0b3J5LnRy
YWM7CisgICAgICAgICAgICB2YXIgcmVwb3NpdG9yeU5hbWUgPSByZXBvc2l0b3J5Lm5hbWU7Cisg
ICAgICAgICAgICB2YXIgbGF0ZXN0UHJvZHVjdGl2ZVJldmlzaW9uTnVtYmVyID0gbGF0ZXN0UHJv
ZHVjdGl2ZUl0ZXJhdGlvbi5yZXZpc2lvbltyZXBvc2l0b3J5TmFtZV07CisgICAgICAgICAgICB2
YXIgbGluZXMgPSBbXTsKKyAgICAgICAgICAgIGlmIChsYXRlc3RQcm9kdWN0aXZlUmV2aXNpb25O
dW1iZXIgJiYgdHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVyKSB7CisgICAgICAgICAg
ICAgICAgaWYgKHNob3VsZEFkZERpdmlkZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5f
YWRkRGl2aWRlclRvUG9wb3Zlcihjb250ZW50KTsKKyAgICAgICAgICAgICAgICAgICAgc2hvdWxk
QWRkRGl2aWRlciA9IGZhbHNlOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
IGxpbmVzID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFuZ2UodHJhYywgcXVldWUuYnJh
bmNoW3JlcG9zaXRvcnlOYW1lXSwgbGF0ZXN0UHJvZHVjdGl2ZVJldmlzaW9uTnVtYmVyICsgMSwg
dHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVyKTsKKyAgICAgICAgICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSAhPSBsaW5lcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICAgICAg
Y29udGVudC5hcHBlbmRDaGlsZChsaW5lc1tpXSk7CisKKyAgICAgICAgICAgICAgICBpZiAobGlu
ZXMubGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICBzaG91bGRBZGREaXZpZGVyID0gdHJ1ZTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgICAgIHZhciByZWN0ID0gRGFzaGJvYXJk
LlJlY3QucmVjdEZyb21DbGllbnRSZWN0KGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkp
OwogICAgICAgICBwb3BvdmVyLmNvbnRlbnQgPSBjb250ZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259161</attachid>
            <date>2015-08-17 10:33:25 -0700</date>
            <delta_ts>2015-08-17 12:45:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147961-20150817103324.patch</filename>
            <type>text/plain</type>
            <size>3816</size>
            <attacher name="Jason Marcell">jmarcell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhOTE3
ZjNmZWNmZjFjNDU4YjZmMmE2ZWQwMGViM2NmMzM2MjIzZDg2Li40MWE3MjRkYWY0MjgxZDJkYWNj
MjFmNzBhY2RlZTA2M2I3NTgzY2NjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDgtMTcgIEphc29uIE1hcmNl
bGwgIDxqbWFyY2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgQnVpbGRib3RRdWV1
ZVZpZXcuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMgdG8gd29yayBtb3JlIGdlbmVy
aWNhbGx5IHdpdGgKKyAgICAgICAgcmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2Ui
IGFuZCAiaW50ZXJuYWwiLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ3OTYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qczoKKyAgICAgICAg
KEJ1aWxkYm90UXVldWVWaWV3LnByb3RvdHlwZS5fcHJlc2VudFBvcG92ZXJGb3JQZW5kaW5nQ29t
bWl0cyk6IFJlZmFjdG9yZWQgdG8gd29yayBtb3JlCisgICAgICAgIGdlbmVyaWNhbGx5IHdpdGgg
cmVwb3NpdG9yaWVzIG90aGVyIHRoYW4gIm9wZW5Tb3VyY2UiIGFuZCAiaW50ZXJuYWwiLgorCiAy
MDE1LTA4LTExICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29j
b2FdIEFkZCByZWRpcmVjdCBzdXBwb3J0IHRvIEN1c3RvbVByb3RvY29sTWFuYWdlcgpkaWZmIC0t
Z2l0IGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVi
bGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMgYi9Ub29scy9C
dWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNo
Ym9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qcwppbmRleCBjNzU0NGJhNTk4MjY5NmIz
YmE0MjFiMWRjYmM3YjBlMjNiYjU1OGI0Li4wN2NkMmZhYTEzNjg5NTdkNDAwMmI4NzdkNmI1MWY3
NmEyMmVkNzQ5IDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJr
aXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVl
Vmlldy5qcworKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNv
bmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qcwpA
QCAtMTUzLDIxICsxNTMsMjMgQEAgQnVpbGRib3RRdWV1ZVZpZXcucHJvdG90eXBlID0gewogICAg
ICAgICB2YXIgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAg
ICBjb250ZW50LmNsYXNzTmFtZSA9ICJjb21taXQtaGlzdG9yeS1wb3BvdmVyIjsKIAotICAgICAg
ICB2YXIgd2Via2l0VHJhYyA9IERhc2hib2FyZC5SZXBvc2l0b3J5Lk9wZW5Tb3VyY2UudHJhYzsK
LSAgICAgICAgdmFyIGludGVybmFsVHJhYyA9IERhc2hib2FyZC5SZXBvc2l0b3J5LkludGVybmFs
LnRyYWM7Ci0gICAgICAgIHZhciBsaW5lc0Zvck9wZW5Tb3VyY2UgPSB0aGlzLl9wb3BvdmVyTGlu
ZXNGb3JDb21taXRSYW5nZSh3ZWJraXRUcmFjLCBxdWV1ZS5icmFuY2gub3BlblNvdXJjZSwgbGF0
ZXN0UHJvZHVjdGl2ZUl0ZXJhdGlvbi5yZXZpc2lvbltEYXNoYm9hcmQuUmVwb3NpdG9yeS5PcGVu
U291cmNlLm5hbWVdICsgMSwgd2Via2l0VHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVy
KTsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgIT0gbGluZXNGb3JPcGVuU291cmNlLmxlbmd0
aDsgKytpKQotICAgICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChsaW5lc0Zvck9wZW5Tb3Vy
Y2VbaV0pOwotCi0gICAgICAgIHZhciBsaW5lc0ZvckludGVybmFsID0gW107Ci0gICAgICAgIGlm
IChsYXRlc3RQcm9kdWN0aXZlSXRlcmF0aW9uLnJldmlzaW9uW0Rhc2hib2FyZC5SZXBvc2l0b3J5
LkludGVybmFsLm5hbWVdICYmIGludGVybmFsVHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVt
YmVyKQotICAgICAgICAgICAgdmFyIGxpbmVzRm9ySW50ZXJuYWwgPSB0aGlzLl9wb3BvdmVyTGlu
ZXNGb3JDb21taXRSYW5nZShpbnRlcm5hbFRyYWMsIHF1ZXVlLmJyYW5jaC5pbnRlcm5hbCwgbGF0
ZXN0UHJvZHVjdGl2ZUl0ZXJhdGlvbi5yZXZpc2lvbltEYXNoYm9hcmQuUmVwb3NpdG9yeS5JbnRl
cm5hbC5uYW1lXSArIDEsIGludGVybmFsVHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVy
KTsKLQotICAgICAgICBpZiAobGluZXNGb3JPcGVuU291cmNlLmxlbmd0aCAmJiBsaW5lc0Zvcklu
dGVybmFsLmxlbmd0aCkKLSAgICAgICAgICAgIHRoaXMuX2FkZERpdmlkZXJUb1BvcG92ZXIoY29u
dGVudCk7Ci0KLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgIT0gbGluZXNGb3JJbnRlcm5hbC5s
ZW5ndGg7ICsraSkKLSAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQobGluZXNGb3JJbnRl
cm5hbFtpXSk7CisgICAgICAgIHZhciBzaG91bGRBZGREaXZpZGVyID0gZmFsc2U7CisgICAgICAg
IHZhciBzb3J0ZWRSZXBvc2l0b3JpZXMgPSBEYXNoYm9hcmQuc29ydGVkUmVwb3NpdG9yaWVzOwor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNvcnRlZFJlcG9zaXRvcmllcy5sZW5ndGg7ICsr
aSkgeworICAgICAgICAgICAgdmFyIHJlcG9zaXRvcnkgPSBzb3J0ZWRSZXBvc2l0b3JpZXNbaV07
CisgICAgICAgICAgICB2YXIgdHJhYyA9IHJlcG9zaXRvcnkudHJhYzsKKyAgICAgICAgICAgIHZh
ciByZXBvc2l0b3J5TmFtZSA9IHJlcG9zaXRvcnkubmFtZTsKKyAgICAgICAgICAgIHZhciBsYXRl
c3RQcm9kdWN0aXZlUmV2aXNpb25OdW1iZXIgPSBsYXRlc3RQcm9kdWN0aXZlSXRlcmF0aW9uLnJl
dmlzaW9uW3JlcG9zaXRvcnlOYW1lXTsKKyAgICAgICAgICAgIGlmICghbGF0ZXN0UHJvZHVjdGl2
ZVJldmlzaW9uTnVtYmVyIHx8ICF0cmFjLmxhdGVzdFJlY29yZGVkUmV2aXNpb25OdW1iZXIpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB2YXIgbGluZXMgPSB0aGlzLl9w
b3BvdmVyTGluZXNGb3JDb21taXRSYW5nZSh0cmFjLCBxdWV1ZS5icmFuY2hbcmVwb3NpdG9yeU5h
bWVdLCBsYXRlc3RQcm9kdWN0aXZlUmV2aXNpb25OdW1iZXIgKyAxLCB0cmFjLmxhdGVzdFJlY29y
ZGVkUmV2aXNpb25OdW1iZXIpOworICAgICAgICAgICAgdmFyIGxlbmd0aCA9IGxpbmVzLmxlbmd0
aDsKKyAgICAgICAgICAgIGlmIChsZW5ndGggJiYgc2hvdWxkQWRkRGl2aWRlcikKKyAgICAgICAg
ICAgICAgICB0aGlzLl9hZGREaXZpZGVyVG9Qb3BvdmVyKGNvbnRlbnQpOworICAgICAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICBjb250ZW50
LmFwcGVuZENoaWxkKGxpbmVzW2ldKTsKKyAgICAgICAgICAgIHNob3VsZEFkZERpdmlkZXIgPSBz
aG91bGRBZGREaXZpZGVyIHx8IGxlbmd0aCA+IDA7CisgICAgICAgIH0KIAogICAgICAgICB2YXIg
cmVjdCA9IERhc2hib2FyZC5SZWN0LnJlY3RGcm9tQ2xpZW50UmVjdChlbGVtZW50LmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpKTsKICAgICAgICAgcG9wb3Zlci5jb250ZW50ID0gY29udGVudDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>