<?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>54089</bug_id>
          
          <creation_ts>2011-02-09 04:09:10 -0800</creation_ts>
          <short_desc>Web Inspector: [REGRESSION] click on error message in console doesn&apos;t scroll into view</short_desc>
          <delta_ts>2011-02-13 06:50:02 -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="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Andrey Adaikin">aandrey</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>348147</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-02-09 04:09:10 -0800</bug_when>
    <thetext>Web Inspector: [REGRESSION] click on error message in console doesn&apos;t scroll into view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349734</commentid>
    <comment_count>1</comment_count>
      <attachid>82126</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-02-11 06:03:53 -0800</bug_when>
    <thetext>Created attachment 82126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349736</commentid>
    <comment_count>2</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-02-11 06:12:09 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=82126) [details]
&gt; Patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349741</commentid>
    <comment_count>3</comment_count>
      <attachid>82126</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-11 06:32:14 -0800</bug_when>
    <thetext>Comment on attachment 82126
Patch

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

&gt; Source/WebCore/ChangeLog:5
&gt; +        Web Inspector: [REGRESSION] click on error message in console doesn&apos;t scroll into view

It is not clear why this regressed. Could you please put more info into the change log?

&gt; Source/WebCore/inspector/front-end/Drawer.js:183
&gt; +            this.mainStatusBar.insertBefore(anchoredItems, this.mainStatusBar.firstChild);

These should be private (this._main ...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349785</commentid>
    <comment_count>4</comment_count>
      <attachid>82126</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-02-11 08:34:44 -0800</bug_when>
    <thetext>Comment on attachment 82126
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:5
&gt;&gt; +        Web Inspector: [REGRESSION] click on error message in console doesn&apos;t scroll into view
&gt; 
&gt; It is not clear why this regressed. Could you please put more info into the change log?

I also have no idea why it worked before (and when it got broken). Would you like me to invest my time into finding the reason? Otherwise, logically by this CL I just make sure that the console drawer is in the right position by the time when the revealLine() is called (before it was in an animation process, thus the revealLine() calls were missed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349789</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-11 08:43:26 -0800</bug_when>
    <thetext>I guess it is fine, just make properties private!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349799</commentid>
    <comment_count>6</comment_count>
      <attachid>82139</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-02-11 09:11:45 -0800</bug_when>
    <thetext>Created attachment 82139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349810</commentid>
    <comment_count>7</comment_count>
      <attachid>82139</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 09:43:33 -0800</bug_when>
    <thetext>Comment on attachment 82139
Patch

Clearing flags on attachment: 82139

Committed r78343: &lt;http://trac.webkit.org/changeset/78343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349811</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-11 09:43:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350392</commentid>
    <comment_count>9</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2011-02-13 06:50:02 -0800</bug_when>
    <thetext>This issue also exists in the latest Chrome 10.0.648.45 dev, which uses 76408 WebKit revision, and it does not include my change that replaced TABLE in favor of DIVs (which was landed at http://trac.webkit.org/changeset/77375).

So Pavel, seems like you were right, this is not a regression.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82126</attachid>
            <date>2011-02-11 06:03:53 -0800</date>
            <delta_ts>2011-02-11 09:11:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54089-20110211170351.patch</filename>
            <type>text/plain</type>
            <size>10952</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5ZWEzNTU0NTZkZWQ0MmU0YzBkNjViY2Q3ZTYyYjc5ZWY2NDZkNmVlLi5l
YjQ5NTRjMTY4MzBmMTQwMDg0ZTYzYmNjYzEwYmIyZmNjNjM1MTFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTEtMDItMTEgIEFuZHJleSBBZGFpa2luICA8YWFuZHJleUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFtSRUdSRVNTSU9OXSBjbGljayBvbiBlcnJvciBtZXNzYWdlIGluIGNvbnNv
bGUgZG9lc24ndCBzY3JvbGwgaW50byB2aWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OQorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9EcmF3ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5zaG93
LmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90
eXBlLnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaGlkZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5yZXNpemUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaW1tZWRpYXRlbHlGaW5pc2hBbmltYXRp
b24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuX2NhbmNlbEFuaW1h
dGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLl9h
bmltYXRlRHJhd2VySGVpZ2h0LmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EcmF3ZXIucHJvdG90eXBlLl9hbmltYXRlRHJhd2VySGVpZ2h0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLl9zdGF0dXNCYXJEcmFnZ2luZyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuYW5pbWF0ZVN0eWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUuZm9y
Y2VDb21wbGV0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlLmNhbmNlbCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUxpbmUpOgorCiAyMDExLTAyLTExICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RyYXdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRHJhd2VyLmpzCmluZGV4IDNmODI3ZmIxZGFhZGMxZmNhYTI1ODMxNzZkMTIxYjNiMWQwMjNj
MmIuLjQ2NjQzMzljNzczNmEyMzc0NDJhYjk5MjhlZDVkNGM3YzU1MDc2MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzCkBAIC0xMDQsMTMgKzEwNCwx
MiBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGhlaWdo
dCA9ICh0aGlzLmZ1bGxQYW5lbCA/IHdpbmRvdy5pbm5lckhlaWdodCAtIHRoaXMudG9vbGJhckVs
ZW1lbnQub2Zmc2V0SGVpZ2h0IDogdGhpcy5zYXZlZEhlaWdodCk7CiAgICAgICAgIHZhciBhbmlt
YXRpb25zID0gWwogICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuZWxlbWVudCwgZW5kOiB7aGVp
Z2h0OiBoZWlnaHR9fSwKLSAgICAgICAgICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibWFpbiIpLCBlbmQ6IHtib3R0b206IGhlaWdodH19LAotICAgICAgICAgICAge2VsZW1l
bnQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluLXN0YXR1cy1iYXIiKSwgc3RhcnQ6IHsi
cGFkZGluZy1sZWZ0IjogYW5jaG9yZWRJdGVtcy5vZmZzZXRXaWR0aCAtIDF9LCBlbmQ6IHsicGFk
ZGluZy1sZWZ0IjogMH19LAotICAgICAgICAgICAge2VsZW1lbnQ6IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJvdGhlci1kcmF3ZXItc3RhdHVzLWJhci1pdGVtcyIpLCBzdGFydDoge29wYWNpdHk6
IDB9LCBlbmQ6IHtvcGFjaXR5OiAxfX0KKyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLm1haW5F
bGVtZW50LCBlbmQ6IHtib3R0b206IGhlaWdodH19LAorICAgICAgICAgICAge2VsZW1lbnQ6IHRo
aXMubWFpblN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0IjogYW5jaG9yZWRJdGVtcy5v
ZmZzZXRXaWR0aCAtIDF9LCBlbmQ6IHsicGFkZGluZy1sZWZ0IjogMH19LAorICAgICAgICAgICAg
e2VsZW1lbnQ6IHRoaXMudmlld1N0YXR1c0Jhciwgc3RhcnQ6IHtvcGFjaXR5OiAwfSwgZW5kOiB7
b3BhY2l0eTogMX19CiAgICAgICAgIF07CiAKLSAgICAgICAgdmFyIGRyYXdlclN0YXR1c0JhciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkcmF3ZXItc3RhdHVzLWJhciIpOwotICAgICAgICBk
cmF3ZXJTdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKGFuY2hvcmVkSXRlbXMsIGRyYXdlclN0YXR1c0Jh
ci5maXJzdENoaWxkKTsKKyAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmluc2VydEJlZm9y
ZShhbmNob3JlZEl0ZW1zLCB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuZmlyc3RDaGlsZCk7CiAKICAg
ICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKSB7CiAgICAgICAgICAgICB2YXIg
b2xkUmlnaHQgPSB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5fY291
bnRlcnMub2Zmc2V0TGVmdCArIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdpZHRo
KTsKQEAgLTEyOCwxMyArMTI3LDEzIEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZVZpZXcuYWZ0ZXJTaG93KQogICAgICAgICAg
ICAgICAgIHRoaXMudmlzaWJsZVZpZXcuYWZ0ZXJTaG93KCk7CiAgICAgICAgICAgICBkZWxldGUg
dGhpcy5fYW5pbWF0aW5nOwotICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRp
b25JbnRlcnZhbDsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jdXJyZW50QW5pbWF0aW9uOwog
ICAgICAgICAgICAgdGhpcy5zdGF0ZSA9ICh0aGlzLmZ1bGxQYW5lbCA/IFdlYkluc3BlY3Rvci5E
cmF3ZXIuU3RhdGUuRnVsbCA6IFdlYkluc3BlY3Rvci5EcmF3ZXIuU3RhdGUuVmFyaWFibGUpOwog
ICAgICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKQogICAgICAgICAgICAg
ICAgIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKTsK
ICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX2N1cnJlbnRBbmltYXRpb25JbnRlcnZhbCA9IFdl
Ykluc3BlY3Rvci5hbmltYXRlU3R5bGUoYW5pbWF0aW9ucywgdGhpcy5fYW5pbWF0aW9uRHVyYXRp
b24oKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX2N1cnJl
bnRBbmltYXRpb24gPSBXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlKGFuaW1hdGlvbnMsIHRoaXMu
X2FuaW1hdGlvbkR1cmF0aW9uKCksIGFuaW1hdGlvbkZpbmlzaGVkLmJpbmQodGhpcykpOwogICAg
IH0sCiAKICAgICBoaWRlOiBmdW5jdGlvbigpCkBAIC0xNjYsOSArMTY1LDkgQEAgV2ViSW5zcGVj
dG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkU3R5bGVD
bGFzcygiZHJhd2VyLXZpc2libGUiKTsKIAogICAgICAgICB2YXIgYW5pbWF0aW9ucyA9IFsKLSAg
ICAgICAgICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbiIpLCBlbmQ6
IHtib3R0b206IDB9fSwKLSAgICAgICAgICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibWFpbi1zdGF0dXMtYmFyIiksIHN0YXJ0OiB7InBhZGRpbmctbGVmdCI6IDB9LCBlbmQ6
IHsicGFkZGluZy1sZWZ0IjogYW5jaG9yZWRJdGVtcy5vZmZzZXRXaWR0aCAtIDF9fSwKLSAgICAg
ICAgICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3RoZXItZHJhd2VyLXN0
YXR1cy1iYXItaXRlbXMiKSwgc3RhcnQ6IHtvcGFjaXR5OiAxfSwgZW5kOiB7b3BhY2l0eTogMH19
CisgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5tYWluRWxlbWVudCwgZW5kOiB7Ym90dG9tOiAw
fX0sCisgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5tYWluU3RhdHVzQmFyLCBzdGFydDogeyJw
YWRkaW5nLWxlZnQiOiAwfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IGFuY2hvcmVkSXRlbXMub2Zm
c2V0V2lkdGggLSAxfX0sCisgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy52aWV3U3RhdHVzQmFy
LCBzdGFydDoge29wYWNpdHk6IDF9LCBlbmQ6IHtvcGFjaXR5OiAwfX0KICAgICAgICAgXTsKIAog
ICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpIHsKQEAgLTE4MSw5ICsxODAs
OCBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgZnVuY3Rpb24g
YW5pbWF0aW9uRmluaXNoZWQoKQogICAgICAgICB7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
Y3VycmVudFBhbmVsLnJlc2l6ZSgpOwotICAgICAgICAgICAgdmFyIG1haW5TdGF0dXNCYXIgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1zdGF0dXMtYmFyIik7Ci0gICAgICAgICAgICBt
YWluU3RhdHVzQmFyLmluc2VydEJlZm9yZShhbmNob3JlZEl0ZW1zLCBtYWluU3RhdHVzQmFyLmZp
cnN0Q2hpbGQpOwotICAgICAgICAgICAgbWFpblN0YXR1c0Jhci5zdHlsZS5yZW1vdmVQcm9wZXJ0
eSgicGFkZGluZy1sZWZ0Iik7CisgICAgICAgICAgICB0aGlzLm1haW5TdGF0dXNCYXIuaW5zZXJ0
QmVmb3JlKGFuY2hvcmVkSXRlbXMsIHRoaXMubWFpblN0YXR1c0Jhci5maXJzdENoaWxkKTsKKyAg
ICAgICAgICAgIHRoaXMubWFpblN0YXR1c0Jhci5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgicGFkZGlu
Zy1sZWZ0Iik7CiAKICAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycykg
ewogICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLnNldEF0dHJpYnV0
ZSgic3R5bGUiLCBudWxsKTsKQEAgLTE5MywxMSArMTkxLDExIEBAIFdlYkluc3BlY3Rvci5EcmF3
ZXIucHJvdG90eXBlID0gewogCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZVN0eWxl
Q2xhc3MoImRyYXdlci12aXNpYmxlIik7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fYW5pbWF0
aW5nOwotICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb25JbnRlcnZhbDsK
KyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jdXJyZW50QW5pbWF0aW9uOwogICAgICAgICAgICAg
dGhpcy5zdGF0ZSA9IFdlYkluc3BlY3Rvci5EcmF3ZXIuU3RhdGUuSGlkZGVuOwogICAgICAgICB9
CiAKLSAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbkludGVydmFsID0gV2ViSW5zcGVjdG9y
LmFuaW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9hbmltYXRpb25EdXJhdGlvbigpLCBhbmlt
YXRpb25GaW5pc2hlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlv
biA9IFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUoYW5pbWF0aW9ucywgdGhpcy5fYW5pbWF0aW9u
RHVyYXRpb24oKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAg
IHJlc2l6ZTogZnVuY3Rpb24oKQpAQCAtMjA2LDE0ICsyMDQsMTMgQEAgV2ViSW5zcGVjdG9yLkRy
YXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdmFyIGhl
aWdodDsKLSAgICAgICAgdmFyIG1haW5FbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Im1haW4iKTsKICAgICAgICAgaWYgKHRoaXMuc3RhdGUgPT09IFdlYkluc3BlY3Rvci5EcmF3ZXIu
U3RhdGUuVmFyaWFibGUpIHsKICAgICAgICAgICAgIGhlaWdodCA9IHBhcnNlSW50KHRoaXMuZWxl
bWVudC5zdHlsZS5oZWlnaHQpOwotICAgICAgICAgICAgaGVpZ2h0ID0gTnVtYmVyLmNvbnN0cmFp
bihoZWlnaHQsIFByZWZlcmVuY2VzLm1pbkNvbnNvbGVIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdo
dCAtIG1haW5FbGVtZW50LnRvdGFsT2Zmc2V0VG9wIC0gUHJlZmVyZW5jZXMubWluQ29uc29sZUhl
aWdodCk7CisgICAgICAgICAgICBoZWlnaHQgPSBOdW1iZXIuY29uc3RyYWluKGhlaWdodCwgUHJl
ZmVyZW5jZXMubWluQ29uc29sZUhlaWdodCwgd2luZG93LmlubmVySGVpZ2h0IC0gdGhpcy5tYWlu
RWxlbWVudC50b3RhbE9mZnNldFRvcCAtIFByZWZlcmVuY2VzLm1pbkNvbnNvbGVIZWlnaHQpOwog
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAt
IHRoaXMudG9vbGJhckVsZW1lbnQub2Zmc2V0SGVpZ2h0OwogCi0gICAgICAgIG1haW5FbGVtZW50
LnN0eWxlLmJvdHRvbSA9IGhlaWdodCArICJweCI7CisgICAgICAgIHRoaXMubWFpbkVsZW1lbnQu
c3R5bGUuYm90dG9tID0gaGVpZ2h0ICsgInB4IjsKICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxl
LmhlaWdodCA9IGhlaWdodCArICJweCI7CiAgICAgfSwKIApAQCAtMjQ5LDYgKzI0NiwxMiBAQCBX
ZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5mdWxsUGFuZWwg
PSBmYWxzZTsKICAgICB9LAogCisgICAgaW1tZWRpYXRlbHlGaW5pc2hBbmltYXRpb246IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9jdXJyZW50QW5pbWF0aW9uKQorICAgICAg
ICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbi5mb3JjZUNvbXBsZXRlKCk7CisgICAgfSwKKwog
ICAgIHNldCBjdXJyZW50UGFuZWxDb3VudGVycyh4KQogICAgIHsKICAgICAgICAgaWYgKCF4KSB7
CkBAIC0yNjgsOSArMjcxLDEwIEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewog
ICAgIF9jYW5jZWxBbmltYXRpb25JZk5lZWRlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAg
aWYgKHRoaXMuX2FuaW1hdGluZykgewotICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9j
dXJyZW50QW5pbWF0aW9uSW50ZXJ2YWwpOworICAgICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRB
bmltYXRpb24pCisgICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbi5jYW5jZWwo
KTsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9hbmltYXRpbmc7Ci0gICAgICAgICAgICBkZWxl
dGUgdGhpcy5fY3VycmVudEFuaW1hdGlvbkludGVydmFsOworICAgICAgICAgICAgZGVsZXRlIHRo
aXMuX2N1cnJlbnRBbmltYXRpb247CiAgICAgICAgIH0KICAgICB9LAogCkBAIC0yNzksMTcgKzI4
MywxNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5f
YW5pbWF0aW5nID0gdHJ1ZTsKICAgICAgICAgdmFyIGFuaW1hdGlvbnMgPSBbCiAgICAgICAgICAg
ICB7ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWlnaHQ6IGhlaWdodH19LAotICAgICAg
ICAgICAge2VsZW1lbnQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluIiksIGVuZDoge2Jv
dHRvbTogaGVpZ2h0fX0KKyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLm1haW5FbGVtZW50LCBl
bmQ6IHtib3R0b206IGhlaWdodH19CiAgICAgICAgIF07CiAKICAgICAgICAgZnVuY3Rpb24gYW5p
bWF0aW9uRmluaXNoZWQoKQogICAgICAgICB7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fYW5p
bWF0aW5nOwotICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb25JbnRlcnZh
bDsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jdXJyZW50QW5pbWF0aW9uOwogICAgICAgICAg
ICAgdGhpcy5zdGF0ZSA9IGZpbmFsU3RhdGU7CiAgICAgICAgIH0KIAotICAgICAgICB0aGlzLl9j
dXJyZW50QW5pbWF0aW9uSW50ZXJ2YWwgPSBXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlKGFuaW1h
dGlvbnMsIHRoaXMuX2FuaW1hdGlvbkR1cmF0aW9uKCksIGFuaW1hdGlvbkZpbmlzaGVkLmJpbmQo
dGhpcykpOworICAgICAgICB0aGlzLl9jdXJyZW50QW5pbWF0aW9uID0gV2ViSW5zcGVjdG9yLmFu
aW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9hbmltYXRpb25EdXJhdGlvbigpLCBhbmltYXRp
b25GaW5pc2hlZC5iaW5kKHRoaXMpKTsKICAgICB9LAogCiAgICAgX2FuaW1hdGlvbkR1cmF0aW9u
OiBmdW5jdGlvbigpCkBAIC0zMjgsMTEgKzMzMiwxMCBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnBy
b3RvdHlwZSA9IHsKIAogICAgIF9zdGF0dXNCYXJEcmFnZ2luZzogZnVuY3Rpb24oZXZlbnQpCiAg
ICAgewotICAgICAgICB2YXIgbWFpbkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bWFpbiIpOwogICAgICAgICB2YXIgaGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gZXZlbnQu
cGFnZVkgKyB0aGlzLl9zdGF0dXNCYXJEcmFnT2Zmc2V0OwotICAgICAgICBoZWlnaHQgPSBOdW1i
ZXIuY29uc3RyYWluKGhlaWdodCwgUHJlZmVyZW5jZXMubWluQ29uc29sZUhlaWdodCwgd2luZG93
LmlubmVySGVpZ2h0IC0gbWFpbkVsZW1lbnQudG90YWxPZmZzZXRUb3AgLSBQcmVmZXJlbmNlcy5t
aW5Db25zb2xlSGVpZ2h0KTsKKyAgICAgICAgaGVpZ2h0ID0gTnVtYmVyLmNvbnN0cmFpbihoZWln
aHQsIFByZWZlcmVuY2VzLm1pbkNvbnNvbGVIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCAtIHRo
aXMubWFpbkVsZW1lbnQudG90YWxPZmZzZXRUb3AgLSBQcmVmZXJlbmNlcy5taW5Db25zb2xlSGVp
Z2h0KTsKIAotICAgICAgICBtYWluRWxlbWVudC5zdHlsZS5ib3R0b20gPSBoZWlnaHQgKyAicHgi
OworICAgICAgICB0aGlzLm1haW5FbGVtZW50LnN0eWxlLmJvdHRvbSA9IGhlaWdodCArICJweCI7
CiAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAicHgiOwogCiAg
ICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDM3YTY0NjA2YTA3NmE1ODg0YWQ5Mjlk
NWI1NTc4NGMyNzIzNjhkNzIuLjA5NTkyODk3ZjkyNzQ1YzQ3YzVhNjlhZmQ3NWQzN2JhYmRjMjMw
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzCkBAIC05MDgsNiArOTA4LDcgQEAgV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZSA9IGZ1bmN0
aW9uKGFuaW1hdGlvbnMsIGR1cmF0aW9uLCBjYWxsYmFjaykKIHsKICAgICB2YXIgaW50ZXJ2YWw7
CiAgICAgdmFyIGNvbXBsZXRlID0gMDsKKyAgICB2YXIgaGFzQ29tcGxldGVkID0gZmFsc2U7CiAK
ICAgICBjb25zdCBpbnRlcnZhbER1cmF0aW9uID0gKDEwMDAgLyAzMCk7IC8vIDMwIGZyYW1lcyBw
ZXIgc2Vjb25kLgogICAgIGNvbnN0IGFuaW1hdGlvbnNMZW5ndGggPSBhbmltYXRpb25zLmxlbmd0
aDsKQEAgLTk3NiwxNCArOTc3LDMyIEBAIFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUgPSBmdW5j
dGlvbihhbmltYXRpb25zLCBkdXJhdGlvbiwgY2FsbGJhY2spCiAKICAgICAgICAgLy8gRW5kIGNv
bmRpdGlvbi4KICAgICAgICAgaWYgKGNvbXBsZXRlID49IGR1cmF0aW9uKSB7CisgICAgICAgICAg
ICBoYXNDb21wbGV0ZWQgPSB0cnVlOwogICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZh
bCk7CiAgICAgICAgICAgICBpZiAoY2FsbGJhY2spCiAgICAgICAgICAgICAgICAgY2FsbGJhY2so
KTsKICAgICAgICAgfQogICAgIH0KIAorICAgIGZ1bmN0aW9uIGZvcmNlQ29tcGxldGUoKQorICAg
IHsKKyAgICAgICAgaWYgKCFoYXNDb21wbGV0ZWQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRlID0g
ZHVyYXRpb247CisgICAgICAgICAgICBhbmltYXRlTG9vcCgpOworICAgICAgICB9CisgICAgfQor
CisgICAgZnVuY3Rpb24gY2FuY2VsKCkKKyAgICB7CisgICAgICAgIGhhc0NvbXBsZXRlZCA9IHRy
dWU7CisgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOworICAgIH0KKwogICAgIGludGVy
dmFsID0gc2V0SW50ZXJ2YWwoYW5pbWF0ZUxvb3AsIGludGVydmFsRHVyYXRpb24pOwotICAgIHJl
dHVybiBpbnRlcnZhbDsKKyAgICByZXR1cm4geworICAgICAgICBjYW5jZWw6IGNhbmNlbCwKKyAg
ICAgICAgZm9yY2VDb21wbGV0ZTogZm9yY2VDb21wbGV0ZQorICAgIH07CiB9CiAKIFdlYkluc3Bl
Y3Rvci51cGRhdGVTZWFyY2hMYWJlbCA9IGZ1bmN0aW9uKCkKQEAgLTEzMzgsNiArMTM1Nyw4IEBA
IFdlYkluc3BlY3Rvci5zaG93U291cmNlTGluZSA9IGZ1bmN0aW9uKHVybCwgbGluZSwgcHJlZmVy
cmVkUGFuZWwpCiAgICAgdGhpcy5jdXJyZW50UGFuZWwgPSB0aGlzLl9jaG9vc2VQYW5lbFRvU2hv
d1NvdXJjZUxpbmUodXJsLCBsaW5lLCBwcmVmZXJyZWRQYW5lbCk7CiAgICAgaWYgKCF0aGlzLmN1
cnJlbnRQYW5lbCkKICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICh0aGlzLmRyYXdlcikK
KyAgICAgICAgdGhpcy5kcmF3ZXIuaW1tZWRpYXRlbHlGaW5pc2hBbmltYXRpb24oKTsKICAgICB0
aGlzLmN1cnJlbnRQYW5lbC5zaG93U291cmNlTGluZSh1cmwsIGxpbmUpOwogICAgIHJldHVybiB0
cnVlOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82139</attachid>
            <date>2011-02-11 09:11:45 -0800</date>
            <delta_ts>2011-02-11 09:43:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54089-20110211201142.patch</filename>
            <type>text/plain</type>
            <size>16434</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5ZWEzNTU0NTZkZWQ0MmU0YzBkNjViY2Q3ZTYyYjc5ZWY2NDZkNmVlLi5l
YjQ5NTRjMTY4MzBmMTQwMDg0ZTYzYmNjYzEwYmIyZmNjNjM1MTFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTEtMDItMTEgIEFuZHJleSBBZGFpa2luICA8YWFuZHJleUBnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFtSRUdSRVNTSU9OXSBjbGljayBvbiBlcnJvciBtZXNzYWdlIGluIGNvbnNv
bGUgZG9lc24ndCBzY3JvbGwgaW50byB2aWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NDA4OQorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9EcmF3ZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5zaG93
LmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90
eXBlLnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaGlkZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5yZXNpemUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaW1tZWRpYXRlbHlGaW5pc2hBbmltYXRp
b24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuX2NhbmNlbEFuaW1h
dGlvbklmTmVlZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLl9h
bmltYXRlRHJhd2VySGVpZ2h0LmFuaW1hdGlvbkZpbmlzaGVkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EcmF3ZXIucHJvdG90eXBlLl9hbmltYXRlRHJhd2VySGVpZ2h0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLl9zdGF0dXNCYXJEcmFnZ2luZyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuYW5pbWF0ZVN0eWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUuZm9y
Y2VDb21wbGV0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlLmNhbmNlbCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUxpbmUpOgorCiAyMDExLTAyLTExICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RyYXdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRHJhd2VyLmpzCmluZGV4IDNmODI3ZmIxZGFhZGMxZmNhYTI1ODMxNzZkMTIxYjNiMWQwMjNj
MmIuLjQ4NjFjOTBjMmYyZWE3ZDEyNWZkZWViY2VhODRkMzgzMzRhM2RhNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzCkBAIC0zNSwxMSArMzUsMTEg
QEAgV2ViSW5zcGVjdG9yLkRyYXdlciA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnN0YXRlID0gV2Vi
SW5zcGVjdG9yLkRyYXdlci5TdGF0ZS5IaWRkZW47CiAgICAgdGhpcy5mdWxsUGFuZWwgPSBmYWxz
ZTsKIAotICAgIHRoaXMubWFpbkVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFp
biIpOwotICAgIHRoaXMudG9vbGJhckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dG9vbGJhciIpOwotICAgIHRoaXMubWFpblN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJtYWluLXN0YXR1cy1iYXIiKTsKLSAgICB0aGlzLm1haW5TdGF0dXNCYXIuYWRkRXZlbnRM
aXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fc3RhcnRTdGF0dXNCYXJEcmFnZ2luZy5iaW5kKHRo
aXMpLCB0cnVlKTsKLSAgICB0aGlzLnZpZXdTdGF0dXNCYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgib3RoZXItZHJhd2VyLXN0YXR1cy1iYXItaXRlbXMiKTsKKyAgICB0aGlzLl9tYWluRWxl
bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluIik7CisgICAgdGhpcy5fdG9vbGJh
ckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhciIpOworICAgIHRoaXMu
X21haW5TdGF0dXNCYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1zdGF0dXMtYmFy
Iik7CisgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24i
LCB0aGlzLl9zdGFydFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRydWUpOworICAgIHRo
aXMuX3ZpZXdTdGF0dXNCYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3RoZXItZHJhd2Vy
LXN0YXR1cy1iYXItaXRlbXMiKTsKICAgICB0aGlzLl9jb3VudGVycyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb3VudGVycyIpOwogICAgIHRoaXMuX2RyYXdlclN0YXR1c0JhciA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJkcmF3ZXItc3RhdHVzLWJhciIpOwogfQpAQCAtNjcsOCArNjcs
OCBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBpZiAoeCAm
JiAhZmlyc3RUaW1lKSB7CiAgICAgICAgICAgICB0aGlzLl9zYWZlbHlSZW1vdmVDaGlsZHJlbigp
OwotICAgICAgICAgICAgdGhpcy52aWV3U3RhdHVzQmFyLnJlbW92ZUNoaWxkcmVuKCk7IC8vIG9w
dGltaXplIHRoaXM/IGNhbGwgb2xkLmRldGFjaCgpCi0gICAgICAgICAgICB4LmF0dGFjaCh0aGlz
LmVsZW1lbnQsIHRoaXMudmlld1N0YXR1c0Jhcik7CisgICAgICAgICAgICB0aGlzLl92aWV3U3Rh
dHVzQmFyLnJlbW92ZUNoaWxkcmVuKCk7IC8vIG9wdGltaXplIHRoaXM/IGNhbGwgb2xkLmRldGFj
aCgpCisgICAgICAgICAgICB4LmF0dGFjaCh0aGlzLmVsZW1lbnQsIHRoaXMuX3ZpZXdTdGF0dXNC
YXIpOwogICAgICAgICAgICAgeC5zaG93KCk7CiAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0
cnVlOwogICAgICAgICB9CkBAIC03Nyw3ICs3Nyw3IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJv
dG90eXBlID0gewogICAgIGdldCBzYXZlZEhlaWdodCgpCiAgICAgewogICAgICAgICB2YXIgaGVp
Z2h0ID0gdGhpcy5fc2F2ZWRIZWlnaHQgfHwgdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDsKLSAg
ICAgICAgcmV0dXJuIE51bWJlci5jb25zdHJhaW4oaGVpZ2h0LCBQcmVmZXJlbmNlcy5taW5Db25z
b2xlSGVpZ2h0LCB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aGlzLm1haW5FbGVtZW50LnRvdGFsT2Zm
c2V0VG9wIC0gUHJlZmVyZW5jZXMubWluQ29uc29sZUhlaWdodCk7CisgICAgICAgIHJldHVybiBO
dW1iZXIuY29uc3RyYWluKGhlaWdodCwgUHJlZmVyZW5jZXMubWluQ29uc29sZUhlaWdodCwgd2lu
ZG93LmlubmVySGVpZ2h0IC0gdGhpcy5fbWFpbkVsZW1lbnQudG90YWxPZmZzZXRUb3AgLSBQcmVm
ZXJlbmNlcy5taW5Db25zb2xlSGVpZ2h0KTsKICAgICB9LAogCiAgICAgc2hvd1ZpZXc6IGZ1bmN0
aW9uKHZpZXcpCkBAIC0xMDEsMTYgKzEwMSwxNSBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNzKCJkcmF3ZXItdmlz
aWJsZSIpOwogCiAgICAgICAgIHZhciBhbmNob3JlZEl0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImFuY2hvcmVkLXN0YXR1cy1iYXItaXRlbXMiKTsKLSAgICAgICAgdmFyIGhlaWdodCA9
ICh0aGlzLmZ1bGxQYW5lbCA/IHdpbmRvdy5pbm5lckhlaWdodCAtIHRoaXMudG9vbGJhckVsZW1l
bnQub2Zmc2V0SGVpZ2h0IDogdGhpcy5zYXZlZEhlaWdodCk7CisgICAgICAgIHZhciBoZWlnaHQg
PSAodGhpcy5mdWxsUGFuZWwgPyB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aGlzLl90b29sYmFyRWxl
bWVudC5vZmZzZXRIZWlnaHQgOiB0aGlzLnNhdmVkSGVpZ2h0KTsKICAgICAgICAgdmFyIGFuaW1h
dGlvbnMgPSBbCiAgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWln
aHQ6IGhlaWdodH19LAotICAgICAgICAgICAge2VsZW1lbnQ6IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJtYWluIiksIGVuZDoge2JvdHRvbTogaGVpZ2h0fX0sCi0gICAgICAgICAgICB7ZWxlbWVu
dDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpLCBzdGFydDogeyJw
YWRkaW5nLWxlZnQiOiBhbmNob3JlZEl0ZW1zLm9mZnNldFdpZHRoIC0gMX0sIGVuZDogeyJwYWRk
aW5nLWxlZnQiOiAwfX0sCi0gICAgICAgICAgICB7ZWxlbWVudDogZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoIm90aGVyLWRyYXdlci1zdGF0dXMtYmFyLWl0ZW1zIiksIHN0YXJ0OiB7b3BhY2l0eTog
MH0sIGVuZDoge29wYWNpdHk6IDF9fQorICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX21haW5F
bGVtZW50LCBlbmQ6IHtib3R0b206IGhlaWdodH19LAorICAgICAgICAgICAge2VsZW1lbnQ6IHRo
aXMuX21haW5TdGF0dXNCYXIsIHN0YXJ0OiB7InBhZGRpbmctbGVmdCI6IGFuY2hvcmVkSXRlbXMu
b2Zmc2V0V2lkdGggLSAxfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IDB9fSwKKyAgICAgICAgICAg
IHtlbGVtZW50OiB0aGlzLl92aWV3U3RhdHVzQmFyLCBzdGFydDoge29wYWNpdHk6IDB9LCBlbmQ6
IHtvcGFjaXR5OiAxfX0KICAgICAgICAgXTsKIAotICAgICAgICB2YXIgZHJhd2VyU3RhdHVzQmFy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRyYXdlci1zdGF0dXMtYmFyIik7Ci0gICAgICAg
IGRyYXdlclN0YXR1c0Jhci5pbnNlcnRCZWZvcmUoYW5jaG9yZWRJdGVtcywgZHJhd2VyU3RhdHVz
QmFyLmZpcnN0Q2hpbGQpOworICAgICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuaW5zZXJ0QmVm
b3JlKGFuY2hvcmVkSXRlbXMsIHRoaXMuX2RyYXdlclN0YXR1c0Jhci5maXJzdENoaWxkKTsKIAog
ICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpIHsKICAgICAgICAgICAgIHZh
ciBvbGRSaWdodCA9IHRoaXMuX2RyYXdlclN0YXR1c0Jhci5jbGllbnRXaWR0aCAtICh0aGlzLl9j
b3VudGVycy5vZmZzZXRMZWZ0ICsgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMub2Zmc2V0V2lk
dGgpOwpAQCAtMTE4LDcgKzExNyw3IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgdmFyIHJpZ2h0UGFkZGluZyA9IChvbGRSaWdodCAtIG5ld1JpZ2h0KTsK
ICAgICAgICAgICAgIGFuaW1hdGlvbnMucHVzaCh7ZWxlbWVudDogdGhpcy5fY3VycmVudFBhbmVs
Q291bnRlcnMsIHN0YXJ0OiB7InBhZGRpbmctcmlnaHQiOiByaWdodFBhZGRpbmd9LCBlbmQ6IHsi
cGFkZGluZy1yaWdodCI6IDB9fSk7CiAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3Vu
dGVycy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKTsK
LSAgICAgICAgICAgIHRoaXMubWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW50
UGFuZWxDb3VudGVycyk7CisgICAgICAgICAgICB0aGlzLl9tYWluU3RhdHVzQmFyLmFwcGVuZENo
aWxkKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1
bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKQEAgLTEyOCwxMyArMTI3LDEzIEBAIFdlYkluc3Bl
Y3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZVZp
ZXcuYWZ0ZXJTaG93KQogICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZVZpZXcuYWZ0ZXJTaG93
KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fYW5pbWF0aW5nOwotICAgICAgICAgICAgZGVs
ZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb25JbnRlcnZhbDsKKyAgICAgICAgICAgIGRlbGV0ZSB0
aGlzLl9jdXJyZW50QW5pbWF0aW9uOwogICAgICAgICAgICAgdGhpcy5zdGF0ZSA9ICh0aGlzLmZ1
bGxQYW5lbCA/IFdlYkluc3BlY3Rvci5EcmF3ZXIuU3RhdGUuRnVsbCA6IFdlYkluc3BlY3Rvci5E
cmF3ZXIuU3RhdGUuVmFyaWFibGUpOwogICAgICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYW5l
bENvdW50ZXJzKQogICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLnJl
bW92ZUF0dHJpYnV0ZSgic3R5bGUiKTsKICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX2N1cnJl
bnRBbmltYXRpb25JbnRlcnZhbCA9IFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUoYW5pbWF0aW9u
cywgdGhpcy5fYW5pbWF0aW9uRHVyYXRpb24oKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0aGlz
KSk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRBbmltYXRpb24gPSBXZWJJbnNwZWN0b3IuYW5pbWF0
ZVN0eWxlKGFuaW1hdGlvbnMsIHRoaXMuX2FuaW1hdGlvbkR1cmF0aW9uKCksIGFuaW1hdGlvbkZp
bmlzaGVkLmJpbmQodGhpcykpOwogICAgIH0sCiAKICAgICBoaWRlOiBmdW5jdGlvbigpCkBAIC0x
NTksMjEgKzE1OCwyMSBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAg
ICAgICAvLyBUZW1wb3JhcmlseSBzZXQgcHJvcGVydGllcyBhbmQgY2xhc3NlcyB0byBtaW1pYyB0
aGUgcG9zdC1hbmltYXRpb24gdmFsdWVzIHNvIHBhbmVscwogICAgICAgICAvLyBsaWtlIEVsZW1l
bnRzIGluIHRoZWlyIHVwZGF0ZVN0YXR1c0Jhckl0ZW1zIGNhbGwgd2lsbCBzaXplIHRoaW5ncyB0
byBmaXQgdGhlIGZpbmFsIGxvY2F0aW9uLgotICAgICAgICB0aGlzLm1haW5TdGF0dXNCYXIuc3R5
bGUuc2V0UHJvcGVydHkoInBhZGRpbmctbGVmdCIsIChhbmNob3JlZEl0ZW1zLm9mZnNldFdpZHRo
IC0gMSkgKyAicHgiKTsKKyAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5zdHlsZS5zZXRQcm9w
ZXJ0eSgicGFkZGluZy1sZWZ0IiwgKGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxKSArICJw
eCIpOwogICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRyYXdlci12aXNp
YmxlIik7CiAgICAgICAgIGlmICgidXBkYXRlU3RhdHVzQmFySXRlbXMiIGluIFdlYkluc3BlY3Rv
ci5jdXJyZW50UGFuZWwpCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudFBhbmVsLnVw
ZGF0ZVN0YXR1c0Jhckl0ZW1zKCk7CiAgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkU3R5bGVDbGFz
cygiZHJhd2VyLXZpc2libGUiKTsKIAogICAgICAgICB2YXIgYW5pbWF0aW9ucyA9IFsKLSAgICAg
ICAgICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbiIpLCBlbmQ6IHti
b3R0b206IDB9fSwKLSAgICAgICAgICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibWFpbi1zdGF0dXMtYmFyIiksIHN0YXJ0OiB7InBhZGRpbmctbGVmdCI6IDB9LCBlbmQ6IHsi
cGFkZGluZy1sZWZ0IjogYW5jaG9yZWRJdGVtcy5vZmZzZXRXaWR0aCAtIDF9fSwKLSAgICAgICAg
ICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3RoZXItZHJhd2VyLXN0YXR1
cy1iYXItaXRlbXMiKSwgc3RhcnQ6IHtvcGFjaXR5OiAxfSwgZW5kOiB7b3BhY2l0eTogMH19Cisg
ICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5fbWFpbkVsZW1lbnQsIGVuZDoge2JvdHRvbTogMH19
LAorICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX21haW5TdGF0dXNCYXIsIHN0YXJ0OiB7InBh
ZGRpbmctbGVmdCI6IDB9LCBlbmQ6IHsicGFkZGluZy1sZWZ0IjogYW5jaG9yZWRJdGVtcy5vZmZz
ZXRXaWR0aCAtIDF9fSwKKyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl92aWV3U3RhdHVzQmFy
LCBzdGFydDoge29wYWNpdHk6IDF9LCBlbmQ6IHtvcGFjaXR5OiAwfX0KICAgICAgICAgXTsKIAog
ICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpIHsKICAgICAgICAgICAgIHZh
ciBuZXdSaWdodCA9IHRoaXMuX2RyYXdlclN0YXR1c0Jhci5jbGllbnRXaWR0aCAtIHRoaXMuX2Nv
dW50ZXJzLm9mZnNldExlZnQ7Ci0gICAgICAgICAgICB2YXIgb2xkUmlnaHQgPSB0aGlzLm1haW5T
dGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMub2Zmc2V0
TGVmdCArIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdpZHRoKTsKKyAgICAgICAg
ICAgIHZhciBvbGRSaWdodCA9IHRoaXMuX21haW5TdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhp
cy5fY3VycmVudFBhbmVsQ291bnRlcnMub2Zmc2V0TGVmdCArIHRoaXMuX2N1cnJlbnRQYW5lbENv
dW50ZXJzLm9mZnNldFdpZHRoKTsKICAgICAgICAgICAgIHZhciByaWdodFBhZGRpbmcgPSAobmV3
UmlnaHQgLSBvbGRSaWdodCk7CiAgICAgICAgICAgICBhbmltYXRpb25zLnB1c2goe2VsZW1lbnQ6
IHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLCBzdGFydDogeyJwYWRkaW5nLXJpZ2h0IjogMH0s
IGVuZDogeyJwYWRkaW5nLXJpZ2h0IjogcmlnaHRQYWRkaW5nfX0pOwogICAgICAgICB9CkBAIC0x
ODEsOSArMTgwLDggQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
IGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmN1cnJlbnRQYW5lbC5yZXNpemUoKTsKLSAgICAgICAgICAgIHZhciBtYWluU3Rh
dHVzQmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOwotICAg
ICAgICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZvcmUoYW5jaG9yZWRJdGVtcywgbWFpblN0
YXR1c0Jhci5maXJzdENoaWxkKTsKLSAgICAgICAgICAgIG1haW5TdGF0dXNCYXIuc3R5bGUucmVt
b3ZlUHJvcGVydHkoInBhZGRpbmctbGVmdCIpOworICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1
c0Jhci5pbnNlcnRCZWZvcmUoYW5jaG9yZWRJdGVtcywgdGhpcy5fbWFpblN0YXR1c0Jhci5maXJz
dENoaWxkKTsKKyAgICAgICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuc3R5bGUucmVtb3ZlUHJv
cGVydHkoInBhZGRpbmctbGVmdCIpOwogCiAgICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBh
bmVsQ291bnRlcnMpIHsKICAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cy5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgbnVsbCk7CkBAIC0xOTMsMTEgKzE5MSwxMSBAQCBXZWJJ
bnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVTdHlsZUNsYXNzKCJkcmF3ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRl
IHRoaXMuX2FuaW1hdGluZzsKLSAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jdXJyZW50QW5pbWF0
aW9uSW50ZXJ2YWw7CisgICAgICAgICAgICBkZWxldGUgdGhpcy5fY3VycmVudEFuaW1hdGlvbjsK
ICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSBXZWJJbnNwZWN0b3IuRHJhd2VyLlN0YXRlLkhpZGRl
bjsKICAgICAgICAgfQogCi0gICAgICAgIHRoaXMuX2N1cnJlbnRBbmltYXRpb25JbnRlcnZhbCA9
IFdlYkluc3BlY3Rvci5hbmltYXRlU3R5bGUoYW5pbWF0aW9ucywgdGhpcy5fYW5pbWF0aW9uRHVy
YXRpb24oKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX2N1
cnJlbnRBbmltYXRpb24gPSBXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlKGFuaW1hdGlvbnMsIHRo
aXMuX2FuaW1hdGlvbkR1cmF0aW9uKCksIGFuaW1hdGlvbkZpbmlzaGVkLmJpbmQodGhpcykpOwog
ICAgIH0sCiAKICAgICByZXNpemU6IGZ1bmN0aW9uKCkKQEAgLTIwNiwxNCArMjA0LDEzIEBAIFdl
Ykluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogCiAg
ICAgICAgIHZhciBoZWlnaHQ7Ci0gICAgICAgIHZhciBtYWluRWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJtYWluIik7CiAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSBXZWJJbnNw
ZWN0b3IuRHJhd2VyLlN0YXRlLlZhcmlhYmxlKSB7CiAgICAgICAgICAgICBoZWlnaHQgPSBwYXJz
ZUludCh0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0KTsKLSAgICAgICAgICAgIGhlaWdodCA9IE51
bWJlci5jb25zdHJhaW4oaGVpZ2h0LCBQcmVmZXJlbmNlcy5taW5Db25zb2xlSGVpZ2h0LCB3aW5k
b3cuaW5uZXJIZWlnaHQgLSBtYWluRWxlbWVudC50b3RhbE9mZnNldFRvcCAtIFByZWZlcmVuY2Vz
Lm1pbkNvbnNvbGVIZWlnaHQpOworICAgICAgICAgICAgaGVpZ2h0ID0gTnVtYmVyLmNvbnN0cmFp
bihoZWlnaHQsIFByZWZlcmVuY2VzLm1pbkNvbnNvbGVIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdo
dCAtIHRoaXMuX21haW5FbGVtZW50LnRvdGFsT2Zmc2V0VG9wIC0gUHJlZmVyZW5jZXMubWluQ29u
c29sZUhlaWdodCk7CiAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgaGVpZ2h0ID0gd2luZG93
LmlubmVySGVpZ2h0IC0gdGhpcy50b29sYmFyRWxlbWVudC5vZmZzZXRIZWlnaHQ7CisgICAgICAg
ICAgICBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSB0aGlzLl90b29sYmFyRWxlbWVudC5v
ZmZzZXRIZWlnaHQ7CiAKLSAgICAgICAgbWFpbkVsZW1lbnQuc3R5bGUuYm90dG9tID0gaGVpZ2h0
ICsgInB4IjsKKyAgICAgICAgdGhpcy5fbWFpbkVsZW1lbnQuc3R5bGUuYm90dG9tID0gaGVpZ2h0
ICsgInB4IjsKICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLmhlaWdodCA9IGhlaWdodCArICJw
eCI7CiAgICAgfSwKIApAQCAtMjI0LDcgKzIyMSw3IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJv
dG90eXBlID0gewogICAgICAgICAKICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkgewogICAgICAg
ICAgICAgdGhpcy5fc2F2ZWRIZWlnaHQgPSB0aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0OwotICAg
ICAgICAgICAgdmFyIGhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIHRoaXMudG9vbGJhckVs
ZW1lbnQub2Zmc2V0SGVpZ2h0OworICAgICAgICAgICAgdmFyIGhlaWdodCA9IHdpbmRvdy5pbm5l
ckhlaWdodCAtIHRoaXMuX3Rvb2xiYXJFbGVtZW50Lm9mZnNldEhlaWdodDsKICAgICAgICAgICAg
IHRoaXMuX2FuaW1hdGVEcmF3ZXJIZWlnaHQoaGVpZ2h0LCBXZWJJbnNwZWN0b3IuRHJhd2VyLlN0
YXRlLkZ1bGwpOwogICAgICAgICB9CiAgICAgfSwKQEAgLTI0OSw2ICsyNDYsMTIgQEAgV2ViSW5z
cGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZnVsbFBhbmVsID0gZmFs
c2U7CiAgICAgfSwKIAorICAgIGltbWVkaWF0ZWx5RmluaXNoQW5pbWF0aW9uOiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICBpZiAodGhpcy5fY3VycmVudEFuaW1hdGlvbikKKyAgICAgICAgICAg
IHRoaXMuX2N1cnJlbnRBbmltYXRpb24uZm9yY2VDb21wbGV0ZSgpOworICAgIH0sCisKICAgICBz
ZXQgY3VycmVudFBhbmVsQ291bnRlcnMoeCkKICAgICB7CiAgICAgICAgIGlmICgheCkgewpAQCAt
MjYwLDcgKzI2Myw3IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogCiAgICAg
ICAgIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzID0geDsKICAgICAgICAgaWYgKHRoaXMudmlz
aWJsZSkKLSAgICAgICAgICAgIHRoaXMubWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh4KTsKKyAg
ICAgICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuYXBwZW5kQ2hpbGQoeCk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIHRoaXMuX2NvdW50ZXJzLmluc2VydEJlZm9yZSh4LCB0aGlzLl9jb3Vu
dGVycy5maXJzdENoaWxkKTsKICAgICB9LApAQCAtMjY4LDkgKzI3MSwxMCBAQCBXZWJJbnNwZWN0
b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKICAgICBfY2FuY2VsQW5pbWF0aW9uSWZOZWVkZWQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9hbmltYXRpbmcpIHsKLSAgICAgICAg
ICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fY3VycmVudEFuaW1hdGlvbkludGVydmFsKTsKKyAgICAg
ICAgICAgIGlmICh0aGlzLl9jdXJyZW50QW5pbWF0aW9uKQorICAgICAgICAgICAgICAgIHRoaXMu
X2N1cnJlbnRBbmltYXRpb24uY2FuY2VsKCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fYW5p
bWF0aW5nOwotICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb25JbnRlcnZh
bDsKKyAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9jdXJyZW50QW5pbWF0aW9uOwogICAgICAgICB9
CiAgICAgfSwKIApAQCAtMjc5LDE3ICsyODMsMTcgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2FuaW1hdGluZyA9IHRydWU7CiAgICAgICAgIHZhciBh
bmltYXRpb25zID0gWwogICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuZWxlbWVudCwgZW5kOiB7
aGVpZ2h0OiBoZWlnaHR9fSwKLSAgICAgICAgICAgIHtlbGVtZW50OiBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibWFpbiIpLCBlbmQ6IHtib3R0b206IGhlaWdodH19CisgICAgICAgICAgICB7ZWxl
bWVudDogdGhpcy5fbWFpbkVsZW1lbnQsIGVuZDoge2JvdHRvbTogaGVpZ2h0fX0KICAgICAgICAg
XTsKIAogICAgICAgICBmdW5jdGlvbiBhbmltYXRpb25GaW5pc2hlZCgpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGRlbGV0ZSB0aGlzLl9hbmltYXRpbmc7Ci0gICAgICAgICAgICBkZWxldGUgdGhp
cy5fY3VycmVudEFuaW1hdGlvbkludGVydmFsOworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1
cnJlbnRBbmltYXRpb247CiAgICAgICAgICAgICB0aGlzLnN0YXRlID0gZmluYWxTdGF0ZTsKICAg
ICAgICAgfQogCi0gICAgICAgIHRoaXMuX2N1cnJlbnRBbmltYXRpb25JbnRlcnZhbCA9IFdlYklu
c3BlY3Rvci5hbmltYXRlU3R5bGUoYW5pbWF0aW9ucywgdGhpcy5fYW5pbWF0aW9uRHVyYXRpb24o
KSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX2N1cnJlbnRB
bmltYXRpb24gPSBXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0eWxlKGFuaW1hdGlvbnMsIHRoaXMuX2Fu
aW1hdGlvbkR1cmF0aW9uKCksIGFuaW1hdGlvbkZpbmlzaGVkLmJpbmQodGhpcykpOwogICAgIH0s
CiAKICAgICBfYW5pbWF0aW9uRHVyYXRpb246IGZ1bmN0aW9uKCkKQEAgLTMxNiwxMCArMzIwLDEw
IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogCiAgICAgX3N0YXJ0U3RhdHVz
QmFyRHJhZ2dpbmc6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLnZp
c2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLm1haW5TdGF0dXNCYXIpCisgICAgICAgIGlm
ICghdGhpcy52aXNpYmxlIHx8IGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikK
ICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdT
dGFydCh0aGlzLm1haW5TdGF0dXNCYXIsIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhp
cyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIGV2ZW50LCAicm93LXJl
c2l6ZSIpOworICAgICAgICBXZWJJbnNwZWN0b3IuZWxlbWVudERyYWdTdGFydCh0aGlzLl9tYWlu
U3RhdHVzQmFyLCB0aGlzLl9zdGF0dXNCYXJEcmFnZ2luZy5iaW5kKHRoaXMpLCB0aGlzLl9lbmRT
dGF0dXNCYXJEcmFnZ2luZy5iaW5kKHRoaXMpLCBldmVudCwgInJvdy1yZXNpemUiKTsKIAogICAg
ICAgICB0aGlzLl9zdGF0dXNCYXJEcmFnT2Zmc2V0ID0gZXZlbnQucGFnZVkgLSB0aGlzLmVsZW1l
bnQudG90YWxPZmZzZXRUb3A7CiAKQEAgLTMyOCwxMSArMzMyLDEwIEBAIFdlYkluc3BlY3Rvci5E
cmF3ZXIucHJvdG90eXBlID0gewogCiAgICAgX3N0YXR1c0JhckRyYWdnaW5nOiBmdW5jdGlvbihl
dmVudCkKICAgICB7Ci0gICAgICAgIHZhciBtYWluRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJtYWluIik7CiAgICAgICAgIHZhciBoZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQg
LSBldmVudC5wYWdlWSArIHRoaXMuX3N0YXR1c0JhckRyYWdPZmZzZXQ7Ci0gICAgICAgIGhlaWdo
dCA9IE51bWJlci5jb25zdHJhaW4oaGVpZ2h0LCBQcmVmZXJlbmNlcy5taW5Db25zb2xlSGVpZ2h0
LCB3aW5kb3cuaW5uZXJIZWlnaHQgLSBtYWluRWxlbWVudC50b3RhbE9mZnNldFRvcCAtIFByZWZl
cmVuY2VzLm1pbkNvbnNvbGVIZWlnaHQpOworICAgICAgICBoZWlnaHQgPSBOdW1iZXIuY29uc3Ry
YWluKGhlaWdodCwgUHJlZmVyZW5jZXMubWluQ29uc29sZUhlaWdodCwgd2luZG93LmlubmVySGVp
Z2h0IC0gdGhpcy5fbWFpbkVsZW1lbnQudG90YWxPZmZzZXRUb3AgLSBQcmVmZXJlbmNlcy5taW5D
b25zb2xlSGVpZ2h0KTsKIAotICAgICAgICBtYWluRWxlbWVudC5zdHlsZS5ib3R0b20gPSBoZWln
aHQgKyAicHgiOworICAgICAgICB0aGlzLl9tYWluRWxlbWVudC5zdHlsZS5ib3R0b20gPSBoZWln
aHQgKyAicHgiOwogICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0ICsg
InB4IjsKIAogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCAzN2E2NDYwNmEwNzZh
NTg4NGFkOTI5ZDViNTU3ODRjMjcyMzY4ZDcyLi4wOTU5Mjg5N2Y5Mjc0NWM0N2M1YTY5YWZkNzVk
MzdiYWJkYzIzMDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qcwpAQCAtOTA4LDYgKzkwOCw3IEBAIFdlYkluc3BlY3Rvci5hbmltYXRlU3R5
bGUgPSBmdW5jdGlvbihhbmltYXRpb25zLCBkdXJhdGlvbiwgY2FsbGJhY2spCiB7CiAgICAgdmFy
IGludGVydmFsOwogICAgIHZhciBjb21wbGV0ZSA9IDA7CisgICAgdmFyIGhhc0NvbXBsZXRlZCA9
IGZhbHNlOwogCiAgICAgY29uc3QgaW50ZXJ2YWxEdXJhdGlvbiA9ICgxMDAwIC8gMzApOyAvLyAz
MCBmcmFtZXMgcGVyIHNlY29uZC4KICAgICBjb25zdCBhbmltYXRpb25zTGVuZ3RoID0gYW5pbWF0
aW9ucy5sZW5ndGg7CkBAIC05NzYsMTQgKzk3NywzMiBAQCBXZWJJbnNwZWN0b3IuYW5pbWF0ZVN0
eWxlID0gZnVuY3Rpb24oYW5pbWF0aW9ucywgZHVyYXRpb24sIGNhbGxiYWNrKQogCiAgICAgICAg
IC8vIEVuZCBjb25kaXRpb24uCiAgICAgICAgIGlmIChjb21wbGV0ZSA+PSBkdXJhdGlvbikgewor
ICAgICAgICAgICAgaGFzQ29tcGxldGVkID0gdHJ1ZTsKICAgICAgICAgICAgIGNsZWFySW50ZXJ2
YWwoaW50ZXJ2YWwpOwogICAgICAgICAgICAgaWYgKGNhbGxiYWNrKQogICAgICAgICAgICAgICAg
IGNhbGxiYWNrKCk7CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBmdW5jdGlvbiBmb3JjZUNvbXBs
ZXRlKCkKKyAgICB7CisgICAgICAgIGlmICghaGFzQ29tcGxldGVkKSB7CisgICAgICAgICAgICBj
b21wbGV0ZSA9IGR1cmF0aW9uOworICAgICAgICAgICAgYW5pbWF0ZUxvb3AoKTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIGZ1bmN0aW9uIGNhbmNlbCgpCisgICAgeworICAgICAgICBoYXNDb21w
bGV0ZWQgPSB0cnVlOworICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTsKKyAgICB9CisK
ICAgICBpbnRlcnZhbCA9IHNldEludGVydmFsKGFuaW1hdGVMb29wLCBpbnRlcnZhbER1cmF0aW9u
KTsKLSAgICByZXR1cm4gaW50ZXJ2YWw7CisgICAgcmV0dXJuIHsKKyAgICAgICAgY2FuY2VsOiBj
YW5jZWwsCisgICAgICAgIGZvcmNlQ29tcGxldGU6IGZvcmNlQ29tcGxldGUKKyAgICB9OwogfQog
CiBXZWJJbnNwZWN0b3IudXBkYXRlU2VhcmNoTGFiZWwgPSBmdW5jdGlvbigpCkBAIC0xMzM4LDYg
KzEzNTcsOCBAQCBXZWJJbnNwZWN0b3Iuc2hvd1NvdXJjZUxpbmUgPSBmdW5jdGlvbih1cmwsIGxp
bmUsIHByZWZlcnJlZFBhbmVsKQogICAgIHRoaXMuY3VycmVudFBhbmVsID0gdGhpcy5fY2hvb3Nl
UGFuZWxUb1Nob3dTb3VyY2VMaW5lKHVybCwgbGluZSwgcHJlZmVycmVkUGFuZWwpOwogICAgIGlm
ICghdGhpcy5jdXJyZW50UGFuZWwpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAodGhp
cy5kcmF3ZXIpCisgICAgICAgIHRoaXMuZHJhd2VyLmltbWVkaWF0ZWx5RmluaXNoQW5pbWF0aW9u
KCk7CiAgICAgdGhpcy5jdXJyZW50UGFuZWwuc2hvd1NvdXJjZUxpbmUodXJsLCBsaW5lKTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>