<?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>33803</bug_id>
          
          <creation_ts>2010-01-18 09:29:51 -0800</creation_ts>
          <short_desc>Web Inspector: PanelEnablerView._windowResized is slow, called even when the view is hidden</short_desc>
          <delta_ts>2010-01-20 05:58:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181899</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-18 09:29:51 -0800</bug_when>
    <thetext>PanelEnablerView._windowResized is invoked on EVERY inspector window resize. It makes the resizing slow - the method sometimes takes as much as 20% of the time profile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181900</commentid>
    <comment_count>1</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-01-18 09:34:06 -0800</bug_when>
    <thetext>Nice find. We can make the owner Panel update the size when Panel.resize is called.

Some panels implement resize already, and that shares a global listener and only goes to the active panel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181924</commentid>
    <comment_count>2</comment_count>
      <attachid>46833</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-18 10:40:17 -0800</bug_when>
    <thetext>Created attachment 46833
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181928</commentid>
    <comment_count>3</comment_count>
      <attachid>46833</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-18 10:53:53 -0800</bug_when>
    <thetext>Comment on attachment 46833
patch

EnablerView and WelcomeView are not actual panel views (visibleView)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181929</commentid>
    <comment_count>4</comment_count>
      <attachid>46833</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-01-18 10:57:27 -0800</bug_when>
    <thetext>Comment on attachment 46833
patch


&gt;      resize: function()
&gt;      {
&gt;          this.updateGraphDividersIfNeeded();
&gt; +        WebInspector.Panel.prototype.resize.call(this);
&gt;      },

We should call the prototype first if there isn&apos;t a good reason to call it last. And I like to seperate them by a blank line to distinguish it.


&gt;          this.updateSidebarWidth();
&gt; +
&gt; +        if (this._delayedResize) {
&gt; +            this._delayedResize = false;
&gt; +            this.resize();
&gt; +        }

There isn&apos;t a need for the _delayedResize code, since resize is only called on the currentPanel. And updateSidebarWidth does a resize.

&gt;          this.updateMainViewWidth(width);
&gt;
&gt; -        var visibleView = this.visibleView;
&gt; -        if (visibleView &amp;&amp; &quot;resize&quot; in visibleView)
&gt; -            visibleView.resize();
&gt; +        WebInspector.Panel.prototype.resize.call(this);

I think we should add the visibleView resize code to updateMainViewWidth, and just make Panel.prototype.resize call updateMainViewWidth.

Then this code wouldn&apos;t be needed, since updateMainViewWidth is called right before it.

We want subclasses of updateMainViewWidth to call the Panel prototype then.


&gt; +    resize: function()
&gt; +    {
&gt; +        if (!this.visible) {
&gt; +            this._delayedResize = true;
&gt; +            return;
&gt; +        }

I don&apos;t think the delayed resize code is needed.


Is the Welcome view and Enabler view the visibleView? Where is that handled? I don&apos;t think it is. The visibleView is only used by the data views.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182226</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-19 07:18:59 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 46833 [details])
&gt; 
&gt; &gt;      resize: function()
&gt; &gt;      {
&gt; &gt;          this.updateGraphDividersIfNeeded();
&gt; &gt; +        WebInspector.Panel.prototype.resize.call(this);
&gt; &gt;      },
&gt; 
&gt; We should call the prototype first if there isn&apos;t a good reason to call it
&gt; last. And I like to seperate them by a blank line to distinguish it.

Looks fine here, although if we want to handle the resize event in the general case, it should be done AFTER all &quot;left&quot; and &quot;width&quot; properties have been set (which is usually done in subclasses), otherwise there is no &quot;resize&quot; when the splitter is dragged.

I believe a better alternative would be for the Panel ancestors to invoke resize() manually from updateMainViewWidth() if need be (i.e. if the view is using absolute positioning).

&gt; 
&gt; &gt;          this.updateSidebarWidth();
&gt; &gt; +
&gt; &gt; +        if (this._delayedResize) {
&gt; &gt; +            this._delayedResize = false;
&gt; &gt; +            this.resize();
&gt; &gt; +        }
&gt; 
&gt; There isn&apos;t a need for the _delayedResize code, since resize is only called on
&gt; the currentPanel. And updateSidebarWidth does a resize.

Done.

&gt; &gt;          this.updateMainViewWidth(width);
&gt; &gt;
&gt; &gt; -        var visibleView = this.visibleView;
&gt; &gt; -        if (visibleView &amp;&amp; &quot;resize&quot; in visibleView)
&gt; &gt; -            visibleView.resize();
&gt; &gt; +        WebInspector.Panel.prototype.resize.call(this);
&gt; 
&gt; I think we should add the visibleView resize code to updateMainViewWidth, and
&gt; just make Panel.prototype.resize call updateMainViewWidth.

What should be the &quot;width&quot; argument to updateMainViewWidth in this case? this._currentSidebarWidth?
Also, it becomes sooooo slooow... Consider DataGrid.updateWidths() which sets all column widths in percent, yet it needs to reiterate that on every sidebar resize which, due to the slowness, makes the resizing process extremely abrupt  -&gt; poor usability.

&gt; Then this code wouldn&apos;t be needed, since updateMainViewWidth is called right
&gt; before it.

Done.

&gt; We want subclasses of updateMainViewWidth to call the Panel prototype then.

Done.

&gt; &gt; +    resize: function()
&gt; &gt; +    {
&gt; &gt; +        if (!this.visible) {
&gt; &gt; +            this._delayedResize = true;
&gt; &gt; +            return;
&gt; &gt; +        }
&gt; 
&gt; I don&apos;t think the delayed resize code is needed.
 
Done.

&gt; Is the Welcome view and Enabler view the visibleView? Where is that handled? I
&gt; don&apos;t think it is. The visibleView is only used by the data views.

Yes, I cancelled the review due to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182227</commentid>
    <comment_count>6</comment_count>
      <attachid>46906</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-19 07:20:16 -0800</bug_when>
    <thetext>Created attachment 46906
patch (comments followed)

Includes a drive-by fix to remove an unused setting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182263</commentid>
    <comment_count>7</comment_count>
      <attachid>46906</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2010-01-19 08:48:46 -0800</bug_when>
    <thetext>Comment on attachment 46906
patch (comments followed)

Not resizing things like column widths when the window resizes sounds like a bug.

I still think all panels should have all their resize logic in updateMainViewWidth, and none would impement a version of resize. Only Panel would have resize that calls updateMainViewWidth.

THe width passed to updateMainViewWidth in that case can be the current offsetWidth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182291</commentid>
    <comment_count>8</comment_count>
      <attachid>46920</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-01-19 09:59:28 -0800</bug_when>
    <thetext>Created attachment 46920
patch (DataGrid column resizing fixed)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182758</commentid>
    <comment_count>9</comment_count>
      <attachid>46920</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-20 05:58:28 -0800</bug_when>
    <thetext>Comment on attachment 46920
patch (DataGrid column resizing fixed)

Clearing flags on attachment: 46920

Committed r53545: &lt;http://trac.webkit.org/changeset/53545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182759</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-01-20 05:58:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46833</attachid>
            <date>2010-01-18 10:40:17 -0800</date>
            <delta_ts>2010-01-19 07:20:16 -0800</delta_ts>
            <desc>patch</desc>
            <filename>panelenablerview.patch</filename>
            <type>text/plain</type>
            <size>7011</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmMxMGNlMC4uOTZhMWEyMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wMS0xOCAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE9wdGltaXplIHdpbmRvdyByZXNpemUgZXZlbnQgaGFuZGxp
bmcgZm9yIGhpZGRlbiB2aWV3cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzM4MDMKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQWJzdHJh
Y3RUaW1lbGluZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxp
bmVQYW5lbC5wcm90b3R5cGUucmVzaXplKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L0F1ZGl0c1BhbmVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlLnNob3cpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS51cGRhdGVTaWRlYmFyV2lkdGgpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5yZXNpemUpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvUGFuZWxFbmFibGVyVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5QYW5lbEVuYWJsZXJWaWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbEVuYWJsZXJW
aWV3LnByb3RvdHlwZS5yZXNpemUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUHJv
ZmlsZXNQYW5lbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1Bh
bmVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3RvcmFnZVBhbmVsLmpzOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLndpbmRvd1Jlc2l6ZSk6CisKIDIwMTAtMDEtMTggIE1pa2hhaWwgTmFnYW5vdiAg
PG1uYWdhbm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhh
dGNoZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWJzdHJhY3RU
aW1lbGluZVBhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fic3RyYWN0VGlt
ZWxpbmVQYW5lbC5qcwppbmRleCAwNWFmOWMyLi4yZTE4NjliIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQWJzdHJhY3RUaW1lbGluZVBhbmVsLmpzCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVsaW5lUGFuZWwuanMKQEAgLTI2MSw2
ICsyNjEsNyBAQCBXZWJJbnNwZWN0b3IuQWJzdHJhY3RUaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9
IHsKICAgICByZXNpemU6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMudXBkYXRlR3Jh
cGhEaXZpZGVyc0lmTmVlZGVkKCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5
cGUucmVzaXplLmNhbGwodGhpcyk7CiAgICAgfSwKIAogICAgIHVwZGF0ZU1haW5WaWV3V2lkdGg6
IGZ1bmN0aW9uKHdpZHRoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0F1ZGl0c1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVs
LmpzCmluZGV4IDk5Nzg0YTEuLmM0ZDdhZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQXVkaXRzUGFuZWwuanMKQEAgLTI0OSwxMyArMjQ5LDYgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0
c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5hdWRpdHNJdGVtVHJlZUVsZW1lbnQu
c2VsZWN0KCk7CiAgICAgfSwKIAotICAgIHJlc2l6ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgdmFyIHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKLSAgICAgICAgaWYgKHZpc2li
bGVWaWV3ICYmICJyZXNpemUiIGluIHZpc2libGVWaWV3KQotICAgICAgICAgICAgdmlzaWJsZVZp
ZXcucmVzaXplKCk7Ci0gICAgfSwKLQogICAgIHVwZGF0ZU1haW5WaWV3V2lkdGg6IGZ1bmN0aW9u
KHdpZHRoKQogICAgIHsKICAgICAgICAgdGhpcy52aWV3c0NvbnRhaW5lckVsZW1lbnQuc3R5bGUu
bGVmdCA9IHdpZHRoICsgInB4IjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9QYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwppbmRl
eCA1MWI5ODdiLi41NTJlMWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCkBA
IC04NCw2ICs4NCwxMSBAQCBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlID0gewogICAgICAg
ICBXZWJJbnNwZWN0b3IuY3VycmVudEZvY3VzRWxlbWVudCA9IHRoaXMuZGVmYXVsdEZvY3VzZWRF
bGVtZW50OwogCiAgICAgICAgIHRoaXMudXBkYXRlU2lkZWJhcldpZHRoKCk7CisKKyAgICAgICAg
aWYgKHRoaXMuX2RlbGF5ZWRSZXNpemUpIHsKKyAgICAgICAgICAgIHRoaXMuX2RlbGF5ZWRSZXNp
emUgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMucmVzaXplKCk7CisgICAgICAgIH0KICAgICB9
LAogCiAgICAgaGlkZTogZnVuY3Rpb24oKQpAQCAtMzQ5LDkgKzM1NCw3IEBAIFdlYkluc3BlY3Rv
ci5QYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdGhpcy51cGRhdGVNYWluVmlld1dpZHRo
KHdpZHRoKTsKIAotICAgICAgICB2YXIgdmlzaWJsZVZpZXcgPSB0aGlzLnZpc2libGVWaWV3Owot
ICAgICAgICBpZiAodmlzaWJsZVZpZXcgJiYgInJlc2l6ZSIgaW4gdmlzaWJsZVZpZXcpCi0gICAg
ICAgICAgICB2aXNpYmxlVmlldy5yZXNpemUoKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlBhbmVs
LnByb3RvdHlwZS5yZXNpemUuY2FsbCh0aGlzKTsKICAgICB9LAogCiAgICAgc2V0U2lkZWJhcldp
ZHRoOiBmdW5jdGlvbih3aWR0aCkKQEAgLTM2NSw2ICszNjgsMTcgQEAgV2ViSW5zcGVjdG9yLlBh
bmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gU2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IGFu
Y2VzdG9ycy4KICAgICB9LAogCisgICAgcmVzaXplOiBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICBpZiAoIXRoaXMudmlzaWJsZSkgeworICAgICAgICAgICAgdGhpcy5fZGVsYXllZFJlc2l6ZSA9
IHRydWU7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdmFyIHZpc2li
bGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKKyAgICAgICAgaWYgKHZpc2libGVWaWV3ICYmICJy
ZXNpemUiIGluIHZpc2libGVWaWV3KQorICAgICAgICAgICAgdmlzaWJsZVZpZXcucmVzaXplKCk7
CisgICAgfSwKKwogICAgIGNhblNob3dTb3VyY2VMaW5lRm9yVVJMOiBmdW5jdGlvbih1cmwpCiAg
ICAgewogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUGFuZWxFbmFibGVyVmlldy5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzCmluZGV4IGZhYjZkNzYuLmU1YWJkZTAgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzCkBAIC03MSw4
ICs3MSw2IEBAIFdlYkluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3ID0gZnVuY3Rpb24oaWRlbnRp
ZmllciwgaGVhZGluZ1RleHQsIGRpc2NsYWltZXJUZXh0CiAgICAgdGhpcy5lbmFibGVCdXR0b24u
dGV4dENvbnRlbnQgPSBidXR0b25UaXRsZTsKICAgICB0aGlzLmVuYWJsZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2VuYWJsZUJ1dHRvbkNpY2tlZC5iaW5kKHRoaXMpLCBm
YWxzZSk7CiAgICAgdGhpcy5jaG9pY2VzRm9ybS5hcHBlbmRDaGlsZCh0aGlzLmVuYWJsZUJ1dHRv
bik7Ci0KLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgdGhpcy5fd2luZG93
UmVzaXplZC5iaW5kKHRoaXMpLCB0cnVlKTsKIH0KIAogV2ViSW5zcGVjdG9yLlBhbmVsRW5hYmxl
clZpZXcucHJvdG90eXBlID0gewpAQCAtODEsNyArNzksNyBAQCBXZWJJbnNwZWN0b3IuUGFuZWxF
bmFibGVyVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKCJlbmFibGUgY2xpY2tlZCIpOwogICAgIH0sCiAKLSAgICBfd2luZG93UmVzaXplZDog
ZnVuY3Rpb24oKQorICAgIHJlc2l6ZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5p
bWFnZUVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlc1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwuanMKaW5kZXggNmNiZWU4NC4uZWQ0NTYyNCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwuanMK
KysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwuanMKQEAgLTQy
OCwxMyArNDI4LDYgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlID0gewog
ICAgICAgICB9CiAgICAgfSwKIAotICAgIHJlc2l6ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgdmFyIHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKLSAgICAgICAgaWYgKHZpc2li
bGVWaWV3ICYmICJyZXNpemUiIGluIHZpc2libGVWaWV3KQotICAgICAgICAgICAgdmlzaWJsZVZp
ZXcucmVzaXplKCk7Ci0gICAgfSwKLQogICAgIF91cGRhdGVJbnRlcmZhY2U6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBSZXBsYWNlIFByb2ZpbGVUeXBlLXNwZWNpZmljIGJ1
dHRvbiB2aXNpYmlsaXR5IGNoYW5nZXMgYnkgYSBzaW5nbGUgUHJvZmlsZVR5cGUtYWdub3N0aWMg
ImNvbWJvLWJ1dHRvbiIgdmlzaWJpbGl0eSBjaGFuZ2UuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKaW5kZXggMDM0NzI5NC4uZjJlZWNhMCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwpAQCAtMjEwLDE1
ICsyMTAsNiBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICB9CiAgICAgfSwKIAotICAgIHJlc2l6ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAg
V2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxpbmVQYW5lbC5wcm90b3R5cGUucmVzaXplLmNhbGwo
dGhpcyk7Ci0KLSAgICAgICAgdmFyIHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKLSAg
ICAgICAgaWYgKHZpc2libGVWaWV3ICYmICJyZXNpemUiIGluIHZpc2libGVWaWV3KQotICAgICAg
ICAgICAgdmlzaWJsZVZpZXcucmVzaXplKCk7Ci0gICAgfSwKLQogICAgIGdldCBzZWFyY2hhYmxl
Vmlld3MoKQogICAgIHsKICAgICAgICAgdmFyIHZpZXdzID0gW107CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3RvcmFnZVBhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1N0b3JhZ2VQYW5lbC5qcwppbmRleCBkZDU1OGRmLi5hYTNiZTlkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3RvcmFnZVBhbmVsLmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdG9yYWdlUGFuZWwuanMKQEAgLTM1NCwxMyAr
MzU0LDYgQEAgV2ViSW5zcGVjdG9yLlN0b3JhZ2VQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHJldHVybiBkYXRhR3JpZDsKICAgICB9LAogCi0gICAgcmVzaXplOiBmdW5jdGlvbigpCi0gICAg
ewotICAgICAgICB2YXIgdmlzaWJsZVZpZXcgPSB0aGlzLnZpc2libGVWaWV3OwotICAgICAgICBp
ZiAodmlzaWJsZVZpZXcgJiYgInJlc2l6ZSIgaW4gdmlzaWJsZVZpZXcpCi0gICAgICAgICAgICB2
aXNpYmxlVmlldy5yZXNpemUoKTsKLSAgICB9LAotCiAgICAgdXBkYXRlRE9NU3RvcmFnZTogZnVu
Y3Rpb24oc3RvcmFnZUlkKQogICAgIHsKICAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSB0aGlzLl9k
b21TdG9yYWdlRm9ySWQoc3RvcmFnZUlkKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzCmluZGV4IGM0ZjQ1OGQuLjVjZjkzYjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNTIyLDcgKzUyMiw3IEBAIFdlYkluc3BlY3Rvci53aW5k
b3dVbmxvYWQgPSBmdW5jdGlvbihldmVudCkKIAogV2ViSW5zcGVjdG9yLndpbmRvd1Jlc2l6ZSA9
IGZ1bmN0aW9uKGV2ZW50KQogewotICAgIGlmICh0aGlzLmN1cnJlbnRQYW5lbCAmJiB0aGlzLmN1
cnJlbnRQYW5lbC5yZXNpemUpCisgICAgaWYgKHRoaXMuY3VycmVudFBhbmVsKQogICAgICAgICB0
aGlzLmN1cnJlbnRQYW5lbC5yZXNpemUoKTsKICAgICB0aGlzLmRyYXdlci5yZXNpemUoKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46906</attachid>
            <date>2010-01-19 07:20:16 -0800</date>
            <delta_ts>2010-01-19 09:59:28 -0800</delta_ts>
            <desc>patch (comments followed)</desc>
            <filename>panelenablerview.patch</filename>
            <type>text/plain</type>
            <size>14250</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmMxMGNlMC4uYTE0NTdmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MyBAQAorMjAxMC0wMS0xOSAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE9wdGltaXplIHJlc2l6ZSBldmVudCBoYW5kbGluZyBmb3Ig
aGlkZGVuIHZpZXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMzgwMworCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVs
aW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQWJzdHJhY3RUaW1lbGluZVBhbmVs
LnByb3RvdHlwZS5yZXNpemUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxp
bmVQYW5lbC5wcm90b3R5cGUudXBkYXRlTWFpblZpZXdXaWR0aCk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS51cGRh
dGVTaWRlYmFyV2lkdGgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5y
ZXNpemUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUGFuZWxFbmFibGVyVmlldy5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3LnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3LnByb3RvdHlwZS5yZXNpemUpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5hZGRQcm9maWxlSGVhZGVyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5zaG93UHJvZmlsZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUuc2hvd1ZpZXcpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlLmNsb3NlVmlzaWJsZVZpZXcp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlLl91cGRhdGVJ
bnRlcmZhY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBl
LnVwZGF0ZU1haW5WaWV3V2lkdGgpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVz
b3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJv
dG90eXBlLnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5nZXQgdmlzaWJsZVZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1Bh
bmVsLnByb3RvdHlwZS51cGRhdGVNYWluVmlld1dpZHRoKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NldHRpbmdzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3Rv
cmFnZVBhbmVsLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2VsY29tZVZpZXcu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuV2VsY29tZVZpZXcpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLldlbGNvbWVWaWV3LnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5XZWxjb21lVmlldy5wcm90b3R5cGUucmVzaXplKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5jc3M6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iud2luZG93UmVzaXplKToKKwogMjAxMC0w
MS0xOCAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVsaW5lUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQWJzdHJhY3RUaW1lbGluZVBhbmVsLmpzCmluZGV4IDA1YWY5YzIuLjZjNWQ3
MTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVs
aW5lUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fic3RyYWN0VGlt
ZWxpbmVQYW5lbC5qcwpAQCAtMjYwLDEzICsyNjAsMTUgQEAgV2ViSW5zcGVjdG9yLkFic3RyYWN0
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICByZXNpemU6IGZ1bmN0aW9uKCkKICAg
ICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUucmVzaXplLmNhbGwodGhp
cyk7CisKICAgICAgICAgdGhpcy51cGRhdGVHcmFwaERpdmlkZXJzSWZOZWVkZWQoKTsKICAgICB9
LAogCiAgICAgdXBkYXRlTWFpblZpZXdXaWR0aDogZnVuY3Rpb24od2lkdGgpCiAgICAgewogICAg
ICAgICB0aGlzLl9jb250YWluZXJDb250ZW50RWxlbWVudC5zdHlsZS5sZWZ0ID0gd2lkdGggKyAi
cHgiOwotICAgICAgICB0aGlzLnVwZGF0ZUdyYXBoRGl2aWRlcnNJZk5lZWRlZCgpOworICAgICAg
ICB0aGlzLnJlc2l6ZSgpOwogICAgIH0sCiAKICAgICBpbnZhbGlkYXRlQWxsSXRlbXM6IGZ1bmN0
aW9uKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5l
bC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcwppbmRleCA5
OTc4NGExLi5jNGQ3YWVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QXVkaXRzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1Bh
bmVsLmpzCkBAIC0yNDksMTMgKzI0OSw2IEBAIFdlYkluc3BlY3Rvci5BdWRpdHNQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuYXVkaXRzSXRlbVRyZWVFbGVtZW50LnNlbGVjdCgpOwog
ICAgIH0sCiAKLSAgICByZXNpemU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHZhciB2aXNp
YmxlVmlldyA9IHRoaXMudmlzaWJsZVZpZXc7Ci0gICAgICAgIGlmICh2aXNpYmxlVmlldyAmJiAi
cmVzaXplIiBpbiB2aXNpYmxlVmlldykKLSAgICAgICAgICAgIHZpc2libGVWaWV3LnJlc2l6ZSgp
OwotICAgIH0sCi0KICAgICB1cGRhdGVNYWluVmlld1dpZHRoOiBmdW5jdGlvbih3aWR0aCkKICAg
ICB7CiAgICAgICAgIHRoaXMudmlld3NDb250YWluZXJFbGVtZW50LnN0eWxlLmxlZnQgPSB3aWR0
aCArICJweCI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwu
anMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKaW5kZXggNTFiOTg3Yi4u
NWU4MWUyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpz
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwpAQCAtMzQ4LDEwICsz
NDgsNiBAQCBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLnNl
dFNpZGViYXJXaWR0aCh3aWR0aCk7CiAKICAgICAgICAgdGhpcy51cGRhdGVNYWluVmlld1dpZHRo
KHdpZHRoKTsKLQotICAgICAgICB2YXIgdmlzaWJsZVZpZXcgPSB0aGlzLnZpc2libGVWaWV3Owot
ICAgICAgICBpZiAodmlzaWJsZVZpZXcgJiYgInJlc2l6ZSIgaW4gdmlzaWJsZVZpZXcpCi0gICAg
ICAgICAgICB2aXNpYmxlVmlldy5yZXNpemUoKTsKICAgICB9LAogCiAgICAgc2V0U2lkZWJhcldp
ZHRoOiBmdW5jdGlvbih3aWR0aCkKQEAgLTM2NSw2ICszNjEsMTMgQEAgV2ViSW5zcGVjdG9yLlBh
bmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gU2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IGFu
Y2VzdG9ycy4KICAgICB9LAogCisgICAgcmVzaXplOiBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICB2YXIgdmlzaWJsZVZpZXcgPSB0aGlzLnZpc2libGVWaWV3OworICAgICAgICBpZiAodmlzaWJs
ZVZpZXcgJiYgInJlc2l6ZSIgaW4gdmlzaWJsZVZpZXcpCisgICAgICAgICAgICB2aXNpYmxlVmll
dy5yZXNpemUoKTsKKyAgICB9LAorCiAgICAgY2FuU2hvd1NvdXJjZUxpbmVGb3JVUkw6IGZ1bmN0
aW9uKHVybCkKICAgICB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbEVuYWJsZXJWaWV3LmpzIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1BhbmVsRW5hYmxlclZpZXcuanMKaW5kZXggZmFiNmQ3Ni4uNWMyNjYw
NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsRW5hYmxlclZp
ZXcuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsRW5hYmxlclZpZXcu
anMKQEAgLTcxLDggKzcxLDYgQEAgV2ViSW5zcGVjdG9yLlBhbmVsRW5hYmxlclZpZXcgPSBmdW5j
dGlvbihpZGVudGlmaWVyLCBoZWFkaW5nVGV4dCwgZGlzY2xhaW1lclRleHQKICAgICB0aGlzLmVu
YWJsZUJ1dHRvbi50ZXh0Q29udGVudCA9IGJ1dHRvblRpdGxlOwogICAgIHRoaXMuZW5hYmxlQnV0
dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fZW5hYmxlQnV0dG9uQ2lja2VkLmJp
bmQodGhpcyksIGZhbHNlKTsKICAgICB0aGlzLmNob2ljZXNGb3JtLmFwcGVuZENoaWxkKHRoaXMu
ZW5hYmxlQnV0dG9uKTsKLQotICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCB0
aGlzLl93aW5kb3dSZXNpemVkLmJpbmQodGhpcyksIHRydWUpOwogfQogCiBXZWJJbnNwZWN0b3Iu
UGFuZWxFbmFibGVyVmlldy5wcm90b3R5cGUgPSB7CkBAIC04MSw3ICs3OSwxNCBAQCBXZWJJbnNw
ZWN0b3IuUGFuZWxFbmFibGVyVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKCJlbmFibGUgY2xpY2tlZCIpOwogICAgIH0sCiAKLSAgICBfd2lu
ZG93UmVzaXplZDogZnVuY3Rpb24oKQorICAgIHNob3c6IGZ1bmN0aW9uKHBhcmVudEVsZW1lbnQp
CisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuc2hvdy5jYWxsKHRo
aXMsIHBhcmVudEVsZW1lbnQpOworCisgICAgICAgIHNldFRpbWVvdXQodGhpcy5yZXNpemUuYmlu
ZCh0aGlzKSwgMCk7CisgICAgfSwKKworICAgIHJlc2l6ZTogZnVuY3Rpb24oKQogICAgIHsKICAg
ICAgICAgdGhpcy5pbWFnZUVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxlc1BhbmVsLmpzIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwuanMKaW5kZXggNmNiZWU4
NC4uNjkyMjljMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2Zp
bGVzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFu
ZWwuanMKQEAgLTE1Nyw4ICsxNTcsMTIgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJv
dG90eXBlID0gewogICAgIHNob3c6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIFdlYkluc3Bl
Y3Rvci5QYW5lbC5wcm90b3R5cGUuc2hvdy5jYWxsKHRoaXMpOwotICAgICAgICBpZiAoIXRoaXMu
dmlzaWJsZVZpZXcpCisgICAgICAgIHRoaXMuX3VwZGF0ZUludGVyZmFjZSgpOworICAgICAgICBp
ZiAoIXRoaXMudmlzaWJsZVZpZXcpIHsKKyAgICAgICAgICAgIHRoaXMudmlzaWJsZVZpZXcgPSB0
aGlzLndlbGNvbWVWaWV3OwogICAgICAgICAgICAgdGhpcy53ZWxjb21lVmlldy5zaG93KCk7Cisg
ICAgICAgIH0KKyAgICAgICAgdGhpcy52aXNpYmxlVmlldy5zaG93KCk7CiAgICAgICAgIGlmICh0
aGlzLl9zaG91bGRQb3B1bGF0ZVByb2ZpbGVzKQogICAgICAgICAgICAgdGhpcy5fcG9wdWxhdGVQ
cm9maWxlcygpOwogICAgIH0sCkBAIC0zMDMsNyArMzA3LDcgQEAgV2ViSW5zcGVjdG9yLlByb2Zp
bGVzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBwcm9maWxlLl9wcm9maWxlc1RyZWVFbGVt
ZW50ID0gcHJvZmlsZVRyZWVFbGVtZW50OwogCiAgICAgICAgIHNpZGViYXJQYXJlbnQuYXBwZW5k
Q2hpbGQocHJvZmlsZVRyZWVFbGVtZW50KTsKLSAgICAgICAgaWYgKCF0aGlzLnZpc2libGVWaWV3
KQorICAgICAgICBpZiAoIXRoaXMudmlzaWJsZVZpZXcgfHwgdGhpcy52aXNpYmxlVmlldyA9PT0g
dGhpcy53ZWxjb21lVmlldykKICAgICAgICAgICAgIHRoaXMuc2hvd1Byb2ZpbGUocHJvZmlsZSk7
CiAgICAgfSwKIApAQCAtMzEyLDkgKzMxNiw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVs
LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCFwcm9maWxlKQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHRoaXMud2VsY29tZVZpZXcuaGlkZSgpOwotICAgICAgICBpZiAodGhpcy52
aXNpYmxlVmlldykKLSAgICAgICAgICAgIHRoaXMudmlzaWJsZVZpZXcuaGlkZSgpOworICAgICAg
ICB0aGlzLmNsb3NlVmlzaWJsZVZpZXcoKTsKIAogICAgICAgICB2YXIgdmlldyA9IHByb2ZpbGUu
X19wcm9maWxlc1BhbmVsUHJvZmlsZVR5cGUudmlld0ZvclByb2ZpbGUocHJvZmlsZSk7CiAKQEAg
LTMzNCw3ICszMzYsMTkgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlID0g
ewogCiAgICAgc2hvd1ZpZXc6IGZ1bmN0aW9uKHZpZXcpCiAgICAgewotICAgICAgICB0aGlzLnNo
b3dQcm9maWxlKHZpZXcucHJvZmlsZSk7CisgICAgICAgIGlmICh0aGlzLnZpc2libGVWaWV3ID09
PSB2aWV3KSB7CisgICAgICAgICAgICBpZiAodGhpcy52aXNpYmxlVmlldyAmJiAhdGhpcy52aXNp
YmxlVmlldy52aXNpYmxlKQorICAgICAgICAgICAgICAgIHZpZXcuc2hvdygpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fcHJldmlvdXNWaXNpYmxlVmll
dyA9IHRoaXMudmlzaWJsZVZpZXc7CisgICAgICAgIGlmICh2aWV3ID09PSB0aGlzLndlbGNvbWVW
aWV3KSB7CisgICAgICAgICAgICB0aGlzLmNsb3NlVmlzaWJsZVZpZXcoKTsKKyAgICAgICAgICAg
IHRoaXMudmlzaWJsZVZpZXcgPSB2aWV3OworICAgICAgICAgICAgdmlldy5zaG93KCk7CisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgdGhpcy5zaG93UHJvZmlsZSh2aWV3LnByb2ZpbGUpOwog
ICAgIH0sCiAKICAgICBnZXRQcm9maWxlVHlwZTogZnVuY3Rpb24odHlwZUlkKQpAQCAtMzY2LDcg
KzM4MCw2IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgaWYgKHRoaXMudmlzaWJsZVZpZXcpCiAgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3Lmhp
ZGUoKTsKICAgICAgICAgZGVsZXRlIHRoaXMudmlzaWJsZVZpZXc7Ci0gICAgICAgIHRoaXMud2Vs
Y29tZVZpZXcuc2hvdygpOwogICAgIH0sCiAKICAgICBkaXNwbGF5VGl0bGVGb3JQcm9maWxlTGlu
azogZnVuY3Rpb24odGl0bGUsIHR5cGVJZCkKQEAgLTQyOCwxMyArNDQxLDYgQEAgV2ViSW5zcGVj
dG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgfSwKIAotICAg
IHJlc2l6ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFyIHZpc2libGVWaWV3ID0gdGhp
cy52aXNpYmxlVmlldzsKLSAgICAgICAgaWYgKHZpc2libGVWaWV3ICYmICJyZXNpemUiIGluIHZp
c2libGVWaWV3KQotICAgICAgICAgICAgdmlzaWJsZVZpZXcucmVzaXplKCk7Ci0gICAgfSwKLQog
ICAgIF91cGRhdGVJbnRlcmZhY2U6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIC8vIEZJWE1F
OiBSZXBsYWNlIFByb2ZpbGVUeXBlLXNwZWNpZmljIGJ1dHRvbiB2aXNpYmlsaXR5IGNoYW5nZXMg
YnkgYSBzaW5nbGUgUHJvZmlsZVR5cGUtYWdub3N0aWMgImNvbWJvLWJ1dHRvbiIgdmlzaWJpbGl0
eSBjaGFuZ2UuCkBAIC00NDYsNiArNDUyLDcgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5wcm9maWxlVmlld1N0YXR1c0Jhckl0ZW1z
Q29udGFpbmVyLnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAgICAgICAgICAgdGhpcy5w
YW5lbEVuYWJsZXJWaWV3LnZpc2libGUgPSBmYWxzZTsKICAgICAgICAgICAgIHRoaXMud2VsY29t
ZVZpZXcudmlzaWJsZSA9IHRydWU7CisgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3ID0gdGhp
cy5fcHJldmlvdXNWaXNpYmxlVmlldyB8fCB0aGlzLndlbGNvbWVWaWV3OwogICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgdGhpcy5lbmFibGVUb2dnbGVCdXR0b24udGl0bGUgPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlByb2ZpbGluZyBkaXNhYmxlZC4gQ2xpY2sgdG8gZW5hYmxlLiIpOwog
ICAgICAgICAgICAgdGhpcy5lbmFibGVUb2dnbGVCdXR0b24udG9nZ2xlZCA9IGZhbHNlOwpAQCAt
NDU0LDYgKzQ2MSw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHRoaXMucHJvZmlsZVZpZXdTdGF0dXNCYXJJdGVtc0NvbnRhaW5lci5hZGRT
dHlsZUNsYXNzKCJoaWRkZW4iKTsKICAgICAgICAgICAgIHRoaXMud2VsY29tZVZpZXcudmlzaWJs
ZSA9IGZhbHNlOwogICAgICAgICAgICAgdGhpcy5wYW5lbEVuYWJsZXJWaWV3LnZpc2libGUgPSB0
cnVlOworICAgICAgICAgICAgdGhpcy52aXNpYmxlVmlldyA9IHRoaXMucGFuZWxFbmFibGVyVmll
dzsKICAgICAgICAgfQogICAgIH0sCiAKQEAgLTQ5Niw4ICs1MDQsMTEgQEAgV2ViSW5zcGVjdG9y
LlByb2ZpbGVzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgdXBkYXRlTWFpblZpZXdXaWR0aDog
ZnVuY3Rpb24od2lkdGgpCiAgICAgeworICAgICAgICB0aGlzLndlbGNvbWVWaWV3LmVsZW1lbnQu
c3R5bGUubGVmdCA9IHdpZHRoICsgInB4IjsKICAgICAgICAgdGhpcy5wcm9maWxlVmlld3Muc3R5
bGUubGVmdCA9IHdpZHRoICsgInB4IjsKICAgICAgICAgdGhpcy5wcm9maWxlVmlld1N0YXR1c0Jh
ckl0ZW1zQ29udGFpbmVyLnN0eWxlLmxlZnQgPSB3aWR0aCArICJweCI7CisgICAgICAgIGlmICh0
aGlzLnZpc2libGVWaWV3ID09PSB0aGlzLndlbGNvbWVWaWV3KQorICAgICAgICAgICAgdGhpcy5y
ZXNpemUoKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNv
dXJjZXNQYW5lbC5qcwppbmRleCAwMzQ3Mjk0Li5hOWI1MTQ2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBAIC0xOTIsMTAgKzE5MiwxMSBAQCBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBXZWJJbnNw
ZWN0b3IuQWJzdHJhY3RUaW1lbGluZVBhbmVsLnByb3RvdHlwZS5zaG93LmNhbGwodGhpcyk7CiAK
ICAgICAgICAgdmFyIHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKLSAgICAgICAgaWYg
KHZpc2libGVWaWV3KSB7CisgICAgICAgIGlmICh0aGlzLnZpc2libGVSZXNvdXJjZSkgewogICAg
ICAgICAgICAgdmlzaWJsZVZpZXcuaGVhZGVyc1Zpc2libGUgPSB0cnVlOwogICAgICAgICAgICAg
dmlzaWJsZVZpZXcuc2hvdyh0aGlzLnZpZXdzQ29udGFpbmVyRWxlbWVudCk7Ci0gICAgICAgIH0K
KyAgICAgICAgfSBlbHNlIGlmICh2aXNpYmxlVmlldykKKyAgICAgICAgICAgIHZpc2libGVWaWV3
LnNob3coKTsKIAogICAgICAgICAvLyBIaWRlIGFueSB2aWV3cyB0aGF0IGFyZSB2aXNpYmxlIHRo
YXQgYXJlIG5vdCB0aGlzIHBhbmVsJ3MgY3VycmVudCB2aXNpYmxlIHZpZXcuCiAgICAgICAgIC8v
IFRoaXMgY2FuIGhhcHBlbiB3aGVuIGEgUmVzb3VyY2VWaWV3IGlzIHZpc2libGUgaW4gdGhlIFNj
cmlwdHMgcGFuZWwgdGhlbiBzd2l0Y2hlZApAQCAtMjEwLDE1ICsyMTEsNiBAQCBXZWJJbnNwZWN0
b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgfSwKIAotICAg
IHJlc2l6ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLkFic3RyYWN0
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUucmVzaXplLmNhbGwodGhpcyk7Ci0KLSAgICAgICAgdmFy
IHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKLSAgICAgICAgaWYgKHZpc2libGVWaWV3
ICYmICJyZXNpemUiIGluIHZpc2libGVWaWV3KQotICAgICAgICAgICAgdmlzaWJsZVZpZXcucmVz
aXplKCk7Ci0gICAgfSwKLQogICAgIGdldCBzZWFyY2hhYmxlVmlld3MoKQogICAgIHsKICAgICAg
ICAgdmFyIHZpZXdzID0gW107CkBAIC0yODcsNyArMjc5LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291
cmNlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICh0aGlzLnZpc2libGVS
ZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiB0aGlzLnZpc2libGVSZXNvdXJjZS5fcmVzb3Vy
Y2VzVmlldzsKLSAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3JC
YWNrZW5kLnJlc291cmNlVHJhY2tpbmdFbmFibGVkKCkgPyBudWxsIDogdGhpcy5wYW5lbEVuYWJs
ZXJWaWV3OwogICAgIH0sCiAKICAgICBnZXQgc29ydGluZ0Z1bmN0aW9uKCkKQEAgLTY4NCw4ICs2
NzYsMTAgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAg
IHVwZGF0ZU1haW5WaWV3V2lkdGg6IGZ1bmN0aW9uKHdpZHRoKQogICAgIHsKLSAgICAgICAgV2Vi
SW5zcGVjdG9yLkFic3RyYWN0VGltZWxpbmVQYW5lbC5wcm90b3R5cGUudXBkYXRlTWFpblZpZXdX
aWR0aC5jYWxsKHRoaXMsIHdpZHRoKTsKICAgICAgICAgdGhpcy52aWV3c0NvbnRhaW5lckVsZW1l
bnQuc3R5bGUubGVmdCA9IHdpZHRoICsgInB4IjsKKworICAgICAgICBXZWJJbnNwZWN0b3IuQWJz
dHJhY3RUaW1lbGluZVBhbmVsLnByb3RvdHlwZS51cGRhdGVNYWluVmlld1dpZHRoLmNhbGwodGhp
cywgd2lkdGgpOworICAgICAgICB0aGlzLnJlc2l6ZSgpOwogICAgIH0sCiAKICAgICBfZW5hYmxl
UmVzb3VyY2VUcmFja2luZzogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Nl
dHRpbmdzLmpzCmluZGV4IDZjZDQ0OTcuLjNmZGQxOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2V0dGluZ3MuanMKQEAgLTM3LDcgKzM3LDYgQEAgdmFyIFByZWZlcmVuY2VzID0gewog
ICAgIG1pblNjcmlwdHNTaWRlYmFyV2lkdGg6IDIwMCwKICAgICBzdHlsZVJ1bGVzRXhwYW5kZWRT
dGF0ZToge30sCiAgICAgc2hvd01pc3NpbmdMb2NhbGl6ZWRTdHJpbmdzOiBmYWxzZSwKLSAgICBo
ZWFwUHJvZmlsZXJQcmVzZW50OiBmYWxzZSwKICAgICBzYW1wbGluZ0NQVVByb2ZpbGVyOiBmYWxz
ZSwKICAgICBzaG93Q29sb3JOaWNrbmFtZXM6IHRydWUKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TdG9yYWdlUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU3RvcmFnZVBhbmVsLmpzCmluZGV4IGRkNTU4ZGYuLmFhM2JlOWQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdG9yYWdlUGFuZWwuanMKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0b3JhZ2VQYW5lbC5qcwpAQCAtMzU0LDEzICszNTQs
NiBAQCBXZWJJbnNwZWN0b3IuU3RvcmFnZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0
dXJuIGRhdGFHcmlkOwogICAgIH0sCiAKLSAgICByZXNpemU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0g
ICAgICAgIHZhciB2aXNpYmxlVmlldyA9IHRoaXMudmlzaWJsZVZpZXc7Ci0gICAgICAgIGlmICh2
aXNpYmxlVmlldyAmJiAicmVzaXplIiBpbiB2aXNpYmxlVmlldykKLSAgICAgICAgICAgIHZpc2li
bGVWaWV3LnJlc2l6ZSgpOwotICAgIH0sCi0KICAgICB1cGRhdGVET01TdG9yYWdlOiBmdW5jdGlv
bihzdG9yYWdlSWQpCiAgICAgewogICAgICAgICB2YXIgZG9tU3RvcmFnZSA9IHRoaXMuX2RvbVN0
b3JhZ2VGb3JJZChzdG9yYWdlSWQpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1dlbGNvbWVWaWV3LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlbGNv
bWVWaWV3LmpzCmluZGV4IDFlMTZjNGUuLjczZTY0NDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9XZWxjb21lVmlldy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2VsY29tZVZpZXcuanMKQEAgLTUyLDEyICs1MiwxOCBAQCBXZWJJbnNwZWN0b3Iu
V2VsY29tZVZpZXcgPSBmdW5jdGlvbihpZGVudGlmaWVyLCBoZWFkaW5nVGV4dCwgaW5zdHJ1Y3Rp
b25zVGV4dCkKIAogICAgIGlmIChpbnN0cnVjdGlvbnNUZXh0KQogICAgICAgICB0aGlzLmFkZE1l
c3NhZ2UoaW5zdHJ1Y3Rpb25zVGV4dCk7Ci0KLSAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
cmVzaXplIiwgdGhpcy5fd2luZG93UmVzaXplZC5iaW5kKHRoaXMpLCB0cnVlKTsKIH0KIAogV2Vi
SW5zcGVjdG9yLldlbGNvbWVWaWV3LnByb3RvdHlwZSA9IHsKLSAgICBfd2luZG93UmVzaXplZDog
ZnVuY3Rpb24oKQorCisgICAgc2hvdzogZnVuY3Rpb24ocGFyZW50RWxlbWVudCkKKyAgICB7Cisg
ICAgICAgIFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5zaG93LmNhbGwodGhpcywgcGFyZW50
RWxlbWVudCk7CisKKyAgICAgICAgc2V0VGltZW91dCh0aGlzLnJlc2l6ZS5iaW5kKHRoaXMpLCAw
KTsKKyAgICB9LAorCisgICAgcmVzaXplOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlz
LmltYWdlRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCAwYWE3OWUyLi5mYTY1Zjg4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMjI3NSw3ICsyMjc1
LDYgQEAgYm9keS5pbmFjdGl2ZSAuZGF0YS1ncmlkIHRoLnNvcnQtYXNjZW5kaW5nLCBib2R5Lmlu
YWN0aXZlIC5kYXRhLWdyaWQgdGguc29ydC1kZXMKIAogLnBhbmVsLWVuYWJsZXItdmlldy53ZWxj
b21lIHsKICAgICB6LWluZGV4OiBhdXRvOwotICAgIGxlZnQ6IDIwMHB4OwogfQogCiAucGFuZWwt
ZW5hYmxlci12aWV3LndlbGNvbWUgaW1nIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzCmluZGV4IGM0ZjQ1OGQuLjVjZjkzYjMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNTIyLDcgKzUyMiw3IEBAIFdlYkluc3BlY3Rvci53aW5k
b3dVbmxvYWQgPSBmdW5jdGlvbihldmVudCkKIAogV2ViSW5zcGVjdG9yLndpbmRvd1Jlc2l6ZSA9
IGZ1bmN0aW9uKGV2ZW50KQogewotICAgIGlmICh0aGlzLmN1cnJlbnRQYW5lbCAmJiB0aGlzLmN1
cnJlbnRQYW5lbC5yZXNpemUpCisgICAgaWYgKHRoaXMuY3VycmVudFBhbmVsKQogICAgICAgICB0
aGlzLmN1cnJlbnRQYW5lbC5yZXNpemUoKTsKICAgICB0aGlzLmRyYXdlci5yZXNpemUoKTsKIH0K
</data>
<flag name="review"
          id="29248"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46920</attachid>
            <date>2010-01-19 09:59:28 -0800</date>
            <delta_ts>2010-01-20 05:58:28 -0800</delta_ts>
            <desc>patch (DataGrid column resizing fixed)</desc>
            <filename>panelenablerview.patch</filename>
            <type>text/plain</type>
            <size>14495</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NmMxMGNlMC4uYjZmZTE5YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMC0wMS0xOSAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE9wdGltaXplIHJlc2l6ZSBldmVudCBoYW5kbGluZyBmb3Ig
aGlkZGVuIHZpZXdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zMzgwMworCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVs
aW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQWJzdHJhY3RUaW1lbGluZVBhbmVs
LnByb3RvdHlwZS5yZXNpemUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxp
bmVQYW5lbC5wcm90b3R5cGUudXBkYXRlTWFpblZpZXdXaWR0aCk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS51cGRh
dGVTaWRlYmFyV2lkdGgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5y
ZXNpemUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUGFuZWxFbmFibGVyVmlldy5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3LnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3LnByb3RvdHlwZS5yZXNpemUpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5hZGRQcm9maWxlSGVhZGVyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5zaG93UHJvZmlsZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUuc2hvd1ZpZXcpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlLmNsb3NlVmlzaWJsZVZpZXcp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlLl91cGRhdGVJ
bnRlcmZhY2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBl
LnVwZGF0ZU1haW5WaWV3V2lkdGgpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVz
b3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJv
dG90eXBlLnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5nZXQgdmlzaWJsZVZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1Bh
bmVsLnByb3RvdHlwZS51cGRhdGVNYWluVmlld1dpZHRoKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NldHRpbmdzLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3Rv
cmFnZVBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0b3JhZ2VQYW5lbC5wcm90b3R5
cGUudXBkYXRlTWFpblZpZXdXaWR0aCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9X
ZWxjb21lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5XZWxjb21lVmlldyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuV2VsY29tZVZpZXcucHJvdG90eXBlLnNob3cpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLldlbGNvbWVWaWV3LnByb3RvdHlwZS5yZXNpemUpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci53aW5kb3dSZXNpemUp
OgorCiAyMDEwLTAxLTE4ICBNaWtoYWlsIE5hZ2Fub3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fic3RyYWN0VGltZWxpbmVQYW5lbC5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BYnN0cmFjdFRpbWVsaW5lUGFuZWwuanMKaW5kZXggMDVh
ZjljMi4uNmM1ZDcxNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Fi
c3RyYWN0VGltZWxpbmVQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QWJzdHJhY3RUaW1lbGluZVBhbmVsLmpzCkBAIC0yNjAsMTMgKzI2MCwxNSBAQCBXZWJJbnNwZWN0
b3IuQWJzdHJhY3RUaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgIHJlc2l6ZTogZnVu
Y3Rpb24oKQogICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5yZXNp
emUuY2FsbCh0aGlzKTsKKwogICAgICAgICB0aGlzLnVwZGF0ZUdyYXBoRGl2aWRlcnNJZk5lZWRl
ZCgpOwogICAgIH0sCiAKICAgICB1cGRhdGVNYWluVmlld1dpZHRoOiBmdW5jdGlvbih3aWR0aCkK
ICAgICB7CiAgICAgICAgIHRoaXMuX2NvbnRhaW5lckNvbnRlbnRFbGVtZW50LnN0eWxlLmxlZnQg
PSB3aWR0aCArICJweCI7Ci0gICAgICAgIHRoaXMudXBkYXRlR3JhcGhEaXZpZGVyc0lmTmVlZGVk
KCk7CisgICAgICAgIHRoaXMucmVzaXplKCk7CiAgICAgfSwKIAogICAgIGludmFsaWRhdGVBbGxJ
dGVtczogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0F1ZGl0c1BhbmVsLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVs
LmpzCmluZGV4IDk5Nzg0YTEuLmM0ZDdhZWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQXVkaXRzUGFuZWwuanMKQEAgLTI0OSwxMyArMjQ5LDYgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0
c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5hdWRpdHNJdGVtVHJlZUVsZW1lbnQu
c2VsZWN0KCk7CiAgICAgfSwKIAotICAgIHJlc2l6ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgdmFyIHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKLSAgICAgICAgaWYgKHZpc2li
bGVWaWV3ICYmICJyZXNpemUiIGluIHZpc2libGVWaWV3KQotICAgICAgICAgICAgdmlzaWJsZVZp
ZXcucmVzaXplKCk7Ci0gICAgfSwKLQogICAgIHVwZGF0ZU1haW5WaWV3V2lkdGg6IGZ1bmN0aW9u
KHdpZHRoKQogICAgIHsKICAgICAgICAgdGhpcy52aWV3c0NvbnRhaW5lckVsZW1lbnQuc3R5bGUu
bGVmdCA9IHdpZHRoICsgInB4IjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9QYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qcwppbmRl
eCA1MWI5ODdiLi41ZTgxZTJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCkBA
IC0zNDgsMTAgKzM0OCw2IEBAIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHRoaXMuc2V0U2lkZWJhcldpZHRoKHdpZHRoKTsKIAogICAgICAgICB0aGlzLnVwZGF0ZU1h
aW5WaWV3V2lkdGgod2lkdGgpOwotCi0gICAgICAgIHZhciB2aXNpYmxlVmlldyA9IHRoaXMudmlz
aWJsZVZpZXc7Ci0gICAgICAgIGlmICh2aXNpYmxlVmlldyAmJiAicmVzaXplIiBpbiB2aXNpYmxl
VmlldykKLSAgICAgICAgICAgIHZpc2libGVWaWV3LnJlc2l6ZSgpOwogICAgIH0sCiAKICAgICBz
ZXRTaWRlYmFyV2lkdGg6IGZ1bmN0aW9uKHdpZHRoKQpAQCAtMzY1LDYgKzM2MSwxMyBAQCBXZWJJ
bnNwZWN0b3IuUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICAvLyBTaG91bGQgYmUgaW1wbGVt
ZW50ZWQgYnkgYW5jZXN0b3JzLgogICAgIH0sCiAKKyAgICByZXNpemU6IGZ1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHZhciB2aXNpYmxlVmlldyA9IHRoaXMudmlzaWJsZVZpZXc7CisgICAgICAg
IGlmICh2aXNpYmxlVmlldyAmJiAicmVzaXplIiBpbiB2aXNpYmxlVmlldykKKyAgICAgICAgICAg
IHZpc2libGVWaWV3LnJlc2l6ZSgpOworICAgIH0sCisKICAgICBjYW5TaG93U291cmNlTGluZUZv
clVSTDogZnVuY3Rpb24odXJsKQogICAgIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsRW5hYmxlclZpZXcuanMgYi9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWxFbmFibGVyVmlldy5qcwppbmRleCBmYWI2
ZDc2Li41YzI2NjA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFu
ZWxFbmFibGVyVmlldy5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWxF
bmFibGVyVmlldy5qcwpAQCAtNzEsOCArNzEsNiBAQCBXZWJJbnNwZWN0b3IuUGFuZWxFbmFibGVy
VmlldyA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGhlYWRpbmdUZXh0LCBkaXNjbGFpbWVyVGV4dAog
ICAgIHRoaXMuZW5hYmxlQnV0dG9uLnRleHRDb250ZW50ID0gYnV0dG9uVGl0bGU7CiAgICAgdGhp
cy5lbmFibGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9lbmFibGVCdXR0
b25DaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwogICAgIHRoaXMuY2hvaWNlc0Zvcm0uYXBwZW5k
Q2hpbGQodGhpcy5lbmFibGVCdXR0b24pOwotCi0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
InJlc2l6ZSIsIHRoaXMuX3dpbmRvd1Jlc2l6ZWQuYmluZCh0aGlzKSwgdHJ1ZSk7CiB9CiAKIFdl
Ykluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3LnByb3RvdHlwZSA9IHsKQEAgLTgxLDcgKzc5LDE0
IEBAIFdlYkluc3BlY3Rvci5QYW5lbEVuYWJsZXJWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoImVuYWJsZSBjbGlja2VkIik7CiAgICAgfSwK
IAotICAgIF93aW5kb3dSZXNpemVkOiBmdW5jdGlvbigpCisgICAgc2hvdzogZnVuY3Rpb24ocGFy
ZW50RWxlbWVudCkKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5z
aG93LmNhbGwodGhpcywgcGFyZW50RWxlbWVudCk7CisKKyAgICAgICAgc2V0VGltZW91dCh0aGlz
LnJlc2l6ZS5iaW5kKHRoaXMpLCAwKTsKKyAgICB9LAorCisgICAgcmVzaXplOiBmdW5jdGlvbigp
CiAgICAgewogICAgICAgICB0aGlzLmltYWdlRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRk
ZW4iKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVz
UGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcwpp
bmRleCA2Y2JlZTg0Li40OTUwZjE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvUHJvZmlsZXNQYW5lbC5qcworKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UHJvZmlsZXNQYW5lbC5qcwpAQCAtMTU3LDggKzE1NywxMiBAQCBXZWJJbnNwZWN0b3IuUHJvZmls
ZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgc2hvdzogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5zaG93LmNhbGwodGhpcyk7Ci0gICAgICAg
IGlmICghdGhpcy52aXNpYmxlVmlldykKKyAgICAgICAgdGhpcy5fdXBkYXRlSW50ZXJmYWNlKCk7
CisgICAgICAgIGlmICghdGhpcy52aXNpYmxlVmlldykgeworICAgICAgICAgICAgdGhpcy52aXNp
YmxlVmlldyA9IHRoaXMud2VsY29tZVZpZXc7CiAgICAgICAgICAgICB0aGlzLndlbGNvbWVWaWV3
LnNob3coKTsKKyAgICAgICAgfQorICAgICAgICB0aGlzLnZpc2libGVWaWV3LnNob3coKTsKICAg
ICAgICAgaWYgKHRoaXMuX3Nob3VsZFBvcHVsYXRlUHJvZmlsZXMpCiAgICAgICAgICAgICB0aGlz
Ll9wb3B1bGF0ZVByb2ZpbGVzKCk7CiAgICAgfSwKQEAgLTMwMyw3ICszMDcsNyBAQCBXZWJJbnNw
ZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHByb2ZpbGUuX3Byb2Zp
bGVzVHJlZUVsZW1lbnQgPSBwcm9maWxlVHJlZUVsZW1lbnQ7CiAKICAgICAgICAgc2lkZWJhclBh
cmVudC5hcHBlbmRDaGlsZChwcm9maWxlVHJlZUVsZW1lbnQpOwotICAgICAgICBpZiAoIXRoaXMu
dmlzaWJsZVZpZXcpCisgICAgICAgIGlmICghdGhpcy52aXNpYmxlVmlldyB8fCB0aGlzLnZpc2li
bGVWaWV3ID09PSB0aGlzLndlbGNvbWVWaWV3KQogICAgICAgICAgICAgdGhpcy5zaG93UHJvZmls
ZShwcm9maWxlKTsKICAgICB9LAogCkBAIC0zMTIsOSArMzE2LDcgQEAgV2ViSW5zcGVjdG9yLlBy
b2ZpbGVzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXByb2ZpbGUpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy53ZWxjb21lVmlldy5oaWRlKCk7Ci0gICAgICAg
IGlmICh0aGlzLnZpc2libGVWaWV3KQotICAgICAgICAgICAgdGhpcy52aXNpYmxlVmlldy5oaWRl
KCk7CisgICAgICAgIHRoaXMuY2xvc2VWaXNpYmxlVmlldygpOwogCiAgICAgICAgIHZhciB2aWV3
ID0gcHJvZmlsZS5fX3Byb2ZpbGVzUGFuZWxQcm9maWxlVHlwZS52aWV3Rm9yUHJvZmlsZShwcm9m
aWxlKTsKIApAQCAtMzM0LDcgKzMzNiwxOSBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5w
cm90b3R5cGUgPSB7CiAKICAgICBzaG93VmlldzogZnVuY3Rpb24odmlldykKICAgICB7Ci0gICAg
ICAgIHRoaXMuc2hvd1Byb2ZpbGUodmlldy5wcm9maWxlKTsKKyAgICAgICAgaWYgKHRoaXMudmlz
aWJsZVZpZXcgPT09IHZpZXcpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGVWaWV3ICYm
ICF0aGlzLnZpc2libGVWaWV3LnZpc2libGUpCisgICAgICAgICAgICAgICAgdmlldy5zaG93KCk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl9wcmV2aW91
c1Zpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKKyAgICAgICAgaWYgKHZpZXcgPT09IHRo
aXMud2VsY29tZVZpZXcpIHsKKyAgICAgICAgICAgIHRoaXMuY2xvc2VWaXNpYmxlVmlldygpOwor
ICAgICAgICAgICAgdGhpcy52aXNpYmxlVmlldyA9IHZpZXc7CisgICAgICAgICAgICB2aWV3LnNo
b3coKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0aGlzLnNob3dQcm9maWxlKHZpZXcu
cHJvZmlsZSk7CiAgICAgfSwKIAogICAgIGdldFByb2ZpbGVUeXBlOiBmdW5jdGlvbih0eXBlSWQp
CkBAIC0zNjYsNyArMzgwLDYgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBl
ID0gewogICAgICAgICBpZiAodGhpcy52aXNpYmxlVmlldykKICAgICAgICAgICAgIHRoaXMudmlz
aWJsZVZpZXcuaGlkZSgpOwogICAgICAgICBkZWxldGUgdGhpcy52aXNpYmxlVmlldzsKLSAgICAg
ICAgdGhpcy53ZWxjb21lVmlldy5zaG93KCk7CiAgICAgfSwKIAogICAgIGRpc3BsYXlUaXRsZUZv
clByb2ZpbGVMaW5rOiBmdW5jdGlvbih0aXRsZSwgdHlwZUlkKQpAQCAtNDI4LDEzICs0NDEsNiBA
QCBXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAg
ICB9LAogCi0gICAgcmVzaXplOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2YXIgdmlzaWJs
ZVZpZXcgPSB0aGlzLnZpc2libGVWaWV3OwotICAgICAgICBpZiAodmlzaWJsZVZpZXcgJiYgInJl
c2l6ZSIgaW4gdmlzaWJsZVZpZXcpCi0gICAgICAgICAgICB2aXNpYmxlVmlldy5yZXNpemUoKTsK
LSAgICB9LAotCiAgICAgX3VwZGF0ZUludGVyZmFjZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgLy8gRklYTUU6IFJlcGxhY2UgUHJvZmlsZVR5cGUtc3BlY2lmaWMgYnV0dG9uIHZpc2liaWxp
dHkgY2hhbmdlcyBieSBhIHNpbmdsZSBQcm9maWxlVHlwZS1hZ25vc3RpYyAiY29tYm8tYnV0dG9u
IiB2aXNpYmlsaXR5IGNoYW5nZS4KQEAgLTQ0Niw2ICs0NTIsNyBAQCBXZWJJbnNwZWN0b3IuUHJv
ZmlsZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLnByb2ZpbGVWaWV3U3Rh
dHVzQmFySXRlbXNDb250YWluZXIucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CiAgICAgICAg
ICAgICB0aGlzLnBhbmVsRW5hYmxlclZpZXcudmlzaWJsZSA9IGZhbHNlOwogICAgICAgICAgICAg
dGhpcy53ZWxjb21lVmlldy52aXNpYmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMudmlzaWJs
ZVZpZXcgPSB0aGlzLl9wcmV2aW91c1Zpc2libGVWaWV3IHx8IHRoaXMud2VsY29tZVZpZXc7CiAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICB0aGlzLmVuYWJsZVRvZ2dsZUJ1dHRvbi50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUHJvZmlsaW5nIGRpc2FibGVkLiBDbGljayB0byBl
bmFibGUuIik7CiAgICAgICAgICAgICB0aGlzLmVuYWJsZVRvZ2dsZUJ1dHRvbi50b2dnbGVkID0g
ZmFsc2U7CkBAIC00NTQsNiArNDYxLDcgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJv
dG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5wcm9maWxlVmlld1N0YXR1c0Jhckl0ZW1zQ29u
dGFpbmVyLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAgICAgICAgICAgdGhpcy53ZWxjb21l
Vmlldy52aXNpYmxlID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLnBhbmVsRW5hYmxlclZpZXcu
dmlzaWJsZSA9IHRydWU7CisgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3ID0gdGhpcy5wYW5l
bEVuYWJsZXJWaWV3OwogICAgICAgICB9CiAgICAgfSwKIApAQCAtNDk2LDggKzUwNCwxMCBAQCBX
ZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICB1cGRhdGVNYWlu
Vmlld1dpZHRoOiBmdW5jdGlvbih3aWR0aCkKICAgICB7CisgICAgICAgIHRoaXMud2VsY29tZVZp
ZXcuZWxlbWVudC5zdHlsZS5sZWZ0ID0gd2lkdGggKyAicHgiOwogICAgICAgICB0aGlzLnByb2Zp
bGVWaWV3cy5zdHlsZS5sZWZ0ID0gd2lkdGggKyAicHgiOwogICAgICAgICB0aGlzLnByb2ZpbGVW
aWV3U3RhdHVzQmFySXRlbXNDb250YWluZXIuc3R5bGUubGVmdCA9IHdpZHRoICsgInB4IjsKKyAg
ICAgICAgdGhpcy5yZXNpemUoKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwppbmRleCAwMzQ3Mjk0Li5hOWI1MTQ2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKKysrIGIv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCkBAIC0xOTIsMTAg
KzE5MiwxMSBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICBXZWJJbnNwZWN0b3IuQWJzdHJhY3RUaW1lbGluZVBhbmVsLnByb3RvdHlwZS5zaG93LmNh
bGwodGhpcyk7CiAKICAgICAgICAgdmFyIHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsK
LSAgICAgICAgaWYgKHZpc2libGVWaWV3KSB7CisgICAgICAgIGlmICh0aGlzLnZpc2libGVSZXNv
dXJjZSkgewogICAgICAgICAgICAgdmlzaWJsZVZpZXcuaGVhZGVyc1Zpc2libGUgPSB0cnVlOwog
ICAgICAgICAgICAgdmlzaWJsZVZpZXcuc2hvdyh0aGlzLnZpZXdzQ29udGFpbmVyRWxlbWVudCk7
Ci0gICAgICAgIH0KKyAgICAgICAgfSBlbHNlIGlmICh2aXNpYmxlVmlldykKKyAgICAgICAgICAg
IHZpc2libGVWaWV3LnNob3coKTsKIAogICAgICAgICAvLyBIaWRlIGFueSB2aWV3cyB0aGF0IGFy
ZSB2aXNpYmxlIHRoYXQgYXJlIG5vdCB0aGlzIHBhbmVsJ3MgY3VycmVudCB2aXNpYmxlIHZpZXcu
CiAgICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIGEgUmVzb3VyY2VWaWV3IGlzIHZpc2li
bGUgaW4gdGhlIFNjcmlwdHMgcGFuZWwgdGhlbiBzd2l0Y2hlZApAQCAtMjEwLDE1ICsyMTEsNiBA
QCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB9CiAg
ICAgfSwKIAotICAgIHJlc2l6ZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLkFic3RyYWN0VGltZWxpbmVQYW5lbC5wcm90b3R5cGUucmVzaXplLmNhbGwodGhpcyk7Ci0K
LSAgICAgICAgdmFyIHZpc2libGVWaWV3ID0gdGhpcy52aXNpYmxlVmlldzsKLSAgICAgICAgaWYg
KHZpc2libGVWaWV3ICYmICJyZXNpemUiIGluIHZpc2libGVWaWV3KQotICAgICAgICAgICAgdmlz
aWJsZVZpZXcucmVzaXplKCk7Ci0gICAgfSwKLQogICAgIGdldCBzZWFyY2hhYmxlVmlld3MoKQog
ICAgIHsKICAgICAgICAgdmFyIHZpZXdzID0gW107CkBAIC0yODcsNyArMjc5LDcgQEAgV2ViSW5z
cGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLnZpc2libGVSZXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiB0aGlzLnZpc2libGVSZXNv
dXJjZS5fcmVzb3VyY2VzVmlldzsKLSAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHJldHVy
biBJbnNwZWN0b3JCYWNrZW5kLnJlc291cmNlVHJhY2tpbmdFbmFibGVkKCkgPyBudWxsIDogdGhp
cy5wYW5lbEVuYWJsZXJWaWV3OwogICAgIH0sCiAKICAgICBnZXQgc29ydGluZ0Z1bmN0aW9uKCkK
QEAgLTY4NCw4ICs2NzYsMTAgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlw
ZSA9IHsKIAogICAgIHVwZGF0ZU1haW5WaWV3V2lkdGg6IGZ1bmN0aW9uKHdpZHRoKQogICAgIHsK
LSAgICAgICAgV2ViSW5zcGVjdG9yLkFic3RyYWN0VGltZWxpbmVQYW5lbC5wcm90b3R5cGUudXBk
YXRlTWFpblZpZXdXaWR0aC5jYWxsKHRoaXMsIHdpZHRoKTsKICAgICAgICAgdGhpcy52aWV3c0Nv
bnRhaW5lckVsZW1lbnQuc3R5bGUubGVmdCA9IHdpZHRoICsgInB4IjsKKworICAgICAgICBXZWJJ
bnNwZWN0b3IuQWJzdHJhY3RUaW1lbGluZVBhbmVsLnByb3RvdHlwZS51cGRhdGVNYWluVmlld1dp
ZHRoLmNhbGwodGhpcywgd2lkdGgpOworICAgICAgICB0aGlzLnJlc2l6ZSgpOwogICAgIH0sCiAK
ICAgICBfZW5hYmxlUmVzb3VyY2VUcmFja2luZzogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NldHRpbmdzLmpzCmluZGV4IDZjZDQ0OTcuLjNmZGQxOWMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcworKysgYi9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKQEAgLTM3LDcgKzM3LDYgQEAgdmFyIFByZWZl
cmVuY2VzID0gewogICAgIG1pblNjcmlwdHNTaWRlYmFyV2lkdGg6IDIwMCwKICAgICBzdHlsZVJ1
bGVzRXhwYW5kZWRTdGF0ZToge30sCiAgICAgc2hvd01pc3NpbmdMb2NhbGl6ZWRTdHJpbmdzOiBm
YWxzZSwKLSAgICBoZWFwUHJvZmlsZXJQcmVzZW50OiBmYWxzZSwKICAgICBzYW1wbGluZ0NQVVBy
b2ZpbGVyOiBmYWxzZSwKICAgICBzaG93Q29sb3JOaWNrbmFtZXM6IHRydWUKIH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdG9yYWdlUGFuZWwuanMgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU3RvcmFnZVBhbmVsLmpzCmluZGV4IGRkNTU4ZGYuLmRlZTQ0
NDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdG9yYWdlUGFuZWwu
anMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0b3JhZ2VQYW5lbC5qcwpAQCAt
MzU0LDEzICszNTQsNiBAQCBXZWJJbnNwZWN0b3IuU3RvcmFnZVBhbmVsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgcmV0dXJuIGRhdGFHcmlkOwogICAgIH0sCiAKLSAgICByZXNpemU6IGZ1bmN0aW9u
KCkKLSAgICB7Ci0gICAgICAgIHZhciB2aXNpYmxlVmlldyA9IHRoaXMudmlzaWJsZVZpZXc7Ci0g
ICAgICAgIGlmICh2aXNpYmxlVmlldyAmJiAicmVzaXplIiBpbiB2aXNpYmxlVmlldykKLSAgICAg
ICAgICAgIHZpc2libGVWaWV3LnJlc2l6ZSgpOwotICAgIH0sCi0KICAgICB1cGRhdGVET01TdG9y
YWdlOiBmdW5jdGlvbihzdG9yYWdlSWQpCiAgICAgewogICAgICAgICB2YXIgZG9tU3RvcmFnZSA9
IHRoaXMuX2RvbVN0b3JhZ2VGb3JJZChzdG9yYWdlSWQpOwpAQCAtMzg5LDYgKzM4Miw3IEBAIFdl
Ykluc3BlY3Rvci5TdG9yYWdlUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhp
cy5zdG9yYWdlVmlld3Muc3R5bGUubGVmdCA9IHdpZHRoICsgInB4IjsKICAgICAgICAgdGhpcy5z
dG9yYWdlVmlld1N0YXR1c0Jhckl0ZW1zQ29udGFpbmVyLnN0eWxlLmxlZnQgPSB3aWR0aCArICJw
eCI7CisgICAgICAgIHRoaXMucmVzaXplKCk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2VsY29tZVZpZXcuanMgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvV2VsY29tZVZpZXcuanMKaW5kZXggMWUxNmM0ZS4uNzNlNjQ0NyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlbGNvbWVWaWV3LmpzCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWxjb21lVmlldy5qcwpAQCAtNTIsMTIgKzUyLDE4
IEBAIFdlYkluc3BlY3Rvci5XZWxjb21lVmlldyA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGhlYWRp
bmdUZXh0LCBpbnN0cnVjdGlvbnNUZXh0KQogCiAgICAgaWYgKGluc3RydWN0aW9uc1RleHQpCiAg
ICAgICAgIHRoaXMuYWRkTWVzc2FnZShpbnN0cnVjdGlvbnNUZXh0KTsKLQotICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCB0aGlzLl93aW5kb3dSZXNpemVkLmJpbmQodGhpcyks
IHRydWUpOwogfQogCiBXZWJJbnNwZWN0b3IuV2VsY29tZVZpZXcucHJvdG90eXBlID0gewotICAg
IF93aW5kb3dSZXNpemVkOiBmdW5jdGlvbigpCisKKyAgICBzaG93OiBmdW5jdGlvbihwYXJlbnRF
bGVtZW50KQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLnNob3cu
Y2FsbCh0aGlzLCBwYXJlbnRFbGVtZW50KTsKKworICAgICAgICBzZXRUaW1lb3V0KHRoaXMucmVz
aXplLmJpbmQodGhpcyksIDApOworICAgIH0sCisKKyAgICByZXNpemU6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHRoaXMuaW1hZ2VFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIp
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNz
cyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IDBhYTc5
ZTIuLmZhNjVmODggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuY3NzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3Nz
CkBAIC0yMjc1LDcgKzIyNzUsNiBAQCBib2R5LmluYWN0aXZlIC5kYXRhLWdyaWQgdGguc29ydC1h
c2NlbmRpbmcsIGJvZHkuaW5hY3RpdmUgLmRhdGEtZ3JpZCB0aC5zb3J0LWRlcwogCiAucGFuZWwt
ZW5hYmxlci12aWV3LndlbGNvbWUgewogICAgIHotaW5kZXg6IGF1dG87Ci0gICAgbGVmdDogMjAw
cHg7CiB9CiAKIC5wYW5lbC1lbmFibGVyLXZpZXcud2VsY29tZSBpbWcgewpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggYzRmNDU4ZC4uNWNmOTNiMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC01MjIsNyArNTIyLDcgQEAg
V2ViSW5zcGVjdG9yLndpbmRvd1VubG9hZCA9IGZ1bmN0aW9uKGV2ZW50KQogCiBXZWJJbnNwZWN0
b3Iud2luZG93UmVzaXplID0gZnVuY3Rpb24oZXZlbnQpCiB7Ci0gICAgaWYgKHRoaXMuY3VycmVu
dFBhbmVsICYmIHRoaXMuY3VycmVudFBhbmVsLnJlc2l6ZSkKKyAgICBpZiAodGhpcy5jdXJyZW50
UGFuZWwpCiAgICAgICAgIHRoaXMuY3VycmVudFBhbmVsLnJlc2l6ZSgpOwogICAgIHRoaXMuZHJh
d2VyLnJlc2l6ZSgpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>