<?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>35340</bug_id>
          
          <creation_ts>2010-02-24 05:40:37 -0800</creation_ts>
          <short_desc>[Qt] Enable alternate HTML/JavaScript front-ends for Web Inspector</short_desc>
          <delta_ts>2010-09-09 10:24:29 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>31552</blocked>
    
    <blocked>35784</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Jamey Hicks">jamey.hicks</reporter>
          <assigned_to name="QtWebKit Unassigned">webkit-qt-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dan.podwall</cc>
    
    <cc>diegohcg</cc>
    
    <cc>eostroukhov</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>193319</commentid>
    <comment_count>0</comment_count>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-02-24 05:40:37 -0800</bug_when>
    <thetext>This patch enables the use of alternate UIs for Web Inspector by loading different HTML/JavaScript when QWebInspector is instantiated and shown.

We&apos;re planning to use this to allow remote use of Web Inspector via HTTP and to use Eclipse or Aptana to debug and profile WebKit.

An earlier patch was submitted but that approach was given review- and the approach used in this patch (i.e., using alternate HTML/JavaScript) was recommended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193331</commentid>
    <comment_count>1</comment_count>
      <attachid>49385</attachid>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-02-24 06:21:54 -0800</bug_when>
    <thetext>Created attachment 49385
Adds QWebInspector::setFrontendURL() and QWebInspector::setDefaultFrontendUrl()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193362</commentid>
    <comment_count>2</comment_count>
      <attachid>49395</attachid>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-02-24 08:10:14 -0800</bug_when>
    <thetext>Created attachment 49395
Adds QWebInspector::setFrontendURL() and QWebInspector::setDefaultFrontendUrl()

Revised ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193410</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-24 10:40:53 -0800</bug_when>
    <thetext>Attachment 49395 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
Ignoring &quot;WebKit/qt/Api/qwebinspector.cpp&quot;: this file is exempt from the style guide.
Ignoring &quot;WebKit/qt/Api/qwebinspector.h&quot;: this file is exempt from the style guide.
WebKit/qt/ChangeLog:5:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:6:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:8:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:11:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:12:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:13:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:14:  Line contains tab character.  [whitespace/tab] [5]
WebKit/qt/ChangeLog:15:  Line contains tab character.  [whitespace/tab] [5]
Ignoring &quot;WebKit/qt/Api/qwebpage_p.h&quot;: this file is exempt from the style guide.
Ignoring &quot;WebKit/qt/Api/qwebpage.h&quot;: this file is exempt from the style guide.
Ignoring &quot;WebKit/qt/Api/qwebpage.cpp&quot;: this file is exempt from the style guide.
Ignoring &quot;WebKit/qt/Api/qwebinspector_p.h&quot;: this file is exempt from the style guide.
Total errors found: 9 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193438</commentid>
    <comment_count>4</comment_count>
      <attachid>49418</attachid>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-02-24 11:45:16 -0800</bug_when>
    <thetext>Created attachment 49418
revised patch to fix style problems in WebKit/qt/ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193703</commentid>
    <comment_count>5</comment_count>
      <attachid>49418</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-02-25 06:46:20 -0800</bug_when>
    <thetext>Comment on attachment 49418
revised patch to fix style problems in WebKit/qt/ChangeLog

Approach looks good to me, this is a great addition to QtWebKit.

ChangeLog does not seems to follow the template. The &quot;Reviewed by NOBODY (OOPS!).&quot; part is missing. Also I have added [Qt] to the title of the bug, so if you could regenerate the ChnageLog that would be good.

Based on IRC discussion with Kenneth, Jamey and myself we concluded the the API for setting/getting the Inspector URL should be:

void QWebSettings::setInspectorUrl (const QUrl &amp;inspector);
QUrl QWebSettings::inspectorUrl() const;

Please document these new APIs well.

This means that changes in InspectorClientQt.h would not be necessary but your style fixes are very welcome.

r- to use the new proposed API; general approach is good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193861</commentid>
    <comment_count>6</comment_count>
      <attachid>49528</attachid>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-02-25 13:10:15 -0800</bug_when>
    <thetext>Created attachment 49528
revised to use QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl() instead of a change to the QWebInspector API.

Revised to use QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl() instead of a change to the QWebInspector API.

Also added -inspector-url argument to QtLauncher so this can be tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193865</commentid>
    <comment_count>7</comment_count>
      <attachid>49528</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-02-25 13:23:16 -0800</bug_when>
    <thetext>Comment on attachment 49528
revised to use QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl() instead of a change to the QWebInspector API.

LGTM, Thanks Jamey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194041</commentid>
    <comment_count>8</comment_count>
      <attachid>49528</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-26 01:56:12 -0800</bug_when>
    <thetext>Comment on attachment 49528
revised to use QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl() instead of a change to the QWebInspector API.

Clearing flags on attachment: 49528

Committed r55273: &lt;http://trac.webkit.org/changeset/55273&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194042</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-26 01:56:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194068</commentid>
    <comment_count>10</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-02-26 05:47:43 -0800</bug_when>
    <thetext>Is there any plan to make the server side of the remote inspector available in WebKit trunk somehow?

It would be nice to have a complete solution available to users without having to rely on external components possibly not compatible with the version of WebKit they use.

For example a separate executable compiled with the rest or eventually some kind of QRemoteWebInspector widget class that takes in some network parameters and start the HTTP server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194071</commentid>
    <comment_count>11</comment_count>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-02-26 06:18:44 -0800</bug_when>
    <thetext>I agree that it would be helpful to have the remote inspector available in WebKit trunk.

There are two pieces of this that are platform specific: The first is the piece I just patched for Qt -- the platform specific code that launches a particular html/javascript page for the inspector frontend. 

Someone would need to do this for other platforms.

The second is the server part. Using WebSockets to connect the UI and the inspector might remove the need for an HTTP server in WebKit, which would reduce the platform dependences.

In the short term, I&apos;ll be working on the HTTP server in Qt/WebKit and I do plan on making that public.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194641</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-01 00:24:48 -0800</bug_when>
    <thetext>I don&apos;t think this is the right API and I would like to roll out this patch.

Properties in QWebSettings should be useful for anyone using QWebPage, QWebView and QGraphicsWebView, QtWebKit in general.

This property is highly specific to the web inspector and therefore belongs into QWebInspector I think. The documentation should make it clear what it is useful for.

Jamey, can you explain exactly what you&apos;re doing and when you set this property? What features do you need of the inspector itself when you run it on the desktop?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194762</commentid>
    <comment_count>13</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-03-01 12:28:48 -0800</bug_when>
    <thetext>Simon, the patch before (https://bug-35340-attachments.webkit.org/attachment.cgi?id=49418) use to have the interface on QWebInspector. Are you proposing a similar interface ?

This API tells Webkit the URL for the front-end resource files.

I would suggest to discuss (and fix if needed) the API without rolling the patch out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>194776</commentid>
    <comment_count>14</comment_count>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-03-01 12:53:01 -0800</bug_when>
    <thetext>Simon,

We are enabling remote usage of all the inspector functionality. I&apos;m working on two such remote cases:
1) Using Web Inspector UI remoted over HTTP to enable on-device debug and profiling.
2) Implementing ChromeDevTools protocol for Eclipse or Aptana debug and profiling on-device

The previous version of the patch extended the QWebInspector API but a discussion with laszlo and kenne on #qtwebkit led to this QWebSettings API. I have no particular preference between the two.

Jamey</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195024</commentid>
    <comment_count>15</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-03-02 04:34:26 -0800</bug_when>
    <thetext>(In reply to comment #14)
Just to dump how I see both alternatives:
- The API in QWebSettings is nice since it make it simple to apply it on all the pages. It also don&apos;t bind to the QWebInspector class which is currently only a widget class. Though its name suggests it could do more.
- The API in QWebInspector is nice since it don&apos;t clutter the normal web page usage API.

Both of them goes in the opposite was that we see usual remote debugging where the debuggee would open the server and the client would attach to the debuggee. If we want to change the way the implementation is done in the future this might cause us headaches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197093</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-08 01:52:38 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Simon,
&gt; 
&gt; We are enabling remote usage of all the inspector functionality. I&apos;m working on
&gt; two such remote cases:
&gt; 1) Using Web Inspector UI remoted over HTTP to enable on-device debug and
&gt; profiling.
&gt; 2) Implementing ChromeDevTools protocol for Eclipse or Aptana debug and
&gt; profiling on-device
&gt; 
&gt; The previous version of the patch extended the QWebInspector API but a
&gt; discussion with laszlo and kenne on #qtwebkit led to this QWebSettings API. I
&gt; have no particular preference between the two.

Ah, so when you bring up the inspector with a remote URL, do you actually use any functionaliy of the inspector backend?

Do I understand correctly that the _use case_ behind this is that you have WebKit running on a mobile platform, with the embedded web server enabled. Then on your _desktop_ machine you take a QWebInspector, set the remote inspector url to the address of the mobile device and fire up the inspector?

In that case, how much of QWebInspector is actually used? Or could you also just point a QWebView to the remote url and it would work just as well?

Please elaborate and explain :), then it&apos;s easier for us to understand the API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197130</commentid>
    <comment_count>17</comment_count>
      <attachid>50213</attachid>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-03-08 05:12:56 -0800</bug_when>
    <thetext>Created attachment 50213
diagram of remote Web Inspector use case

In this use case, the inspected webkit (on the left) exports a JSON over HTTP interface to the full inspector backend functionality, enabling the Web Inspector UI to be run on a different machine.

In order for the javascript to accept a connection, either it will have to use an intermediary, so that both inspected and inspector javascript use HTTP client sockets, or one of the browsers will need to use an extension enabling HTTP server sockets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197131</commentid>
    <comment_count>18</comment_count>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-03-08 05:18:06 -0800</bug_when>
    <thetext>The frontend URL being specified in this patch is actually a local URL. In the use cases we are most interested in, the URL exposes an interface to the inspector backend so that the backend may be used remotely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197155</commentid>
    <comment_count>19</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-08 07:30:27 -0800</bug_when>
    <thetext>I see, thanks Jamey for the explanation!

I understand that this feature is still in development, so for the moment you don&apos;t really need a finalized public API, right?

What about the option of building WebKit without the embedded .qrc?

Then you could simply load your own resource with with the different inspector html/js/css files at run-time through QResource::registerResource and qrc:/webkit/inspector as mapping root?


Perhaps we should always build WebKit with the inspector frontend separated and just install the bundle together with WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197164</commentid>
    <comment_count>20</comment_count>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-03-08 07:45:47 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; I see, thanks Jamey for the explanation!
&gt; 
&gt; I understand that this feature is still in development, so for the moment you
&gt; don&apos;t really need a finalized public API, right?

We need a finalized public API this month to get it into the next software release for phones. The development of HTML and javascript for remote access to the backend can proceed in parallel with that.

&gt; What about the option of building WebKit without the embedded .qrc?
&gt; 
&gt; Then you could simply load your own resource with with the different inspector
&gt; html/js/css files at run-time through QResource::registerResource and
&gt; qrc:/webkit/inspector as mapping root?

That would work. It makes it difficult to specify per page inspector URLs but then again that&apos;s not a requirement for our use cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197165</commentid>
    <comment_count>21</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-03-08 07:54:47 -0800</bug_when>
    <thetext>
&gt; I understand that this feature is still in development, so for the moment you
&gt; don&apos;t really need a finalized public API, right?
&gt; 
&gt; What about the option of building WebKit without the embedded .qrc?


At least in my mind that was very much one of the use-cases as the resources are not enabled by default on Symbian (and maybe they should not be enabled for maemo either).

I did try to use this API to see if it enables this use-case and heppy to report that it did work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203064</commentid>
    <comment_count>22</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-03-23 09:06:26 -0700</bug_when>
    <thetext>Simon, do you have a better proposal for the API, or should we just close this bug so that it is ready for the release ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213099</commentid>
    <comment_count>23</comment_count>
    <who name="Diego Gonzalez">diegohcg</who>
    <bug_when>2010-04-15 16:28:45 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Simon, do you have a better proposal for the API, or should we just close this
&gt; bug so that it is ready for the release ?

It seems this bug could be closed? Isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213457</commentid>
    <comment_count>24</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-16 15:54:02 -0700</bug_when>
    <thetext>How about using a dynamic property on QWebInspector instead of this public API?

AFAICS the purpose of this API is to develop the remote inspector feature. It is not meant to be useful for developers using QtWebKit for application development.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214246</commentid>
    <comment_count>25</comment_count>
    <who name="Jamey Hicks">jamey.hicks</who>
    <bug_when>2010-04-19 14:19:01 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; How about using a dynamic property on QWebInspector instead of this public API?
&gt; 

A dynamic property would also work. As an internal property, should the name of the property begin with _q_? In this case _q_inspectorFrontendUrl ?

As we are debugging the remote debugger, a second useful property would be to create the inspector page without showing it, which could be controlled by property _q_createInspectorImmediately or something like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214429</commentid>
    <comment_count>26</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-19 18:45:37 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #24)
&gt; &gt; How about using a dynamic property on QWebInspector instead of this public API?
&gt; &gt; 
&gt; 
&gt; A dynamic property would also work. As an internal property, should the name of
&gt; the property begin with _q_? In this case _q_inspectorFrontendUrl ?

Yeah, that&apos;s okay.

Just remember to never use these properties in application code outside the WebKit source tree. So the use in DRT or QtLauncher is fine. Using it in other application is bad and will cause regressions.

&gt; As we are debugging the remote debugger, a second useful property would be to
&gt; create the inspector page without showing it, which could be controlled by
&gt; property _q_createInspectorImmediately or something like that.

Hm, when should it be created instead? The first time show() is called?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220666</commentid>
    <comment_count>27</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2010-05-04 10:59:01 -0700</bug_when>
    <thetext>Any update on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220672</commentid>
    <comment_count>28</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2010-05-04 11:09:03 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; How about using a dynamic property on QWebInspector instead of this public API?
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; A dynamic property would also work. As an internal property, should the name of
&gt; &gt; the property begin with _q_? In this case _q_inspectorFrontendUrl ?
&gt; 
&gt; Yeah, that&apos;s okay.
&gt; 
&gt; Just remember to never use these properties in application code outside the
&gt; WebKit source tree. So the use in DRT or QtLauncher is fine. Using it in other
&gt; application is bad and will cause regressions.

I think the use-case requires using this API outside of WebKit. I&apos;d like to see this functionality API publicly exposed as a supported API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221102</commentid>
    <comment_count>29</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-05 07:53:15 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #26)
&gt; &gt; (In reply to comment #25)
&gt; &gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; &gt; How about using a dynamic property on QWebInspector instead of this public API?
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; A dynamic property would also work. As an internal property, should the name of
&gt; &gt; &gt; the property begin with _q_? In this case _q_inspectorFrontendUrl ?
&gt; &gt; 
&gt; &gt; Yeah, that&apos;s okay.
&gt; &gt; 
&gt; &gt; Just remember to never use these properties in application code outside the
&gt; &gt; WebKit source tree. So the use in DRT or QtLauncher is fine. Using it in other
&gt; &gt; application is bad and will cause regressions.
&gt; 
&gt; I think the use-case requires using this API outside of WebKit. I&apos;d like to see
&gt; this functionality API publicly exposed as a supported API.

I think it makes sense to expose this as a supported API once the feature - remote debugging with the web inspector - is complete, so that it becomes an actually useful feature for third-party developers.

It is my understanding that at this point this is merely a tool during the development.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221105</commentid>
    <comment_count>30</comment_count>
      <attachid>55124</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-05 08:07:10 -0700</bug_when>
    <thetext>Created attachment 55124
Patch to replace public API with private dynamic property</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221631</commentid>
    <comment_count>31</comment_count>
      <attachid>55124</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-06 06:01:09 -0700</bug_when>
    <thetext>Comment on attachment 55124
Patch to replace public API with private dynamic property

Clearing flags on attachment: 55124

Committed r58876: &lt;http://trac.webkit.org/changeset/58876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221632</commentid>
    <comment_count>32</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-06 06:01:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221656</commentid>
    <comment_count>33</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-06 07:07:25 -0700</bug_when>
    <thetext>Re-opening</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222319</commentid>
    <comment_count>34</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-05-07 06:33:18 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; Re-opening

Why was this reopened?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224593</commentid>
    <comment_count>35</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-12 07:22:58 -0700</bug_when>
    <thetext>Landed http://trac.webkit.org/changeset/59231 to clarify that the dynamic property is there on purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228784</commentid>
    <comment_count>36</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-21 01:02:33 -0700</bug_when>
    <thetext>&lt;cherry-pick-for-backport: r59231&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228786</commentid>
    <comment_count>37</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-21 01:13:31 -0700</bug_when>
    <thetext>Revision r55273 cherry-picked into qtwebkit-2.0 with commit d63440e7437006c1105bc17f769a07812512fa57
Revision r58876 cherry-picked into qtwebkit-2.0 with commit 015d13573930a82c684dec0f30a1c92bbb5534e2
Revision r59231 cherry-picked into qtwebkit-2.0 with commit dc1fbb8ce49e6066c6136e5dfcf66fd35fb77af8</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276550</commentid>
    <comment_count>38</comment_count>
    <who name="Eugene Ostroukhov">eostroukhov</who>
    <bug_when>2010-09-09 10:24:29 -0700</bug_when>
    <thetext>&gt; We are enabling remote usage of all the inspector functionality. I&apos;m working on two such remote cases:
&gt; 1) Using Web Inspector UI remoted over HTTP to enable on-device debug and profiling.
&gt; 2) Implementing ChromeDevTools protocol for Eclipse or Aptana debug and profiling on-device

Will these parts be available as a part of Qt or they will be parts of proprietary code?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49385</attachid>
            <date>2010-02-24 06:21:54 -0800</date>
            <delta_ts>2010-02-24 08:10:14 -0800</delta_ts>
            <desc>Adds QWebInspector::setFrontendURL() and QWebInspector::setDefaultFrontendUrl()</desc>
            <filename>alternate-qwebinspector-frontend-url.patch</filename>
            <type>text/plain</type>
            <size>11564</size>
            <attacher name="Jamey Hicks">jamey.hicks</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAgYi9XZWJLaXQvcXQv
QXBpL3F3ZWJpbnNwZWN0b3IuY3BwCmluZGV4IGMzZWY1MzAuLmI4ZDRlN2MgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
aW5zcGVjdG9yLmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3Iu
aCIKIAogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnRRdC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJxd2ViZWxlbWVu
dC5oIgogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3JfcC5oIgpAQCAtMTEzLDYgKzExNCwxMCBAQCB2
b2lkIFFXZWJJbnNwZWN0b3I6OnNldFBhZ2UoUVdlYlBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2Ut
PmQtPmluc3BlY3Rvci0+c2V0UGFnZSgwKTsKICAgICB9CiAKKyAgICBpZiAocGFnZSAmJiBwYWdl
LT5kLT5pbnNwZWN0b3JDbGllbnRRdCkgeworCXBhZ2UtPmQtPmluc3BlY3RvckNsaWVudFF0LT5z
ZXRJbnNwZWN0b3JGcm9udGVuZFVybChkLT5mcm9udGVuZFVybCk7CisgICAgfQorCiAgICAgZC0+
cGFnZSA9IHBhZ2U7CiAKICAgICBpZiAocGFnZSkgewpAQCAtMTMwLDYgKzEzNSwyMyBAQCBRV2Vi
UGFnZSogUVdlYkluc3BlY3Rvcjo6cGFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIGQtPnBhZ2U7CiB9
CiAKKy8qIQorICBTZXRzIHRoZSBVUkwgb2YgdGhlIFdlYiBJbnNwZWN0b3IgZnJvbnRlbmQuCisq
Lwordm9pZCBRV2ViSW5zcGVjdG9yOjpzZXRJbnNwZWN0b3JGcm9udGVuZFVybChRU3RyaW5nIHVy
bCkKK3sKKyAgICBkLT5mcm9udGVuZFVybCA9IHVybDsKKworICAgIGlmIChkLT5wYWdlICYmIGQt
PnBhZ2UtPmQtPmluc3BlY3RvckNsaWVudFF0KSB7CisJIGQtPnBhZ2UtPmQtPmluc3BlY3RvckNs
aWVudFF0LT5zZXRJbnNwZWN0b3JGcm9udGVuZFVybChkLT5mcm9udGVuZFVybCk7CisgICAgfQor
fQorCit2b2lkIFFXZWJJbnNwZWN0b3I6OnNldERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybChR
U3RyaW5nIHVybCkKK3sKKyAgICAgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6OnNldERlZmF1
bHRJbnNwZWN0b3JGcm9udGVuZFVybCh1cmwpOworfQorCiAvKiEgXHJlaW1wICovCiBRU2l6ZSBR
V2ViSW5zcGVjdG9yOjpzaXplSGludCgpIGNvbnN0CiB7CkBAIC0xNDksNyArMTcxLDcgQEAgdm9p
ZCBRV2ViSW5zcGVjdG9yOjpyZXNpemVFdmVudChRUmVzaXplRXZlbnQqIGV2ZW50KQogfQogCiAv
KiEgXHJlaW1wICovCi12b2lkIFFXZWJJbnNwZWN0b3I6OnNob3dFdmVudChRU2hvd0V2ZW50KiBl
dmVudCkKK3ZvaWQgUVdlYkluc3BlY3Rvcjo6c2hvd0V2ZW50KFFTaG93RXZlbnQqICkKIHsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIC8vIEFsbG93cyBRV2ViSW5zcGVjdG9yOjpzaG93KCkg
dG8gaW5pdCB0aGUgaW5zcGVjdG9yLgpAQCAtMTU5LDcgKzE4MSw3IEBAIHZvaWQgUVdlYkluc3Bl
Y3Rvcjo6c2hvd0V2ZW50KFFTaG93RXZlbnQqIGV2ZW50KQogfQogCiAvKiEgXHJlaW1wICovCi12
b2lkIFFXZWJJbnNwZWN0b3I6OmhpZGVFdmVudChRSGlkZUV2ZW50KiBldmVudCkKK3ZvaWQgUVdl
Ykluc3BlY3Rvcjo6aGlkZUV2ZW50KFFIaWRlRXZlbnQqICkKIHsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L0FwaS9xd2ViaW5zcGVjdG9yLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0
b3IuaAppbmRleCA2Y2RhNDc5Li42OTFlMWYxIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3
ZWJpbnNwZWN0b3IuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0b3IuaApAQCAtMzks
NiArMzksOSBAQCBwdWJsaWM6CiAgICAgUVNpemUgc2l6ZUhpbnQoKSBjb25zdDsKICAgICBib29s
IGV2ZW50KFFFdmVudCopOwogCisgICAgdm9pZCBzZXRJbnNwZWN0b3JGcm9udGVuZFVybChRU3Ry
aW5nIGZyb250ZW5kVXJsKTsKKyAgICBzdGF0aWMgdm9pZCBzZXREZWZhdWx0SW5zcGVjdG9yRnJv
bnRlbmRVcmwoUVN0cmluZyBmcm9udGVuZFVybCk7CisKIHByb3RlY3RlZDoKICAgICB2b2lkIHJl
c2l6ZUV2ZW50KFFSZXNpemVFdmVudCogZXZlbnQpOwogICAgIHZvaWQgc2hvd0V2ZW50KFFTaG93
RXZlbnQqIGV2ZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvcl9w
LmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0b3JfcC5oCmluZGV4IDRkMzI3Y2MuLmMwZjgz
NGIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvcl9wLmgKKysrIGIvV2Vi
S2l0L3F0L0FwaS9xd2ViaW5zcGVjdG9yX3AuaApAQCAtMjIsNiArMjIsNyBAQAogCiBRVF9CRUdJ
Tl9OQU1FU1BBQ0UKIGNsYXNzIFFTaXplOworY2xhc3MgUVN0cmluZzsKIGNsYXNzIFFXaWRnZXQ7
CiBRVF9FTkRfTkFNRVNQQUNFCiBjbGFzcyBRV2ViSW5zcGVjdG9yOwpAQCAtNDEsNiArNDIsNyBA
QCBwdWJsaWM6CiAgICAgUVdlYkluc3BlY3RvciogcTsKICAgICBRV2ViUGFnZSogcGFnZTsKICAg
ICBRV2lkZ2V0KiBmcm9udGVuZDsKKyAgICBRU3RyaW5nIGZyb250ZW5kVXJsOwogfTsKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuY3BwCmluZGV4IDJhOGFjZWQuLjM4ZTFhZDkgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBA
IC00MzYsNiArNDM2LDcgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBh
Z2UgKnFxKQogICAgICwgdmlld3BvcnRTaXplKFFTaXplKDAsIDApKQogICAgICwgaW5zcGVjdG9y
RnJvbnRlbmQoMCkKICAgICAsIGluc3BlY3RvcigwKQorICAgICwgaW5zcGVjdG9yQ2xpZW50UXQo
MCkKICAgICAsIGluc3BlY3RvcklzSW50ZXJuYWxPbmx5KGZhbHNlKQogewogICAgIFdlYkNvcmU6
OkluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwpAQCAtNDQ1LDggKzQ0Niw5
IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKFFXZWJQYWdlICpxcSkKICAgICBj
aHJvbWVDbGllbnQgPSBuZXcgQ2hyb21lQ2xpZW50UXQocSk7CiAgICAgY29udGV4dE1lbnVDbGll
bnQgPSBuZXcgQ29udGV4dE1lbnVDbGllbnRRdCgpOwogICAgIGVkaXRvckNsaWVudCA9IG5ldyBF
ZGl0b3JDbGllbnRRdChxKTsKKyAgICBpbnNwZWN0b3JDbGllbnRRdCA9IG5ldyBJbnNwZWN0b3JD
bGllbnRRdChxKTsKICAgICBwYWdlID0gbmV3IFBhZ2UoY2hyb21lQ2xpZW50LCBjb250ZXh0TWVu
dUNsaWVudCwgZWRpdG9yQ2xpZW50LAotICAgICAgICAgICAgICAgICAgICBuZXcgRHJhZ0NsaWVu
dFF0KHEpLCBuZXcgSW5zcGVjdG9yQ2xpZW50UXQocSksIDAsIDApOworICAgICAgICAgICAgICAg
ICAgICBuZXcgRHJhZ0NsaWVudFF0KHEpLCBpbnNwZWN0b3JDbGllbnRRdCwgMCwgMCk7CiAKICAg
ICBzZXR0aW5ncyA9IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3MoKSk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aAppbmRleCA0NzY2Y2JkLi43MDI0MjI5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0zNTcsNiArMzU3LDggQEAg
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUVdlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFH
cmFwaGljc1dlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3I7CisgICAgZnJp
ZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3JSZW1vdGVUZXN0OworICAgIGZyaWVuZCBjbGFzcyBRV2Vi
SW5zcGVjdG9yQ2hyb21lU2VydmVyUHJpdmF0ZTsKICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6
Q2hyb21lQ2xpZW50UXQ7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OkVkaXRvckNsaWVudFF0
OwogICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
X3AuaAppbmRleCAxNWRkZmIyLi41YTE0ZGQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlX3AuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaApAQCAtNDMsNiArNDMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnU7CiAgICAgY2xh
c3MgRWRpdG9yQ2xpZW50UXQ7CiAgICAgY2xhc3MgRWxlbWVudDsKKyAgICBjbGFzcyBJbnNwZWN0
b3JDbGllbnRRdDsKICAgICBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogICAgIGNsYXNzIE5v
ZGU7CiAgICAgY2xhc3MgUGFnZTsKQEAgLTEyNCw2ICsxMjUsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRJbnNwZWN0b3IoUVdlYkluc3BlY3RvciopOwogICAgIFFXZWJJbnNwZWN0b3IqIGdldE9y
Q3JlYXRlSW5zcGVjdG9yKCk7CiAgICAgV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciogaW5z
cGVjdG9yQ29udHJvbGxlcigpOworICAgIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0KiBpbnNw
ZWN0b3JDbGllbnQoKTsKIAogI2lmbmRlZiBRVF9OT19TSE9SVENVVAogICAgIHN0YXRpYyBRV2Vi
UGFnZTo6V2ViQWN0aW9uIGVkaXRvckFjdGlvbkZvcktleUV2ZW50KFFLZXlFdmVudCogZXZlbnQp
OwpAQCAtMTgyLDYgKzE4NCw3IEBAIHB1YmxpYzoKIAogICAgIFFXaWRnZXQqIGluc3BlY3RvckZy
b250ZW5kOwogICAgIFFXZWJJbnNwZWN0b3IqIGluc3BlY3RvcjsKKyAgICBXZWJDb3JlOjpJbnNw
ZWN0b3JDbGllbnRRdCAqaW5zcGVjdG9yQ2xpZW50UXQ7CiAgICAgYm9vbCBpbnNwZWN0b3JJc0lu
dGVybmFsT25seTsgLy8gVHJ1ZSBpZiBjcmVhdGVkIHRocm91Z2ggdGhlIEluc3BlY3QgY29udGV4
dCBtZW51IGFjdGlvbgogICAgIFF0OjpEcm9wQWN0aW9uIG1fbGFzdERyb3BBY3Rpb247CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4
IGZiODMyYjMuLjE3NzQ2ZWEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEwLTAyLTI0ICBKYW1leSBI
aWNrcyAgPGphbWV5LmhpY2tzQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBMYXN6
bG8gR29tYm9zIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPi4KKworICAgICAgICBhZGRlZCBR
V2ViSW5zcGVjdG9yOjpzZXRJbnNwZWN0b3JGcm9udGVuZFVybCBhbmQgUVdlYkluc3BlY3Rvcjo6
c2V0RGVmYXVsdEluc3BlY3RvckZyb250ZW5kVXJsCisKKwlUaGlzIHBhdGNoIGVuYWJsZXMgdGhl
IHVzZSBvZiBhbHRlcm5hdGUgVUlzIGZvciBXZWIgSW5zcGVjdG9yIGJ5IGxvYWRpbmcKKwlkaWZm
ZXJlbnQgSFRNTC9KYXZhU2NyaXB0IHdoZW4gUVdlYkluc3BlY3RvciBpcyBpbnN0YW50aWF0ZWQg
YW5kIHNob3duLgorCisJV2UncmUgcGxhbm5pbmcgdG8gdXNlIHRoaXMgdG8gYWxsb3cgcmVtb3Rl
IHVzZSBvZiBXZWIgSW5zcGVjdG9yIHZpYSBIVFRQIGFuZCB0bworCXVzZSBFY2xpcHNlIG9yIEFw
dGFuYSB0byBkZWJ1ZyBhbmQgcHJvZmlsZSBXZWJLaXQuCisKKwlBbiBlYXJsaWVyIHBhdGNoIHdh
cyBzdWJtaXR0ZWQgYnV0IHRoYXQgYXBwcm9hY2ggd2FzIGdpdmVuIHJldmlldy0gYW5kIHRoZQor
CWFwcHJvYWNoIHVzZWQgaW4gdGhpcyBwYXRjaCAoaS5lLiwgdXNpbmcgYWx0ZXJuYXRlIEhUTUwv
SmF2YVNjcmlwdCkgd2FzCisJcmVjb21tZW5kZWQuCisJCisJaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM1MzQwCisKKyAgICAgICAgKiBBcGkvcXdlYmluc3BlY3Rvci5j
cHA6CisgICAgICAgIChRV2ViSW5zcGVjdG9yOjpzZXRQYWdlKToKKyAgICAgICAgKFFXZWJJbnNw
ZWN0b3I6OnNldEluc3BlY3RvckZyb250ZW5kVXJsKToKKyAgICAgICAgKFFXZWJJbnNwZWN0b3I6
OnNldERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybCk6CisgICAgICAgIChRV2ViSW5zcGVjdG9y
OjpzaG93RXZlbnQpOgorICAgICAgICAoUVdlYkluc3BlY3Rvcjo6aGlkZUV2ZW50KToKKyAgICAg
ICAgKiBBcGkvcXdlYmluc3BlY3Rvci5oOgorICAgICAgICAqIEFwaS9xd2ViaW5zcGVjdG9yX3Au
aDoKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRl
OjpRV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5oOgorICAgICAgICAq
IEFwaS9xd2VicGFnZV9wLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6Okluc3BlY3Rv
ckNsaWVudFF0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpjcmVhdGVQ
YWdlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpzZXRJbnNwZWN0b3JG
cm9udGVuZFVybCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRRdDo6c2V0RGVm
YXVsdEluc3BlY3RvckZyb250ZW5kVXJsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNw
ZWN0b3JDbGllbnRRdC5oOgorCiAyMDEwLTAyLTE4ICBOb2FtIFJvc2VudGhhbCAgPG5vYW0ucm9z
ZW50aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENo
cmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0
b3JDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50
UXQuY3BwCmluZGV4IDVmMzQzZmYuLmY5MGIwOWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcApAQCAtMzEsMjQgKzMxLDI1IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50UXQuaCIKIAorI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2lu
Y2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCiAjaW5jbHVkZSAi
cXdlYmluc3BlY3Rvci5oIgogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3JfcC5oIgogI2luY2x1ZGUg
InF3ZWJwYWdlLmgiCiAjaW5jbHVkZSAicXdlYnBhZ2VfcC5oIgogI2luY2x1ZGUgInF3ZWJ2aWV3
LmgiCiAKLSNpbmNsdWRlIDxRdENvcmUvUVNldHRpbmdzPgogI2luY2x1ZGUgPFF0Q29yZS9RQ29y
ZUFwcGxpY2F0aW9uPgotCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgotI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCisjaW5jbHVkZSA8UXRDb3JlL1FTZXR0aW5ncz4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBzdGF0aWMgY29uc3QgUUxhdGluMVN0cmluZyBzZXR0aW5nU3RvcmFnZVByZWZp
eCgiUXQvUXRXZWJLaXQvUVdlYkluc3BlY3Rvci8iKTsKIHN0YXRpYyBjb25zdCBRTGF0aW4xU3Ry
aW5nIHNldHRpbmdTdG9yYWdlVHlwZVN1ZmZpeCgiLnR5cGUiKTsKK3N0YXRpYyBRU3RyaW5nIGRl
ZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybCgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rv
ci5odG1sIik7CiAKIHN0YXRpYyBTdHJpbmcgdmFyaWFudFRvU2V0dGluZyhjb25zdCBRVmFyaWFu
dCYgcXZhcmlhbnQpOwogc3RhdGljIFFWYXJpYW50IHNldHRpbmdUb1ZhcmlhbnQoY29uc3QgU3Ry
aW5nJiB2YWx1ZSk7CkBAIC03NCw3ICs3NSw5IEBAIHB1YmxpYzoKIAogSW5zcGVjdG9yQ2xpZW50
UXQ6Okluc3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKiBwYWdlKQogICAgIDogbV9pbnNwZWN0ZWRX
ZWJQYWdlKHBhZ2UpCi17fQorICAgICwgbV9pbnNwZWN0b3JGcm9udGVuZFVybChkZWZhdWx0SW5z
cGVjdG9yRnJvbnRlbmRVcmwpCit7Cit9CiAKIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6Omluc3Bl
Y3RvckRlc3Ryb3llZCgpCiB7CkBAIC05MSw3ICs5NCw3IEBAIFBhZ2UqIEluc3BlY3RvckNsaWVu
dFF0OjpjcmVhdGVQYWdlKCkKICAgICAgICAgbV9pbnNwZWN0b3JWaWV3LnNldChpbnNwZWN0b3JW
aWV3KTsKICAgICB9CiAKLSAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT5s
b2FkKFFTdHJpbmc6OmZyb21MYXRpbjEoInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3Iu
aHRtbCIpKTsKKyAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT5sb2FkKG1f
aW5zcGVjdG9yRnJvbnRlbmRVcmwpOwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVj
dG9yRnJvbnRlbmQgPSBpbnNwZWN0b3JWaWV3OwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+
Z2V0T3JDcmVhdGVJbnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoaW5zcGVjdG9yVmlldyk7CiAK
QEAgLTIyMyw2ICsyMjYsMTYgQEAgc3RhdGljIFFWYXJpYW50IHNldHRpbmdUb1ZhcmlhbnQoY29u
c3QgU3RyaW5nJiBzZXR0aW5nKQogICAgIHJldHVybiByZXRWYWw7CiB9CiAKK3ZvaWQgSW5zcGVj
dG9yQ2xpZW50UXQ6OnNldEluc3BlY3RvckZyb250ZW5kVXJsKGNvbnN0IFN0cmluZyYgdXJsKQor
eworICAgIG1faW5zcGVjdG9yRnJvbnRlbmRVcmwgPSB1cmw7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
Q2xpZW50UXQ6OnNldERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybChjb25zdCBTdHJpbmcmIHVy
bCkKK3sKKyAgICBkZWZhdWx0SW5zcGVjdG9yRnJvbnRlbmRVcmwgPSB1cmw7Cit9CisKIH0KIAog
I2luY2x1ZGUgIkluc3BlY3RvckNsaWVudFF0Lm1vYyIKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0luc3BlY3RvckNsaWVudFF0LmgKaW5kZXggOTIzYmFiNC4uN2NjYjRlOCAxMDA2NDQKLS0t
IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKQEAgLTM4LDQ1ICszOCw0
OSBAQCBjbGFzcyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0gICAgY2xhc3MgTm9kZTsKLSAgICBjbGFzcyBQYWdlOwotICAgIGNsYXNzIFN0cmluZzsK
K2NsYXNzIE5vZGU7CitjbGFzcyBQYWdlOworY2xhc3MgU3RyaW5nOwogCi0gICAgY2xhc3MgSW5z
cGVjdG9yQ2xpZW50UXQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKLSAgICBwdWJsaWM6Ci0g
ICAgICAgIEluc3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKik7CitjbGFzcyBJbnNwZWN0b3JDbGll
bnRRdCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworcHVibGljOgorICAgIEluc3BlY3RvckNs
aWVudFF0KFFXZWJQYWdlKik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ry
b3llZCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsKIAotICAgICAg
ICB2aXJ0dWFsIFBhZ2UqIGNyZWF0ZVBhZ2UoKTsKKyAgICB2aXJ0dWFsIFBhZ2UqIGNyZWF0ZVBh
Z2UoKTsKIAotICAgICAgICB2aXJ0dWFsIFN0cmluZyBsb2NhbGl6ZWRTdHJpbmdzVVJMKCk7Cisg
ICAgdmlydHVhbCBTdHJpbmcgbG9jYWxpemVkU3RyaW5nc1VSTCgpOwogCi0gICAgICAgIHZpcnR1
YWwgU3RyaW5nIGhpZGRlblBhbmVscygpOworICAgIHZpcnR1YWwgU3RyaW5nIGhpZGRlblBhbmVs
cygpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzaG93V2luZG93KCk7Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBjbG9zZVdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBzaG93V2luZG93KCk7Cisg
ICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCk7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGF0
dGFjaFdpbmRvdygpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2luZG93KCk7CisgICAg
dmlydHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5k
b3coKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5z
aWduZWQgaGVpZ2h0KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQo
dW5zaWduZWQgaGVpZ2h0KTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KE5vZGUq
KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKTsKLSAgICAgICAgdmlydHVh
bCB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiBuZXdVUkwpOworICAgIHZp
cnR1YWwgdm9pZCBoaWdobGlnaHQoTm9kZSopOworICAgIHZpcnR1YWwgdm9pZCBoaWRlSGlnaGxp
Z2h0KCk7CisgICAgdmlydHVhbCB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5n
JiBuZXdVUkwpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVNldHRpbmcoY29uc3Qg
U3RyaW5nJiBrZXksIFN0cmluZyogdmFsdWUpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVT
ZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKKyAgICB2aXJ0
dWFsIHZvaWQgcG9wdWxhdGVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcqIHZhbHVl
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25z
dCBTdHJpbmcmIHZhbHVlKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yV2luZG93
T2JqZWN0Q2xlYXJlZCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JXaW5kb3dPYmplY3RD
bGVhcmVkKCk7CiAKLSAgICBwcml2YXRlOgotICAgICAgICB2b2lkIHVwZGF0ZVdpbmRvd1RpdGxl
KCk7Ci0gICAgICAgIFFXZWJQYWdlKiBtX2luc3BlY3RlZFdlYlBhZ2U7Ci0gICAgICAgIE93blB0
cjxRV2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OwotICAgICAgICBRU3RyaW5nIG1faW5zcGVjdGVk
VVJMOwotICAgIH07CisgICAgdm9pZCBzZXRJbnNwZWN0b3JGcm9udGVuZFVybChjb25zdCBTdHJp
bmcmIHVybCk7CisgICAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdEluc3BlY3RvckZyb250ZW5kVXJs
KGNvbnN0IFN0cmluZyYgdXJsKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHVwZGF0ZVdpbmRvd1Rp
dGxlKCk7CisgICAgUVdlYlBhZ2UqIG1faW5zcGVjdGVkV2ViUGFnZTsKKyAgICBPd25QdHI8UVdl
YlZpZXc+IG1faW5zcGVjdG9yVmlldzsKKyAgICBRU3RyaW5nIG1faW5zcGVjdGVkVVJMOworICAg
IFFTdHJpbmcgbV9pbnNwZWN0b3JGcm9udGVuZFVybDsKK307CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49395</attachid>
            <date>2010-02-24 08:10:14 -0800</date>
            <delta_ts>2010-02-24 11:45:16 -0800</delta_ts>
            <desc>Adds QWebInspector::setFrontendURL() and QWebInspector::setDefaultFrontendUrl()</desc>
            <filename>alternate-qwebinspector-frontend-url.patch</filename>
            <type>text/plain</type>
            <size>11498</size>
            <attacher name="Jamey Hicks">jamey.hicks</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAgYi9XZWJLaXQvcXQv
QXBpL3F3ZWJpbnNwZWN0b3IuY3BwCmluZGV4IGMzZWY1MzAuLmI4ZDRlN2MgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
aW5zcGVjdG9yLmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3Iu
aCIKIAogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnRRdC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJxd2ViZWxlbWVu
dC5oIgogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3JfcC5oIgpAQCAtMTEzLDYgKzExNCwxMCBAQCB2
b2lkIFFXZWJJbnNwZWN0b3I6OnNldFBhZ2UoUVdlYlBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2Ut
PmQtPmluc3BlY3Rvci0+c2V0UGFnZSgwKTsKICAgICB9CiAKKyAgICBpZiAocGFnZSAmJiBwYWdl
LT5kLT5pbnNwZWN0b3JDbGllbnRRdCkgeworCXBhZ2UtPmQtPmluc3BlY3RvckNsaWVudFF0LT5z
ZXRJbnNwZWN0b3JGcm9udGVuZFVybChkLT5mcm9udGVuZFVybCk7CisgICAgfQorCiAgICAgZC0+
cGFnZSA9IHBhZ2U7CiAKICAgICBpZiAocGFnZSkgewpAQCAtMTMwLDYgKzEzNSwyMyBAQCBRV2Vi
UGFnZSogUVdlYkluc3BlY3Rvcjo6cGFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIGQtPnBhZ2U7CiB9
CiAKKy8qIQorICBTZXRzIHRoZSBVUkwgb2YgdGhlIFdlYiBJbnNwZWN0b3IgZnJvbnRlbmQuCisq
Lwordm9pZCBRV2ViSW5zcGVjdG9yOjpzZXRJbnNwZWN0b3JGcm9udGVuZFVybChRU3RyaW5nIHVy
bCkKK3sKKyAgICBkLT5mcm9udGVuZFVybCA9IHVybDsKKworICAgIGlmIChkLT5wYWdlICYmIGQt
PnBhZ2UtPmQtPmluc3BlY3RvckNsaWVudFF0KSB7CisJIGQtPnBhZ2UtPmQtPmluc3BlY3RvckNs
aWVudFF0LT5zZXRJbnNwZWN0b3JGcm9udGVuZFVybChkLT5mcm9udGVuZFVybCk7CisgICAgfQor
fQorCit2b2lkIFFXZWJJbnNwZWN0b3I6OnNldERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybChR
U3RyaW5nIHVybCkKK3sKKyAgICAgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6OnNldERlZmF1
bHRJbnNwZWN0b3JGcm9udGVuZFVybCh1cmwpOworfQorCiAvKiEgXHJlaW1wICovCiBRU2l6ZSBR
V2ViSW5zcGVjdG9yOjpzaXplSGludCgpIGNvbnN0CiB7CkBAIC0xNDksNyArMTcxLDcgQEAgdm9p
ZCBRV2ViSW5zcGVjdG9yOjpyZXNpemVFdmVudChRUmVzaXplRXZlbnQqIGV2ZW50KQogfQogCiAv
KiEgXHJlaW1wICovCi12b2lkIFFXZWJJbnNwZWN0b3I6OnNob3dFdmVudChRU2hvd0V2ZW50KiBl
dmVudCkKK3ZvaWQgUVdlYkluc3BlY3Rvcjo6c2hvd0V2ZW50KFFTaG93RXZlbnQqICkKIHsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIC8vIEFsbG93cyBRV2ViSW5zcGVjdG9yOjpzaG93KCkg
dG8gaW5pdCB0aGUgaW5zcGVjdG9yLgpAQCAtMTU5LDcgKzE4MSw3IEBAIHZvaWQgUVdlYkluc3Bl
Y3Rvcjo6c2hvd0V2ZW50KFFTaG93RXZlbnQqIGV2ZW50KQogfQogCiAvKiEgXHJlaW1wICovCi12
b2lkIFFXZWJJbnNwZWN0b3I6OmhpZGVFdmVudChRSGlkZUV2ZW50KiBldmVudCkKK3ZvaWQgUVdl
Ykluc3BlY3Rvcjo6aGlkZUV2ZW50KFFIaWRlRXZlbnQqICkKIHsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L0FwaS9xd2ViaW5zcGVjdG9yLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0
b3IuaAppbmRleCA2Y2RhNDc5Li42OTFlMWYxIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3
ZWJpbnNwZWN0b3IuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0b3IuaApAQCAtMzks
NiArMzksOSBAQCBwdWJsaWM6CiAgICAgUVNpemUgc2l6ZUhpbnQoKSBjb25zdDsKICAgICBib29s
IGV2ZW50KFFFdmVudCopOwogCisgICAgdm9pZCBzZXRJbnNwZWN0b3JGcm9udGVuZFVybChRU3Ry
aW5nIGZyb250ZW5kVXJsKTsKKyAgICBzdGF0aWMgdm9pZCBzZXREZWZhdWx0SW5zcGVjdG9yRnJv
bnRlbmRVcmwoUVN0cmluZyBmcm9udGVuZFVybCk7CisKIHByb3RlY3RlZDoKICAgICB2b2lkIHJl
c2l6ZUV2ZW50KFFSZXNpemVFdmVudCogZXZlbnQpOwogICAgIHZvaWQgc2hvd0V2ZW50KFFTaG93
RXZlbnQqIGV2ZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvcl9w
LmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0b3JfcC5oCmluZGV4IDRkMzI3Y2MuLmMwZjgz
NGIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvcl9wLmgKKysrIGIvV2Vi
S2l0L3F0L0FwaS9xd2ViaW5zcGVjdG9yX3AuaApAQCAtMjIsNiArMjIsNyBAQAogCiBRVF9CRUdJ
Tl9OQU1FU1BBQ0UKIGNsYXNzIFFTaXplOworY2xhc3MgUVN0cmluZzsKIGNsYXNzIFFXaWRnZXQ7
CiBRVF9FTkRfTkFNRVNQQUNFCiBjbGFzcyBRV2ViSW5zcGVjdG9yOwpAQCAtNDEsNiArNDIsNyBA
QCBwdWJsaWM6CiAgICAgUVdlYkluc3BlY3RvciogcTsKICAgICBRV2ViUGFnZSogcGFnZTsKICAg
ICBRV2lkZ2V0KiBmcm9udGVuZDsKKyAgICBRU3RyaW5nIGZyb250ZW5kVXJsOwogfTsKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuY3BwCmluZGV4IDJhOGFjZWQuLjM4ZTFhZDkgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBA
IC00MzYsNiArNDM2LDcgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBh
Z2UgKnFxKQogICAgICwgdmlld3BvcnRTaXplKFFTaXplKDAsIDApKQogICAgICwgaW5zcGVjdG9y
RnJvbnRlbmQoMCkKICAgICAsIGluc3BlY3RvcigwKQorICAgICwgaW5zcGVjdG9yQ2xpZW50UXQo
MCkKICAgICAsIGluc3BlY3RvcklzSW50ZXJuYWxPbmx5KGZhbHNlKQogewogICAgIFdlYkNvcmU6
OkluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwpAQCAtNDQ1LDggKzQ0Niw5
IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKFFXZWJQYWdlICpxcSkKICAgICBj
aHJvbWVDbGllbnQgPSBuZXcgQ2hyb21lQ2xpZW50UXQocSk7CiAgICAgY29udGV4dE1lbnVDbGll
bnQgPSBuZXcgQ29udGV4dE1lbnVDbGllbnRRdCgpOwogICAgIGVkaXRvckNsaWVudCA9IG5ldyBF
ZGl0b3JDbGllbnRRdChxKTsKKyAgICBpbnNwZWN0b3JDbGllbnRRdCA9IG5ldyBJbnNwZWN0b3JD
bGllbnRRdChxKTsKICAgICBwYWdlID0gbmV3IFBhZ2UoY2hyb21lQ2xpZW50LCBjb250ZXh0TWVu
dUNsaWVudCwgZWRpdG9yQ2xpZW50LAotICAgICAgICAgICAgICAgICAgICBuZXcgRHJhZ0NsaWVu
dFF0KHEpLCBuZXcgSW5zcGVjdG9yQ2xpZW50UXQocSksIDAsIDApOworICAgICAgICAgICAgICAg
ICAgICBuZXcgRHJhZ0NsaWVudFF0KHEpLCBpbnNwZWN0b3JDbGllbnRRdCwgMCwgMCk7CiAKICAg
ICBzZXR0aW5ncyA9IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3MoKSk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aAppbmRleCA0NzY2Y2JkLi43MDI0MjI5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0zNTcsNiArMzU3LDggQEAg
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUVdlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFH
cmFwaGljc1dlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3I7CisgICAgZnJp
ZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3JSZW1vdGVUZXN0OworICAgIGZyaWVuZCBjbGFzcyBRV2Vi
SW5zcGVjdG9yQ2hyb21lU2VydmVyUHJpdmF0ZTsKICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6
Q2hyb21lQ2xpZW50UXQ7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OkVkaXRvckNsaWVudFF0
OwogICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
X3AuaAppbmRleCAxNWRkZmIyLi41YTE0ZGQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlX3AuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaApAQCAtNDMsNiArNDMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnU7CiAgICAgY2xh
c3MgRWRpdG9yQ2xpZW50UXQ7CiAgICAgY2xhc3MgRWxlbWVudDsKKyAgICBjbGFzcyBJbnNwZWN0
b3JDbGllbnRRdDsKICAgICBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogICAgIGNsYXNzIE5v
ZGU7CiAgICAgY2xhc3MgUGFnZTsKQEAgLTEyNCw2ICsxMjUsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRJbnNwZWN0b3IoUVdlYkluc3BlY3RvciopOwogICAgIFFXZWJJbnNwZWN0b3IqIGdldE9y
Q3JlYXRlSW5zcGVjdG9yKCk7CiAgICAgV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciogaW5z
cGVjdG9yQ29udHJvbGxlcigpOworICAgIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0KiBpbnNw
ZWN0b3JDbGllbnQoKTsKIAogI2lmbmRlZiBRVF9OT19TSE9SVENVVAogICAgIHN0YXRpYyBRV2Vi
UGFnZTo6V2ViQWN0aW9uIGVkaXRvckFjdGlvbkZvcktleUV2ZW50KFFLZXlFdmVudCogZXZlbnQp
OwpAQCAtMTgyLDYgKzE4NCw3IEBAIHB1YmxpYzoKIAogICAgIFFXaWRnZXQqIGluc3BlY3RvckZy
b250ZW5kOwogICAgIFFXZWJJbnNwZWN0b3IqIGluc3BlY3RvcjsKKyAgICBXZWJDb3JlOjpJbnNw
ZWN0b3JDbGllbnRRdCAqaW5zcGVjdG9yQ2xpZW50UXQ7CiAgICAgYm9vbCBpbnNwZWN0b3JJc0lu
dGVybmFsT25seTsgLy8gVHJ1ZSBpZiBjcmVhdGVkIHRocm91Z2ggdGhlIEluc3BlY3QgY29udGV4
dCBtZW51IGFjdGlvbgogICAgIFF0OjpEcm9wQWN0aW9uIG1fbGFzdERyb3BBY3Rpb247CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4
IGZiODMyYjMuLjFkMjU0ZGQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEwLTAyLTI0ICBKYW1leSBI
aWNrcyAgPGphbWV5LmhpY2tzQG5va2lhLmNvbT4KKworICAgICAgICBhZGRlZCBRV2ViSW5zcGVj
dG9yOjpzZXRJbnNwZWN0b3JGcm9udGVuZFVybCBhbmQgUVdlYkluc3BlY3Rvcjo6c2V0RGVmYXVs
dEluc3BlY3RvckZyb250ZW5kVXJsCisKKwlUaGlzIHBhdGNoIGVuYWJsZXMgdGhlIHVzZSBvZiBh
bHRlcm5hdGUgVUlzIGZvciBXZWIgSW5zcGVjdG9yIGJ5IGxvYWRpbmcKKwlkaWZmZXJlbnQgSFRN
TC9KYXZhU2NyaXB0IHdoZW4gUVdlYkluc3BlY3RvciBpcyBpbnN0YW50aWF0ZWQgYW5kIHNob3du
LgorCisJV2UncmUgcGxhbm5pbmcgdG8gdXNlIHRoaXMgdG8gYWxsb3cgcmVtb3RlIHVzZSBvZiBX
ZWIgSW5zcGVjdG9yIHZpYSBIVFRQIGFuZCB0bworCXVzZSBFY2xpcHNlIG9yIEFwdGFuYSB0byBk
ZWJ1ZyBhbmQgcHJvZmlsZSBXZWJLaXQuCisKKwlBbiBlYXJsaWVyIHBhdGNoIHdhcyBzdWJtaXR0
ZWQgYnV0IHRoYXQgYXBwcm9hY2ggd2FzIGdpdmVuIHJldmlldy0gYW5kIHRoZQorCWFwcHJvYWNo
IHVzZWQgaW4gdGhpcyBwYXRjaCAoaS5lLiwgdXNpbmcgYWx0ZXJuYXRlIEhUTUwvSmF2YVNjcmlw
dCkgd2FzCisJcmVjb21tZW5kZWQuCisJCisJaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM1MzQwCisKKyAgICAgICAgKiBBcGkvcXdlYmluc3BlY3Rvci5jcHA6CisgICAg
ICAgIChRV2ViSW5zcGVjdG9yOjpzZXRQYWdlKToKKyAgICAgICAgKFFXZWJJbnNwZWN0b3I6OnNl
dEluc3BlY3RvckZyb250ZW5kVXJsKToKKyAgICAgICAgKFFXZWJJbnNwZWN0b3I6OnNldERlZmF1
bHRJbnNwZWN0b3JGcm9udGVuZFVybCk6CisgICAgICAgIChRV2ViSW5zcGVjdG9yOjpzaG93RXZl
bnQpOgorICAgICAgICAoUVdlYkluc3BlY3Rvcjo6aGlkZUV2ZW50KToKKyAgICAgICAgKiBBcGkv
cXdlYmluc3BlY3Rvci5oOgorICAgICAgICAqIEFwaS9xd2ViaW5zcGVjdG9yX3AuaDoKKyAgICAg
ICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFn
ZVByaXZhdGUpOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5oOgorICAgICAgICAqIEFwaS9xd2Vi
cGFnZV9wLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6Okluc3BlY3RvckNsaWVudFF0
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpjcmVhdGVQYWdlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpzZXRJbnNwZWN0b3JGcm9udGVuZFVy
bCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRRdDo6c2V0RGVmYXVsdEluc3Bl
Y3RvckZyb250ZW5kVXJsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRRdC5oOgorCiAyMDEwLTAyLTE4ICBOb2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFsQG5v
a2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
bi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRR
dC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwCmlu
ZGV4IDVmMzQzZmYuLmY5MGIwOWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0lu
c3BlY3RvckNsaWVudFF0LmNwcApAQCAtMzEsMjQgKzMxLDI1IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50UXQuaCIKIAorI2luY2x1ZGUgIkluc3BlY3Rv
ckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCiAjaW5jbHVkZSAicXdlYmluc3Bl
Y3Rvci5oIgogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3JfcC5oIgogI2luY2x1ZGUgInF3ZWJwYWdl
LmgiCiAjaW5jbHVkZSAicXdlYnBhZ2VfcC5oIgogI2luY2x1ZGUgInF3ZWJ2aWV3LmgiCiAKLSNp
bmNsdWRlIDxRdENvcmUvUVNldHRpbmdzPgogI2luY2x1ZGUgPFF0Q29yZS9RQ29yZUFwcGxpY2F0
aW9uPgotCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCisjaW5jbHVkZSA8UXRDb3JlL1FTZXR0aW5ncz4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgY29uc3QgUUxhdGluMVN0cmluZyBzZXR0aW5nU3RvcmFnZVByZWZpeCgiUXQvUXRX
ZWJLaXQvUVdlYkluc3BlY3Rvci8iKTsKIHN0YXRpYyBjb25zdCBRTGF0aW4xU3RyaW5nIHNldHRp
bmdTdG9yYWdlVHlwZVN1ZmZpeCgiLnR5cGUiKTsKK3N0YXRpYyBRU3RyaW5nIGRlZmF1bHRJbnNw
ZWN0b3JGcm9udGVuZFVybCgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIik7
CiAKIHN0YXRpYyBTdHJpbmcgdmFyaWFudFRvU2V0dGluZyhjb25zdCBRVmFyaWFudCYgcXZhcmlh
bnQpOwogc3RhdGljIFFWYXJpYW50IHNldHRpbmdUb1ZhcmlhbnQoY29uc3QgU3RyaW5nJiB2YWx1
ZSk7CkBAIC03NCw3ICs3NSw5IEBAIHB1YmxpYzoKIAogSW5zcGVjdG9yQ2xpZW50UXQ6Okluc3Bl
Y3RvckNsaWVudFF0KFFXZWJQYWdlKiBwYWdlKQogICAgIDogbV9pbnNwZWN0ZWRXZWJQYWdlKHBh
Z2UpCi17fQorICAgICwgbV9pbnNwZWN0b3JGcm9udGVuZFVybChkZWZhdWx0SW5zcGVjdG9yRnJv
bnRlbmRVcmwpCit7Cit9CiAKIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6Omluc3BlY3RvckRlc3Ry
b3llZCgpCiB7CkBAIC05MSw3ICs5NCw3IEBAIFBhZ2UqIEluc3BlY3RvckNsaWVudFF0OjpjcmVh
dGVQYWdlKCkKICAgICAgICAgbV9pbnNwZWN0b3JWaWV3LnNldChpbnNwZWN0b3JWaWV3KTsKICAg
ICB9CiAKLSAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT5sb2FkKFFTdHJp
bmc6OmZyb21MYXRpbjEoInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRtbCIpKTsK
KyAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT5sb2FkKG1faW5zcGVjdG9y
RnJvbnRlbmRVcmwpOwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yRnJvbnRl
bmQgPSBpbnNwZWN0b3JWaWV3OwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+Z2V0T3JDcmVh
dGVJbnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoaW5zcGVjdG9yVmlldyk7CiAKQEAgLTIyMyw2
ICsyMjYsMTYgQEAgc3RhdGljIFFWYXJpYW50IHNldHRpbmdUb1ZhcmlhbnQoY29uc3QgU3RyaW5n
JiBzZXR0aW5nKQogICAgIHJldHVybiByZXRWYWw7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ2xpZW50
UXQ6OnNldEluc3BlY3RvckZyb250ZW5kVXJsKGNvbnN0IFN0cmluZyYgdXJsKQoreworICAgIG1f
aW5zcGVjdG9yRnJvbnRlbmRVcmwgPSB1cmw7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6
OnNldERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybChjb25zdCBTdHJpbmcmIHVybCkKK3sKKyAg
ICBkZWZhdWx0SW5zcGVjdG9yRnJvbnRlbmRVcmwgPSB1cmw7Cit9CisKIH0KIAogI2luY2x1ZGUg
Ikluc3BlY3RvckNsaWVudFF0Lm1vYyIKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3Bl
Y3RvckNsaWVudFF0LmgKaW5kZXggOTIzYmFiNC4uN2NjYjRlOCAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKQEAgLTM4LDQ1ICszOCw0OSBAQCBjbGFz
cyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAg
Y2xhc3MgTm9kZTsKLSAgICBjbGFzcyBQYWdlOwotICAgIGNsYXNzIFN0cmluZzsKK2NsYXNzIE5v
ZGU7CitjbGFzcyBQYWdlOworY2xhc3MgU3RyaW5nOwogCi0gICAgY2xhc3MgSW5zcGVjdG9yQ2xp
ZW50UXQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIElu
c3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKik7CitjbGFzcyBJbnNwZWN0b3JDbGllbnRRdCA6IHB1
YmxpYyBJbnNwZWN0b3JDbGllbnQgeworcHVibGljOgorICAgIEluc3BlY3RvckNsaWVudFF0KFFX
ZWJQYWdlKik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsKIAotICAgICAgICB2aXJ0dWFs
IFBhZ2UqIGNyZWF0ZVBhZ2UoKTsKKyAgICB2aXJ0dWFsIFBhZ2UqIGNyZWF0ZVBhZ2UoKTsKIAot
ICAgICAgICB2aXJ0dWFsIFN0cmluZyBsb2NhbGl6ZWRTdHJpbmdzVVJMKCk7CisgICAgdmlydHVh
bCBTdHJpbmcgbG9jYWxpemVkU3RyaW5nc1VSTCgpOwogCi0gICAgICAgIHZpcnR1YWwgU3RyaW5n
IGhpZGRlblBhbmVscygpOworICAgIHZpcnR1YWwgU3RyaW5nIGhpZGRlblBhbmVscygpOwogCi0g
ICAgICAgIHZpcnR1YWwgdm9pZCBzaG93V2luZG93KCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBj
bG9zZVdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBzaG93V2luZG93KCk7CisgICAgdmlydHVh
bCB2b2lkIGNsb3NlV2luZG93KCk7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdpbmRv
dygpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2luZG93KCk7CisgICAgdmlydHVhbCB2
b2lkIGF0dGFjaFdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5kb3coKTsKIAot
ICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVp
Z2h0KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQg
aGVpZ2h0KTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KE5vZGUqKTsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGlu
c3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiBuZXdVUkwpOworICAgIHZpcnR1YWwgdm9p
ZCBoaWdobGlnaHQoTm9kZSopOworICAgIHZpcnR1YWwgdm9pZCBoaWRlSGlnaGxpZ2h0KCk7Cisg
ICAgdmlydHVhbCB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiBuZXdVUkwp
OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVNldHRpbmcoY29uc3QgU3RyaW5nJiBr
ZXksIFN0cmluZyogdmFsdWUpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVTZXR0aW5nKGNv
bnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKKyAgICB2aXJ0dWFsIHZvaWQg
cG9wdWxhdGVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcqIHZhbHVlKTsKKyAgICB2
aXJ0dWFsIHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcm
IHZhbHVlKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yV2luZG93T2JqZWN0Q2xl
YXJlZCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JXaW5kb3dPYmplY3RDbGVhcmVkKCk7
CiAKLSAgICBwcml2YXRlOgotICAgICAgICB2b2lkIHVwZGF0ZVdpbmRvd1RpdGxlKCk7Ci0gICAg
ICAgIFFXZWJQYWdlKiBtX2luc3BlY3RlZFdlYlBhZ2U7Ci0gICAgICAgIE93blB0cjxRV2ViVmll
dz4gbV9pbnNwZWN0b3JWaWV3OwotICAgICAgICBRU3RyaW5nIG1faW5zcGVjdGVkVVJMOwotICAg
IH07CisgICAgdm9pZCBzZXRJbnNwZWN0b3JGcm9udGVuZFVybChjb25zdCBTdHJpbmcmIHVybCk7
CisgICAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdEluc3BlY3RvckZyb250ZW5kVXJsKGNvbnN0IFN0
cmluZyYgdXJsKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHVwZGF0ZVdpbmRvd1RpdGxlKCk7Cisg
ICAgUVdlYlBhZ2UqIG1faW5zcGVjdGVkV2ViUGFnZTsKKyAgICBPd25QdHI8UVdlYlZpZXc+IG1f
aW5zcGVjdG9yVmlldzsKKyAgICBRU3RyaW5nIG1faW5zcGVjdGVkVVJMOworICAgIFFTdHJpbmcg
bV9pbnNwZWN0b3JGcm9udGVuZFVybDsKK307CiB9CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49418</attachid>
            <date>2010-02-24 11:45:16 -0800</date>
            <delta_ts>2010-02-25 13:10:15 -0800</delta_ts>
            <desc>revised patch to fix style problems in WebKit/qt/ChangeLog</desc>
            <filename>alternate-qwebinspector-frontend-url.patch</filename>
            <type>text/plain</type>
            <size>11561</size>
            <attacher name="Jamey Hicks">jamey.hicks</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAgYi9XZWJLaXQvcXQv
QXBpL3F3ZWJpbnNwZWN0b3IuY3BwCmluZGV4IGMzZWY1MzAuLmI4ZDRlN2MgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvci5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vi
aW5zcGVjdG9yLmNwcApAQCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3Iu
aCIKIAogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDbGllbnRRdC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJxd2ViZWxlbWVu
dC5oIgogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3JfcC5oIgpAQCAtMTEzLDYgKzExNCwxMCBAQCB2
b2lkIFFXZWJJbnNwZWN0b3I6OnNldFBhZ2UoUVdlYlBhZ2UqIHBhZ2UpCiAgICAgICAgIHBhZ2Ut
PmQtPmluc3BlY3Rvci0+c2V0UGFnZSgwKTsKICAgICB9CiAKKyAgICBpZiAocGFnZSAmJiBwYWdl
LT5kLT5pbnNwZWN0b3JDbGllbnRRdCkgeworCXBhZ2UtPmQtPmluc3BlY3RvckNsaWVudFF0LT5z
ZXRJbnNwZWN0b3JGcm9udGVuZFVybChkLT5mcm9udGVuZFVybCk7CisgICAgfQorCiAgICAgZC0+
cGFnZSA9IHBhZ2U7CiAKICAgICBpZiAocGFnZSkgewpAQCAtMTMwLDYgKzEzNSwyMyBAQCBRV2Vi
UGFnZSogUVdlYkluc3BlY3Rvcjo6cGFnZSgpIGNvbnN0CiAgICAgcmV0dXJuIGQtPnBhZ2U7CiB9
CiAKKy8qIQorICBTZXRzIHRoZSBVUkwgb2YgdGhlIFdlYiBJbnNwZWN0b3IgZnJvbnRlbmQuCisq
Lwordm9pZCBRV2ViSW5zcGVjdG9yOjpzZXRJbnNwZWN0b3JGcm9udGVuZFVybChRU3RyaW5nIHVy
bCkKK3sKKyAgICBkLT5mcm9udGVuZFVybCA9IHVybDsKKworICAgIGlmIChkLT5wYWdlICYmIGQt
PnBhZ2UtPmQtPmluc3BlY3RvckNsaWVudFF0KSB7CisJIGQtPnBhZ2UtPmQtPmluc3BlY3RvckNs
aWVudFF0LT5zZXRJbnNwZWN0b3JGcm9udGVuZFVybChkLT5mcm9udGVuZFVybCk7CisgICAgfQor
fQorCit2b2lkIFFXZWJJbnNwZWN0b3I6OnNldERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybChR
U3RyaW5nIHVybCkKK3sKKyAgICAgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6OnNldERlZmF1
bHRJbnNwZWN0b3JGcm9udGVuZFVybCh1cmwpOworfQorCiAvKiEgXHJlaW1wICovCiBRU2l6ZSBR
V2ViSW5zcGVjdG9yOjpzaXplSGludCgpIGNvbnN0CiB7CkBAIC0xNDksNyArMTcxLDcgQEAgdm9p
ZCBRV2ViSW5zcGVjdG9yOjpyZXNpemVFdmVudChRUmVzaXplRXZlbnQqIGV2ZW50KQogfQogCiAv
KiEgXHJlaW1wICovCi12b2lkIFFXZWJJbnNwZWN0b3I6OnNob3dFdmVudChRU2hvd0V2ZW50KiBl
dmVudCkKK3ZvaWQgUVdlYkluc3BlY3Rvcjo6c2hvd0V2ZW50KFFTaG93RXZlbnQqICkKIHsKICNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIC8vIEFsbG93cyBRV2ViSW5zcGVjdG9yOjpzaG93KCkg
dG8gaW5pdCB0aGUgaW5zcGVjdG9yLgpAQCAtMTU5LDcgKzE4MSw3IEBAIHZvaWQgUVdlYkluc3Bl
Y3Rvcjo6c2hvd0V2ZW50KFFTaG93RXZlbnQqIGV2ZW50KQogfQogCiAvKiEgXHJlaW1wICovCi12
b2lkIFFXZWJJbnNwZWN0b3I6OmhpZGVFdmVudChRSGlkZUV2ZW50KiBldmVudCkKK3ZvaWQgUVdl
Ykluc3BlY3Rvcjo6aGlkZUV2ZW50KFFIaWRlRXZlbnQqICkKIHsKIH0KIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L0FwaS9xd2ViaW5zcGVjdG9yLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0
b3IuaAppbmRleCA2Y2RhNDc5Li42OTFlMWYxIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3
ZWJpbnNwZWN0b3IuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0b3IuaApAQCAtMzks
NiArMzksOSBAQCBwdWJsaWM6CiAgICAgUVNpemUgc2l6ZUhpbnQoKSBjb25zdDsKICAgICBib29s
IGV2ZW50KFFFdmVudCopOwogCisgICAgdm9pZCBzZXRJbnNwZWN0b3JGcm9udGVuZFVybChRU3Ry
aW5nIGZyb250ZW5kVXJsKTsKKyAgICBzdGF0aWMgdm9pZCBzZXREZWZhdWx0SW5zcGVjdG9yRnJv
bnRlbmRVcmwoUVN0cmluZyBmcm9udGVuZFVybCk7CisKIHByb3RlY3RlZDoKICAgICB2b2lkIHJl
c2l6ZUV2ZW50KFFSZXNpemVFdmVudCogZXZlbnQpOwogICAgIHZvaWQgc2hvd0V2ZW50KFFTaG93
RXZlbnQqIGV2ZW50KTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvcl9w
LmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJpbnNwZWN0b3JfcC5oCmluZGV4IDRkMzI3Y2MuLmMwZjgz
NGIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYmluc3BlY3Rvcl9wLmgKKysrIGIvV2Vi
S2l0L3F0L0FwaS9xd2ViaW5zcGVjdG9yX3AuaApAQCAtMjIsNiArMjIsNyBAQAogCiBRVF9CRUdJ
Tl9OQU1FU1BBQ0UKIGNsYXNzIFFTaXplOworY2xhc3MgUVN0cmluZzsKIGNsYXNzIFFXaWRnZXQ7
CiBRVF9FTkRfTkFNRVNQQUNFCiBjbGFzcyBRV2ViSW5zcGVjdG9yOwpAQCAtNDEsNiArNDIsNyBA
QCBwdWJsaWM6CiAgICAgUVdlYkluc3BlY3RvciogcTsKICAgICBRV2ViUGFnZSogcGFnZTsKICAg
ICBRV2lkZ2V0KiBmcm9udGVuZDsKKyAgICBRU3RyaW5nIGZyb250ZW5kVXJsOwogfTsKIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBiL1dlYktpdC9xdC9B
cGkvcXdlYnBhZ2UuY3BwCmluZGV4IDJhOGFjZWQuLjM4ZTFhZDkgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCkBA
IC00MzYsNiArNDM2LDcgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBh
Z2UgKnFxKQogICAgICwgdmlld3BvcnRTaXplKFFTaXplKDAsIDApKQogICAgICwgaW5zcGVjdG9y
RnJvbnRlbmQoMCkKICAgICAsIGluc3BlY3RvcigwKQorICAgICwgaW5zcGVjdG9yQ2xpZW50UXQo
MCkKICAgICAsIGluc3BlY3RvcklzSW50ZXJuYWxPbmx5KGZhbHNlKQogewogICAgIFdlYkNvcmU6
OkluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwpAQCAtNDQ1LDggKzQ0Niw5
IEBAIFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKFFXZWJQYWdlICpxcSkKICAgICBj
aHJvbWVDbGllbnQgPSBuZXcgQ2hyb21lQ2xpZW50UXQocSk7CiAgICAgY29udGV4dE1lbnVDbGll
bnQgPSBuZXcgQ29udGV4dE1lbnVDbGllbnRRdCgpOwogICAgIGVkaXRvckNsaWVudCA9IG5ldyBF
ZGl0b3JDbGllbnRRdChxKTsKKyAgICBpbnNwZWN0b3JDbGllbnRRdCA9IG5ldyBJbnNwZWN0b3JD
bGllbnRRdChxKTsKICAgICBwYWdlID0gbmV3IFBhZ2UoY2hyb21lQ2xpZW50LCBjb250ZXh0TWVu
dUNsaWVudCwgZWRpdG9yQ2xpZW50LAotICAgICAgICAgICAgICAgICAgICBuZXcgRHJhZ0NsaWVu
dFF0KHEpLCBuZXcgSW5zcGVjdG9yQ2xpZW50UXQocSksIDAsIDApOworICAgICAgICAgICAgICAg
ICAgICBuZXcgRHJhZ0NsaWVudFF0KHEpLCBpbnNwZWN0b3JDbGllbnRRdCwgMCwgMCk7CiAKICAg
ICBzZXR0aW5ncyA9IG5ldyBRV2ViU2V0dGluZ3MocGFnZS0+c2V0dGluZ3MoKSk7CiAKZGlmZiAt
LWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
aAppbmRleCA0NzY2Y2JkLi43MDI0MjI5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmgKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0zNTcsNiArMzU3LDggQEAg
cHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUVdlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFH
cmFwaGljc1dlYlZpZXc7CiAgICAgZnJpZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3I7CisgICAgZnJp
ZW5kIGNsYXNzIFFXZWJJbnNwZWN0b3JSZW1vdGVUZXN0OworICAgIGZyaWVuZCBjbGFzcyBRV2Vi
SW5zcGVjdG9yQ2hyb21lU2VydmVyUHJpdmF0ZTsKICAgICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6
Q2hyb21lQ2xpZW50UXQ7CiAgICAgZnJpZW5kIGNsYXNzIFdlYkNvcmU6OkVkaXRvckNsaWVudFF0
OwogICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0OwpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmggYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdl
X3AuaAppbmRleCAxNWRkZmIyLi41YTE0ZGQ1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlX3AuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaApAQCAtNDMsNiArNDMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnU7CiAgICAgY2xh
c3MgRWRpdG9yQ2xpZW50UXQ7CiAgICAgY2xhc3MgRWxlbWVudDsKKyAgICBjbGFzcyBJbnNwZWN0
b3JDbGllbnRRdDsKICAgICBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogICAgIGNsYXNzIE5v
ZGU7CiAgICAgY2xhc3MgUGFnZTsKQEAgLTEyNCw2ICsxMjUsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRJbnNwZWN0b3IoUVdlYkluc3BlY3RvciopOwogICAgIFFXZWJJbnNwZWN0b3IqIGdldE9y
Q3JlYXRlSW5zcGVjdG9yKCk7CiAgICAgV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciogaW5z
cGVjdG9yQ29udHJvbGxlcigpOworICAgIFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0KiBpbnNw
ZWN0b3JDbGllbnQoKTsKIAogI2lmbmRlZiBRVF9OT19TSE9SVENVVAogICAgIHN0YXRpYyBRV2Vi
UGFnZTo6V2ViQWN0aW9uIGVkaXRvckFjdGlvbkZvcktleUV2ZW50KFFLZXlFdmVudCogZXZlbnQp
OwpAQCAtMTgyLDYgKzE4NCw3IEBAIHB1YmxpYzoKIAogICAgIFFXaWRnZXQqIGluc3BlY3RvckZy
b250ZW5kOwogICAgIFFXZWJJbnNwZWN0b3IqIGluc3BlY3RvcjsKKyAgICBXZWJDb3JlOjpJbnNw
ZWN0b3JDbGllbnRRdCAqaW5zcGVjdG9yQ2xpZW50UXQ7CiAgICAgYm9vbCBpbnNwZWN0b3JJc0lu
dGVybmFsT25seTsgLy8gVHJ1ZSBpZiBjcmVhdGVkIHRocm91Z2ggdGhlIEluc3BlY3QgY29udGV4
dCBtZW51IGFjdGlvbgogICAgIFF0OjpEcm9wQWN0aW9uIG1fbGFzdERyb3BBY3Rpb247CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4
IGZiODMyYjMuLjE3NGY0OGQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEwLTAyLTI0ICBKYW1leSBI
aWNrcyAgPGphbWV5LmhpY2tzQG5va2lhLmNvbT4KKworICAgICAgICBhZGRlZCBRV2ViSW5zcGVj
dG9yOjpzZXRJbnNwZWN0b3JGcm9udGVuZFVybCBhbmQgUVdlYkluc3BlY3Rvcjo6c2V0RGVmYXVs
dEluc3BlY3RvckZyb250ZW5kVXJsCisKKyAgICAgICAgVGhpcyBwYXRjaCBlbmFibGVzIHRoZSB1
c2Ugb2YgYWx0ZXJuYXRlIFVJcyBmb3IgV2ViIEluc3BlY3RvciBieSBsb2FkaW5nCisgICAgICAg
IGRpZmZlcmVudCBIVE1ML0phdmFTY3JpcHQgd2hlbiBRV2ViSW5zcGVjdG9yIGlzIGluc3RhbnRp
YXRlZCBhbmQgc2hvd24uCisKKyAgICAgICAgV2UncmUgcGxhbm5pbmcgdG8gdXNlIHRoaXMgdG8g
YWxsb3cgcmVtb3RlIHVzZSBvZiBXZWIgSW5zcGVjdG9yIHZpYSBIVFRQIGFuZCB0bworICAgICAg
ICB1c2UgRWNsaXBzZSBvciBBcHRhbmEgdG8gZGVidWcgYW5kIHByb2ZpbGUgV2ViS2l0LgorCisg
ICAgICAgIEFuIGVhcmxpZXIgcGF0Y2ggd2FzIHN1Ym1pdHRlZCBidXQgdGhhdCBhcHByb2FjaCB3
YXMgZ2l2ZW4gcmV2aWV3LSBhbmQgdGhlCisgICAgICAgIGFwcHJvYWNoIHVzZWQgaW4gdGhpcyBw
YXRjaCAoaS5lLiwgdXNpbmcgYWx0ZXJuYXRlIEhUTUwvSmF2YVNjcmlwdCkgd2FzCisgICAgICAg
IHJlY29tbWVuZGVkLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM1MzQwCisKKyAgICAgICAgKiBBcGkvcXdlYmluc3BlY3Rvci5jcHA6
CisgICAgICAgIChRV2ViSW5zcGVjdG9yOjpzZXRQYWdlKToKKyAgICAgICAgKFFXZWJJbnNwZWN0
b3I6OnNldEluc3BlY3RvckZyb250ZW5kVXJsKToKKyAgICAgICAgKFFXZWJJbnNwZWN0b3I6OnNl
dERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybCk6CisgICAgICAgIChRV2ViSW5zcGVjdG9yOjpz
aG93RXZlbnQpOgorICAgICAgICAoUVdlYkluc3BlY3Rvcjo6aGlkZUV2ZW50KToKKyAgICAgICAg
KiBBcGkvcXdlYmluc3BlY3Rvci5oOgorICAgICAgICAqIEFwaS9xd2ViaW5zcGVjdG9yX3AuaDoK
KyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjpR
V2ViUGFnZVByaXZhdGUpOgorICAgICAgICAqIEFwaS9xd2VicGFnZS5oOgorICAgICAgICAqIEFw
aS9xd2VicGFnZV9wLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50
UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6Okluc3BlY3RvckNs
aWVudFF0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpjcmVhdGVQYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjpzZXRJbnNwZWN0b3JGcm9u
dGVuZFVybCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRRdDo6c2V0RGVmYXVs
dEluc3BlY3RvckZyb250ZW5kVXJsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0
b3JDbGllbnRRdC5oOgorCiAyMDEwLTAyLTE4ICBOb2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50
aGFsQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlz
dGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQu
Y3BwCmluZGV4IDVmMzQzZmYuLmY5MGIwOWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0luc3BlY3RvckNsaWVudFF0LmNwcApAQCAtMzEsMjQgKzMxLDI1IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50UXQuaCIKIAorI2luY2x1ZGUgIklu
c3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1
ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCiAjaW5jbHVkZSAicXdl
Ymluc3BlY3Rvci5oIgogI2luY2x1ZGUgInF3ZWJpbnNwZWN0b3JfcC5oIgogI2luY2x1ZGUgInF3
ZWJwYWdlLmgiCiAjaW5jbHVkZSAicXdlYnBhZ2VfcC5oIgogI2luY2x1ZGUgInF3ZWJ2aWV3Lmgi
CiAKLSNpbmNsdWRlIDxRdENvcmUvUVNldHRpbmdzPgogI2luY2x1ZGUgPFF0Q29yZS9RQ29yZUFw
cGxpY2F0aW9uPgotCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgotI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCisjaW5jbHVkZSA8UXRDb3JlL1FTZXR0aW5ncz4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdGF0aWMgY29uc3QgUUxhdGluMVN0cmluZyBzZXR0aW5nU3RvcmFnZVByZWZpeCgi
UXQvUXRXZWJLaXQvUVdlYkluc3BlY3Rvci8iKTsKIHN0YXRpYyBjb25zdCBRTGF0aW4xU3RyaW5n
IHNldHRpbmdTdG9yYWdlVHlwZVN1ZmZpeCgiLnR5cGUiKTsKK3N0YXRpYyBRU3RyaW5nIGRlZmF1
bHRJbnNwZWN0b3JGcm9udGVuZFVybCgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5o
dG1sIik7CiAKIHN0YXRpYyBTdHJpbmcgdmFyaWFudFRvU2V0dGluZyhjb25zdCBRVmFyaWFudCYg
cXZhcmlhbnQpOwogc3RhdGljIFFWYXJpYW50IHNldHRpbmdUb1ZhcmlhbnQoY29uc3QgU3RyaW5n
JiB2YWx1ZSk7CkBAIC03NCw3ICs3NSw5IEBAIHB1YmxpYzoKIAogSW5zcGVjdG9yQ2xpZW50UXQ6
Okluc3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKiBwYWdlKQogICAgIDogbV9pbnNwZWN0ZWRXZWJQ
YWdlKHBhZ2UpCi17fQorICAgICwgbV9pbnNwZWN0b3JGcm9udGVuZFVybChkZWZhdWx0SW5zcGVj
dG9yRnJvbnRlbmRVcmwpCit7Cit9CiAKIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6Omluc3BlY3Rv
ckRlc3Ryb3llZCgpCiB7CkBAIC05MSw3ICs5NCw3IEBAIFBhZ2UqIEluc3BlY3RvckNsaWVudFF0
OjpjcmVhdGVQYWdlKCkKICAgICAgICAgbV9pbnNwZWN0b3JWaWV3LnNldChpbnNwZWN0b3JWaWV3
KTsKICAgICB9CiAKLSAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT5sb2Fk
KFFTdHJpbmc6OmZyb21MYXRpbjEoInFyYzovd2Via2l0L2luc3BlY3Rvci9pbnNwZWN0b3IuaHRt
bCIpKTsKKyAgICBpbnNwZWN0b3JWaWV3LT5wYWdlKCktPm1haW5GcmFtZSgpLT5sb2FkKG1faW5z
cGVjdG9yRnJvbnRlbmRVcmwpOwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9y
RnJvbnRlbmQgPSBpbnNwZWN0b3JWaWV3OwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+Z2V0
T3JDcmVhdGVJbnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoaW5zcGVjdG9yVmlldyk7CiAKQEAg
LTIyMyw2ICsyMjYsMTYgQEAgc3RhdGljIFFWYXJpYW50IHNldHRpbmdUb1ZhcmlhbnQoY29uc3Qg
U3RyaW5nJiBzZXR0aW5nKQogICAgIHJldHVybiByZXRWYWw7CiB9CiAKK3ZvaWQgSW5zcGVjdG9y
Q2xpZW50UXQ6OnNldEluc3BlY3RvckZyb250ZW5kVXJsKGNvbnN0IFN0cmluZyYgdXJsKQorewor
ICAgIG1faW5zcGVjdG9yRnJvbnRlbmRVcmwgPSB1cmw7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ2xp
ZW50UXQ6OnNldERlZmF1bHRJbnNwZWN0b3JGcm9udGVuZFVybChjb25zdCBTdHJpbmcmIHVybCkK
K3sKKyAgICBkZWZhdWx0SW5zcGVjdG9yRnJvbnRlbmRVcmwgPSB1cmw7Cit9CisKIH0KIAogI2lu
Y2x1ZGUgIkluc3BlY3RvckNsaWVudFF0Lm1vYyIKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0luc3BlY3RvckNsaWVudFF0LmgKaW5kZXggOTIzYmFiNC4uN2NjYjRlOCAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKQEAgLTM4LDQ1ICszOCw0OSBA
QCBjbGFzcyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJWaWV3OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
Ci0gICAgY2xhc3MgTm9kZTsKLSAgICBjbGFzcyBQYWdlOwotICAgIGNsYXNzIFN0cmluZzsKK2Ns
YXNzIE5vZGU7CitjbGFzcyBQYWdlOworY2xhc3MgU3RyaW5nOwogCi0gICAgY2xhc3MgSW5zcGVj
dG9yQ2xpZW50UXQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIEluc3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKik7CitjbGFzcyBJbnNwZWN0b3JDbGllbnRR
dCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworcHVibGljOgorICAgIEluc3BlY3RvckNsaWVu
dFF0KFFXZWJQYWdlKik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3ll
ZCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsKIAotICAgICAgICB2
aXJ0dWFsIFBhZ2UqIGNyZWF0ZVBhZ2UoKTsKKyAgICB2aXJ0dWFsIFBhZ2UqIGNyZWF0ZVBhZ2Uo
KTsKIAotICAgICAgICB2aXJ0dWFsIFN0cmluZyBsb2NhbGl6ZWRTdHJpbmdzVVJMKCk7CisgICAg
dmlydHVhbCBTdHJpbmcgbG9jYWxpemVkU3RyaW5nc1VSTCgpOwogCi0gICAgICAgIHZpcnR1YWwg
U3RyaW5nIGhpZGRlblBhbmVscygpOworICAgIHZpcnR1YWwgU3RyaW5nIGhpZGRlblBhbmVscygp
OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzaG93V2luZG93KCk7Ci0gICAgICAgIHZpcnR1YWwg
dm9pZCBjbG9zZVdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBzaG93V2luZG93KCk7CisgICAg
dmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCk7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFj
aFdpbmRvdygpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2luZG93KCk7CisgICAgdmly
dHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5kb3co
KTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWdu
ZWQgaGVpZ2h0KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5z
aWduZWQgaGVpZ2h0KTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KE5vZGUqKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiBuZXdVUkwpOworICAgIHZpcnR1
YWwgdm9pZCBoaWdobGlnaHQoTm9kZSopOworICAgIHZpcnR1YWwgdm9pZCBoaWRlSGlnaGxpZ2h0
KCk7CisgICAgdmlydHVhbCB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiBu
ZXdVUkwpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVNldHRpbmcoY29uc3QgU3Ry
aW5nJiBrZXksIFN0cmluZyogdmFsdWUpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3RvcmVTZXR0
aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKKyAgICB2aXJ0dWFs
IHZvaWQgcG9wdWxhdGVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBTdHJpbmcqIHZhbHVlKTsK
KyAgICB2aXJ0dWFsIHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBT
dHJpbmcmIHZhbHVlKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yV2luZG93T2Jq
ZWN0Q2xlYXJlZCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JXaW5kb3dPYmplY3RDbGVh
cmVkKCk7CiAKLSAgICBwcml2YXRlOgotICAgICAgICB2b2lkIHVwZGF0ZVdpbmRvd1RpdGxlKCk7
Ci0gICAgICAgIFFXZWJQYWdlKiBtX2luc3BlY3RlZFdlYlBhZ2U7Ci0gICAgICAgIE93blB0cjxR
V2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OwotICAgICAgICBRU3RyaW5nIG1faW5zcGVjdGVkVVJM
OwotICAgIH07CisgICAgdm9pZCBzZXRJbnNwZWN0b3JGcm9udGVuZFVybChjb25zdCBTdHJpbmcm
IHVybCk7CisgICAgc3RhdGljIHZvaWQgc2V0RGVmYXVsdEluc3BlY3RvckZyb250ZW5kVXJsKGNv
bnN0IFN0cmluZyYgdXJsKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHVwZGF0ZVdpbmRvd1RpdGxl
KCk7CisgICAgUVdlYlBhZ2UqIG1faW5zcGVjdGVkV2ViUGFnZTsKKyAgICBPd25QdHI8UVdlYlZp
ZXc+IG1faW5zcGVjdG9yVmlldzsKKyAgICBRU3RyaW5nIG1faW5zcGVjdGVkVVJMOworICAgIFFT
dHJpbmcgbV9pbnNwZWN0b3JGcm9udGVuZFVybDsKK307CiB9CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="32318"
          type_id="1"
          status="-"
          setter="laszlo.gombos"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49528</attachid>
            <date>2010-02-25 13:10:15 -0800</date>
            <delta_ts>2010-02-26 01:56:12 -0800</delta_ts>
            <desc>revised to use QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl() instead of a change to the QWebInspector API.</desc>
            <filename>inspector-url-setting.patch</filename>
            <type>text/plain</type>
            <size>8585</size>
            <attacher name="Jamey Hicks">jamey.hicks</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcCBiL1dlYktpdC9xdC9B
cGkvcXdlYnNldHRpbmdzLmNwcAppbmRleCBkNjBmMDljLi43ZmU3NzliIDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0
dGluZ3MuY3BwCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICBRU3RyaW5nIGxvY2FsU3Rv
cmFnZVBhdGg7CiAgICAgUVN0cmluZyBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZVBhdGg7CiAg
ICAgcWludDY0IG9mZmxpbmVTdG9yYWdlRGVmYXVsdFF1b3RhOworICAgIFFVcmwgaW5zcGVjdG9y
TG9jYXRpb247CiAKICAgICB2b2lkIGFwcGx5KCk7CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIHNl
dHRpbmdzOwpAQCAtOTU0LDYgKzk1NSwzMSBAQCBRU3RyaW5nIFFXZWJTZXR0aW5nczo6bG9jYWxT
dG9yYWdlUGF0aCgpIGNvbnN0CiB9CiAKIC8qIQorICAgIFxzaW5jZSA0LjcKKworICAgIFNwZWNp
ZmllcyB0aGUgbG9jYXRpb24gb2YgYSBmcm9udGVuZCB0byBsb2FkIHdpdGggZWFjaCB3ZWIgcGFn
ZSB3aGVuIHVzaW5nIFdlYiBJbnNwZWN0b3IuCisKKyAgICBcc2EgaW5zcGVjdG9yVXJsKCkKKyov
Cit2b2lkIFFXZWJTZXR0aW5nczo6c2V0SW5zcGVjdG9yVXJsKGNvbnN0IFFVcmwmIGxvY2F0aW9u
KQoreworICAgIGQtPmluc3BlY3RvckxvY2F0aW9uID0gbG9jYXRpb247CisgICAgZC0+YXBwbHko
KTsKK30KKworLyohCisgICAgXHNpbmNlIDQuNworCisgICAgUmV0dXJucyB0aGUgbG9jYXRpb24g
b2YgdGhlIFdlYiBJbnNwZWN0b3IgZnJvbnRlbmQuCisKKyAgICBcc2Egc2V0SW5zcGVjdG9yVXJs
KCkKKyovCitRVXJsIFFXZWJTZXR0aW5nczo6aW5zcGVjdG9yVXJsKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZC0+aW5zcGVjdG9yTG9jYXRpb247Cit9CisKKy8qIQogICAgIFxzaW5jZSA0LjYKICAg
ICBccmVsYXRlcyBRV2ViU2V0dGluZ3MKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKaW5kZXggYjFmNWNmMi4u
ZGFiMWZjYSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAorKysgYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCkBAIC0xMzMsNiArMTMzLDkgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0TG9jYWxTdG9yYWdlUGF0aChjb25zdCBRU3RyaW5nJiBwYXRoKTsKICAgICBR
U3RyaW5nIGxvY2FsU3RvcmFnZVBhdGgoKSBjb25zdDsgCiAKKyAgICB2b2lkIHNldEluc3BlY3Rv
clVybChjb25zdCBRVXJsICZsb2NhdGlvbik7CisgICAgUVVybCBpbnNwZWN0b3JVcmwoKSBjb25z
dDsKKwogICAgIHN0YXRpYyB2b2lkIGNsZWFyTWVtb3J5Q2FjaGVzKCk7CiAKICAgICBzdGF0aWMg
dm9pZCBlbmFibGVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBRU3RyaW5nJiBwYXRoID0gUVN0cmlu
ZygpKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdl
TG9nCmluZGV4IGMwOWM4NzkuLmQ5YTY5MWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEwLTAyLTI1
ICBKYW1leSBIaWNrcyAgPGphbWV5LmhpY2tzQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIGFkZGVkIFFXZWJTZXR0aW5nczo6
c2V0SW5zcGVjdG9yVXJsKCkgYW5kIFFXZWJTZXR0aW5nczo6aW5zcGVjdG9yVXJsKCkKKworICAg
ICAgICBFbmFibGVzIHRoZSB1c2Ugb2YgYWx0ZXJuYXRlIFdlYiBJbnNwZWN0b3IgZnJvbnRlbmRz
IGJ5IGNoYW5naW5nCisgICAgICAgIHRoZSBsb2NhdGlvbiBvZiB0aGUgZnJvbnRlbmQuCisKKyAg
ICAgICAgVGhpcyBpcyByZXF1aXJlZCBzbyB0aGF0IHRoZSBXZWIgSW5zcGVjdG9yIG1heSBiZSBy
dW4gZnJvbSBhbgorICAgICAgICBleHRlcm5hbCBwcm9jZXNzIG9yIGFuIGV4dGVybmFsIHRvb2wg
c3VjaCBhcyBFY2xpcHNlIG9yIEFwdGFuYSBtYXkKKyAgICAgICAgYmUgdXNlZCBpbnN0ZWFkIG9m
IHRoZSBpbi1wcm9jZXNzIFdlYiBJbnNwZWN0b3IgVUkuCisgICAgICAgIAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzUzNDAKKworICAgICAgICAqIEFw
aS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoUVdlYlNldHRpbmdzOjpRV2ViU2V0dGluZ3Mp
OgorICAgICAgICAoUVdlYlNldHRpbmdzOjpzZXRJbnNwZWN0b3JVcmwpOgorICAgICAgICAoUVdl
YlNldHRpbmdzOjppbnNwZWN0b3JVcmwpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRRdDo6Y3JlYXRlUGFnZSk6CisKIDIwMTAtMDItMTkg
IEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxqZXN1cy5wYWxlbmNpYUBvcGVuYm9zc2Eub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcCBiL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKaW5kZXggNWYzNDNm
Zi4uY2RlNjRjOCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3Rv
ckNsaWVudFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xp
ZW50UXQuY3BwCkBAIC05MSw3ICs5MSwxMCBAQCBQYWdlKiBJbnNwZWN0b3JDbGllbnRRdDo6Y3Jl
YXRlUGFnZSgpCiAgICAgICAgIG1faW5zcGVjdG9yVmlldy5zZXQoaW5zcGVjdG9yVmlldyk7CiAg
ICAgfQogCi0gICAgaW5zcGVjdG9yVmlldy0+cGFnZSgpLT5tYWluRnJhbWUoKS0+bG9hZChRU3Ry
aW5nOjpmcm9tTGF0aW4xKCJxcmM6L3dlYmtpdC9pbnNwZWN0b3IvaW5zcGVjdG9yLmh0bWwiKSk7
CisgICAgUVVybCBpbnNwZWN0b3JVcmwgPSBtX2luc3BlY3RlZFdlYlBhZ2UtPnNldHRpbmdzKCkt
Pmluc3BlY3RvclVybCgpOworICAgIGlmICghaW5zcGVjdG9yVXJsLmlzVmFsaWQoKSkKKyAgICAg
ICAgaW5zcGVjdG9yVXJsID0gUVVybCgicXJjOi93ZWJraXQvaW5zcGVjdG9yL2luc3BlY3Rvci5o
dG1sIik7CisgICAgaW5zcGVjdG9yVmlldy0+cGFnZSgpLT5tYWluRnJhbWUoKS0+bG9hZChpbnNw
ZWN0b3JVcmwpOwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+aW5zcGVjdG9yRnJvbnRlbmQg
PSBpbnNwZWN0b3JWaWV3OwogICAgIG1faW5zcGVjdGVkV2ViUGFnZS0+ZC0+Z2V0T3JDcmVhdGVJ
bnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoaW5zcGVjdG9yVmlldyk7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oIGIvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKaW5kZXggOTIzYmFiNC4uYzk1NDhi
MCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0
LmgKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKQEAg
LTM4LDQ1ICszOCw0NSBAQCBjbGFzcyBRV2ViUGFnZTsKIGNsYXNzIFFXZWJWaWV3OwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci0gICAgY2xhc3MgTm9kZTsKLSAgICBjbGFzcyBQYWdlOwotICAgIGNs
YXNzIFN0cmluZzsKK2NsYXNzIE5vZGU7CitjbGFzcyBQYWdlOworY2xhc3MgU3RyaW5nOwogCi0g
ICAgY2xhc3MgSW5zcGVjdG9yQ2xpZW50UXQgOiBwdWJsaWMgSW5zcGVjdG9yQ2xpZW50IHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIEluc3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKik7CitjbGFzcyBJ
bnNwZWN0b3JDbGllbnRRdCA6IHB1YmxpYyBJbnNwZWN0b3JDbGllbnQgeworcHVibGljOgorICAg
IEluc3BlY3RvckNsaWVudFF0KFFXZWJQYWdlKik7CiAKLSAgICAgICAgdmlydHVhbCB2b2lkIGlu
c3BlY3RvckRlc3Ryb3llZCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQo
KTsKIAotICAgICAgICB2aXJ0dWFsIFBhZ2UqIGNyZWF0ZVBhZ2UoKTsKKyAgICB2aXJ0dWFsIFBh
Z2UqIGNyZWF0ZVBhZ2UoKTsKIAotICAgICAgICB2aXJ0dWFsIFN0cmluZyBsb2NhbGl6ZWRTdHJp
bmdzVVJMKCk7CisgICAgdmlydHVhbCBTdHJpbmcgbG9jYWxpemVkU3RyaW5nc1VSTCgpOwogCi0g
ICAgICAgIHZpcnR1YWwgU3RyaW5nIGhpZGRlblBhbmVscygpOworICAgIHZpcnR1YWwgU3RyaW5n
IGhpZGRlblBhbmVscygpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzaG93V2luZG93KCk7Ci0g
ICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOworICAgIHZpcnR1YWwgdm9pZCBzaG93
V2luZG93KCk7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCk7CiAKLSAgICAgICAgdmly
dHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2lu
ZG93KCk7CisgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdpbmRvdygpOworICAgIHZpcnR1YWwgdm9p
ZCBkZXRhY2hXaW5kb3coKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5k
b3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRX
aW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaGln
aGxpZ2h0KE5vZGUqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKTsKLSAg
ICAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiBuZXdV
UkwpOworICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoTm9kZSopOworICAgIHZpcnR1YWwgdm9p
ZCBoaWRlSGlnaGxpZ2h0KCk7CisgICAgdmlydHVhbCB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQo
Y29uc3QgU3RyaW5nJiBuZXdVUkwpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwb3B1bGF0ZVNl
dHRpbmcoY29uc3QgU3RyaW5nJiBrZXksIFN0cmluZyogdmFsdWUpOwotICAgICAgICB2aXJ0dWFs
IHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVl
KTsKKyAgICB2aXJ0dWFsIHZvaWQgcG9wdWxhdGVTZXR0aW5nKGNvbnN0IFN0cmluZyYga2V5LCBT
dHJpbmcqIHZhbHVlKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcmVTZXR0aW5nKGNvbnN0IFN0cmlu
ZyYga2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgaW5z
cGVjdG9yV2luZG93T2JqZWN0Q2xlYXJlZCgpOworICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JX
aW5kb3dPYmplY3RDbGVhcmVkKCk7CiAKLSAgICBwcml2YXRlOgotICAgICAgICB2b2lkIHVwZGF0
ZVdpbmRvd1RpdGxlKCk7Ci0gICAgICAgIFFXZWJQYWdlKiBtX2luc3BlY3RlZFdlYlBhZ2U7Ci0g
ICAgICAgIE93blB0cjxRV2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OwotICAgICAgICBRU3RyaW5n
IG1faW5zcGVjdGVkVVJMOwotICAgIH07Citwcml2YXRlOgorICAgIHZvaWQgdXBkYXRlV2luZG93
VGl0bGUoKTsKKyAgICBRV2ViUGFnZSogbV9pbnNwZWN0ZWRXZWJQYWdlOworICAgIE93blB0cjxR
V2ViVmlldz4gbV9pbnNwZWN0b3JWaWV3OworICAgIFFTdHJpbmcgbV9pbnNwZWN0ZWRVUkw7Cit9
OwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktp
dFRvb2xzL0NoYW5nZUxvZwppbmRleCAxYWQ4NzJjLi5iNjYxMzE4IDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjQgQEAKKzIwMTAtMDItMjUgIEphbWV5IEhpY2tzICA8amFtZXkuaGlja3NAbm9raWEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gYWRk
ZWQgUVdlYlNldHRpbmdzOjpzZXRJbnNwZWN0b3JVcmwoKSBhbmQgUVdlYlNldHRpbmdzOjppbnNw
ZWN0b3JVcmwoKQorCisgICAgICAgIEVuYWJsZXMgdGhlIHVzZSBvZiBhbHRlcm5hdGUgV2ViIElu
c3BlY3RvciBmcm9udGVuZHMgYnkgY2hhbmdpbmcKKyAgICAgICAgdGhlIGxvY2F0aW9uIG9mIHRo
ZSBmcm9udGVuZC4gVGhlIGxvY2F0aW9uIGlzIHNwZWNpZmllZCBieSBwcm92aWRpbmcgCisgICAg
ICAgICAgICAtaW5zcGVjdG9yLXVybCB1cmwKKyAgICAgICAgYXMgYW4gYXJndW1lbnQgdG8gUXRM
YXVuY2hlci4KKworICAgICAgICBUaGlzIGlzIHJlcXVpcmVkIHNvIHRoYXQgdGhlIFdlYiBJbnNw
ZWN0b3IgbWF5IGJlIHJ1biBmcm9tIGFuCisgICAgICAgIGV4dGVybmFsIHByb2Nlc3Mgb3IgYW4g
ZXh0ZXJuYWwgdG9vbCBzdWNoIGFzIEVjbGlwc2Ugb3IgQXB0YW5hIG1heQorICAgICAgICBiZSB1
c2VkIGluc3RlYWQgb2YgdGhlIGluLXByb2Nlc3MgV2ViIEluc3BlY3RvciBVSS4KKyAgICAgICAg
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTM0MAor
CisgICAgICAgICogUXRMYXVuY2hlci9tYWluLmNwcDoKKyAgICAgICAgKExhdW5jaGVyV2luZG93
Ojppbml0KToKKyAgICAgICAgKExhdW5jaGVyQXBwbGljYXRpb246OmhhbmRsZVVzZXJPcHRpb25z
KToKKwogMjAxMC0wMi0yNSAgQmVuIE11cmRvY2ggIDxiZW5tQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9RdExhdW5jaGVyL21haW4uY3BwIGIvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9t
YWluLmNwcAppbmRleCBiMjk3MTBkLi4yZDc0YzhmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9R
dExhdW5jaGVyL21haW4uY3BwCisrKyBiL1dlYktpdFRvb2xzL1F0TGF1bmNoZXIvbWFpbi5jcHAK
QEAgLTc2LDcgKzc2LDcgQEAgc3RhdGljIGJvb2wgZ1VzZUNvbXBvc2l0aW5nID0gZmFsc2U7CiBz
dGF0aWMgYm9vbCBnQ2FjaGVXZWJWaWV3ID0gZmFsc2U7CiBzdGF0aWMgYm9vbCBnU2hvd0ZyYW1l
UmF0ZSA9IGZhbHNlOwogc3RhdGljIFFHcmFwaGljc1ZpZXc6OlZpZXdwb3J0VXBkYXRlTW9kZSBn
Vmlld3BvcnRVcGRhdGVNb2RlID0gUUdyYXBoaWNzVmlldzo6TWluaW1hbFZpZXdwb3J0VXBkYXRl
OwotCitzdGF0aWMgUVVybCBnSW5zcGVjdG9yVXJsOwogCiBjbGFzcyBMYXVuY2hlcldpbmRvdyA6
IHB1YmxpYyBNYWluV2luZG93IHsKICAgICBRX09CSkVDVApAQCAtMTg5LDYgKzE4OSw5IEBAIHZv
aWQgTGF1bmNoZXJXaW5kb3c6OmluaXQoYm9vbCB1c2VHcmFwaGljc1ZpZXcpCiAgICAgY29ubmVj
dChwYWdlKCksIFNJR05BTChsaW5rSG92ZXJlZChjb25zdCBRU3RyaW5nJiwgY29uc3QgUVN0cmlu
ZyYsIGNvbnN0IFFTdHJpbmcmKSksCiAgICAgICAgICAgICB0aGlzLCBTTE9UKHNob3dMaW5rSG92
ZXIoY29uc3QgUVN0cmluZyYsIGNvbnN0IFFTdHJpbmcmKSkpOwogCisgICAgaWYgKCFnSW5zcGVj
dG9yVXJsLmlzRW1wdHkoKSkKKyAgICAgIHBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0SW5zcGVjdG9y
VXJsKGdJbnNwZWN0b3JVcmwpOworCiAgICAgaW5zcGVjdG9yID0gbmV3IFdlYkluc3BlY3Rvcihz
cGxpdHRlcik7CiAgICAgaW5zcGVjdG9yLT5zZXRQYWdlKHBhZ2UoKSk7CiAgICAgaW5zcGVjdG9y
LT5oaWRlKCk7CkBAIC03MTAsNiArNzEzLDcgQEAgdm9pZCBMYXVuY2hlckFwcGxpY2F0aW9uOjpo
YW5kbGVVc2VyT3B0aW9ucygpCiAgICAgICAgICAgICAgPDwgIlstY2FjaGUtd2Vidmlld10iCiAg
ICAgICAgICAgICAgPDwgIlstc2hvdy1mcHNdIgogICAgICAgICAgICAgIDw8ICJbLXIgbGlzdF0i
CisgICAgICAgICAgICAgPDwgIlstaW5zcGVjdG9yLXVybCBsb2NhdGlvbl0iCiAgICAgICAgICAg
ICAgPDwgIlVSTHMiOwogICAgICAgICBhcHBRdWl0KDApOwogICAgIH0KQEAgLTc0Nyw2ICs3NTEs
MTEgQEAgdm9pZCBMYXVuY2hlckFwcGxpY2F0aW9uOjpoYW5kbGVVc2VyT3B0aW9ucygpCiAgICAg
ICAgIGdWaWV3cG9ydFVwZGF0ZU1vZGUgPSBzdGF0aWNfY2FzdDxRR3JhcGhpY3NWaWV3OjpWaWV3
cG9ydFVwZGF0ZU1vZGU+KGlkeCk7CiAgICAgfQogCisgICAgUVN0cmluZyBpbnNwZWN0b3JVcmxB
cmcoIi1pbnNwZWN0b3ItdXJsIik7CisgICAgaW50IGluc3BlY3RvclVybEluZGV4ID0gYXJncy5p
bmRleE9mKGluc3BlY3RvclVybEFyZyk7CisgICAgaWYgKGluc3BlY3RvclVybEluZGV4ICE9IC0x
KQorICAgICAgIGdJbnNwZWN0b3JVcmwgPSB0YWtlT3B0aW9uVmFsdWUoJmFyZ3MsIGluc3BlY3Rv
clVybEluZGV4KTsKKwogICAgIGludCByb2JvdEluZGV4ID0gYXJncy5pbmRleE9mKCItciIpOwog
ICAgIGlmIChyb2JvdEluZGV4ICE9IC0xKSB7CiAgICAgICAgIFFTdHJpbmcgbGlzdEZpbGUgPSB0
YWtlT3B0aW9uVmFsdWUoJmFyZ3MsIHJvYm90SW5kZXgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>50213</attachid>
            <date>2010-03-08 05:12:56 -0800</date>
            <delta_ts>2010-03-08 05:12:56 -0800</delta_ts>
            <desc>diagram of remote Web Inspector use case</desc>
            <filename>Web_Inspector_remote_via_javascript.png</filename>
            <type>image/png</type>
            <size>33110</size>
            <attacher name="Jamey Hicks">jamey.hicks</attacher>
            
              <data encoding="base64">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
O+7bopInm2aikse5iUqikqgkKlGFeFtI/Nf7SXmyJSohKolKN0Wl8PHjx8ErNKfxot2ikiebZqKS
x7mJSqKSqCQqUZsIShGW2n4hb1GJKr73vewfFGJv374VlSYoKoX4Hjep15QTlUQlM1HJ49xEJVFJ
VBKVeDLjC3lHXIq3xolKtzg7TMv9j/nvB/8q6G9+ljrb2+mwm/tX2Upz164ntLC0mvZPzh7+mRxs
pGcLG6lb09+0W+PHv/4vzghLotJkRaW4jlx8j5vkn4IpKnmyaVZUVKp6HucmKolKopKoRNniSVe8
RSQu5t22n5bUSFT6Vye96H/MD53Tcv7ivU7/7zmXOpktaBBo+r9v49Ne2t/fS3u72+ndYnzNVtPJ
Q6NPZ73/+9dri0q9w43aPr6oNPlRKbx58ya9fv1aVBKVPNk0qzMq9c+RopKJSqISohJTLN4iEveD
Nl3Iu5lXKl1EpbPD7bS4tJo21pYGf87cwnLaPhjHps9p693S6HOYSyvru+ch5Oyo//v6/+zqyuLw
9y2+S3vHF0Xoc2crLc2NXjm0vJYOLvWr492NtHj+a+v9X+umreW50Z+znDr9P+R4b/PSPxO/vzf8
c+PzXVhKK0sL/V9bSP/xn//W/9/FdPhFtJlL+4NPtpc6W6tpYfR1nOv/3q3O5zs+lwhVl6LSaSe9
W5hLS+t7qXfH3+vur2NKB9tro89hIS0vzXmlkqj0qKg0vmj3pP30S1FJVDIrKirdtNnZq39GzkQl
E5VEJUQl2md8Ie945VIbnoA1HZWGr/Tp/xlLG6lzsJ/W4lU+o+Bx8mml/2tLae/oJB3urg/+ubXR
q5vGv29ueTMdHh+mjaWLVwf1jrcHv7a8sdv/+neGH3NuLX0exaj4taX1T+noaC+tDP7s7fS/+5vD
VxztHqS//2Xz/PcfHe2n1YWLj33++S6vpvW1zfS3/x7+/9c2t9P29nba2lxPi/F5re6lYRNaG/76
953+53KQNpbjc1lPp3d8Lv+IqDS3mbq94/Qu/m8L61/9e931dex2hr/2bmsvHXa2B5+fqCQqPSYq
jaN5vBpTVBKVPNk0E5XMRCVRSVQSlahZXGMp/st+vGWk5FctPU1UGr+qJ64ndPEqnYONxcErazZ3
D9Jpt5tOjo/T6AVDo9+3cPF2te7e4NpG28dno9+3kg67Z6nb3+nh1uDv8P1xL3XWFwZR5+IVT7tp
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
Xr0SlUQlUckTcUQlaHdUKvHrJCpN5/dCUclMVJq4zc5e/RqY3TZRCVHJE3E8kQJRSVTyvVBUEpXM
RCVRyUQlUUlUEpXAfRlRSVQSlUQlUclMVDJ7ksePqISo5Ik4nkjh/iIqiUq+F4pKopKJSqKSmagk
KolKnoiD+zKikqiEqCQqmYlKZqKSqCQqiUrgvoyoJCqJSqKSqGQmKpmJSqKSc52oBKISopKoJCqJ
SqKSmahkJiqJSohKICohKolKopKoJCqZiUpmopKohKjkiTieSCGWiEqiku+FopKZqGRmopKoJCp5
Io4nUiAqiUq+F4pKopKZqGQmKolKopKoBO7LiEqikqgkKolKZqKSmagkKolKohKISohKopKoJCqJ
SmaikpmoJCohKoGohKgkKolKopKoZCYqmYlKohKiEngihaiEqOR7oahkJiqZmaiEqOSJOJ5Igagk
KvleKCqJSmaikpmoJCqJSqISuC8jKolKopKoJCqZiUpmopKoJCqJSiAqISqJSqKSqCQqmYlKZqKS
qISoBKISopKoJCqJSqKSmahkJiqJSohKICohKvk6iUq+F4pKZqKSmYlKiEqeiOOJFIhKopLvhaKS
qGSeFItKZqKSqCQqeSIO7suISqISopKoZCYqmYlKopKoJCqB+zKikqgkKolKopKZqGQmKolKiEog
KiEqiUqikqjUkqhkNm0TlcxEJVFJVPJEHNyXEZVEJUSlR2x+Xlyw6du334pKZqKSqCQqeSIO7suI
SqISolLlm529+oTbbNInKpmJSqKSqOSJOB5w7suISqISopKoZCYqmYlKopKoJCqB+zKikqgkKolK
nsSYmZmoJCqJSqISiEqISqKSqCQqiUpmZiYqiUqISlDsEymznIlKopKoJCqZmZmJSqKSqCQqMeXm
/QQfy9jMzEx69eqVqCQqiUqikpmZmagkKolKohJ8aXZ29so3RrPbJiqJSqKSqGRmZiYqiUqikqgE
opKJSqKSqCQqmZmZiUqikqgkKgEgKolKopKZmZmoJCqJSqISAKKSqCQqiUpmZiYqiUqISgCISqKS
qCQqmZmZqCQqISoBgKgkKolKZmZmohKikqgEgKgkKolKZmZmopKoJCqJSgCISqKSqGRmZiYqiUqi
kqgEgKgkKolKopKZmYlKohKiEgCikqgkKolKZmYmKolKiEoA+BeZqCQqiUpmZmaiEqKSqASAqCQq
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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55124</attachid>
            <date>2010-05-05 08:07:10 -0700</date>
            <delta_ts>2010-05-06 06:01:09 -0700</delta_ts>
            <desc>Patch to replace public API with private dynamic property</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8176</size>
            <attacher name="Simon Hausmann">hausmann</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcCBiL1dlYktpdC9xdC9B
cGkvcXdlYnNldHRpbmdzLmNwcAppbmRleCA1ZDMzZWZkLi45OWZkODEyIDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vic2V0
dGluZ3MuY3BwCkBAIC03Miw3ICs3Miw2IEBAIHB1YmxpYzoKICAgICBRU3RyaW5nIGxvY2FsU3Rv
cmFnZVBhdGg7CiAgICAgUVN0cmluZyBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZVBhdGg7CiAg
ICAgcWludDY0IG9mZmxpbmVTdG9yYWdlRGVmYXVsdFF1b3RhOwotICAgIFFVcmwgaW5zcGVjdG9y
TG9jYXRpb247CiAKICAgICB2b2lkIGFwcGx5KCk7CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIHNl
dHRpbmdzOwpAQCAtMTAwNCwzMSArMTAwMyw2IEBAIHZvaWQgUVdlYlNldHRpbmdzOjpzZXRMb2Nh
bFN0b3JhZ2VQYXRoKGNvbnN0IFFTdHJpbmcmIHBhdGgpCiB9CiAKIC8qIQotICAgIFxzaW5jZSA0
LjcKLQotICAgIFNwZWNpZmllcyB0aGUgXGEgbG9jYXRpb24gb2YgYSBmcm9udGVuZCB0byBsb2Fk
IHdpdGggZWFjaCB3ZWIgcGFnZSB3aGVuIHVzaW5nIFdlYiBJbnNwZWN0b3IuCi0KLSAgICBcc2Eg
aW5zcGVjdG9yVXJsKCkKLSovCi12b2lkIFFXZWJTZXR0aW5nczo6c2V0SW5zcGVjdG9yVXJsKGNv
bnN0IFFVcmwmIGxvY2F0aW9uKQotewotICAgIGQtPmluc3BlY3RvckxvY2F0aW9uID0gbG9jYXRp
b247Ci0gICAgZC0+YXBwbHkoKTsKLX0KLQotLyohCi0gICAgXHNpbmNlIDQuNwotCi0gICAgUmV0
dXJucyB0aGUgbG9jYXRpb24gb2YgdGhlIFdlYiBJbnNwZWN0b3IgZnJvbnRlbmQuCi0KLSAgICBc
c2Egc2V0SW5zcGVjdG9yVXJsKCkKLSovCi1RVXJsIFFXZWJTZXR0aW5nczo6aW5zcGVjdG9yVXJs
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZC0+aW5zcGVjdG9yTG9jYXRpb247Ci19Ci0KLS8qIQog
ICAgIFxzaW5jZSA0LjYKICAgICBccmVsYXRlcyBRV2ViU2V0dGluZ3MKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdz
LmgKaW5kZXggOTk1MjdlZC4uNzM1NWUzMyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vi
c2V0dGluZ3MuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCkBAIC0xMzgsOSAr
MTM4LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TG9jYWxTdG9yYWdlUGF0aChjb25zdCBRU3Ry
aW5nJiBwYXRoKTsKICAgICBRU3RyaW5nIGxvY2FsU3RvcmFnZVBhdGgoKSBjb25zdDsgCiAKLSAg
ICB2b2lkIHNldEluc3BlY3RvclVybChjb25zdCBRVXJsICZsb2NhdGlvbik7Ci0gICAgUVVybCBp
bnNwZWN0b3JVcmwoKSBjb25zdDsKLQogICAgIHN0YXRpYyB2b2lkIGNsZWFyTWVtb3J5Q2FjaGVz
KCk7CiAKICAgICBzdGF0aWMgdm9pZCBlbmFibGVQZXJzaXN0ZW50U3RvcmFnZShjb25zdCBRU3Ry
aW5nJiBwYXRoID0gUVN0cmluZygpKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VMb2cg
Yi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDVlYWRjZjIuLjlmNWRlMDIgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDEwLTA1LTA1ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lh
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
UXRdIFJlcGxhY2UgcHVibGljIGluc3BlY3RvciB1cmwgd2l0aCBwcml2YXRlIHByb3BlcnR5IGZv
ciBRdExhdW5jaGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNTM0MAorCisgICAgICAgIFJlcGxhY2UgdGhlIHB1YmxpYyBBUEkgd2l0aCBhIHByaXZh
dGUgZHluYW1pYyBwcm9wZXJ0eSB1bnRpbCB0aGlzIGZlYXR1cmUKKyAgICAgICAgaXMgcmVhZHku
CisKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKiBBcGkvcXdlYnNl
dHRpbmdzLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6Om9wZW5JbnNwZWN0b3JGcm9u
dGVuZCk6CisgICAgICAgICogc3ltYmlhbi9id2lucy9RdFdlYktpdHUuZGVmOgorICAgICAgICAq
IHN5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmOgorCiAyMDEwLTA1LTA0ICBMYXN6bG8gR29tYm9z
ICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5z
cGVjdG9yQ2xpZW50UXQuY3BwCmluZGV4IDdmYWJiZGEuLmEzZGQ5ZGQgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcApAQCAtODgsMTIgKzg4LDEz
IEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyKikKICAgICBJbnNwZWN0b3JDbGllbnRXZWJQYWdlKiBpbnNw
ZWN0b3JQYWdlID0gbmV3IEluc3BlY3RvckNsaWVudFdlYlBhZ2UoaW5zcGVjdG9yVmlldyk7CiAg
ICAgaW5zcGVjdG9yVmlldy0+c2V0UGFnZShpbnNwZWN0b3JQYWdlKTsKIAotICAgIFFVcmwgaW5z
cGVjdG9yVXJsID0gbV9pbnNwZWN0ZWRXZWJQYWdlLT5zZXR0aW5ncygpLT5pbnNwZWN0b3JVcmwo
KTsKKyAgICBRV2ViSW5zcGVjdG9yKiBpbnNwZWN0b3IgPSBtX2luc3BlY3RlZFdlYlBhZ2UtPmQt
PmdldE9yQ3JlYXRlSW5zcGVjdG9yKCk7CisgICAgUVVybCBpbnNwZWN0b3JVcmwgPSBpbnNwZWN0
b3ItPnByb3BlcnR5KCJfcV9pbnNwZWN0b3JVcmwiKS50b1VybCgpOwogICAgIGlmICghaW5zcGVj
dG9yVXJsLmlzVmFsaWQoKSkKICAgICAgICAgaW5zcGVjdG9yVXJsID0gUVVybCgicXJjOi93ZWJr
aXQvaW5zcGVjdG9yL2luc3BlY3Rvci5odG1sIik7CiAgICAgaW5zcGVjdG9yVmlldy0+cGFnZSgp
LT5tYWluRnJhbWUoKS0+bG9hZChpbnNwZWN0b3JVcmwpOwogICAgIG1faW5zcGVjdGVkV2ViUGFn
ZS0+ZC0+aW5zcGVjdG9yRnJvbnRlbmQgPSBpbnNwZWN0b3JWaWV3OwotICAgIG1faW5zcGVjdGVk
V2ViUGFnZS0+ZC0+Z2V0T3JDcmVhdGVJbnNwZWN0b3IoKS0+ZC0+c2V0RnJvbnRlbmQoaW5zcGVj
dG9yVmlldyk7CisgICAgaW5zcGVjdG9yLT5kLT5zZXRGcm9udGVuZChpbnNwZWN0b3JWaWV3KTsK
IAogICAgIGluc3BlY3RvclZpZXctPnBhZ2UoKS0+ZC0+cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxl
cigpLT5zZXRJbnNwZWN0b3JGcm9udGVuZENsaWVudChuZXcgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRRdChtX2luc3BlY3RlZFdlYlBhZ2UsIGluc3BlY3RvclZpZXcpKTsKIH0KZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC9zeW1iaWFuL2J3aW5zL1F0V2ViS2l0dS5kZWYgYi9XZWJLaXQvcXQvc3ltYmlh
bi9id2lucy9RdFdlYktpdHUuZGVmCmluZGV4IGE0NTBmOWUuLjcyOWI5N2MgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9xdC9zeW1iaWFuL2J3aW5zL1F0V2ViS2l0dS5kZWYKKysrIGIvV2ViS2l0L3F0L3N5
bWJpYW4vYndpbnMvUXRXZWJLaXR1LmRlZgpAQCAtNjI1LDcgKzYyNSw3IEBAIEVYUE9SVFMKIAk/
cXRfc3VzcGVuZEFjdGl2ZURPTU9iamVjdHNAQFlBWFBBVlFXZWJGcmFtZUBAQFogQCA2MjQgTk9O
QU1FIDsgdm9pZCBxdF9zdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyhjbGFzcyBRV2ViRnJhbWUgKikK
IAk/cXR3ZWJraXRfd2ViZnJhbWVfc2Nyb2xsUmVjdXJzaXZlbHlAQFlBX05QQVZRV2ViRnJhbWVA
QEhIQFogQCA2MjUgTk9OQU1FIEFCU0VOVCA7IGJvb2wgcXR3ZWJraXRfd2ViZnJhbWVfc2Nyb2xs
UmVjdXJzaXZlbHkoY2xhc3MgUVdlYkZyYW1lICosIGludCwgaW50KQogCT9jbG9zZUV2ZW50QFFX
ZWJJbnNwZWN0b3JAQE1BRVhQQVZRQ2xvc2VFdmVudEBAQFogQCA2MjYgTk9OQU1FIDsgdm9pZCBR
V2ViSW5zcGVjdG9yOjpjbG9zZUV2ZW50KGNsYXNzIFFDbG9zZUV2ZW50ICopCi0JP2luc3BlY3Rv
clVybEBRV2ViU2V0dGluZ3NAQFFCRT9BVlFVcmxAQFhaIEAgNjI3IE5PTkFNRSA7IGNsYXNzIFFV
cmwgUVdlYlNldHRpbmdzOjppbnNwZWN0b3JVcmwodm9pZCkgY29uc3QKKwk/aW5zcGVjdG9yVXJs
QFFXZWJTZXR0aW5nc0BAUUJFP0FWUVVybEBAWFogQCA2MjcgTk9OQU1FIEFCU0VOVCA7IGNsYXNz
IFFVcmwgUVdlYlNldHRpbmdzOjppbnNwZWN0b3JVcmwodm9pZCkgY29uc3QKIAk/aXNUaWxlZEJh
Y2tpbmdTdG9yZUZyb3plbkBRR3JhcGhpY3NXZWJWaWV3QEBRQkVfTlhaIEAgNjI4IE5PTkFNRSA7
IGJvb2wgUUdyYXBoaWNzV2ViVmlldzo6aXNUaWxlZEJhY2tpbmdTdG9yZUZyb3plbih2b2lkKSBj
b25zdAogCT9wYWdlQ2hhbmdlZEBRV2ViRnJhbWVAQElBRVhYWiBAIDYyOSBOT05BTUUgOyB2b2lk
IFFXZWJGcmFtZTo6cGFnZUNoYW5nZWQodm9pZCkKIAk/cXRfZHJ0X2VuYWJsZUNhcmV0QnJvd3Np
bmdAQFlBWFBBVlFXZWJQYWdlQEBfTkBaIEAgNjMwIE5PTkFNRSA7IHZvaWQgcXRfZHJ0X2VuYWJs
ZUNhcmV0QnJvd3NpbmcoY2xhc3MgUVdlYlBhZ2UgKiwgYm9vbCkKQEAgLTY0Niw3ICs2NDYsNyBA
QCBFWFBPUlRTCiAJP3F0d2Via2l0X3dlYmZyYW1lX3Njcm9sbFJlY3Vyc2l2ZWx5QEBZQVhQQVZR
V2ViRnJhbWVAQEhIQUJWUVBvaW50QEBAWiBAIDY0NSBOT05BTUUgOyB2b2lkIHF0d2Via2l0X3dl
YmZyYW1lX3Njcm9sbFJlY3Vyc2l2ZWx5KGNsYXNzIFFXZWJGcmFtZSAqLCBpbnQsIGludCwgY2xh
c3MgUVBvaW50IGNvbnN0ICYpCiAJP3Jlc2l6ZXNUb0NvbnRlbnRzQFFHcmFwaGljc1dlYlZpZXdA
QFFCRV9OWFogQCA2NDYgTk9OQU1FIDsgYm9vbCBRR3JhcGhpY3NXZWJWaWV3OjpyZXNpemVzVG9D
b250ZW50cyh2b2lkKSBjb25zdAogCT9zY3JvbGxUb0FuY2hvckBRV2ViRnJhbWVAQFFBRVhBQlZR
U3RyaW5nQEBAWiBAIDY0NyBOT05BTUUgOyB2b2lkIFFXZWJGcmFtZTo6c2Nyb2xsVG9BbmNob3Io
Y2xhc3MgUVN0cmluZyBjb25zdCAmKQotCT9zZXRJbnNwZWN0b3JVcmxAUVdlYlNldHRpbmdzQEBR
QUVYQUJWUVVybEBAQFogQCA2NDggTk9OQU1FIDsgdm9pZCBRV2ViU2V0dGluZ3M6OnNldEluc3Bl
Y3RvclVybChjbGFzcyBRVXJsIGNvbnN0ICYpCisJP3NldEluc3BlY3RvclVybEBRV2ViU2V0dGlu
Z3NAQFFBRVhBQlZRVXJsQEBAWiBAIDY0OCBOT05BTUUgQUJTRU5UIDsgdm9pZCBRV2ViU2V0dGlu
Z3M6OnNldEluc3BlY3RvclVybChjbGFzcyBRVXJsIGNvbnN0ICYpCiAJP3NldFJlc2l6ZXNUb0Nv
bnRlbnRzQFFHcmFwaGljc1dlYlZpZXdAQFFBRVhfTkBaIEAgNjQ5IE5PTkFNRSA7IHZvaWQgUUdy
YXBoaWNzV2ViVmlldzo6c2V0UmVzaXplc1RvQ29udGVudHMoYm9vbCkKIAk/c2V0VGlsZWRCYWNr
aW5nU3RvcmVGcm96ZW5AUUdyYXBoaWNzV2ViVmlld0BAUUFFWF9OQFogQCA2NTAgTk9OQU1FIDsg
dm9pZCBRR3JhcGhpY3NXZWJWaWV3OjpzZXRUaWxlZEJhY2tpbmdTdG9yZUZyb3plbihib29sKQog
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvc3ltYmlhbi9lYWJpL1F0V2ViS2l0dS5kZWYgYi9XZWJL
aXQvcXQvc3ltYmlhbi9lYWJpL1F0V2ViS2l0dS5kZWYKaW5kZXggMTQ1ZmUwYi4uZWRiMTM5ZSAx
MDA2NDQKLS0tIGEvV2ViS2l0L3F0L3N5bWJpYW4vZWFiaS9RdFdlYktpdHUuZGVmCisrKyBiL1dl
YktpdC9xdC9zeW1iaWFuL2VhYmkvUXRXZWJLaXR1LmRlZgpAQCAtNzEyLDExICs3MTIsMTEgQEAg
RVhQT1JUUwogCV9aNDdxdF9kcnRfc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNj
aGVtZWJSSzdRU3RyaW5nIEAgNzExIE5PTkFNRQogCV9aTjlRV2ViRnJhbWUxMXBhZ2VDaGFuZ2Vk
RXYgQCA3MTIgTk9OQU1FCiAJX1pOOVFXZWJGcmFtZTE0c2Nyb2xsVG9BbmNob3JFUks3UVN0cmlu
ZyBAIDcxMyBOT05BTUUKLQlfWk4xMlFXZWJTZXR0aW5nczE1c2V0SW5zcGVjdG9yVXJsRVJLNFFV
cmwgQCA3MTQgTk9OQU1FCisJX1pOMTJRV2ViU2V0dGluZ3MxNXNldEluc3BlY3RvclVybEVSSzRR
VXJsIEAgNzE0IE5PTkFNRSBBQlNFTlQKIAlfWk4xM1FXZWJJbnNwZWN0b3IxMGNsb3NlRXZlbnRF
UDExUUNsb3NlRXZlbnQgQCA3MTUgTk9OQU1FCiAJX1pOMTZRR3JhcGhpY3NXZWJWaWV3MjZzZXRU
aWxlZEJhY2tpbmdTdG9yZUZyb3plbkViIEAgNzE2IE5PTkFNRQogCV9aTksxNlFHcmFwaGljc1dl
YlZpZXcyNWlzVGlsZWRCYWNraW5nU3RvcmVGcm96ZW5FdiBAIDcxNyBOT05BTUUKIAlfWjE4cXRf
d3J0X3NldFZpZXdNb2RlUDhRV2ViUGFnZVJLN1FTdHJpbmcgQCA3MTggTk9OQU1FCiAJX1oxOXF0
X2RydF9zZXRNZWRpYVR5cGVQOVFXZWJGcmFtZVJLN1FTdHJpbmcgQCA3MTkgTk9OQU1FCiAJX1oy
NnF0X2RydF9lbmFibGVDYXJldEJyb3dzaW5nUDhRV2ViUGFnZWIgQCA3MjAgTk9OQU1FCi0JX1pO
SzEyUVdlYlNldHRpbmdzMTJpbnNwZWN0b3JVcmxFdiBAIDcyMSBOT05BTUUKKwlfWk5LMTJRV2Vi
U2V0dGluZ3MxMmluc3BlY3RvclVybEV2IEAgNzIxIE5PTkFNRSBBQlNFTlQKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCAwY2Uy
NTM1Li5lN2MyMmYwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDUtMDUgIFNpbW9uIEhh
dXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gUmVwbGFjZSBwdWJsaWMgaW5zcGVjdG9y
IHVybCB3aXRoIHByaXZhdGUgcHJvcGVydHkgZm9yIFF0TGF1bmNoZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzQwCisKKyAgICAgICAgUmVwbGFj
ZSB0aGUgcHVibGljIEFQSSB3aXRoIGEgcHJpdmF0ZSBkeW5hbWljIHByb3BlcnR5IHVudGlsIHRo
aXMgZmVhdHVyZQorICAgICAgICBpcyByZWFkeS4KKworICAgICAgICAqIFF0TGF1bmNoZXIvbWFp
bi5jcHA6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6aW5pdCk6CisKIDIwMTAtMDUtMDQgIEVy
aWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNoaW5p
Y2hpcm8gSGFtYWppLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9tYWluLmNw
cCBiL1dlYktpdFRvb2xzL1F0TGF1bmNoZXIvbWFpbi5jcHAKaW5kZXggYTAzZDEzNS4uNzQ4OTM2
YiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvUXRMYXVuY2hlci9tYWluLmNwcAorKysgYi9XZWJL
aXRUb29scy9RdExhdW5jaGVyL21haW4uY3BwCkBAIC0yMzcsMTAgKzIzNyw5IEBAIHZvaWQgTGF1
bmNoZXJXaW5kb3c6OmluaXQoYm9vbCB1c2VHcmFwaGljc1ZpZXcpCiAgICAgICAgICAgICB0aGlz
LCBTTE9UKHNob3dMaW5rSG92ZXIoY29uc3QgUVN0cmluZyYsIGNvbnN0IFFTdHJpbmcmKSkpOwog
ICAgIGNvbm5lY3QodGhpcywgU0lHTkFMKGVudGVyZWRGdWxsU2NyZWVuTW9kZShib29sKSksIHRo
aXMsIFNMT1QodG9nZ2xlRnVsbFNjcmVlbk1vZGUoYm9vbCkpKTsKIAotICAgIGlmICghZ0luc3Bl
Y3RvclVybC5pc0VtcHR5KCkpCi0gICAgICBwYWdlKCktPnNldHRpbmdzKCktPnNldEluc3BlY3Rv
clVybChnSW5zcGVjdG9yVXJsKTsKLQogICAgIG1faW5zcGVjdG9yID0gbmV3IFdlYkluc3BlY3Rv
cihzcGxpdHRlcik7CisgICAgaWYgKCFnSW5zcGVjdG9yVXJsLmlzRW1wdHkoKSkKKyAgICAgICAg
bV9pbnNwZWN0b3ItPnNldFByb3BlcnR5KCJfcV9pbnNwZWN0b3JVcmwiLCBnSW5zcGVjdG9yVXJs
KTsKICAgICBtX2luc3BlY3Rvci0+c2V0UGFnZShwYWdlKCkpOwogICAgIG1faW5zcGVjdG9yLT5o
aWRlKCk7CiAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwoZGVzdHJveWVkKCkpLCBtX2luc3BlY3Rv
ciwgU0xPVChkZWxldGVMYXRlcigpKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>