<?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>104970</bug_id>
          
          <creation_ts>2012-12-13 16:01:11 -0800</creation_ts>
          <short_desc>Web Inspector: Search by selection</short_desc>
          <delta_ts>2012-12-20 11:40:35 -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="johnjbarton">johnjbarton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>791053</commentid>
    <comment_count>0</comment_count>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-13 16:01:11 -0800</bug_when>
    <thetext>Browsers provide word-selection upon double click on text. They also provide arbitrary contiguous text selection with the mouse. We can leverage this feature in search by loading the search query with the text selection when ever it is available.

The user experience here is similar to other editors, for example Sublime Text.  For me this feature is the most important one missing from Web Inspector&apos;s editor.

Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791060</commentid>
    <comment_count>1</comment_count>
      <attachid>179365</attachid>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-13 16:08:25 -0800</bug_when>
    <thetext>Created attachment 179365
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791061</commentid>
    <comment_count>2</comment_count>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-13 16:09:38 -0800</bug_when>
    <thetext>I&apos;ll add a test if the patch would be accepted with one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791396</commentid>
    <comment_count>3</comment_count>
      <attachid>179365</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-14 00:08:40 -0800</bug_when>
    <thetext>Comment on attachment 179365
Patch

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

Looks good, style nits inline.

&gt; Source/WebCore/inspector/front-end/AdvancedSearchController.js:246
&gt; +    syncToSelection: function()

Rename to _syncToSelection (make private)

&gt; Source/WebCore/inspector/front-end/AdvancedSearchController.js:249
&gt; +        if (selection.type === &quot;Range&quot; &amp;&amp; !selection.isCollapsed)

We typically do if (selection.rangeCount)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791412</commentid>
    <comment_count>4</comment_count>
      <attachid>179365</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-12-14 00:24:37 -0800</bug_when>
    <thetext>Comment on attachment 179365
Patch

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

Pavel, will platform selection always work properly in text editor?

&gt; Source/WebCore/inspector/front-end/AdvancedSearchController.js:250
&gt; +            this._search.value = selection.toString();

selection.toString().replace(/\r?\n.*/, &quot;&quot;) to make sure search query does not have any line feeds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791640</commentid>
    <comment_count>5</comment_count>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-14 08:48:19 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 179365 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=179365&amp;action=review
&gt; 
&gt; Looks good, style nits inline.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/AdvancedSearchController.js:246
&gt; &gt; +    syncToSelection: function()
&gt; 
&gt; Rename to _syncToSelection (make private)

Just so I understand:  private-per-file not per-class ? The function is call is across classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791673</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-14 09:51:53 -0800</bug_when>
    <thetext>&gt; &gt; Rename to _syncToSelection (make private)
&gt; 
&gt; Just so I understand:  private-per-file not per-class ? The function is call is across classes.

Yes. Private is per class. It is not a compiler annotation, it is rather an indication that you can rename it within file. We also are supposed to follow the file per public class policy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791785</commentid>
    <comment_count>7</comment_count>
      <attachid>179518</attachid>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-14 12:54:33 -0800</bug_when>
    <thetext>Created attachment 179518
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791790</commentid>
    <comment_count>8</comment_count>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-14 12:59:27 -0800</bug_when>
    <thetext>Since the syncToSelection() is across classes I left it unprefixed with _.

The test here is minimal, only the positive single word case.  Multiple line selection works -- puts the first line in the input -- but I don&apos;t know how to set the selection to test this.  Random content in the selection buffer should also be tested in principle, but in my experience so far WebInspector already clears selections. Anyway the test file is set up for more cases if we encounter problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792526</commentid>
    <comment_count>9</comment_count>
      <attachid>179518</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-12-17 00:32:00 -0800</bug_when>
    <thetext>Comment on attachment 179518
Patch

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

&gt; LayoutTests/inspector/editor/text-editor-selection-to-search.html:21
&gt; +            InspectorTest.showScriptSource(&quot;edit-me.js&quot;, didShowScriptSource);

Weird indent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792528</commentid>
    <comment_count>10</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-12-17 00:33:28 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Since the syncToSelection() is across classes I left it unprefixed with _.
&gt; 
&gt; The test here is minimal, only the positive single word case.  Multiple line selection works -- puts the first line in the input -- but I don&apos;t know how to set the selection to test this. 

You could change from (or to) line number that is passed to the TextRange constructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792529</commentid>
    <comment_count>11</comment_count>
      <attachid>179518</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-12-17 00:34:15 -0800</bug_when>
    <thetext>Comment on attachment 179518
Patch

Please fix indent before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792832</commentid>
    <comment_count>12</comment_count>
      <attachid>179766</attachid>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-17 10:34:00 -0800</bug_when>
    <thetext>Created attachment 179766
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792834</commentid>
    <comment_count>13</comment_count>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-17 10:35:06 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 179518 [details])
&gt; Please fix indent before landing.

Done, please submit to commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792896</commentid>
    <comment_count>14</comment_count>
      <attachid>179766</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-17 11:45:09 -0800</bug_when>
    <thetext>Comment on attachment 179766
Patch

Clearing flags on attachment: 179766

Committed r137928: &lt;http://trac.webkit.org/changeset/137928&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>792897</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-17 11:45:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795604</commentid>
    <comment_count>16</comment_count>
    <who name="johnjbarton">johnjbarton</who>
    <bug_when>2012-12-20 11:40:35 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 179365 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=179365&amp;action=review
&gt; 
&gt; Pavel, will platform selection always work properly in text editor?

I know this bug is closed, I&apos;m just storing some observations here regarding your question.

When in the Sources panel on a breakpoint I can select a Scope Variable and hit search, the selected scope variable is the query.  

Yay! This is behavior we want.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179365</attachid>
            <date>2012-12-13 16:08:25 -0800</date>
            <delta_ts>2012-12-14 12:54:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104970-20121213160545.patch</filename>
            <type>text/plain</type>
            <size>3189</size>
            <attacher name="johnjbarton">johnjbarton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU5NTZiNWY3M2ZhYzgx
ZWRhYWIyOGQ4ZTU2Yjg2ZjliZmFjZTFiOS4uMmM0ZDUxNjliNDU2ZTEwNzE5NTdjM2NkYzAzZjYw
NmYwY2FkMjYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTEzICBKb2hu
IEouIEJhcnRvbiAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTZWFyY2ggYnkgc2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ5NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcG9uIGFjdGl2YXRpb24gb2YgdGhlIHNlYXJjaCBjb250cm9s
LCBjb25kaXRpb25hbGx5IHNldCBpbnB1dC52YWx1ZSB0byB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
CisgICAgICAgIEZvciBib3RoIHNpbmdsZSBmaWxlIChTZWFyY2hDb250cm9sbGVyKSBhbmQgbXVs
dGlmaWxlIChBZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJj
aENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hWaWV3
LnByb3RvdHlwZS5zeW5jVG9TZWxlY3Rpb24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU2VhcmNoQ29udHJvbGxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZS5zaG93U2VhcmNoRmllbGQpOgorCiAyMDEyLTEyLTEyICBLcnp5c3p0
b2YgQ3plY2ggIDxrLmN6ZWNoQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFBvc3NpYmls
aXR5IHRvIHR1cm4gb2ZmIGFjY2Vzc2liaWxpdHkgZmVhdHVyZSBmb3IgV2ViS2l0LUVGTC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5jZWRTZWFy
Y2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZh
bmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggM2Y0ZjhkZmQ0MDg4YWM4YjJlMjkzOTI5OGQ3
OGExM2I0NTkwMGQ4Ni4uOTczNmI1MDgzZGU3NzU3Y2NmZWMyNDU3ODVjNTNmMjc0ODhiYzYzYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNl
YXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTg4LDYgKzg4LDggQEAgV2ViSW5zcGVj
dG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICgh
dGhpcy5fc2VhcmNoVmlldykKICAgICAgICAgICAgIHRoaXMuX3NlYXJjaFZpZXcgPSBuZXcgV2Vi
SW5zcGVjdG9yLlNlYXJjaFZpZXcodGhpcyk7CiAgICAgICAgIAorICAgICAgICB0aGlzLl9zZWFy
Y2hWaWV3LnN5bmNUb1NlbGVjdGlvbigpOworCiAgICAgICAgIGlmICh0aGlzLl9zZWFyY2hWaWV3
LmlzU2hvd2luZygpKQogICAgICAgICAgICAgdGhpcy5fc2VhcmNoVmlldy5mb2N1cygpOwogICAg
ICAgICBlbHNlCkBAIC0yNDAsNiArMjQyLDEzIEBAIFdlYkluc3BlY3Rvci5TZWFyY2hWaWV3LnBy
b3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlNlYXJj
aENvbmZpZyh0aGlzLl9zZWFyY2gudmFsdWUsIHRoaXMuX2lnbm9yZUNhc2VDaGVja2JveC5jaGVj
a2VkLCB0aGlzLl9yZWdleENoZWNrYm94LmNoZWNrZWQpOwogICAgIH0sCisKKyAgICBzeW5jVG9T
ZWxlY3Rpb246IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciBzZWxlY3Rpb24gPSB3aW5k
b3cuZ2V0U2VsZWN0aW9uKCk7CisgICAgICAgIGlmIChzZWxlY3Rpb24udHlwZSA9PT0gIlJhbmdl
IiAmJiAhc2VsZWN0aW9uLmlzQ29sbGFwc2VkKQorICAgICAgICAgICAgdGhpcy5fc2VhcmNoLnZh
bHVlID0gc2VsZWN0aW9uLnRvU3RyaW5nKCk7CisgICAgfSwKICAgICAKICAgICAvKioKICAgICAg
KiBAdHlwZSB7V2ViSW5zcGVjdG9yLlNlYXJjaFJlc3VsdHNQYW5lfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCmluZGV4
IDA0ODIwZGExZGI0NTA3YTBiZmUzNTFlOGNhMTA2YzQzYmY1OWVjZDQuLmJiMjQ1NTlkZmJjNDNj
ZWE2NGQ3OWI4NTQ0YjMxYmQyYzQ0ZTcyY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKQEAgLTI0OSw2ICsyNDks
OSBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEZvb3RlckVsZW1lbnQodGhpcy5fZWxlbWVu
dCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5KCk7CiAgICAgICAgIHRo
aXMuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkoKTsKKyAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdp
bmRvdy5nZXRTZWxlY3Rpb24oKTsKKyAgICAgICAgaWYgKHNlbGVjdGlvbi50eXBlID09PSAiUmFu
Z2UiICYmICFzZWxlY3Rpb24uaXNDb2xsYXBzZWQpCisgICAgICAgICAgICB0aGlzLl9zZWFyY2hJ
bnB1dEVsZW1lbnQudmFsdWUgPSBzZWxlY3Rpb24udG9TdHJpbmcoKTsKICAgICAgICAgdGhpcy5f
c2VhcmNoSW5wdXRFbGVtZW50LmZvY3VzKCk7CiAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxl
bWVudC5zZWxlY3QoKTsKICAgICAgICAgdGhpcy5fc2VhcmNoSXNWaXNpYmxlID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179518</attachid>
            <date>2012-12-14 12:54:33 -0800</date>
            <delta_ts>2012-12-17 10:33:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104970-20121214125152.patch</filename>
            <type>text/plain</type>
            <size>7045</size>
            <attacher name="johnjbarton">johnjbarton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU5NTZiNWY3M2ZhYzgx
ZWRhYWIyOGQ4ZTU2Yjg2ZjliZmFjZTFiOS4uOTg3ZDgwNWFmN2EzYWE2Y2ZhZGE1NDk0YzExMTc4
YTc1YzlkY2RlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTE0ICBKb2hu
IEouIEJhcnRvbiAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTZWFyY2ggYnkgc2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ5NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcG9uIGFjdGl2YXRpb24gb2YgdGhlIHNlYXJjaCBjb250cm9s
LCBjb25kaXRpb25hbGx5IHNldCBpbnB1dC52YWx1ZSB0byB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
CisgICAgICAgIEZvciBib3RoIHNpbmdsZSBmaWxlIChTZWFyY2hDb250cm9sbGVyKSBhbmQgbXVs
dGlmaWxlIChBZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIpLgorCisgICAgICAgIFRlc3Q6IGluc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRvLXNlYXJjaC5odG1sCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnNo
b3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlLnN5bmNUb1Nl
bGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVy
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnNo
b3dTZWFyY2hGaWVsZCk6CisKIDIwMTItMTItMTIgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gUG9zc2liaWxpdHkgdG8gdHVybiBvZmYgYWNj
ZXNzaWJpbGl0eSBmZWF0dXJlIGZvciBXZWJLaXQtRUZMLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxl
ci5qcwppbmRleCAzZjRmOGRmZDQwODhhYzhiMmUyOTM5Mjk4ZDc4YTEzYjQ1OTAwZDg2Li44NmZi
NTgxOWYwMGU1ZDI5ZTQ4NTQzNDRjYjFmYWI0MTRhOGEyZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlci5qcwpAQCAtODgsNiArODgsOCBAQCBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hD
b250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLl9zZWFyY2hWaWV3KQog
ICAgICAgICAgICAgdGhpcy5fc2VhcmNoVmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuU2VhcmNoVmll
dyh0aGlzKTsKICAgICAgICAgCisgICAgICAgIHRoaXMuX3NlYXJjaFZpZXcuc3luY1RvU2VsZWN0
aW9uKCk7CisKICAgICAgICAgaWYgKHRoaXMuX3NlYXJjaFZpZXcuaXNTaG93aW5nKCkpCiAgICAg
ICAgICAgICB0aGlzLl9zZWFyY2hWaWV3LmZvY3VzKCk7CiAgICAgICAgIGVsc2UKQEAgLTI0MCw2
ICsyNDIsMTMgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlID0gewogICAgIHsK
ICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuU2VhcmNoQ29uZmlnKHRoaXMuX3NlYXJj
aC52YWx1ZSwgdGhpcy5faWdub3JlQ2FzZUNoZWNrYm94LmNoZWNrZWQsIHRoaXMuX3JlZ2V4Q2hl
Y2tib3guY2hlY2tlZCk7CiAgICAgfSwKKworICAgIHN5bmNUb1NlbGVjdGlvbjogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsK
KyAgICAgICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50KQorICAgICAgICAgICAgdGhpcy5fc2Vh
cmNoLnZhbHVlID0gc2VsZWN0aW9uLnRvU3RyaW5nKCkucmVwbGFjZSgvXHI/XG4uKi8sICIiKTsK
KyAgICB9LAogICAgIAogICAgIC8qKgogICAgICAqIEB0eXBlIHtXZWJJbnNwZWN0b3IuU2VhcmNo
UmVzdWx0c1BhbmV9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggMDQ4MjBkYTFkYjQ1MDdhMGJmZTM1MWU4Y2Ex
MDZjNDNiZjU5ZWNkNC4uMzQ1OTY5Yjc3N2ZkMjdmYzljZjhmMmJlZjZmYjdmODQwMjU2MTJmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250
cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNo
Q29udHJvbGxlci5qcwpAQCAtMjQ5LDYgKzI0OSw5IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcu
c2V0Rm9vdGVyRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKICAgICAgICAgdGhpcy5fdXBkYXRlUmVw
bGFjZVZpc2liaWxpdHkoKTsKICAgICAgICAgdGhpcy5fdXBkYXRlRmlsdGVyVmlzaWJpbGl0eSgp
OworICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAg
ICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQpCisgICAgICAgICAgICB0aGlzLl9zZWFyY2hJbnB1
dEVsZW1lbnQudmFsdWUgPSBzZWxlY3Rpb24udG9TdHJpbmcoKS5yZXBsYWNlKC9ccj9cbi4qLywg
IiIpOwogICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKICAgICAgICAg
dGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnNlbGVjdCgpOwogICAgICAgICB0aGlzLl9zZWFyY2hJ
c1Zpc2libGUgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNmNDkxODI1ZWY2MGVkZTdmNTA3NWE0MzIzMGVlNzVi
YzM0OWFmNmYuLmIyODZiYTZlOWIxOWQ2MDMwMjFhMTJkZTZlMDU2MmMwNTgzOGY2NjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMi0xNCAgSm9obiBKLiBCYXJ0b24gIDxqb2huamJhcnRv
bkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU2VhcmNoIGJ5IHNlbGVj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
OTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3
IGluc3BlY3RvciB0ZXN0IGZvciBlZGl0b3Igc2V0dGluZyB0aGUgc2VhcmNoIHF1ZXJ5CisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXNlbGVjdGlvbi10by1zZWFyY2gt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRp
dG9yLXNlbGVjdGlvbi10by1zZWFyY2guaHRtbDogQWRkZWQuCisKIDIwMTItMTItMTIgIEFkYW0g
S2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmViYXNlbGluZSBhZnRlciBj
aGFuZ2UgdG8gQ2hyb21pdW0gY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1zZWxlY3Rpb24tdG8tc2VhcmNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRv
LXNlYXJjaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUyYjdhNWY2MzkyOTE2YjdhMTU0M2Y2
MTkwZGY4MDM1NzFkOGFjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRvLXNlYXJjaC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw3IEBACitUZXN0cyBzeW5jaHJvbml6aW5nIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQg
dG8gdGhlIGVkaXRvciBzZWxlY3Rpb24uCisKKworUnVubmluZzogdGVzdFdvcmRTZWxlY3Rpb25U
b1NlYXJjaFF1ZXJ5CityZXR1cm4KK3JldHVybgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXNlbGVjdGlvbi10by1zZWFyY2guaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRvLXNlYXJj
aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVlMzM3YTJhMTNjMzgxMmRiYzIzZTBjMmI4MzhiNzQ5NWJlZjJi
ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQt
ZWRpdG9yLXNlbGVjdGlvbi10by1zZWFyY2guaHRtbApAQCAtMCwwICsxLDYzIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9kZWJ1Z2dl
ci9yZXNvdXJjZXMvZWRpdC1tZS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNjcmlw
dHMiKTsgIAorCisgICAgZnVuY3Rpb24gc2VsZWN0aW9uVG9TZWFyY2hJbnB1dFRlc3QoKSB7Cisg
ICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVyLnNob3dTZWFyY2hGaWVsZCgpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJv
bGxlci5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmFk
dmFuY2VkU2VhcmNoQ29udHJvbGxlci5zaG93KCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KFdlYkluc3BlY3Rvci5hZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuX3NlYXJjaFZpZXcu
X3NlYXJjaC52YWx1ZSk7CisgICAgfQorCisKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2hv
d1NjcmlwdFNvdXJjZSgiZWRpdC1tZS5qcyIsIGRpZFNob3dTY3JpcHRTb3VyY2UpOworCisgICAg
ICAgICAgICBmdW5jdGlvbiBnZXRMaW5lQ29sdW1uKHNvdXJjZUZyYW1lLCBzdHJpbmcpIHsKKyAg
ICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNvdXJjZUZyYW1lLl90ZXh0RWRpdG9y
LmxpbmVzQ291bnQ7ICsraSkgeworICAgICAgICAgICAgICAgICAgICB2YXIgbGluZSA9IHNvdXJj
ZUZyYW1lLl90ZXh0RWRpdG9yLmxpbmUoaSk7CisgICAgICAgICAgICAgICAgICAgIHZhciBjb2x1
bW4gPSBsaW5lLmluZGV4T2Yoc3RyaW5nKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvbHVt
biA9PT0gLTEpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHtsaW5lOiBpLCBjb2x1bW46IGNvbHVtbn07CisgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgZnVuY3Rpb24gc2V0U2VsZWN0aW9uKHNvdXJjZUZyYW1lLCBmcm9tLCB0bykgeworICAg
ICAgICAgICAgICAgIHJhbmdlID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UoZnJvbS5saW5l
LCBmcm9tLmNvbHVtbiwgdG8ubGluZSwgdG8uY29sdW1uKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gc291cmNlRnJhbWUuX3RleHRFZGl0b3Iuc2V0U2VsZWN0aW9uKHJhbmdlKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gZGlkU2hvd1NjcmlwdFNvdXJjZShzb3VyY2VG
cmFtZSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgc3RyaW5nID0gJ3JldHVy
bic7CisgICAgICAgICAgICAgICAgdmFyIGxpbmVDb2x1bW4gPSBnZXRMaW5lQ29sdW1uKHNvdXJj
ZUZyYW1lLCBzdHJpbmcpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QucnVuVGVzdFN1aXRlKFsKKyAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gdGVz
dFdvcmRTZWxlY3Rpb25Ub1NlYXJjaFF1ZXJ5KG5leHQpCisgICAgICAgICAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGlvbihzb3VyY2VGcmFtZSwgbGluZUNv
bHVtbiwge2xpbmU6IGxpbmVDb2x1bW4ubGluZSwgY29sdW1uOiBsaW5lQ29sdW1uLmNvbHVtbiAr
IHN0cmluZy5sZW5ndGh9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvblRvU2Vh
cmNoSW5wdXRUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgXSk7CisgICAgICAgICAgICB9Cit9Owor
Cis8L3NjcmlwdD4KKworPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5U
ZXN0cyBzeW5jaHJvbml6aW5nIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQgdG8gdGhlIGVkaXRvciBz
ZWxlY3Rpb24uPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179766</attachid>
            <date>2012-12-17 10:34:00 -0800</date>
            <delta_ts>2012-12-17 11:45:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104970-20121217103118.patch</filename>
            <type>text/plain</type>
            <size>6811</size>
            <attacher name="johnjbarton">johnjbarton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU5NTZiNWY3M2ZhYzgx
ZWRhYWIyOGQ4ZTU2Yjg2ZjliZmFjZTFiOS4uOTg3ZDgwNWFmN2EzYWE2Y2ZhZGE1NDk0YzExMTc4
YTc1YzlkY2RlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEyLTE0ICBKb2hu
IEouIEJhcnRvbiAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTZWFyY2ggYnkgc2VsZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ5NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcG9uIGFjdGl2YXRpb24gb2YgdGhlIHNlYXJjaCBjb250cm9s
LCBjb25kaXRpb25hbGx5IHNldCBpbnB1dC52YWx1ZSB0byB3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
CisgICAgICAgIEZvciBib3RoIHNpbmdsZSBmaWxlIChTZWFyY2hDb250cm9sbGVyKSBhbmQgbXVs
dGlmaWxlIChBZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIpLgorCisgICAgICAgIFRlc3Q6IGluc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRvLXNlYXJjaC5odG1sCisKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnNo
b3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlLnN5bmNUb1Nl
bGVjdGlvbik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVy
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnNo
b3dTZWFyY2hGaWVsZCk6CisKIDIwMTItMTItMTIgIEtyenlzenRvZiBDemVjaCAgPGsuY3plY2hA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gUG9zc2liaWxpdHkgdG8gdHVybiBvZmYgYWNj
ZXNzaWJpbGl0eSBmZWF0dXJlIGZvciBXZWJLaXQtRUZMLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxl
ci5qcwppbmRleCAzZjRmOGRmZDQwODhhYzhiMmUyOTM5Mjk4ZDc4YTEzYjQ1OTAwZDg2Li44NmZi
NTgxOWYwMGU1ZDI5ZTQ4NTQzNDRjYjFmYWI0MTRhOGEyZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlci5qcwpAQCAtODgsNiArODgsOCBAQCBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hD
b250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF0aGlzLl9zZWFyY2hWaWV3KQog
ICAgICAgICAgICAgdGhpcy5fc2VhcmNoVmlldyA9IG5ldyBXZWJJbnNwZWN0b3IuU2VhcmNoVmll
dyh0aGlzKTsKICAgICAgICAgCisgICAgICAgIHRoaXMuX3NlYXJjaFZpZXcuc3luY1RvU2VsZWN0
aW9uKCk7CisKICAgICAgICAgaWYgKHRoaXMuX3NlYXJjaFZpZXcuaXNTaG93aW5nKCkpCiAgICAg
ICAgICAgICB0aGlzLl9zZWFyY2hWaWV3LmZvY3VzKCk7CiAgICAgICAgIGVsc2UKQEAgLTI0MCw2
ICsyNDIsMTMgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlID0gewogICAgIHsK
ICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuU2VhcmNoQ29uZmlnKHRoaXMuX3NlYXJj
aC52YWx1ZSwgdGhpcy5faWdub3JlQ2FzZUNoZWNrYm94LmNoZWNrZWQsIHRoaXMuX3JlZ2V4Q2hl
Y2tib3guY2hlY2tlZCk7CiAgICAgfSwKKworICAgIHN5bmNUb1NlbGVjdGlvbjogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgdmFyIHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsK
KyAgICAgICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50KQorICAgICAgICAgICAgdGhpcy5fc2Vh
cmNoLnZhbHVlID0gc2VsZWN0aW9uLnRvU3RyaW5nKCkucmVwbGFjZSgvXHI/XG4uKi8sICIiKTsK
KyAgICB9LAogICAgIAogICAgIC8qKgogICAgICAqIEB0eXBlIHtXZWJJbnNwZWN0b3IuU2VhcmNo
UmVzdWx0c1BhbmV9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggMDQ4MjBkYTFkYjQ1MDdhMGJmZTM1MWU4Y2Ex
MDZjNDNiZjU5ZWNkNC4uMzQ1OTY5Yjc3N2ZkMjdmYzljZjhmMmJlZjZmYjdmODQwMjU2MTJmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250
cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNo
Q29udHJvbGxlci5qcwpAQCAtMjQ5LDYgKzI0OSw5IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcu
c2V0Rm9vdGVyRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKICAgICAgICAgdGhpcy5fdXBkYXRlUmVw
bGFjZVZpc2liaWxpdHkoKTsKICAgICAgICAgdGhpcy5fdXBkYXRlRmlsdGVyVmlzaWJpbGl0eSgp
OworICAgICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworICAgICAg
ICBpZiAoc2VsZWN0aW9uLnJhbmdlQ291bnQpCisgICAgICAgICAgICB0aGlzLl9zZWFyY2hJbnB1
dEVsZW1lbnQudmFsdWUgPSBzZWxlY3Rpb24udG9TdHJpbmcoKS5yZXBsYWNlKC9ccj9cbi4qLywg
IiIpOwogICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKICAgICAgICAg
dGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnNlbGVjdCgpOwogICAgICAgICB0aGlzLl9zZWFyY2hJ
c1Zpc2libGUgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNmNDkxODI1ZWY2MGVkZTdmNTA3NWE0MzIzMGVlNzVi
YzM0OWFmNmYuLmIyODZiYTZlOWIxOWQ2MDMwMjFhMTJkZTZlMDU2MmMwNTgzOGY2NjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMi0xNCAgSm9obiBKLiBCYXJ0b24gIDxqb2huamJhcnRv
bkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogU2VhcmNoIGJ5IHNlbGVj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0
OTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3
IGluc3BlY3RvciB0ZXN0IGZvciBlZGl0b3Igc2V0dGluZyB0aGUgc2VhcmNoIHF1ZXJ5CisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXNlbGVjdGlvbi10by1zZWFyY2gt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRp
dG9yLXNlbGVjdGlvbi10by1zZWFyY2guaHRtbDogQWRkZWQuCisKIDIwMTItMTItMTIgIEFkYW0g
S2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmViYXNlbGluZSBhZnRlciBj
aGFuZ2UgdG8gQ2hyb21pdW0gY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci1zZWxlY3Rpb24tdG8tc2VhcmNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRv
LXNlYXJjaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUyYjdhNWY2MzkyOTE2YjdhMTU0M2Y2
MTkwZGY4MDM1NzFkOGFjMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRvLXNlYXJjaC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw3IEBACitUZXN0cyBzeW5jaHJvbml6aW5nIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQg
dG8gdGhlIGVkaXRvciBzZWxlY3Rpb24uCisKKworUnVubmluZzogdGVzdFdvcmRTZWxlY3Rpb25U
b1NlYXJjaFF1ZXJ5CityZXR1cm4KK3JldHVybgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXNlbGVjdGlvbi10by1zZWFyY2guaHRtbCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3Itc2VsZWN0aW9uLXRvLXNlYXJj
aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU3YTUyNDk5ODIyY2M0ZDhhYTcxYzEwYmU2MjBkM2RjMzYyYTRj
OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQt
ZWRpdG9yLXNlbGVjdGlvbi10by1zZWFyY2guaHRtbApAQCAtMCwwICsxLDYyIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rv
ci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9kZWJ1Z2dlci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9kZWJ1Z2dl
ci9yZXNvdXJjZXMvZWRpdC1tZS5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IHRlc3QoKQoreworICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5zaG93UGFuZWwoInNjcmlw
dHMiKTsgIAorCisgICAgZnVuY3Rpb24gc2VsZWN0aW9uVG9TZWFyY2hJbnB1dFRlc3QoKSB7Cisg
ICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVyLnNob3dTZWFyY2hGaWVsZCgpOwor
ICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJv
bGxlci5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmFk
dmFuY2VkU2VhcmNoQ29udHJvbGxlci5zaG93KCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KFdlYkluc3BlY3Rvci5hZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuX3NlYXJjaFZpZXcu
X3NlYXJjaC52YWx1ZSk7CisgICAgfQorCisgICAgSW5zcGVjdG9yVGVzdC5zaG93U2NyaXB0U291
cmNlKCJlZGl0LW1lLmpzIiwgZGlkU2hvd1NjcmlwdFNvdXJjZSk7CisKKyAgICBmdW5jdGlvbiBn
ZXRMaW5lQ29sdW1uKHNvdXJjZUZyYW1lLCBzdHJpbmcpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzb3VyY2VGcmFtZS5fdGV4dEVkaXRvci5saW5lc0NvdW50OyArK2kpIHsKKyAgICAg
ICAgICAgIHZhciBsaW5lID0gc291cmNlRnJhbWUuX3RleHRFZGl0b3IubGluZShpKTsKKyAgICAg
ICAgICAgIHZhciBjb2x1bW4gPSBsaW5lLmluZGV4T2Yoc3RyaW5nKTsKKyAgICAgICAgICAgIGlm
IChjb2x1bW4gPT09IC0xKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
cmV0dXJuIHtsaW5lOiBpLCBjb2x1bW46IGNvbHVtbn07CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIGZ1bmN0aW9uIHNldFNlbGVjdGlvbihzb3VyY2VGcmFtZSwg
ZnJvbSwgdG8pIHsKKyAgICAgICAgcmFuZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZShm
cm9tLmxpbmUsIGZyb20uY29sdW1uLCB0by5saW5lLCB0by5jb2x1bW4pOworICAgICAgICByZXR1
cm4gc291cmNlRnJhbWUuX3RleHRFZGl0b3Iuc2V0U2VsZWN0aW9uKHJhbmdlKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBkaWRTaG93U2NyaXB0U291cmNlKHNvdXJjZUZyYW1lKQorICAgIHsKKyAg
ICAgICAgdmFyIHN0cmluZyA9ICdyZXR1cm4nOworICAgICAgICB2YXIgbGluZUNvbHVtbiA9IGdl
dExpbmVDb2x1bW4oc291cmNlRnJhbWUsIHN0cmluZyk7CisgICAgICAgIAorICAgICAgICBJbnNw
ZWN0b3JUZXN0LnJ1blRlc3RTdWl0ZShbCisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0V29yZFNl
bGVjdGlvblRvU2VhcmNoUXVlcnkobmV4dCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBzZXRTZWxlY3Rpb24oc291cmNlRnJhbWUsIGxpbmVDb2x1bW4sIHtsaW5lOiBsaW5lQ29sdW1u
LmxpbmUsIGNvbHVtbjogbGluZUNvbHVtbi5jb2x1bW4gKyBzdHJpbmcubGVuZ3RofSk7CisgICAg
ICAgICAgICAgICAgc2VsZWN0aW9uVG9TZWFyY2hJbnB1dFRlc3QoKTsKKyAgICAgICAgICAgICAg
ICBuZXh0KCk7CisgICAgICAgICAgICB9LAorICAgICAgICBdKTsKKyAgICB9Cit9OworCis8L3Nj
cmlwdD4KKworPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD5UZXN0cyBz
eW5jaHJvbml6aW5nIHRoZSBzZWFyY2ggaW5wdXQgZmllbGQgdG8gdGhlIGVkaXRvciBzZWxlY3Rp
b24uPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>