<?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>67483</bug_id>
          
          <creation_ts>2011-09-02 06:33:41 -0700</creation_ts>
          <short_desc>Web Inspector: Console is always scrolled to the top</short_desc>
          <delta_ts>2011-09-22 06:42:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>vsevik</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>461192</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-02 06:33:41 -0700</bug_when>
    <thetext>Ustreaming Chromium bug: http://code.google.com/p/chromium/issues/detail?id=86832

What steps will reproduce the problem?
1. Open JS console.
2. Scroll to the bottom.
3. Go to the script tab.
4. Go back to the console.

What is the expected result?

The console should by default be scrolled to the bottom. That&apos;s where the newest information is and where new statements can be entered.


What happens instead?

Console always scrolls back to the top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461197</commentid>
    <comment_count>1</comment_count>
      <attachid>106126</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-02 06:40:26 -0700</bug_when>
    <thetext>Created attachment 106126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461355</commentid>
    <comment_count>2</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-02 11:16:18 -0700</bug_when>
    <thetext>This does not look nice. Scroll changes when switching between console panel and console drawer are not smooth at all.

I suggest that we have the following behavior of scroll in console:

1) If we are not at the bottom of console, then store/restore scrollTop for possible each action.
2) If we are at the bottom of console, then keep this state until user scrolls explicitly.

I have a patch implementing this behavior ready and will upload it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>461377</commentid>
    <comment_count>3</comment_count>
      <attachid>106166</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-02 11:37:26 -0700</bug_when>
    <thetext>Created attachment 106166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462034</commentid>
    <comment_count>4</comment_count>
      <attachid>106166</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-04 22:52:46 -0700</bug_when>
    <thetext>Comment on attachment 106166
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:227
&gt; +        WebInspector.View.prototype.show.call(this);

I remember caseq implementing View hierarchy that was moving the logic from show and hide to wasShown and willHide. Is this change in line with what he was doing?

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:254
&gt; +        if (this._scrolledToBottom)

You might want to just override the original logic here so that you don&apos;t use this hybrid approach.

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:262
&gt; +        this.restoreScrollPositions();

this._scrolledToBottom value might be out of date by this moment (user scrolled manually).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462074</commentid>
    <comment_count>5</comment_count>
      <attachid>106166</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-09-05 01:46:40 -0700</bug_when>
    <thetext>Comment on attachment 106166
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:255
&gt; +            this._immediatelyScrollIntoView();

The console may have been cleared after the position was stored, in this case it doesn&apos;t make sense to restore scroller position if it&apos;s not bottom/top.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470211</commentid>
    <comment_count>6</comment_count>
      <attachid>108033</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-20 11:31:59 -0700</bug_when>
    <thetext>Created attachment 108033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470229</commentid>
    <comment_count>7</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-20 11:47:27 -0700</bug_when>
    <thetext>&gt; I remember caseq implementing View hierarchy that was moving the logic from show and hide to wasShown and willHide. Is this change in line with what he was doing?
New logic is added to wasShown now.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ConsoleView.js:254
&gt; &gt; +        if (this._scrolledToBottom)
&gt; 
&gt; You might want to just override the original logic here so that you don&apos;t use this hybrid approach.
I don&apos;t understand your idea. Essentially console reuses typical store/restore scroll approach with an exception of scrolled-to-bottom case.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ConsoleView.js:262
&gt; &gt; +        this.restoreScrollPositions();
&gt; 
&gt; this._scrolledToBottom value might be out of date by this moment (user scrolled manually).
The idea is that this._scrolledToBottom is updated before hide/resize starts, see _startStatusBarDragging() in Drawer.

(In reply to comment #5)
&gt; (From update of attachment 106166 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106166&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/ConsoleView.js:255
&gt; &gt; +            this._immediatelyScrollIntoView();
&gt; 
&gt; The console may have been cleared after the position was stored, in this case it doesn&apos;t make sense to restore scroller position if it&apos;s not bottom/top.
Added call to storeScrollPositions in ConsoleCleared event handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471492</commentid>
    <comment_count>8</comment_count>
      <attachid>108033</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-09-22 04:47:24 -0700</bug_when>
    <thetext>Comment on attachment 108033
Patch

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

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:229
&gt; +        WebInspector.View.prototype.wasShown.call(this);

This is a View&apos;s flaw. wasShown should be abstract.

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:284
&gt; +        if (!this._scrollIntoViewTimer)

if (!this._isScrollIntoViewScheduled())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471530</commentid>
    <comment_count>9</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-09-22 06:42:36 -0700</bug_when>
    <thetext>Committed r95716: &lt;http://trac.webkit.org/changeset/95716&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106126</attachid>
            <date>2011-09-02 06:40:26 -0700</date>
            <delta_ts>2011-09-02 11:37:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67483-20110902174024.patch</filename>
            <type>text/plain</type>
            <size>3047</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQzODcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMmNjZTI2YjQyYjhiZjM3
YTUzNDVmMmE4ZDU1NGUzZjA0NTFkMTZmLi5hYWM3OGFjZDg0NWVmNTJmMDE1MzI3NzBhZDZhNTIy
NjIzZGZlMjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMDIgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQ29uc29sZSBpcyBhbHdheXMgc2Nyb2xsZWQgdG8gdGhlIHRvcAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0ODMKKworICAgICAgICBTY3JvbGwg
Y29uc29sZSB0byB0aGUgYm90dG9tIGlmIGFmdGVyIHN3aXRjaGluZyBiZXR3ZWVuIHZpZXcgYW5k
IHBhbmVsIG1vZGVzIGlmCisgICAgICAgIGl0IHdhcyBzY3JvbGxlZCBiZWZvcmUgdGhlICBzd2l0
Y2hpbmcuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS53aWxsU3RhcnRBbmltYXRpb24pOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5hbmltYXRpb25GaW5pc2hlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLmFmdGVyU2hvdyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fYW5pbWF0ZURyYXdlckhlaWdodC5hbmltYXRpb25GaW5p
c2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fYW5pbWF0ZURy
YXdlckhlaWdodCk6CisKIDIwMTEtMDktMDEgIFRha2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtXZWJTb2NrZXRdIEltcGxlbWVudCBXZWJTb2NrZXQ6
OmNsb3NlKCkgY29kZSBhbmQgcmVhc29uIGhhbmRsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXggZDM4NGRmZDQwOWJiMjg4
OGI5NGUyYWRmNzNmMmI5NDAxZmIyMjhlOC4uOTI4OThlZmQ2NTEyODk4MDY4ZGQ5MmI3MGVmZWUy
ZWEwYzU2NWRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnNvbGVWaWV3LmpzCkBAIC0yMzAsOSArMjMwLDIyIEBAIFdlYkluc3BlY3Rvci5Db25zb2xl
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLnByb21wdC5tb3ZlQ2FyZXRUb0Vu
ZE9mUHJvbXB0KCk7CiAgICAgfSwKIAorICAgIHdpbGxTdGFydEFuaW1hdGlvbjogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgdGhpcy5fc2hvdWxkU2Nyb2xsVG9Cb3R0b21BZnRlckFuaW1hdGlv
biA9ICh0aGlzLl9pc1Njcm9sbEludG9WaWV3U2NoZWR1bGVkKCkgfHwgdGhpcy5tZXNzYWdlc0Vs
ZW1lbnQuaXNTY3JvbGxlZFRvQm90dG9tKCkpOworICAgIH0sCisKKyAgICBhbmltYXRpb25GaW5p
c2hlZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFNjcm9sbFRv
Qm90dG9tQWZ0ZXJBbmltYXRpb24pCisgICAgICAgICAgICB0aGlzLnByb21wdEVsZW1lbnQuc2Ny
b2xsSW50b1ZpZXcodHJ1ZSk7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9zaG91bGRTY3JvbGxUb0Jv
dHRvbUFmdGVyQW5pbWF0aW9uOworICAgIH0sCisKICAgICBhZnRlclNob3c6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50ID0gdGhpcy5w
cm9tcHRFbGVtZW50OworICAgICAgICB0aGlzLnByb21wdEVsZW1lbnQuc2Nyb2xsSW50b1ZpZXco
dHJ1ZSk7CiAgICAgfSwKIAogICAgIGhpZGU6IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMKaW5kZXggNjg1YTY2ZjUwMDc3ZWE3MDkwZWMy
MDIxNDQ5MGUwNmE0MDZlNDkwMC4uNjFjODBjNTYwZmNmMDc3M2M1ZWIyNDViYTllN2I1NzkxOTA4
ZGM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3
ZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMK
QEAgLTI5Nyw4ICsyOTcsMTEgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICBkZWxldGUgdGhpcy5fYW5pbWF0aW5nOwogICAgICAgICAgICAgZGVsZXRlIHRo
aXMuX2N1cnJlbnRBbmltYXRpb247CiAgICAgICAgICAgICB0aGlzLnN0YXRlID0gZmluYWxTdGF0
ZTsKKyAgICAgICAgICAgIGlmICh0aGlzLnZpc2libGVWaWV3LmFuaW1hdGlvbkZpbmlzaGVkKCkp
CisgICAgICAgICAgICAgICAgdGhpcy52aXNpYmxlVmlldy5hbmltYXRpb25GaW5pc2hlZCgpOwog
ICAgICAgICB9Ci0KKyAgICAgICAgaWYgKHRoaXMudmlzaWJsZVZpZXcud2lsbFN0YXJ0QW5pbWF0
aW9uKQorICAgICAgICAgICAgdGhpcy52aXNpYmxlVmlldy53aWxsU3RhcnRBbmltYXRpb24oKTsK
ICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbiA9IFdlYkluc3BlY3Rvci5hbmltYXRlU3R5
bGUoYW5pbWF0aW9ucywgdGhpcy5fYW5pbWF0aW9uRHVyYXRpb24oKSwgYW5pbWF0aW9uRmluaXNo
ZWQuYmluZCh0aGlzKSk7CiAgICAgfSwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106166</attachid>
            <date>2011-09-02 11:37:26 -0700</date>
            <delta_ts>2011-09-20 11:31:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67483-20110902223724.patch</filename>
            <type>text/plain</type>
            <size>10047</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ0MTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4NGVmNTFhN2M4MWM1OTYx
MDQ1MmRhNThjYzZlNGEwMmJjNzM0NzBkLi44YzVmNDliNzdjMzZhNTkzYTA3M2VjOWQ3MWZiYWMy
NjU1MDhjMDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzMgQEAKIDIwMTEtMDktMDIgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQ29uc29sZSBpcyBhbHdheXMgc2Nyb2xsZWQgdG8gdGhlIHRvcAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0ODMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBl
LnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5oaWRl
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUuc3RvcmVTY3Jv
bGxQb3NpdGlvbnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlw
ZS5yZXN0b3JlU2Nyb2xsUG9zaXRpb25zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xl
Vmlldy5wcm90b3R5cGUub25SZXNpemUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3LnByb3RvdHlwZS5faW1tZWRpYXRlbHlTY3JvbGxJbnRvVmlldyk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9jYW5jZWxTY2hlZHVsZWRTY3JvbGxJbnRv
Vmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5zaG93LmFuaW1hdGluZyk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EcmF3ZXIucHJvdG90eXBlLmhpZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdl
ci5wcm90b3R5cGUuZW50ZXJQYW5lbE1vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdl
ci5wcm90b3R5cGUuZXhpdFBhbmVsTW9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2Vy
LnByb3RvdHlwZS5fYW5pbWF0ZURyYXdlckhlaWdodC5hbmltYXRpbmcpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuX2FuaW1hdGVEcmF3ZXJIZWlnaHQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuX3N0YXJ0U3RhdHVzQmFyRHJhZ2dpbmcp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuX3N0YXR1c0JhckRyYWdn
aW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUpOgorCisyMDExLTA5LTAyICBWc2V2b2xvZCBW
bGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE1h
a2UgaXQgbW9yZSBjbGVhciB3aGVuIHJlcXVlc3RzIGFyZSBsb2FkZWQgZnJvbSBjYWNoZSBvbiBu
ZXR3b3JrIHBhbmVsLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjczOTYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Db25zb2xlVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Q29uc29sZVZpZXcuanMKaW5kZXggZDM4NGRmZDQwOWJiMjg4OGI5NGUyYWRmNzNmMmI5NDAxZmIy
MjhlOC4uNWQ2NDRkZTUyMzNmMzdiNzY3ZGI5NmZlZDU3NzlmMjBhOWExMTU5OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBAIC0y
MjQsNiArMjI0LDcgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKIAog
ICAgIHNob3c6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5WaWV3LnBy
b3RvdHlwZS5zaG93LmNhbGwodGhpcyk7CiAgICAgICAgIHRoaXMudG9nZ2xlQ29uc29sZUJ1dHRv
bi50b2dnbGVkID0gdHJ1ZTsKICAgICAgICAgdGhpcy50b2dnbGVDb25zb2xlQnV0dG9uLnRpdGxl
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJIaWRlIGNvbnNvbGUuIik7CiAgICAgICAgIGlmICgh
dGhpcy5wcm9tcHQuaXNDYXJldEluc2lkZVByb21wdCgpKQpAQCAtMjM3LDEwICsyMzgsMzAgQEAg
V2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIGhpZGU6IGZ1bmN0
aW9uKCkKICAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5oaWRlLmNh
bGwodGhpcyk7CiAgICAgICAgIHRoaXMudG9nZ2xlQ29uc29sZUJ1dHRvbi50b2dnbGVkID0gZmFs
c2U7CiAgICAgICAgIHRoaXMudG9nZ2xlQ29uc29sZUJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiU2hvdyBjb25zb2xlLiIpOwogICAgIH0sCiAKKyAgICBzdG9yZVNjcm9sbFBv
c2l0aW9uczogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlZpZXcucHJv
dG90eXBlLnN0b3JlU2Nyb2xsUG9zaXRpb25zLmNhbGwodGhpcyk7CisgICAgICAgIHRoaXMuX3Nj
cm9sbGVkVG9Cb3R0b20gPSB0aGlzLm1lc3NhZ2VzRWxlbWVudC5pc1Njcm9sbGVkVG9Cb3R0b20o
KTsKKyAgICB9LAorCisgICAgcmVzdG9yZVNjcm9sbFBvc2l0aW9uczogZnVuY3Rpb24oKQorICAg
IHsKKyAgICAgICAgaWYgKHRoaXMuX3Njcm9sbGVkVG9Cb3R0b20pCisgICAgICAgICAgICB0aGlz
Ll9pbW1lZGlhdGVseVNjcm9sbEludG9WaWV3KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5yZXN0b3JlU2Nyb2xsUG9zaXRpb25zLmNhbGwo
dGhpcyk7CisgICAgfSwKKworICAgIG9uUmVzaXplOiBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICB0aGlzLnJlc3RvcmVTY3JvbGxQb3NpdGlvbnMoKTsKKyAgICB9LAorCiAgICAgX2lzU2Nyb2xs
SW50b1ZpZXdTY2hlZHVsZWQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiAhIXRo
aXMuX3Njcm9sbEludG9WaWV3VGltZXI7CkBAIC0yNTksNiArMjgwLDIxIEBAIFdlYkluc3BlY3Rv
ci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3Njcm9sbEludG9WaWV3
VGltZXIgPSBzZXRUaW1lb3V0KHNjcm9sbEludG9WaWV3LmJpbmQodGhpcyksIDIwKTsKICAgICB9
LAogCisgICAgX2ltbWVkaWF0ZWx5U2Nyb2xsSW50b1ZpZXc6IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIHRoaXMucHJvbXB0RWxlbWVudC5zY3JvbGxJbnRvVmlldyh0cnVlKTsKKyAgICAgICAg
dGhpcy5fY2FuY2VsU2NoZWR1bGVkU2Nyb2xsSW50b1ZpZXcoKTsKKyAgICB9LAorCisgICAgX2Nh
bmNlbFNjaGVkdWxlZFNjcm9sbEludG9WaWV3OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBp
ZiAoIXRoaXMuX3Njcm9sbEludG9WaWV3VGltZXIpCisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIAorICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fc2Nyb2xsSW50b1ZpZXdUaW1lcik7Cisg
ICAgICAgIGRlbGV0ZSB0aGlzLl9zY3JvbGxJbnRvVmlld1RpbWVyOworICAgIH0sCisKICAgICBf
Y29uc29sZU1lc3NhZ2VBZGRlZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB0aGlz
Ll9hcHBlbmRDb25zb2xlTWVzc2FnZShldmVudC5kYXRhKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMKaW5kZXggNjg1YTY2ZjUwMDc3ZWE3MDkwZWMyMDIx
NDQ5MGUwNmE0MDZlNDkwMC4uOGZkMjZhNTZmYWQzZGQ2ZTgzYTVmN2Y5MGI5NDIyY2NlZDUyYTU2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMKQEAg
LTkxLDE1ICs5MSwxNSBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgaWYgKHRoaXMuX2FuaW1hdGluZyB8fCB0aGlzLnZpc2libGUpCiAgICAgICAgICAgICByZXR1
cm47CiAKLSAgICAgICAgaWYgKHRoaXMudmlzaWJsZVZpZXcpCi0gICAgICAgICAgICB0aGlzLnZp
c2libGVWaWV3LnNob3coKTsKLQotICAgICAgICBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUu
c2hvdy5jYWxsKHRoaXMpOwotCiAgICAgICAgIHRoaXMuX2FuaW1hdGluZyA9IHRydWU7CiAKICAg
ICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNzKCJkcmF3ZXItdmlzaWJsZSIpOwogCisg
ICAgICAgIFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5zaG93LmNhbGwodGhpcyk7CisKKyAg
ICAgICAgaWYgKHRoaXMudmlzaWJsZVZpZXcpCisgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3
LnNob3coKTsKKwogICAgICAgICB2YXIgYW5jaG9yZWRJdGVtcyA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJhbmNob3JlZC1zdGF0dXMtYmFyLWl0ZW1zIik7CiAgICAgICAgIHZhciBoZWlnaHQg
PSAodGhpcy5mdWxsUGFuZWwgPyB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aGlzLl90b29sYmFyRWxl
bWVudC5vZmZzZXRIZWlnaHQgOiB0aGlzLnNhdmVkSGVpZ2h0KTsKICAgICAgICAgdmFyIGFuaW1h
dGlvbnMgPSBbCkBAIC0xMjAsNiArMTIwLDExIEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90
eXBlID0gewogICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycyk7CiAgICAgICAgIH0KIAorICAgICAgICBmdW5jdGlvbiBh
bmltYXRpbmcoKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3LmRvUmVz
aXplKCk7CisgICAgICAgIH0KKwogICAgICAgICBmdW5jdGlvbiBhbmltYXRpb25GaW5pc2hlZCgp
CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICgidXBkYXRlU3RhdHVzQmFySXRlbXMiIGluIFdl
Ykluc3BlY3Rvci5jdXJyZW50UGFuZWwpCkBAIC0xMzMsNyArMTM4LDcgQEAgV2ViSW5zcGVjdG9y
LkRyYXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVs
Q291bnRlcnMucmVtb3ZlQXR0cmlidXRlKCJzdHlsZSIpOwogICAgICAgICB9CiAKLSAgICAgICAg
dGhpcy5fY3VycmVudEFuaW1hdGlvbiA9IFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUoYW5pbWF0
aW9ucywgdGhpcy5fYW5pbWF0aW9uRHVyYXRpb24oKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0
aGlzKSk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRBbmltYXRpb24gPSBXZWJJbnNwZWN0b3IuYW5p
bWF0ZVN0eWxlKGFuaW1hdGlvbnMsIHRoaXMuX2FuaW1hdGlvbkR1cmF0aW9uKCksIGFuaW1hdGlu
Zy5iaW5kKHRoaXMpLCBhbmltYXRpb25GaW5pc2hlZC5iaW5kKHRoaXMpKTsKICAgICB9LAogCiAg
ICAgaGlkZTogZnVuY3Rpb24oKQpAQCAtMTQxLDExICsxNDYsMTEgQEAgV2ViSW5zcGVjdG9yLkRy
YXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICh0aGlzLl9hbmltYXRpbmcgfHwgIXRoaXMu
dmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBXZWJJbnNwZWN0b3IuVmll
dy5wcm90b3R5cGUuaGlkZS5jYWxsKHRoaXMpOwotCiAgICAgICAgIGlmICh0aGlzLnZpc2libGVW
aWV3KQogICAgICAgICAgICAgdGhpcy52aXNpYmxlVmlldy5oaWRlKCk7CiAKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLmhpZGUuY2FsbCh0aGlzKTsKKwogICAgICAgICB0aGlz
Ll9hbmltYXRpbmcgPSB0cnVlOwogCiAgICAgICAgIGlmICghdGhpcy5mdWxsUGFuZWwpCkBAIC0x
NzcsNiArMTgyLDExIEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IDB9LCBlbmQ6IHsicGFkZGluZy1yaWdodCI6IHJp
Z2h0UGFkZGluZ319KTsKICAgICAgICAgfQogCisgICAgICAgIGZ1bmN0aW9uIGFuaW1hdGluZygp
CisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMudmlzaWJsZVZpZXcuZG9SZXNpemUoKTsKKyAg
ICAgICAgfQorCiAgICAgICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAg
ewogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRQYW5lbC5kb1Jlc2l6ZSgpOwpAQCAt
MTk1LDcgKzIwNSw3IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgdGhpcy5zdGF0ZSA9IFdlYkluc3BlY3Rvci5EcmF3ZXIuU3RhdGUuSGlkZGVuOwogICAg
ICAgICB9CiAKLSAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbiA9IFdlYkluc3BlY3Rvci5h
bmltYXRlU3R5bGUoYW5pbWF0aW9ucywgdGhpcy5fYW5pbWF0aW9uRHVyYXRpb24oKSwgYW5pbWF0
aW9uRmluaXNoZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRBbmltYXRpb24g
PSBXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlKGFuaW1hdGlvbnMsIHRoaXMuX2FuaW1hdGlvbkR1
cmF0aW9uKCksIGFuaW1hdGluZy5iaW5kKHRoaXMpLCBhbmltYXRpb25GaW5pc2hlZC5iaW5kKHRo
aXMpKTsKICAgICB9LAogCiAgICAgb25SZXNpemU6IGZ1bmN0aW9uKCkKQEAgLTIxNiw2ICsyMjYs
NyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAgIGVudGVyUGFuZWxN
b2RlOiBmdW5jdGlvbigpCiAgICAgeworICAgICAgICB0aGlzLnZpc2libGVWaWV3LnN0b3JlU2Ny
b2xsUG9zaXRpb25zKCk7CiAgICAgICAgIHRoaXMuX2NhbmNlbEFuaW1hdGlvbklmTmVlZGVkKCk7
CiAgICAgICAgIHRoaXMuZnVsbFBhbmVsID0gdHJ1ZTsKICAgICAgICAgdGhpcy51cGRhdGVIZWln
aHQoKTsKQEAgLTIyMyw2ICsyMzQsNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9
IHsKIAogICAgIGV4aXRQYW5lbE1vZGU6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIHRoaXMu
dmlzaWJsZVZpZXcuc3RvcmVTY3JvbGxQb3NpdGlvbnMoKTsKICAgICAgICAgdGhpcy5fY2FuY2Vs
QW5pbWF0aW9uSWZOZWVkZWQoKTsKICAgICAgICAgdGhpcy5mdWxsUGFuZWwgPSBmYWxzZTsKICAg
ICAgICAgdGhpcy51cGRhdGVIZWlnaHQoKTsKQEAgLTI5MSw2ICszMDMsMTEgQEAgV2ViSW5zcGVj
dG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5fbWFp
bkVsZW1lbnQsIGVuZDoge2JvdHRvbTogaGVpZ2h0fX0KICAgICAgICAgXTsKIAorICAgICAgICBm
dW5jdGlvbiBhbmltYXRpbmcoKQorICAgICAgICB7CisgICAgICAgICAgICB0aGlzLnZpc2libGVW
aWV3LmRvUmVzaXplKCk7CisgICAgICAgIH0KKwogICAgICAgICBmdW5jdGlvbiBhbmltYXRpb25G
aW5pc2hlZCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50UGFu
ZWwuZG9SZXNpemUoKTsKQEAgLTI5OSw3ICszMTYsNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBmaW5hbFN0YXRlOwogICAgICAg
ICB9CiAKLSAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbiA9IFdlYkluc3BlY3Rvci5hbmlt
YXRlU3R5bGUoYW5pbWF0aW9ucywgdGhpcy5fYW5pbWF0aW9uRHVyYXRpb24oKSwgYW5pbWF0aW9u
RmluaXNoZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRBbmltYXRpb24gPSBX
ZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlKGFuaW1hdGlvbnMsIHRoaXMuX2FuaW1hdGlvbkR1cmF0
aW9uKCksIGFuaW1hdGluZy5iaW5kKHRoaXMpLCBhbmltYXRpb25GaW5pc2hlZC5iaW5kKHRoaXMp
KTsKICAgICB9LAogCiAgICAgX2FuaW1hdGlvbkR1cmF0aW9uOiBmdW5jdGlvbigpCkBAIC0zMjks
NiArMzQ2LDcgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlm
ICghdGhpcy52aXNpYmxlIHx8IGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikK
ICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICB0aGlzLnZpc2libGVWaWV3LnN0b3JlU2Ny
b2xsUG9zaXRpb25zKCk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KHRo
aXMuX21haW5TdGF0dXNCYXIsIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRo
aXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAicm93LXJlc2l6ZSIp
OwogCiAgICAgICAgIHRoaXMuX3N0YXR1c0JhckRyYWdPZmZzZXQgPSBldmVudC5wYWdlWSAtIHRo
aXMuZWxlbWVudC50b3RhbE9mZnNldFRvcCgpOwpAQCAtMzQ1LDcgKzM2Myw4IEBAIFdlYkluc3Bl
Y3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuaGVp
Z2h0ID0gaGVpZ2h0ICsgInB4IjsKICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50UGFu
ZWwpCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsLmRvUmVzaXplKCk7Ci0K
KyAgICAgICAgdGhpcy52aXNpYmxlVmlldy5kb1Jlc2l6ZSgpOworICAgICAgICAKICAgICAgICAg
ZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7
CiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMKaW5kZXggYzNkNDUzNGNkYmE3MDIwYTY1N2ZkN2E4OGRhZjVjZGYzODcyOTQyZS4uNGQz
Mzg4ZDU1YWY3ODQzNWRmZDEyNmY2MTllN2YxNTJjN2ZjYjBkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTg2NCw3ICs4NjQsNyBA
QCBXZWJJbnNwZWN0b3IuY29udGV4dE1lbnVFdmVudEZpcmVkID0gZnVuY3Rpb24oZXZlbnQpCiAg
ICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiB9CiAKLVdlYkluc3BlY3Rvci5hbmltYXRl
U3R5bGUgPSBmdW5jdGlvbihhbmltYXRpb25zLCBkdXJhdGlvbiwgY2FsbGJhY2spCitXZWJJbnNw
ZWN0b3IuYW5pbWF0ZVN0eWxlID0gZnVuY3Rpb24oYW5pbWF0aW9ucywgZHVyYXRpb24sIGxvb3BD
YWxsYmFjaywgY2FsbGJhY2spCiB7CiAgICAgdmFyIGludGVydmFsOwogICAgIHZhciBjb21wbGV0
ZSA9IDA7CkBAIC05MzQsNiArOTM0LDggQEAgV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZSA9IGZ1
bmN0aW9uKGFuaW1hdGlvbnMsIGR1cmF0aW9uLCBjYWxsYmFjaykKICAgICAgICAgICAgICAgICAg
ICAgc3R5bGUuc2V0UHJvcGVydHkoa2V5LCBlbmRWYWx1ZSArIChrZXkgaW4gcHJvcGVydHlVbml0
ID8gcHJvcGVydHlVbml0W2tleV0gOiBkZWZhdWx0VW5pdCkpOwogICAgICAgICAgICAgfQogICAg
ICAgICB9CisgICAgICAgIGlmIChsb29wQ2FsbGJhY2spCisgICAgICAgICAgICBsb29wQ2FsbGJh
Y2soKTsKIAogICAgICAgICAvLyBFbmQgY29uZGl0aW9uLgogICAgICAgICBpZiAoY29tcGxldGUg
Pj0gZHVyYXRpb24pIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108033</attachid>
            <date>2011-09-20 11:31:59 -0700</date>
            <delta_ts>2011-09-22 04:47:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67483-20110920223157.patch</filename>
            <type>text/plain</type>
            <size>7787</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU1MzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyMjkyNDFjZDkzZjJlMGI2
ZTljY2Y5MWE5ZDIzMzQ2ZWNjYmRhZmUxLi4xYjJlOTI4OGM0ODcyYTQ0NzIyODcwYWVlZGZjODgz
ZWM5NGUxOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDktMjAgIFZzZXZv
bG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogQ29uc29sZSBpcyBhbHdheXMgc2Nyb2xsZWQgdG8gdGhlIHRvcAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0ODMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ29u
c29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBl
Lndhc1Nob3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUu
c3RvcmVTY3JvbGxQb3NpdGlvbnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3
LnByb3RvdHlwZS5yZXN0b3JlU2Nyb2xsUG9zaXRpb25zKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Db25zb2xlVmlldy5wcm90b3R5cGUub25SZXNpemUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvbnNvbGVWaWV3LnByb3RvdHlwZS5faW1tZWRpYXRlbHlTY3JvbGxJbnRvVmlldyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9jYW5jZWxTY2hlZHVsZWRT
Y3JvbGxJbnRvVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90
eXBlLl9jb25zb2xlQ2xlYXJlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EcmF3
ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5oaWRlKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLnJlc2l6ZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhcnRTdGF0dXNCYXJEcmFnZ2luZyk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhdHVzQmFyRHJhZ2dpbmcp
OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuYW5pbWF0
ZVN0eWxlLmZvcmNlQ29tcGxldGUpOgorCiAyMDExLTA5LTE1ICBQYXZlbCBGZWxkbWFuICA8cGZl
bGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZWZhY3RvciBDb25z
b2xlVmlldywgRHJhd2VyLCBDb25zb2xlUGFuZWwgdHJpby4gUmVtb3ZlIGFuaW1hdGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKaW5k
ZXggNjE3M2NlOTAzYTk0YjZkZWVkMDY5NGVkZThmOWNjYmUxMjAxYmY2NS4uMWM2MTBkMGViMzI0
MDk0ODE5NmFkNTgwNWY3MWU0Y2UxZTk3YjNlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBAIC0yMjYsNiArMjI2LDcgQEAgV2Vi
SW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZSA9IHsKIAogICAgIHdhc1Nob3duOiBmdW5j
dGlvbigpCiAgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUud2FzU2hv
d24uY2FsbCh0aGlzKTsKICAgICAgICAgaWYgKCF0aGlzLnByb21wdC5pc0NhcmV0SW5zaWRlUHJv
bXB0KCkpCiAgICAgICAgICAgICB0aGlzLnByb21wdC5tb3ZlQ2FyZXRUb0VuZE9mUHJvbXB0KCk7
CiAgICAgfSwKQEAgLTIzNSw2ICsyMzYsMjUgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnBy
b3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmN1cnJlbnRGb2N1c0VsZW1lbnQgPSB0
aGlzLnByb21wdEVsZW1lbnQ7CiAgICAgfSwKIAorICAgIHN0b3JlU2Nyb2xsUG9zaXRpb25zOiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUuc3Rv
cmVTY3JvbGxQb3NpdGlvbnMuY2FsbCh0aGlzKTsKKyAgICAgICAgdGhpcy5fc2Nyb2xsZWRUb0Jv
dHRvbSA9IHRoaXMubWVzc2FnZXNFbGVtZW50LmlzU2Nyb2xsZWRUb0JvdHRvbSgpOworICAgIH0s
CisKKyAgICByZXN0b3JlU2Nyb2xsUG9zaXRpb25zOiBmdW5jdGlvbigpCisgICAgeworICAgICAg
ICBpZiAodGhpcy5fc2Nyb2xsZWRUb0JvdHRvbSkKKyAgICAgICAgICAgIHRoaXMuX2ltbWVkaWF0
ZWx5U2Nyb2xsSW50b1ZpZXcoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLlZpZXcucHJvdG90eXBlLnJlc3RvcmVTY3JvbGxQb3NpdGlvbnMuY2FsbCh0aGlzKTsKKyAg
ICB9LAorCisgICAgb25SZXNpemU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMucmVz
dG9yZVNjcm9sbFBvc2l0aW9ucygpOworICAgIH0sCisKICAgICBfaXNTY3JvbGxJbnRvVmlld1Nj
aGVkdWxlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgcmV0dXJuICEhdGhpcy5fc2Nyb2xs
SW50b1ZpZXdUaW1lcjsKQEAgLTI1Myw2ICsyNzMsMjEgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fc2Nyb2xsSW50b1ZpZXdUaW1lciA9IHNl
dFRpbWVvdXQoc2Nyb2xsSW50b1ZpZXcuYmluZCh0aGlzKSwgMjApOwogICAgIH0sCiAKKyAgICBf
aW1tZWRpYXRlbHlTY3JvbGxJbnRvVmlldzogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhp
cy5wcm9tcHRFbGVtZW50LnNjcm9sbEludG9WaWV3KHRydWUpOworICAgICAgICB0aGlzLl9jYW5j
ZWxTY2hlZHVsZWRTY3JvbGxJbnRvVmlldygpOworICAgIH0sCisKKyAgICBfY2FuY2VsU2NoZWR1
bGVkU2Nyb2xsSW50b1ZpZXc6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5f
c2Nyb2xsSW50b1ZpZXdUaW1lcikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAg
ICAgIGNsZWFyVGltZW91dCh0aGlzLl9zY3JvbGxJbnRvVmlld1RpbWVyKTsKKyAgICAgICAgZGVs
ZXRlIHRoaXMuX3Njcm9sbEludG9WaWV3VGltZXI7CisgICAgfSwKKwogICAgIF9jb25zb2xlTWVz
c2FnZUFkZGVkOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX2FwcGVuZENv
bnNvbGVNZXNzYWdlKGV2ZW50LmRhdGEpOwpAQCAtMjg2LDYgKzMyMSw3IEBAIFdlYkluc3BlY3Rv
ci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICBfY29uc29sZUNsZWFyZWQ6IGZ1bmN0
aW9uKCkKICAgICB7CisgICAgICAgIHRoaXMuX3Njcm9sbGVkVG9Cb3R0b20gPSB0cnVlOwogICAg
ICAgICB0aGlzLm1lc3NhZ2VzID0gW107CiAKICAgICAgICAgdGhpcy5jdXJyZW50R3JvdXAgPSB0
aGlzLnRvcEdyb3VwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EcmF3ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdl
ci5qcwppbmRleCA4ZDNiYWVmZDkxNGU0MDhjMjllYjhmZmM0YzVhZGFmYWNmN2IxZmEyLi43OGIw
MTY5ZTFkYjc3NmE0ZGFmNGY2MTdmZTI0NTcxMTVjZjJmZTAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcwpAQCAtNTgsMTQgKzU4LDE0IEBAIFdlYklu
c3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogCiAgICAgc2hvdzogZnVuY3Rpb24odmlldywg
aW1tZWRpYXRlbHkpCiAgICAgewotICAgICAgICB2YXIgZHJhd2VyV2FzVmlzaWJsZSA9IHRoaXMu
dmlzaWJsZTsKLQogICAgICAgICB0aGlzLmltbWVkaWF0ZWx5RmluaXNoQW5pbWF0aW9uKCk7CisK
KyAgICAgICAgdmFyIGRyYXdlcldhc1Zpc2libGUgPSB0aGlzLnZpc2libGU7CisgICAgICAgIAog
ICAgICAgICBpZiAodGhpcy5fdmlldykKICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVD
aGlsZCh0aGlzLl92aWV3LmVsZW1lbnQpOwogCiAgICAgICAgIHRoaXMuX3ZpZXcgPSB2aWV3Owot
ICAgICAgICB0aGlzLl92aWV3LnNob3codGhpcy5lbGVtZW50KTsKIAogICAgICAgICB2YXIgc3Rh
dHVzQmFySXRlbXMgPSB0aGlzLl92aWV3LnN0YXR1c0Jhckl0ZW1zIHx8IFtdOwogICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHN0YXR1c0Jhckl0ZW1zLmxlbmd0aDsgKytpKQpAQCAtNzYsNiAr
NzYsOCBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBkb2N1
bWVudC5ib2R5LmFkZFN0eWxlQ2xhc3MoImRyYXdlci12aXNpYmxlIik7CiAKKyAgICAgICAgdGhp
cy5fdmlldy5zaG93KHRoaXMuZWxlbWVudCk7CisKICAgICAgICAgdmFyIGFuY2hvcmVkSXRlbXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5jaG9yZWQtc3RhdHVzLWJhci1pdGVtcyIpOwog
ICAgICAgICB2YXIgaGVpZ2h0ID0gdGhpcy5fY29uc3RyYWluSGVpZ2h0KHRoaXMuX3NhdmVkSGVp
Z2h0IHx8IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQpOwogICAgICAgICB2YXIgYW5pbWF0aW9u
cyA9IFsKQEAgLTEyMCw5ICsxMjIsNiBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9
IHsKIAogICAgICAgICB0aGlzLl9zYXZlZEhlaWdodCA9IHRoaXMuZWxlbWVudC5vZmZzZXRIZWln
aHQ7CiAKLSAgICAgICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuZWxlbWVu
dCk7Ci0gICAgICAgIGRlbGV0ZSB0aGlzLl92aWV3OwotCiAgICAgICAgIGlmICh0aGlzLmVsZW1l
bnQgPT09IFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50IHx8IHRoaXMuZWxlbWVudC5p
c0FuY2VzdG9yKFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50KSkKICAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50ID0gV2ViSW5zcGVjdG9yLnByZXZpb3Vz
Rm9jdXNFbGVtZW50OwogCkBAIC0xNjEsNiArMTYwLDkgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fY291bnRlcnMuaW5zZXJ0QmVmb3Jl
KHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsK
ICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAgdGhpcy5fdmlldy5oaWRlKCk7CisgICAgICAg
ICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fdmlldy5lbGVtZW50KTsKKyAgICAg
ICAgICAgIGRlbGV0ZSB0aGlzLl92aWV3OwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1v
dmVTdHlsZUNsYXNzKCJkcmF3ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRlIHRoaXMu
X2N1cnJlbnRBbmltYXRpb247CiAgICAgICAgIH0KQEAgLTE3NSw2ICsxNzcsNyBAQCBXZWJJbnNw
ZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLnZpc2libGUpCiAg
ICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgdGhpcy5fdmlldy5zdG9yZVNjcm9sbFBvc2l0
aW9ucygpOwogICAgICAgICB2YXIgaGVpZ2h0ID0gdGhpcy5fY29uc3RyYWluSGVpZ2h0KHBhcnNl
SW50KHRoaXMuZWxlbWVudC5zdHlsZS5oZWlnaHQpKTsKICAgICAgICAgdGhpcy5fbWFpbkVsZW1l
bnQuc3R5bGUuYm90dG9tID0gaGVpZ2h0ICsgInB4IjsKICAgICAgICAgdGhpcy5lbGVtZW50LnN0
eWxlLmhlaWdodCA9IGhlaWdodCArICJweCI7CkBAIC0yMjYsNiArMjI5LDcgQEAgV2ViSW5zcGVj
dG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghdGhpcy52aXNpYmxlIHx8IGV2
ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikKICAgICAgICAgICAgIHJldHVybjsK
IAorICAgICAgICB0aGlzLl92aWV3LnN0b3JlU2Nyb2xsUG9zaXRpb25zKCk7CiAgICAgICAgIFdl
Ykluc3BlY3Rvci5lbGVtZW50RHJhZ1N0YXJ0KHRoaXMuX21haW5TdGF0dXNCYXIsIHRoaXMuX3N0
YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksIGV2ZW50LCAicm93LXJlc2l6ZSIpOwogCiAgICAgICAgIHRoaXMuX3N0YXR1c0Jh
ckRyYWdPZmZzZXQgPSBldmVudC5wYWdlWSAtIHRoaXMuZWxlbWVudC50b3RhbE9mZnNldFRvcCgp
OwpAQCAtMjQyLDYgKzI0Niw3IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewog
ICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsgInB4IjsKICAgICAg
ICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50UGFuZWwoKSkKICAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5jdXJyZW50UGFuZWwoKS5kb1Jlc2l6ZSgpOworICAgICAgICB0aGlzLl92aWV3LmRvUmVz
aXplKCk7CiAKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgZXZlbnQu
c3RvcFByb3BhZ2F0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCmluZGV4IDJmYjU4ZjFmM2RiZWM1NzAyYjA5ZTUwMDZlYzdkYTI2MzA2
MTJmOGEuLjRlZjZkMTgyODg0ZGVlNzFjZDhjYjYzNGU1NGY3ZjJhNDY4NmI2NjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC05Mjks
NiArOTI5LDkgQEAgV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZSA9IGZ1bmN0aW9uKGFuaW1hdGlv
bnMsIGR1cmF0aW9uLCBjYWxsYmFjaykKIAogICAgIGZ1bmN0aW9uIGFuaW1hdGVMb29wKCkKICAg
ICB7CisgICAgICAgIGlmIChoYXNDb21wbGV0ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIAogICAgICAgICAvLyBBZHZhbmNlIGZvcndhcmQuCiAgICAgICAgIGNvbXBsZXRlICs9IGlu
dGVydmFsRHVyYXRpb247CiAgICAgICAgIHZhciBuZXh0ID0gY29tcGxldGUgKyBpbnRlcnZhbER1
cmF0aW9uOwpAQCAtOTY1LDEwICs5NjgsMTEgQEAgV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZSA9
IGZ1bmN0aW9uKGFuaW1hdGlvbnMsIGR1cmF0aW9uLCBjYWxsYmFjaykKIAogICAgIGZ1bmN0aW9u
IGZvcmNlQ29tcGxldGUoKQogICAgIHsKLSAgICAgICAgaWYgKCFoYXNDb21wbGV0ZWQpIHsKLSAg
ICAgICAgICAgIGNvbXBsZXRlID0gZHVyYXRpb247Ci0gICAgICAgICAgICBhbmltYXRlTG9vcCgp
OwotICAgICAgICB9CisgICAgICAgIGlmIChoYXNDb21wbGV0ZWQpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgY29tcGxldGUgPSBkdXJhdGlvbjsKKyAgICAgICAgYW5pbWF0ZUxvb3Ao
KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiBjYW5jZWwoKQo=
</data>
<flag name="review"
          id="104895"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>