<?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>39617</bug_id>
          
          <creation_ts>2010-05-24 13:50:09 -0700</creation_ts>
          <short_desc>[GTK] Google sites do not like WebKitGTK+</short_desc>
          <delta_ts>2010-09-10 13:39:18 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoogleBug, Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>a.butenka</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>fishd</cc>
    
    <cc>joone</cc>
    
    <cc>jparent</cc>
    
    <cc>krit</cc>
    
    <cc>leoserra</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan</cc>
    
    <cc>oliver</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>229889</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-05-24 13:50:09 -0700</bug_when>
    <thetext>Many google sites give warnings about the browser not being supported, when the user agent identifies itself with anything other than the major browsers, sometimes even providing less useful/cool content. Even our addition of &apos;Safari&apos; to the User Agent does not seem to be enough. Discussing the issue with Google people has not led to a solution. To resolve the issue, I believe we should special case google domains, and identify to them as if we were Google Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229892</commentid>
    <comment_count>1</comment_count>
      <attachid>56922</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-05-24 13:53:47 -0700</bug_when>
    <thetext>Created attachment 56922
proposed fix

With this patch, even the nice fade in of various links in Google&apos;s main page start being given to us, like it is given to, say, Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229893</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-24 13:55:51 -0700</bug_when>
    <thetext>Attachment 56922 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKit/gtk/webkit/webkitprivate.h:65:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229917</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Butenko">a.butenka</who>
    <bug_when>2010-05-24 14:46:58 -0700</bug_when>
    <thetext>&gt; With this patch, even the nice fade in of various links in Google&apos;s main page start being given to us, like it is given to, say, Firefox.

Im not a reviewer, but this list of google domain looks weird. For example you already missed google.com.do in there. gmail can have issues as well i assume.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229934</commentid>
    <comment_count>4</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-05-24 15:06:56 -0700</bug_when>
    <thetext>I have not been able to find a full list of google-related domains. I think you are right about gmail, perhaps blogspot, appspot should also be included... do you have an idea of where we could get an extensive list?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229953</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Butenko">a.butenka</who>
    <bug_when>2010-05-24 15:42:37 -0700</bug_when>
    <thetext>http://www.google.com/supported_domains

but thats only google search.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229955</commentid>
    <comment_count>6</comment_count>
    <who name="Leonardo Serra">leoserra</who>
    <bug_when>2010-05-24 15:45:45 -0700</bug_when>
    <thetext>Hi,
Here[1] is an old unofficial list of Google domains, created in 2006.

[1] http://www.pronetadvertising.com/articles/googles-growing-list-of-domains.html

thanks,
leoserra</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235278</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-06-08 09:19:45 -0700</bug_when>
    <thetext>Should this realy be fixed in WebKit? Not rather in the browser, that uses WebKit? It&apos;s still a bad style to lock out unknown browsers :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241027</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-06-21 18:03:12 -0700</bug_when>
    <thetext>What&apos;s setting the user agent?  You should really be trying (as much as possible) to match the Safari UA, maybe with an additional bit to say &quot;Actual Browser Name&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241039</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-21 18:22:20 -0700</bug_when>
    <thetext>Seems like a bad idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241040</commentid>
    <comment_count>10</comment_count>
      <attachid>56922</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-21 18:23:25 -0700</bug_when>
    <thetext>Comment on attachment 56922
proposed fix

Seems like either a really bad idea, or you&apos;re trolling or both.  I mean, it&apos;s your browser, but this would be signing both Gtk&apos;s webkit to forever being a second-class citizen since its user agent can&apos;t be trusted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241046</commentid>
    <comment_count>11</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-06-21 18:31:02 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 56922 [details])
&gt; Seems like either a really bad idea, or you&apos;re trolling or both.  I mean, it&apos;s your browser, but this would be signing both Gtk&apos;s webkit to forever being a second-class citizen since its user agent can&apos;t be trusted.

No, the problem is the googles properties that are user agent rather than capability sniffing, this puts epiphany, et al in the position of being a second class citizen through no fault of their own.

Safari has in the past had to send spoofed UA strings for site compatibility.  Even google&apos;s own Chrome browser has had to spoof its UA for site compatibility.  I would say this UA spoofing should probably go into Epiphany (or whatever) but the fact is that UA spoofing is needed as long as major sites artificially limit the user experience non-major browsers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241239</commentid>
    <comment_count>12</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-06-22 06:52:11 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 56922 [details])
&gt; Seems like either a really bad idea, or you&apos;re trolling or both.  I mean, it&apos;s your browser, but this would be signing both Gtk&apos;s webkit to forever being a second-class citizen since its user agent can&apos;t be trusted.

This sounds rather awkward to me, coming from someone from Google. I would have no problem with our U-A not being trusted - perhaps it would help further the goal of stopping the U-A sniffing problem, indeed. It seems like there is a possibility of having Google handle WebKitGTK+ as safari, so I&apos;m holding on this, but my intention is to land a patch that special-cases Google if this does not get fixed server-side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241297</commentid>
    <comment_count>13</comment_count>
    <who name="Julie Parent">jparent</who>
    <bug_when>2010-06-22 09:51:15 -0700</bug_when>
    <thetext>Can you provide a concrete list of sites where you are seeing problems, what the problems are, and the UA you are using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252503</commentid>
    <comment_count>14</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-07-16 07:27:51 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Can you provide a concrete list of sites where you are seeing problems, what the problems are, and the UA you are using?

Wave says Epiphany is not supported. It does have a way of saying &apos;let me through anyway&apos;, but many users see that page and go try with Firefox instead because they think the browser doesn&apos;t work.

Google&apos;s main page does a nice fade-in effect. That is not presented to Epiphany. I&apos;m not a google power user, so I am pretty sure there are other places in which Epiphany ends up seeing a crippled version of a feature.

My current U-A:

Mozilla/5.0 (X11; U; Linux x86_64; en-gb) AppleWebKit/531.2+ (KHTML, like Gecko) Safari/531.2+ Debian/squeeze (2.30.2-3) Epiphany/2.30.2

I&apos;ve had many googlers say they would look into these problems since January. Invariably all communications came to a halt somewhere down the line after a promise of these issues being on their way to be fixed. The most promising exchange brought up the possibility of putting Epiphany in the &quot;Safari&quot; bucket for google.com (they seem to have Safari, Chrome, Firefox, IE, Opera, and &quot;other&quot; buckets, and we end up on the last one). The whole thing is quite depressing if you ask me, especially coming from someone who should be leading by example, and who has the same kind of bullshit imposed on their own browser by others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>252505</commentid>
    <comment_count>15</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-07-16 07:29:08 -0700</bug_when>
    <thetext>Oh, and &quot;fixing it for Epiphany&quot; alone is not a good enough solution for me. I don&apos;t want to have Epiphany working and Devhelp broken, and have each browser need to solve this issue, which is why I&apos;d target a solution to the engine, not the browser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262843</commentid>
    <comment_count>16</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-10 13:59:31 -0700</bug_when>
    <thetext>Youtube is also doing sniffing, now: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=567311#55</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262897</commentid>
    <comment_count>17</comment_count>
      <attachid>64054</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-10 15:55:06 -0700</bug_when>
    <thetext>Created attachment 64054
proposed fix v2

With Youtube denying us HTML5 video this has become a larger problem. This is an updated patch that spoofs the U-A also to Youtube, only spoofs if the site-specific quirks is enabled (as discussed with Xan when I wrote the original patch), and uses a HashSet in hopes of having better performance. Debian&apos;s package will be shipping this patch as of tonight (maybe tomorrow).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>262898</commentid>
    <comment_count>18</comment_count>
      <attachid>64054</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-08-10 16:10:42 -0700</bug_when>
    <thetext>Comment on attachment 64054
proposed fix v2

I&apos;d recommend spoofing as safari in case google sites make js engine assumptions if they see &quot;chrome&quot; in the ua</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263754</commentid>
    <comment_count>19</comment_count>
      <attachid>64054</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-12 05:53:03 -0700</bug_when>
    <thetext>Comment on attachment 64054
proposed fix v2

I don&apos;t understand the point of the explicit domain list.  You&apos;ll never hit it.

google.com redirects to www.google.com.

Also, I agree with oliver, you should spoof Safari instead of Chrome since you&apos;re more like Safari than Chrome.

(You&apos;d also be the only &quot;linux safari&quot; which might allow site authors to better handle/understand your spoofing)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263755</commentid>
    <comment_count>20</comment_count>
      <attachid>64054</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-12 05:53:45 -0700</bug_when>
    <thetext>Comment on attachment 64054
proposed fix v2

r- per my comments above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263879</commentid>
    <comment_count>21</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-12 10:56:43 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 64054 [details])
&gt; I don&apos;t understand the point of the explicit domain list.  You&apos;ll never hit it.
&gt; 
&gt; google.com redirects to www.google.com.

Do you mean having &apos;google.com&apos; in the explicit domain list?

&gt; Also, I agree with oliver, you should spoof Safari instead of Chrome since you&apos;re more like Safari than Chrome.

That sounds right indeed!
 
&gt; (You&apos;d also be the only &quot;linux safari&quot; which might allow site authors to better handle/understand your spoofing)

I am not sure we should keep &apos;Linux&apos; in there, though, it seems to be enough to make some sites go wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>263937</commentid>
    <comment_count>22</comment_count>
      <attachid>64252</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-12 13:24:13 -0700</bug_when>
    <thetext>Created attachment 64252
proposed patch

I brought the standard webkitgtk User Agent up-to-date with Safari&apos;s, and we now use it instead of any custom user agent when dealing with Google sites. I also took the time to refactor the functions that make up the various pieces of the U-A string. I don&apos;t think the list of domains needs to be changed. I&apos;ll research other sites requiring this kind of spoofing (hotmail comes to mind) and do follow-up patches, after we land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264159</commentid>
    <comment_count>23</comment_count>
      <attachid>64252</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-12 22:03:40 -0700</bug_when>
    <thetext>Comment on attachment 64252
proposed patch

2     // First we try a full-match, for cases such as &apos;youtube.com&apos; as opposed to
 193     // &apos;www.youtube.com&apos;.
 194     if (googleDomains.contains(host))
 195         return true;

That code will never be hit with the current list of domains.

I would not have architected this check this way.

google.* is the only one which want&apos;s a &quot;namespace&quot; an only so you can look for the string &quot;.google.&quot; and then look up the final tail in a list.  All the other domains only need .com and could have used domain postfixes instead of needing the namespace architecture.

Repeating the string &quot;google.&quot; in all of your googleDomains seems unecessary.

The above match against the shortened domain seems wrong in all of the domain examples given.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264161</commentid>
    <comment_count>24</comment_count>
      <attachid>64252</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-12 22:08:57 -0700</bug_when>
    <thetext>Comment on attachment 64252
proposed patch

My r- is perhaps a bit strong, but this code still seems confused.

WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:171
 +      googleDomains.add(&quot;gmail.com&quot;);
This always redirects to mail.google.com.  No need for explicit inclusion here.

WebKit/gtk/webkit/webkitwebsettings.cpp:223
 +      DEFINE_STATIC_LOCAL(const String, staticUA, (String::format(&quot;Mozilla/5.0 (%s; U; %s; %s) AppleWebKit/%s (KHTML, like Gecko) Version/5.0 Safari/%s&quot;,
I&apos;m surprised we don&apos;t yet have a version of String::format which can take String objects passed into it.

My only current concern with this patch is that you&apos;re casting your net a bit too wide.  Generally with site-specific spoofing the goal is to only spoof for the absolute minimum number of pages, and make it possible for there to be a path away from the spoofing.  I think that Gtk needs this patch (and will probably need it for a long time), but the end goal should be to have a world where this patch is not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264162</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-12 22:09:26 -0700</bug_when>
    <thetext>CCing Evan just in case he cares to comment about the user agent string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264165</commentid>
    <comment_count>26</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-12 22:18:31 -0700</bug_when>
    <thetext>Also, is ytimg.com a valid host?  It doesn&apos;t respond to pings or http requests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264313</commentid>
    <comment_count>27</comment_count>
      <attachid>64328</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-13 05:56:55 -0700</bug_when>
    <thetext>Created attachment 64328
proposed patch

OK, I think I now understand what you&apos;re saying - you mean the postfixes are not needed for anything that is not .google., sorry for being confused! I reworked the patch to only do the postfix checking for .google., and I do the postfix-only checks for the others, as you suggest. Let me also comment on your other messages:

&gt; My r- is perhaps a bit strong, but this code still seems confused.

It&apos;s fine, I just failed to understand what you meant.

&gt; WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:171
&gt;  +      googleDomains.add(&quot;gmail.com&quot;);
&gt; This always redirects to mail.google.com.  No need for explicit inclusion here.

I would prefer to have checks even for the redirect-only domains in case they are repurposed in any way. It&apos;s not required, sure, but it&apos;s not bad to have it either, so I would prefer keeping it.

&gt; My only current concern with this patch is that you&apos;re casting your net a bit too wide.  Generally with site-specific spoofing the goal is to only spoof for the absolute minimum number of pages, and make it possible for there to be a path away from the spoofing.  I think that Gtk needs this patch (and will probably need it for a long time), but the end goal should be to have a world where this patch is not needed.

I understand your concern, but there are a few things I would like to point out about why I planned this net to be cast widely:

First off, we don&apos;t know to which extent Google is excluding us from content based on User-Agent sniffing - the fact that I only learned about the Google images improvement after writing the patch is an example of that - not being a hardcore google user myself, it&apos;s hard for me to even try to make a list of issues. Also, there are distributions which are going to be shipping browsers with WebKitGTK+ which will not have them updated to newer versions for months, years perhaps. Even though I consider that a shortcoming of the usual distribution process of FOSS distributions, it&apos;s something we have to account for when trying to decide what to do. Doing it this way we avoid having random Google services start failing to work for those people because they started doing broken sniffing (as was the case with Youtube).

The solution is far from perfect, I agree, and I would love to not ever need this patch - I have even been trying to fix the sniffing that Google does instead since around January this year because I really hate to have this kind of thing in our code, but with the results we got up to now, I think for now it&apos;s a good first step in assuring we won&apos;t have people saying Epiphany doesn&apos;t work when the next cool pacman-style doodle comes out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264423</commentid>
    <comment_count>28</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2010-08-13 10:10:34 -0700</bug_when>
    <thetext>Without commenting on the code details, it is my personal (not speaking on behalf of the company) belief that this is your best bet.

However, I don&apos;t think this problem is specific to Google -- you just notice Google the most because Google is the most aggressive at making sites that rely on newer browser features.  E.g. the Apple HTML5 demo site, the newer Yahoo mail, etc. all have similar problems.  You might consider how this code might generalize in the future (the isGoogleDomain() check I guess could be wrapped in a isSpoofNeededDomain() later).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264547</commentid>
    <comment_count>29</comment_count>
    <who name="Alexander Butenko">a.butenka</who>
    <bug_when>2010-08-13 16:55:51 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; 
&gt; However, I don&apos;t think this problem is specific to Google -- you just notice Google the most because Google is the most aggressive at making sites that rely on newer browser features.  E.g. the Apple HTML5 demo site, the newer Yahoo mail, etc. all have similar problems.  You might consider how this code might generalize in the future (the isGoogleDomain() check I guess could be wrapped in a isSpoofNeededDomain() later).

Evan, with all the respect to google, but about what *newer browser features* you are talking about which are supported in chomium and not supported in webkitgtk? webkitgtk share webkit and js implementation with safari about which webkitgtk UA is trully telling by default.

Same problems on the google sites, yahoo mail, etc sounds like a generic bug in UA detection and not a problem with webkitgtk itself. 

Another thing, &quot;your browser is too buggy to serve&quot; way of work is a complete noncence. Developers need to see errors in order to make software &quot;not too buggy&quot;.

The other thing is that such kind of a &quot;customer protection&quot; could be a hidden marketing step to force users to switch to a googleTM browser. Thats i believe the most reasonable &quot;bug&quot;.

Well, just my 0.02c as im not a webkit dev.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264672</commentid>
    <comment_count>30</comment_count>
      <attachid>64328</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-08-14 07:50:23 -0700</bug_when>
    <thetext>Comment on attachment 64328
proposed patch

Have you tried contacting Google? There must be someone from the Chromium team who can help you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264796</commentid>
    <comment_count>31</comment_count>
      <attachid>64328</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-14 23:20:22 -0700</bug_when>
    <thetext>Comment on attachment 64328
proposed patch

I hesitate to get involved because people have strong feels here, but this patch at the wrong layer.  If an embedder of gtk-webkit wants to spoof someone else&apos;s UA string, that seems like something that should be handled by the embedder.  For example, when Chrome has spoofed a UA in the past, it&apos;s beed done at the embedding layer.

We&apos;d probably all be better off if everyone set their UA string to &quot;WebBrowser&quot;, but I don&apos;t think we&apos;re going to get there from here.  Why not spoof Safari&apos;s UA string to every site?  That&apos;s likely to give you the best compatibility, in all honesty.  Sorry.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264837</commentid>
    <comment_count>32</comment_count>
      <attachid>64328</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-15 09:37:28 -0700</bug_when>
    <thetext>Comment on attachment 64328
proposed patch

With all due respect, Adam (and I do have loads of it for you and your work), this decision is for the WebKitGTK+&apos;s team to make.

Unlike Chromium&apos;s port of WebKit, we ship a reusable library that is used by various browsers, and it is my belief that this should be handled in this layer. Please note that the spoofing is disabled by default, is only done when the embedder explicitely requests that such &quot;compatibility&quot; quirks are enabled, and can be undone by the embedder if it really wants to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264838</commentid>
    <comment_count>33</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-15 09:47:19 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; Unlike Chromium&apos;s port of WebKit, we ship a reusable library that is used by various browsers, and it is my belief that this should be handled in this layer. Please note that the spoofing is disabled by default, is only done when the embedder explicitely requests that such &quot;compatibility&quot; quirks are enabled, and can be undone by the embedder if it really wants to.

Having said that, I have no problem with moving the actual implementation to webkit/webkitwebview.cpp or webkit/webkitwebsettings.cpp, so it would be in the same place as the Mac and Windows port&apos;s spoofing code goes*. I don&apos;t think it is viable to take this out of WebKitGTK+ and into the embedder, though.

* http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebView.mm#L3461</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265115</commentid>
    <comment_count>34</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-16 08:24:16 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; (From update of attachment 64328 [details])
&gt; Have you tried contacting Google? There must be someone from the Chromium team who can help you.

Since January, I have talked to more than 10 Googlers about various issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265116</commentid>
    <comment_count>35</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-16 08:25:00 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; Also, is ytimg.com a valid host?  It doesn&apos;t respond to pings or http requests.

It&apos;s used by Youtube. Check s.ytimg.com.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>274163</commentid>
    <comment_count>36</comment_count>
      <attachid>64328</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-03 13:56:17 -0700</bug_when>
    <thetext>Comment on attachment 64328
proposed patch

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

&gt; WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp:96
&gt; +typedef HashSet&lt;String&gt; GoogleDomainsSet;
This typedef is only used once, so perhaps it&apos;s unnecessary? I think that Vector&lt;String&gt; is fairly readable.

&gt; WebKit/gtk/webkit/webkitwebsettings.cpp:207
&gt; +    uaOSVersion = String::fromUTF8(osVersion.get());
Instead of using the GOwnPtr / g_strdup_printf here, is it possible to just use String::format?

I like this patch a lot, especially the use of DEFINE_STATIC_LOCAL. If Xan agrees, I think we can r+ this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275010</commentid>
    <comment_count>37</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-09-07 06:55:07 -0700</bug_when>
    <thetext>&lt;arno_&gt; google does broken ua sniffing again with today&apos;s logo
&lt;slomo&gt; works here
[...]
&lt;kov&gt; slomo, fwiw, it might work with the debian package and not with upstream because I am shipping the patch that does u-a spoofing
&lt;slomo&gt; kov: ah... good ;)

And that&apos;s why I&apos;d like to go forward with this, do you oppose it Xan, or can I go ahead and fix the patch to take Martin&apos;s suggestions into account, then bribe him to r+ the patch? =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276453</commentid>
    <comment_count>38</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-09-09 07:50:30 -0700</bug_when>
    <thetext>Personally I don&apos;t like this change too much. I think it&apos;s a lot of code for something quite specific (why stop at Google? shouldn&apos;t we have an endless list of relevant sites with broken spoofing?). I&apos;d rather do something like trying real hard to be identified as Safari by default (which we kinda try to do anyway?), since we should be really similar to it (WebKit, JSC, etc).

In any case, if both Martin and you like this I won&apos;t oppose it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277155</commentid>
    <comment_count>39</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-09-10 06:09:03 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; Personally I don&apos;t like this change too much. I think it&apos;s a lot of code for something quite specific (why stop at Google? shouldn&apos;t we have an endless list of relevant sites with broken spoofing?). I&apos;d rather do something like trying real hard to be identified as Safari by default (which we kinda try to do anyway?), since we should be really similar to it (WebKit, JSC, etc).

I don&apos;t think of stopping at Google. I believe we&apos;ll need spoofing for any site that behaves badly, this is a first step though because many of our users rely on Google stuff.

&gt; In any case, if both Martin and you like this I won&apos;t oppose it.

Thanks, I&apos;ll finish the patch up, and land, then =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277202</commentid>
    <comment_count>40</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-10 08:24:14 -0700</bug_when>
    <thetext>Is this still an issue? I checked the recent builds for debug GTK+ and Mac Leopard and they both appear to be of the same order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277203</commentid>
    <comment_count>41</comment_count>
      <attachid>67187</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-09-10 08:25:26 -0700</bug_when>
    <thetext>Created attachment 67187
proposed patch

Here&apos;s the fixed patch with an optimistic Reviewed by line hehe. =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277213</commentid>
    <comment_count>42</comment_count>
      <attachid>67187</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-10 08:41:27 -0700</bug_when>
    <thetext>Comment on attachment 67187
proposed patch

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

&gt; WebKit/gtk/webkit/webkitwebsettings.cpp:-194
&gt; -    if (uname(&amp;name) != -1)
Hrm. I think it&apos;s slightly weird to not use the un-ifdef&apos;d return here. Perhaps change this to:
if (uname(&amp;name) != -1)
    uaOSVersion = String::format(&quot;%s %s&quot;, name.sysname, name.machine);
else
    uaOSVersion = String(&quot;Unknown&quot;);

Looks good! r=me with this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277278</commentid>
    <comment_count>43</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-09-10 10:15:31 -0700</bug_when>
    <thetext>Good point. I changed it accordingly and landed as r67211. Thanks! Enjoy Google Instant now =)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277282</commentid>
    <comment_count>44</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-10 10:22:08 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; Is this still an issue? I checked the recent builds for debug GTK+ and Mac Leopard and they both appear to be of the same order.

Please ignore this comment. I&apos;m not sure why it ended up here, other than I posted it before drinking my coffee.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277313</commentid>
    <comment_count>45</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-10 11:12:28 -0700</bug_when>
    <thetext>Seems you should have a runtime way to disable this.  Otherwise how will you ever check if it can be removed?  Unless you want this spoofing to be a permanent part of WebKitGtk...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277315</commentid>
    <comment_count>46</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-09-10 11:14:16 -0700</bug_when>
    <thetext>I assume you mean other than the site specific quirks setting? Currently, we only spoof when that setting is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277319</commentid>
    <comment_count>47</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-10 11:23:04 -0700</bug_when>
    <thetext>(In reply to comment #45)
&gt; Seems you should have a runtime way to disable this.  Otherwise how will you ever check if it can be removed?  Unless you want this spoofing to be a permanent part of WebKitGtk...

Alternatively google could have fixed this and it wouldn&apos;t have been needed -- you commented in the bug in june saying you thought it was a bad idea so had to be aware of it, and i recall telling you or someone else from google about the problem and yet nothing seems to have been done to correct it.

UA checks are bad, google engineers have given tech talks saying UA sniffing is bad. And yet there is code from google that is a) doing UA sniffing and b) blocking other browsers built on the same engine as safari and chrome...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277321</commentid>
    <comment_count>48</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-09-10 11:24:33 -0700</bug_when>
    <thetext>given that set of circumstances it&apos;s hard to see why this shouldn&apos;t be in webkit -- otherwise every other webkit/gtk (and probably -qt, wx, efl, ...) based browser would need to implement the same ua spoofing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277408</commentid>
    <comment_count>49</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-10 13:39:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67211 might have broken Leopard Intel Debug (Tests)
The following changes are on the blame list:
http://trac.webkit.org/changeset/67211
http://trac.webkit.org/changeset/67212</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56922</attachid>
            <date>2010-05-24 13:53:47 -0700</date>
            <delta_ts>2010-08-10 15:55:06 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>0001-Stop-being-treated-as-second-class-citizen-by-Google.patch</filename>
            <type>text/plain</type>
            <size>8188</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSA2NWFkNzAyYjYwYjc4ZDc5NDI4NDdiZGE2MWJiNGYzNDliM2ZmZmRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IE1vbiwgMjQgTWF5IDIwMTAgMTc6NTE6MjEgLTAzMDAKU3ViamVjdDogW1BBVENIXSBT
dG9wIGJlaW5nIHRyZWF0ZWQgYXMgc2Vjb25kIGNsYXNzIGNpdGl6ZW4gYnkgR29vZ2xlCgotLS0K
IFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAy
MCArKysrKysrKysrCiBXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
R3RrLmNwcCB8ICAgMzggKysrKysrKysrKysrKysrKysrKy0KIFdlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHByaXZhdGUuaCAgICAgICAgICAgICAgICAgIHwgICAgNCArKwogV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwICAgICAgICAgICAgfCAgIDM1ICsrKysrKysrKysrKysr
LS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggOWRiMjcyOS4uMDZkYTVkZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wNS0yNCAg
R3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBHb29nbGUgc2l0ZXMgZG8gbm90
IGxpa2UgV2ViS2l0R1RLKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Mzk2MTcKKworICAgICAgICBTcGVjaWFsLWNhc2UgR29vZ2xlIGRvbWFpbnMsIGFu
ZCBzcG9vZiBVc2VyLUFnZW50IHdoZW4gdGFsa2luZyB0bworICAgICAgICB0aGVtLCB0byBzdG9w
IGJlaW5nIHRyZWF0ZWQgYXMgYSBzZWNvbmQtY2xhc3MgY2l0aXplbi4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
aXNHb29nbGVEb21haW4pOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6dXNl
ckFnZW50KToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0ZS5oOgorICAgICAgICAqIHdl
YmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgICh3ZWJraXRfZ2V0X3BsYXRmb3Jt
KToKKyAgICAgICAgKHdlYmtpdF9nZXRfb3NfdmVyc2lvbik6CisgICAgICAgICh3ZWJraXRfZ2V0
X3VzZXJfYWdlbnQpOgorICAgICAgICAod2Via2l0X2dldF9jaHJvbWVfdXNlcl9hZ2VudCk6CisK
IDIwMTAtMDUtMjIgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKaW5kZXggZmQyZDdlZC4uMDFkZmQyYiAx
MDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5jcHAKKysrIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5jcHAKQEAgLTkxLDggKzkxLDQ0IEBAIEZyYW1lTG9hZGVyQ2xpZW50Ojp+RnJhbWVMb2FkZXJD
bGllbnQoKQogICAgICAgICBnX29iamVjdF91bnJlZihtX3BvbGljeURlY2lzaW9uKTsKIH0KIAot
U3RyaW5nIEZyYW1lTG9hZGVyQ2xpZW50Ojp1c2VyQWdlbnQoY29uc3QgS1VSTCYpCitzdGF0aWMg
Ym9vbCBpc0dvb2dsZURvbWFpbihTdHJpbmcgaG9zdCkKK3sKKyAgICBpZiAoaG9zdC5maW5kKCIu
Z29vZ2xlLiIpIHx8IGhvc3Quc3RhcnRzV2l0aCgiZ29vZ2xlLiIpKSB7CisgICAgICAgIGlmICho
b3N0LmVuZHNXaXRoKCJnb29nbGUuYml6IikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLmNvbSIp
IHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5uZXQiKQorICAgICAgICAgICAgfHwgaG9zdC5lbmRz
V2l0aCgiZ29vZ2xlLm9yZyIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5hZSIpIHx8IGhvc3Qu
ZW5kc1dpdGgoImdvb2dsZS5hZyIpCisgICAgICAgICAgICB8fCBob3N0LmVuZHNXaXRoKCJnb29n
bGUuYW0iKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUuYXQiKSB8fCBob3N0LmVuZHNXaXRoKCJn
b29nbGUuYXoiKQorICAgICAgICAgICAgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLmJlIikgfHwg
aG9zdC5lbmRzV2l0aCgiZ29vZ2xlLmJpIikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLmNhIikK
KyAgICAgICAgICAgIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5jYyIpIHx8IGhvc3QuZW5kc1dp
dGgoImdvb2dsZS5jZCIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5jZyIpCisgICAgICAgICAg
ICB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUuY2giKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUu
Y2wiKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUuY29tLmJyIikKKyAgICAgICAgICAgIHx8IGhv
c3QuZW5kc1dpdGgoImdvb2dsZS5jby51ayIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5jby5q
cCIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5kZSIpCisgICAgICAgICAgICB8fCBob3N0LmVu
ZHNXaXRoKCJnb29nbGUuZGoiKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUuZGsiKSB8fCBob3N0
LmVuZHNXaXRoKCJnb29nbGUuZXMiKQorICAgICAgICAgICAgfHwgaG9zdC5lbmRzV2l0aCgiZ29v
Z2xlLmZpIikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLmZtIikgfHwgaG9zdC5lbmRzV2l0aCgi
Z29vZ2xlLmZyIikKKyAgICAgICAgICAgIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5nZyIpIHx8
IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5nbCIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5nbSIp
CisgICAgICAgICAgICB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUuZ3MiKSB8fCBob3N0LmVuZHNX
aXRoKCJnb29nbGUuaG4iKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUuaHUiKQorICAgICAgICAg
ICAgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLmllIikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xl
Lml0IikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLmplIikKKyAgICAgICAgICAgIHx8IGhvc3Qu
ZW5kc1dpdGgoImdvb2dsZS5reiIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5saSIpIHx8IGhv
c3QuZW5kc1dpdGgoImdvb2dsZS5sdCIpCisgICAgICAgICAgICB8fCBob3N0LmVuZHNXaXRoKCJn
b29nbGUubHUiKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUubHYiKSB8fCBob3N0LmVuZHNXaXRo
KCJnb29nbGUubWEiKQorICAgICAgICAgICAgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLm1zIikg
fHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLm11IikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLm13
IikKKyAgICAgICAgICAgIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5ubCIpIHx8IGhvc3QuZW5k
c1dpdGgoImdvb2dsZS5ubyIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5udSIpCisgICAgICAg
ICAgICB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUucGwiKSB8fCBob3N0LmVuZHNXaXRoKCJnb29n
bGUucG4iKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUucHQiKQorICAgICAgICAgICAgfHwgaG9z
dC5lbmRzV2l0aCgiZ29vZ2xlLnJ1IikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLnJ3IikgfHwg
aG9zdC5lbmRzV2l0aCgiZ29vZ2xlLnNoIikKKyAgICAgICAgICAgIHx8IGhvc3QuZW5kc1dpdGgo
Imdvb2dsZS5zayIpIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS5zbSIpIHx8IGhvc3QuZW5kc1dp
dGgoImdvb2dsZS5zdCIpCisgICAgICAgICAgICB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUudGQi
KSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUudGsiKSB8fCBob3N0LmVuZHNXaXRoKCJnb29nbGUu
dHAiKQorICAgICAgICAgICAgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLnR2IikgfHwgaG9zdC5l
bmRzV2l0aCgiZ29vZ2xlLnVzIikgfHwgaG9zdC5lbmRzV2l0aCgiZ29vZ2xlLnV6IikKKyAgICAg
ICAgICAgIHx8IGhvc3QuZW5kc1dpdGgoImdvb2dsZS53cyIpKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJpbmcgRnJhbWVMb2Fk
ZXJDbGllbnQ6OnVzZXJBZ2VudChjb25zdCBLVVJMJiB1cmwpCiB7CisgICAgLy8gRm9yIEdvb2ds
ZSBkb21haW5zLCBpZGVudGlmeSBhcyBDaHJvbWUsIHNvIHRoZXkgZG9uJ3QgZ2l2ZSB1cyBhCisg
ICAgLy8gYnJva2VuIGV4cGVyaWVuY2UuCisgICAgaWYgKGlzR29vZ2xlRG9tYWluKHVybC5ob3N0
KCkpKQorICAgICAgICByZXR1cm4gd2Via2l0X2dldF9jaHJvbWVfdXNlcl9hZ2VudCgpOworCiAg
ICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0
aW5ncyhnZXRWaWV3RnJvbUZyYW1lKG1fZnJhbWUpKTsKICAgICByZXR1cm4gU3RyaW5nOjpmcm9t
VVRGOCh3ZWJraXRfd2ViX3NldHRpbmdzX2dldF91c2VyX2FnZW50KHNldHRpbmdzKSk7CiB9CmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmggYi9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRwcml2YXRlLmgKaW5kZXggMDU3YjBlNS4uNTU2OGY0ZCAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHByaXZhdGUuaApAQCAtNjIsNiArNjIsNyBAQAogI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKICNpbmNsdWRlICJXaW5kb3dGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CkBAIC0xNzgsNiArMTc5LDkg
QEAgZXh0ZXJuICJDIiB7CiAgICAgICAgIGdib29sZWFuIGRpc3Bvc2VkOwogICAgIH07CiAKKyAg
ICBXZWJDb3JlOjpTdHJpbmcKKyAgICB3ZWJraXRfZ2V0X2Nocm9tZV91c2VyX2FnZW50KCk7CisK
ICAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OkZyYW1lPgogICAgIHdlYmtpdF93ZWJfZnJhbWVfaW5p
dF93aXRoX3dlYl92aWV3KFdlYktpdFdlYlZpZXcqLCBXZWJDb3JlOjpIVE1MRnJhbWVPd25lckVs
ZW1lbnQqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGlu
Z3MuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCmluZGV4IGQ2
MWYzZmYuLmExZDgzZDkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNl
dHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAK
QEAgLTE2MywxMCArMTYzLDkgQEAgZW51bSB7CiAvLyBDcmVhdGUgYSBkZWZhdWx0IHVzZXIgYWdl
bnQgc3RyaW5nCiAvLyBUaGlzIGlzIGEgbGliZXJhbCBpbnRlcnByZXRhdGlvbiBvZiBodHRwOi8v
d3d3Lm1vemlsbGEub3JnL2J1aWxkL3JldmlzZWQtdXNlci1hZ2VudC1zdHJpbmdzLmh0bWwKIC8v
IFNlZSBhbHNvIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2ludGVybmV0L3NhZmFyaS9mYXEu
aHRtbCNhbmNob3IyCi1zdGF0aWMgU3RyaW5nIHdlYmtpdF9nZXRfdXNlcl9hZ2VudCgpCitzdGF0
aWMgU3RyaW5nIHdlYmtpdF9nZXRfcGxhdGZvcm0oKQogewotICAgIGdjaGFyKiBwbGF0Zm9ybTsK
LSAgICBnY2hhciogb3NWZXJzaW9uOworICAgIGNoYXIqIHBsYXRmb3JtOwogCiAjaWYgUExBVEZP
Uk0oWDExKQogICAgIHBsYXRmb3JtID0gZ19zdHJkdXAoIlgxMSIpOwpAQCAtMTgwLDYgKzE3OSwx
NiBAQCBzdGF0aWMgU3RyaW5nIHdlYmtpdF9nZXRfdXNlcl9hZ2VudCgpCiAgICAgcGxhdGZvcm0g
PSBnX3N0cmR1cCgiVW5rbm93biIpOwogI2VuZGlmCiAKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IFN0cmluZywgdWFQbGF0Zm9ybSwgKFN0cmluZzo6ZnJvbVVURjgocGxhdGZvcm0pKSk7
CisgICAgZ19mcmVlKHBsYXRmb3JtKTsKKworICAgIHJldHVybiB1YVBsYXRmb3JtOworfQorCitz
dGF0aWMgU3RyaW5nIHdlYmtpdF9nZXRfb3NfdmVyc2lvbigpCit7CisgICAgY2hhciogb3NWZXJz
aW9uOworCiAgICAvLyBGSVhNRTogcGxhdGZvcm0vdmVyc2lvbiBkZXRlY3Rpb24gY2FuIGJlIHNo
YXJlZC4KICNpZiBPUyhEQVJXSU4pCiAKQEAgLTIwNCwxOSArMjEzLDMxIEBAIHN0YXRpYyBTdHJp
bmcgd2Via2l0X2dldF91c2VyX2FnZW50KCkKICAgICBvc1ZlcnNpb24gPSBnX3N0cmR1cCgiVW5r
bm93biIpOwogI2VuZGlmCiAKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywg
dWFPU1ZlcnNpb24sIChTdHJpbmc6OmZyb21VVEY4KG9zVmVyc2lvbikpKTsKKworICAgIHJldHVy
biB1YU9TVmVyc2lvbjsKK30KKworc3RhdGljIFN0cmluZyB3ZWJraXRfZ2V0X3VzZXJfYWdlbnQo
KQorewogICAgIC8vIFdlIG1lbnRpb24gU2FmYXJpIHNpbmNlIG1hbnkgYnJva2VuIHNpdGVzIGNo
ZWNrIGZvciBpdCAoT21uaVdlYiBkb2VzIHRoaXMgdG9vKQogICAgIC8vIFdlIHJlLXVzZSB0aGUg
V2ViS2l0IHZlcnNpb24sIHRob3VnaCBpdCBkb2Vzbid0IHNlZW0gdG8gbWF0dGVyIG11Y2ggaW4g
cHJhY3RpY2UKIAogICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YVZlcnNp
b24sIChTdHJpbmc6OmZvcm1hdCgiJWQuJWQrIiwgV0VCS0lUX1VTRVJfQUdFTlRfTUFKT1JfVkVS
U0lPTiwgV0VCS0lUX1VTRVJfQUdFTlRfTUlOT1JfVkVSU0lPTikpKTsKICAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKGNvbnN0IFN0cmluZywgc3RhdGljVUEsIChTdHJpbmc6OmZvcm1hdCgiTW96aWxs
YS81LjAgKCVzOyBVOyAlczsgJXMpIEFwcGxlV2ViS2l0LyVzIChLSFRNTCwgbGlrZSBHZWNrbykg
U2FmYXJpLyVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybSwgb3NWZXJzaW9uLCBkZWZhdWx0TGFuZ3VhZ2Uo
KS51dGY4KCkuZGF0YSgpLCB1YVZlcnNpb24udXRmOCgpLmRhdGEoKSwgdWFWZXJzaW9uLnV0Zjgo
KS5kYXRhKCkpKSk7Ci0KLSAgICBnX2ZyZWUob3NWZXJzaW9uKTsKLSAgICBnX2ZyZWUocGxhdGZv
cm0pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHdlYmtpdF9nZXRfcGxhdGZvcm0oKS51dGY4KCkuZGF0YSgpLCB3ZWJraXRf
Z2V0X29zX3ZlcnNpb24oKS51dGY4KCkuZGF0YSgpLCBkZWZhdWx0TGFuZ3VhZ2UoKS51dGY4KCku
ZGF0YSgpLCB1YVZlcnNpb24udXRmOCgpLmRhdGEoKSwgdWFWZXJzaW9uLnV0ZjgoKS5kYXRhKCkp
KSk7CiAKICAgICByZXR1cm4gc3RhdGljVUE7CiB9CiAKK1N0cmluZyB3ZWJraXRfZ2V0X2Nocm9t
ZV91c2VyX2FnZW50KCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywg
dWFDaHJvbWUsIChTdHJpbmc6OmZvcm1hdCgiTW96aWxsYS81LjAgKCVzOyBVOyAlczsgZW4tVVMp
IEFwcGxlV2ViS2l0LzUzNC4wIChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzYuMC40MTEuMCBT
YWZhcmkvNTM0LjAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHdlYmtpdF9nZXRfcGxhdGZvcm0oKS51dGY4KCkuZGF0YSgp
LCB3ZWJraXRfZ2V0X29zX3ZlcnNpb24oKS51dGY4KCkuZGF0YSgpKSkpOworCisgICAgcmV0dXJu
IHVhQ2hyb21lOworfQorCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2ZpbmFsaXpl
KEdPYmplY3QqIG9iamVjdCk7CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3Nfc2V0
X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uc3QgR1ZhbHVlKiB2
YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpOwotLSAKMS43LjEKCg==
</data>
<flag name="review"
          id="41416"
          type_id="1"
          status="-"
          setter="eric"
    />
    <flag name="commit-queue"
          id="41417"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64054</attachid>
            <date>2010-08-10 15:55:06 -0700</date>
            <delta_ts>2010-08-12 13:24:13 -0700</delta_ts>
            <desc>proposed fix v2</desc>
            <filename>0001-Spoof-U-A-to-Google-domains.patch</filename>
            <type>text/plain</type>
            <size>10033</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSAwNWI3MDJjZWNjZDVkM2QwNTk2MjRmNzFmY2I0YWU3MzBiOTFiYzAzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IFR1ZSwgMTAgQXVnIDIwMTAgMTk6NTA6MDYgLTAzMDAKU3ViamVjdDogW1BBVENIXSBT
cG9vZiBVLUEgdG8gR29vZ2xlIGRvbWFpbnMKCi0tLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxICsrKysKIFdlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIHwgIDEyNyArKysrKysrKysrKysrKysr
KysrLQogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oICAgICAgICAgICAgICAgICAg
fCAgICA0ICsKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCAgICAgICAg
ICAgIHwgICAzNSArKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTc5IGluc2VydGlvbnMoKyksIDgg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCBkYmJhNGE5Li41NzU2NWY0IDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDEwLTA4LTEwICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtHVEtdIEdvb2ds
ZSBzaXRlcyBkbyBub3QgbGlrZSBXZWJLaXRHVEsrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTYxNworCisgICAgICAgIFNwZWNpYWwtY2FzZSBHb29n
bGUgZG9tYWlucywgYW5kIHNwb29mIFVzZXItQWdlbnQgd2hlbiB0YWxraW5nIHRvCisgICAgICAg
IHRoZW0sIHRvIHN0b3AgYmVpbmcgdHJlYXRlZCBhcyBhIHNlY29uZC1jbGFzcyBjaXRpemVuLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgorICAg
ICAgICAoV2ViS2l0Ojppbml0aWFsaXplRG9tYWluc0xpc3QpOgorICAgICAgICAoV2ViS2l0Ojpp
c0dvb2dsZURvbWFpbik6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50Ojp1c2Vy
QWdlbnQpOgorICAgICAgICAqIHdlYmtpdC93ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF9nZXRfcGxhdGZvcm0p
OgorICAgICAgICAod2Via2l0X2dldF9vc192ZXJzaW9uKToKKyAgICAgICAgKHdlYmtpdF9nZXRf
dXNlcl9hZ2VudCk6CisgICAgICAgIChjaHJvbWVVc2VyQWdlbnQpOgorCiAyMDEwLTA4LTA2ICBH
YXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSdWJi
ZXIgc3RhbXBlZCBieSBTYW0gV2VpbmlnCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IDk4YWM0YTEuLmFjMWM5ZDMgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
CisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
CkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1
ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUg
IlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlBsdWdpbkRh
dGFiYXNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyUGFydC5oIgpAQCAtOTIsOSArOTMsMTMzIEBAIEZy
YW1lTG9hZGVyQ2xpZW50Ojp+RnJhbWVMb2FkZXJDbGllbnQoKQogICAgICAgICBnX29iamVjdF91
bnJlZihtX3BvbGljeURlY2lzaW9uKTsKIH0KIAotU3RyaW5nIEZyYW1lTG9hZGVyQ2xpZW50Ojp1
c2VyQWdlbnQoY29uc3QgS1VSTCYpCit0eXBlZGVmIEhhc2hTZXQ8U3RyaW5nPiBHb29nbGVEb21h
aW5zU2V0OworCitzdGF0aWMgdm9pZCBpbml0aWFsaXplRG9tYWluc0xpc3QoR29vZ2xlRG9tYWlu
c1NldCYgZ29vZ2xlRG9tYWlucykKK3sKKyAgICAvLyBHb29nbGUgc2VhcmNoIGRvbWFpbnMsIHBs
dXMgKi5nb29nbGUuY29tLgorICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuYml6Iik7Cisg
ICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5jb20iKTsKKyAgICBnb29nbGVEb21haW5zLmFk
ZCgiZ29vZ2xlLm5ldCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUub3JnIik7Cisg
ICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5hZSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRk
KCJnb29nbGUuYWciKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmFtIik7CisgICAg
Z29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5hdCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJn
b29nbGUuYXoiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmJlIik7CisgICAgZ29v
Z2xlRG9tYWlucy5hZGQoImdvb2dsZS5iaSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29n
bGUuY2EiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmNjIik7CisgICAgZ29vZ2xl
RG9tYWlucy5hZGQoImdvb2dsZS5jZCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUu
Y2ciKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmNoIik7CisgICAgZ29vZ2xlRG9t
YWlucy5hZGQoImdvb2dsZS5jbCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuY29t
LmJyIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5jby51ayIpOworICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJnb29nbGUuY28uanAiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29v
Z2xlLmRlIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5kaiIpOworICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJnb29nbGUuZGsiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xl
LmVzIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5maSIpOworICAgIGdvb2dsZURv
bWFpbnMuYWRkKCJnb29nbGUuZm0iKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmZy
Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5nZyIpOworICAgIGdvb2dsZURvbWFp
bnMuYWRkKCJnb29nbGUuZ2wiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmdtIik7
CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5ncyIpOworICAgIGdvb2dsZURvbWFpbnMu
YWRkKCJnb29nbGUuaG4iKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmh1Iik7Cisg
ICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5pZSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRk
KCJnb29nbGUuaXQiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmplIik7CisgICAg
Z29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5reiIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJn
b29nbGUubGkiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmx0Iik7CisgICAgZ29v
Z2xlRG9tYWlucy5hZGQoImdvb2dsZS5sdSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29n
bGUubHYiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLm1hIik7CisgICAgZ29vZ2xl
RG9tYWlucy5hZGQoImdvb2dsZS5tcyIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUu
bXUiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLm13Iik7CisgICAgZ29vZ2xlRG9t
YWlucy5hZGQoImdvb2dsZS5ubCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUubm8i
KTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLm51Iik7CisgICAgZ29vZ2xlRG9tYWlu
cy5hZGQoImdvb2dsZS5wbCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUucG4iKTsK
KyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLnB0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5h
ZGQoImdvb2dsZS5ydSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUucnciKTsKKyAg
ICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLnNoIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQo
Imdvb2dsZS5zayIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuc20iKTsKKyAgICBn
b29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLnN0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdv
b2dsZS50ZCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUudGsiKTsKKyAgICBnb29n
bGVEb21haW5zLmFkZCgiZ29vZ2xlLnRwIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2ds
ZS50diIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUudXMiKTsKKyAgICBnb29nbGVE
b21haW5zLmFkZCgiZ29vZ2xlLnV6Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS53
cyIpOworCisgICAgLy8gWW91dHViZS1yZWxhdGVkIGRvbWFpbnMuCisgICAgZ29vZ2xlRG9tYWlu
cy5hZGQoInlvdXR1YmUuY29tIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInl0aW1nLmNvbSIp
OworCisgICAgLy8gR01haWwuCisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdtYWlsLmNvbSIpOwor
CisgICAgLy8gR29vZ2xlIHN0YXRpYyBmaWxlcyBkb21haW4uCisgICAgZ29vZ2xlRG9tYWlucy5h
ZGQoImdzdGF0aWMuY29tIik7Cit9CisKK3N0YXRpYyBib29sIGlzR29vZ2xlRG9tYWluKFN0cmlu
ZyBob3N0KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoSGFzaFNldDxTdHJpbmc+LCBnb29n
bGVEb21haW5zLCAoKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChWZWN0b3I8U3RyaW5nPiwg
Z29vZ2xlTmFtZXNwYWNlcywgKCkpOworCisgICAgaWYgKGdvb2dsZURvbWFpbnMuaXNFbXB0eSgp
KSB7CisgICAgICAgIGdvb2dsZU5hbWVzcGFjZXMuYXBwZW5kKCIuZ29vZ2xlLiIpOworICAgICAg
ICBnb29nbGVOYW1lc3BhY2VzLmFwcGVuZCgiLmdtYWlsLiIpOworICAgICAgICBnb29nbGVOYW1l
c3BhY2VzLmFwcGVuZCgiLnlvdXR1YmUuIik7CisgICAgICAgIGdvb2dsZU5hbWVzcGFjZXMuYXBw
ZW5kKCIuZ3N0YXRpYy4iKTsKKyAgICAgICAgZ29vZ2xlTmFtZXNwYWNlcy5hcHBlbmQoIi55dGlt
Zy4iKTsKKworICAgICAgICBpbml0aWFsaXplRG9tYWluc0xpc3QoZ29vZ2xlRG9tYWlucyk7Cisg
ICAgfQorCisgICAgLy8gRmlyc3Qgd2UgdHJ5IGEgZnVsbC1tYXRjaCwgZm9yIGNhc2VzIHN1Y2gg
YXMgJ3lvdXR1YmUuY29tJyBhcyBvcHBvc2VkIHRvCisgICAgLy8gJ3d3dy55b3V0dWJlLmNvbScu
CisgICAgaWYgKGdvb2dsZURvbWFpbnMuY29udGFpbnMoaG9zdCkpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgLy8gVGhlbiB3ZSBjaGVjayB0aGUgcG9zc2liaWxpdHkgb2YgdGhlIFVSTCBi
ZWluZyBhIHN1YmRvbWFpbiBvZiB3ZWxsLWtub3duIGdvb2dsZSBkb21haW5zLgorICAgIGZvciAo
dW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZ29vZ2xlTmFtZXNwYWNlcy5zaXplKCk7IGkrKykgewor
ICAgICAgICBpbnQgcG9zaXRpb24gPSBob3N0LmZpbmQoZ29vZ2xlTmFtZXNwYWNlcy5hdChpKSk7
CisgICAgICAgIGlmIChwb3NpdGlvbiA+IDApIHsKKyAgICAgICAgICAgIGlmIChnb29nbGVEb21h
aW5zLmNvbnRhaW5zKGhvc3Quc3Vic3RyaW5nKHBvc2l0aW9uICsgMSkpKQorICAgICAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9Cisg
ICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJpbmcgRnJhbWVMb2FkZXJDbGllbnQ6
OnVzZXJBZ2VudChjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNl
dHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyhnZXRWaWV3RnJvbUZyYW1lKG1f
ZnJhbWUpKTsKKworICAgIGdib29sZWFuIHVzZVF1aXJrczsKKyAgICBnX29iamVjdF9nZXQoc2V0
dGluZ3MsICJlbmFibGUtc2l0ZS1zcGVjaWZpYy1xdWlya3MiLCAmdXNlUXVpcmtzLCBOVUxMKTsK
KworICAgIGdfbWVzc2FnZSgidXNlUXVpcmtzOiAlZCAvICVkIC8gJXMiLCB1c2VRdWlya3MsIGlz
R29vZ2xlRG9tYWluKHVybC5ob3N0KCkpLCB1cmwuaG9zdCgpLnV0ZjgoKS5kYXRhKCkpOworCisg
ICAgLy8gRm9yIEdvb2dsZSBkb21haW5zLCBpZGVudGlmeSBhcyBDaHJvbWUsIHNvIHRoZXkgZG9u
J3QgZ2l2ZSB1cyBhIGJyb2tlbiBleHBlcmllbmNlLgorICAgIGlmICh1c2VRdWlya3MgJiYgaXNH
b29nbGVEb21haW4odXJsLmhvc3QoKSkpCisgICAgICAgIHJldHVybiBjaHJvbWVVc2VyQWdlbnQo
KTsKKwogICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KHdlYmtpdF93ZWJfc2V0dGluZ3NfZ2V0
X3VzZXJfYWdlbnQoc2V0dGluZ3MpKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0cHJpdmF0ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmlu
ZGV4IGFhMTliZWMuLmU1OTdhMWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHByaXZhdGUuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTU3
LDYgKzU3LDcgQEAKICNpbmNsdWRlICJJbnRQb2ludC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVy
Q2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3Qu
aCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCkBAIC0xOTYsNiArMTk3LDkgQEAgZXh0
ZXJuICJDIiB7CiAgICAgICAgIGdib29sZWFuIGRpc3Bvc2VkOwogICAgIH07CiAKKyAgICBXVEY6
OlN0cmluZworICAgIGNocm9tZVVzZXJBZ2VudCgpOworCiAgICAgdm9pZAogICAgIHdlYmtpdF93
ZWJfZnJhbWVfY29yZV9mcmFtZV9nb25lKFdlYktpdFdlYkZyYW1lKik7CiAKZGlmZiAtLWdpdCBh
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCBiL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAppbmRleCA3MWEzMzhjLi5hYTgxYTE2IDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKKysrIGIvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC0xNjMsMTAgKzE2Myw5IEBAIGVu
dW0gewogLy8gQ3JlYXRlIGEgZGVmYXVsdCB1c2VyIGFnZW50IHN0cmluZwogLy8gVGhpcyBpcyBh
IGxpYmVyYWwgaW50ZXJwcmV0YXRpb24gb2YgaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9idWlsZC9y
ZXZpc2VkLXVzZXItYWdlbnQtc3RyaW5ncy5odG1sCiAvLyBTZWUgYWxzbyBodHRwOi8vZGV2ZWxv
cGVyLmFwcGxlLmNvbS9pbnRlcm5ldC9zYWZhcmkvZmFxLmh0bWwjYW5jaG9yMgotc3RhdGljIFN0
cmluZyB3ZWJraXRfZ2V0X3VzZXJfYWdlbnQoKQorc3RhdGljIFN0cmluZyB3ZWJraXRfZ2V0X3Bs
YXRmb3JtKCkKIHsKLSAgICBnY2hhciogcGxhdGZvcm07Ci0gICAgZ2NoYXIqIG9zVmVyc2lvbjsK
KyAgICBjaGFyKiBwbGF0Zm9ybTsKIAogI2lmIFBMQVRGT1JNKFgxMSkKICAgICBwbGF0Zm9ybSA9
IGdfc3RyZHVwKCJYMTEiKTsKQEAgLTE4MCw2ICsxNzksMTYgQEAgc3RhdGljIFN0cmluZyB3ZWJr
aXRfZ2V0X3VzZXJfYWdlbnQoKQogICAgIHBsYXRmb3JtID0gZ19zdHJkdXAoIlVua25vd24iKTsK
ICNlbmRpZgogCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHVhUGxhdGZv
cm0sIChTdHJpbmc6OmZyb21VVEY4KHBsYXRmb3JtKSkpOworICAgIGdfZnJlZShwbGF0Zm9ybSk7
CisKKyAgICByZXR1cm4gdWFQbGF0Zm9ybTsKK30KKworc3RhdGljIFN0cmluZyB3ZWJraXRfZ2V0
X29zX3ZlcnNpb24oKQoreworICAgIGNoYXIqIG9zVmVyc2lvbjsKKwogICAgLy8gRklYTUU6IHBs
YXRmb3JtL3ZlcnNpb24gZGV0ZWN0aW9uIGNhbiBiZSBzaGFyZWQuCiAjaWYgT1MoREFSV0lOKQog
CkBAIC0yMDQsMTkgKzIxMywzMSBAQCBzdGF0aWMgU3RyaW5nIHdlYmtpdF9nZXRfdXNlcl9hZ2Vu
dCgpCiAgICAgb3NWZXJzaW9uID0gZ19zdHJkdXAoIlVua25vd24iKTsKICNlbmRpZgogCisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHVhT1NWZXJzaW9uLCAoU3RyaW5nOjpm
cm9tVVRGOChvc1ZlcnNpb24pKSk7CisKKyAgICByZXR1cm4gdWFPU1ZlcnNpb247Cit9CisKK3N0
YXRpYyBTdHJpbmcgd2Via2l0X2dldF91c2VyX2FnZW50KCkKK3sKICAgICAvLyBXZSBtZW50aW9u
IFNhZmFyaSBzaW5jZSBtYW55IGJyb2tlbiBzaXRlcyBjaGVjayBmb3IgaXQgKE9tbmlXZWIgZG9l
cyB0aGlzIHRvbykKICAgICAvLyBXZSByZS11c2UgdGhlIFdlYktpdCB2ZXJzaW9uLCB0aG91Z2gg
aXQgZG9lc24ndCBzZWVtIHRvIG1hdHRlciBtdWNoIGluIHByYWN0aWNlCiAKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFWZXJzaW9uLCAoU3RyaW5nOjpmb3JtYXQoIiVk
LiVkKyIsIFdFQktJVF9VU0VSX0FHRU5UX01BSk9SX1ZFUlNJT04sIFdFQktJVF9VU0VSX0FHRU5U
X01JTk9SX1ZFUlNJT04pKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcs
IHN0YXRpY1VBLCAoU3RyaW5nOjpmb3JtYXQoIk1vemlsbGEvNS4wICglczsgVTsgJXM7ICVzKSBB
cHBsZVdlYktpdC8lcyAoS0hUTUwsIGxpa2UgR2Vja28pIFNhZmFyaS8lcyIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxh
dGZvcm0sIG9zVmVyc2lvbiwgZGVmYXVsdExhbmd1YWdlKCkudXRmOCgpLmRhdGEoKSwgdWFWZXJz
aW9uLnV0ZjgoKS5kYXRhKCksIHVhVmVyc2lvbi51dGY4KCkuZGF0YSgpKSkpOwotCi0gICAgZ19m
cmVlKG9zVmVyc2lvbik7Ci0gICAgZ19mcmVlKHBsYXRmb3JtKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJraXRfZ2V0
X3BsYXRmb3JtKCkudXRmOCgpLmRhdGEoKSwgd2Via2l0X2dldF9vc192ZXJzaW9uKCkudXRmOCgp
LmRhdGEoKSwgZGVmYXVsdExhbmd1YWdlKCkudXRmOCgpLmRhdGEoKSwgdWFWZXJzaW9uLnV0Zjgo
KS5kYXRhKCksIHVhVmVyc2lvbi51dGY4KCkuZGF0YSgpKSkpOwogCiAgICAgcmV0dXJuIHN0YXRp
Y1VBOwogfQogCitTdHJpbmcgY2hyb21lVXNlckFnZW50KCkKK3sKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IFN0cmluZywgdWFDaHJvbWUsIChTdHJpbmc6OmZvcm1hdCgiTW96aWxsYS81
LjAgKCVzOyBVOyAlczsgZW4tVVMpIEFwcGxlV2ViS2l0LzUzNC4wIChLSFRNTCwgbGlrZSBHZWNr
bykgQ2hyb21lLzYuMC40MTEuMCBTYWZhcmkvNTM0LjAiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYmtpdF9nZXRfcGxh
dGZvcm0oKS51dGY4KCkuZGF0YSgpLCB3ZWJraXRfZ2V0X29zX3ZlcnNpb24oKS51dGY4KCkuZGF0
YSgpKSkpOworCisgICAgcmV0dXJuIHVhQ2hyb21lOworfQorCiBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3NldHRpbmdzX2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCk7CiAKIHN0YXRpYyB2b2lkIHdl
YmtpdF93ZWJfc2V0dGluZ3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJv
cF9pZCwgY29uc3QgR1ZhbHVlKiB2YWx1ZSwgR1BhcmFtU3BlYyogcHNwZWMpOwotLSAKMS43LjEK
Cg==
</data>
<flag name="review"
          id="52520"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64252</attachid>
            <date>2010-08-12 13:24:13 -0700</date>
            <delta_ts>2010-08-13 05:56:55 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Special-case-google-domains-when-sending-user-agent.patch</filename>
            <type>text/plain</type>
            <size>12258</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBkNWQyYjRhMWFiMDFhYjk1Njk1ZTVjMGUxZmNiYmRkZGE2ZGU5MzAzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IFRodSwgMTIgQXVnIDIwMTAgMTc6MTk6MzcgLTAzMDAKU3ViamVjdDogW1BBVENIXSBT
cGVjaWFsLWNhc2UgZ29vZ2xlIGRvbWFpbnMgd2hlbiBzZW5kaW5nIHVzZXItYWdlbnQKCi0tLQog
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIz
ICsrKysKIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
IHwgIDEyNiArKysrKysrKysrKysrKysrKysrLQogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJp
dmF0ZS5oICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcCAgICAgICAgICAgIHwgICA1NyArKysrKy0tLS0KIDQgZmlsZXMgY2hh
bmdlZCwgMTg1IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dl
YktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMGNjMjMxZS4u
MjJiNzM0NiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMC0wOC0xMiAgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhICA8Z25zQGdub21lLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbR1RLXSBHb29nbGUgc2l0ZXMgZG8gbm90IGxpa2UgV2ViS2l0R1RL
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk2MTcK
KworICAgICAgICBTcGVjaWFsLWNhc2UgR29vZ2xlIGRvbWFpbnMsIGFuZCBzcG9vZiBVc2VyLUFn
ZW50IHdoZW4gdGFsa2luZyB0bworICAgICAgICB0aGVtLCB0byBzdG9wIGJlaW5nIHRyZWF0ZWQg
YXMgYSBzZWNvbmQtY2xhc3MgY2l0aXplbi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZURvbWFp
bnNMaXN0KToKKyAgICAgICAgKFdlYktpdDo6aXNHb29nbGVEb21haW4pOgorICAgICAgICAoV2Vi
S2l0OjpGcmFtZUxvYWRlckNsaWVudDo6dXNlckFnZW50KTogSWYgZW5hYmxlLXNpdGUtc3BlY2lm
aWMtcXVpcmtzCisgICAgICAgIGlzIGVuYWJsZWQsIHNlbmQgdGhlIHN0YW5kYXJkIFdlYktpdCBV
c2VyLUFnZW50IHN0cmluZywgZGlzcmVnYXJkaW5nIHRoZQorICAgICAgICBjdXN0b20gb25lIHNl
dCBieSB0aGUgYnJvd3NlciBmb3IgR29vZ2xlIGRvbWFpbnMuCisgICAgICAgICogd2Via2l0L3dl
YmtpdHByaXZhdGUuaDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwOgor
ICAgICAgICAod2Via2l0UGxhdGZvcm0pOiBGaXggc3R5bGUsIGFuZCBzaW1wbGlmeS4KKyAgICAg
ICAgKHdlYmtpdE9TVmVyc2lvbik6IERpdHRvLgorICAgICAgICAod2Via2l0VXNlckFnZW50KTog
QWRkIHRoZSBWZXJzaW9uL3gueSBzdHJpbmcgU2FmYXJpIGhhcyBiZWVuCisgICAgICAgIHVzaW5n
IHNpbmNlIFNhZmFyaSAyLjIuCisKIDIwMTAtMDgtMTIgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAg
PGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmVhbGx5IGFkZCBh
IG1pc3NpbmcgZmlsZS4gSSB3aXNoIEkgd291bGQgcmVtZW1iZXIgcnVubmluZyBnaXQgYWRkCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
CmluZGV4IDk4YWM0YTEuLjFhOTRkOTIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVk
ZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmluZy5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
UGFydC5oIgpAQCAtOTIsOSArOTMsMTMyIEBAIEZyYW1lTG9hZGVyQ2xpZW50Ojp+RnJhbWVMb2Fk
ZXJDbGllbnQoKQogICAgICAgICBnX29iamVjdF91bnJlZihtX3BvbGljeURlY2lzaW9uKTsKIH0K
IAotU3RyaW5nIEZyYW1lTG9hZGVyQ2xpZW50Ojp1c2VyQWdlbnQoY29uc3QgS1VSTCYpCit0eXBl
ZGVmIEhhc2hTZXQ8U3RyaW5nPiBHb29nbGVEb21haW5zU2V0OworCitzdGF0aWMgdm9pZCBpbml0
aWFsaXplRG9tYWluc0xpc3QoR29vZ2xlRG9tYWluc1NldCYgZ29vZ2xlRG9tYWlucykKK3sKKyAg
ICAvLyBHb29nbGUgc2VhcmNoIGRvbWFpbnMsIHBsdXMgKi5nb29nbGUuY29tLgorICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJnb29nbGUuYml6Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2ds
ZS5jb20iKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLm5ldCIpOworICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJnb29nbGUub3JnIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2ds
ZS5hZSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuYWciKTsKKyAgICBnb29nbGVE
b21haW5zLmFkZCgiZ29vZ2xlLmFtIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5h
dCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuYXoiKTsKKyAgICBnb29nbGVEb21h
aW5zLmFkZCgiZ29vZ2xlLmJlIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5iaSIp
OworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuY2EiKTsKKyAgICBnb29nbGVEb21haW5z
LmFkZCgiZ29vZ2xlLmNjIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5jZCIpOwor
ICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuY2ciKTsKKyAgICBnb29nbGVEb21haW5zLmFk
ZCgiZ29vZ2xlLmNoIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5jbCIpOworICAg
IGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuY29tLmJyIik7CisgICAgZ29vZ2xlRG9tYWlucy5h
ZGQoImdvb2dsZS5jby51ayIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuY28uanAi
KTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmRlIik7CisgICAgZ29vZ2xlRG9tYWlu
cy5hZGQoImdvb2dsZS5kaiIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuZGsiKTsK
KyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmVzIik7CisgICAgZ29vZ2xlRG9tYWlucy5h
ZGQoImdvb2dsZS5maSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuZm0iKTsKKyAg
ICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmZyIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQo
Imdvb2dsZS5nZyIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuZ2wiKTsKKyAgICBn
b29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLmdtIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdv
b2dsZS5ncyIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuaG4iKTsKKyAgICBnb29n
bGVEb21haW5zLmFkZCgiZ29vZ2xlLmh1Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2ds
ZS5pZSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUuaXQiKTsKKyAgICBnb29nbGVE
b21haW5zLmFkZCgiZ29vZ2xlLmplIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5r
eiIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUubGkiKTsKKyAgICBnb29nbGVEb21h
aW5zLmFkZCgiZ29vZ2xlLmx0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5sdSIp
OworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUubHYiKTsKKyAgICBnb29nbGVEb21haW5z
LmFkZCgiZ29vZ2xlLm1hIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5tcyIpOwor
ICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUubXUiKTsKKyAgICBnb29nbGVEb21haW5zLmFk
ZCgiZ29vZ2xlLm13Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5ubCIpOworICAg
IGdvb2dsZURvbWFpbnMuYWRkKCJnb29nbGUubm8iKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgi
Z29vZ2xlLm51Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5wbCIpOworICAgIGdv
b2dsZURvbWFpbnMuYWRkKCJnb29nbGUucG4iKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29v
Z2xlLnB0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5ydSIpOworICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJnb29nbGUucnciKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xl
LnNoIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS5zayIpOworICAgIGdvb2dsZURv
bWFpbnMuYWRkKCJnb29nbGUuc20iKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLnN0
Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS50ZCIpOworICAgIGdvb2dsZURvbWFp
bnMuYWRkKCJnb29nbGUudGsiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLnRwIik7
CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS50diIpOworICAgIGdvb2dsZURvbWFpbnMu
YWRkKCJnb29nbGUudXMiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiZ29vZ2xlLnV6Iik7Cisg
ICAgZ29vZ2xlRG9tYWlucy5hZGQoImdvb2dsZS53cyIpOworCisgICAgLy8gWW91dHViZS1yZWxh
dGVkIGRvbWFpbnMuCisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInlvdXR1YmUuY29tIik7CisgICAg
Z29vZ2xlRG9tYWlucy5hZGQoInl0aW1nLmNvbSIpOworCisgICAgLy8gR01haWwuCisgICAgZ29v
Z2xlRG9tYWlucy5hZGQoImdtYWlsLmNvbSIpOworCisgICAgLy8gR29vZ2xlIHN0YXRpYyBmaWxl
cyBkb21haW4uCisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdzdGF0aWMuY29tIik7Cit9CisKK3N0
YXRpYyBib29sIGlzR29vZ2xlRG9tYWluKFN0cmluZyBob3N0KQoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoSGFzaFNldDxTdHJpbmc+LCBnb29nbGVEb21haW5zLCAoKSk7CisgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChWZWN0b3I8U3RyaW5nPiwgZ29vZ2xlTmFtZXNwYWNlcywgKCkpOworCisg
ICAgaWYgKGdvb2dsZURvbWFpbnMuaXNFbXB0eSgpKSB7CisgICAgICAgIGdvb2dsZU5hbWVzcGFj
ZXMuYXBwZW5kKCIuZ29vZ2xlLiIpOworICAgICAgICBnb29nbGVOYW1lc3BhY2VzLmFwcGVuZCgi
LmdtYWlsLiIpOworICAgICAgICBnb29nbGVOYW1lc3BhY2VzLmFwcGVuZCgiLnlvdXR1YmUuIik7
CisgICAgICAgIGdvb2dsZU5hbWVzcGFjZXMuYXBwZW5kKCIuZ3N0YXRpYy4iKTsKKyAgICAgICAg
Z29vZ2xlTmFtZXNwYWNlcy5hcHBlbmQoIi55dGltZy4iKTsKKworICAgICAgICBpbml0aWFsaXpl
RG9tYWluc0xpc3QoZ29vZ2xlRG9tYWlucyk7CisgICAgfQorCisgICAgLy8gRmlyc3Qgd2UgdHJ5
IGEgZnVsbC1tYXRjaCwgZm9yIGNhc2VzIHN1Y2ggYXMgJ3lvdXR1YmUuY29tJyBhcyBvcHBvc2Vk
IHRvCisgICAgLy8gJ3d3dy55b3V0dWJlLmNvbScuCisgICAgaWYgKGdvb2dsZURvbWFpbnMuY29u
dGFpbnMoaG9zdCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gVGhlbiB3ZSBjaGVj
ayB0aGUgcG9zc2liaWxpdHkgb2YgdGhlIFVSTCBiZWluZyBhIHN1YmRvbWFpbiBvZiB3ZWxsLWtu
b3duIGdvb2dsZSBkb21haW5zLgorICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZ29v
Z2xlTmFtZXNwYWNlcy5zaXplKCk7IGkrKykgeworICAgICAgICBpbnQgcG9zaXRpb24gPSBob3N0
LmZpbmQoZ29vZ2xlTmFtZXNwYWNlcy5hdChpKSk7CisgICAgICAgIGlmIChwb3NpdGlvbiA+IDAp
IHsKKyAgICAgICAgICAgIGlmIChnb29nbGVEb21haW5zLmNvbnRhaW5zKGhvc3Quc3Vic3RyaW5n
KHBvc2l0aW9uICsgMSkpKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitTdHJpbmcgRnJhbWVMb2FkZXJDbGllbnQ6OnVzZXJBZ2VudChjb25zdCBLVVJMJiB1cmwp
CiB7CiAgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dl
dF9zZXR0aW5ncyhnZXRWaWV3RnJvbUZyYW1lKG1fZnJhbWUpKTsKKworICAgIGdib29sZWFuIHVz
ZVF1aXJrczsKKyAgICBnX29iamVjdF9nZXQoc2V0dGluZ3MsICJlbmFibGUtc2l0ZS1zcGVjaWZp
Yy1xdWlya3MiLCAmdXNlUXVpcmtzLCBOVUxMKTsKKworICAgIC8vIEZvciBHb29nbGUgZG9tYWlu
cywgZHJvcCB0aGUgYnJvd3NlcidzIGN1c3RvbSBVc2VyIEFnZW50IHN0cmluZywgYW5kIHVzZSB0
aGUgc3RhbmRhcmQKKyAgICAvLyBXZWJLaXQvU2FmYXJpIG9uZSwgc28gdGhleSBkb24ndCBnaXZl
IHVzIGEgYnJva2VuIGV4cGVyaWVuY2UuCisgICAgaWYgKHVzZVF1aXJrcyAmJiBpc0dvb2dsZURv
bWFpbih1cmwuaG9zdCgpKSkKKyAgICAgICAgcmV0dXJuIHdlYmtpdFVzZXJBZ2VudCgpOworCiAg
ICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgod2Via2l0X3dlYl9zZXR0aW5nc19nZXRfdXNlcl9h
Z2VudChzZXR0aW5ncykpOwogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRwcml2YXRlLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKaW5kZXggNGY1
YTExOS4uYzgzMTE5NCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0
ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaApAQCAtNTcsNiArNTcs
NyBAQAogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQu
aCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNs
dWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKQEAgLTIwMCw2ICsyMDEsOSBAQCBleHRlcm4gIkMi
IHsKICAgICAgICAgZ2Jvb2xlYW4gZGlzcG9zZWQ7CiAgICAgfTsKIAorICAgIFdURjo6U3RyaW5n
CisgICAgd2Via2l0VXNlckFnZW50KCk7CisKICAgICB2b2lkCiAgICAgd2Via2l0X3dlYl9mcmFt
ZV9jb3JlX2ZyYW1lX2dvbmUoV2ViS2l0V2ViRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vic2V0dGluZ3MuY3BwCmluZGV4IDcxYTMzOGMuLjVlZjMxZmEgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAorKysgYi9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKQEAgLTE2Myw1NiArMTYzLDY1IEBAIGVudW0gewog
Ly8gQ3JlYXRlIGEgZGVmYXVsdCB1c2VyIGFnZW50IHN0cmluZwogLy8gVGhpcyBpcyBhIGxpYmVy
YWwgaW50ZXJwcmV0YXRpb24gb2YgaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9idWlsZC9yZXZpc2Vk
LXVzZXItYWdlbnQtc3RyaW5ncy5odG1sCiAvLyBTZWUgYWxzbyBodHRwOi8vZGV2ZWxvcGVyLmFw
cGxlLmNvbS9pbnRlcm5ldC9zYWZhcmkvZmFxLmh0bWwjYW5jaG9yMgotc3RhdGljIFN0cmluZyB3
ZWJraXRfZ2V0X3VzZXJfYWdlbnQoKQorc3RhdGljIFN0cmluZyB3ZWJraXRQbGF0Zm9ybSgpCiB7
Ci0gICAgZ2NoYXIqIHBsYXRmb3JtOwotICAgIGdjaGFyKiBvc1ZlcnNpb247Ci0KICNpZiBQTEFU
Rk9STShYMTEpCi0gICAgcGxhdGZvcm0gPSBnX3N0cmR1cCgiWDExIik7CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHVhUGxhdGZvcm0sIChTdHJpbmcoIlgxMSIpKSk7CiAj
ZWxpZiBPUyhXSU5ET1dTKQotICAgIHBsYXRmb3JtID0gZ19zdHJkdXAoIldpbmRvd3MiKTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFQbGF0Zm9ybSwgKFN0cmluZygi
V2luZG93cyIpKSk7CiAjZWxpZiBQTEFURk9STShNQUMpCi0gICAgcGxhdGZvcm0gPSBnX3N0cmR1
cCgiTWFjaW50b3NoIik7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHVh
UGxhdGZvcm0sIChTdHJpbmcoIk1hY2ludG9zaCIpKSk7CiAjZWxpZiBkZWZpbmVkKEdES19XSU5E
T1dJTkdfRElSRUNURkIpCi0gICAgcGxhdGZvcm0gPSBnX3N0cmR1cCgiRGlyZWN0RkIiKTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFQbGF0Zm9ybSwgKFN0cmluZygi
RGlyZWN0RkIiKSkpOwogI2Vsc2UKLSAgICBwbGF0Zm9ybSA9IGdfc3RyZHVwKCJVbmtub3duIik7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHVhUGxhdGZvcm0sIChTdHJp
bmcoIlVua25vd24iKSkpOwogI2VuZGlmCiAKKyAgICByZXR1cm4gdWFQbGF0Zm9ybTsKK30KKwor
c3RhdGljIFN0cmluZyB3ZWJraXRPU1ZlcnNpb24oKQorewogICAgLy8gRklYTUU6IHBsYXRmb3Jt
L3ZlcnNpb24gZGV0ZWN0aW9uIGNhbiBiZSBzaGFyZWQuCiAjaWYgT1MoREFSV0lOKQogCiAjaWYg
Q1BVKFg4NikKLSAgICBvc1ZlcnNpb24gPSBnX3N0cmR1cCgiSW50ZWwgTWFjIE9TIFgiKTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFPU1ZlcnNpb24sIChTdHJpbmco
IkludGVsIE1hYyBPUyBYIikpKTsKICNlbHNlCi0gICAgb3NWZXJzaW9uID0gZ19zdHJkdXAoIlBQ
QyBNYWMgT1MgWCIpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YU9T
VmVyc2lvbiwgKFN0cmluZygiUFBDIE1hYyBPUyBYIikpKTsKICNlbmRpZgogCiAjZWxpZiBPUyhV
TklYKQorICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCB1YU9TVmVyc2lvbiwgKFN0cmlu
ZygpKSk7CisKKyAgICBpZiAoIXVhT1NWZXJzaW9uLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
IHVhT1NWZXJzaW9uOworCiAgICAgc3RydWN0IHV0c25hbWUgbmFtZTsKKyAgICBHT3duUHRyPGdj
aGFyPiBvc1ZlcnNpb247CiAgICAgaWYgKHVuYW1lKCZuYW1lKSAhPSAtMSkKLSAgICAgICAgb3NW
ZXJzaW9uID0gZ19zdHJkdXBfcHJpbnRmKCIlcyAlcyIsIG5hbWUuc3lzbmFtZSwgbmFtZS5tYWNo
aW5lKTsKKyAgICAgICAgb3NWZXJzaW9uLnNldChnX3N0cmR1cF9wcmludGYoIiVzICVzIiwgbmFt
ZS5zeXNuYW1lLCBuYW1lLm1hY2hpbmUpKTsKICAgICBlbHNlCi0gICAgICAgIG9zVmVyc2lvbiA9
IGdfc3RyZHVwKCJVbmtub3duIik7CisgICAgICAgIG9zVmVyc2lvbi5zZXQoZ19zdHJkdXAoIlVu
a25vd24iKSk7CiAKKyAgICB1YU9TVmVyc2lvbiA9IFN0cmluZzo6ZnJvbVVURjgob3NWZXJzaW9u
LmdldCgpKTsKICNlbGlmIE9TKFdJTkRPV1MpCi0gICAgLy8gRklYTUU6IENvbXB1dGUgdGhlIFdp
bmRvd3MgdmVyc2lvbgotICAgIG9zVmVyc2lvbiA9IGdfc3RyZHVwKCJXaW5kb3dzIik7Ci0KKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFPU1ZlcnNpb24sIChTdHJpbmco
IldpbmRvd3MiKSkpOwogI2Vsc2UKLSAgICBvc1ZlcnNpb24gPSBnX3N0cmR1cCgiVW5rbm93biIp
OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YU9TVmVyc2lvbiwgKFN0
cmluZygiVW5rbm93biIpKSk7CiAjZW5kaWYKIAorICAgIHJldHVybiB1YU9TVmVyc2lvbjsKK30K
KworU3RyaW5nIHdlYmtpdFVzZXJBZ2VudCgpCit7CiAgICAgLy8gV2UgbWVudGlvbiBTYWZhcmkg
c2luY2UgbWFueSBicm9rZW4gc2l0ZXMgY2hlY2sgZm9yIGl0IChPbW5pV2ViIGRvZXMgdGhpcyB0
b28pCiAgICAgLy8gV2UgcmUtdXNlIHRoZSBXZWJLaXQgdmVyc2lvbiwgdGhvdWdoIGl0IGRvZXNu
J3Qgc2VlbSB0byBtYXR0ZXIgbXVjaCBpbiBwcmFjdGljZQogCiAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChjb25zdCBTdHJpbmcsIHVhVmVyc2lvbiwgKFN0cmluZzo6Zm9ybWF0KCIlZC4lZCsiLCBX
RUJLSVRfVVNFUl9BR0VOVF9NQUpPUl9WRVJTSU9OLCBXRUJLSVRfVVNFUl9BR0VOVF9NSU5PUl9W
RVJTSU9OKSkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBzdGF0aWNV
QSwgKFN0cmluZzo6Zm9ybWF0KCJNb3ppbGxhLzUuMCAoJXM7IFU7ICVzOyAlcykgQXBwbGVXZWJL
aXQvJXMgKEtIVE1MLCBsaWtlIEdlY2tvKSBTYWZhcmkvJXMiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYXRmb3JtLCBv
c1ZlcnNpb24sIGRlZmF1bHRMYW5ndWFnZSgpLnV0ZjgoKS5kYXRhKCksIHVhVmVyc2lvbi51dGY4
KCkuZGF0YSgpLCB1YVZlcnNpb24udXRmOCgpLmRhdGEoKSkpKTsKLQotICAgIGdfZnJlZShvc1Zl
cnNpb24pOwotICAgIGdfZnJlZShwbGF0Zm9ybSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChj
b25zdCBTdHJpbmcsIHN0YXRpY1VBLCAoU3RyaW5nOjpmb3JtYXQoIk1vemlsbGEvNS4wICglczsg
VTsgJXM7ICVzKSBBcHBsZVdlYktpdC8lcyAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vNS4w
IFNhZmFyaS8lcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2Via2l0UGxhdGZvcm0oKS51dGY4KCkuZGF0YSgpLCB3ZWJr
aXRPU1ZlcnNpb24oKS51dGY4KCkuZGF0YSgpLCBkZWZhdWx0TGFuZ3VhZ2UoKS51dGY4KCkuZGF0
YSgpLCB1YVZlcnNpb24udXRmOCgpLmRhdGEoKSwgdWFWZXJzaW9uLnV0ZjgoKS5kYXRhKCkpKSk7
CiAKICAgICByZXR1cm4gc3RhdGljVUE7CiB9CkBAIC02MDcsNyArNjE2LDcgQEAgc3RhdGljIHZv
aWQgd2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KFdlYktpdFdlYlNldHRpbmdzQ2xhc3Mq
IGtsYXNzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVj
X3N0cmluZygidXNlci1hZ2VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF8oIlVzZXIgQWdlbnQiKSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVGhlIFVzZXItQWdlbnQg
c3RyaW5nIHVzZWQgYnkgV2ViS2l0R3RrIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYmtpdF9nZXRfdXNlcl9hZ2VudCgpLnV0Zjgo
KS5kYXRhKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHdlYmtpdFVzZXJBZ2VudCgpLnV0ZjgoKS5kYXRhKCksCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiAKICAg
ICAvKioKQEAgLTEwMzQsNyArMTA0Myw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGlu
Z3Nfc2V0X3Byb3BlcnR5KEdPYmplY3QqIG9iamVjdCwgZ3VpbnQgcHJvcF9pZCwgY29uCiAgICAg
Y2FzZSBQUk9QX1VTRVJfQUdFTlQ6CiAgICAgICAgIGdfZnJlZShwcml2LT51c2VyX2FnZW50KTsK
ICAgICAgICAgaWYgKCFnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpIHx8ICFzdHJsZW4oZ192YWx1
ZV9nZXRfc3RyaW5nKHZhbHVlKSkpCi0gICAgICAgICAgICBwcml2LT51c2VyX2FnZW50ID0gZ19z
dHJkdXAod2Via2l0X2dldF91c2VyX2FnZW50KCkudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAg
ICBwcml2LT51c2VyX2FnZW50ID0gZ19zdHJkdXAod2Via2l0VXNlckFnZW50KCkudXRmOCgpLmRh
dGEoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHByaXYtPnVzZXJfYWdlbnQgPSBnX3N0
cmR1cChnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKTsKICAgICAgICAgYnJlYWs7Ci0tIAoxLjcu
MQoK
</data>
<flag name="review"
          id="52781"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64328</attachid>
            <date>2010-08-13 05:56:55 -0700</date>
            <delta_ts>2010-09-10 08:25:26 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Special-case-google-domains-when-sending-user-agent.patch</filename>
            <type>text/plain</type>
            <size>11450</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBhYTY1ZmQ5Mzg2ODA1OTRjOWRmNmY1ZTM5YzAzMjRjMTQzZDA0NmFkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IFRodSwgMTIgQXVnIDIwMTAgMTc6MTk6MzcgLTAzMDAKU3ViamVjdDogW1BBVENIXSBT
cGVjaWFsLWNhc2UgZ29vZ2xlIGRvbWFpbnMgd2hlbiBzZW5kaW5nIHVzZXItYWdlbnQKCi0tLQog
V2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIz
ICsrKysKIFdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3Bw
IHwgIDExMSArKysrKysrKysrKysrKysrKysrLQogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJp
dmF0ZS5oICAgICAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcCAgICAgICAgICAgIHwgICA1NyArKysrKystLS0tCiA0IGZpbGVzIGNo
YW5nZWQsIDE3MCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDBjYzIzMWUu
LjIyYjczNDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTAtMDgtMTIgIEd1c3Rhdm8gTm9yb25o
YSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW0dUS10gR29vZ2xlIHNpdGVzIGRvIG5vdCBsaWtlIFdlYktpdEdU
SysKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NjE3
CisKKyAgICAgICAgU3BlY2lhbC1jYXNlIEdvb2dsZSBkb21haW5zLCBhbmQgc3Bvb2YgVXNlci1B
Z2VudCB3aGVuIHRhbGtpbmcgdG8KKyAgICAgICAgdGhlbSwgdG8gc3RvcCBiZWluZyB0cmVhdGVk
IGFzIGEgc2Vjb25kLWNsYXNzIGNpdGl6ZW4uCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVEb21h
aW5zTGlzdCk6CisgICAgICAgIChXZWJLaXQ6OmlzR29vZ2xlRG9tYWluKToKKyAgICAgICAgKFdl
YktpdDo6RnJhbWVMb2FkZXJDbGllbnQ6OnVzZXJBZ2VudCk6IElmIGVuYWJsZS1zaXRlLXNwZWNp
ZmljLXF1aXJrcworICAgICAgICBpcyBlbmFibGVkLCBzZW5kIHRoZSBzdGFuZGFyZCBXZWJLaXQg
VXNlci1BZ2VudCBzdHJpbmcsIGRpc3JlZ2FyZGluZyB0aGUKKyAgICAgICAgY3VzdG9tIG9uZSBz
ZXQgYnkgdGhlIGJyb3dzZXIgZm9yIEdvb2dsZSBkb21haW5zLgorICAgICAgICAqIHdlYmtpdC93
ZWJraXRwcml2YXRlLmg6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcDoK
KyAgICAgICAgKHdlYmtpdFBsYXRmb3JtKTogRml4IHN0eWxlLCBhbmQgc2ltcGxpZnkuCisgICAg
ICAgICh3ZWJraXRPU1ZlcnNpb24pOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdFVzZXJBZ2VudCk6
IEFkZCB0aGUgVmVyc2lvbi94Lnkgc3RyaW5nIFNhZmFyaSBoYXMgYmVlbgorICAgICAgICB1c2lu
ZyBzaW5jZSBTYWZhcmkgMi4yLgorCiAyMDEwLTA4LTEyICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEg
IDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCiAgICAgICAgIFJlYWxseSBhZGQg
YSBtaXNzaW5nIGZpbGUuIEkgd2lzaCBJIHdvdWxkIHJlbWVtYmVyIHJ1bm5pbmcgZ2l0IGFkZApk
aWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0
ay5jcHAgYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNw
cAppbmRleCA5OGFjNGExLi40NjUzMTljIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1
ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgogI2luY2x1ZGUgIlJlbmRl
clBhcnQuaCIKQEAgLTkyLDkgKzkzLDExNyBAQCBGcmFtZUxvYWRlckNsaWVudDo6fkZyYW1lTG9h
ZGVyQ2xpZW50KCkKICAgICAgICAgZ19vYmplY3RfdW5yZWYobV9wb2xpY3lEZWNpc2lvbik7CiB9
CiAKLVN0cmluZyBGcmFtZUxvYWRlckNsaWVudDo6dXNlckFnZW50KGNvbnN0IEtVUkwmKQordHlw
ZWRlZiBIYXNoU2V0PFN0cmluZz4gR29vZ2xlRG9tYWluc1NldDsKKworc3RhdGljIHZvaWQgaW5p
dGlhbGl6ZURvbWFpbnNMaXN0KEdvb2dsZURvbWFpbnNTZXQmIGdvb2dsZURvbWFpbnMpCit7Cisg
ICAgLy8gR29vZ2xlIHNlYXJjaCBkb21haW5zLgorICAgIGdvb2dsZURvbWFpbnMuYWRkKCJiaXoi
KTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiY29tIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQo
Im5ldCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJvcmciKTsKKyAgICBnb29nbGVEb21haW5z
LmFkZCgiYWUiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiYWciKTsKKyAgICBnb29nbGVEb21h
aW5zLmFkZCgiYW0iKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiYXQiKTsKKyAgICBnb29nbGVE
b21haW5zLmFkZCgiYXoiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiYmUiKTsKKyAgICBnb29n
bGVEb21haW5zLmFkZCgiYmkiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiY2EiKTsKKyAgICBn
b29nbGVEb21haW5zLmFkZCgiY2MiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiY2QiKTsKKyAg
ICBnb29nbGVEb21haW5zLmFkZCgiY2ciKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiY2giKTsK
KyAgICBnb29nbGVEb21haW5zLmFkZCgiY2wiKTsKKyAgICBnb29nbGVEb21haW5zLmFkZCgiY29t
LmJyIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImNvLnVrIik7CisgICAgZ29vZ2xlRG9tYWlu
cy5hZGQoImNvLmpwIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImRlIik7CisgICAgZ29vZ2xl
RG9tYWlucy5hZGQoImRqIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImRrIik7CisgICAgZ29v
Z2xlRG9tYWlucy5hZGQoImVzIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImZpIik7CisgICAg
Z29vZ2xlRG9tYWlucy5hZGQoImZtIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImZyIik7Cisg
ICAgZ29vZ2xlRG9tYWlucy5hZGQoImdnIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdsIik7
CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdtIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImdz
Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImhuIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQo
Imh1Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImllIik7CisgICAgZ29vZ2xlRG9tYWlucy5h
ZGQoIml0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImplIik7CisgICAgZ29vZ2xlRG9tYWlu
cy5hZGQoImt6Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImxpIik7CisgICAgZ29vZ2xlRG9t
YWlucy5hZGQoImx0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImx1Iik7CisgICAgZ29vZ2xl
RG9tYWlucy5hZGQoImx2Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoIm1hIik7CisgICAgZ29v
Z2xlRG9tYWlucy5hZGQoIm1zIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoIm11Iik7CisgICAg
Z29vZ2xlRG9tYWlucy5hZGQoIm13Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoIm5sIik7Cisg
ICAgZ29vZ2xlRG9tYWlucy5hZGQoIm5vIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoIm51Iik7
CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInBsIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInBu
Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInB0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQo
InJ1Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInJ3Iik7CisgICAgZ29vZ2xlRG9tYWlucy5h
ZGQoInNoIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInNrIik7CisgICAgZ29vZ2xlRG9tYWlu
cy5hZGQoInNtIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInN0Iik7CisgICAgZ29vZ2xlRG9t
YWlucy5hZGQoInRkIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInRrIik7CisgICAgZ29vZ2xl
RG9tYWlucy5hZGQoInRwIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInR2Iik7CisgICAgZ29v
Z2xlRG9tYWlucy5hZGQoInVzIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoInV6Iik7CisgICAg
Z29vZ2xlRG9tYWlucy5hZGQoIndzIik7Cit9CisKK3N0YXRpYyBib29sIGlzR29vZ2xlRG9tYWlu
KFN0cmluZyBob3N0KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoSGFzaFNldDxTdHJpbmc+
LCBnb29nbGVEb21haW5zLCAoKSk7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChWZWN0b3I8U3Ry
aW5nPiwgb3RoZXJHb29nbGVEb21haW5zLCAoKSk7CisKKyAgICBpZiAoZ29vZ2xlRG9tYWlucy5p
c0VtcHR5KCkpIHsKKyAgICAgICAgb3RoZXJHb29nbGVEb21haW5zLmFwcGVuZCgiZ21haWwuY29t
Iik7CisgICAgICAgIG90aGVyR29vZ2xlRG9tYWlucy5hcHBlbmQoInlvdXR1YmUuY29tIik7Cisg
ICAgICAgIG90aGVyR29vZ2xlRG9tYWlucy5hcHBlbmQoImdzdGF0aWMuY29tIik7CisgICAgICAg
IG90aGVyR29vZ2xlRG9tYWlucy5hcHBlbmQoInl0aW1nLmNvbSIpOworCisgICAgICAgIGluaXRp
YWxpemVEb21haW5zTGlzdChnb29nbGVEb21haW5zKTsKKyAgICB9CisKKyAgICAvLyBGaXJzdCBj
aGVjayBpZiB0aGlzIGlzIG9uZSBvZiB0aGUgdmFyaW91cyBnb29nbGUuY29tIGludGVybmF0aW9u
YWwgZG9tYWlucy4KKyAgICBpbnQgcG9zaXRpb24gPSBob3N0LmZpbmQoIi5nb29nbGUuIik7Cisg
ICAgaWYgKHBvc2l0aW9uID4gMCAmJiBnb29nbGVEb21haW5zLmNvbnRhaW5zKGhvc3Quc3Vic3Ry
aW5nKHBvc2l0aW9uICsgc2l6ZW9mKCIuZ29vZ2xlLiIpKSkpCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgLy8gVGhlbiB3ZSBjaGVjayB0aGUgcG9zc2liaWxpdHkgb2YgaXQgYmVpbmcgb25l
IG9mIHRoZSBvdGhlciwgLmNvbS1vbmx5IGdvb2dsZSBkb21haW5zLgorICAgIGZvciAodW5zaWdu
ZWQgaW50IGkgPSAwOyBpIDwgb3RoZXJHb29nbGVEb21haW5zLnNpemUoKTsgaSsrKSB7CisgICAg
ICAgIGlmIChob3N0LmVuZHNXaXRoKG90aGVyR29vZ2xlRG9tYWlucy5hdChpKSkpCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1N0cmlu
ZyBGcmFtZUxvYWRlckNsaWVudDo6dXNlckFnZW50KGNvbnN0IEtVUkwmIHVybCkKIHsKICAgICBX
ZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRpbmdz
KGdldFZpZXdGcm9tRnJhbWUobV9mcmFtZSkpOworCisgICAgZ2Jvb2xlYW4gdXNlUXVpcmtzOwor
ICAgIGdfb2JqZWN0X2dldChzZXR0aW5ncywgImVuYWJsZS1zaXRlLXNwZWNpZmljLXF1aXJrcyIs
ICZ1c2VRdWlya3MsIE5VTEwpOworCisgICAgLy8gRm9yIEdvb2dsZSBkb21haW5zLCBkcm9wIHRo
ZSBicm93c2VyJ3MgY3VzdG9tIFVzZXIgQWdlbnQgc3RyaW5nLCBhbmQgdXNlIHRoZSBzdGFuZGFy
ZAorICAgIC8vIFdlYktpdC9TYWZhcmkgb25lLCBzbyB0aGV5IGRvbid0IGdpdmUgdXMgYSBicm9r
ZW4gZXhwZXJpZW5jZS4KKyAgICBpZiAodXNlUXVpcmtzICYmIGlzR29vZ2xlRG9tYWluKHVybC5o
b3N0KCkpKQorICAgICAgICByZXR1cm4gd2Via2l0VXNlckFnZW50KCk7CisKICAgICByZXR1cm4g
U3RyaW5nOjpmcm9tVVRGOCh3ZWJraXRfd2ViX3NldHRpbmdzX2dldF91c2VyX2FnZW50KHNldHRp
bmdzKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUu
aCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAppbmRleCA0ZjVhMTE5Li5jODMx
MTk0IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKKysrIGIv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCkBAIC01Nyw2ICs1Nyw3IEBACiAjaW5j
bHVkZSAiSW50UG9pbnQuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VSZXNwb25zZS5oIgpAQCAtMjAwLDYgKzIwMSw5IEBAIGV4dGVybiAiQyIgewogICAgICAg
ICBnYm9vbGVhbiBkaXNwb3NlZDsKICAgICB9OwogCisgICAgV1RGOjpTdHJpbmcKKyAgICB3ZWJr
aXRVc2VyQWdlbnQoKTsKKwogICAgIHZvaWQKICAgICB3ZWJraXRfd2ViX2ZyYW1lX2NvcmVfZnJh
bWVfZ29uZShXZWJLaXRXZWJGcmFtZSopOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0
aW5ncy5jcHAKaW5kZXggNzFhMzM4Yy4uNWVmMzFmYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93
ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHdlYnNldHRpbmdzLmNwcApAQCAtMTYzLDU2ICsxNjMsNjUgQEAgZW51bSB7CiAvLyBDcmVhdGUg
YSBkZWZhdWx0IHVzZXIgYWdlbnQgc3RyaW5nCiAvLyBUaGlzIGlzIGEgbGliZXJhbCBpbnRlcnBy
ZXRhdGlvbiBvZiBodHRwOi8vd3d3Lm1vemlsbGEub3JnL2J1aWxkL3JldmlzZWQtdXNlci1hZ2Vu
dC1zdHJpbmdzLmh0bWwKIC8vIFNlZSBhbHNvIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2lu
dGVybmV0L3NhZmFyaS9mYXEuaHRtbCNhbmNob3IyCi1zdGF0aWMgU3RyaW5nIHdlYmtpdF9nZXRf
dXNlcl9hZ2VudCgpCitzdGF0aWMgU3RyaW5nIHdlYmtpdFBsYXRmb3JtKCkKIHsKLSAgICBnY2hh
ciogcGxhdGZvcm07Ci0gICAgZ2NoYXIqIG9zVmVyc2lvbjsKLQogI2lmIFBMQVRGT1JNKFgxMSkK
LSAgICBwbGF0Zm9ybSA9IGdfc3RyZHVwKCJYMTEiKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KGNvbnN0IFN0cmluZywgdWFQbGF0Zm9ybSwgKFN0cmluZygiWDExIikpKTsKICNlbGlmIE9TKFdJ
TkRPV1MpCi0gICAgcGxhdGZvcm0gPSBnX3N0cmR1cCgiV2luZG93cyIpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YVBsYXRmb3JtLCAoU3RyaW5nKCJXaW5kb3dzIikp
KTsKICNlbGlmIFBMQVRGT1JNKE1BQykKLSAgICBwbGF0Zm9ybSA9IGdfc3RyZHVwKCJNYWNpbnRv
c2giKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFQbGF0Zm9ybSwg
KFN0cmluZygiTWFjaW50b3NoIikpKTsKICNlbGlmIGRlZmluZWQoR0RLX1dJTkRPV0lOR19ESVJF
Q1RGQikKLSAgICBwbGF0Zm9ybSA9IGdfc3RyZHVwKCJEaXJlY3RGQiIpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YVBsYXRmb3JtLCAoU3RyaW5nKCJEaXJlY3RGQiIp
KSk7CiAjZWxzZQotICAgIHBsYXRmb3JtID0gZ19zdHJkdXAoIlVua25vd24iKTsKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFQbGF0Zm9ybSwgKFN0cmluZygiVW5rbm93
biIpKSk7CiAjZW5kaWYKIAorICAgIHJldHVybiB1YVBsYXRmb3JtOworfQorCitzdGF0aWMgU3Ry
aW5nIHdlYmtpdE9TVmVyc2lvbigpCit7CiAgICAvLyBGSVhNRTogcGxhdGZvcm0vdmVyc2lvbiBk
ZXRlY3Rpb24gY2FuIGJlIHNoYXJlZC4KICNpZiBPUyhEQVJXSU4pCiAKICNpZiBDUFUoWDg2KQot
ICAgIG9zVmVyc2lvbiA9IGdfc3RyZHVwKCJJbnRlbCBNYWMgT1MgWCIpOworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YU9TVmVyc2lvbiwgKFN0cmluZygiSW50ZWwgTWFj
IE9TIFgiKSkpOwogI2Vsc2UKLSAgICBvc1ZlcnNpb24gPSBnX3N0cmR1cCgiUFBDIE1hYyBPUyBY
Iik7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHVhT1NWZXJzaW9uLCAo
U3RyaW5nKCJQUEMgTWFjIE9TIFgiKSkpOwogI2VuZGlmCiAKICNlbGlmIE9TKFVOSVgpCisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHVhT1NWZXJzaW9uLCAoU3RyaW5nKCkpKTsKKwor
ICAgIGlmICghdWFPU1ZlcnNpb24uaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdWFPU1ZlcnNp
b247CisKICAgICBzdHJ1Y3QgdXRzbmFtZSBuYW1lOworICAgIEdPd25QdHI8Z2NoYXI+IG9zVmVy
c2lvbjsKICAgICBpZiAodW5hbWUoJm5hbWUpICE9IC0xKQotICAgICAgICBvc1ZlcnNpb24gPSBn
X3N0cmR1cF9wcmludGYoIiVzICVzIiwgbmFtZS5zeXNuYW1lLCBuYW1lLm1hY2hpbmUpOworICAg
ICAgICBvc1ZlcnNpb24uc2V0KGdfc3RyZHVwX3ByaW50ZigiJXMgJXMiLCBuYW1lLnN5c25hbWUs
IG5hbWUubWFjaGluZSkpOwogICAgIGVsc2UKLSAgICAgICAgb3NWZXJzaW9uID0gZ19zdHJkdXAo
IlVua25vd24iKTsKKyAgICAgICAgb3NWZXJzaW9uLnNldChnX3N0cmR1cCgiVW5rbm93biIpKTsK
IAorICAgIHVhT1NWZXJzaW9uID0gU3RyaW5nOjpmcm9tVVRGOChvc1ZlcnNpb24uZ2V0KCkpOwog
I2VsaWYgT1MoV0lORE9XUykKLSAgICAvLyBGSVhNRTogQ29tcHV0ZSB0aGUgV2luZG93cyB2ZXJz
aW9uCi0gICAgb3NWZXJzaW9uID0gZ19zdHJkdXAoIldpbmRvd3MiKTsKLQorICAgIERFRklORV9T
VEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YU9TVmVyc2lvbiwgKFN0cmluZygiV2luZG93cyIp
KSk7CiAjZWxzZQotICAgIG9zVmVyc2lvbiA9IGdfc3RyZHVwKCJVbmtub3duIik7CisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHVhT1NWZXJzaW9uLCAoU3RyaW5nKCJVbmtu
b3duIikpKTsKICNlbmRpZgogCisgICAgcmV0dXJuIHVhT1NWZXJzaW9uOworfQorCitTdHJpbmcg
d2Via2l0VXNlckFnZW50KCkKK3sKICAgICAvLyBXZSBtZW50aW9uIFNhZmFyaSBzaW5jZSBtYW55
IGJyb2tlbiBzaXRlcyBjaGVjayBmb3IgaXQgKE9tbmlXZWIgZG9lcyB0aGlzIHRvbykKICAgICAv
LyBXZSByZS11c2UgdGhlIFdlYktpdCB2ZXJzaW9uLCB0aG91Z2ggaXQgZG9lc24ndCBzZWVtIHRv
IG1hdHRlciBtdWNoIGluIHByYWN0aWNlCiAKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IFN0cmluZywgdWFWZXJzaW9uLCAoU3RyaW5nOjpmb3JtYXQoIiVkLiVkKyIsIFdFQktJVF9VU0VS
X0FHRU5UX01BSk9SX1ZFUlNJT04sIFdFQktJVF9VU0VSX0FHRU5UX01JTk9SX1ZFUlNJT04pKSk7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJpbmcsIHN0YXRpY1VBLCAoU3RyaW5n
Ojpmb3JtYXQoIk1vemlsbGEvNS4wICglczsgVTsgJXM7ICVzKSBBcHBsZVdlYktpdC8lcyAoS0hU
TUwsIGxpa2UgR2Vja28pIFNhZmFyaS8lcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm0sIG9zVmVyc2lvbiwg
ZGVmYXVsdExhbmd1YWdlKCkudXRmOCgpLmRhdGEoKSwgdWFWZXJzaW9uLnV0ZjgoKS5kYXRhKCks
IHVhVmVyc2lvbi51dGY4KCkuZGF0YSgpKSkpOwotCi0gICAgZ19mcmVlKG9zVmVyc2lvbik7Ci0g
ICAgZ19mcmVlKHBsYXRmb3JtKTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmlu
Zywgc3RhdGljVUEsIChTdHJpbmc6OmZvcm1hdCgiTW96aWxsYS81LjAgKCVzOyBVOyAlczsgJXMp
IEFwcGxlV2ViS2l0LyVzIChLSFRNTCwgbGlrZSBHZWNrbykgVmVyc2lvbi81LjAgU2FmYXJpLyVz
IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB3ZWJraXRQbGF0Zm9ybSgpLnV0ZjgoKS5kYXRhKCksIHdlYmtpdE9TVmVyc2lv
bigpLnV0ZjgoKS5kYXRhKCksIGRlZmF1bHRMYW5ndWFnZSgpLnV0ZjgoKS5kYXRhKCksIHVhVmVy
c2lvbi51dGY4KCkuZGF0YSgpLCB1YVZlcnNpb24udXRmOCgpLmRhdGEoKSkpKTsKIAogICAgIHJl
dHVybiBzdGF0aWNVQTsKIH0KQEAgLTYwNyw3ICs2MTYsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRf
d2ViX3NldHRpbmdzX2NsYXNzX2luaXQoV2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3MpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJ1
c2VyLWFnZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXygiVXNlciBBZ2VudCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJUaGUgVXNlci1BZ2VudCBzdHJpbmcgdXNl
ZCBieSBXZWJLaXRHdGsiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgd2Via2l0X2dldF91c2VyX2FnZW50KCkudXRmOCgpLmRhdGEoKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
d2Via2l0VXNlckFnZW50KCkudXRmOCgpLmRhdGEoKSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3MpKTsKIAogICAgIC8qKgpAQCAt
MTAzNCw3ICsxMDQzLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJv
cGVydHkoR09iamVjdCogb2JqZWN0LCBndWludCBwcm9wX2lkLCBjb24KICAgICBjYXNlIFBST1Bf
VVNFUl9BR0VOVDoKICAgICAgICAgZ19mcmVlKHByaXYtPnVzZXJfYWdlbnQpOwogICAgICAgICBp
ZiAoIWdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkgfHwgIXN0cmxlbihnX3ZhbHVlX2dldF9zdHJp
bmcodmFsdWUpKSkKLSAgICAgICAgICAgIHByaXYtPnVzZXJfYWdlbnQgPSBnX3N0cmR1cCh3ZWJr
aXRfZ2V0X3VzZXJfYWdlbnQoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIHByaXYtPnVz
ZXJfYWdlbnQgPSBnX3N0cmR1cCh3ZWJraXRVc2VyQWdlbnQoKS51dGY4KCkuZGF0YSgpKTsKICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgcHJpdi0+dXNlcl9hZ2VudCA9IGdfc3RyZHVwKGdfdmFs
dWVfZ2V0X3N0cmluZyh2YWx1ZSkpOwogICAgICAgICBicmVhazsKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67187</attachid>
            <date>2010-09-10 08:25:26 -0700</date>
            <delta_ts>2010-09-10 08:41:27 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-2010-09-10-Gustavo-Noronha-Silva-gns-gnome.org.patch</filename>
            <type>text/plain</type>
            <size>12224</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBjOGFlMjM3ZGQ0YzZlMmEzZGFjNzQ3NjA3ZjM5OWZjYmZjYTNkYjE0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IEZyaSwgMTAgU2VwIDIwMTAgMTI6MjQ6MDYgLTAzMDAKU3ViamVjdDogW1BBVENIXSAy
MDEwLTA5LTEwICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgoKICAgICAg
ICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCgogICAgICAgIFtHVEtdIEdvb2dsZSBzaXRl
cyBkbyBub3QgbGlrZSBXZWJLaXRHVEsrCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM5NjE3CgogICAgICAgIFNwZWNpYWwtY2FzZSBHb29nbGUgZG9tYWlu
cywgYW5kIHNwb29mIFVzZXItQWdlbnQgd2hlbiB0YWxraW5nIHRvCiAgICAgICAgdGhlbSwgdG8g
c3RvcCBiZWluZyB0cmVhdGVkIGFzIGEgc2Vjb25kLWNsYXNzIGNpdGl6ZW4uCgogICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwOgogICAgICAgIChXZWJLaXQ6
OmluaXRpYWxpemVEb21haW5zTGlzdCk6CiAgICAgICAgKFdlYktpdDo6aXNHb29nbGVEb21haW4p
OgogICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50Ojp1c2VyQWdlbnQpOiBJZiBlbmFi
bGUtc2l0ZS1zcGVjaWZpYy1xdWlya3MKICAgICAgICBpcyBlbmFibGVkLCBzZW5kIHRoZSBzdGFu
ZGFyZCBXZWJLaXQgVXNlci1BZ2VudCBzdHJpbmcsIGRpc3JlZ2FyZGluZyB0aGUKICAgICAgICBj
dXN0b20gb25lIHNldCBieSB0aGUgYnJvd3NlciBmb3IgR29vZ2xlIGRvbWFpbnMuCiAgICAgICAg
KiB3ZWJraXQvd2Via2l0cHJpdmF0ZS5oOgogICAgICAgICogd2Via2l0L3dlYmtpdHdlYnNldHRp
bmdzLmNwcDoKICAgICAgICAod2Via2l0UGxhdGZvcm0pOiBGaXggc3R5bGUsIGFuZCBzaW1wbGlm
eS4KICAgICAgICAod2Via2l0T1NWZXJzaW9uKTogRGl0dG8uCiAgICAgICAgKHdlYmtpdFVzZXJB
Z2VudCk6IEFkZCB0aGUgVmVyc2lvbi94Lnkgc3RyaW5nIFNhZmFyaSBoYXMgYmVlbgogICAgICAg
IHVzaW5nIHNpbmNlIFNhZmFyaSAyLjIuCi0tLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysKIFdlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwIHwgIDEwOSArKysrKysrKysrKysrKysrKysr
LQogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oICAgICAgICAgICAgICAgICAgfCAg
ICA0ICsKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcCAgICAgICAgICAg
IHwgICA2MSArKysrKystLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAxNzAgaW5zZXJ0aW9ucygrKSwg
MjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJL
aXQvZ3RrL0NoYW5nZUxvZwppbmRleCAyNWZlNGZkLi5jNjdhYWE5IDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDEwLTA5LTEwICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KKworICAgICAgICBbR1RLXSBH
b29nbGUgc2l0ZXMgZG8gbm90IGxpa2UgV2ViS2l0R1RLKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzk2MTcKKworICAgICAgICBTcGVjaWFsLWNhc2Ug
R29vZ2xlIGRvbWFpbnMsIGFuZCBzcG9vZiBVc2VyLUFnZW50IHdoZW4gdGFsa2luZyB0bworICAg
ICAgICB0aGVtLCB0byBzdG9wIGJlaW5nIHRyZWF0ZWQgYXMgYSBzZWNvbmQtY2xhc3MgY2l0aXpl
bi4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZURvbWFpbnNMaXN0KToKKyAgICAgICAgKFdlYktp
dDo6aXNHb29nbGVEb21haW4pOgorICAgICAgICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudDo6
dXNlckFnZW50KTogSWYgZW5hYmxlLXNpdGUtc3BlY2lmaWMtcXVpcmtzCisgICAgICAgIGlzIGVu
YWJsZWQsIHNlbmQgdGhlIHN0YW5kYXJkIFdlYktpdCBVc2VyLUFnZW50IHN0cmluZywgZGlzcmVn
YXJkaW5nIHRoZQorICAgICAgICBjdXN0b20gb25lIHNldCBieSB0aGUgYnJvd3NlciBmb3IgR29v
Z2xlIGRvbWFpbnMuCisgICAgICAgICogd2Via2l0L3dlYmtpdHByaXZhdGUuaDoKKyAgICAgICAg
KiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAod2Via2l0UGxhdGZvcm0p
OiBGaXggc3R5bGUsIGFuZCBzaW1wbGlmeS4KKyAgICAgICAgKHdlYmtpdE9TVmVyc2lvbik6IERp
dHRvLgorICAgICAgICAod2Via2l0VXNlckFnZW50KTogQWRkIHRoZSBWZXJzaW9uL3gueSBzdHJp
bmcgU2FmYXJpIGhhcyBiZWVuCisgICAgICAgIHVzaW5nIHNpbmNlIFNhZmFyaSAyLjIuCisKIDIw
MTAtMDktMDggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IDRiMGRhM2QuLjQ3ZmZhODggMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCisrKyBi
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCkBAIC00
OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1v
dXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlBhZ2Uu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGFiYXNl
LmgiCiAjaW5jbHVkZSAiUmVuZGVyUGFydC5oIgpAQCAtOTMsOSArOTQsMTE1IEBAIEZyYW1lTG9h
ZGVyQ2xpZW50Ojp+RnJhbWVMb2FkZXJDbGllbnQoKQogICAgICAgICBnX29iamVjdF91bnJlZiht
X3BvbGljeURlY2lzaW9uKTsKIH0KIAotU3RyaW5nIEZyYW1lTG9hZGVyQ2xpZW50Ojp1c2VyQWdl
bnQoY29uc3QgS1VSTCYpCitzdGF0aWMgdm9pZCBpbml0aWFsaXplRG9tYWluc0xpc3QoSGFzaFNl
dDxTdHJpbmc+JiBnb29nbGVEb21haW5zKQoreworICAgIC8vIEdvb2dsZSBzZWFyY2ggZG9tYWlu
cy4KKyAgICBnb29nbGVEb21haW5zLmFkZCgiYml6Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQo
ImNvbSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJuZXQiKTsKKyAgICBnb29nbGVEb21haW5z
LmFkZCgib3JnIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImFlIik7CisgICAgZ29vZ2xlRG9t
YWlucy5hZGQoImFnIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImFtIik7CisgICAgZ29vZ2xl
RG9tYWlucy5hZGQoImF0Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImF6Iik7CisgICAgZ29v
Z2xlRG9tYWlucy5hZGQoImJlIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImJpIik7CisgICAg
Z29vZ2xlRG9tYWlucy5hZGQoImNhIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImNjIik7Cisg
ICAgZ29vZ2xlRG9tYWlucy5hZGQoImNkIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImNnIik7
CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImNoIik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImNs
Iik7CisgICAgZ29vZ2xlRG9tYWlucy5hZGQoImNvbS5iciIpOworICAgIGdvb2dsZURvbWFpbnMu
YWRkKCJjby51ayIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJjby5qcCIpOworICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJkZSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJkaiIpOworICAgIGdv
b2dsZURvbWFpbnMuYWRkKCJkayIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJlcyIpOworICAg
IGdvb2dsZURvbWFpbnMuYWRkKCJmaSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJmbSIpOwor
ICAgIGdvb2dsZURvbWFpbnMuYWRkKCJmciIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnZyIp
OworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJnbCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJn
bSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJncyIpOworICAgIGdvb2dsZURvbWFpbnMuYWRk
KCJobiIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJodSIpOworICAgIGdvb2dsZURvbWFpbnMu
YWRkKCJpZSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJpdCIpOworICAgIGdvb2dsZURvbWFp
bnMuYWRkKCJqZSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJreiIpOworICAgIGdvb2dsZURv
bWFpbnMuYWRkKCJsaSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJsdCIpOworICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJsdSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJsdiIpOworICAgIGdv
b2dsZURvbWFpbnMuYWRkKCJtYSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJtcyIpOworICAg
IGdvb2dsZURvbWFpbnMuYWRkKCJtdSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJtdyIpOwor
ICAgIGdvb2dsZURvbWFpbnMuYWRkKCJubCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJubyIp
OworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJudSIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJw
bCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJwbiIpOworICAgIGdvb2dsZURvbWFpbnMuYWRk
KCJwdCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJydSIpOworICAgIGdvb2dsZURvbWFpbnMu
YWRkKCJydyIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJzaCIpOworICAgIGdvb2dsZURvbWFp
bnMuYWRkKCJzayIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJzbSIpOworICAgIGdvb2dsZURv
bWFpbnMuYWRkKCJzdCIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJ0ZCIpOworICAgIGdvb2ds
ZURvbWFpbnMuYWRkKCJ0ayIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJ0cCIpOworICAgIGdv
b2dsZURvbWFpbnMuYWRkKCJ0diIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJ1cyIpOworICAg
IGdvb2dsZURvbWFpbnMuYWRkKCJ1eiIpOworICAgIGdvb2dsZURvbWFpbnMuYWRkKCJ3cyIpOwor
fQorCitzdGF0aWMgYm9vbCBpc0dvb2dsZURvbWFpbihTdHJpbmcgaG9zdCkKK3sKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEhhc2hTZXQ8U3RyaW5nPiwgZ29vZ2xlRG9tYWlucywgKCkpOworICAg
IERFRklORV9TVEFUSUNfTE9DQUwoVmVjdG9yPFN0cmluZz4sIG90aGVyR29vZ2xlRG9tYWlucywg
KCkpOworCisgICAgaWYgKGdvb2dsZURvbWFpbnMuaXNFbXB0eSgpKSB7CisgICAgICAgIG90aGVy
R29vZ2xlRG9tYWlucy5hcHBlbmQoImdtYWlsLmNvbSIpOworICAgICAgICBvdGhlckdvb2dsZURv
bWFpbnMuYXBwZW5kKCJ5b3V0dWJlLmNvbSIpOworICAgICAgICBvdGhlckdvb2dsZURvbWFpbnMu
YXBwZW5kKCJnc3RhdGljLmNvbSIpOworICAgICAgICBvdGhlckdvb2dsZURvbWFpbnMuYXBwZW5k
KCJ5dGltZy5jb20iKTsKKworICAgICAgICBpbml0aWFsaXplRG9tYWluc0xpc3QoZ29vZ2xlRG9t
YWlucyk7CisgICAgfQorCisgICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhpcyBpcyBvbmUgb2YgdGhl
IHZhcmlvdXMgZ29vZ2xlLmNvbSBpbnRlcm5hdGlvbmFsIGRvbWFpbnMuCisgICAgaW50IHBvc2l0
aW9uID0gaG9zdC5maW5kKCIuZ29vZ2xlLiIpOworICAgIGlmIChwb3NpdGlvbiA+IDAgJiYgZ29v
Z2xlRG9tYWlucy5jb250YWlucyhob3N0LnN1YnN0cmluZyhwb3NpdGlvbiArIHNpemVvZigiLmdv
b2dsZS4iKSkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIFRoZW4gd2UgY2hlY2sg
dGhlIHBvc3NpYmlsaXR5IG9mIGl0IGJlaW5nIG9uZSBvZiB0aGUgb3RoZXIsIC5jb20tb25seSBn
b29nbGUgZG9tYWlucy4KKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG90aGVyR29v
Z2xlRG9tYWlucy5zaXplKCk7IGkrKykgeworICAgICAgICBpZiAoaG9zdC5lbmRzV2l0aChvdGhl
ckdvb2dsZURvbWFpbnMuYXQoaSkpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitTdHJpbmcgRnJhbWVMb2FkZXJDbGllbnQ6OnVzZXJB
Z2VudChjb25zdCBLVVJMJiB1cmwpCiB7CiAgICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdz
ID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyhnZXRWaWV3RnJvbUZyYW1lKG1fZnJhbWUp
KTsKKworICAgIGdib29sZWFuIHVzZVF1aXJrczsKKyAgICBnX29iamVjdF9nZXQoc2V0dGluZ3Ms
ICJlbmFibGUtc2l0ZS1zcGVjaWZpYy1xdWlya3MiLCAmdXNlUXVpcmtzLCBOVUxMKTsKKworICAg
IC8vIEZvciBHb29nbGUgZG9tYWlucywgZHJvcCB0aGUgYnJvd3NlcidzIGN1c3RvbSBVc2VyIEFn
ZW50IHN0cmluZywgYW5kIHVzZSB0aGUgc3RhbmRhcmQKKyAgICAvLyBXZWJLaXQvU2FmYXJpIG9u
ZSwgc28gdGhleSBkb24ndCBnaXZlIHVzIGEgYnJva2VuIGV4cGVyaWVuY2UuCisgICAgaWYgKHVz
ZVF1aXJrcyAmJiBpc0dvb2dsZURvbWFpbih1cmwuaG9zdCgpKSkKKyAgICAgICAgcmV0dXJuIHdl
YmtpdFVzZXJBZ2VudCgpOworCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgod2Via2l0X3dl
Yl9zZXR0aW5nc19nZXRfdXNlcl9hZ2VudChzZXR0aW5ncykpOwogfQogCmRpZmYgLS1naXQgYS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRwcml2YXRlLmgKaW5kZXggYmRlNWI1NS4uMDQwN2ZiZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHBy
aXZhdGUuaApAQCAtNTksNiArNTksNyBAQAogI2luY2x1ZGUgIkZ1bGxzY3JlZW5WaWRlb0NvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCkBAIC0y
MDYsNiArMjA3LDkgQEAgZXh0ZXJuICJDIiB7CiAgICAgICAgIGdib29sZWFuIGRpc3Bvc2VkOwog
ICAgIH07CiAKKyAgICBXVEY6OlN0cmluZworICAgIHdlYmtpdFVzZXJBZ2VudCgpOworCiAgICAg
dm9pZAogICAgIHdlYmtpdF93ZWJfZnJhbWVfY29yZV9mcmFtZV9nb25lKFdlYktpdFdlYkZyYW1l
Kik7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNw
cCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAppbmRleCA3MWEzMzhj
Li41NTZlZDZmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5n
cy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCkBAIC0x
NjMsNTYgKzE2Myw2NSBAQCBlbnVtIHsKIC8vIENyZWF0ZSBhIGRlZmF1bHQgdXNlciBhZ2VudCBz
dHJpbmcKIC8vIFRoaXMgaXMgYSBsaWJlcmFsIGludGVycHJldGF0aW9uIG9mIGh0dHA6Ly93d3cu
bW96aWxsYS5vcmcvYnVpbGQvcmV2aXNlZC11c2VyLWFnZW50LXN0cmluZ3MuaHRtbAogLy8gU2Vl
IGFsc28gaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vaW50ZXJuZXQvc2FmYXJpL2ZhcS5odG1s
I2FuY2hvcjIKLXN0YXRpYyBTdHJpbmcgd2Via2l0X2dldF91c2VyX2FnZW50KCkKK3N0YXRpYyBT
dHJpbmcgd2Via2l0UGxhdGZvcm0oKQogewotICAgIGdjaGFyKiBwbGF0Zm9ybTsKLSAgICBnY2hh
ciogb3NWZXJzaW9uOwotCiAjaWYgUExBVEZPUk0oWDExKQotICAgIHBsYXRmb3JtID0gZ19zdHJk
dXAoIlgxMSIpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YVBsYXRm
b3JtLCAoU3RyaW5nKCJYMTEiKSkpOwogI2VsaWYgT1MoV0lORE9XUykKLSAgICBwbGF0Zm9ybSA9
IGdfc3RyZHVwKCJXaW5kb3dzIik7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIHVhUGxhdGZvcm0sIChTdHJpbmcoIldpbmRvd3MiKSkpOwogI2VsaWYgUExBVEZPUk0oTUFD
KQotICAgIHBsYXRmb3JtID0gZ19zdHJkdXAoIk1hY2ludG9zaCIpOworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoY29uc3QgU3RyaW5nLCB1YVBsYXRmb3JtLCAoU3RyaW5nKCJNYWNpbnRvc2giKSkp
OwogI2VsaWYgZGVmaW5lZChHREtfV0lORE9XSU5HX0RJUkVDVEZCKQotICAgIHBsYXRmb3JtID0g
Z19zdHJkdXAoIkRpcmVjdEZCIik7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIHVhUGxhdGZvcm0sIChTdHJpbmcoIkRpcmVjdEZCIikpKTsKICNlbHNlCi0gICAgcGxhdGZv
cm0gPSBnX3N0cmR1cCgiVW5rbm93biIpOworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3Qg
U3RyaW5nLCB1YVBsYXRmb3JtLCAoU3RyaW5nKCJVbmtub3duIikpKTsKICNlbmRpZgogCisgICAg
cmV0dXJuIHVhUGxhdGZvcm07Cit9CisKK3N0YXRpYyBTdHJpbmcgd2Via2l0T1NWZXJzaW9uKCkK
K3sKICAgIC8vIEZJWE1FOiBwbGF0Zm9ybS92ZXJzaW9uIGRldGVjdGlvbiBjYW4gYmUgc2hhcmVk
LgogI2lmIE9TKERBUldJTikKIAogI2lmIENQVShYODYpCi0gICAgb3NWZXJzaW9uID0gZ19zdHJk
dXAoIkludGVsIE1hYyBPUyBYIik7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBTdHJp
bmcsIHVhT1NWZXJzaW9uLCAoU3RyaW5nKCJJbnRlbCBNYWMgT1MgWCIpKSk7CiAjZWxzZQotICAg
IG9zVmVyc2lvbiA9IGdfc3RyZHVwKCJQUEMgTWFjIE9TIFgiKTsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKGNvbnN0IFN0cmluZywgdWFPU1ZlcnNpb24sIChTdHJpbmcoIlBQQyBNYWMgT1MgWCIp
KSk7CiAjZW5kaWYKIAogI2VsaWYgT1MoVU5JWCkKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgdWFPU1ZlcnNpb24sIChTdHJpbmcoKSkpOworCisgICAgaWYgKCF1YU9TVmVyc2lvbi5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiB1YU9TVmVyc2lvbjsKKwogICAgIHN0cnVjdCB1dHNu
YW1lIG5hbWU7Ci0gICAgaWYgKHVuYW1lKCZuYW1lKSAhPSAtMSkKLSAgICAgICAgb3NWZXJzaW9u
ID0gZ19zdHJkdXBfcHJpbnRmKCIlcyAlcyIsIG5hbWUuc3lzbmFtZSwgbmFtZS5tYWNoaW5lKTsK
LSAgICBlbHNlCi0gICAgICAgIG9zVmVyc2lvbiA9IGdfc3RyZHVwKCJVbmtub3duIik7CisgICAg
aWYgKHVuYW1lKCZuYW1lKSAhPSAtMSkgeworICAgICAgICB1YU9TVmVyc2lvbiA9IFN0cmluZzo6
Zm9ybWF0KCIlcyAlcyIsIG5hbWUuc3lzbmFtZSwgbmFtZS5tYWNoaW5lKTsKKyAgICAgICAgcmV0
dXJuIHVhT1NWZXJzaW9uOworICAgIH0KIAorICAgIHVhT1NWZXJzaW9uID0gU3RyaW5nKCJVbmtu
b3duIik7CisgICAgcmV0dXJuIHVhT1NWZXJzaW9uOwogI2VsaWYgT1MoV0lORE9XUykKLSAgICAv
LyBGSVhNRTogQ29tcHV0ZSB0aGUgV2luZG93cyB2ZXJzaW9uCi0gICAgb3NWZXJzaW9uID0gZ19z
dHJkdXAoIldpbmRvd3MiKTsKLQorICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5n
LCB1YU9TVmVyc2lvbiwgKFN0cmluZygiV2luZG93cyIpKSk7CiAjZWxzZQotICAgIG9zVmVyc2lv
biA9IGdfc3RyZHVwKCJVbmtub3duIik7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBT
dHJpbmcsIHVhT1NWZXJzaW9uLCAoU3RyaW5nKCJVbmtub3duIikpKTsKICNlbmRpZgogCisgICAg
cmV0dXJuIHVhT1NWZXJzaW9uOworfQorCitTdHJpbmcgd2Via2l0VXNlckFnZW50KCkKK3sKICAg
ICAvLyBXZSBtZW50aW9uIFNhZmFyaSBzaW5jZSBtYW55IGJyb2tlbiBzaXRlcyBjaGVjayBmb3Ig
aXQgKE9tbmlXZWIgZG9lcyB0aGlzIHRvbykKICAgICAvLyBXZSByZS11c2UgdGhlIFdlYktpdCB2
ZXJzaW9uLCB0aG91Z2ggaXQgZG9lc24ndCBzZWVtIHRvIG1hdHRlciBtdWNoIGluIHByYWN0aWNl
CiAKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgdWFWZXJzaW9uLCAoU3Ry
aW5nOjpmb3JtYXQoIiVkLiVkKyIsIFdFQktJVF9VU0VSX0FHRU5UX01BSk9SX1ZFUlNJT04sIFdF
QktJVF9VU0VSX0FHRU5UX01JTk9SX1ZFUlNJT04pKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChjb25zdCBTdHJpbmcsIHN0YXRpY1VBLCAoU3RyaW5nOjpmb3JtYXQoIk1vemlsbGEvNS4wICgl
czsgVTsgJXM7ICVzKSBBcHBsZVdlYktpdC8lcyAoS0hUTUwsIGxpa2UgR2Vja28pIFNhZmFyaS8l
cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGxhdGZvcm0sIG9zVmVyc2lvbiwgZGVmYXVsdExhbmd1YWdlKCkudXRmOCgp
LmRhdGEoKSwgdWFWZXJzaW9uLnV0ZjgoKS5kYXRhKCksIHVhVmVyc2lvbi51dGY4KCkuZGF0YSgp
KSkpOwotCi0gICAgZ19mcmVlKG9zVmVyc2lvbik7Ci0gICAgZ19mcmVlKHBsYXRmb3JtKTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgc3RhdGljVUEsIChTdHJpbmc6OmZv
cm1hdCgiTW96aWxsYS81LjAgKCVzOyBVOyAlczsgJXMpIEFwcGxlV2ViS2l0LyVzIChLSFRNTCwg
bGlrZSBHZWNrbykgVmVyc2lvbi81LjAgU2FmYXJpLyVzIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWJraXRQbGF0Zm9y
bSgpLnV0ZjgoKS5kYXRhKCksIHdlYmtpdE9TVmVyc2lvbigpLnV0ZjgoKS5kYXRhKCksIGRlZmF1
bHRMYW5ndWFnZSgpLnV0ZjgoKS5kYXRhKCksIHVhVmVyc2lvbi51dGY4KCkuZGF0YSgpLCB1YVZl
cnNpb24udXRmOCgpLmRhdGEoKSkpKTsKIAogICAgIHJldHVybiBzdGF0aWNVQTsKIH0KQEAgLTYw
Nyw3ICs2MTYsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQo
V2ViS2l0V2ViU2V0dGluZ3NDbGFzcyoga2xhc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJ1c2VyLWFnZW50IiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiVXNlciBBZ2Vu
dCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfKCJUaGUgVXNlci1BZ2VudCBzdHJpbmcgdXNlZCBieSBXZWJLaXRHdGsiKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Via2l0
X2dldF91c2VyX2FnZW50KCkudXRmOCgpLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Via2l0VXNlckFnZW50KCkudXRmOCgp
LmRhdGEoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmxhZ3MpKTsKIAogICAgIC8qKgpAQCAtMTAzNCw3ICsxMDQzLDcgQEAgc3RhdGlj
IHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19zZXRfcHJvcGVydHkoR09iamVjdCogb2JqZWN0LCBn
dWludCBwcm9wX2lkLCBjb24KICAgICBjYXNlIFBST1BfVVNFUl9BR0VOVDoKICAgICAgICAgZ19m
cmVlKHByaXYtPnVzZXJfYWdlbnQpOwogICAgICAgICBpZiAoIWdfdmFsdWVfZ2V0X3N0cmluZyh2
YWx1ZSkgfHwgIXN0cmxlbihnX3ZhbHVlX2dldF9zdHJpbmcodmFsdWUpKSkKLSAgICAgICAgICAg
IHByaXYtPnVzZXJfYWdlbnQgPSBnX3N0cmR1cCh3ZWJraXRfZ2V0X3VzZXJfYWdlbnQoKS51dGY4
KCkuZGF0YSgpKTsKKyAgICAgICAgICAgIHByaXYtPnVzZXJfYWdlbnQgPSBnX3N0cmR1cCh3ZWJr
aXRVc2VyQWdlbnQoKS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
cHJpdi0+dXNlcl9hZ2VudCA9IGdfc3RyZHVwKGdfdmFsdWVfZ2V0X3N0cmluZyh2YWx1ZSkpOwog
ICAgICAgICBicmVhazsKLS0gCjEuNy4xCgo=
</data>
<flag name="review"
          id="56424"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>