<?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>51159</bug_id>
          
          <creation_ts>2010-12-15 18:35:38 -0800</creation_ts>
          <short_desc>[Qt] Permit qrc resources to load in QWebSettings::setUserStyleSheetUrl()</short_desc>
          <delta_ts>2011-09-20 09:41:13 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jarred Nicholls">jarred</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ariya.hidayat</cc>
    
    <cc>benjamin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>kenneth</cc>
    
    <cc>markus</cc>
    
    <cc>robert</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>323001</commentid>
    <comment_count>0</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2010-12-15 18:35:38 -0800</bug_when>
    <thetext>Right now Page::userStyleSheetLocationChanged() only accepts base64 data urls or file urls.  In Qt world, a qrc resource is considered a local resource, re: SchemeRegistry::localURLSchemes()

However, Page::userStyleSheetLocationChanged() does not check the localURLSchemes registry when loading urls for the user style sheet, and instead only accepts file:// urls.  By changing this behavior, we can open the door to a qrc resource style sheet.

In Qt port, we have to handle qrc paths a little differently by making sure it&apos;s prefixed with a colon, so it&apos;s a special case in KURL::fileSystemPath().  This does change the behavior, so a new test should be created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323012</commentid>
    <comment_count>1</comment_count>
      <attachid>76727</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2010-12-15 18:57:19 -0800</bug_when>
    <thetext>Created attachment 76727
Proposed patch

Need to add a new Qt test, but wanted feedback first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323037</commentid>
    <comment_count>2</comment_count>
      <attachid>76727</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2010-12-15 20:36:17 -0800</bug_when>
    <thetext>Comment on attachment 76727
Proposed patch

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

&gt; WebCore/platform/qt/KURLQt.cpp:57
&gt; +    return QString();

String not QString ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323307</commentid>
    <comment_count>3</comment_count>
      <attachid>76727</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-12-16 11:28:11 -0800</bug_when>
    <thetext>Comment on attachment 76727
Proposed patch

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

&gt; WebCore/platform/qt/KURLQt.cpp:51
&gt; +    if (isValid() &amp;&amp; (protocolIs(&quot;file&quot;) || protocolIs(&quot;qrc&quot;))) {
&gt; +        // A valid qrc resource path begins with a colon
&gt; +        if (protocolIs(&quot;qrc&quot;))
&gt; +            return &quot;:&quot; + path();

Is there a security implication of this? For example, can now any application which is granted the access to local file also upload/peek any resource (in particular in a hybrid QtWebKit-based app)?

&gt; WebCore/platform/qt/KURLQt.cpp:54
&gt; +        return static_cast&lt;QUrl&gt;(*this).toLocalFile();

This static_cast is rather scary. I can&apos;t think of a better solution right now :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323601</commentid>
    <comment_count>4</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2010-12-16 21:23:05 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Is there a security implication of this? For example, can now any application which is granted the access to local file also upload/peek any resource (in particular in a hybrid QtWebKit-based app)?

AFAICT, the answer would be &quot;no&quot;.  The security worry would be if remote sources could access/open local resources.  For the same reason you can&apos;t open a file:// url from some http:// document, loading a style sheet from a qrc resource should not open any security holes.

fileSystemPath() is only used in one other location in WebCore, and that is for resource loading in the Windows port.  This same function first ensures the resource is a file:// url anyways, so qrc wouldn&apos;t even be considered.

But I digress...fileSystemPath is only universally used in this one spot in WebCore; to load a style sheet file.

&gt; 
&gt; This static_cast is rather scary. I can&apos;t think of a better solution right now :(

The other solution is just a semantic change, doing an implicit cast:

((QUrl)(*this)).toLocalFile();

The method directly proceeding KURLQt::fileSystemPath() is an overloaded cast for KURL -&gt; QUrl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323798</commentid>
    <comment_count>5</comment_count>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-12-17 08:40:08 -0800</bug_when>
    <thetext>&gt; For the same reason you can&apos;t open a file:// url from some http:// document, loading 
&gt; a style sheet from a qrc resource should not open any security holes.

My previous question was more: if an app has access to file system, does the patch make it able to access qrc as well?

Looking at the code in WebCore, seems that it is unlikely.


In all cases, this definitely needs a test (WebKit/qt/tests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323813</commentid>
    <comment_count>6</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2010-12-17 09:00:48 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; For the same reason you can&apos;t open a file:// url from some http:// document, loading 
&gt; &gt; a style sheet from a qrc resource should not open any security holes.
&gt; 
&gt; My previous question was more: if an app has access to file system, does the patch make it able to access qrc as well?
&gt; 
&gt; Looking at the code in WebCore, seems that it is unlikely.

Indeed it is unlikely, since fileSystemPath is not used anywhere else in WebCore, aside from one platform-specific spot that is 1) guarded behind an isLocalFile() check, and 2) can&apos;t handle qrc resources anyways :)

With that said, if a resource is local (file, qrc, whatever), then by default they can access each other - anything local on a user&apos;s machine is automatically considered to be in the same security origin and is trustworthy.  This, however, can be turned off via QWebSettings::LocalContentCanAccessFileUrls.

This would only warrant further discussion if fileSystemPath() was used in critical resource loading functions and SecurityOrigin.  Note: resource loading looks to the local scheme registry to determine local vs remote, and qrc is registered by default...just something to consider.

&gt; 
&gt; 
&gt; In all cases, this definitely needs a test (WebKit/qt/tests).

Definitely.  Just curious if this change would fly or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323841</commentid>
    <comment_count>7</comment_count>
      <attachid>76727</attachid>
    <who name="Ariya Hidayat">ariya.hidayat</who>
    <bug_when>2010-12-17 09:53:14 -0800</bug_when>
    <thetext>Comment on attachment 76727
Proposed patch

r- until the test is available</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423867</commentid>
    <comment_count>8</comment_count>
      <attachid>76727</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-06-20 12:37:15 -0700</bug_when>
    <thetext>Comment on attachment 76727
Proposed patch

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

&gt; WebCore/ChangeLog:10
&gt; +        Permit any url with a local scheme to set a user style sheet. Allow qrc
&gt; +        resource URLs as arguments to QWebSettings::setUserStyleSheetUrl().
&gt; +

I think a less intrusive way to do this would be to convert the qrc URL to a file URL in QWebSetttings::setUserStyleSheerUrl().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464995</commentid>
    <comment_count>9</comment_count>
      <attachid>106909</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-09 13:13:34 -0700</bug_when>
    <thetext>Created attachment 106909
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465011</commentid>
    <comment_count>10</comment_count>
      <attachid>106917</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-09 13:51:14 -0700</bug_when>
    <thetext>Created attachment 106917
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465279</commentid>
    <comment_count>11</comment_count>
      <attachid>106917</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-10 04:12:20 -0700</bug_when>
    <thetext>Comment on attachment 106917
Proposed Patch

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

I like where this is going, but let me put my nitpick hat on for a sec.

&gt; Source/WebCore/page/Page.cpp:649
&gt; +    // Allow any local file URI scheme to be loaded

URI here and URL elsewhere? I admit I&apos;m a little foggy on the distinction, but the usage here should be consistent, no?
Also, period at end of sentence.

&gt; Source/WebCore/platform/qt/KURLQt.cpp:46
&gt; +    // Permit valid file or qrc URLs

Ditto.

&gt; Source/WebCore/platform/qt/KURLQt.cpp:47
&gt; +    if (isValid() &amp;&amp; (protocolIs(&quot;file&quot;) || protocolIs(&quot;qrc&quot;))) {

I&apos;d prefer isLocalFile() to protocolIs(&quot;file&quot;) here.
Also, the double occurrence of the &quot;qrc&quot; literal is ugly. Please rephrase this so we only need it once.

&gt; Source/WebCore/platform/qt/KURLQt.cpp:48
&gt; +        // A valid qrc resource path begins with a colon

Ditto.

&gt; Source/WebCore/platform/qt/KURLQt.cpp:52
&gt; +        // Convert the file URL into a proper platform file path

Ditto.

&gt; Source/WebCore/platform/qt/KURLQt.cpp:53
&gt; +        return static_cast&lt;QUrl&gt;(*this).toLocalFile();

Since this line was already changed by a recent patch of yours, this will need a reupload.

&gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:489
&gt; +    QVERIFY(networkManager-&gt;requestedUrls.count() &gt;= 1);

Is there an exact value that we could check against instead of &quot;&gt;=1&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465282</commentid>
    <comment_count>12</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-09-10 04:31:43 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 76727 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76727&amp;action=review
&gt; 
&gt; &gt; WebCore/ChangeLog:10
&gt; &gt; +        Permit any url with a local scheme to set a user style sheet. Allow qrc
&gt; &gt; +        resource URLs as arguments to QWebSettings::setUserStyleSheetUrl().
&gt; &gt; +
&gt; 
&gt; I think a less intrusive way to do this would be to convert the qrc URL to a file URL in QWebSetttings::setUserStyleSheerUrl().

Out of curiosity why not this way? Seems odd to put a Qt&apos;ism in KURL if there&apos;s an alternative in a Qt specific file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465288</commentid>
    <comment_count>13</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-10 06:23:56 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 106917 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106917&amp;action=review
&gt; 
&gt; I like where this is going, but let me put my nitpick hat on for a sec.
&gt; 

This is good, it was written 9 months ago and I didn&apos;t give the comments much attention.

&gt; &gt; Source/WebCore/page/Page.cpp:649
&gt; &gt; +    // Allow any local file URI scheme to be loaded
&gt; 
&gt; URI here and URL elsewhere? I admit I&apos;m a little foggy on the distinction, but the usage here should be consistent, no?
&gt; Also, period at end of sentence.
&gt; 
&gt; &gt; Source/WebCore/platform/qt/KURLQt.cpp:46
&gt; &gt; +    // Permit valid file or qrc URLs
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/qt/KURLQt.cpp:47
&gt; &gt; +    if (isValid() &amp;&amp; (protocolIs(&quot;file&quot;) || protocolIs(&quot;qrc&quot;))) {
&gt; 
&gt; I&apos;d prefer isLocalFile() to protocolIs(&quot;file&quot;) here.

Sure

&gt; Also, the double occurrence of the &quot;qrc&quot; literal is ugly. Please rephrase this so we only need it once.

Agreed

&gt; 
&gt; &gt; Source/WebCore/platform/qt/KURLQt.cpp:48
&gt; &gt; +        // A valid qrc resource path begins with a colon
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/qt/KURLQt.cpp:52
&gt; &gt; +        // Convert the file URL into a proper platform file path
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/qt/KURLQt.cpp:53
&gt; &gt; +        return static_cast&lt;QUrl&gt;(*this).toLocalFile();
&gt; 
&gt; Since this line was already changed by a recent patch of yours, this will need a reupload.

Yeah the two patches are related.  I knew up front this would cause a merge conflict depending on which went first; but I figured a committer could resolve it easily.  I will rebase...

&gt; 
&gt; &gt; Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp:489
&gt; &gt; +    QVERIFY(networkManager-&gt;requestedUrls.count() &gt;= 1);
&gt; 
&gt; Is there an exact value that we could check against instead of &quot;&gt;=1&quot;?

Perhaps, though that&apos;s not what we&apos;re testing.  This (like in other userStyleSheet test) is just a sanity check before accessing at(0), in my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465290</commentid>
    <comment_count>14</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-10 06:37:16 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #8)
&gt; &gt; (From update of attachment 76727 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76727&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; WebCore/ChangeLog:10
&gt; &gt; &gt; +        Permit any url with a local scheme to set a user style sheet. Allow qrc
&gt; &gt; &gt; +        resource URLs as arguments to QWebSettings::setUserStyleSheetUrl().
&gt; &gt; &gt; +
&gt; &gt; 
&gt; &gt; I think a less intrusive way to do this would be to convert the qrc URL to a file URL in QWebSetttings::setUserStyleSheerUrl().
&gt; 
&gt; Out of curiosity why not this way? 

How would you go from qrc =&gt; file?

&gt; Seems odd to put a Qt&apos;ism in KURL if there&apos;s an alternative in a Qt specific file.

To be fair, it&apos;s Qt&apos;s KURL, so it is Qt specific regardless...

If you meant qrc =&gt; base64 data url, then that would work though is less performant and qrc is already loaded in memory as it is.  Also, I think the smarter check in Page.cpp opens it up more for future &quot;local&quot; schemes, but it&apos;s a stretch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465291</commentid>
    <comment_count>15</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-10 06:50:20 -0700</bug_when>
    <thetext>Actually a data URL won&apos;t work either, additional resources in the stylesheet like background images wouldn&apos;t be able to load relative to the stylesheet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465364</commentid>
    <comment_count>16</comment_count>
      <attachid>106995</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-10 18:08:46 -0700</bug_when>
    <thetext>Created attachment 106995
Proposed DRT Patch

kling&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465429</commentid>
    <comment_count>17</comment_count>
      <attachid>106995</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-11 17:07:54 -0700</bug_when>
    <thetext>Comment on attachment 106995
Proposed DRT Patch

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

&gt; Source/WebCore/page/Page.cpp:689
&gt; -    if (url.isLocalFile())
&gt; +    
&gt; +    // Allow any local file URL scheme to be loaded.
&gt; +    if (SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()))

Is this change observable from DRT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465431</commentid>
    <comment_count>18</comment_count>
      <attachid>106995</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-11 17:53:21 -0700</bug_when>
    <thetext>Comment on attachment 106995
Proposed DRT Patch

Attachment 106995 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9631882

New failing tests:
platform/chromium/fast/text/text-stroke-with-border.html
platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465449</commentid>
    <comment_count>19</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-11 19:54:01 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 106995 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106995&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:689
&gt; &gt; -    if (url.isLocalFile())
&gt; &gt; +    
&gt; &gt; +    // Allow any local file URL scheme to be loaded.
&gt; &gt; +    if (SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()))
&gt; 
&gt; Is this change observable from DRT?

Yes, DRT can set the user style sheet for tests.  And to answer your next question, yes I&apos;ll add a qt DRT test :-P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465450</commentid>
    <comment_count>20</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-11 19:55:55 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 106995 [details])
&gt; Attachment 106995 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/9631882
&gt; 
&gt; New failing tests:
&gt; platform/chromium/fast/text/text-stroke-with-border.html
&gt; platform/mac-snowleopard/platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html

What the actual fuck...this has got to be a coincidence !? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466430</commentid>
    <comment_count>21</comment_count>
      <attachid>107204</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-13 11:47:26 -0700</bug_when>
    <thetext>Created attachment 107204
Proposed Patch

added qt layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466439</commentid>
    <comment_count>22</comment_count>
      <attachid>107204</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-13 11:54:23 -0700</bug_when>
    <thetext>Comment on attachment 107204
Proposed Patch

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

&gt; Source/WebCore/page/Page.cpp:689
&gt; +    // Allow any local file URL scheme to be loaded.
&gt; +    if (SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()))

I wonder if this should be a separate change with tests? Especially since it is in shared code

&gt; Source/WebCore/platform/qt/KURLQt.cpp:54
&gt; +    if (isValid()) {
&gt; +        if (isLocalFile())
&gt; +            return static_cast&lt;QUrl&gt;(*this).toLocalFile();
&gt; +            
&gt; +        // A valid qrc resource path begins with a colon.
&gt; +        if (protocolIs(&quot;qrc&quot;))
&gt; +            return &quot;:&quot; + path();
&gt; +    }

We generally try avoiding indentation when possible. So what about

if (!isValid)
    return String();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466442</commentid>
    <comment_count>23</comment_count>
      <attachid>107206</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-13 11:55:37 -0700</bug_when>
    <thetext>Created attachment 107206
Proposed Patch

Missed WebKitTestRunner</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466448</commentid>
    <comment_count>24</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-13 11:59:01 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 107204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107204&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:689
&gt; &gt; +    // Allow any local file URL scheme to be loaded.
&gt; &gt; +    if (SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()))
&gt; 
&gt; I wonder if this should be a separate change with tests? Especially since it is in shared code

Unfortunately it can&apos;t be a separate change.  I think the current user style sheet tests, with the addition of these qrc tests, still cover this functionality.

&gt; 
&gt; &gt; Source/WebCore/platform/qt/KURLQt.cpp:54
&gt; &gt; +    if (isValid()) {
&gt; &gt; +        if (isLocalFile())
&gt; &gt; +            return static_cast&lt;QUrl&gt;(*this).toLocalFile();
&gt; &gt; +            
&gt; &gt; +        // A valid qrc resource path begins with a colon.
&gt; &gt; +        if (protocolIs(&quot;qrc&quot;))
&gt; &gt; +            return &quot;:&quot; + path();
&gt; &gt; +    }
&gt; 
&gt; We generally try avoiding indentation when possible. So what about
&gt; 
&gt; if (!isValid)
&gt;     return String();

Yes this would be better, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466452</commentid>
    <comment_count>25</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-13 12:01:55 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #22)
&gt; &gt; (From update of attachment 107204 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107204&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/page/Page.cpp:689
&gt; &gt; &gt; +    // Allow any local file URL scheme to be loaded.
&gt; &gt; &gt; +    if (SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()))
&gt; &gt; 
&gt; &gt; I wonder if this should be a separate change with tests? Especially since it is in shared code
&gt; 
&gt; Unfortunately it can&apos;t be a separate change.  I think the current user style sheet tests, with the addition of these qrc tests, still cover this functionality.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/qt/KURLQt.cpp:54
&gt; &gt; &gt; +    if (isValid()) {
&gt; &gt; &gt; +        if (isLocalFile())
&gt; &gt; &gt; +            return static_cast&lt;QUrl&gt;(*this).toLocalFile();
&gt; &gt; &gt; +            
&gt; &gt; &gt; +        // A valid qrc resource path begins with a colon.
&gt; &gt; &gt; +        if (protocolIs(&quot;qrc&quot;))
&gt; &gt; &gt; +            return &quot;:&quot; + path();
&gt; &gt; &gt; +    }
&gt; &gt; 
&gt; &gt; We generally try avoiding indentation when possible. So what about
&gt; &gt; 
&gt; &gt; if (!isValid)
&gt; &gt;     return String();
&gt; 
&gt; Yes this would be better, thanks.

On second thought, since we can&apos;t guarantee the protocol is either file or qrc, we&apos;d still need the second return String() at the bottom and I was avoiding that...seems redundant I suppose.  But I understand the indentation.  What&apos;cha think?

Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466513</commentid>
    <comment_count>26</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-13 13:42:22 -0700</bug_when>
    <thetext>
&gt; On second thought, since we can&apos;t guarantee the protocol is either file or qrc, we&apos;d still need the second return String() at the bottom and I was avoiding that...seems redundant I suppose.  But I understand the indentation.  What&apos;cha think?
&gt; 
&gt; Thanks for the review.

Sure feel free to do that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>466548</commentid>
    <comment_count>27</comment_count>
      <attachid>107231</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-13 14:37:44 -0700</bug_when>
    <thetext>Created attachment 107231
Proposed Patch - indentation cleanup

Indentation cleanup in KURLQt.cpp.  Pick one to commit :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>467126</commentid>
    <comment_count>28</comment_count>
      <attachid>107353</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-09-14 10:43:06 -0700</bug_when>
    <thetext>Created attachment 107353
Proposed Patch

Rebase from trunk, ready to rock.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469987</commentid>
    <comment_count>29</comment_count>
      <attachid>107353</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-20 04:52:52 -0700</bug_when>
    <thetext>Comment on attachment 107353
Proposed Patch

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

&gt; Source/WebCore/page/Page.cpp:689
&gt; -    if (url.isLocalFile())
&gt; +    
&gt; +    // Allow any local file URL scheme to be loaded.
&gt; +    if (SchemeRegistry::shouldTreatURLSchemeAsLocal(url.protocol()))

Is this change tested by non qt specific tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470118</commentid>
    <comment_count>30</comment_count>
      <attachid>107353</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-20 09:41:06 -0700</bug_when>
    <thetext>Comment on attachment 107353
Proposed Patch

Clearing flags on attachment: 107353

Committed r95548: &lt;http://trac.webkit.org/changeset/95548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470119</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-20 09:41:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76727</attachid>
            <date>2010-12-15 18:57:19 -0800</date>
            <delta_ts>2011-09-09 13:13:34 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>qrc-stylesheet.patch</filename>
            <type>text/plain</type>
            <size>3130</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTI1YjJlMy4uMzc5YWQ3YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMi0xNSAgSmFycmVkIE5pY2hv
bGxzICA8amFycmVkQHNlbmNoYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1F0XSBQZXJtaXQgcXJjIHJlc291cmNlcyB0byBsb2FkIGluIFFX
ZWJTZXR0aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTExNTkKKyAgICAgICAgCisgICAgICAgIFBlcm1p
dCBhbnkgdXJsIHdpdGggYSBsb2NhbCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4g
QWxsb3cgcXJjCisgICAgICAgIHJlc291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0
aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChP
T1BTISkKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojp1c2VyU3R5bGVTaGVldExvY2F0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vcXQv
S1VSTFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkw6OmZpbGVTeXN0ZW1QYXRoKToKKwog
MjAxMC0xMi0xNSAgTWF0dGhldyBEZWxhbmV5ICA8bWRlbGFuZXlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcCBiL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA1NTJhMTA5Li5lODQ1ZDNiIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAw
OCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDggVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6
Ly93d3cudG9yY2htb2JpbGUuY29tLykKKyAqIENvcHlyaWdodCAoQykgMjAxMCBTZW5jaGEsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNTksNiArNjAs
NyBAQAogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0Lmgi
CiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjaGVtZVJl
Z2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNlbGVj
dGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtNjQxLDcgKzY0Myw5
IEBAIHZvaWQgUGFnZTo6dXNlclN0eWxlU2hlZXRMb2NhdGlvbkNoYW5nZWQoKQogICAgIC8vIEZJ
WE1FOiBFdmVudHVhbGx5IHdlIHdpbGwgbW92ZSB0byBhIG1vZGVsIG9mIGp1c3QgYmVpbmcgaGFu
ZGVkIHRoZSBzaGVldAogICAgIC8vIHRleHQgaW5zdGVhZCBvZiBsb2FkaW5nIHRoZSBVUkwgb3Vy
c2VsdmVzLgogICAgIEtVUkwgdXJsID0gbV9zZXR0aW5ncy0+dXNlclN0eWxlU2hlZXRMb2NhdGlv
bigpOwotICAgIGlmICh1cmwuaXNMb2NhbEZpbGUoKSkKKworICAgIC8vIEFsbG93IGFueSBsb2Nh
bCBmaWxlIHVyaSBzY2hlbWUgdG8gYmUgbG9hZGVkCisgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5Ojpz
aG91bGRUcmVhdFVSTFNjaGVtZUFzTG9jYWwodXJsLnByb3RvY29sKCkpKQogICAgICAgICBtX3Vz
ZXJTdHlsZVNoZWV0UGF0aCA9IHVybC5maWxlU3lzdGVtUGF0aCgpOwogICAgIGVsc2UKICAgICAg
ICAgbV91c2VyU3R5bGVTaGVldFBhdGggPSBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vcXQvS1VSTFF0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvS1VSTFF0LmNwcApp
bmRleCBmNmQyYTg2Li4zZTIyMjdjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L0tV
UkxRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJMUXQuY3BwCkBAIC0xLDUgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAxMCBTZW5jaGEsIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNDMsMTAgKzQ0LDE3
IEBAIEtVUkw6Om9wZXJhdG9yIFFVcmwoKSBjb25zdAogCiBTdHJpbmcgS1VSTDo6ZmlsZVN5c3Rl
bVBhdGgoKSBjb25zdAogewotICAgIGlmICghaXNWYWxpZCgpIHx8ICFwcm90b2NvbElzKCJmaWxl
IikpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICAvLyBQZXJtaXQgdmFsaWQgZmlsZSBv
ciBxcmMgdXJscworICAgIGlmIChpc1ZhbGlkKCkgJiYgKHByb3RvY29sSXMoImZpbGUiKSB8fCBw
cm90b2NvbElzKCJxcmMiKSkpIHsKKyAgICAgICAgLy8gQSB2YWxpZCBxcmMgcmVzb3VyY2UgcGF0
aCBiZWdpbnMgd2l0aCBhIGNvbG9uCisgICAgICAgIGlmIChwcm90b2NvbElzKCJxcmMiKSkKKyAg
ICAgICAgICAgIHJldHVybiAiOiIgKyBwYXRoKCk7CiAKLSAgICByZXR1cm4gU3RyaW5nKHBhdGgo
KSk7CisgICAgICAgIC8vIENvbnZlcnQgdGhlIGZpbGUgdXJsIGludG8gYSBwcm9wZXIgcGxhdGZv
cm0gZmlsZSBwYXRoCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxRVXJsPigqdGhpcykudG9M
b2NhbEZpbGUoKTsKKyAgICB9CisKKyAgICByZXR1cm4gUVN0cmluZygpOwogfQogCiB9Cg==
</data>
<flag name="review"
          id="67725"
          type_id="1"
          status="-"
          setter="ariya.hidayat"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106909</attachid>
            <date>2011-09-09 13:13:34 -0700</date>
            <delta_ts>2011-09-09 13:51:14 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>51159.patch</filename>
            <type>text/plain</type>
            <size>5687</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4M2Q3ZjBiLi5mOWI4ZTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTEtMDktMDkgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisg
ICAgICAgIFtRdF0gUGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6
OnNldFVzZXJTdHlsZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUxMTU5CisgICAgICAgIAorICAgICAgICBQZXJtaXQgYW55IFVSTCB3
aXRoIGEgbG9jYWwgc2NoZW1lIHRvIHNldCBhIHVzZXIgc3R5bGUgc2hlZXQuIEFsbG93IHFyYwor
ICAgICAgICByZXNvdXJjZSBVUkxzIGFzIGFyZ3VtZW50cyB0byBRV2ViU2V0dGluZ3M6OnNldFVz
ZXJTdHlsZVNoZWV0VXJsKCkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBwYWdlL1BhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dXNlclN0eWxlU2hlZXRMb2NhdGlvbkNoYW5n
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L0tVUkxRdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpLVVJMOjpmaWxlU3lzdGVtUGF0aCk6CisKIDIwMTEtMDktMDggIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgYSBXZWJLaXRBbmltYXRpb25F
dmVudCBjb25zdHJ1Y3Rvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IGIxOGZkMzkuLmVlYzRlMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlJlbmRlclRo
ZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2V0
dGluZ3MuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTcGVlY2hJbnB1
dC5oIgpAQCAtNjQ0LDcgKzY0NSw5IEBAIHZvaWQgUGFnZTo6dXNlclN0eWxlU2hlZXRMb2NhdGlv
bkNoYW5nZWQoKQogICAgIC8vIEZJWE1FOiBFdmVudHVhbGx5IHdlIHdpbGwgbW92ZSB0byBhIG1v
ZGVsIG9mIGp1c3QgYmVpbmcgaGFuZGVkIHRoZSBzaGVldAogICAgIC8vIHRleHQgaW5zdGVhZCBv
ZiBsb2FkaW5nIHRoZSBVUkwgb3Vyc2VsdmVzLgogICAgIEtVUkwgdXJsID0gbV9zZXR0aW5ncy0+
dXNlclN0eWxlU2hlZXRMb2NhdGlvbigpOwotICAgIGlmICh1cmwuaXNMb2NhbEZpbGUoKSkKKyAg
ICAKKyAgICAvLyBBbGxvdyBhbnkgbG9jYWwgZmlsZSBVUkkgc2NoZW1lIHRvIGJlIGxvYWRlZAor
ICAgIGlmIChTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc0xvY2FsKHVybC5w
cm90b2NvbCgpKSkKICAgICAgICAgbV91c2VyU3R5bGVTaGVldFBhdGggPSB1cmwuZmlsZVN5c3Rl
bVBhdGgoKTsKICAgICBlbHNlCiAgICAgICAgIG1fdXNlclN0eWxlU2hlZXRQYXRoID0gU3RyaW5n
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJMUXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvS1VSTFF0LmNwcAppbmRleCBmNmQyYTg2Li5jNDRm
NDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJMUXQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAKQEAgLTQzLDEwICs0Mywx
NyBAQCBLVVJMOjpvcGVyYXRvciBRVXJsKCkgY29uc3QKIAogU3RyaW5nIEtVUkw6OmZpbGVTeXN0
ZW1QYXRoKCkgY29uc3QKIHsKLSAgICBpZiAoIWlzVmFsaWQoKSB8fCAhcHJvdG9jb2xJcygiZmls
ZSIpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0KLSAgICByZXR1cm4gU3RyaW5nKHBhdGgo
KSk7CisgICAgLy8gUGVybWl0IHZhbGlkIGZpbGUgb3IgcXJjIFVSTHMKKyAgICBpZiAoaXNWYWxp
ZCgpICYmIChwcm90b2NvbElzKCJmaWxlIikgfHwgcHJvdG9jb2xJcygicXJjIikpKSB7CisgICAg
ICAgIC8vIEEgdmFsaWQgcXJjIHJlc291cmNlIHBhdGggYmVnaW5zIHdpdGggYSBjb2xvbgorICAg
ICAgICBpZiAocHJvdG9jb2xJcygicXJjIikpCisgICAgICAgICAgICByZXR1cm4gIjoiICsgcGF0
aCgpOworCisgICAgICAgIC8vIENvbnZlcnQgdGhlIGZpbGUgVVJMIGludG8gYSBwcm9wZXIgcGxh
dGZvcm0gZmlsZSBwYXRoCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxRVXJsPigqdGhpcyku
dG9Mb2NhbEZpbGUoKTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIFN0cmluZygpOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCmluZGV4IDRhOTdjNzUuLmY2NWQyYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjEgQEAKKzIwMTEtMDktMDkgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEu
Y29tPgorCisgICAgICAgIFtRdF0gUGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2Vi
U2V0dGluZ3M6OnNldFVzZXJTdHlsZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMTU5CisgICAgICAgIAorICAgICAgICBQZXJtaXQg
YW55IFVSTCB3aXRoIGEgbG9jYWwgc2NoZW1lIHRvIHNldCBhIHVzZXIgc3R5bGUgc2hlZXQuIEFs
bG93IHFyYworICAgICAgICByZXNvdXJjZSBVUkxzIGFzIGFyZ3VtZW50cyB0byBRV2ViU2V0dGlu
Z3M6OnNldFVzZXJTdHlsZVNoZWV0VXJsKCkuCisgICAgICAgIAorICAgICAgICBOZXcgdGVzdCBj
YXNlIG1ha2VzIHN1cmUgYSBxcmMgVVJMIHdpbGwgcHJvcGVybHkgbG9hZCBhIHVzZXIgc3R5bGVz
aGVldC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHRlc3RzL3F3ZWJwYWdlL3Jlc291cmNlcy91c2VyLmNzczogQWRkZWQuCisgICAgICAgIChwKToK
KyAgICAgICAgKiB0ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwOgorICAgICAgICAodHN0
X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21RcmMpOgorICAgICAgICAqIHRlc3RzL3F3ZWJw
YWdlL3RzdF9xd2VicGFnZS5xcmM6CisKIDIwMTEtMDktMDkgIFplbm8gQWxiaXNzZXIgIDx6ZW5v
LmFsYmlzc2VyQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFFXZWJFbGVtZW50OjplbmNsb3Nl
V2l0aCBkb2Vzbid0IHdvcmsgYXQgYWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rl
c3RzL3F3ZWJwYWdlL3Jlc291cmNlcy91c2VyLmNzcyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMv
cXdlYnBhZ2UvcmVzb3VyY2VzL3VzZXIuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjRjY2IyZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3Rz
L3F3ZWJwYWdlL3Jlc291cmNlcy91c2VyLmNzcwpAQCAtMCwwICsxLDMgQEAKK3AgeworICAgIGJh
Y2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL2RvZXMubm90L2V4aXN0LnBuZycpOworfQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdl
YnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAppbmRleCA1NTJmMGJmLi4zOWU5N2FiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCkBAIC0xMDEs
NiArMTAxLDcgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2b2lkIHBvcHVwRm9ybVN1Ym1pc3Npb24o
KTsKICAgICB2b2lkIGFjY2VwdE5hdmlnYXRpb25SZXF1ZXN0V2l0aE5ld1dpbmRvdygpOwogICAg
IHZvaWQgdXNlclN0eWxlU2hlZXQoKTsKKyAgICB2b2lkIHVzZXJTdHlsZVNoZWV0RnJvbVFyYygp
OwogICAgIHZvaWQgbG9hZEh0bWw1VmlkZW8oKTsKICAgICB2b2lkIG1vZGlmaWVkKCk7CiAgICAg
dm9pZCBjb250ZXh0TWVudUNyYXNoKCk7CkBAIC00NzYsNiArNDc3LDIwIEBAIHZvaWQgdHN0X1FX
ZWJQYWdlOjp1c2VyU3R5bGVTaGVldCgpCiAgICAgUUNPTVBBUkUobmV0d29ya01hbmFnZXItPnJl
cXVlc3RlZFVybHMuYXQoMCksIFFVcmwoImh0dHA6Ly9kb2VzLm5vdC9leGlzdC5wbmciKSk7CiB9
CiAKK3ZvaWQgdHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21RcmMoKQoreworICAgIFRl
c3ROZXR3b3JrTWFuYWdlciogbmV0d29ya01hbmFnZXIgPSBuZXcgVGVzdE5ldHdvcmtNYW5hZ2Vy
KG1fcGFnZSk7CisgICAgbV9wYWdlLT5zZXROZXR3b3JrQWNjZXNzTWFuYWdlcihuZXR3b3JrTWFu
YWdlcik7CisgICAgbmV0d29ya01hbmFnZXItPnJlcXVlc3RlZFVybHMuY2xlYXIoKTsKKworICAg
IG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0VXNlclN0eWxlU2hlZXRVcmwoUVVybCgicXJjOi8vL3Jl
c291cmNlcy91c2VyLmNzcyIpKTsKKyAgICBtX3ZpZXctPnNldEh0bWwoIjxwPmhlbGxvIHdvcmxk
PC9wPiIpOworICAgIFFWRVJJRlkoOjp3YWl0Rm9yU2lnbmFsKG1fdmlldywgU0lHTkFMKGxvYWRG
aW5pc2hlZChib29sKSkpKTsKKworICAgIFFWRVJJRlkobmV0d29ya01hbmFnZXItPnJlcXVlc3Rl
ZFVybHMuY291bnQoKSA+PSAxKTsKKyAgICBRQ09NUEFSRShuZXR3b3JrTWFuYWdlci0+cmVxdWVz
dGVkVXJscy5hdCgwKSwgUVVybCgiaHR0cDovL2RvZXMubm90L2V4aXN0LnBuZyIpKTsKK30KKwog
dm9pZCB0c3RfUVdlYlBhZ2U6OmxvYWRIdG1sNVZpZGVvKCkKIHsKICNpZiBkZWZpbmVkKFdURl9V
U0VfUVRfTVVMVElNRURJQSkgJiYgV1RGX1VTRV9RVF9NVUxUSU1FRElBCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMgYi9Tb3VyY2Uv
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMKaW5kZXggYTBlZmFiZS4u
YWUxODA0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3Rf
cXdlYnBhZ2UucXJjCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3
ZWJwYWdlLnFyYwpAQCAtOCw2ICs4LDcgQEAKICAgICA8ZmlsZT5yZXNvdXJjZXMvaWZyYW1lMy5o
dG1sPC9maWxlPgogICAgIDxmaWxlPnJlc291cmNlcy9mcmFtZWRpbmRleC5odG1sPC9maWxlPgog
ICAgIDxmaWxlPnJlc291cmNlcy9jb250ZW50Lmh0bWw8L2ZpbGU+CisgICAgPGZpbGU+cmVzb3Vy
Y2VzL3VzZXIuY3NzPC9maWxlPgogPC9xcmVzb3VyY2U+CiA8L1JDQz4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106917</attachid>
            <date>2011-09-09 13:51:14 -0700</date>
            <delta_ts>2011-09-10 18:08:46 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>51159.patch</filename>
            <type>text/plain</type>
            <size>5616</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4M2Q3ZjBiLi4zNjlhOWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDktMDkgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisg
ICAgICAgIFtRdF0gUGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6
OnNldFVzZXJTdHlsZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUxMTU5CisgICAgICAgIAorICAgICAgICBQZXJtaXQgYW55IFVSTCB3
aXRoIGEgbG9jYWwgc2NoZW1lIHRvIHNldCBhIHVzZXIgc3R5bGUgc2hlZXQuIEFsbG93IHFyYwor
ICAgICAgICByZXNvdXJjZSBVUkxzIGFzIGFyZ3VtZW50cyB0byBRV2ViU2V0dGluZ3M6OnNldFVz
ZXJTdHlsZVNoZWV0VXJsKCkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dXNl
clN0eWxlU2hlZXRMb2NhdGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L0tVUkxR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLVVJMOjpmaWxlU3lzdGVtUGF0aCk6CisKIDIwMTEt
MDktMDggIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBJbXBs
ZW1lbnQgYSBXZWJLaXRBbmltYXRpb25FdmVudCBjb25zdHJ1Y3Rvci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CmluZGV4IGIxOGZkMzkuLmVlYzRlMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtNjMsNiArNjMs
NyBAQAogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0Lmgi
CiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjaGVtZVJl
Z2lzdHJ5LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIu
aCIKICNpbmNsdWRlICJTcGVlY2hJbnB1dC5oIgpAQCAtNjQ0LDcgKzY0NSw5IEBAIHZvaWQgUGFn
ZTo6dXNlclN0eWxlU2hlZXRMb2NhdGlvbkNoYW5nZWQoKQogICAgIC8vIEZJWE1FOiBFdmVudHVh
bGx5IHdlIHdpbGwgbW92ZSB0byBhIG1vZGVsIG9mIGp1c3QgYmVpbmcgaGFuZGVkIHRoZSBzaGVl
dAogICAgIC8vIHRleHQgaW5zdGVhZCBvZiBsb2FkaW5nIHRoZSBVUkwgb3Vyc2VsdmVzLgogICAg
IEtVUkwgdXJsID0gbV9zZXR0aW5ncy0+dXNlclN0eWxlU2hlZXRMb2NhdGlvbigpOwotICAgIGlm
ICh1cmwuaXNMb2NhbEZpbGUoKSkKKyAgICAKKyAgICAvLyBBbGxvdyBhbnkgbG9jYWwgZmlsZSBV
Ukkgc2NoZW1lIHRvIGJlIGxvYWRlZAorICAgIGlmIChTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJl
YXRVUkxTY2hlbWVBc0xvY2FsKHVybC5wcm90b2NvbCgpKSkKICAgICAgICAgbV91c2VyU3R5bGVT
aGVldFBhdGggPSB1cmwuZmlsZVN5c3RlbVBhdGgoKTsKICAgICBlbHNlCiAgICAgICAgIG1fdXNl
clN0eWxlU2hlZXRQYXRoID0gU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9LVVJMUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvS1VSTFF0
LmNwcAppbmRleCBmNmQyYTg2Li5jNDRmNDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9LVVJMUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0tV
UkxRdC5jcHAKQEAgLTQzLDEwICs0MywxNyBAQCBLVVJMOjpvcGVyYXRvciBRVXJsKCkgY29uc3QK
IAogU3RyaW5nIEtVUkw6OmZpbGVTeXN0ZW1QYXRoKCkgY29uc3QKIHsKLSAgICBpZiAoIWlzVmFs
aWQoKSB8fCAhcHJvdG9jb2xJcygiZmlsZSIpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0K
LSAgICByZXR1cm4gU3RyaW5nKHBhdGgoKSk7CisgICAgLy8gUGVybWl0IHZhbGlkIGZpbGUgb3Ig
cXJjIFVSTHMKKyAgICBpZiAoaXNWYWxpZCgpICYmIChwcm90b2NvbElzKCJmaWxlIikgfHwgcHJv
dG9jb2xJcygicXJjIikpKSB7CisgICAgICAgIC8vIEEgdmFsaWQgcXJjIHJlc291cmNlIHBhdGgg
YmVnaW5zIHdpdGggYSBjb2xvbgorICAgICAgICBpZiAocHJvdG9jb2xJcygicXJjIikpCisgICAg
ICAgICAgICByZXR1cm4gIjoiICsgcGF0aCgpOworCisgICAgICAgIC8vIENvbnZlcnQgdGhlIGZp
bGUgVVJMIGludG8gYSBwcm9wZXIgcGxhdGZvcm0gZmlsZSBwYXRoCisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxRVXJsPigqdGhpcykudG9Mb2NhbEZpbGUoKTsKKyAgICB9CisgICAgCisgICAg
cmV0dXJuIFN0cmluZygpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDRhOTdjNzUuLmY2NWQy
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMDkgIEphcnJlZCBO
aWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFtRdF0gUGVybWl0IHFyYyBy
ZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6OnNldFVzZXJTdHlsZVNoZWV0VXJsKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMTU5Cisg
ICAgICAgIAorICAgICAgICBQZXJtaXQgYW55IFVSTCB3aXRoIGEgbG9jYWwgc2NoZW1lIHRvIHNl
dCBhIHVzZXIgc3R5bGUgc2hlZXQuIEFsbG93IHFyYworICAgICAgICByZXNvdXJjZSBVUkxzIGFz
IGFyZ3VtZW50cyB0byBRV2ViU2V0dGluZ3M6OnNldFVzZXJTdHlsZVNoZWV0VXJsKCkuCisgICAg
ICAgIAorICAgICAgICBOZXcgdGVzdCBjYXNlIG1ha2VzIHN1cmUgYSBxcmMgVVJMIHdpbGwgcHJv
cGVybHkgbG9hZCBhIHVzZXIgc3R5bGVzaGVldC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3RzL3F3ZWJwYWdlL3Jlc291cmNlcy91c2VyLmNz
czogQWRkZWQuCisgICAgICAgIChwKToKKyAgICAgICAgKiB0ZXN0cy9xd2VicGFnZS90c3RfcXdl
YnBhZ2UuY3BwOgorICAgICAgICAodHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21RcmMp
OgorICAgICAgICAqIHRlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmM6CisKIDIwMTEtMDkt
MDkgIFplbm8gQWxiaXNzZXIgIDx6ZW5vLmFsYmlzc2VyQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdIFFXZWJFbGVtZW50OjplbmNsb3NlV2l0aCBkb2Vzbid0IHdvcmsgYXQgYWxsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3Jlc291cmNlcy91c2VyLmNzcyBi
L1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvcmVzb3VyY2VzL3VzZXIuY3NzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjY2IyZjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3Jlc291cmNlcy91c2VyLmNzcwpAQCAt
MCwwICsxLDMgQEAKK3AgeworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL2RvZXMu
bm90L2V4aXN0LnBuZycpOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAppbmRleCA1NTJm
MGJmLi5iZTk3ODZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdl
L3RzdF9xd2VicGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90
c3RfcXdlYnBhZ2UuY3BwCkBAIC0xMDEsNiArMTAxLDcgQEAgcHJpdmF0ZSBzbG90czoKICAgICB2
b2lkIHBvcHVwRm9ybVN1Ym1pc3Npb24oKTsKICAgICB2b2lkIGFjY2VwdE5hdmlnYXRpb25SZXF1
ZXN0V2l0aE5ld1dpbmRvdygpOwogICAgIHZvaWQgdXNlclN0eWxlU2hlZXQoKTsKKyAgICB2b2lk
IHVzZXJTdHlsZVNoZWV0RnJvbVFyY1VybCgpOwogICAgIHZvaWQgbG9hZEh0bWw1VmlkZW8oKTsK
ICAgICB2b2lkIG1vZGlmaWVkKCk7CiAgICAgdm9pZCBjb250ZXh0TWVudUNyYXNoKCk7CkBAIC00
NzYsNiArNDc3LDE5IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldCgpCiAgICAg
UUNPTVBBUkUobmV0d29ya01hbmFnZXItPnJlcXVlc3RlZFVybHMuYXQoMCksIFFVcmwoImh0dHA6
Ly9kb2VzLm5vdC9leGlzdC5wbmciKSk7CiB9CiAKK3ZvaWQgdHN0X1FXZWJQYWdlOjp1c2VyU3R5
bGVTaGVldEZyb21RcmNVcmwoKQoreworICAgIFRlc3ROZXR3b3JrTWFuYWdlciogbmV0d29ya01h
bmFnZXIgPSBuZXcgVGVzdE5ldHdvcmtNYW5hZ2VyKG1fcGFnZSk7CisgICAgbV9wYWdlLT5zZXRO
ZXR3b3JrQWNjZXNzTWFuYWdlcihuZXR3b3JrTWFuYWdlcik7CisKKyAgICBtX3BhZ2UtPnNldHRp
bmdzKCktPnNldFVzZXJTdHlsZVNoZWV0VXJsKFFVcmwoInFyYzovLy9yZXNvdXJjZXMvdXNlci5j
c3MiKSk7CisgICAgbV92aWV3LT5zZXRIdG1sKCI8cD5oZWxsbyB3b3JsZDwvcD4iKTsKKyAgICBR
VkVSSUZZKDo6d2FpdEZvclNpZ25hbChtX3ZpZXcsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkp
KSk7CisKKyAgICBRVkVSSUZZKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0ZWRVcmxzLmNvdW50KCkg
Pj0gMSk7CisgICAgUUNPTVBBUkUobmV0d29ya01hbmFnZXItPnJlcXVlc3RlZFVybHMuYXQoMCks
IFFVcmwoImh0dHA6Ly9kb2VzLm5vdC9leGlzdC5wbmciKSk7Cit9CisKIHZvaWQgdHN0X1FXZWJQ
YWdlOjpsb2FkSHRtbDVWaWRlbygpCiB7CiAjaWYgZGVmaW5lZChXVEZfVVNFX1FUX01VTFRJTUVE
SUEpICYmIFdURl9VU0VfUVRfTVVMVElNRURJQQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UucXJjIGIvU291cmNlL1dlYktpdC9xdC90ZXN0
cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UucXJjCmluZGV4IGEwZWZhYmUuLmFlMTgwNDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYwor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMKQEAg
LTgsNiArOCw3IEBACiAgICAgPGZpbGU+cmVzb3VyY2VzL2lmcmFtZTMuaHRtbDwvZmlsZT4KICAg
ICA8ZmlsZT5yZXNvdXJjZXMvZnJhbWVkaW5kZXguaHRtbDwvZmlsZT4KICAgICA8ZmlsZT5yZXNv
dXJjZXMvY29udGVudC5odG1sPC9maWxlPgorICAgIDxmaWxlPnJlc291cmNlcy91c2VyLmNzczwv
ZmlsZT4KIDwvcXJlc291cmNlPgogPC9SQ0M+CiAK
</data>
<flag name="review"
          id="103475"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106995</attachid>
            <date>2011-09-10 18:08:46 -0700</date>
            <delta_ts>2011-09-13 11:47:26 -0700</delta_ts>
            <desc>Proposed DRT Patch</desc>
            <filename>51159.patch</filename>
            <type>text/plain</type>
            <size>5272</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyM2YyY2I5Li44YzM3MmE5IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDktMTAgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisg
ICAgICAgIFtRdF0gUGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6
OnNldFVzZXJTdHlsZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUxMTU5CisgICAgICAgIAorICAgICAgICBQZXJtaXQgYW55IFVSTCB3
aXRoIGEgbG9jYWwgc2NoZW1lIHRvIHNldCBhIHVzZXIgc3R5bGUgc2hlZXQuIEFsbG93IHFyYwor
ICAgICAgICByZXNvdXJjZSBVUkxzIGFzIGFyZ3VtZW50cyB0byBRV2ViU2V0dGluZ3M6OnNldFVz
ZXJTdHlsZVNoZWV0VXJsKCkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6dXNl
clN0eWxlU2hlZXRMb2NhdGlvbkNoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L0tVUkxR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLVVJMOjpmaWxlU3lzdGVtUGF0aCk6CisKIDIwMTEt
MDktMDkgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg2MQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5k
ZXggOTZkNzVkYi4uYzIzN2M0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC02Myw2ICs2Myw3IEBA
CiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKICNp
bmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2NoZW1lUmVnaXN0
cnkuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgog
I2luY2x1ZGUgIlNwZWVjaElucHV0LmgiCkBAIC02ODMsNyArNjg0LDkgQEAgdm9pZCBQYWdlOjp1
c2VyU3R5bGVTaGVldExvY2F0aW9uQ2hhbmdlZCgpCiAgICAgLy8gRklYTUU6IEV2ZW50dWFsbHkg
d2Ugd2lsbCBtb3ZlIHRvIGEgbW9kZWwgb2YganVzdCBiZWluZyBoYW5kZWQgdGhlIHNoZWV0CiAg
ICAgLy8gdGV4dCBpbnN0ZWFkIG9mIGxvYWRpbmcgdGhlIFVSTCBvdXJzZWx2ZXMuCiAgICAgS1VS
TCB1cmwgPSBtX3NldHRpbmdzLT51c2VyU3R5bGVTaGVldExvY2F0aW9uKCk7Ci0gICAgaWYgKHVy
bC5pc0xvY2FsRmlsZSgpKQorICAgIAorICAgIC8vIEFsbG93IGFueSBsb2NhbCBmaWxlIFVSTCBz
Y2hlbWUgdG8gYmUgbG9hZGVkLgorICAgIGlmIChTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRV
UkxTY2hlbWVBc0xvY2FsKHVybC5wcm90b2NvbCgpKSkKICAgICAgICAgbV91c2VyU3R5bGVTaGVl
dFBhdGggPSB1cmwuZmlsZVN5c3RlbVBhdGgoKTsKICAgICBlbHNlCiAgICAgICAgIG1fdXNlclN0
eWxlU2hlZXRQYXRoID0gU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9LVVJMUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvS1VSTFF0LmNw
cAppbmRleCA0OWRmNTlhLi44NWRmZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9LVVJMUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0tVUkxR
dC5jcHAKQEAgLTQzLDEwICs0MywxNyBAQCBLVVJMOjpvcGVyYXRvciBRVXJsKCkgY29uc3QKIAog
U3RyaW5nIEtVUkw6OmZpbGVTeXN0ZW1QYXRoKCkgY29uc3QKIHsKLSAgICBpZiAoIWlzVmFsaWQo
KSB8fCAhcHJvdG9jb2xJcygiZmlsZSIpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0KLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8UVVybD4oKnRoaXMpLnRvTG9jYWxGaWxlKCk7CisgICAgLy8g
UGVybWl0IHZhbGlkIGZpbGUgYW5kIHFyYyBVUkxzLgorICAgIGlmIChpc1ZhbGlkKCkpIHsKKyAg
ICAgICAgaWYgKGlzTG9jYWxGaWxlKCkpCisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
UVVybD4oKnRoaXMpLnRvTG9jYWxGaWxlKCk7CisgICAgICAgICAgICAKKyAgICAgICAgLy8gQSB2
YWxpZCBxcmMgcmVzb3VyY2UgcGF0aCBiZWdpbnMgd2l0aCBhIGNvbG9uLgorICAgICAgICBpZiAo
cHJvdG9jb2xJcygicXJjIikpCisgICAgICAgICAgICByZXR1cm4gIjoiICsgcGF0aCgpOworICAg
IH0KKyAgICAKKyAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXgg
NzcwMmY0MC4uYjgyOGUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxMS0w
OS0xMCAgSmFycmVkIE5pY2hvbGxzICA8amFycmVkQHNlbmNoYS5jb20+CiAKKyAgICAgICAgW1F0
XSBQZXJtaXQgcXJjIHJlc291cmNlcyB0byBsb2FkIGluIFFXZWJTZXR0aW5nczo6c2V0VXNlclN0
eWxlU2hlZXRVcmwoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTExNTkKKyAgICAgICAgCisgICAgICAgIFBlcm1pdCBhbnkgVVJMIHdpdGggYSBsb2Nh
bCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxsb3cgcXJjCisgICAgICAgIHJl
c291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5nczo6c2V0VXNlclN0eWxlU2hl
ZXRVcmwoKS4KKyAgICAgICAgCisgICAgICAgIE5ldyB0ZXN0IGNhc2UgbWFrZXMgc3VyZSBhIHFy
YyBVUkwgd2lsbCBwcm9wZXJseSBsb2FkIGEgdXNlciBzdHlsZXNoZWV0LgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgKHRzdF9RV2ViUGFn
ZTo6dXNlclN0eWxlU2hlZXRGcm9tUXJjVXJsKToKKyAgICAgICAgKiB0ZXN0cy9xd2VicGFnZS90
c3RfcXdlYnBhZ2UucXJjOgorCisyMDExLTA5LTEwICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRA
c2VuY2hhLmNvbT4KKwogICAgICAgICBbUXRdIFFXZWJTZXR0aW5nczo6c2V0VXNlclN0eWxlU2hl
ZXRVcmwoKSBkb2VzIG5vdCB3b3JrIHdpdGggd2luZG93cyBwYXRocyB0aGF0IGNvbnRhaW4gZHJp
dmUgbGV0dGVycwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzQ4ODQKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3
ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdl
L3RzdF9xd2VicGFnZS5jcHAKaW5kZXggZDA2M2Y4Yy4uMGNkNjM4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcApAQCAtMTAyLDYgKzEw
Miw3IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBhY2NlcHROYXZpZ2F0aW9uUmVxdWVzdFdp
dGhOZXdXaW5kb3coKTsKICAgICB2b2lkIHVzZXJTdHlsZVNoZWV0KCk7CiAgICAgdm9pZCB1c2Vy
U3R5bGVTaGVldEZyb21Mb2NhbEZpbGVVcmwoKTsKKyAgICB2b2lkIHVzZXJTdHlsZVNoZWV0RnJv
bVFyY1VybCgpOwogICAgIHZvaWQgbG9hZEh0bWw1VmlkZW8oKTsKICAgICB2b2lkIG1vZGlmaWVk
KCk7CiAgICAgdm9pZCBjb250ZXh0TWVudUNyYXNoKCk7CkBAIC00OTAsNiArNDkxLDE5IEBAIHZv
aWQgdHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21Mb2NhbEZpbGVVcmwoKQogICAgIFFD
T01QQVJFKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0ZWRVcmxzLmF0KDApLCBRVXJsKCJodHRwOi8v
ZG9lcy5ub3QvZXhpc3QucG5nIikpOwogfQogCit2b2lkIHRzdF9RV2ViUGFnZTo6dXNlclN0eWxl
U2hlZXRGcm9tUXJjVXJsKCkKK3sKKyAgICBUZXN0TmV0d29ya01hbmFnZXIqIG5ldHdvcmtNYW5h
Z2VyID0gbmV3IFRlc3ROZXR3b3JrTWFuYWdlcihtX3BhZ2UpOworICAgIG1fcGFnZS0+c2V0TmV0
d29ya0FjY2Vzc01hbmFnZXIobmV0d29ya01hbmFnZXIpOworCisgICAgbV9wYWdlLT5zZXR0aW5n
cygpLT5zZXRVc2VyU3R5bGVTaGVldFVybChRVXJsKCJxcmM6Ly8vcmVzb3VyY2VzL3VzZXIuY3Nz
IikpOworICAgIG1fdmlldy0+c2V0SHRtbCgiPHA+aGVsbG8gd29ybGQ8L3A+Iik7CisgICAgUVZF
UklGWSg6OndhaXRGb3JTaWduYWwobV92aWV3LCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSkp
OworCisgICAgUVZFUklGWShuZXR3b3JrTWFuYWdlci0+cmVxdWVzdGVkVXJscy5jb3VudCgpID49
IDEpOworICAgIFFDT01QQVJFKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0ZWRVcmxzLmF0KDApLCBR
VXJsKCJodHRwOi8vZG9lcy5ub3QvZXhpc3QucG5nIikpOworfQorCiB2b2lkIHRzdF9RV2ViUGFn
ZTo6bG9hZEh0bWw1VmlkZW8oKQogewogI2lmIGRlZmluZWQoV1RGX1VTRV9RVF9NVUxUSU1FRElB
KSAmJiBXVEZfVVNFX1FUX01VTFRJTUVESUEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
dGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMv
cXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYwppbmRleCBhMGVmYWJlLi5hZTE4MDQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMKKysr
IGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UucXJjCkBAIC04
LDYgKzgsNyBAQAogICAgIDxmaWxlPnJlc291cmNlcy9pZnJhbWUzLmh0bWw8L2ZpbGU+CiAgICAg
PGZpbGU+cmVzb3VyY2VzL2ZyYW1lZGluZGV4Lmh0bWw8L2ZpbGU+CiAgICAgPGZpbGU+cmVzb3Vy
Y2VzL2NvbnRlbnQuaHRtbDwvZmlsZT4KKyAgICA8ZmlsZT5yZXNvdXJjZXMvdXNlci5jc3M8L2Zp
bGU+CiA8L3FyZXNvdXJjZT4KIDwvUkNDPgogCg==
</data>
<flag name="commit-queue"
          id="103596"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107204</attachid>
            <date>2011-09-13 11:47:26 -0700</date>
            <delta_ts>2011-09-13 11:55:37 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>51159.patch</filename>
            <type>text/plain</type>
            <size>9563</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNjY4ZDRkLi4xNmVkZmNiIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDkt
MTMgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFtRdF0g
UGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6OnNldFVzZXJTdHls
ZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUxMTU5CisKKyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBhIGxvY2FsIHNjaGVtZSB0
byBzZXQgYSB1c2VyIHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAgICAgcmVzb3VyY2UgVVJM
cyBhcyBhcmd1bWVudHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpLgor
CisgICAgICAgIE5ldyBwbGF0Zm9ybSBsYXlvdXQgdGVzdCBzaW5jZSB1c2VyIHN0eWxlIHNoZWV0
IGlzIHRlc3RhYmxlIGZyb20gRFJULgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0
LXFyYy1wYXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFz
dC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5
LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFNraXAgZmFz
dC9pbWFnZXMvc3VwcG9ydC1icm9rZW4taW1hZ2UtZGVsZWdhdGUuaHRtbCB0ZW1wb3JhcmlseSBv
biBNYWMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2xvYWRlci91
c2VyLXN0eWxlc2hlZXQtcXJjLXBhdGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGEyOGYxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0
LXFyYy1wYXRoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdHMgdGhhdCBh
IHFyYyBVUkwgaXMgcHJvcGVybHkgbG9hZGVkIGFzIGEgdXNlciBzdHlsZSBzaGVldC4KKworUEFT
UyA1MHB4IHJnYigyNTUsIDI1NSwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvbG9hZGVyL3VzZXItc3R5bGVzaGVldC1xcmMtcGF0aC5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY4ZDJhMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvbG9hZGVyL3VzZXItc3R5bGVzaGVl
dC1xcmMtcGF0aC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzxwPgorICAgIFRoaXMgdGVzdHMgdGhh
dCBhIHFyYyBVUkwgaXMgcHJvcGVybHkgbG9hZGVkIGFzIGEgdXNlciBzdHlsZSBzaGVldC4KKzwv
cD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbigncXJjOi8vL3Jlc291
cmNlcy91c2VyLmNzcycpOworICAgICAgICAKKyAgICAgICAgdmFyIGNvbXB1dGVkU3R5bGUgPSBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLAorICAgICAgICAgICAgcmVzdWx0ID0gY29t
cHV0ZWRTdHlsZS5mb250U2l6ZSA9PSAnNTBweCcgJiYgY29tcHV0ZWRTdHlsZS5iYWNrZ3JvdW5k
Q29sb3IgPT0gJ3JnYigyNTUsIDI1NSwgMCknLAorICAgICAgICAgICAgbWVzc2FnZSA9IChyZXN1
bHQgPyAnUEFTUycgOiAnRkFJTCcpICsgJyAnICsgY29tcHV0ZWRTdHlsZS5mb250U2l6ZSArICcg
JyArIGNvbXB1dGVkU3R5bGUuYmFja2dyb3VuZENvbG9yOworCisgICAgICAgIGRvY3VtZW50Lndy
aXRlKG1lc3NhZ2UpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJUaGlz
IHRlc3QgY2FuIG9ubHkgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLiIpOworICAgIH0KKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDIzZjJjYjkuLmVhYTZhMmYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxMS0wOS0xMyAgSmFycmVkIE5pY2hvbGxzICA8amFycmVkQHNlbmNoYS5jb20+
CisKKyAgICAgICAgW1F0XSBQZXJtaXQgcXJjIHJlc291cmNlcyB0byBsb2FkIGluIFFXZWJTZXR0
aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTExNTkKKyAgICAgICAgCisgICAgICAgIFBlcm1pdCBhbnkg
VVJMIHdpdGggYSBsb2NhbCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxsb3cg
cXJjCisgICAgICAgIHJlc291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5nczo6
c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojp1c2VyU3R5bGVTaGVldExvY2F0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vcXQv
S1VSTFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkw6OmZpbGVTeXN0ZW1QYXRoKToKKwog
MjAxMS0wOS0wOSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODYxCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCA5NmQ3NWRiLi5jMjM3YzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTYzLDYgKzYz
LDcgQEAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY2hlbWVS
ZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCiAjaW5jbHVkZSAiU3BlZWNoSW5wdXQuaCIKQEAgLTY4Myw3ICs2ODQsOSBAQCB2b2lkIFBh
Z2U6OnVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFuZ2VkKCkKICAgICAvLyBGSVhNRTogRXZlbnR1
YWxseSB3ZSB3aWxsIG1vdmUgdG8gYSBtb2RlbCBvZiBqdXN0IGJlaW5nIGhhbmRlZCB0aGUgc2hl
ZXQKICAgICAvLyB0ZXh0IGluc3RlYWQgb2YgbG9hZGluZyB0aGUgVVJMIG91cnNlbHZlcy4KICAg
ICBLVVJMIHVybCA9IG1fc2V0dGluZ3MtPnVzZXJTdHlsZVNoZWV0TG9jYXRpb24oKTsKLSAgICBp
ZiAodXJsLmlzTG9jYWxGaWxlKCkpCisgICAgCisgICAgLy8gQWxsb3cgYW55IGxvY2FsIGZpbGUg
VVJMIHNjaGVtZSB0byBiZSBsb2FkZWQuCisgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRU
cmVhdFVSTFNjaGVtZUFzTG9jYWwodXJsLnByb3RvY29sKCkpKQogICAgICAgICBtX3VzZXJTdHls
ZVNoZWV0UGF0aCA9IHVybC5maWxlU3lzdGVtUGF0aCgpOwogICAgIGVsc2UKICAgICAgICAgbV91
c2VyU3R5bGVTaGVldFBhdGggPSBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJM
UXQuY3BwCmluZGV4IDQ5ZGY1OWEuLjg1ZGZkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
S1VSTFF0LmNwcApAQCAtNDMsMTAgKzQzLDE3IEBAIEtVUkw6Om9wZXJhdG9yIFFVcmwoKSBjb25z
dAogCiBTdHJpbmcgS1VSTDo6ZmlsZVN5c3RlbVBhdGgoKSBjb25zdAogewotICAgIGlmICghaXNW
YWxpZCgpIHx8ICFwcm90b2NvbElzKCJmaWxlIikpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsK
LQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxRVXJsPigqdGhpcykudG9Mb2NhbEZpbGUoKTsKKyAg
ICAvLyBQZXJtaXQgdmFsaWQgZmlsZSBhbmQgcXJjIFVSTHMuCisgICAgaWYgKGlzVmFsaWQoKSkg
eworICAgICAgICBpZiAoaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxRVXJsPigqdGhpcykudG9Mb2NhbEZpbGUoKTsKKyAgICAgICAgICAgIAorICAgICAgICAv
LyBBIHZhbGlkIHFyYyByZXNvdXJjZSBwYXRoIGJlZ2lucyB3aXRoIGEgY29sb24uCisgICAgICAg
IGlmIChwcm90b2NvbElzKCJxcmMiKSkKKyAgICAgICAgICAgIHJldHVybiAiOiIgKyBwYXRoKCk7
CisgICAgfQorICAgIAorICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCA3NzAyZjQwLi5kOWU2OTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDExLTA5LTEzICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAg
ICBbUXRdIFBlcm1pdCBxcmMgcmVzb3VyY2VzIHRvIGxvYWQgaW4gUVdlYlNldHRpbmdzOjpzZXRV
c2VyU3R5bGVTaGVldFVybCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01MTE1OQorICAgICAgICAKKyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBh
IGxvY2FsIHNjaGVtZSB0byBzZXQgYSB1c2VyIHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAg
ICAgcmVzb3VyY2UgVVJMcyBhcyBhcmd1bWVudHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5
bGVTaGVldFVybCgpLgorICAgICAgICAKKyAgICAgICAgTmV3IHRlc3QgY2FzZSBtYWtlcyBzdXJl
IGEgcXJjIFVSTCB3aWxsIHByb3Blcmx5IGxvYWQgYSB1c2VyIHN0eWxlc2hlZXQuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICAodHN0X1FX
ZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21RcmNVcmwpOgorICAgICAgICAqIHRlc3RzL3F3ZWJw
YWdlL3RzdF9xd2VicGFnZS5xcmM6CisKIDIwMTEtMDktMTAgIEphcnJlZCBOaWNob2xscyAgPGph
cnJlZEBzZW5jaGEuY29tPgogCiAgICAgICAgIFtRdF0gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5
bGVTaGVldFVybCgpIGRvZXMgbm90IHdvcmsgd2l0aCB3aW5kb3dzIHBhdGhzIHRoYXQgY29udGFp
biBkcml2ZSBsZXR0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJw
YWdlL3RzdF9xd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3Rz
dF9xd2VicGFnZS5jcHAKaW5kZXggZDA2M2Y4Yy4uMGNkNjM4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcApAQCAtMTAyLDYgKzEwMiw3
IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBhY2NlcHROYXZpZ2F0aW9uUmVxdWVzdFdpdGhO
ZXdXaW5kb3coKTsKICAgICB2b2lkIHVzZXJTdHlsZVNoZWV0KCk7CiAgICAgdm9pZCB1c2VyU3R5
bGVTaGVldEZyb21Mb2NhbEZpbGVVcmwoKTsKKyAgICB2b2lkIHVzZXJTdHlsZVNoZWV0RnJvbVFy
Y1VybCgpOwogICAgIHZvaWQgbG9hZEh0bWw1VmlkZW8oKTsKICAgICB2b2lkIG1vZGlmaWVkKCk7
CiAgICAgdm9pZCBjb250ZXh0TWVudUNyYXNoKCk7CkBAIC00OTAsNiArNDkxLDE5IEBAIHZvaWQg
dHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21Mb2NhbEZpbGVVcmwoKQogICAgIFFDT01Q
QVJFKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0ZWRVcmxzLmF0KDApLCBRVXJsKCJodHRwOi8vZG9l
cy5ub3QvZXhpc3QucG5nIikpOwogfQogCit2b2lkIHRzdF9RV2ViUGFnZTo6dXNlclN0eWxlU2hl
ZXRGcm9tUXJjVXJsKCkKK3sKKyAgICBUZXN0TmV0d29ya01hbmFnZXIqIG5ldHdvcmtNYW5hZ2Vy
ID0gbmV3IFRlc3ROZXR3b3JrTWFuYWdlcihtX3BhZ2UpOworICAgIG1fcGFnZS0+c2V0TmV0d29y
a0FjY2Vzc01hbmFnZXIobmV0d29ya01hbmFnZXIpOworCisgICAgbV9wYWdlLT5zZXR0aW5ncygp
LT5zZXRVc2VyU3R5bGVTaGVldFVybChRVXJsKCJxcmM6Ly8vcmVzb3VyY2VzL3VzZXIuY3NzIikp
OworICAgIG1fdmlldy0+c2V0SHRtbCgiPHA+aGVsbG8gd29ybGQ8L3A+Iik7CisgICAgUVZFUklG
WSg6OndhaXRGb3JTaWduYWwobV92aWV3LCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSkpOwor
CisgICAgUVZFUklGWShuZXR3b3JrTWFuYWdlci0+cmVxdWVzdGVkVXJscy5jb3VudCgpID49IDEp
OworICAgIFFDT01QQVJFKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0ZWRVcmxzLmF0KDApLCBRVXJs
KCJodHRwOi8vZG9lcy5ub3QvZXhpc3QucG5nIikpOworfQorCiB2b2lkIHRzdF9RV2ViUGFnZTo6
bG9hZEh0bWw1VmlkZW8oKQogewogI2lmIGRlZmluZWQoV1RGX1VTRV9RVF9NVUxUSU1FRElBKSAm
JiBXVEZfVVNFX1FUX01VTFRJTUVESUEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdl
YnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYwppbmRleCBhMGVmYWJlLi5hZTE4MDQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMKKysrIGIv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UucXJjCkBAIC04LDYg
KzgsNyBAQAogICAgIDxmaWxlPnJlc291cmNlcy9pZnJhbWUzLmh0bWw8L2ZpbGU+CiAgICAgPGZp
bGU+cmVzb3VyY2VzL2ZyYW1lZGluZGV4Lmh0bWw8L2ZpbGU+CiAgICAgPGZpbGU+cmVzb3VyY2Vz
L2NvbnRlbnQuaHRtbDwvZmlsZT4KKyAgICA8ZmlsZT5yZXNvdXJjZXMvdXNlci5jc3M8L2ZpbGU+
CiA8L3FyZXNvdXJjZT4KIDwvUkNDPgogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggN2YwZTMxOC4uOTIxOTJkNSAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTA5
LTEzICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBbUXRd
IFBlcm1pdCBxcmMgcmVzb3VyY2VzIHRvIGxvYWQgaW4gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5
bGVTaGVldFVybCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01MTE1OQorCisgICAgICAgIFBlcm1pdCBhbnkgVVJMIHdpdGggYSBsb2NhbCBzY2hlbWUg
dG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxsb3cgcXJjCisgICAgICAgIHJlc291cmNlIFVS
THMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4K
KyAgICAgICAgCisgICAgICAgIEFkZCBEUlQgcXJjIHJlc291cmNlIHRvIHRlc3QgbG9hZGluZyB1
c2VyIHN0eWxlIHNoZWV0cyBmcm9tIGEgcXJjIFVSTC4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJU
cmVlLnBybzoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5xcmM6
IEFkZGVkLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L3Jlc291cmNlcy91c2VyLmNzczog
QWRkZWQuCisgICAgICAgIChib2R5KToKKwogMjAxMS0wOS0xMCAgQW5kcmVhcyBLbGluZyAgPGts
aW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ3Jhc2ggYmVuZWF0aCBXS1VSTElzRXF1YWwoKSB3
aGVuIHJlbG9hZGluZyBpbiBNaW5pQnJvd3Nlci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlLnBybwppbmRleCAyNDI2NTFkLi5lODEwODZhIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCkBAIC01MywzICs1Myw1IEBAIHdpbmNlKjog
ewogCiBERUZJTkVTICs9IFVTRV9TWVNURU1fTUFMTE9DPTEKIERFRklORVMgLT0gUVRfQVNDSUlf
Q0FTVF9XQVJOSU5HUworCitSRVNPVVJDRVMgPSBEdW1wUmVuZGVyVHJlZS5xcmMKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZS5xcmMgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZS5xcmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzFkMTYzYQotLS0gL2Rl
di9udWxsCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnFyYwpA
QCAtMCwwICsxLDUgQEAKKzxSQ0M+CisgICAgPHFyZXNvdXJjZSBwcmVmaXg9Ii8iPgorICAgICAg
ICA8ZmlsZT5yZXNvdXJjZXMvdXNlci5jc3M8L2ZpbGU+CisgICAgPC9xcmVzb3VyY2U+Cis8L1JD
Qz4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L3Jlc291cmNlcy91c2VyLmNz
cyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L3Jlc291cmNlcy91c2VyLmNzcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjM5ODE5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvcmVzb3VyY2VzL3VzZXIuY3NzCkBAIC0wLDAgKzEsNCBAQAor
Ym9keSB7CisgICAgZm9udC1zaXplOiA1MHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigy
NTUsIDI1NSwgMCk7Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="103841"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107206</attachid>
            <date>2011-09-13 11:55:37 -0700</date>
            <delta_ts>2011-09-14 10:43:06 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>51159.patch</filename>
            <type>text/plain</type>
            <size>10873</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNjY4ZDRkLi4xNmVkZmNiIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDkt
MTMgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFtRdF0g
UGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6OnNldFVzZXJTdHls
ZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUxMTU5CisKKyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBhIGxvY2FsIHNjaGVtZSB0
byBzZXQgYSB1c2VyIHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAgICAgcmVzb3VyY2UgVVJM
cyBhcyBhcmd1bWVudHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpLgor
CisgICAgICAgIE5ldyBwbGF0Zm9ybSBsYXlvdXQgdGVzdCBzaW5jZSB1c2VyIHN0eWxlIHNoZWV0
IGlzIHRlc3RhYmxlIGZyb20gRFJULgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0
LXFyYy1wYXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFz
dC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5
LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFNraXAgZmFz
dC9pbWFnZXMvc3VwcG9ydC1icm9rZW4taW1hZ2UtZGVsZWdhdGUuaHRtbCB0ZW1wb3JhcmlseSBv
biBNYWMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2xvYWRlci91
c2VyLXN0eWxlc2hlZXQtcXJjLXBhdGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGEyOGYxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0
LXFyYy1wYXRoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdHMgdGhhdCBh
IHFyYyBVUkwgaXMgcHJvcGVybHkgbG9hZGVkIGFzIGEgdXNlciBzdHlsZSBzaGVldC4KKworUEFT
UyA1MHB4IHJnYigyNTUsIDI1NSwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvbG9hZGVyL3VzZXItc3R5bGVzaGVldC1xcmMtcGF0aC5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY4ZDJhMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvbG9hZGVyL3VzZXItc3R5bGVzaGVl
dC1xcmMtcGF0aC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzxwPgorICAgIFRoaXMgdGVzdHMgdGhh
dCBhIHFyYyBVUkwgaXMgcHJvcGVybHkgbG9hZGVkIGFzIGEgdXNlciBzdHlsZSBzaGVldC4KKzwv
cD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbigncXJjOi8vL3Jlc291
cmNlcy91c2VyLmNzcycpOworICAgICAgICAKKyAgICAgICAgdmFyIGNvbXB1dGVkU3R5bGUgPSBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLAorICAgICAgICAgICAgcmVzdWx0ID0gY29t
cHV0ZWRTdHlsZS5mb250U2l6ZSA9PSAnNTBweCcgJiYgY29tcHV0ZWRTdHlsZS5iYWNrZ3JvdW5k
Q29sb3IgPT0gJ3JnYigyNTUsIDI1NSwgMCknLAorICAgICAgICAgICAgbWVzc2FnZSA9IChyZXN1
bHQgPyAnUEFTUycgOiAnRkFJTCcpICsgJyAnICsgY29tcHV0ZWRTdHlsZS5mb250U2l6ZSArICcg
JyArIGNvbXB1dGVkU3R5bGUuYmFja2dyb3VuZENvbG9yOworCisgICAgICAgIGRvY3VtZW50Lndy
aXRlKG1lc3NhZ2UpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJUaGlz
IHRlc3QgY2FuIG9ubHkgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLiIpOworICAgIH0KKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDIzZjJjYjkuLmVhYTZhMmYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxMS0wOS0xMyAgSmFycmVkIE5pY2hvbGxzICA8amFycmVkQHNlbmNoYS5jb20+
CisKKyAgICAgICAgW1F0XSBQZXJtaXQgcXJjIHJlc291cmNlcyB0byBsb2FkIGluIFFXZWJTZXR0
aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTExNTkKKyAgICAgICAgCisgICAgICAgIFBlcm1pdCBhbnkg
VVJMIHdpdGggYSBsb2NhbCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxsb3cg
cXJjCisgICAgICAgIHJlc291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5nczo6
c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojp1c2VyU3R5bGVTaGVldExvY2F0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vcXQv
S1VSTFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkw6OmZpbGVTeXN0ZW1QYXRoKToKKwog
MjAxMS0wOS0wOSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODYxCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCA5NmQ3NWRiLi5jMjM3YzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTYzLDYgKzYz
LDcgQEAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY2hlbWVS
ZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCiAjaW5jbHVkZSAiU3BlZWNoSW5wdXQuaCIKQEAgLTY4Myw3ICs2ODQsOSBAQCB2b2lkIFBh
Z2U6OnVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFuZ2VkKCkKICAgICAvLyBGSVhNRTogRXZlbnR1
YWxseSB3ZSB3aWxsIG1vdmUgdG8gYSBtb2RlbCBvZiBqdXN0IGJlaW5nIGhhbmRlZCB0aGUgc2hl
ZXQKICAgICAvLyB0ZXh0IGluc3RlYWQgb2YgbG9hZGluZyB0aGUgVVJMIG91cnNlbHZlcy4KICAg
ICBLVVJMIHVybCA9IG1fc2V0dGluZ3MtPnVzZXJTdHlsZVNoZWV0TG9jYXRpb24oKTsKLSAgICBp
ZiAodXJsLmlzTG9jYWxGaWxlKCkpCisgICAgCisgICAgLy8gQWxsb3cgYW55IGxvY2FsIGZpbGUg
VVJMIHNjaGVtZSB0byBiZSBsb2FkZWQuCisgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRU
cmVhdFVSTFNjaGVtZUFzTG9jYWwodXJsLnByb3RvY29sKCkpKQogICAgICAgICBtX3VzZXJTdHls
ZVNoZWV0UGF0aCA9IHVybC5maWxlU3lzdGVtUGF0aCgpOwogICAgIGVsc2UKICAgICAgICAgbV91
c2VyU3R5bGVTaGVldFBhdGggPSBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJM
UXQuY3BwCmluZGV4IDQ5ZGY1OWEuLjg1ZGZkZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
S1VSTFF0LmNwcApAQCAtNDMsMTAgKzQzLDE3IEBAIEtVUkw6Om9wZXJhdG9yIFFVcmwoKSBjb25z
dAogCiBTdHJpbmcgS1VSTDo6ZmlsZVN5c3RlbVBhdGgoKSBjb25zdAogewotICAgIGlmICghaXNW
YWxpZCgpIHx8ICFwcm90b2NvbElzKCJmaWxlIikpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsK
LQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxRVXJsPigqdGhpcykudG9Mb2NhbEZpbGUoKTsKKyAg
ICAvLyBQZXJtaXQgdmFsaWQgZmlsZSBhbmQgcXJjIFVSTHMuCisgICAgaWYgKGlzVmFsaWQoKSkg
eworICAgICAgICBpZiAoaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxRVXJsPigqdGhpcykudG9Mb2NhbEZpbGUoKTsKKyAgICAgICAgICAgIAorICAgICAgICAv
LyBBIHZhbGlkIHFyYyByZXNvdXJjZSBwYXRoIGJlZ2lucyB3aXRoIGEgY29sb24uCisgICAgICAg
IGlmIChwcm90b2NvbElzKCJxcmMiKSkKKyAgICAgICAgICAgIHJldHVybiAiOiIgKyBwYXRoKCk7
CisgICAgfQorICAgIAorICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCA3NzAyZjQwLi5kOWU2OTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDExLTA5LTEzICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAg
ICBbUXRdIFBlcm1pdCBxcmMgcmVzb3VyY2VzIHRvIGxvYWQgaW4gUVdlYlNldHRpbmdzOjpzZXRV
c2VyU3R5bGVTaGVldFVybCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01MTE1OQorICAgICAgICAKKyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBh
IGxvY2FsIHNjaGVtZSB0byBzZXQgYSB1c2VyIHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAg
ICAgcmVzb3VyY2UgVVJMcyBhcyBhcmd1bWVudHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5
bGVTaGVldFVybCgpLgorICAgICAgICAKKyAgICAgICAgTmV3IHRlc3QgY2FzZSBtYWtlcyBzdXJl
IGEgcXJjIFVSTCB3aWxsIHByb3Blcmx5IGxvYWQgYSB1c2VyIHN0eWxlc2hlZXQuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICAodHN0X1FX
ZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21RcmNVcmwpOgorICAgICAgICAqIHRlc3RzL3F3ZWJw
YWdlL3RzdF9xd2VicGFnZS5xcmM6CisKIDIwMTEtMDktMTAgIEphcnJlZCBOaWNob2xscyAgPGph
cnJlZEBzZW5jaGEuY29tPgogCiAgICAgICAgIFtRdF0gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5
bGVTaGVldFVybCgpIGRvZXMgbm90IHdvcmsgd2l0aCB3aW5kb3dzIHBhdGhzIHRoYXQgY29udGFp
biBkcml2ZSBsZXR0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJw
YWdlL3RzdF9xd2VicGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3Rz
dF9xd2VicGFnZS5jcHAKaW5kZXggZDA2M2Y4Yy4uMGNkNjM4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcApAQCAtMTAyLDYgKzEwMiw3
IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBhY2NlcHROYXZpZ2F0aW9uUmVxdWVzdFdpdGhO
ZXdXaW5kb3coKTsKICAgICB2b2lkIHVzZXJTdHlsZVNoZWV0KCk7CiAgICAgdm9pZCB1c2VyU3R5
bGVTaGVldEZyb21Mb2NhbEZpbGVVcmwoKTsKKyAgICB2b2lkIHVzZXJTdHlsZVNoZWV0RnJvbVFy
Y1VybCgpOwogICAgIHZvaWQgbG9hZEh0bWw1VmlkZW8oKTsKICAgICB2b2lkIG1vZGlmaWVkKCk7
CiAgICAgdm9pZCBjb250ZXh0TWVudUNyYXNoKCk7CkBAIC00OTAsNiArNDkxLDE5IEBAIHZvaWQg
dHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21Mb2NhbEZpbGVVcmwoKQogICAgIFFDT01Q
QVJFKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0ZWRVcmxzLmF0KDApLCBRVXJsKCJodHRwOi8vZG9l
cy5ub3QvZXhpc3QucG5nIikpOwogfQogCit2b2lkIHRzdF9RV2ViUGFnZTo6dXNlclN0eWxlU2hl
ZXRGcm9tUXJjVXJsKCkKK3sKKyAgICBUZXN0TmV0d29ya01hbmFnZXIqIG5ldHdvcmtNYW5hZ2Vy
ID0gbmV3IFRlc3ROZXR3b3JrTWFuYWdlcihtX3BhZ2UpOworICAgIG1fcGFnZS0+c2V0TmV0d29y
a0FjY2Vzc01hbmFnZXIobmV0d29ya01hbmFnZXIpOworCisgICAgbV9wYWdlLT5zZXR0aW5ncygp
LT5zZXRVc2VyU3R5bGVTaGVldFVybChRVXJsKCJxcmM6Ly8vcmVzb3VyY2VzL3VzZXIuY3NzIikp
OworICAgIG1fdmlldy0+c2V0SHRtbCgiPHA+aGVsbG8gd29ybGQ8L3A+Iik7CisgICAgUVZFUklG
WSg6OndhaXRGb3JTaWduYWwobV92aWV3LCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSkpOwor
CisgICAgUVZFUklGWShuZXR3b3JrTWFuYWdlci0+cmVxdWVzdGVkVXJscy5jb3VudCgpID49IDEp
OworICAgIFFDT01QQVJFKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0ZWRVcmxzLmF0KDApLCBRVXJs
KCJodHRwOi8vZG9lcy5ub3QvZXhpc3QucG5nIikpOworfQorCiB2b2lkIHRzdF9RV2ViUGFnZTo6
bG9hZEh0bWw1VmlkZW8oKQogewogI2lmIGRlZmluZWQoV1RGX1VTRV9RVF9NVUxUSU1FRElBKSAm
JiBXVEZfVVNFX1FUX01VTFRJTUVESUEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdl
YnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYwppbmRleCBhMGVmYWJlLi5hZTE4MDQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMKKysrIGIv
U291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UucXJjCkBAIC04LDYg
KzgsNyBAQAogICAgIDxmaWxlPnJlc291cmNlcy9pZnJhbWUzLmh0bWw8L2ZpbGU+CiAgICAgPGZp
bGU+cmVzb3VyY2VzL2ZyYW1lZGluZGV4Lmh0bWw8L2ZpbGU+CiAgICAgPGZpbGU+cmVzb3VyY2Vz
L2NvbnRlbnQuaHRtbDwvZmlsZT4KKyAgICA8ZmlsZT5yZXNvdXJjZXMvdXNlci5jc3M8L2ZpbGU+
CiA8L3FyZXNvdXJjZT4KIDwvUkNDPgogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9U
b29scy9DaGFuZ2VMb2cKaW5kZXggN2YwZTMxOC4uYjU0NjQzMiAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTA5
LTEzICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBbUXRd
IFBlcm1pdCBxcmMgcmVzb3VyY2VzIHRvIGxvYWQgaW4gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5
bGVTaGVldFVybCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01MTE1OQorCisgICAgICAgIFBlcm1pdCBhbnkgVVJMIHdpdGggYSBsb2NhbCBzY2hlbWUg
dG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxsb3cgcXJjCisgICAgICAgIHJlc291cmNlIFVS
THMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4K
KyAgICAgICAgCisgICAgICAgIEFkZCBEUlQvV0tUUiBxcmMgcmVzb3VyY2UgdG8gdGVzdCBsb2Fk
aW5nIHVzZXIgc3R5bGUgc2hlZXRzIGZyb20gYSBxcmMgVVJMLgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWUucHJvOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVl
LnFyYzogQWRkZWQuCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvcmVzb3VyY2VzL3VzZXIu
Y3NzOiBBZGRlZC4KKyAgICAgICAgKGJvZHkpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
cXQvV2ViS2l0VGVzdFJ1bm5lci5wcm86CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9xdC9X
ZWJLaXRUZXN0UnVubmVyLnFyYzogQWRkZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9x
dC9yZXNvdXJjZXMvdXNlci5jc3M6IEFkZGVkLgorICAgICAgICAoYm9keSk6CisKIDIwMTEtMDkt
MTAgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGJl
bmVhdGggV0tVUkxJc0VxdWFsKCkgd2hlbiByZWxvYWRpbmcgaW4gTWluaUJyb3dzZXIuCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KaW5kZXggMjQyNjUxZC4uZTgx
MDg2YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUu
cHJvCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwpAQCAt
NTMsMyArNTMsNSBAQCB3aW5jZSo6IHsKIAogREVGSU5FUyArPSBVU0VfU1lTVEVNX01BTExPQz0x
CiBERUZJTkVTIC09IFFUX0FTQ0lJX0NBU1RfV0FSTklOR1MKKworUkVTT1VSQ0VTID0gRHVtcFJl
bmRlclRyZWUucXJjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucXJjIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvRHVtcFJlbmRlclRyZWUucXJjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjcxZDE2M2EKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZS5xcmMKQEAgLTAsMCArMSw1IEBACis8UkNDPgorICAgIDxxcmVzb3Vy
Y2UgcHJlZml4PSIvIj4KKyAgICAgICAgPGZpbGU+cmVzb3VyY2VzL3VzZXIuY3NzPC9maWxlPgor
ICAgIDwvcXJlc291cmNlPgorPC9SQ0M+CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9yZXNvdXJjZXMvdXNlci5jc3MgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9yZXNvdXJj
ZXMvdXNlci5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYzOTgxOQot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L3Jlc291cmNlcy91c2Vy
LmNzcwpAQCAtMCwwICsxLDQgQEAKK2JvZHkgeworICAgIGZvbnQtc2l6ZTogNTBweDsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAyNTUsIDApOworfQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVz
dFJ1bm5lci5wcm8gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIu
cHJvCmluZGV4IDhlMTA3MjAuLmU2YzcwOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybwpAQCAtNjUsMyArNjUsNSBAQCBsaW51eC0qIHsKIAog
aW5jbHVkZSguLi8uLi8uLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJp
KQogcHJlcGVuZEphdmFTY3JpcHRDb3JlTGliKC4uLy4uL0phdmFTY3JpcHRDb3JlKQorCitSRVNP
VVJDRVMgPSBXZWJLaXRUZXN0UnVubmVyLnFyYwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5x
cmMgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucXJjCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxZDE2M2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucXJjCkBAIC0wLDAg
KzEsNSBAQAorPFJDQz4KKyAgICA8cXJlc291cmNlIHByZWZpeD0iLyI+CisgICAgICAgIDxmaWxl
PnJlc291cmNlcy91c2VyLmNzczwvZmlsZT4KKyAgICA8L3FyZXNvdXJjZT4KKzwvUkNDPgpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9yZXNvdXJjZXMvdXNlci5jc3MgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL3F0L3Jlc291cmNlcy91c2VyLmNzcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjM5ODE5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9xdC9yZXNvdXJjZXMvdXNlci5jc3MKQEAgLTAsMCArMSw0IEBACiti
b2R5IHsKKyAgICBmb250LXNpemU6IDUwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1
NSwgMjU1LCAwKTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="review"
          id="103843"
          type_id="1"
          status="+"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107231</attachid>
            <date>2011-09-13 14:37:44 -0700</date>
            <delta_ts>2011-09-14 10:43:06 -0700</delta_ts>
            <desc>Proposed Patch - indentation cleanup</desc>
            <filename>51159.patch</filename>
            <type>text/plain</type>
            <size>10789</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzNjY4ZDRkLi4xNmVkZmNiIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDkt
MTMgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFtRdF0g
UGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6OnNldFVzZXJTdHls
ZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUxMTU5CisKKyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBhIGxvY2FsIHNjaGVtZSB0
byBzZXQgYSB1c2VyIHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAgICAgcmVzb3VyY2UgVVJM
cyBhcyBhcmd1bWVudHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpLgor
CisgICAgICAgIE5ldyBwbGF0Zm9ybSBsYXlvdXQgdGVzdCBzaW5jZSB1c2VyIHN0eWxlIHNoZWV0
IGlzIHRlc3RhYmxlIGZyb20gRFJULgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0
LXFyYy1wYXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFz
dC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5
LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFNraXAgZmFz
dC9pbWFnZXMvc3VwcG9ydC1icm9rZW4taW1hZ2UtZGVsZWdhdGUuaHRtbCB0ZW1wb3JhcmlseSBv
biBNYWMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2xvYWRlci91
c2VyLXN0eWxlc2hlZXQtcXJjLXBhdGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGEyOGYxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0
LXFyYy1wYXRoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdHMgdGhhdCBh
IHFyYyBVUkwgaXMgcHJvcGVybHkgbG9hZGVkIGFzIGEgdXNlciBzdHlsZSBzaGVldC4KKworUEFT
UyA1MHB4IHJnYigyNTUsIDI1NSwgMCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvbG9hZGVyL3VzZXItc3R5bGVzaGVldC1xcmMtcGF0aC5odG1sIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY4ZDJhMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvbG9hZGVyL3VzZXItc3R5bGVzaGVl
dC1xcmMtcGF0aC5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzxwPgorICAgIFRoaXMgdGVzdHMgdGhh
dCBhIHFyYyBVUkwgaXMgcHJvcGVybHkgbG9hZGVkIGFzIGEgdXNlciBzdHlsZSBzaGVldC4KKzwv
cD4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbigncXJjOi8vL3Jlc291
cmNlcy91c2VyLmNzcycpOworICAgICAgICAKKyAgICAgICAgdmFyIGNvbXB1dGVkU3R5bGUgPSBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLAorICAgICAgICAgICAgcmVzdWx0ID0gY29t
cHV0ZWRTdHlsZS5mb250U2l6ZSA9PSAnNTBweCcgJiYgY29tcHV0ZWRTdHlsZS5iYWNrZ3JvdW5k
Q29sb3IgPT0gJ3JnYigyNTUsIDI1NSwgMCknLAorICAgICAgICAgICAgbWVzc2FnZSA9IChyZXN1
bHQgPyAnUEFTUycgOiAnRkFJTCcpICsgJyAnICsgY29tcHV0ZWRTdHlsZS5mb250U2l6ZSArICcg
JyArIGNvbXB1dGVkU3R5bGUuYmFja2dyb3VuZENvbG9yOworCisgICAgICAgIGRvY3VtZW50Lndy
aXRlKG1lc3NhZ2UpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJUaGlz
IHRlc3QgY2FuIG9ubHkgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLiIpOworICAgIH0KKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDIzZjJjYjkuLmVhYTZhMmYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxMS0wOS0xMyAgSmFycmVkIE5pY2hvbGxzICA8amFycmVkQHNlbmNoYS5jb20+
CisKKyAgICAgICAgW1F0XSBQZXJtaXQgcXJjIHJlc291cmNlcyB0byBsb2FkIGluIFFXZWJTZXR0
aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTExNTkKKyAgICAgICAgCisgICAgICAgIFBlcm1pdCBhbnkg
VVJMIHdpdGggYSBsb2NhbCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxsb3cg
cXJjCisgICAgICAgIHJlc291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5nczo6
c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
Ojp1c2VyU3R5bGVTaGVldExvY2F0aW9uQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vcXQv
S1VSTFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OktVUkw6OmZpbGVTeXN0ZW1QYXRoKToKKwog
MjAxMS0wOS0wOSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODYxCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cAppbmRleCA5NmQ3NWRiLi5jMjM3YzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTYzLDYgKzYz
LDcgQEAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5o
IgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY2hlbWVS
ZWdpc3RyeS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVy
LmgiCiAjaW5jbHVkZSAiU3BlZWNoSW5wdXQuaCIKQEAgLTY4Myw3ICs2ODQsOSBAQCB2b2lkIFBh
Z2U6OnVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFuZ2VkKCkKICAgICAvLyBGSVhNRTogRXZlbnR1
YWxseSB3ZSB3aWxsIG1vdmUgdG8gYSBtb2RlbCBvZiBqdXN0IGJlaW5nIGhhbmRlZCB0aGUgc2hl
ZXQKICAgICAvLyB0ZXh0IGluc3RlYWQgb2YgbG9hZGluZyB0aGUgVVJMIG91cnNlbHZlcy4KICAg
ICBLVVJMIHVybCA9IG1fc2V0dGluZ3MtPnVzZXJTdHlsZVNoZWV0TG9jYXRpb24oKTsKLSAgICBp
ZiAodXJsLmlzTG9jYWxGaWxlKCkpCisgICAgCisgICAgLy8gQWxsb3cgYW55IGxvY2FsIGZpbGUg
VVJMIHNjaGVtZSB0byBiZSBsb2FkZWQuCisgICAgaWYgKFNjaGVtZVJlZ2lzdHJ5OjpzaG91bGRU
cmVhdFVSTFNjaGVtZUFzTG9jYWwodXJsLnByb3RvY29sKCkpKQogICAgICAgICBtX3VzZXJTdHls
ZVNoZWV0UGF0aCA9IHVybC5maWxlU3lzdGVtUGF0aCgpOwogICAgIGVsc2UKICAgICAgICAgbV91
c2VyU3R5bGVTaGVldFBhdGggPSBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJM
UXQuY3BwCmluZGV4IDQ5ZGY1OWEuLmM4ZjllZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQv
S1VSTFF0LmNwcApAQCAtNDMsMTAgKzQzLDE3IEBAIEtVUkw6Om9wZXJhdG9yIFFVcmwoKSBjb25z
dAogCiBTdHJpbmcgS1VSTDo6ZmlsZVN5c3RlbVBhdGgoKSBjb25zdAogewotICAgIGlmICghaXNW
YWxpZCgpIHx8ICFwcm90b2NvbElzKCJmaWxlIikpCisgICAgaWYgKCFpc1ZhbGlkKCkpCiAgICAg
ICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxRVXJsPigqdGhp
cykudG9Mb2NhbEZpbGUoKTsKKyAgICBpZiAoaXNMb2NhbEZpbGUoKSkKKyAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PFFVcmw+KCp0aGlzKS50b0xvY2FsRmlsZSgpOworCisgICAgLy8gQSB2YWxp
ZCBxcmMgcmVzb3VyY2UgcGF0aCBiZWdpbnMgd2l0aCBhIGNvbG9uLgorICAgIGlmIChwcm90b2Nv
bElzKCJxcmMiKSkKKyAgICAgICAgcmV0dXJuICI6IiArIHBhdGgoKTsKKworICAgIHJldHVybiBT
dHJpbmcoKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA3NzAyZjQwLi5kOWU2OTU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTA5LTEzICBKYXJyZWQgTmljaG9sbHMg
IDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBbUXRdIFBlcm1pdCBxcmMgcmVzb3VyY2Vz
IHRvIGxvYWQgaW4gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTE1OQorICAgICAgICAK
KyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBhIGxvY2FsIHNjaGVtZSB0byBzZXQgYSB1c2Vy
IHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAgICAgcmVzb3VyY2UgVVJMcyBhcyBhcmd1bWVu
dHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpLgorICAgICAgICAKKyAg
ICAgICAgTmV3IHRlc3QgY2FzZSBtYWtlcyBzdXJlIGEgcXJjIFVSTCB3aWxsIHByb3Blcmx5IGxv
YWQgYSB1c2VyIHN0eWxlc2hlZXQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisgICAgICAgIAorICAgICAgICAodHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVldEZyb21R
cmNVcmwpOgorICAgICAgICAqIHRlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmM6CisKIDIw
MTEtMDktMTAgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgogCiAgICAgICAg
IFtRdF0gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpIGRvZXMgbm90IHdvcmsg
d2l0aCB3aW5kb3dzIHBhdGhzIHRoYXQgY29udGFpbiBkcml2ZSBsZXR0ZXJzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAKaW5kZXggZDA2M2Y4
Yy4uMGNkNjM4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90
c3RfcXdlYnBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0
X3F3ZWJwYWdlLmNwcApAQCAtMTAyLDYgKzEwMiw3IEBAIHByaXZhdGUgc2xvdHM6CiAgICAgdm9p
ZCBhY2NlcHROYXZpZ2F0aW9uUmVxdWVzdFdpdGhOZXdXaW5kb3coKTsKICAgICB2b2lkIHVzZXJT
dHlsZVNoZWV0KCk7CiAgICAgdm9pZCB1c2VyU3R5bGVTaGVldEZyb21Mb2NhbEZpbGVVcmwoKTsK
KyAgICB2b2lkIHVzZXJTdHlsZVNoZWV0RnJvbVFyY1VybCgpOwogICAgIHZvaWQgbG9hZEh0bWw1
VmlkZW8oKTsKICAgICB2b2lkIG1vZGlmaWVkKCk7CiAgICAgdm9pZCBjb250ZXh0TWVudUNyYXNo
KCk7CkBAIC00OTAsNiArNDkxLDE5IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjp1c2VyU3R5bGVTaGVl
dEZyb21Mb2NhbEZpbGVVcmwoKQogICAgIFFDT01QQVJFKG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0
ZWRVcmxzLmF0KDApLCBRVXJsKCJodHRwOi8vZG9lcy5ub3QvZXhpc3QucG5nIikpOwogfQogCit2
b2lkIHRzdF9RV2ViUGFnZTo6dXNlclN0eWxlU2hlZXRGcm9tUXJjVXJsKCkKK3sKKyAgICBUZXN0
TmV0d29ya01hbmFnZXIqIG5ldHdvcmtNYW5hZ2VyID0gbmV3IFRlc3ROZXR3b3JrTWFuYWdlciht
X3BhZ2UpOworICAgIG1fcGFnZS0+c2V0TmV0d29ya0FjY2Vzc01hbmFnZXIobmV0d29ya01hbmFn
ZXIpOworCisgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRVc2VyU3R5bGVTaGVldFVybChRVXJs
KCJxcmM6Ly8vcmVzb3VyY2VzL3VzZXIuY3NzIikpOworICAgIG1fdmlldy0+c2V0SHRtbCgiPHA+
aGVsbG8gd29ybGQ8L3A+Iik7CisgICAgUVZFUklGWSg6OndhaXRGb3JTaWduYWwobV92aWV3LCBT
SUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSkpOworCisgICAgUVZFUklGWShuZXR3b3JrTWFuYWdl
ci0+cmVxdWVzdGVkVXJscy5jb3VudCgpID49IDEpOworICAgIFFDT01QQVJFKG5ldHdvcmtNYW5h
Z2VyLT5yZXF1ZXN0ZWRVcmxzLmF0KDApLCBRVXJsKCJodHRwOi8vZG9lcy5ub3QvZXhpc3QucG5n
IikpOworfQorCiB2b2lkIHRzdF9RV2ViUGFnZTo6bG9hZEh0bWw1VmlkZW8oKQogewogI2lmIGRl
ZmluZWQoV1RGX1VTRV9RVF9NVUxUSU1FRElBKSAmJiBXVEZfVVNFX1FUX01VTFRJTUVESUEKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLnFy
YyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLnFyYwppbmRl
eCBhMGVmYWJlLi5hZTE4MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3
ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMKKysrIGIvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2Vi
cGFnZS90c3RfcXdlYnBhZ2UucXJjCkBAIC04LDYgKzgsNyBAQAogICAgIDxmaWxlPnJlc291cmNl
cy9pZnJhbWUzLmh0bWw8L2ZpbGU+CiAgICAgPGZpbGU+cmVzb3VyY2VzL2ZyYW1lZGluZGV4Lmh0
bWw8L2ZpbGU+CiAgICAgPGZpbGU+cmVzb3VyY2VzL2NvbnRlbnQuaHRtbDwvZmlsZT4KKyAgICA8
ZmlsZT5yZXNvdXJjZXMvdXNlci5jc3M8L2ZpbGU+CiA8L3FyZXNvdXJjZT4KIDwvUkNDPgogCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2YwZTMx
OC4uYjU0NjQzMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTA5LTEzICBKYXJyZWQgTmljaG9sbHMgIDxqYXJy
ZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBbUXRdIFBlcm1pdCBxcmMgcmVzb3VyY2VzIHRvIGxv
YWQgaW4gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTE1OQorCisgICAgICAgIFBlcm1p
dCBhbnkgVVJMIHdpdGggYSBsb2NhbCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4g
QWxsb3cgcXJjCisgICAgICAgIHJlc291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0
aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4KKyAgICAgICAgCisgICAgICAgIEFkZCBEUlQv
V0tUUiBxcmMgcmVzb3VyY2UgdG8gdGVzdCBsb2FkaW5nIHVzZXIgc3R5bGUgc2hlZXRzIGZyb20g
YSBxcmMgVVJMLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnFyYzogQWRkZWQuCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvcmVzb3VyY2VzL3VzZXIuY3NzOiBBZGRlZC4KKyAgICAgICAgKGJvZHkp
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm86Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnFyYzogQWRkZWQu
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9xdC9yZXNvdXJjZXMvdXNlci5jc3M6IEFkZGVk
LgorICAgICAgICAoYm9keSk6CisKIDIwMTEtMDktMTAgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIENyYXNoIGJlbmVhdGggV0tVUkxJc0VxdWFsKCkgd2hlbiBy
ZWxvYWRpbmcgaW4gTWluaUJyb3dzZXIuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVu
ZGVyVHJlZS5wcm8KaW5kZXggMjQyNjUxZC4uZTgxMDg2YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwpAQCAtNTMsMyArNTMsNSBAQCB3aW5jZSo6IHsKIAog
REVGSU5FUyArPSBVU0VfU1lTVEVNX01BTExPQz0xCiBERUZJTkVTIC09IFFUX0FTQ0lJX0NBU1Rf
V0FSTklOR1MKKworUkVTT1VSQ0VTID0gRHVtcFJlbmRlclRyZWUucXJjClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJl
bmRlclRyZWUucXJjIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucXJj
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxZDE2M2EKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5xcmMKQEAgLTAs
MCArMSw1IEBACis8UkNDPgorICAgIDxxcmVzb3VyY2UgcHJlZml4PSIvIj4KKyAgICAgICAgPGZp
bGU+cmVzb3VyY2VzL3VzZXIuY3NzPC9maWxlPgorICAgIDwvcXJlc291cmNlPgorPC9SQ0M+CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9yZXNvdXJjZXMvdXNlci5jc3MgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9yZXNvdXJjZXMvdXNlci5jc3MKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYWYzOTgxOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L3Jlc291cmNlcy91c2VyLmNzcwpAQCAtMCwwICsxLDQgQEAKK2JvZHkg
eworICAgIGZvbnQtc2l6ZTogNTBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAy
NTUsIDApOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8gYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvCmluZGV4IDhlMTA3MjAuLmU2YzcwOTQg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5w
cm8KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnBybwpA
QCAtNjUsMyArNjUsNSBAQCBsaW51eC0qIHsKIAogaW5jbHVkZSguLi8uLi8uLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpKQogcHJlcGVuZEphdmFTY3JpcHRDb3JlTGli
KC4uLy4uL0phdmFTY3JpcHRDb3JlKQorCitSRVNPVVJDRVMgPSBXZWJLaXRUZXN0UnVubmVyLnFy
YwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5xcmMgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L3F0L1dlYktpdFRlc3RSdW5uZXIucXJjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjcxZDE2M2EKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0
L1dlYktpdFRlc3RSdW5uZXIucXJjCkBAIC0wLDAgKzEsNSBAQAorPFJDQz4KKyAgICA8cXJlc291
cmNlIHByZWZpeD0iLyI+CisgICAgICAgIDxmaWxlPnJlc291cmNlcy91c2VyLmNzczwvZmlsZT4K
KyAgICA8L3FyZXNvdXJjZT4KKzwvUkNDPgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9yZXNvdXJjZXMvdXNlci5jc3MgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L3Jl
c291cmNlcy91c2VyLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjM5
ODE5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9yZXNvdXJj
ZXMvdXNlci5jc3MKQEAgLTAsMCArMSw0IEBACitib2R5IHsKKyAgICBmb250LXNpemU6IDUwcHg7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAwKTsKK30KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107353</attachid>
            <date>2011-09-14 10:43:06 -0700</date>
            <delta_ts>2011-09-20 09:41:06 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>51159.patch</filename>
            <type>text/plain</type>
            <size>10738</size>
            <attacher name="Jarred Nicholls">jarred</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMDAzOGM1Li43MzkzMjYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDkt
MTQgIEphcnJlZCBOaWNob2xscyAgPGphcnJlZEBzZW5jaGEuY29tPgorCisgICAgICAgIFtRdF0g
UGVybWl0IHFyYyByZXNvdXJjZXMgdG8gbG9hZCBpbiBRV2ViU2V0dGluZ3M6OnNldFVzZXJTdHls
ZVNoZWV0VXJsKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUxMTU5CisKKyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBhIGxvY2FsIHNjaGVtZSB0
byBzZXQgYSB1c2VyIHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAgICAgcmVzb3VyY2UgVVJM
cyBhcyBhcmd1bWVudHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpLgor
CisgICAgICAgIE5ldyBwbGF0Zm9ybSBsYXlvdXQgdGVzdCBzaW5jZSB1c2VyIHN0eWxlIHNoZWV0
IGlzIHRlc3RhYmxlIGZyb20gRFJULgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0
LXFyYy1wYXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFz
dC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWw6IEFkZGVkLgorCiAyMDExLTA5
LTEzICBEYXZpZCBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNTAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvbG9hZGVyL3VzZXItc3R5bGVzaGVldC1xcmMtcGF0aC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2xvYWRlci91c2VyLXN0eWxl
c2hlZXQtcXJjLXBhdGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjY4YTI4ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9mYXN0L2xvYWRlci91c2VyLXN0eWxlc2hlZXQtcXJjLXBhdGgtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMyBAQAorVGhpcyB0ZXN0cyB0aGF0IGEgcXJjIFVSTCBpcyBwcm9wZXJseSBsb2FkZWQg
YXMgYSB1c2VyIHN0eWxlIHNoZWV0LgorCitQQVNTIDUwcHggcmdiKDI1NSwgMjU1LCAwKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNo
ZWV0LXFyYy1wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2xvYWRlci91
c2VyLXN0eWxlc2hlZXQtcXJjLXBhdGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zNjhkMmEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9sb2FkZXIvdXNlci1zdHlsZXNoZWV0LXFyYy1wYXRoLmh0bWwKQEAgLTAsMCArMSwx
OCBAQAorPHA+CisgICAgVGhpcyB0ZXN0cyB0aGF0IGEgcXJjIFVSTCBpcyBwcm9wZXJseSBsb2Fk
ZWQgYXMgYSB1c2VyIHN0eWxlIHNoZWV0LgorPC9wPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0VXNlclN0eWxlU2hl
ZXRFbmFibGVkKHRydWUpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRVc2VyU3R5
bGVTaGVldExvY2F0aW9uKCdxcmM6Ly8vcmVzb3VyY2VzL3VzZXIuY3NzJyk7CisgICAgICAgIAor
ICAgICAgICB2YXIgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9k
eSksCisgICAgICAgICAgICByZXN1bHQgPSBjb21wdXRlZFN0eWxlLmZvbnRTaXplID09ICc1MHB4
JyAmJiBjb21wdXRlZFN0eWxlLmJhY2tncm91bmRDb2xvciA9PSAncmdiKDI1NSwgMjU1LCAwKScs
CisgICAgICAgICAgICBtZXNzYWdlID0gKHJlc3VsdCA/ICdQQVNTJyA6ICdGQUlMJykgKyAnICcg
KyBjb21wdXRlZFN0eWxlLmZvbnRTaXplICsgJyAnICsgY29tcHV0ZWRTdHlsZS5iYWNrZ3JvdW5k
Q29sb3I7CisKKyAgICAgICAgZG9jdW1lbnQud3JpdGUobWVzc2FnZSk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgZG9jdW1lbnQud3JpdGUoIlRoaXMgdGVzdCBjYW4gb25seSBiZSBydW4gaW4gRHVt
cFJlbmRlclRyZWUuIik7CisgICAgfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhmYTRjZS4u
NTRiOWNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTA5LTE0ICBKYXJyZWQg
TmljaG9sbHMgIDxqYXJyZWRAc2VuY2hhLmNvbT4KKworICAgICAgICBbUXRdIFBlcm1pdCBxcmMg
cmVzb3VyY2VzIHRvIGxvYWQgaW4gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTE1OQor
ICAgICAgICAKKyAgICAgICAgUGVybWl0IGFueSBVUkwgd2l0aCBhIGxvY2FsIHNjaGVtZSB0byBz
ZXQgYSB1c2VyIHN0eWxlIHNoZWV0LiBBbGxvdyBxcmMKKyAgICAgICAgcmVzb3VyY2UgVVJMcyBh
cyBhcmd1bWVudHMgdG8gUVdlYlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpLgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9QYWdl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFu
Z2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9LVVJMUXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6S1VSTDo6ZmlsZVN5c3RlbVBhdGgpOgorCiAyMDExLTA5LTE0ICBNaWtlIFJlZWQgIDxyZWVk
QGdvb2dsZS5jb20+CiAKICAgICAgICAgcXVlcnkgU3lzdGVtUGFyYW1ldGVyc0luZm8gZm9yIEdE
SSBmb250IHNtb290aGluZyBzZXR0aW5ncwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggOTZkNzVkYi4u
YzIzN2M0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSAi
UmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJSZW5kZXJXaWRnZXQuaCIKICNpbmNsdWRlICJSdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKICNpbmNs
dWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlNw
ZWVjaElucHV0LmgiCkBAIC02ODMsNyArNjg0LDkgQEAgdm9pZCBQYWdlOjp1c2VyU3R5bGVTaGVl
dExvY2F0aW9uQ2hhbmdlZCgpCiAgICAgLy8gRklYTUU6IEV2ZW50dWFsbHkgd2Ugd2lsbCBtb3Zl
IHRvIGEgbW9kZWwgb2YganVzdCBiZWluZyBoYW5kZWQgdGhlIHNoZWV0CiAgICAgLy8gdGV4dCBp
bnN0ZWFkIG9mIGxvYWRpbmcgdGhlIFVSTCBvdXJzZWx2ZXMuCiAgICAgS1VSTCB1cmwgPSBtX3Nl
dHRpbmdzLT51c2VyU3R5bGVTaGVldExvY2F0aW9uKCk7Ci0gICAgaWYgKHVybC5pc0xvY2FsRmls
ZSgpKQorICAgIAorICAgIC8vIEFsbG93IGFueSBsb2NhbCBmaWxlIFVSTCBzY2hlbWUgdG8gYmUg
bG9hZGVkLgorICAgIGlmIChTY2hlbWVSZWdpc3RyeTo6c2hvdWxkVHJlYXRVUkxTY2hlbWVBc0xv
Y2FsKHVybC5wcm90b2NvbCgpKSkKICAgICAgICAgbV91c2VyU3R5bGVTaGVldFBhdGggPSB1cmwu
ZmlsZVN5c3RlbVBhdGgoKTsKICAgICBlbHNlCiAgICAgICAgIG1fdXNlclN0eWxlU2hlZXRQYXRo
ID0gU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJM
UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvS1VSTFF0LmNwcAppbmRleCA0OWRm
NTlhLi5jOGY5ZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9LVVJM
UXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0tVUkxRdC5jcHAKQEAgLTQz
LDEwICs0MywxNyBAQCBLVVJMOjpvcGVyYXRvciBRVXJsKCkgY29uc3QKIAogU3RyaW5nIEtVUkw6
OmZpbGVTeXN0ZW1QYXRoKCkgY29uc3QKIHsKLSAgICBpZiAoIWlzVmFsaWQoKSB8fCAhcHJvdG9j
b2xJcygiZmlsZSIpKQorICAgIGlmICghaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gU3RyaW5n
KCk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UVVybD4oKnRoaXMpLnRvTG9jYWxGaWxlKCk7
CisgICAgaWYgKGlzTG9jYWxGaWxlKCkpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxRVXJs
PigqdGhpcykudG9Mb2NhbEZpbGUoKTsKKworICAgIC8vIEEgdmFsaWQgcXJjIHJlc291cmNlIHBh
dGggYmVnaW5zIHdpdGggYSBjb2xvbi4KKyAgICBpZiAocHJvdG9jb2xJcygicXJjIikpCisgICAg
ICAgIHJldHVybiAiOiIgKyBwYXRoKCk7CisKKyAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggZTYxOWRjYS4uYjRhZWY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMS0wOS0xNCAgSmFycmVkIE5pY2hvbGxzICA8amFycmVkQHNlbmNoYS5j
b20+CisKKyAgICAgICAgW1F0XSBQZXJtaXQgcXJjIHJlc291cmNlcyB0byBsb2FkIGluIFFXZWJT
ZXR0aW5nczo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTExNTkKKyAgICAgICAgCisgICAgICAgIFBlcm1pdCBh
bnkgVVJMIHdpdGggYSBsb2NhbCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxs
b3cgcXJjCisgICAgICAgIHJlc291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5n
czo6c2V0VXNlclN0eWxlU2hlZXRVcmwoKS4KKyAgICAgICAgCisgICAgICAgIE5ldyB0ZXN0IGNh
c2UgbWFrZXMgc3VyZSBhIHFyYyBVUkwgd2lsbCBwcm9wZXJseSBsb2FkIGEgdXNlciBzdHlsZXNo
ZWV0LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgKHRzdF9RV2ViUGFnZTo6dXNlclN0eWxlU2hlZXRGcm9tUXJjVXJsKToKKyAgICAgICAg
KiB0ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UucXJjOgorCiAyMDExLTA5LTEzICBaZW5vIEFs
Ymlzc2VyICA8emVuby5hbGJpc3NlckBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBGaXggc3Rh
dGUgb2Ygc3RvcC9yZWxvYWQgYWN0aW9ucyBpbiBRV2ViUGFnZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktp
dC9xdC90ZXN0cy9xd2VicGFnZS90c3RfcXdlYnBhZ2UuY3BwCmluZGV4IGQ3YjU2ZmUuLjU1NThj
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJw
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFn
ZS5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgYWNjZXB0
TmF2aWdhdGlvblJlcXVlc3RXaXRoTmV3V2luZG93KCk7CiAgICAgdm9pZCB1c2VyU3R5bGVTaGVl
dCgpOwogICAgIHZvaWQgdXNlclN0eWxlU2hlZXRGcm9tTG9jYWxGaWxlVXJsKCk7CisgICAgdm9p
ZCB1c2VyU3R5bGVTaGVldEZyb21RcmNVcmwoKTsKICAgICB2b2lkIGxvYWRIdG1sNVZpZGVvKCk7
CiAgICAgdm9pZCBtb2RpZmllZCgpOwogICAgIHZvaWQgY29udGV4dE1lbnVDcmFzaCgpOwpAQCAt
NTA0LDYgKzUwNSwxOSBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6dXNlclN0eWxlU2hlZXRGcm9tTG9j
YWxGaWxlVXJsKCkKICAgICBRQ09NUEFSRShuZXR3b3JrTWFuYWdlci0+cmVxdWVzdGVkVXJscy5h
dCgwKSwgUVVybCgiaHR0cDovL2RvZXMubm90L2V4aXN0LnBuZyIpKTsKIH0KIAordm9pZCB0c3Rf
UVdlYlBhZ2U6OnVzZXJTdHlsZVNoZWV0RnJvbVFyY1VybCgpCit7CisgICAgVGVzdE5ldHdvcmtN
YW5hZ2VyKiBuZXR3b3JrTWFuYWdlciA9IG5ldyBUZXN0TmV0d29ya01hbmFnZXIobV9wYWdlKTsK
KyAgICBtX3BhZ2UtPnNldE5ldHdvcmtBY2Nlc3NNYW5hZ2VyKG5ldHdvcmtNYW5hZ2VyKTsKKwor
ICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0VXNlclN0eWxlU2hlZXRVcmwoUVVybCgicXJjOi8v
L3Jlc291cmNlcy91c2VyLmNzcyIpKTsKKyAgICBtX3ZpZXctPnNldEh0bWwoIjxwPmhlbGxvIHdv
cmxkPC9wPiIpOworICAgIFFWRVJJRlkoOjp3YWl0Rm9yU2lnbmFsKG1fdmlldywgU0lHTkFMKGxv
YWRGaW5pc2hlZChib29sKSkpKTsKKworICAgIFFWRVJJRlkobmV0d29ya01hbmFnZXItPnJlcXVl
c3RlZFVybHMuY291bnQoKSA+PSAxKTsKKyAgICBRQ09NUEFSRShuZXR3b3JrTWFuYWdlci0+cmVx
dWVzdGVkVXJscy5hdCgwKSwgUVVybCgiaHR0cDovL2RvZXMubm90L2V4aXN0LnBuZyIpKTsKK30K
Kwogdm9pZCB0c3RfUVdlYlBhZ2U6OmxvYWRIdG1sNVZpZGVvKCkKIHsKICNpZiBkZWZpbmVkKFdU
Rl9VU0VfUVRfTVVMVElNRURJQSkgJiYgV1RGX1VTRV9RVF9NVUxUSU1FRElBCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5xcmMKaW5kZXggN2RkYzQ2
Mi4uYWI3OGRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC90ZXN0cy9xd2VicGFnZS90
c3RfcXdlYnBhZ2UucXJjCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0
X3F3ZWJwYWdlLnFyYwpAQCAtOSw2ICs5LDcgQEAKICAgICA8ZmlsZT5yZXNvdXJjZXMvZnJhbWVk
aW5kZXguaHRtbDwvZmlsZT4KICAgICA8ZmlsZT5yZXNvdXJjZXMvY29udGVudC5odG1sPC9maWxl
PgogICAgIDxmaWxlPnJlc291cmNlcy9zY3JpcHQuaHRtbDwvZmlsZT4KKyAgICA8ZmlsZT5yZXNv
dXJjZXMvdXNlci5jc3M8L2ZpbGU+CiA8L3FyZXNvdXJjZT4KIDwvUkNDPgogCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDBmZjgzNC4uNzE5MTU5
MSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDExLTA5LTE0ICBKYXJyZWQgTmljaG9sbHMgIDxqYXJyZWRAc2VuY2hh
LmNvbT4KKworICAgICAgICBbUXRdIFBlcm1pdCBxcmMgcmVzb3VyY2VzIHRvIGxvYWQgaW4gUVdl
YlNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldFVybCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTE1OQorCisgICAgICAgIFBlcm1pdCBhbnkgVVJM
IHdpdGggYSBsb2NhbCBzY2hlbWUgdG8gc2V0IGEgdXNlciBzdHlsZSBzaGVldC4gQWxsb3cgcXJj
CisgICAgICAgIHJlc291cmNlIFVSTHMgYXMgYXJndW1lbnRzIHRvIFFXZWJTZXR0aW5nczo6c2V0
VXNlclN0eWxlU2hlZXRVcmwoKS4KKyAgICAgICAgCisgICAgICAgIEFkZCBEUlQvV0tUUiBxcmMg
cmVzb3VyY2UgdG8gdGVzdCBsb2FkaW5nIHVzZXIgc3R5bGUgc2hlZXRzIGZyb20gYSBxcmMgVVJM
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlLnFyYzogQWRkZWQuCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvcXQvcmVzb3VyY2VzL3VzZXIuY3NzOiBBZGRlZC4KKyAgICAgICAgKGJvZHkpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm86CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVyLnFyYzogQWRkZWQuCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9xdC9yZXNvdXJjZXMvdXNlci5jc3M6IEFkZGVkLgorICAgICAg
ICAoYm9keSk6CisKIDIwMTEtMDktMTQgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgb2Jzb2xldGUgV2ViVmlld0NsaWVu
dCBtZXRob2RzIGZyb20gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZS5wcm8KaW5kZXggMjQyNjUxZC4uZTgxMDg2YSAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwpAQCAtNTMsMyArNTMsNSBAQCB3aW5jZSo6
IHsKIAogREVGSU5FUyArPSBVU0VfU1lTVEVNX01BTExPQz0xCiBERUZJTkVTIC09IFFUX0FTQ0lJ
X0NBU1RfV0FSTklOR1MKKworUkVTT1VSQ0VTID0gRHVtcFJlbmRlclRyZWUucXJjClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWUucXJjIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWUucXJjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxZDE2M2EKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5xcmMK
QEAgLTAsMCArMSw1IEBACis8UkNDPgorICAgIDxxcmVzb3VyY2UgcHJlZml4PSIvIj4KKyAgICAg
ICAgPGZpbGU+cmVzb3VyY2VzL3VzZXIuY3NzPC9maWxlPgorICAgIDwvcXJlc291cmNlPgorPC9S
Q0M+CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9yZXNvdXJjZXMvdXNlci5j
c3MgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9yZXNvdXJjZXMvdXNlci5jc3MKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWYzOTgxOQotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L3Jlc291cmNlcy91c2VyLmNzcwpAQCAtMCwwICsxLDQgQEAK
K2JvZHkgeworICAgIGZvbnQtc2l6ZTogNTBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
MjU1LCAyNTUsIDApOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5wcm8gYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucHJvCmluZGV4IDhlMTA3MjAuLmU2
YzcwOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1
bm5lci5wcm8KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9XZWJLaXRUZXN0UnVubmVy
LnBybwpAQCAtNjUsMyArNjUsNSBAQCBsaW51eC0qIHsKIAogaW5jbHVkZSguLi8uLi8uLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUucHJpKQogcHJlcGVuZEphdmFTY3JpcHRD
b3JlTGliKC4uLy4uL0phdmFTY3JpcHRDb3JlKQorCitSRVNPVVJDRVMgPSBXZWJLaXRUZXN0UnVu
bmVyLnFyYwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvcXQvV2ViS2l0VGVzdFJ1bm5lci5xcmMgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucXJjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjcxZDE2M2EKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL3F0L1dlYktpdFRlc3RSdW5uZXIucXJjCkBAIC0wLDAgKzEsNSBAQAorPFJDQz4KKyAgICA8
cXJlc291cmNlIHByZWZpeD0iLyI+CisgICAgICAgIDxmaWxlPnJlc291cmNlcy91c2VyLmNzczwv
ZmlsZT4KKyAgICA8L3FyZXNvdXJjZT4KKzwvUkNDPgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9xdC9yZXNvdXJjZXMvdXNlci5jc3MgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L3F0L3Jlc291cmNlcy91c2VyLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5hZjM5ODE5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9y
ZXNvdXJjZXMvdXNlci5jc3MKQEAgLTAsMCArMSw0IEBACitib2R5IHsKKyAgICBmb250LXNpemU6
IDUwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAwKTsKK30KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>