<?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>142074</bug_id>
          
          <creation_ts>2015-02-26 21:07:33 -0800</creation_ts>
          <short_desc>[GTK] Improve user agent construction</short_desc>
          <delta_ts>2021-03-09 08:33:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=221845</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=219278</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=215845</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=191858</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=208647</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=207984</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=206506</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=199153</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=185165</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=171941</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=171770</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=171603</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=222039</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=132602</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=129681</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=222978</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>162548</dependson>
    
    <dependson>162610</dependson>
    
    <dependson>162611</dependson>
    
    <dependson>162612</dependson>
    
    <dependson>162613</dependson>
    
    <dependson>162614</dependson>
    
    <dependson>162615</dependson>
    
    <dependson>162616</dependson>
    
    <dependson>162617</dependson>
    
    <dependson>162618</dependson>
    
    <dependson>162984</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>feaneron</cc>
    
    <cc>lantw44</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>olivier.blin</cc>
    
    <cc>tpopela</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1072631</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-02-26 21:07:33 -0800</bug_when>
    <thetext>For Fedora we are adding our branding to the default WebKitGTK+ user agent. Since this in non-intrusive and might be useful for other distributors, I will post the patch here. If you don&apos;t want it then please close this bug.

We are going to try this:

Mozilla/5.0 (Fedora; Linux x86_64) AppleWebKit/601.1 (KHTML, like Gecko) Version/8.0 Safari/601.1

If removing X11 causes problems, then we&apos;ll do this:

Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/601.1 (KHTML, like Gecko) Version/8.0 Safari/601.1

We&apos;re not using Epiphany&apos;s branding.conf file so that the change affects other browsers and so that we can get it in the parenthetical at the start of the user agent rather than at the end (because that&apos;s where we put it in Firefox).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072636</commentid>
    <comment_count>1</comment_count>
      <attachid>247493</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-02-26 21:13:49 -0800</bug_when>
    <thetext>Created attachment 247493
[GTK] Consider allowing vendor branding in the default user agent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072637</commentid>
    <comment_count>2</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-02-26 21:19:02 -0800</bug_when>
    <thetext>Why is this an improvement over webkit_settings_set_user_agent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072638</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-02-26 21:19:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Why is this an improvement over webkit_settings_set_user_agent?

I suppose this is useful for distributions, but browsers should probably be overriding this anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072642</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-02-26 21:28:35 -0800</bug_when>
    <thetext>(In reply to comment #3) 
&gt; I suppose this is useful for distributions, but browsers should probably be
&gt; overriding this anyway.

I think most browsers probably want to leave the default user agent alone, and only append to the user agent with webkit_settings_set_user_agent_with_application_details(). At least that&apos;s what we do with Epiphany. If they do that, then the distributor branding remains intact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072665</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-26 23:00:01 -0800</bug_when>
    <thetext>User agent is unfortunately very weak thing, I would not change anything here, we already have API to set any user agent. Has this been requested by any distributor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072703</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-02-27 08:35:08 -0800</bug_when>
    <thetext>Yes, it was requested by the Red Hat desktop team.

I think adding the Fedora branding will be safe. If some odd site proves that wrong, we&apos;ll add quirks to remove it for individual problematic sites in response to bug reports, or experiment with moving it to a different position in the user agent. But I think it will be fine where it is.

Removing X11 seems riskier, but we have Wayland user sessions working and plan to default to Wayland later this year, and I don&apos;t want to lie about running in X11 unless we determine that it&apos;s actually needed to make sites work. If this causes bugs, I&apos;ll put it back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151994</commentid>
    <comment_count>7</comment_count>
      <attachid>247493</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-02 10:38:37 -0800</bug_when>
    <thetext>Comment on attachment 247493
[GTK] Consider allowing vendor branding in the default user agent

One year later, the only site I&apos;m aware has been broken by this is Google Calendar. We will add a user agent quirk for them and continue to use this patch.

But I am removing r? because I should update this patch to check the platform at runtime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156302</commentid>
    <comment_count>8</comment_count>
      <attachid>269191</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-17 12:11:45 -0800</bug_when>
    <thetext>Created attachment 269191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156304</commentid>
    <comment_count>9</comment_count>
      <attachid>269192</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-17 12:14:59 -0800</bug_when>
    <thetext>Created attachment 269192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156362</commentid>
    <comment_count>10</comment_count>
      <attachid>269192</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-17 23:16:09 -0800</bug_when>
    <thetext>Comment on attachment 269192
Patch

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

Thanks for working on this, user agent string is always a nightmare. So, I think we should do the changes carefully. First, I would split this patch in several ones, so that it&apos;s easier to review, and also easier to roll out individual changes if needed eventually. One patch to improve the detection of platforms, CPU, etc. another one to add the distro name, another to remove the yahoo quirk and then one patch for every new quirk. Every new quirk should add a test case to Tools/TestWebKitAPI/Tests/WebCore/gtk/UserAgentQuirks.cpp. Regarding the google domains, in WebKit1 we used to detect google sites to use a different UA, see bug #134631, we backported that to 2.4 branch in r170882, but didn&apos;t do the same in trunk because google sites worked at that time, but maybe that approach would work now in trunk as well.

&gt; Source/WebCore/platform/gtk/UserAgentGtk.cpp:109
&gt; +    GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get());
&gt; +#if PLATFORM(X11)
&gt; +    if (GDK_IS_X11_DISPLAY(display))
&gt; +        return &quot;X11&quot;;
&gt; +#endif

Use PlatformDisplay which also don&apos;t require to build this twice for the plugin process.

&gt; Source/WebCore/platform/gtk/UserAgentGtk.cpp:122
&gt; +#warning OS X has an incomplete implementation of platformVersionForUAString. Consider fixing it.

Do we really need a compile warning for this? Leave the FIXME, open a bug report and add the bug URL to the FIXME comment.

&gt; Source/WebCore/platform/gtk/UserAgentGtk.cpp:129
&gt; +    // TODO: For Windows, return a version string of the form &quot;Windows NT 6.1&quot;.

In WebKit we don&apos;t use TODO, but FIXME.

&gt; Source/WebCore/platform/gtk/UserAgentGtk.cpp:148
&gt; +        if (std::strlen(platform)) {

If you return nullptr instead of &quot;&quot; you don&apos;t need strlen here, but if uou still want to return &quot;&quot; you could just do if *platform or if platform[0] instead of strlen. You might also consider using CString and check is platforn.isNull().

&gt; Source/WebCore/platform/gtk/UserAgentGtk.cpp:207
&gt; +    const char* baseDomain = soup_tld_get_base_domain(url.host().utf8().data(), nullptr);
&gt; +    if (!baseDomain)
&gt; +        return false;

Use topPrivatelyControlledDomain() from PublicSuffix.h

&gt; Source/WebCore/platform/gtk/UserAgentGtk.cpp:220
&gt; +    const char* baseDomain = soup_tld_get_base_domain(url.host().utf8().data(), nullptr);
&gt; +    if (!baseDomain)
&gt; +        return false;

Ditto.

&gt; Source/WebCore/platform/gtk/UserAgentGtk.cpp:231
&gt; +    // Various subdomains display &quot;unsupported browser&quot; warnings when using our standard UA. Google
&gt; +    // used to complain loudly about this when Chrome was new. Now they are the biggest offender.
&gt; +    // Note in particular that calendar.google.com falls back to an atrocious fallback page with our
&gt; +    // standard user agent if it does not include the string &quot;X11&quot; so be careful if removing this.
&gt; +    if (!std::strcmp(baseDomain, &quot;google.com&quot;))
&gt; +        return true;

See http://trac.webkit.org/changeset/170882 we have better ways to detect google sites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156399</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-18 06:57:32 -0800</bug_when>
    <thetext>OK to all except:

(In reply to comment #10)
&gt; Use PlatformDisplay which also don&apos;t require to build this twice for the
&gt; plugin process.

I couldn&apos;t figure out how to link TestWebCore when I added PlatformDisplay; linker errors are really hard. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165265</commentid>
    <comment_count>12</comment_count>
      <attachid>271470</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-16 12:36:23 -0800</bug_when>
    <thetext>Created attachment 271470
Screenshot of calendar.google.com

For posterity, a screenshot of the breakage on calendar.google.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173821</commentid>
    <comment_count>13</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2016-03-11 12:27:24 -0800</bug_when>
    <thetext>It seems that this patch still doesn&apos;t fix maps.google.com, which has force-disables Google Earth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1176586</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-03-20 08:47:30 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; It seems that this patch still doesn&apos;t fix maps.google.com, which has
&gt; force-disables Google Earth.

Also, as Google has not responded to my previous user-agent related bug report, and they&apos;re throwing unsupported browser warnings on so many domains, and I have zero remaining patience for them, I think the only reasonable solution is to add Chromium to our user agent on all Google domains. If Chromium in the UA breaks some Google site, we&apos;ll just have to add more user agent hackarounds to remove it just for those domains.

I&apos;m confident that we should use the Chromium UA only on Google domains, as we know using it on the entire Internet would be quite risky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1176587</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-03-20 08:48:37 -0700</bug_when>
    <thetext>Also that will shut up their Chrome advertisements, fitting punishment for all the harm they&apos;ve caused to the web via their broken user agent parsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1176606</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-03-20 12:30:00 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Regarding the
&gt; google domains, in WebKit1 we used to detect google sites to use a different
&gt; UA, see bug #134631, we backported that to 2.4 branch in r170882, but didn&apos;t
&gt; do the same in trunk because google sites worked at that time, but maybe
&gt; that approach would work now in trunk as well.

That approach is a bit extreme and it will break for any new country-specific domains Google sets up. I would just say: if the second-level domain is &quot;google&quot; or if it&apos;s gmail.com, then we should use the Chromium UA. I would avoid UA hacks for youtube.com, gstatic.com, and ytimg.com unless we know it&apos;s needed to fix something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209491</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-07-09 17:05:15 -0700</bug_when>
    <thetext>A couple Chinese sites to try fixing:

 * taobao.com (redirecting to mobile version)
 * news.163.com (ditto)

Let&apos;s try pretending to be Safari on OS X and see if that works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209628</commentid>
    <comment_count>18</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-07-11 06:40:21 -0700</bug_when>
    <thetext>Also:

* web.whatsapp.com (requires Chromium UA)
* framateam.org (requires Safari 9 UA)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1220451</commentid>
    <comment_count>19</comment_count>
      <attachid>269192</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-16 09:18:23 -0700</bug_when>
    <thetext>Comment on attachment 269192
Patch

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

&gt; Source/WebCore/ChangeLog:26
&gt; +        this is not supported in GTK+ 3. Return X11 only if actually running in X11. This can be
&gt; +        expected to break sites similarly to replacing X11 with a distributor name, and is the
&gt; +        riskiest change in this patch, but I think we can get away with it.

It seems not returning the X11 string on the UA string breaks (at least) Google maps.
I think the X11 string should be always present (even if running on Wayland).
The branding can be after the X11 string (like: &quot;Mozilla/5.0 (X11; Fedora; Linux x86_64)&quot;) but it can&apos;t be instead of the X11 string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1220476</commentid>
    <comment_count>20</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-08-16 10:16:19 -0700</bug_when>
    <thetext>Yeah, we already discovered that removing X11 breaks Google Calendar.

Since this is so far only an issue on Google domains, and we are going to send a fake UA to Google domains regardless, we don&apos;t necessarily *have* to bring back X11. I don&apos;t want to, but it does seem safer to do so....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1220481</commentid>
    <comment_count>21</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-08-16 10:25:22 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Yeah, we already discovered that removing X11 breaks Google Calendar.
&gt; 
&gt; Since this is so far only an issue on Google domains, and we are going to
&gt; send a fake UA to Google domains regardless, we don&apos;t necessarily *have* to
&gt; bring back X11. I don&apos;t want to, but it does seem safer to do so....

Firefox on fedora does not replace the X11 string, but adds the Fedora string after it.

I think is better to play safe here. There are trillions of Web sites out there. Is impossible to know if we are going to break something or not. Taking the most conservative approach (that is, just do what the other browsers do) seems the best option to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1231689</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-20 09:25:12 -0700</bug_when>
    <thetext>Olivier Blin reports that we also need a Chrome user agent hack for YouTube, to get YouTube 360 to work: &quot;Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36&quot;

Test video: https://www.youtube.com/watch?v=FRTnWZxTeQs

I&apos;m seriously considering adding Chrome by default, like Martin wants to do, and adding workarounds for sites that break with the Chrome UA, rather than vice-versa.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232051</commentid>
    <comment_count>23</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-21 06:40:40 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Olivier Blin reports that we also need a Chrome user agent hack for YouTube,
&gt; to get YouTube 360 to work: &quot;Mozilla/5.0 (X11; Linux x86_64)
&gt; AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36&quot;

Iulian Radu reports it&apos;s needed for Slack as well. Same Chrome user agent.

(In reply to comment #22)
&gt; I&apos;m seriously considering adding Chrome by default, like Martin wants to do,
&gt; and adding workarounds for sites that break with the Chrome UA, rather than
&gt; vice-versa.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232052</commentid>
    <comment_count>24</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-09-21 06:41:18 -0700</bug_when>
    <thetext>I&apos;ll try to get to this at the web engines hackfest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256296</commentid>
    <comment_count>25</comment_count>
    <who name="Ting-Wei Lan">lantw44</who>
    <bug_when>2016-12-05 07:18:44 -0800</bug_when>
    <thetext>Google Calendar is still broken on FreeBSD. Here are some test results:

WebKitGTK+ default + FreeBSD amd64 =&gt; OK
WebKitGTK+ default + FreeBSD x86_64 =&gt; OK
WebKitGTK+ default + Linux x86_64 =&gt; OK
WebKitGTK+ default + Linux amd64 =&gt; Broken
WebKitGTK+ default + Linux abc =&gt; Broken

Chrome quirk + FreeBSD amd64 =&gt; Broken (This is the default used by WebKitGTK+)
Chrome quirk + FreeBSD x86_64 =&gt; Broken
Chrome quirk + Linux x86_64 =&gt; OK
Chrome quirk + Linux amd64 =&gt; Broken
Chrome quirk + Linux abc =&gt; Broken

It seems that Google Calendar checks not only the browser but also the operating system. It also tests the name of the CPU architecture. Using anything started with &apos;a&apos; can possibly trigger the mobile version.

I cannot find a way to change user agent in WebKitGTK+ for websites in the quirk list, so I got these results by copying user agent string in WebKit inspector to Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256320</commentid>
    <comment_count>26</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-05 09:15:09 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Google Calendar is still broken on FreeBSD.

Yes, on Fedora too. I must have done something wrong when testing it, or maybe Google changed. Anyway, we are having other problems with using the Chrome quirk on Google domains; it seems to have broken Hangouts and Google notifications at least. I&apos;m planning to switch to the Safari on macOS quirk, that should hopefully fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261055</commentid>
    <comment_count>27</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-18 14:35:26 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; Google Calendar is still broken on FreeBSD. Here are some test results:
&gt; 
&gt; WebKitGTK+ default + FreeBSD amd64 =&gt; OK
&gt; WebKitGTK+ default + FreeBSD x86_64 =&gt; OK
&gt; WebKitGTK+ default + Linux x86_64 =&gt; OK
&gt; WebKitGTK+ default + Linux amd64 =&gt; Broken
&gt; WebKitGTK+ default + Linux abc =&gt; Broken
&gt; 
&gt; Chrome quirk + FreeBSD amd64 =&gt; Broken (This is the default used by
&gt; WebKitGTK+)
&gt; Chrome quirk + FreeBSD x86_64 =&gt; Broken
&gt; Chrome quirk + Linux x86_64 =&gt; OK
&gt; Chrome quirk + Linux amd64 =&gt; Broken
&gt; Chrome quirk + Linux abc =&gt; Broken

Are you still able to reproduce these results? In my testing, user agent doesn&apos;t make any difference at all anymore. I always get the good calendar.google.com in my development Epiphany/WebKit, never in my system Epiphany with WebKitGTK+ 2.14.2, using fresh profiles, regardless of user agent....

So that&apos;s confusing.

We need to not send the Chrome quirk to make google.com work anyway, so I guess just removing the quirk seems to be an option...? Can anybody else test this to confirm my result?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261112</commentid>
    <comment_count>28</comment_count>
    <who name="Ting-Wei Lan">lantw44</who>
    <bug_when>2016-12-19 07:38:59 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #25)
&gt; &gt; Google Calendar is still broken on FreeBSD. Here are some test results:
&gt; &gt; 
&gt; &gt; WebKitGTK+ default + FreeBSD amd64 =&gt; OK
&gt; &gt; WebKitGTK+ default + FreeBSD x86_64 =&gt; OK
&gt; &gt; WebKitGTK+ default + Linux x86_64 =&gt; OK
&gt; &gt; WebKitGTK+ default + Linux amd64 =&gt; Broken
&gt; &gt; WebKitGTK+ default + Linux abc =&gt; Broken
&gt; &gt; 
&gt; &gt; Chrome quirk + FreeBSD amd64 =&gt; Broken (This is the default used by
&gt; &gt; WebKitGTK+)
&gt; &gt; Chrome quirk + FreeBSD x86_64 =&gt; Broken
&gt; &gt; Chrome quirk + Linux x86_64 =&gt; OK
&gt; &gt; Chrome quirk + Linux amd64 =&gt; Broken
&gt; &gt; Chrome quirk + Linux abc =&gt; Broken
&gt; 
&gt; Are you still able to reproduce these results? In my testing, user agent
&gt; doesn&apos;t make any difference at all anymore. I always get the good
&gt; calendar.google.com in my development Epiphany/WebKit, never in my system
&gt; Epiphany with WebKitGTK+ 2.14.2, using fresh profiles, regardless of user
&gt; agent....

I can reproduce the results with Firefox by setting general.useragent.override in about:config. I don&apos;t know how to do the test with Epiphany/WebKit because webkit_settings_set_user_agent is useless on websites with quirks.

WebKitGTK+ default is:
Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/603.1 (KHTML, like Gecko)  Version/10.0 Safari/603.1

Chrome quirk is:
Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/603.1 (KHTML, like Gecko) Chrome/56.0.2891.4  Version/10.0 Safari/603.1

&gt; 
&gt; So that&apos;s confusing.
&gt; 
&gt; We need to not send the Chrome quirk to make google.com work anyway, so I
&gt; guess just removing the quirk seems to be an option...? Can anybody else
&gt; test this to confirm my result?

I tested Google Calendar (with Firefox) and Google Maps (with Chromium).
Google Calendar works with WebKitGTK+ default on both Linux and FreeBSD.
Google Maps works with WebKitGTK+ default on Linux.
I didn&apos;t test whether adding Epiphany/3.23.3 can break things.

Google Maps automatically switches to lite mode on FreeBSD, and it doesn&apos;t provide an interface to switch it back to full mode. It seems we needs a quirk such as NeedsLinuxPlatform to workaround it.

Do you know how to set user agent on websites with quirks in WebKit? Doing user agent test with other browsers is inconvenient and probably leads to incorrect results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261121</commentid>
    <comment_count>29</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-19 08:22:03 -0800</bug_when>
    <thetext>(In reply to comment #28) 
&gt; I can reproduce the results with Firefox by setting
&gt; general.useragent.override in about:config. I don&apos;t know how to do the test
&gt; with Epiphany/WebKit because webkit_settings_set_user_agent is useless on
&gt; websites with quirks.

That was my mistake. I was changing the gsetting, but as you observe it has no effect. Good catch! That was really confusing me!

&gt; WebKitGTK+ default is:
&gt; Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/603.1 (KHTML, like Gecko) 
&gt; Version/10.0 Safari/603.1
&gt; 
&gt; Chrome quirk is:
&gt; Mozilla/5.0 (X11; FreeBSD amd64) AppleWebKit/603.1 (KHTML, like Gecko)
&gt; Chrome/56.0.2891.4  Version/10.0 Safari/603.1

OK, that&apos;s helpful to see. We might need to add a Linux x86_64 quirk.

&gt; &gt; 
&gt; &gt; So that&apos;s confusing.
&gt; &gt; 
&gt; &gt; We need to not send the Chrome quirk to make google.com work anyway, so I
&gt; &gt; guess just removing the quirk seems to be an option...? Can anybody else
&gt; &gt; test this to confirm my result?
&gt; 
&gt; I tested Google Calendar (with Firefox) and Google Maps (with Chromium).
&gt; Google Calendar works with WebKitGTK+ default on both Linux and FreeBSD.

The problem with Calender, is we have a requirement to add Fedora branding, which is currently a downstream patch, and that is what breaks it. Sigh.

&gt; Google Maps works with WebKitGTK+ default on Linux.
&gt; I didn&apos;t test whether adding Epiphany/3.23.3 can break things.

I don&apos;t know what doesn&apos;t work without the UA tweak, some 3D feature or something.

&gt; Google Maps automatically switches to lite mode on FreeBSD, and it doesn&apos;t
&gt; provide an interface to switch it back to full mode. It seems we needs a
&gt; quirk such as NeedsLinuxPlatform to workaround it.

OK, noted. If I commit any more user agent changes here without fixing this, then I forgot and you should yell at me.

&gt; Do you know how to set user agent on websites with quirks in WebKit? Doing
&gt; user agent test with other browsers is inconvenient and probably leads to
&gt; incorrect results.

No, we don&apos;t currently have any way to override user agent quirks, sorry. That requires future work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262783</commentid>
    <comment_count>30</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-26 17:05:31 -0800</bug_when>
    <thetext>I think all we need to do here is switch Google domains to use the macOS quirk. That should fix FreeBSD.

After disabling the quirk and changing my user agent to match FreeBSD, I still failed to reproduce the Calendar issue, but was able to reproduce the Maps issue. (I did see a little lightning bolt in the bottom-right that I could use to switch  out of Lite mode, though). The macOS quirk works fine for it, so I think we don&apos;t need a Linux platform quirk at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262784</commentid>
    <comment_count>31</comment_count>
      <attachid>297774</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-26 17:11:49 -0800</bug_when>
    <thetext>Created attachment 297774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262807</commentid>
    <comment_count>32</comment_count>
      <attachid>297774</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-12-27 01:35:43 -0800</bug_when>
    <thetext>Comment on attachment 297774
Patch

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

&gt; Source/WebCore/platform/UserAgentQuirks.cpp:65
&gt; +    // Avoid receiving a terrible fallback version of calendar.google.com with
&gt; +    // custom distributor name or on FreeBSD. Avoid receiving Lite version of
&gt; +    // maps.google.com on FreeBSD. Google is the worst. Bug #142074.

You mention FreeBSD here but it&apos;s applied unconditionally, making the comment a bit confusing. I don&apos;t think &quot;Google is the worst&quot; adds anything useful to the comment, to be honest. And I would add a bz url instead of just the bug number, you can a short version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262812</commentid>
    <comment_count>33</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-27 07:27:44 -0800</bug_when>
    <thetext>Committed r210168: &lt;http://trac.webkit.org/changeset/210168&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262938</commentid>
    <comment_count>34</comment_count>
    <who name="Ting-Wei Lan">lantw44</who>
    <bug_when>2016-12-28 09:00:25 -0800</bug_when>
    <thetext>I found a way to change user agent on websites with quirks:
MiniBrowser --enable-site-specific-quirks=false --user-agent=&apos;&lt;user_agent_string&gt;&apos;

I tested r210197 on FreeBSD. Google Calendar issue is fixed now, and Google Maps uses full mode by default.

However, the bottom-left of the Google Maps page says &apos;Satellite&apos;. (It is &apos;Earth&apos; on Firefox and Chrome.) I am not sure whether this causes functionality difference, but some features work differently. In &apos;Earth&apos; mode, it is possible to see the street view by zooming in. In &apos;Satellite&apos; mode, zooming in doesn&apos;t work, but there are other ways to get street view mode. If I add &apos;Chrome/55.0.2883.87&apos; to user agent, it can change to &apos;Earth&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262958</commentid>
    <comment_count>35</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 11:43:10 -0800</bug_when>
    <thetext>Thanks Ting-Wei, this is a great help. The Earth mode is awesome and seems to work fine so long as we don&apos;t remove the Chrome quirk like I just did yesterday. I think the best solution is to use both the Chrome and macOS quirks for Google Maps, that way we avoid any possibility of breakage on FreeBSD.

Carlos: Google is really the worst.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262959</commentid>
    <comment_count>36</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 11:44:48 -0800</bug_when>
    <thetext>But crap, Google is now redirecting from maps.google.com to www.google.com/maps, so we can&apos;t use the host portion of the URL to decide whether to apply the quirk... it&apos;s like they&apos;re trying to make it as hard as possible for us to make their website work properly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262960</commentid>
    <comment_count>37</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 11:55:55 -0800</bug_when>
    <thetext>I think what we should do is always use BOTH quirks on all Google domains, except hangouts.google.com.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262991</commentid>
    <comment_count>38</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 15:55:03 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; I think what we should do is always use BOTH quirks on all Google domains,
&gt; except hangouts.google.com.

Unfortunately the macOS quirk makes it impossible to download the Hangouts plugin, Google only offers the macOS download. And unfortunately the download comes from google.com and not hangouts.google.com. So with Hangouts and Maps both using the same host, we can&apos;t differentiate between the two except by using the path component of the URL, and as they require incompatible platform quirks... this is quite tricky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262992</commentid>
    <comment_count>39</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 16:00:19 -0800</bug_when>
    <thetext>I guess Hangouts cannot work on FreeBSD anyway, because there&apos;s no appropriate download. So the fix that works as well as possible for everyone would be a Linux  x86_64 platform quirk. We don&apos;t really need the Mac platform, we just need some hardcoded platform string that doesn&apos;t include &quot;FreeBSD&quot; or &quot;Fedora&quot; or &quot;amd64&quot;. That avoids any quirk problems with Hangouts on Linux, and it&apos;s unfixable for FreeBSD so won&apos;t cause any additional problem there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262998</commentid>
    <comment_count>40</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 16:20:50 -0800</bug_when>
    <thetext>No, even that doesn&apos;t work. If we use the Chrome UA that breaks Hangouts, it won&apos;t try to download the plugin. A Firefox quirk fixes Maps without breaking Hangouts. So need to add both a Linux quirk (for FreeBSD) and a Firefox quirk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263005</commentid>
    <comment_count>41</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 19:18:51 -0800</bug_when>
    <thetext>OK I got it working. This was really hard! I&apos;m fairly confident that the Firefox quirk is the safest approach to take with Google domains, that avoids Chrome-specific crap like Hangouts while ensuring we also get the nicest versions of sites like Google Maps. The Linux platform quirk seems odd but is really needed for FreeBSD. I also fixed a teensy bug that caused an extra space to appear in the user agent before the Safari version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263009</commentid>
    <comment_count>42</comment_count>
      <attachid>297819</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-12-28 19:29:08 -0800</bug_when>
    <thetext>Created attachment 297819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263126</commentid>
    <comment_count>43</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-12-30 00:34:06 -0800</bug_when>
    <thetext>Could we use new bug reports for new issues instead of keep reopening this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263129</commentid>
    <comment_count>44</comment_count>
      <attachid>297819</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-30 01:03:42 -0800</bug_when>
    <thetext>Comment on attachment 297819
Patch

Clearing flags on attachment: 297819

Committed r210207: &lt;http://trac.webkit.org/changeset/210207&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263130</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-30 01:03:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247493</attachid>
            <date>2015-02-26 21:13:49 -0800</date>
            <delta_ts>2016-01-17 12:11:42 -0800</delta_ts>
            <desc>[GTK] Consider allowing vendor branding in the default user agent</desc>
            <filename>bug-142074-20150226231335.patch</filename>
            <type>text/plain</type>
            <size>1629</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNhYTE0MjhmYjYzNzU3
M2EzMzllNGRmYjNhYzdhNmM4ZjcyOWNjZS4uN2NlZTU5ZmE4ZGFhYjI0Y2MwNDYzMTczMjgxZmNl
YzJhMjg2M2EzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE1LTAyLTI2ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBD
b25zaWRlciBhbGxvd2luZyB2ZW5kb3IgYnJhbmRpbmcgaW4gdGhlIGRlZmF1bHQgdXNlciBhZ2Vu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyMDc0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzOiBjaGFuZ2UgaXMgdHJpdmlhbCBhbmQgZGlzYWJsZWQgYnkgZGVmYXVsdC4KKworICAg
ICAgICBBbGxvdyBvdmVycmlkaW5nIHRoZSBwbGF0Zm9ybSBpbiB0aGUgdXNlciBhZ2VudCBieSBk
ZWZpbmluZworICAgICAgICBVU0VSX0FHRU5UX0dUS19ESVNUUklCVVRPUl9OQU1FLiBGb3IgZXhh
bXBsZSwgYSBkaXN0cmlidXRpb24gbWlnaHQgY29uZmlndXJlIHdpdGgKKyAgICAgICAgLURDTUFL
RV9DWFhfRkxBR1M9Jy1EVVNFUl9BR0VOVF9HVEtfRElTVFJJQlVUT1JfTkFNRT1cIkZlZG9yYVwi
Jy4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9Vc2VyQWdlbnRHdGsuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6cGxhdGZvcm1Gb3JVQVN0cmluZyk6CisKIDIwMTUtMDItMjQgIERlYW4gSmFja3Nv
biAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1MgTWVkaWFdIEJlIHNwZWNpZmljIGFi
b3V0IHdoaWNoIGRvY3VtZW50IHRvIHVzZSBmb3IgdGhlIHRpbWVsaW5lIGJhY2tncm91bmQgY2Fu
dmFzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVXNlckFnZW50R3Rr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Vc2VyQWdlbnRHdGsuY3BwCmluZGV4
IDkxNjQxZGNhNjQ3ZTA1MTI4MWYyODdmNzg3Mjk2ODA1MWRkZjg1ZmYuLjcyN2ZiYWZiMjE0ZjU2
YTI2MmZjOGU5MGIyMzE2ZDRlNjE0YzQ1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9Vc2VyQWdlbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9Vc2VyQWdlbnRHdGsuY3BwCkBAIC04NCw3ICs4NCw5IEBAIHN0YXRpYyBjb25zdCBjaGFy
KiBjcHVEZXNjcmlwdGlvbkZvclVBU3RyaW5nKCkKIAogc3RhdGljIGNvbnN0IGNoYXIqIHBsYXRm
b3JtRm9yVUFTdHJpbmcoKQogewotI2lmIFBMQVRGT1JNKFgxMSkKKyNpZiBkZWZpbmVkIFVTRVJf
QUdFTlRfR1RLX0RJU1RSSUJVVE9SX05BTUUKKyAgICByZXR1cm4gVVNFUl9BR0VOVF9HVEtfRElT
VFJJQlVUT1JfTkFNRTsKKyNlbGlmIFBMQVRGT1JNKFgxMSkKICAgICByZXR1cm4gIlgxMSI7CiAj
ZWxpZiBPUyhXSU5ET1dTKQogICAgIHJldHVybiAiIjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269191</attachid>
            <date>2016-01-17 12:11:45 -0800</date>
            <delta_ts>2016-01-17 12:14:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142074-20160117141116.patch</filename>
            <type>text/plain</type>
            <size>13153</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjJiYTllODAwZTA2ODU5
YTJiNjA1MDhkZjMyZmU0ZmUwOWUwY2ViMy4uNTk0MDIxZGQyMWY2MzBhZTc1NWI0ZmNjZmYxM2Vm
ZTFhZGUxMTI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDE2LTAxLTE3ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBJ
bXByb3ZlIHVzZXIgYWdlbnQgY29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBWZXJ5IGNhcmVmdWxseSwgaW4gaG9wZXMgb2Ygbm90IGJy
ZWFraW5nIG11Y2guLi4uCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAg
Q29tcGlsZSBVc2VyQWdlbnRHdGsuY3BwIHR3aWNlIHRvIGFsbG93IHVzZSBvZiBHREsuCisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
cHVEZXNjcmlwdGlvbkZvclVBU3RyaW5nKToKKyAgICAgICAgRmFpbCB0aGUgYnVpbGQgaWYgdGhp
cyBmdW5jdGlvbiBuZWVkcyBpbXBsZW1lbnRlZCBmb3IgYSBDUFUsIHJhdGhlciB0aGFuIGFkZGlu
ZyAiVW5rbm93biIgdG8KKyAgICAgICAgdGhlIE1hY2ludG9zaCBxdWlyayB1c2VyIGFnZW50LiBU
aGlzIG9ubHkgYWZmZWN0cyB0aGUgcXVpcmssIGJ1dCBzdGlsbCwgd2UgZG9uJ3Qgd2FudCBmb2xr
cworICAgICAgICB0byB3aW5kIHVwIHdpdGggIlVua25vd24iIGV2ZW4gaW4gdGhlIHF1aXJrIHVz
ZXIgYWdlbnQuCisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUZvclVBU3RyaW5nKToKKyAgICAg
ICAgQWxsb3cgZGlzdHJpYnV0b3JzIHRvIG92ZXJyaWRlIHRoZSByZXN1bHQgb2YgdGhpcyBmdW5j
dGlvbi4gSW4gRmVkb3JhLCB3ZSBoYXZlIGJlZW4gdXNpbmcgYQorICAgICAgICBwYXRjaCB0byBy
ZXBsYWNlIHRoZSByZXR1cm4gdmFsdWUgd2l0aCAiRmVkb3JhIiBmb3IgbmVhcmx5IG9uZSB5ZWFy
LCB3aXRob3V0IGV4cGVyaWVuY2luZworICAgICAgICBzaWduaWZpY2FudCBjb21wYXRpYmlsaXR5
IHByb2JsZW1zLiBUaGlzIGlzIGtub3duIHRvIGhhdmUgYnJva2VuIG9ubHkgb25lIHNpdGUsCisg
ICAgICAgIGNhbGVuZGFyLmdvb2dsZS5jb20uIFVzZSBPUyhNQUNfT1NfWCkgcmF0aGVyIHRoYW4g
UExBVEZPUk0oTUFDKSB0byBkZXRlY3Qgd2hldGhlciB0byByZXR1cm4KKyAgICAgICAgTWFjaW50
b3NoLCBiZWNhdXNlIFBMQVRGT1JNKE1BQykgaXMgZ3VhcmFudGVlZCB0byBiZSBmYWxzZS4gQWRk
IGEgY29tbWVudCB0byBleHBsYWluIHdoeSB0aGUKKyAgICAgICAgcmV0dXJuIHZhbHVlIHNob3Vs
ZCBiZSBlbXB0eSBmb3IgV2luZG93cy4gUmVtb3ZlIHJldHVybiB2YWx1ZSBmb3IgR0RLX1dJTkRP
V0lOR19ESVJFQ1RGQiBhcworICAgICAgICB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgaW4gR1RLKyAz
LiBSZXR1cm4gWDExIG9ubHkgaWYgYWN0dWFsbHkgcnVubmluZyBpbiBYMTEuIFRoaXMgY2FuIGJl
CisgICAgICAgIGV4cGVjdGVkIHRvIGJyZWFrIHNpdGVzIHNpbWlsYXJseSB0byByZXBsYWNpbmcg
WDExIHdpdGggYSBkaXN0cmlidXRvciBuYW1lLCBhbmQgaXMgdGhlCisgICAgICAgIHJpc2tpZXN0
IGNoYW5nZSBpbiB0aGlzIHBhdGNoLCBidXQgSSB0aGluayB3ZSBjYW4gZ2V0IGF3YXkgd2l0aCBp
dC4KKyAgICAgICAgKFdlYkNvcmU6OnBsYXRmb3JtVmVyc2lvbkZvclVBU3RyaW5nKToKKyAgICAg
ICAgQWRkIGEgY29tcGlsZSB3YXJuaW5nIGFuZCBjb21tZW50IGZvciBPUyBYLCBzaW5jZSB0aGlz
IGZ1bmN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpZGVhbGx5LgorICAgICAgICBXZSBvdWdodCB0
byBhZGQgdGhlIE9TIFggdmVyc2lvbiBudW1iZXIgdG8gdGhlIFVBIHN0cmluZyBpbiBvcmRlciB0
byBtYWtlIGEgbW9yZSBjb252aW5jaW5nCisgICAgICAgIFNhZmFyaSBVQS4gQWRkIGEgVE9ETyBj
b21tZW50IGZvciBXaW5kb3dzIGFuZCBmYWlsIHRoZSBidWlsZCBpZiB0aGlzIGZ1bmN0aW9uIG5l
ZWRzCisgICAgICAgIGltcGxlbWVudGVkIGZvciBhIHBsYXRmb3JtLCByYXRoZXIgdGhhbiBmYWxs
aW5nIGJhY2sgdG8gYW4gT1MgWCB1c2VyIGFnZW50LCBzbyB0aGF0IHBlb3BsZQorICAgICAgICBk
b24ndCBhY2NpZGVudGFsbHkgd2luZCB1cCB3aXRoIGFuIHVuZGVzaXJlZCB1c2VyIGFnZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6YnVpbGRVc2VyQWdlbnRTdHJpbmcpOgorICAgICAgICBIYW5kbGUg
ZW1wdHkgcmVzdWx0cyBmcm9tIHBsYXRmb3JtRm9yVUFTdHJpbmcuIFRoaXMgd2lsbCBiZSB0aGUg
Y2FzZSB3aGVuIHJ1bm5pbmcgdW5kZXIKKyAgICAgICAgV2F5bGFuZCBvbiBMaW51eCB3aXRoIG5v
IGRpc3RyaWJ1dG9yIGJyYW5kaW5nLCBhbmQgaXQgd2FzIGFscmVhZHkgdGhlIGNhc2Ugd2hlbiBy
dW5uaW5nIG9uCisgICAgICAgIFdpbmRvd3MuIFRoZSBnb2FsIGlzIHRvIGF2b2lkIGFkZGluZyBh
IHNwdXJpb3VzIHNlbWljb2xvbiBpbnRvIHRoZSB1c2VyIGFnZW50LiBUaGUgcHJldmlvdXMKKyAg
ICAgICAgV2luZG93cyB1c2VyIGFnZW50IHdhcyBjbGVhcmx5IHdyb25nIGFzIHRoZSBmaXJzdCBj
aGFyYWN0ZXIgYWZ0ZXIgdGhlIG9wZW5pbmcgcGFyZW50aGVzZXMKKyAgICAgICAgd2FzIGEgc2Vt
aWNvbG9uOyBob3dldmVyLCBpdCdzIGNvbmNlaXZhYmxlIHRoYXQgdGhpcyBjb3VsZCBicmVhayBz
b21lIHNpdGVzIGlmIHRoZXkgbG9vayBmb3IKKyAgICAgICAgdGhlIFdpbmRvd3MgdmVyc2lvbiBi
ZXR3ZWVuIHR3byBzZW1pY29sb25zLiBBdCBhbnkgcmF0ZSwgaXQgaGFzIG5vdCBiZWVuIHBvc3Np
YmxlIHRvIGJ1aWxkCisgICAgICAgIFdpbmRvd3Mgc3VwcG9ydCBmb3IgYSBsb25nIHRpbWUsIHNv
IHRoaXMgaXMgbGFyZ2VseSBhIG1vb3QgcG9pbnQuIFRoZSByaXNrIGZvciBMaW51eCBzZWVtcwor
ICAgICAgICBsb3dlciB0aGFuIHRoYXQgb2YgcmVtb3ZpbmcgWDExLiBBZGQgYSBmYWtlIE9TIFgg
dmVyc2lvbiBudW1iZXIgdG8gdGhlIE1hY2ludG9zaCBxdWlyayB1c2VyCisgICAgICAgIGFnZW50
LCBpbiBvcmRlciB0byBtb3JlIGNvbnZpbmNpbmdseSBwcmV0ZW5kIHRvIGJlIE9TIFguIEFkZCBh
IHF1aXJrIENocm9tZSB1c2VyIGFnZW50LiBCdW1wCisgICAgICAgIG91ciBTYWZhcmkgdmVyc2lv
biB1cCB0byA5LjAuCisgICAgICAgIChXZWJDb3JlOjpzdGFuZGFyZFVzZXJBZ2VudCk6CisgICAg
ICAgIEZpeCB0eXBvIGluIGEgY29tbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OnVybFJlcXVpcmVz
Q2hyb21lQnJvd3Nlcik6CisgICAgICAgIEFkZGVkLiBVc2UgYSBDaHJvbWUgcXVpcmsgZm9yIHR5
cGVraXQubmV0IGFuZCB0eXBla2l0LmNvbSBpbiBvcmRlciB0byBtYWtlIFR5cGVLaXQgZm9udHMK
KyAgICAgICAgd29yaywgYXQgbGVhc3Qgb24gc29tZSBzaXRlcywgc2VlIGJ1ZyAjMTQ3Mjk2LiBU
aGlzIHdhcyB0ZXN0ZWQgc3VjY2Vzc2Z1bGx5IG9uCisgICAgICAgIHd3dy50aGV2ZXJnZS5jb20u
CisgICAgICAgIChXZWJDb3JlOjp1cmxSZXF1aXJlc01hY2ludG9zaFBsYXRmb3JtKToKKyAgICAg
ICAgQWRkZWQuIFJlbW92ZSB0aGUgcXVpcmsgZm9yIHlhaG9vLmNvbSwgc2luY2UgaXQgaXNuJ3Qg
bmVlZGVkIGFueW1vcmUuIEhhbmRsZSBkb21haW4gbmFtZQorICAgICAgICBwYXJzaW5nIG1vcmUg
cm9idXN0bHksIHVzaW5nIHNvdXBfdGxkX2dldF9iYXNlX2RvbWFpbiwgc28gdGhhdCBxdWlya3Mg
d2lsbCB3b3JrIGZvciBlLmcuCisgICAgICAgICJ5YWhvby5jb20iIGluIGFkZGl0aW9uIHRvICJ3
d3cueWFob28uY29tLiIgVXNlIHRoZSBNYWMgcXVpcmsgZm9yIHdoYXRzYXBwLmNvbSwgYXMgb3Ro
ZXJ3aXNlCisgICAgICAgIHVzZXJzIGFyZSBjb21wbGV0ZWx5IGJsb2NrZWQgb3V0IGZyb20gd2Vi
LndoYXRzYXBwLmNvbS4gQWxzbyB1c2UgdGhlIE1hYyBxdWlyayBvbiBnb29nbGUuY29tCisgICAg
ICAgIHRvIChhKSB3b3JrYXJvdW5kIGNhbGVuZGFyLmdvb2dsZS5jb20gYnJlYWthZ2UsIGFuZCAo
Yikgc2h1dCB1cCB1bnN1cHBvcnRlZCBicm93c2VyIHdhcm5pbmdzCisgICAgICAgIG9uIHZhcmlv
dXMgR29vZ2xlIGRvbWFpbnMuIEkgY29uc2lkZXJlZCB1c2luZyBhIENocm9tZSBxdWlyayBmb3Ig
R29vZ2xlIGluc3RlYWQsIGFuZCB3ZQorICAgICAgICBtaWdodCB5ZXQgc3RpbGwsIGJ1dCB0aGUg
TWFjIHF1aXJrIHNlZW1zIG11Y2ggc2FmZXIsIGFzIGl0IGF2b2lkcyB0aGUgcG9zc2liaWxpdHkg
dGhhdAorICAgICAgICBHb29nbGUgbWlnaHQgdHJ5IHRvIHVzZSBDaHJvbWUtc3BlY2lmaWMgSmF2
YVNjcmlwdC4gVGhlIENocm9tZSBxdWlyayBpcyBxdWl0ZSB0ZW1wdGluZyBmb3IKKyAgICAgICAg
R29vZ2xlIGFzIGl0IHdvdWxkIHByZXN1bWFibHkgc2h1dCB1cCB0aGVpciBDaHJvbWUgYWR2ZXJ0
aXNlbWVudHMsIGJ1dCBsZXQncyBwbGF5IGl0IHNhZmUKKyAgICAgICAgd2l0aCB0aGUgTWFjIHF1
aXJrIGZvciBub3cuIE5vdGUgdGhhdCBJIGNvbnRhY3RlZCBHb29nbGUgc2V2ZXJhbCBtb250aHMg
YWdvIHZpYSB0aGVpciBidWcKKyAgICAgICAgcmVwb3J0IHRvb2wgZm9yIGNhbGVuZGFyLmdvb2ds
ZS5jb20gYW5kIHJlY2VpdmVkIG5vIHJlc3BvbnNlLiAKKyAgICAgICAgKFdlYkNvcmU6OnN0YW5k
YXJkVXNlckFnZW50Rm9yVVJMKToKKyAgICAgICAgTW92ZSB0aGUgYWN0dWFsIHRhc2sgb2YgZGVj
aWRpbmcgd2hhdCBxdWlya3MgdG8gYWRkIGludG8gV2ViQ29yZTo6dXJsUmVxdWlyZXNDaHJvbWVC
cm93c2VyCisgICAgICAgIGFuZCBXZWJDb3JlOjp1cmxSZXF1aXJlc01hY2ludG9zaFBsYXRmb3Jt
LiBIZXJlLCBvbmx5IGFkZCB0aGUgcXVpcmtzLgorCiAyMDE2LTAxLTE2ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvY2F0ZSBzdHlsZSBzaGVldCBtZWRp
YSBxdWVyaWVzIGluIEJ1bXBBcmVuYS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRm
b3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGE4
MmNiNGQwNmU2NWJjYzY4OGQ4OWZmNDUyMzNjZTYxNWUxZDRjOS4uNzEwZDMyODIzZTZkY2Y0YzU1
OTM4ODgwZWY4OGVmMmNjMWMyOTEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZv
cm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTE2
NSw3ICsxNjUsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9n
dGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKICAgICBwbGF0Zm9ybS9ndGsvU2hhcmVkQnVmZmVy
R3RrLmNwcAogICAgIHBsYXRmb3JtL2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCi0gICAgcGxh
dGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHAKIAogICAgIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJz
L0ltYWdlRGVjb2Rlci5jcHAKIApAQCAtMjU3LDYgKzI1Niw3IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVQbGF0Zm9ybUdUS19TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3RrL1BsYXRmb3JtV2hlZWxFdmVu
dEd0ay5jcHAKICAgICBwbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuY3BwCiAgICAgcGxh
dGZvcm0vZ3RrL1NvdW5kR3RrLmNwcAorICAgIHBsYXRmb3JtL2d0ay9Vc2VyQWdlbnRHdGsuY3Bw
CiAgICAgcGxhdGZvcm0vZ3RrL1dpZGdldEd0ay5jcHAKIAogICAgIHJlbmRlcmluZy9SZW5kZXJU
aGVtZUd0ay5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Vc2Vy
QWdlbnRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5j
cHAKaW5kZXggMDY4NWZjNTY2YTBmYWRkM2YyNmE4ZDM5ODZhYWQ1ZTMwMDQ2YjNlMi4uOWFlNjUz
ZDZiZGQ1MDA0MzVhOGVlM2QyMzgwMjk2NDE3MDA4ZDRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHAKQEAgLTI3LDkgKzI3LDE2IEBACiAjaW5jbHVk
ZSAiVXNlckFnZW50R3RrLmgiCiAKICNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRlIDxjc3RyaW5n
PgorI2luY2x1ZGUgPGdkay9nZGsuaD4KKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWls
ZGVyLmg+CiAKKyNpZiBQTEFURk9STShYMTEpCisjaW5jbHVkZSA8Z2RrL2dka3guaD4KKyNlbmRp
ZgorCiAjaWYgT1MoVU5JWCkKICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogI2VuZGlmCkBAIC00
MCw2ICs0Nyw3IEBAIGNsYXNzIFVzZXJBZ2VudFF1aXJrcyB7CiBwdWJsaWM6CiAgICAgZW51bSBV
c2VyQWdlbnRRdWlyayB7CiAgICAgICAgIE5lZWRzTWFjaW50b3NoUGxhdGZvcm0sCisgICAgICAg
IE5lZWRzQ2hyb21lQnJvd3NlciwKIAogICAgICAgICBOdW1Vc2VyQWdlbnRRdWlya3MKICAgICB9
OwpAQCAtNzgsMjIgKzg2LDI4IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjcHVEZXNjcmlwdGlvbkZv
clVBU3RyaW5nKCkKICNlbGlmIENQVShBUk0pIHx8IENQVShBUk02NCkKICAgICByZXR1cm4gIkFS
TSI7CiAjZWxzZQotICAgIHJldHVybiAiVW5rbm93biI7CisjZXJyb3IgVGhpcyBwbGF0Zm9ybSBk
b2VzIG5vdCBoYXZlIGFuIGltcGxlbWVudGF0aW9uIG9mIGNwdURlc2NyaXB0aW9uRm9yVUFTdHJp
bmcuCiAjZW5kaWYKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIqIHBsYXRmb3JtRm9yVUFTdHJpbmco
KQogewotI2lmIFBMQVRGT1JNKFgxMSkKLSAgICByZXR1cm4gIlgxMSI7CisjaWYgZGVmaW5lZChV
U0VSX0FHRU5UX0dUS19ESVNUUklCVVRPUl9OQU1FKQorICAgIHJldHVybiBVU0VSX0FHRU5UX0dU
S19ESVNUUklCVVRPUl9OQU1FOworI2VsaWYgT1MoTUFDX09TX1gpCisgICAgcmV0dXJuICJNYWNp
bnRvc2giOwogI2VsaWYgT1MoV0lORE9XUykKKyAgICAvLyBTaG91bGQgdXNlIG9ubHkgcGxhdGZv
cm1WZXJzaW9uRm9yVUFTdHJpbmcuCiAgICAgcmV0dXJuICIiOwotI2VsaWYgUExBVEZPUk0oTUFD
KQotICAgIHJldHVybiAiTWFjaW50b3NoIjsKLSNlbGlmIGRlZmluZWQoR0RLX1dJTkRPV0lOR19E
SVJFQ1RGQikKLSAgICByZXR1cm4gIkRpcmVjdEZCIjsKKyNlbGlmIFBMQVRGT1JNKFgxMSkgJiYg
ZGVmaW5lZChHVEtfQVBJX1ZFUlNJT05fMikKKyAgICByZXR1cm4gIlgxMSI7CiAjZWxzZQotICAg
IHJldHVybiAiVW5rbm93biI7CisgICAgR2RrRGlzcGxheSogZGlzcGxheSA9IGdka19kaXNwbGF5
X21hbmFnZXJfZ2V0X2RlZmF1bHRfZGlzcGxheShnZGtfZGlzcGxheV9tYW5hZ2VyX2dldCgpKTsK
KyNpZiBQTEFURk9STShYMTEpCisgICAgaWYgKEdES19JU19YMTFfRElTUExBWShkaXNwbGF5KSkK
KyAgICAgICAgcmV0dXJuICJYMTEiOworI2VuZGlmCisgICAgcmV0dXJuICIiOwogI2VuZGlmCiB9
CiAKQEAgLTEwNCwxMCArMTE4LDE1IEBAIHN0YXRpYyBjb25zdCBTdHJpbmcgcGxhdGZvcm1WZXJz
aW9uRm9yVUFTdHJpbmcoKQogICAgIHVuYW1lKCZuYW1lKTsKICAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8Y29uc3QgU3RyaW5nPiB1YU9TVmVyc2lvbihTdHJpbmc6OmZvcm1hdCgiJXMgJXMiLCBu
YW1lLnN5c25hbWUsIG5hbWUubWFjaGluZSkpOwogICAgIHJldHVybiB1YU9TVmVyc2lvbjsKLSNl
bHNlCi0gICAgLy8gV2Ugd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgU2FmYXJpIGluIE1hYyBPUyBY
LCBzaW5jZSBTYWZhcmkgaW4gTGludXggdHJpZ2dlcnMgdGhlIGlPUyBwYXRoIG9uIHNvbWUgd2Vi
c2l0ZXMuCisjZWxpZiBPUyhNQUNfT1NfWCkKKyN3YXJuaW5nIE9TIFggaGFzIGFuIGluY29tcGxl
dGUgaW1wbGVtZW50YXRpb24gb2YgcGxhdGZvcm1WZXJzaW9uRm9yVUFTdHJpbmcuIENvbnNpZGVy
IGZpeGluZyBpdC4KKyAgICAvLyBGSVhNRTogVGhlIGZpbmFsIHJlc3VsdCBzaG91bGQgaW5jbHVk
ZSBPUyB2ZXJzaW9uLCBlLmcuICJJbnRlbCBNYWMgT1MgWCAxMF84XzQiLgorICAgIC8vIFNlZSBj
cmVhdGVTeXN0ZW1NYXJrZXRpbmdWZXJzaW9uIGluIFN5c3RlbVZlcnNpb24ubW0uCiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gdWFPU1ZlcnNpb24oU3RyaW5nOjpmb3Jt
YXQoIiVzIE1hYyBPUyBYIiwgY3B1RGVzY3JpcHRpb25Gb3JVQVN0cmluZygpKSk7CiAgICAgcmV0
dXJuIHVhT1NWZXJzaW9uOworI2Vsc2UKKyNlcnJvciBUaGlzIHBsYXRmb3JtIGRvZXMgbm90IGhh
dmUgYW4gaW1wbGVtZW50YXRpb24gb2YgcGxhdGZvcm1WZXJzaW9uRm9yVUFTdHJpbmcuCisgICAg
Ly8gVE9ETzogRm9yIFdpbmRvd3MsIHJldHVybiBhIHZlcnNpb24gc3RyaW5nIG9mIHRoZSBmb3Jt
ICJXaW5kb3dzIE5UIDYuMSIuCiAjZW5kaWYKIH0KIApAQCAtMTIzLDIzICsxNDIsMzIgQEAgc3Rh
dGljIFN0cmluZyBidWlsZFVzZXJBZ2VudFN0cmluZyhjb25zdCBVc2VyQWdlbnRRdWlya3MmIHF1
aXJrcykKICAgICB1YVN0cmluZy5hcHBlbmQoJygnKTsKIAogICAgIGlmIChxdWlya3MuY29udGFp
bnMoVXNlckFnZW50UXVpcmtzOjpOZWVkc01hY2ludG9zaFBsYXRmb3JtKSkKLSAgICAgICAgdWFT
dHJpbmcuYXBwZW5kTGl0ZXJhbCgiTWFjaW50b3NoIik7Ci0gICAgZWxzZQotICAgICAgICB1YVN0
cmluZy5hcHBlbmQocGxhdGZvcm1Gb3JVQVN0cmluZygpKTsKLQotICAgIHVhU3RyaW5nLmFwcGVu
ZExpdGVyYWwoIjsgIik7CisgICAgICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwoIk1hY2ludG9z
aDsgIik7CisgICAgZWxzZSB7CisgICAgICAgIGNvbnN0IGNoYXIqIHBsYXRmb3JtID0gcGxhdGZv
cm1Gb3JVQVN0cmluZygpOworICAgICAgICBpZiAoc3RkOjpzdHJsZW4ocGxhdGZvcm0pKSB7Cisg
ICAgICAgICAgICB1YVN0cmluZy5hcHBlbmQocGxhdGZvcm0pOworICAgICAgICAgICAgdWFTdHJp
bmcuYXBwZW5kTGl0ZXJhbCgiOyAiKTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIGlmIChxdWly
a3MuY29udGFpbnMoVXNlckFnZW50UXVpcmtzOjpOZWVkc01hY2ludG9zaFBsYXRmb3JtKSkgewog
ICAgICAgICB1YVN0cmluZy5hcHBlbmQoY3B1RGVzY3JpcHRpb25Gb3JVQVN0cmluZygpKTsKLSAg
ICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiIE1hYyBPUyBYIik7CisgICAgICAgIHVhU3Ry
aW5nLmFwcGVuZExpdGVyYWwoIiBNYWMgT1MgWCAxMF84XzQiKTsKICAgICB9IGVsc2UKICAgICAg
ICAgdWFTdHJpbmcuYXBwZW5kKHBsYXRmb3JtVmVyc2lvbkZvclVBU3RyaW5nKCkpOwogCiAgICAg
dWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiKSBBcHBsZVdlYktpdC8iKTsKICAgICB1YVN0cmluZy5h
cHBlbmQodmVyc2lvbkZvclVBU3RyaW5nKCkpOworICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwo
IiAoS0hUTUwsIGxpa2UgR2Vja28pICIpOworCisgICAgLy8gTm90ZSB0aGF0IENocm9tZSBVQXMg
YWR2ZXJ0aXNlICpib3RoKiBDaHJvbWUgYW5kIFNhZmFyaS4KKyAgICBpZiAocXVpcmtzLmNvbnRh
aW5zKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNDaHJvbWVCcm93c2VyKSkKKyAgICAgICAgdWFTdHJp
bmcuYXBwZW5kKCJDaHJvbWUvNDYuMC4yNDkwLjg2ICIpOworCiAgICAgLy8gVmVyc2lvbi9YIGlz
IG1hbmRhdG9yeSAqYmVmb3JlKiBTYWZhcmkvWCB0byBiZSBhIHZhbGlkIFNhZmFyaSBVQS4gU2Vl
CiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzQwMyBm
b3IgZGV0YWlscy4KLSAgICB1YVN0cmluZy5hcHBlbmRMaXRlcmFsKCIgKEtIVE1MLCBsaWtlIEdl
Y2tvKSBWZXJzaW9uLzguMCBTYWZhcmkvIik7CisgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgi
VmVyc2lvbi85LjAgU2FmYXJpLyIpOwogICAgIHVhU3RyaW5nLmFwcGVuZCh2ZXJzaW9uRm9yVUFT
dHJpbmcoKSk7CiAKICAgICByZXR1cm4gdWFTdHJpbmcudG9TdHJpbmcoKTsKQEAgLTE1OCw3ICsx
ODYsNyBAQCBTdHJpbmcgc3RhbmRhcmRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlv
bk5hbWUsIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpbwogICAgIC8vCiAgICAgLy8gRm9ybWluZyBh
IGZ1bmN0aW9uYWwgdXNlciBhZ2VudCBpcyByZWFsbHkgZGlmZmljdWx0LiBXZSBtdXN0IG1lbnRp
b24gU2FmYXJpLCBiZWNhdXNlIHNvbWUKICAgICAvLyBzaXRlcyBjaGVjayBmb3IgdGhhdCB3aGVu
IGRldGVjdGluZyBXZWJLaXQgYnJvd3NlcnMuIEFkZGl0aW9uYWxseSBzb21lIHNpdGVzIGFzc3Vt
ZSB0aGF0Ci0gICAgLy8gYnJvd3NlcnMgdGhhdCBhcmUgIlNhZmFyaSIgYnV0IG5vdCBydW5uaW5n
IG9uIE9TIFggYXJlIHRoZSBTYWZhcmkgaU9TIGJyb3dzZS4gR2V0dGluZyB0aGlzCisgICAgLy8g
YnJvd3NlcnMgdGhhdCBhcmUgIlNhZmFyaSIgYnV0IG5vdCBydW5uaW5nIG9uIE9TIFggYXJlIHRo
ZSBTYWZhcmkgaU9TIGJyb3dzZXIuIEdldHRpbmcgdGhpcwogICAgIC8vIHdyb25nIGNhbiBjYXVz
ZSBzaXRlcyB0byBsb2FkIHRoZSB3cm9uZyBKYXZhU2NyaXB0LCBDU1MsIG9yIGN1c3RvbSBmb250
cy4gSW4gc29tZSBjYXNlcwogICAgIC8vIHNpdGVzIHdvbid0IGxvYWQgcmVzb3VyY2VzIGF0IGFs
bC4KICAgICBpZiAoYXBwbGljYXRpb25OYW1lLmlzRW1wdHkoKSkKQEAgLTE3MSwxNSArMTk5LDUw
IEBAIFN0cmluZyBzdGFuZGFyZFVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGFwcGxpY2F0aW9uTmFt
ZSwgY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvCiAgICAgcmV0dXJuIHN0YW5kYXJkVXNlckFnZW50
U3RhdGljKCkgKyAnICcgKyBhcHBsaWNhdGlvbk5hbWUgKyAnLycgKyBmaW5hbEFwcGxpY2F0aW9u
VmVyc2lvbjsKIH0KIAorLy8gQmUgY2FyZWZ1bCB3aXRoIHRoaXMgcXVpcms7IGl0J3MgYW4gaW52
aXRpYXRpb24gZm9yIHNpdGVzIHRvIHVzZSBKYXZhU2NyaXB0IHdlIGNhbid0IGhhbmRsZS4KK3N0
YXRpYyBib29sIHVybFJlcXVpcmVzQ2hyb21lQnJvd3Nlcihjb25zdCBVUkwmIHVybCkKK3sKKyAg
ICBjb25zdCBjaGFyKiBiYXNlRG9tYWluID0gc291cF90bGRfZ2V0X2Jhc2VfZG9tYWluKHVybC5o
b3N0KCkudXRmOCgpLmRhdGEoKSwgbnVsbHB0cik7CisgICAgaWYgKCFiYXNlRG9tYWluKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBOZWVkZWQgZm9yIGZvbnRzIG9uIG1hbnkgc2l0
ZXMsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyOTYKKyAgICBp
ZiAoIXN0ZDo6c3RyY21wKGJhc2VEb21haW4sICJ0eXBla2l0Lm5ldCIpIHx8ICFzdGQ6OnN0cmNt
cChiYXNlRG9tYWluLCAidHlwZWtpdC5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBib29sIHVybFJlcXVpcmVzTWFjaW50b3NoUGxh
dGZvcm0oY29uc3QgVVJMJiB1cmwpCit7CisgICAgY29uc3QgY2hhciogYmFzZURvbWFpbiA9IHNv
dXBfdGxkX2dldF9iYXNlX2RvbWFpbih1cmwuaG9zdCgpLnV0ZjgoKS5kYXRhKCksIG51bGxwdHIp
OworICAgIGlmICghYmFzZURvbWFpbikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8g
d2ViLndoYXRzYXBwLmNvbSBjb21wbGV0ZWx5IGJsb2NrcyB1c2VycyB3aXRoIG91ciBzdGFuZGFy
ZCB1c2VyIGFnZW50LgorICAgIGlmICghc3RkOjpzdHJjbXAoYmFzZURvbWFpbiwgIndoYXRzYXBw
LmNvbSIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8vIFZhcmlvdXMgc3ViZG9tYWlu
cyBkaXNwbGF5ICJ1bnN1cHBvcnRlZCBicm93c2VyIiB3YXJuaW5ncyB3aGVuIHVzaW5nIG91ciBz
dGFuZGFyZCBVQS4gR29vZ2xlCisgICAgLy8gdXNlZCB0byBjb21wbGFpbiBsb3VkbHkgYWJvdXQg
dGhpcyB3aGVuIENocm9tZSB3YXMgbmV3LiBOb3cgdGhleSBhcmUgdGhlIGJpZ2dlc3Qgb2ZmZW5k
ZXIuCisgICAgLy8gTm90ZSBpbiBwYXJ0aWN1bGFyIHRoYXQgY2FsZW5kYXIuZ29vZ2xlLmNvbSBm
YWxscyBiYWNrIHRvIGFuIGF0cm9jaW91cyBmYWxsYmFjayBwYWdlIHdpdGggb3VyCisgICAgLy8g
c3RhbmRhcmQgdXNlciBhZ2VudCBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSBzdHJpbmcgIlgx
MSIgc28gYmUgY2FyZWZ1bCBpZiByZW1vdmluZyB0aGlzLgorICAgIGlmICghc3RkOjpzdHJjbXAo
YmFzZURvbWFpbiwgImdvb2dsZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKIFN0cmluZyBzdGFuZGFyZFVzZXJBZ2VudEZvclVSTChjb25zdCBV
UkwmIHVybCkKIHsKICAgICBBU1NFUlQoIXVybC5pc051bGwoKSk7CiAgICAgVXNlckFnZW50UXVp
cmtzIHF1aXJrczsKLSAgICBpZiAodXJsLmhvc3QoKS5lbmRzV2l0aCgiLnlhaG9vLmNvbSIpKSB7
Ci0gICAgICAgIC8vIHd3dy55YWhvby5jb20gcmVkaXJlY3RzIHRvIHRoZSBtb2JpbGUgdmVyc2lv
biB3aGVuIExpbnV4IGlzIHByZXNlbnQgaW4gdGhlIFVBLAotICAgICAgICAvLyB1c2UgYWx3YXlz
IE1hY2ludG9zaCBhcyBwbGF0Zm9ybS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjU0NDQuCisKKyAgICBpZiAodXJsUmVxdWlyZXNDaHJvbWVCcm93c2VyKHVy
bCkpCisgICAgICAgIHF1aXJrcy5hZGQoVXNlckFnZW50UXVpcmtzOjpOZWVkc0Nocm9tZUJyb3dz
ZXIpOworCisgICAgaWYgKHVybFJlcXVpcmVzTWFjaW50b3NoUGxhdGZvcm0odXJsKSkKICAgICAg
ICAgcXVpcmtzLmFkZChVc2VyQWdlbnRRdWlya3M6Ok5lZWRzTWFjaW50b3NoUGxhdGZvcm0pOwot
ICAgIH0KIAogICAgIC8vIFRoZSBudWxsIHN0cmluZyBtZWFucyB3ZSBkb24ndCBuZWVkIGEgc3Bl
Y2lmaWMgVUEgZm9yIHRoZSBnaXZlbiBVUkwuCiAgICAgcmV0dXJuIHF1aXJrcy5pc0VtcHR5KCkg
PyBTdHJpbmcoKSA6IGJ1aWxkVXNlckFnZW50U3RyaW5nKHF1aXJrcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269192</attachid>
            <date>2016-01-17 12:14:59 -0800</date>
            <delta_ts>2016-09-27 11:13:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142074-20160117141429.patch</filename>
            <type>text/plain</type>
            <size>13161</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmEwYjgzMzc3ZWI1ZDFm
YTEwODY4NTQ5NmI0ZGMwOTllMTcxZjY0Yi4uMzU0NWRmNWRhZjBhMTc5Y2MzYzAxNDE4NGQwODdm
NjNhYTRiNDFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDE2LTAxLTE3ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBJ
bXByb3ZlIHVzZXIgYWdlbnQgY29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBWZXJ5IGNhcmVmdWxseSwgaW4gaG9wZXMgb2Ygbm90IGJy
ZWFraW5nIG11Y2guLi4uCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAg
Q29tcGlsZSBVc2VyQWdlbnRHdGsuY3BwIHR3aWNlIHRvIGFsbG93IHVzZSBvZiBHREsuCisgICAg
ICAgICogcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpj
cHVEZXNjcmlwdGlvbkZvclVBU3RyaW5nKToKKyAgICAgICAgRmFpbCB0aGUgYnVpbGQgaWYgdGhp
cyBmdW5jdGlvbiBuZWVkcyBpbXBsZW1lbnRlZCBmb3IgYSBDUFUsIHJhdGhlciB0aGFuIGFkZGlu
ZyAiVW5rbm93biIgdG8KKyAgICAgICAgdGhlIE1hY2ludG9zaCBxdWlyayB1c2VyIGFnZW50LiBU
aGlzIG9ubHkgYWZmZWN0cyB0aGUgcXVpcmssIGJ1dCBzdGlsbCwgd2UgZG9uJ3Qgd2FudCBmb2xr
cworICAgICAgICB0byB3aW5kIHVwIHdpdGggIlVua25vd24iIGV2ZW4gaW4gdGhlIHF1aXJrIHVz
ZXIgYWdlbnQuCisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUZvclVBU3RyaW5nKToKKyAgICAg
ICAgQWxsb3cgZGlzdHJpYnV0b3JzIHRvIG92ZXJyaWRlIHRoZSByZXN1bHQgb2YgdGhpcyBmdW5j
dGlvbi4gSW4gRmVkb3JhLCB3ZSBoYXZlIGJlZW4gdXNpbmcgYQorICAgICAgICBwYXRjaCB0byBy
ZXBsYWNlIHRoZSByZXR1cm4gdmFsdWUgd2l0aCAiRmVkb3JhIiBmb3IgbmVhcmx5IG9uZSB5ZWFy
LCB3aXRob3V0IGV4cGVyaWVuY2luZworICAgICAgICBzaWduaWZpY2FudCBjb21wYXRpYmlsaXR5
IHByb2JsZW1zLiBUaGlzIGlzIGtub3duIHRvIGhhdmUgYnJva2VuIG9ubHkgb25lIHNpdGUsCisg
ICAgICAgIGNhbGVuZGFyLmdvb2dsZS5jb20uIFVzZSBPUyhNQUNfT1NfWCkgcmF0aGVyIHRoYW4g
UExBVEZPUk0oTUFDKSB0byBkZXRlY3Qgd2hldGhlciB0byByZXR1cm4KKyAgICAgICAgTWFjaW50
b3NoLCBiZWNhdXNlIFBMQVRGT1JNKE1BQykgaXMgZ3VhcmFudGVlZCB0byBiZSBmYWxzZS4gQWRk
IGEgY29tbWVudCB0byBleHBsYWluIHdoeSB0aGUKKyAgICAgICAgcmV0dXJuIHZhbHVlIHNob3Vs
ZCBiZSBlbXB0eSBmb3IgV2luZG93cy4gUmVtb3ZlIHJldHVybiB2YWx1ZSBmb3IgR0RLX1dJTkRP
V0lOR19ESVJFQ1RGQiBhcworICAgICAgICB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgaW4gR1RLKyAz
LiBSZXR1cm4gWDExIG9ubHkgaWYgYWN0dWFsbHkgcnVubmluZyBpbiBYMTEuIFRoaXMgY2FuIGJl
CisgICAgICAgIGV4cGVjdGVkIHRvIGJyZWFrIHNpdGVzIHNpbWlsYXJseSB0byByZXBsYWNpbmcg
WDExIHdpdGggYSBkaXN0cmlidXRvciBuYW1lLCBhbmQgaXMgdGhlCisgICAgICAgIHJpc2tpZXN0
IGNoYW5nZSBpbiB0aGlzIHBhdGNoLCBidXQgSSB0aGluayB3ZSBjYW4gZ2V0IGF3YXkgd2l0aCBp
dC4KKyAgICAgICAgKFdlYkNvcmU6OnBsYXRmb3JtVmVyc2lvbkZvclVBU3RyaW5nKToKKyAgICAg
ICAgQWRkIGEgY29tcGlsZSB3YXJuaW5nIGFuZCBjb21tZW50IGZvciBPUyBYLCBzaW5jZSB0aGlz
IGZ1bmN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpZGVhbGx5LgorICAgICAgICBXZSBvdWdodCB0
byBhZGQgdGhlIE9TIFggdmVyc2lvbiBudW1iZXIgdG8gdGhlIFVBIHN0cmluZyBpbiBvcmRlciB0
byBtYWtlIGEgbW9yZSBjb252aW5jaW5nCisgICAgICAgIFNhZmFyaSBVQS4gQWRkIGEgVE9ETyBj
b21tZW50IGZvciBXaW5kb3dzIGFuZCBmYWlsIHRoZSBidWlsZCBpZiB0aGlzIGZ1bmN0aW9uIG5l
ZWRzCisgICAgICAgIGltcGxlbWVudGVkIGZvciBhIHBsYXRmb3JtLCByYXRoZXIgdGhhbiBmYWxs
aW5nIGJhY2sgdG8gYW4gT1MgWCB1c2VyIGFnZW50LCBzbyB0aGF0IHBlb3BsZQorICAgICAgICBk
b24ndCBhY2NpZGVudGFsbHkgd2luZCB1cCB3aXRoIGFuIHVuZGVzaXJlZCB1c2VyIGFnZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6YnVpbGRVc2VyQWdlbnRTdHJpbmcpOgorICAgICAgICBIYW5kbGUg
ZW1wdHkgcmVzdWx0cyBmcm9tIHBsYXRmb3JtRm9yVUFTdHJpbmcuIFRoaXMgd2lsbCBiZSB0aGUg
Y2FzZSB3aGVuIHJ1bm5pbmcgdW5kZXIKKyAgICAgICAgV2F5bGFuZCBvbiBMaW51eCB3aXRoIG5v
IGRpc3RyaWJ1dG9yIGJyYW5kaW5nLCBhbmQgaXQgd2FzIGFscmVhZHkgdGhlIGNhc2Ugd2hlbiBy
dW5uaW5nIG9uCisgICAgICAgIFdpbmRvd3MuIFRoZSBnb2FsIGlzIHRvIGF2b2lkIGFkZGluZyBh
IHNwdXJpb3VzIHNlbWljb2xvbiBpbnRvIHRoZSB1c2VyIGFnZW50LiBUaGUgcHJldmlvdXMKKyAg
ICAgICAgV2luZG93cyB1c2VyIGFnZW50IHdhcyBjbGVhcmx5IHdyb25nIGFzIHRoZSBmaXJzdCBj
aGFyYWN0ZXIgYWZ0ZXIgdGhlIG9wZW5pbmcgcGFyZW50aGVzZXMKKyAgICAgICAgd2FzIGEgc2Vt
aWNvbG9uOyBob3dldmVyLCBpdCdzIGNvbmNlaXZhYmxlIHRoYXQgdGhpcyBjb3VsZCBicmVhayBz
b21lIHNpdGVzIGlmIHRoZXkgbG9vayBmb3IKKyAgICAgICAgdGhlIFdpbmRvd3MgdmVyc2lvbiBi
ZXR3ZWVuIHR3byBzZW1pY29sb25zLiBBdCBhbnkgcmF0ZSwgaXQgaGFzIG5vdCBiZWVuIHBvc3Np
YmxlIHRvIGJ1aWxkCisgICAgICAgIFdpbmRvd3Mgc3VwcG9ydCBmb3IgYSBsb25nIHRpbWUsIHNv
IHRoaXMgaXMgbGFyZ2VseSBhIG1vb3QgcG9pbnQuIFRoZSByaXNrIGZvciBMaW51eCBzZWVtcwor
ICAgICAgICBsb3dlciB0aGFuIHRoYXQgb2YgcmVtb3ZpbmcgWDExLiBBZGQgYSBmYWtlIE9TIFgg
dmVyc2lvbiBudW1iZXIgdG8gdGhlIE1hY2ludG9zaCBxdWlyayB1c2VyCisgICAgICAgIGFnZW50
LCBpbiBvcmRlciB0byBtb3JlIGNvbnZpbmNpbmdseSBwcmV0ZW5kIHRvIGJlIE9TIFguIEFkZCBh
IHF1aXJrIENocm9tZSB1c2VyIGFnZW50LiBCdW1wCisgICAgICAgIG91ciBTYWZhcmkgdmVyc2lv
biB1cCB0byA5LjAuCisgICAgICAgIChXZWJDb3JlOjpzdGFuZGFyZFVzZXJBZ2VudCk6CisgICAg
ICAgIEZpeCB0eXBvIGluIGEgY29tbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OnVybFJlcXVpcmVz
Q2hyb21lQnJvd3Nlcik6CisgICAgICAgIEFkZGVkLiBVc2UgYSBDaHJvbWUgcXVpcmsgZm9yIHR5
cGVraXQubmV0IGFuZCB0eXBla2l0LmNvbSBpbiBvcmRlciB0byBtYWtlIFR5cGVLaXQgZm9udHMK
KyAgICAgICAgd29yaywgYXQgbGVhc3Qgb24gc29tZSBzaXRlcywgc2VlIGJ1ZyAjMTQ3Mjk2LiBU
aGlzIHdhcyB0ZXN0ZWQgc3VjY2Vzc2Z1bGx5IG9uCisgICAgICAgIHd3dy50aGV2ZXJnZS5jb20u
CisgICAgICAgIChXZWJDb3JlOjp1cmxSZXF1aXJlc01hY2ludG9zaFBsYXRmb3JtKToKKyAgICAg
ICAgQWRkZWQuIFJlbW92ZSB0aGUgcXVpcmsgZm9yIHlhaG9vLmNvbSwgc2luY2UgaXQgaXNuJ3Qg
bmVlZGVkIGFueW1vcmUuIEhhbmRsZSBkb21haW4gbmFtZQorICAgICAgICBwYXJzaW5nIG1vcmUg
cm9idXN0bHksIHVzaW5nIHNvdXBfdGxkX2dldF9iYXNlX2RvbWFpbiwgc28gdGhhdCBxdWlya3Mg
d2lsbCB3b3JrIGZvciBlLmcuCisgICAgICAgICJ5YWhvby5jb20iIGluIGFkZGl0aW9uIHRvICJ3
d3cueWFob28uY29tLiIgVXNlIHRoZSBNYWMgcXVpcmsgZm9yIHdoYXRzYXBwLmNvbSwgYXMgb3Ro
ZXJ3aXNlCisgICAgICAgIHVzZXJzIGFyZSBjb21wbGV0ZWx5IGJsb2NrZWQgb3V0IGZyb20gd2Vi
LndoYXRzYXBwLmNvbS4gQWxzbyB1c2UgdGhlIE1hYyBxdWlyayBvbiBnb29nbGUuY29tCisgICAg
ICAgIHRvIChhKSB3b3JrYXJvdW5kIGNhbGVuZGFyLmdvb2dsZS5jb20gYnJlYWthZ2UsIGFuZCAo
Yikgc2h1dCB1cCB1bnN1cHBvcnRlZCBicm93c2VyIHdhcm5pbmdzCisgICAgICAgIG9uIHZhcmlv
dXMgR29vZ2xlIGRvbWFpbnMuIEkgY29uc2lkZXJlZCB1c2luZyBhIENocm9tZSBxdWlyayBmb3Ig
R29vZ2xlIGluc3RlYWQsIGFuZCB3ZQorICAgICAgICBtaWdodCB5ZXQgc3RpbGwsIGJ1dCB0aGUg
TWFjIHF1aXJrIHNlZW1zIG11Y2ggc2FmZXIsIGFzIGl0IGF2b2lkcyB0aGUgcG9zc2liaWxpdHkg
dGhhdAorICAgICAgICBHb29nbGUgbWlnaHQgdHJ5IHRvIHVzZSBDaHJvbWUtc3BlY2lmaWMgSmF2
YVNjcmlwdC4gVGhlIENocm9tZSBxdWlyayBpcyBxdWl0ZSB0ZW1wdGluZyBmb3IKKyAgICAgICAg
R29vZ2xlIGFzIGl0IHdvdWxkIHByZXN1bWFibHkgc2h1dCB1cCB0aGVpciBDaHJvbWUgYWR2ZXJ0
aXNlbWVudHMsIGJ1dCBsZXQncyBwbGF5IGl0IHNhZmUKKyAgICAgICAgd2l0aCB0aGUgTWFjIHF1
aXJrIGZvciBub3cuIE5vdGUgdGhhdCBJIGNvbnRhY3RlZCBHb29nbGUgc2V2ZXJhbCBtb250aHMg
YWdvIHZpYSB0aGVpciBidWcKKyAgICAgICAgcmVwb3J0IHRvb2wgZm9yIGNhbGVuZGFyLmdvb2ds
ZS5jb20gYW5kIHJlY2VpdmVkIG5vIHJlc3BvbnNlLiAKKyAgICAgICAgKFdlYkNvcmU6OnN0YW5k
YXJkVXNlckFnZW50Rm9yVVJMKToKKyAgICAgICAgTW92ZSB0aGUgYWN0dWFsIHRhc2sgb2YgZGVj
aWRpbmcgd2hhdCBxdWlya3MgdG8gYWRkIGludG8gV2ViQ29yZTo6dXJsUmVxdWlyZXNDaHJvbWVC
cm93c2VyCisgICAgICAgIGFuZCBXZWJDb3JlOjp1cmxSZXF1aXJlc01hY2ludG9zaFBsYXRmb3Jt
LiBIZXJlLCBvbmx5IGFkZCB0aGUgcXVpcmtzLgorCiAyMDE2LTAxLTE2ICBNaWNoYWVsIENhdGFu
emFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBZGQgYSBjb3Vw
bGUgY29tbWVudHMgdG8gU2Nyb2xsYmFyVGhlbWVHdGsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UK
aW5kZXggZGE4MmNiNGQwNmU2NWJjYzY4OGQ4OWZmNDUyMzNjZTYxNWUxZDRjOS4uNzEwZDMyODIz
ZTZkY2Y0YzU1OTM4ODgwZWY4OGVmMmNjMWMyOTEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21h
a2UKQEAgLTE2NSw3ICsxNjUsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBw
bGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKICAgICBwbGF0Zm9ybS9ndGsvU2hh
cmVkQnVmZmVyR3RrLmNwcAogICAgIHBsYXRmb3JtL2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3Bw
Ci0gICAgcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHAKIAogICAgIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5jcHAKIApAQCAtMjU3LDYgKzI1Niw3IEBAIGxpc3QoQVBQ
RU5EIFdlYkNvcmVQbGF0Zm9ybUdUS19TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3RrL1BsYXRmb3Jt
V2hlZWxFdmVudEd0ay5jcHAKICAgICBwbGF0Zm9ybS9ndGsvU2Nyb2xsYmFyVGhlbWVHdGsuY3Bw
CiAgICAgcGxhdGZvcm0vZ3RrL1NvdW5kR3RrLmNwcAorICAgIHBsYXRmb3JtL2d0ay9Vc2VyQWdl
bnRHdGsuY3BwCiAgICAgcGxhdGZvcm0vZ3RrL1dpZGdldEd0ay5jcHAKIAogICAgIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZUd0ay5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2d0ay9Vc2VyQWdlbnRHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1VzZXJB
Z2VudEd0ay5jcHAKaW5kZXggMDY4NWZjNTY2YTBmYWRkM2YyNmE4ZDM5ODZhYWQ1ZTMwMDQ2YjNl
Mi4uNDM2MGYzODEyZWUyZjA4NDQ4Yzg5Y2JhNzAzNTgxNTAwZWNjMmI3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHAKQEAgLTI3LDkgKzI3LDE2IEBA
CiAjaW5jbHVkZSAiVXNlckFnZW50R3RrLmgiCiAKICNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRl
IDxjc3RyaW5nPgorI2luY2x1ZGUgPGdkay9nZGsuaD4KKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAu
aD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9T
dHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBQTEFURk9STShYMTEpCisjaW5jbHVkZSA8Z2RrL2dka3gu
aD4KKyNlbmRpZgorCiAjaWYgT1MoVU5JWCkKICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogI2Vu
ZGlmCkBAIC00MCw2ICs0Nyw3IEBAIGNsYXNzIFVzZXJBZ2VudFF1aXJrcyB7CiBwdWJsaWM6CiAg
ICAgZW51bSBVc2VyQWdlbnRRdWlyayB7CiAgICAgICAgIE5lZWRzTWFjaW50b3NoUGxhdGZvcm0s
CisgICAgICAgIE5lZWRzQ2hyb21lQnJvd3NlciwKIAogICAgICAgICBOdW1Vc2VyQWdlbnRRdWly
a3MKICAgICB9OwpAQCAtNzgsMjIgKzg2LDI4IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjcHVEZXNj
cmlwdGlvbkZvclVBU3RyaW5nKCkKICNlbGlmIENQVShBUk0pIHx8IENQVShBUk02NCkKICAgICBy
ZXR1cm4gIkFSTSI7CiAjZWxzZQotICAgIHJldHVybiAiVW5rbm93biI7CisjZXJyb3IgVGhpcyBw
bGF0Zm9ybSBkb2VzIG5vdCBoYXZlIGFuIGltcGxlbWVudGF0aW9uIG9mIGNwdURlc2NyaXB0aW9u
Rm9yVUFTdHJpbmcuCiAjZW5kaWYKIH0KIAogc3RhdGljIGNvbnN0IGNoYXIqIHBsYXRmb3JtRm9y
VUFTdHJpbmcoKQogewotI2lmIFBMQVRGT1JNKFgxMSkKLSAgICByZXR1cm4gIlgxMSI7CisjaWYg
ZGVmaW5lZChVU0VSX0FHRU5UX0dUS19ESVNUUklCVVRPUl9OQU1FKQorICAgIHJldHVybiBVU0VS
X0FHRU5UX0dUS19ESVNUUklCVVRPUl9OQU1FOworI2VsaWYgT1MoTUFDX09TX1gpCisgICAgcmV0
dXJuICJNYWNpbnRvc2giOwogI2VsaWYgT1MoV0lORE9XUykKKyAgICAvLyBTaG91bGQgdXNlIG9u
bHkgcGxhdGZvcm1WZXJzaW9uRm9yVUFTdHJpbmcuCiAgICAgcmV0dXJuICIiOwotI2VsaWYgUExB
VEZPUk0oTUFDKQotICAgIHJldHVybiAiTWFjaW50b3NoIjsKLSNlbGlmIGRlZmluZWQoR0RLX1dJ
TkRPV0lOR19ESVJFQ1RGQikKLSAgICByZXR1cm4gIkRpcmVjdEZCIjsKKyNlbGlmIFBMQVRGT1JN
KFgxMSkgJiYgZGVmaW5lZChHVEtfQVBJX1ZFUlNJT05fMikKKyAgICByZXR1cm4gIlgxMSI7CiAj
ZWxzZQotICAgIHJldHVybiAiVW5rbm93biI7CisgICAgR2RrRGlzcGxheSogZGlzcGxheSA9IGdk
a19kaXNwbGF5X21hbmFnZXJfZ2V0X2RlZmF1bHRfZGlzcGxheShnZGtfZGlzcGxheV9tYW5hZ2Vy
X2dldCgpKTsKKyNpZiBQTEFURk9STShYMTEpCisgICAgaWYgKEdES19JU19YMTFfRElTUExBWShk
aXNwbGF5KSkKKyAgICAgICAgcmV0dXJuICJYMTEiOworI2VuZGlmCisgICAgcmV0dXJuICIiOwog
I2VuZGlmCiB9CiAKQEAgLTEwNCwxMCArMTE4LDE1IEBAIHN0YXRpYyBjb25zdCBTdHJpbmcgcGxh
dGZvcm1WZXJzaW9uRm9yVUFTdHJpbmcoKQogICAgIHVuYW1lKCZuYW1lKTsKICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiB1YU9TVmVyc2lvbihTdHJpbmc6OmZvcm1hdCgi
JXMgJXMiLCBuYW1lLnN5c25hbWUsIG5hbWUubWFjaGluZSkpOwogICAgIHJldHVybiB1YU9TVmVy
c2lvbjsKLSNlbHNlCi0gICAgLy8gV2Ugd2lsbCBhbHdheXMgY2xhaW0gdG8gYmUgU2FmYXJpIGlu
IE1hYyBPUyBYLCBzaW5jZSBTYWZhcmkgaW4gTGludXggdHJpZ2dlcnMgdGhlIGlPUyBwYXRoIG9u
IHNvbWUgd2Vic2l0ZXMuCisjZWxpZiBPUyhNQUNfT1NfWCkKKyN3YXJuaW5nIE9TIFggaGFzIGFu
IGluY29tcGxldGUgaW1wbGVtZW50YXRpb24gb2YgcGxhdGZvcm1WZXJzaW9uRm9yVUFTdHJpbmcu
IENvbnNpZGVyIGZpeGluZyBpdC4KKyAgICAvLyBGSVhNRTogVGhlIGZpbmFsIHJlc3VsdCBzaG91
bGQgaW5jbHVkZSBPUyB2ZXJzaW9uLCBlLmcuICJJbnRlbCBNYWMgT1MgWCAxMF84XzQiLgorICAg
IC8vIFNlZSBjcmVhdGVTeXN0ZW1NYXJrZXRpbmdWZXJzaW9uIGluIFN5c3RlbVZlcnNpb24ubW0u
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gdWFPU1ZlcnNpb24oU3Ry
aW5nOjpmb3JtYXQoIiVzIE1hYyBPUyBYIiwgY3B1RGVzY3JpcHRpb25Gb3JVQVN0cmluZygpKSk7
CiAgICAgcmV0dXJuIHVhT1NWZXJzaW9uOworI2Vsc2UKKyNlcnJvciBUaGlzIHBsYXRmb3JtIGRv
ZXMgbm90IGhhdmUgYW4gaW1wbGVtZW50YXRpb24gb2YgcGxhdGZvcm1WZXJzaW9uRm9yVUFTdHJp
bmcuCisgICAgLy8gVE9ETzogRm9yIFdpbmRvd3MsIHJldHVybiBhIHZlcnNpb24gc3RyaW5nIG9m
IHRoZSBmb3JtICJXaW5kb3dzIE5UIDYuMSIuCiAjZW5kaWYKIH0KIApAQCAtMTIzLDIzICsxNDIs
MzIgQEAgc3RhdGljIFN0cmluZyBidWlsZFVzZXJBZ2VudFN0cmluZyhjb25zdCBVc2VyQWdlbnRR
dWlya3MmIHF1aXJrcykKICAgICB1YVN0cmluZy5hcHBlbmQoJygnKTsKIAogICAgIGlmIChxdWly
a3MuY29udGFpbnMoVXNlckFnZW50UXVpcmtzOjpOZWVkc01hY2ludG9zaFBsYXRmb3JtKSkKLSAg
ICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiTWFjaW50b3NoIik7Ci0gICAgZWxzZQotICAg
ICAgICB1YVN0cmluZy5hcHBlbmQocGxhdGZvcm1Gb3JVQVN0cmluZygpKTsKLQotICAgIHVhU3Ry
aW5nLmFwcGVuZExpdGVyYWwoIjsgIik7CisgICAgICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwo
Ik1hY2ludG9zaDsgIik7CisgICAgZWxzZSB7CisgICAgICAgIGNvbnN0IGNoYXIqIHBsYXRmb3Jt
ID0gcGxhdGZvcm1Gb3JVQVN0cmluZygpOworICAgICAgICBpZiAoc3RkOjpzdHJsZW4ocGxhdGZv
cm0pKSB7CisgICAgICAgICAgICB1YVN0cmluZy5hcHBlbmQocGxhdGZvcm0pOworICAgICAgICAg
ICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiOyAiKTsKKyAgICAgICAgfQorICAgIH0KIAogICAg
IGlmIChxdWlya3MuY29udGFpbnMoVXNlckFnZW50UXVpcmtzOjpOZWVkc01hY2ludG9zaFBsYXRm
b3JtKSkgewogICAgICAgICB1YVN0cmluZy5hcHBlbmQoY3B1RGVzY3JpcHRpb25Gb3JVQVN0cmlu
ZygpKTsKLSAgICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiIE1hYyBPUyBYIik7CisgICAg
ICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwoIiBNYWMgT1MgWCAxMF84XzQiKTsKICAgICB9IGVs
c2UKICAgICAgICAgdWFTdHJpbmcuYXBwZW5kKHBsYXRmb3JtVmVyc2lvbkZvclVBU3RyaW5nKCkp
OwogCiAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiKSBBcHBsZVdlYktpdC8iKTsKICAgICB1
YVN0cmluZy5hcHBlbmQodmVyc2lvbkZvclVBU3RyaW5nKCkpOworICAgIHVhU3RyaW5nLmFwcGVu
ZExpdGVyYWwoIiAoS0hUTUwsIGxpa2UgR2Vja28pICIpOworCisgICAgLy8gTm90ZSB0aGF0IENo
cm9tZSBVQXMgYWR2ZXJ0aXNlICpib3RoKiBDaHJvbWUgYW5kIFNhZmFyaS4KKyAgICBpZiAocXVp
cmtzLmNvbnRhaW5zKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNDaHJvbWVCcm93c2VyKSkKKyAgICAg
ICAgdWFTdHJpbmcuYXBwZW5kKCJDaHJvbWUvNDYuMC4yNDkwLjg2ICIpOworCiAgICAgLy8gVmVy
c2lvbi9YIGlzIG1hbmRhdG9yeSAqYmVmb3JlKiBTYWZhcmkvWCB0byBiZSBhIHZhbGlkIFNhZmFy
aSBVQS4gU2VlCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzMzQwMyBmb3IgZGV0YWlscy4KLSAgICB1YVN0cmluZy5hcHBlbmRMaXRlcmFsKCIgKEtIVE1M
LCBsaWtlIEdlY2tvKSBWZXJzaW9uLzguMCBTYWZhcmkvIik7CisgICAgdWFTdHJpbmcuYXBwZW5k
TGl0ZXJhbCgiVmVyc2lvbi85LjAgU2FmYXJpLyIpOwogICAgIHVhU3RyaW5nLmFwcGVuZCh2ZXJz
aW9uRm9yVUFTdHJpbmcoKSk7CiAKICAgICByZXR1cm4gdWFTdHJpbmcudG9TdHJpbmcoKTsKQEAg
LTE1OCw3ICsxODYsNyBAQCBTdHJpbmcgc3RhbmRhcmRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBh
cHBsaWNhdGlvbk5hbWUsIGNvbnN0IFN0cmluZyYgYXBwbGljYXRpbwogICAgIC8vCiAgICAgLy8g
Rm9ybWluZyBhIGZ1bmN0aW9uYWwgdXNlciBhZ2VudCBpcyByZWFsbHkgZGlmZmljdWx0LiBXZSBt
dXN0IG1lbnRpb24gU2FmYXJpLCBiZWNhdXNlIHNvbWUKICAgICAvLyBzaXRlcyBjaGVjayBmb3Ig
dGhhdCB3aGVuIGRldGVjdGluZyBXZWJLaXQgYnJvd3NlcnMuIEFkZGl0aW9uYWxseSBzb21lIHNp
dGVzIGFzc3VtZSB0aGF0Ci0gICAgLy8gYnJvd3NlcnMgdGhhdCBhcmUgIlNhZmFyaSIgYnV0IG5v
dCBydW5uaW5nIG9uIE9TIFggYXJlIHRoZSBTYWZhcmkgaU9TIGJyb3dzZS4gR2V0dGluZyB0aGlz
CisgICAgLy8gYnJvd3NlcnMgdGhhdCBhcmUgIlNhZmFyaSIgYnV0IG5vdCBydW5uaW5nIG9uIE9T
IFggYXJlIHRoZSBTYWZhcmkgaU9TIGJyb3dzZXIuIEdldHRpbmcgdGhpcwogICAgIC8vIHdyb25n
IGNhbiBjYXVzZSBzaXRlcyB0byBsb2FkIHRoZSB3cm9uZyBKYXZhU2NyaXB0LCBDU1MsIG9yIGN1
c3RvbSBmb250cy4gSW4gc29tZSBjYXNlcwogICAgIC8vIHNpdGVzIHdvbid0IGxvYWQgcmVzb3Vy
Y2VzIGF0IGFsbC4KICAgICBpZiAoYXBwbGljYXRpb25OYW1lLmlzRW1wdHkoKSkKQEAgLTE3MSwx
NSArMTk5LDUwIEBAIFN0cmluZyBzdGFuZGFyZFVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGFwcGxp
Y2F0aW9uTmFtZSwgY29uc3QgU3RyaW5nJiBhcHBsaWNhdGlvCiAgICAgcmV0dXJuIHN0YW5kYXJk
VXNlckFnZW50U3RhdGljKCkgKyAnICcgKyBhcHBsaWNhdGlvbk5hbWUgKyAnLycgKyBmaW5hbEFw
cGxpY2F0aW9uVmVyc2lvbjsKIH0KIAorLy8gQmUgY2FyZWZ1bCB3aXRoIHRoaXMgcXVpcms7IGl0
J3MgYW4gaW52aXRhdGlvbiBmb3Igc2l0ZXMgdG8gdXNlIEphdmFTY3JpcHQgd2UgY2FuJ3QgaGFu
ZGxlLgorc3RhdGljIGJvb2wgdXJsUmVxdWlyZXNDaHJvbWVCcm93c2VyKGNvbnN0IFVSTCYgdXJs
KQoreworICAgIGNvbnN0IGNoYXIqIGJhc2VEb21haW4gPSBzb3VwX3RsZF9nZXRfYmFzZV9kb21h
aW4odXJsLmhvc3QoKS51dGY4KCkuZGF0YSgpLCBudWxscHRyKTsKKyAgICBpZiAoIWJhc2VEb21h
aW4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIE5lZWRlZCBmb3IgZm9udHMgb24g
bWFueSBzaXRlcywgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzI5
NgorICAgIGlmICghc3RkOjpzdHJjbXAoYmFzZURvbWFpbiwgInR5cGVraXQubmV0IikgfHwgIXN0
ZDo6c3RyY21wKGJhc2VEb21haW4sICJ0eXBla2l0LmNvbSIpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworc3RhdGljIGJvb2wgdXJsUmVxdWlyZXNNYWNp
bnRvc2hQbGF0Zm9ybShjb25zdCBVUkwmIHVybCkKK3sKKyAgICBjb25zdCBjaGFyKiBiYXNlRG9t
YWluID0gc291cF90bGRfZ2V0X2Jhc2VfZG9tYWluKHVybC5ob3N0KCkudXRmOCgpLmRhdGEoKSwg
bnVsbHB0cik7CisgICAgaWYgKCFiYXNlRG9tYWluKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAvLyB3ZWIud2hhdHNhcHAuY29tIGNvbXBsZXRlbHkgYmxvY2tzIHVzZXJzIHdpdGggb3Vy
IHN0YW5kYXJkIHVzZXIgYWdlbnQuCisgICAgaWYgKCFzdGQ6OnN0cmNtcChiYXNlRG9tYWluLCAi
d2hhdHNhcHAuY29tIikpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gVmFyaW91cyBz
dWJkb21haW5zIGRpc3BsYXkgInVuc3VwcG9ydGVkIGJyb3dzZXIiIHdhcm5pbmdzIHdoZW4gdXNp
bmcgb3VyIHN0YW5kYXJkIFVBLiBHb29nbGUKKyAgICAvLyB1c2VkIHRvIGNvbXBsYWluIGxvdWRs
eSBhYm91dCB0aGlzIHdoZW4gQ2hyb21lIHdhcyBuZXcuIE5vdyB0aGV5IGFyZSB0aGUgYmlnZ2Vz
dCBvZmZlbmRlci4KKyAgICAvLyBOb3RlIGluIHBhcnRpY3VsYXIgdGhhdCBjYWxlbmRhci5nb29n
bGUuY29tIGZhbGxzIGJhY2sgdG8gYW4gYXRyb2Npb3VzIGZhbGxiYWNrIHBhZ2Ugd2l0aCBvdXIK
KyAgICAvLyBzdGFuZGFyZCB1c2VyIGFnZW50IGlmIGl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHN0
cmluZyAiWDExIiBzbyBiZSBjYXJlZnVsIGlmIHJlbW92aW5nIHRoaXMuCisgICAgaWYgKCFzdGQ6
OnN0cmNtcChiYXNlRG9tYWluLCAiZ29vZ2xlLmNvbSIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIHJldHVybiBmYWxzZTsKK30KKwogU3RyaW5nIHN0YW5kYXJkVXNlckFnZW50Rm9yVVJM
KGNvbnN0IFVSTCYgdXJsKQogewogICAgIEFTU0VSVCghdXJsLmlzTnVsbCgpKTsKICAgICBVc2Vy
QWdlbnRRdWlya3MgcXVpcmtzOwotICAgIGlmICh1cmwuaG9zdCgpLmVuZHNXaXRoKCIueWFob28u
Y29tIikpIHsKLSAgICAgICAgLy8gd3d3LnlhaG9vLmNvbSByZWRpcmVjdHMgdG8gdGhlIG1vYmls
ZSB2ZXJzaW9uIHdoZW4gTGludXggaXMgcHJlc2VudCBpbiB0aGUgVUEsCi0gICAgICAgIC8vIHVz
ZSBhbHdheXMgTWFjaW50b3NoIGFzIHBsYXRmb3JtLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEyNTQ0NC4KKworICAgIGlmICh1cmxSZXF1aXJlc0Nocm9tZUJy
b3dzZXIodXJsKSkKKyAgICAgICAgcXVpcmtzLmFkZChVc2VyQWdlbnRRdWlya3M6Ok5lZWRzQ2hy
b21lQnJvd3Nlcik7CisKKyAgICBpZiAodXJsUmVxdWlyZXNNYWNpbnRvc2hQbGF0Zm9ybSh1cmwp
KQogICAgICAgICBxdWlya3MuYWRkKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNNYWNpbnRvc2hQbGF0
Zm9ybSk7Ci0gICAgfQogCiAgICAgLy8gVGhlIG51bGwgc3RyaW5nIG1lYW5zIHdlIGRvbid0IG5l
ZWQgYSBzcGVjaWZpYyBVQSBmb3IgdGhlIGdpdmVuIFVSTC4KICAgICByZXR1cm4gcXVpcmtzLmlz
RW1wdHkoKSA/IFN0cmluZygpIDogYnVpbGRVc2VyQWdlbnRTdHJpbmcocXVpcmtzKTsK
</data>
<flag name="review"
          id="294121"
          type_id="1"
          status="-"
          setter="cgarcia"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>271470</attachid>
            <date>2016-02-16 12:36:23 -0800</date>
            <delta_ts>2016-02-16 12:36:23 -0800</delta_ts>
            <desc>Screenshot of calendar.google.com</desc>
            <filename>google-calendar-screenshot.png</filename>
            <type>image/png</type>
            <size>56615</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAABE0AAAOXCAYAAADRnb/mAAAABHNCSVQICAgIfAhkiAAAABl0RVh0
U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AACAASURBVHic7N15XJVl/v/x1znAORx2RBAQ
EHDfldRcWtwyUytbpprmW9NUZpvte01TzdRU0z6t0+78qsmmplJLMzX3XHHfWQTZlH07cIBzfn+Q
R5EDHBAE9f18PHjAue/rvq7PfR0Q7w/XYgCiAA+g29SpU/vMnj17RlBQ0ACj0eiNiIiIiIiIiMhp
zm63VxQWFm6//vrr358/f/5u4ABQYwC6AQOSk5NviY2NnVZTU2O02+3Y7fb2jVhERERERERE5CQw
Go0YjUY8PDzsW7Zs+WLo0KFfANsNwPl79+59MD4+fmpVVVV7xykiIiIiIiIi0m5MJhNbt279bOjQ
oe97TpkypW98fPxEm83W3nGJiIiIiIiIiLSryspKBg4c+LspU6asMBw6dGiVv7//aIfD0d5xiYiI
iIiIiIi0O4PBQGlp6SpDeXn5ASCmvQMSEREREREREelA0gxWq9XhatFXg8HA5s2bycjIoLy8vB1i
a18+Pj7ExcXRr18/GhuFs2XLlnbpIx8fH2JjY+nXr1+DZdrzPXS3/0REREREROTEdPRnv+rqajw9
PU9qXK3BaDRiKCsrc3lXW7ZsoaioiPHjx2MymU52bADMnj2bK664ol3arqqqYvXq1YSFhTWYmGjP
PrLZbCxZsoTOnTufsvGJiIiIiIjIievoz34lJSX4+/uf1LhaS4OpnoyMDKZNm4bD4aCysvJkxtQh
eHl5MWzYMJYvX97gG9/efTR69Gh++umnDhvfqFGjWLRokZImIiIiIiIibaijP/uVl5effkmTI0N6
zuSpFb6+vo0ObWrvPjKbzR06Pm9v7zNyapeIiHQc1ooKDh48iI+PL10jI9o7HBERkTbR0Z/9TuWB
GMbGTjocjnb9OBW0Z/+4WovmVItPRESkLSUlJ3P9TTN49Y032qyNz/7zJaPOH8cHH3/SZm2IiIg0
pSM/+53KSRPPxpITp0rioq119D46leMTERFpU7/9DnI4Ts7vI/3OO/0ZDAYcDoc+67M+n8KfT1cd
4d4aiqGioqJDxNcSjS5fe6re1MnU0fuoo8cnIiIicio58n8rfdZnfT51P5+uOvL92Wy29g6hxZQ0
OUEdvY86enwiIiLuKiou5t33P2DtuvUUl5QQHdWViePH8/urr+LJp59h2/YdFBUXE96lC5MmTuC6
a691WU9efj5vvPU2a9evx8fiw7nnjGHmTTfi4+PDjp07mXH7nUy9aDLp6QdJSkkmLDSUa6++mqkX
Ta69Pi+Pdz/4kFWr1+Dh4YGXl5ezbrvD0WAse/ftZcbtdzJ+7PmkpKaSnXOIc8eM5qknHj8p/Sci
Iqe3jvzsp6TJGayj91FHj09ERMQdNpuN2++6m5TUA8RERzFk0CBSUlPZn5SEw25nx85d9OjRHbPJ
xLYdO/ng40/w8vIiYcjgOvVUVFRyx933cujwIQYNHEhJSQlfff0Nubl5PPv0X5zlFi9dSnxcHN3j
4tm+cwfPvfgPBg0YQEhIJ+66/wFSUg/QPT6e0M6d2bd/v/M6d2JZumw5YaGhdAkL42BGxsnpQBER
Oe115Ge/qqqq9g6hxZQ0OUEdvY86enwiIiLuWLjoZ1JSD3DO6FE8/+zfMBoMQO3IDqPBwH/+/Slr
1q4jMysLh8PBshUrWb9hY72kyU8//0xaejoJQ4YwsH9/HA4HKampLF22jNLSUme5Af3688YrLwHw
wsuv8N3ceSRu2YKnpycpqQcYe/55PPvUXzAYDHz+5RzefOddADw8PJqM5ayhQ511i4iItJaO/Oyn
pMkZrKP3UUePT0RExB2paWkADB0yxJkwATAaDBzOzWXmHbPIzsmpc42rocAH0tMB2LR5M5s2b65z
7vjrj+gcEgJAaVkZefn5AAzs3x/DMXEc0ZxYREREWlNHfvarqalp7xBarM13z8kvKODBRx9nf1IS
yxYtPOH6mvLeBx8SEhLClMkX4mOxtEqdrdVHNpuNeT8uYNHixexPSqampoYe3eOZOH480y+ehslk
4o6772X7zp3N6qsTjW/FqlW88sab5P/2H8GmBAUF8cA9d3HumDEnHJ+IiIg7YqKigNpkx1VXXlEn
cfLt93PJzsnhqisuZ+bNN5F+8CA3zJgJHP0dVFVlw+FwEB3VFYBrr7maO2beUq+dHTt3Or92tYBg
14gIAPbs3evyvDuxHP+1iIhIa+gIv1vaOr/QHtp0pEl+QQH3PPAQaenp9O7V66R0UkhICHl5ecyd
N5+Lp01ttcRJQ9y9p9y8PB55/M/sT06uc3zP3n3s2buPHxcu5IVn/8b23/6z1lp95U49L732BoWF
hW7XWVhYyGtvvsU5o0efSGgiIiJumzRxAp9/OYdVq9dw3Z9uJCY6mrT0gwzo34+e3bsDsPrXtVRU
VpKeftB5XXR0NAaDgc1bt/Hgo49z6cVTiQgP5/P/fMn6DRuJ7RZDYWEhJpOJF597tuk4LpjI7M8/
56efF5OdnUNUVFdSUlOd54MCAxuMRUREpC015xly7KTJbpX75acFLQ3ntGFs7KTD4WjxR35BAfc9
9Ahp6el0i4nh1RdfaHYdLTF18mSCg4MpLCri+3nzKCsvb1E97nLnPmw2Gw8//gT7k5OJ7daNl194
nsU/zuen+XN56fnniI6KIjkllUefeLJZ9brTR+7UcSRhsnHNKrc+AHJz89rsPRQRETmet7c37/zz
daZddBHlVivrN2zEaDQS3qUL0y+5mCsum05JSQnLlq8gODgYf39/AAL8/bnqisvx9PQkKTkZXx9f
3nvzDS6aNImSkhJWrlpNcUkp3bp1cysOXx8f3vvnP5k4fhwZWVksX7mKkE4hGI21/6VqLBYREZG2
1BbP2m39/N5SY8ZN4La77q7zx/+i4mLuvPc+xoyb0KptNTo9p6UKCgu576FHSD1wgG4xMbz7zzew
WLxPSkdaLN5cPGUKc3/4gYKCAubOn8/FU6fi6+PT4jpPNO7v5s0nKTmFmOhoPnz3HUwmL2pqavDw
8ODs4cP56F/vcsPNt9QbhXKy4juiuLi4Veo5npInIiLSGoICA3nkwftdnrt31p3cO+vOescdDgez
br+NWbffVuf444885LJsv759WbnkZ+drgBv/eD03/vF657HQ0M6NbhPcUCxAvbpFRETaw5E/hjel
uc+IDf1+a+3ESnxcHFu3beeu+x/g9Zf+gcFg4J4HH2bf/v3Exca2alutPj2noLCQ+x9+1JkweeeN
1/H2NmO321scZHO1ReKkIe700eIlSwG487aZGI2GOisH33nPfc4pOc2tt7Xia6js+MlTAFiy4IcT
rltERERERETaTnOez4qKitowkrb35muvcOuds0hKTuHuBx7EYDCwPymZyIiIVt+hrlWTJgWFhTzw
yGN1EiYWi/dJTZgccbISJ+70UcqBAwD06tmzXl+4Spi4W687TiRp0tLjIiIiIiIicnI15/lswkVT
3Sq3+Mf5LQ2nTQUGBPDum/90Jk4AIsLDeffNN+gUHNxxR5oYMDjn9DocDsrKyjCZvFoe3Qk7Nv76
2wK2Sgtu9JGHh9EZzvHlN6xe6fKa5izM2piWJE0mTplW5/iRH6iff5jX4rpFRERERESk7bTF81lH
feZzOBzYa+yYTCbnMS8vLxz21l9fpdGkSXMFBQXy9uuvcfvd95CcksK9Dz3My8//nZCQTq3ZjFus
Vitzf/iRgoICAgMDuXjqlDaZnuOO7vHxbNu+gy3btjFm1Mg651orOSIiIiIiIiLijob+eH+8jvq8
mpefz933P0jqgQPExcYCkJKayl33P8Abr7xESKfWy0G06u45drsdT08P3n79NeLj4jiYkcH9jzzq
9k4rrbX67slMmLhzH5MmTgTgg48/obikpN754pISbr/7XiZOmdbqfdScOo683rB6ZZ0foiOvGyrf
UVZQFhEREREROVM15zmyoKDArY+T8fzeEg8++rgzYfLOP1/nnX++TlxsLAfS0njgkcdata1Gd89p
yY07HA5n4uTIiJMHHn2Mfzz37EkZcdIWCZMT7aPJF0xk7vwf2LtvH7PuvZ8b/3g9Zw0dAsDGxM18
9OlsMjIz6de3b4v7/ETiO75sfn5+nePHv25u3UqeiIiIiIiItK3mPHdNmnaJW+V+mvd9q8XQms+F
e/fto1fPnrzxykv4+foC8M4/X+eu+x5g7759J29Nk5Y6MuLkzdde4fa77iH1wAH+/Mxfefv1V9ui
uTrmL1hIQUEBQYGBXDxtKj4WS5u32RSHw8ErLzzPvQ89xL79Sfz178/XK9Ondy9efPZvJz22xn5Y
jow2aShpMmnaJc3+IRIROV3U1NSwbv0Gdu/dR3l5GQC+vr707tWLEcPOwsPDo50jFBERETk9bfp1
NXa7nYqKCmeCxM/Xl88//Rij0UhZWVmrtdXqWw4fUVNTg5enJ2+/8Rr3PPBQq2d7GpKXl0fnkBAu
mnzhSUmYuHtPZrOJj957l+/mzmPBokUkJafg4eFB9/h4Jl8wkakXTaaysrLVdxpqyUiTI/Ly8lq1
fhGR08m6DRvYtHlznWNlZWVsSkzEAIw8e0T7BNYCVquVj2f/m8suvYSI8PB6r+XUdrq8n6fLfYiI
tJXmPJutX7XCrXIN/QG9vblKijgcDqxWa6u31erTc45VU1ODp4cHsz98Hw8PD7cewk/UzJtvavU6
W6OPampqKCsrY9qUi7jisunOv0DW1NRQWVmJ1WptcX+fSHzH/rC4+/409xolVkTkdLR7z14cwBXT
LyW8SxcAsnNy+Prb79i1Zw9njxje6PVZ2dl889333HzDHzGbzfXO/78v/sOwhAT69O7V6LHWkJSS
gsVioUtYGA6Ho95rd6UeSGPhokWt9rs4LT2duT/8yG0zbnbuztfRtXYftIbT5f1s6X2IiJwpmvNv
Y1s9m5+s6TknU5tMzzmW3W7vsCvutoeKigoqKiraOwynlvywnIzkl4hIR1dWXg7gTJgc+/WRcyei
qqoKcDR5rDUkJyfTPT4eg8Hg8vWpwlZVhZen5ykXd1s7Xd7PU/U+RESEU3racptNzzlTdPQ+6ujx
iYic6RYv/YWcQ4fw8vJi3Pnn0TUyko9n/5tyq5XFvyxj8S/LuGjSJJatWFHvmNFoZMXKVXhbvCkq
KiY6KpLRI0fh7++H3W5n/caNJCWnUFZWRs/uPRh7/rlUVFTw4aezGTNyJEMGD6KiooKDGZmclZAA
UO91dk4Oq9b8Sn5+PiEhIUwYOxYvL09WrFpFVnYO9ho7vXv3YvTIs+vd2779SazbsAGr1Uq3mBjO
P/ccMrOyWbVmDRHhXUhLP4iXlxcTx42jS5cwANIPZrBm7VoKCwvx9vZ21lVeXu6yzQNp6axYtQo/
Pz+ys7OZMG4svXr2rBNHRlYWq1avobCwkMDAAHLz8rlj5i1A7eiHNWvXUVxcREhIZ84dM5rQzp2b
PNdYnU31gclkqlPGVR8HBgY02H7qgTRWrVmNxeJDXl4uXSO7Ehramd179lJdXc25Y0bTo3v30+r9
PPY+mnP/IiJnko787Ofp2ebjNdqMkiYnqKP3UUePT0TkVPTNd0cXwX7rvX81WObyS5temT4uthtn
jxhOYuJmlq1YybVXX8XvLr+MOV9/Q8KQIXSPj8Nisbg8djAjk+LSEsaMHoWvrw+Jm7cw94cf+P1V
vyMpOYWt27Zz+fRL8fL0JC+/AKj9S8+whKHOh9qU1AN4e3s714g49nVJaSnfz5vPiGHDOO+cMZSW
luHn50t1dTW9evbirIQEKisrmf/jAkI7d66TDDh06BDLVqxk/Njz8PPzY9WaX1m7fgPRUVEUFhVx
3jljGNCvH+s3bWLlmtVcMX06RUVF/LBgAaNHnk1MTAypBw6wcvUaZ9wNtVlcUsLIESM4d/QofI7b
Ma+kpIR583/g3DFj6BoZyf7kJHLzaudnFxYW8sOChYwcMYLo6Ch27d7D3Pk/cO01V1NhtTZ4rspm
a7DOYzXUB+eOGX00vgb6uLHYAAqLihl//lgA5i9YQHV1NRPHj2N/UjK/LF/hHJFxuryfx97HgbR0
t+//iMrKShYtXkJ1dbXzWHRUFGclDG3yZ1RE5FTRkZ/9vLy82juEFjt10z0iIiLtJCs7u1XKAMTH
xWE2m4mN7UZSSgoAfn5+GAwGvL3N+Pv7N3jsaB2xAJwzehSffvY5+QUFBAcHYTAYWb3mV3r36kXP
HrV/effy8uLs4UfXW0lOSSY+Lu7oFIhjXicnJxMUFMSQwYMAnKMsjEYjFRVWNiYmUlJSQlV1NeXl
5XUeslPS0qi0VfLjT4ucx2pqaoiOigJwfo7rFsva9etrr0k9QECAPwMHDAAgOCjIea3JZGq0ze7x
cS7Xydi3PwkfHx/69umNwWAgpFPIMfeeitlsZvCggRgMBkYMO4tt27dz8OBBiotLGj3XUJ3HaqgP
jtVQHzcWm6dn7X88IyJqE12dOnUiNDTUmfjaun07lZWVeHt7nzbv5/Hfp+7e/xFms5morl1Z9euv
te17eTFxwniX75uIiLQ+V+u3nSradCHY00VH76NTOT4RkVOSm/+uNfnvs8OB47cPMBzzNeAAu+O4
Oo4/dkwdtQzgcFBdXU1YaCj/9/ur2bNvHxsTE0ncsoUrL5te50G0srKStPSDTJtyEQ6Ho95rm62q
bky/SU5JYcWq1UwYN5aI8HC++e77evdj8vTCz9eXq668giOPuUajkczMrDoxG4wG+O2ebDabsx+O
76OU1NQG26zbj3VVV1c7H8SPL2+32zEYDHWuMxgM2O2Nn2usTnf64Ng6G+rjxto//n03GAzO1waO
fl1RUXFavJ/Hf1+6e//H3+eggQNISk4mOyeHc8aMxtfHR/9HEZHTSkf4N62hGDw9PTtEfC3R6NLl
jmN+6bTHx6mgo/dRR49PRERcM3ubyT18mIKCAuf2ea6OARQWFVFeXs76jRsICgwipFMnsrKzSc/I
ILprVwb060dubi4VFRVUV1ezfsNGsnNySE1Lw2QyERkRAVDvdbeYGPLy8ti6bTslJaUcOnQIh8NB
SUkpJpOJ0M6h5OblY/1t4Vsvkxd2u52MjEw6dw6hvLycrVu3UW61kpeXT24TC4lHRXUlPz+f7Tt2
UlBYSHZOjvNcQ226cuw9xsXFkpeXx45duygpKSHvmK0T42K7YbVa2bVnDyUlJSRu2YKXpxdRXSMb
P9dIne70wbHxNdTHjbXvrtPl/Tz+PlrKYDAwfuz5dI+Pp/dx696IiJwOOvKz3yk90qS9AxAREZH6
hp+VwPIVq0hJPcDECeOwWCz1jh3x/dz5VNoqCQ8PZ+pFF+Lh4UF5uZUtW7dSkF+A2ezNOWNG4+Pj
Q0VFBes3bsTLy4vM7CziYmOdo0+SkpPrvA4N7cwFEyewfsNGfl23jpCQECZNGE/fPr3Jzcvjy//+
l6DAQAICAwGICA8nJiaaRUuWcN45Y7jowkn8um49m7duJSAggMGDBuLjbWnwniPCwxk9ciSrf/0V
Dw8Porp2dZ5rqE1Xqqurnfc4ZPAgJk+6gHUbNrDm17X4+vo6y3Xq1InJky5g7fr1rFq9hpCQEKZN
vQiLxYLFYmnynKs63emD4KCgOvG56uPGYnPX6fJ+Hn8fJyIoKIhJEydoBx4RkZPs+EXQTyWGgoIC
lymhRYsWcdZZZ7XrKre//PILV1xxRbu1X1ZWxrJly7jgggtcnv/5559JSEhotz6qqKhg69atTJw4
0eX59n4PKyoq2LJlS4P9JyJyqnq7gcVfj3e7i91UWtOBA2nMX7Cgxe2kpacTHBTkXCPl+NftxW63
Y3c48GyD7Ql37NrN2nXruPGP13foOlvD6fJ+dpT7EBHpyDr6s9+hQ4cICws7yVG1jgZ7NC4ujm3b
ttGnT586C2mdKcrKytiwYQNxcXENlomNjWX79u307t37pPdRRUUFe/bsITY2tsEy7fkeVlRUsHv3
7kb7T0TkVNXWyZCTJSY6utHX7cVoNDY+f7iZMrOy8PX1pbS0lK3bttEt5sTvsy3qbG2ny/vZUe5D
RKQj6+jPfs0ZKdnRNJg0GTBgAAaDga1bt9aZN32yff311+3SrsViIT4+nv79+1NRUeGyzJE+2rZt
G+WNzMVtCz4+PsTFxbkVX3u8h+70n4iISFtzOBzs2LmTjIwsAGJjuzF65Nkdrk4REZET0dGf/U7l
gRiG/Pz8BldssVgsmEymVplDeqqx2+3YbLYmv+Haq49Ol/hERERERETkxOnZr200mjQRERERERER
ETlTnXlDSERERERERERE3ODZ1H7KIiIiIiIiIiJnIo00ERERERERERFxwTM3N7e9YxARERERERER
6XA8f/311/aOQURERERERESkwzE4tKiJiIiIiIiIiEg9WtNERERERERERMQFJU1ERERERERERFxQ
0kRERERERERExAUlTUREREREREREXFDSRERERERERETEBSVNRERERERERERcUNJERERERERERMQF
z5ZeaLXZ2ZhUw56UYnILSikpr8bfx5MuEV0Y0a2a8DBPOvl7t2asbSqt4gDfpf0AwHcH5+KT7M3b
l75JVGhkO0cmIiIiIiIiIu2h2UkTq83O96sK+WxJERTtoHOAJwHmcgC2HjaxL3Mrh6wh9OgWxNSR
wVw5xp9+3f1aPfDWZjKYGe59Fs8ffJllXyzipqibsOCF3VaO0eTT3uGJiIiIiIiIyEnWrKRJZp6N
v80+yNJVO5g5ycGQ8cEE+3sRGFA7GqOq0kZSRh4L1mfzzk9FbN52gHc+SubrF8cyekT/NrmB1hJu
DscSYKlzrKaKDp0wSc+0snBVLtdMicDPt8WDhk7Ij8sPY/IyMGFU53ZpX0RERERERKStuP2knZln
4/4Pi9i27HseucKf/t3DCe3Wjc4hnbCYa5dGMZp8iOlRzpABhxjWYzO3vJxOr6gMbGX5p8SIDUfA
0a+jvLrg629puHAHkJZt5cX3D3Dp+C74+bZPDF//lI2fj0lJExERERERETntuJU0KSy189r3Vn75
YQ53TCqgV9+z6dm3H4FBgfXKmi0+hEfFMnyEB/ddmkPvbgMIC+9CTbUJo6nV4z/jmbwM7dq+xduI
xexo1xhERERERERE2oJbSZNf91Tyw5Jt9ApKZ1jCOAYNGIivf+PrlMREd+X2P02jurKciIg4vHxc
N2W31a6H0txRKEeua8m17jB18sXT0/XmQi2NWUREREREREROHU0mTaw2O0u22kjelciFkzrTr2d8
kwkTAIvJiCWqa4PnqwsOU71oLnlbNgFgLsrFPCAB+7BzCBw2uuGKHWmkbfmcQO9cqir2ANCpay9s
nv+Hd/DQBi/bmVRKWqEHAH4+npSWV5ORU05uQSkDomxMPb8nAKUVJQ3WYctKpfK7ORSnp2EuysU/
OpbKURMIOO8CAPIOH8bb29Jo/1htdnJzKymx1uBv8aBzZzMWk+vkTGaejcJCGyajgcAAL0JD3B+q
czjPRlFxFUZPA2GdTPXWPLHa7JSWVBMaYnI7pmPLBQWZiGwknmPLepuMLmMoLasGwM/Xk/RMKwDR
kR17SpSIiIiIiIicOZpMmhw8XMXu5Hx8HRkM6tGTkLCIE27Uvm0ju597jNLonhgGDcPh4we//oL/
a88DkPmHmcQ/8GfMlrojOWyF35CZ+CzZJcM5FHgxMI7qorkE7XkVc8B7eEQ8QcyQR+pcU1hq541v
crAW5xAUHExSWh5b0r0pK8kHYGKvQ5wdGUpVeRwVHtY61xodR5MCjnXL2Pvqc3j0S6DorLGUpuyn
/JP36P7xvwi64lrCHn+NnNwCPEwV9G4gabIzqZTn/pXEusTaxIzJy8DIoQE8clM8PeKOLkpyKMvK
S//vAD/8koetqnbqS6C/B9dPj+BPl0c1uuir1Wbnqx8yeeeLDPIKqgDo0c3C47fFMSahk7NcSno5
tz65k7/f34P//JDF0jWFzrYuPC+YP98UT1jE0QRGeqaVv36QzC8rC5zxXDqhM5k5NnrF1k10rNqU
zwvvH2B3UpnzWI9uFu6/sVudtU9e/uwARXmVRIZ588k3WYw+O4h/PdmxFwwWERERERGRM0eTSZOc
YiM5ebXJhC6RUc5FX1sseQ9p99/Elm6DibvyNkJCAvAN9oGx48gYNIzSW2+GF/5BUUkJI19803mZ
rfAbMtZcz6bMa4kYOAv/kAD8zUYKK8+nOKUnAXkPkrH/SbJzvRgx8X6gNoHw3Fcl7E7cyF+v70xg
QBEF/U38879pfLbNQc+APUwe3pc+PaOd7VTZK13GfOCJu9k1ZCzxl/2JCD9vvM6/hMxhA2HmdSx4
6W0G9B3G2f93A1Xl1S5v+3CejVuf3EloJy8+fr4fcVEWdiWV8cL7qdz4xA7++9JAwiIsFJbaueHJ
naRlVvD8Az0Z3Nufyko7q7cU8Le3U7F4e3Dz76JdtgEwb3EOL75/gHtuiOHCMZ0pLK7iyx+zuPOZ
PXz28kDn9s+VlTVs2V3MzD/v4rJJoXz09/5EhZvZsruUB1/Yi8V8gBcf7FPbJ+XV3PP33RzOr+Kd
p/vQt7svu5LK+GReJt/+fIjHbo1ztr9qUz5X37Odi8eF8PCMbvSMsJBRYGPOj1nc/bc9zHnD2xlD
VVk1n36bzU1XRvLvfwygSxeNMhEREREREZGOo8mkyf6sGueoDG+zzwmt42G3lVP11cdszSqi+prz
6BrmT1hkV+dUkJCrrmfL1g2Uvf0uO15/G8+pFzHs/KngSMOQ9TcSN1dgjZ1CVNcIokK9MZp8iATy
w+6gYOMyujKPnesfJjzuEmK692TZttq1WKb3yiAwIIaI6B7EWnz4S1AAO/JLSdxYyJyVDiaND8No
8gQX+RKAyq8+ZmFeOb5Dx9IlMoSoTiEA+BlM/OIVSHJcEJXr1jLkiqsw+7jun++W5GCtqOHT5xOc
I0UiwywM6u3LsCs28N+lh7j92m5kD33WagAAIABJREFU5pRTWl7De3/tW2dkSI84Xw7l2ZjzYw5/
uLSry+kzhaV23v8qg0dvjeUPF9dOjYqOtDCwTwCHSnbwzcIs+t1eOw3J02igqsrBrOuimXlNjLOO
yDAL+UU2XvowjdLbq/Hz9WTh2ny27SljwYcJxEf7OMuNPqsTOVk2HPajC8HuSipj1JBAXnm8rzPG
sAgLQ/sFsm7rBn5Zm+dMmtTYHfSK9eXpu3s1OEVJREREREREpL00+aS680AlWfm1xSoqy5so3YQ9
u9i3OZG1VQa6REYRFhlV52HZYjIy4ro/ER5Vu/fvnv83B6vNjq34Rw6m7mXTwSFEhYcQ07VTneRN
J39voofcgDmg9tj2dZ9gtdnZkV5D3uHDAERE93BO9+kWG8PUkcEYTEGsS9xNemYuADZH/ayJLSuV
rMULAOge24VIPwu2H/5LxuN3kvbp+1RedCmht9xD/JTplJaW1bv+iB+X53LphM71ptaEdrLw3H3x
xEXVxhYX7cPi9xMYk9CJzENWdiaVsj+ljNKyarpFWigoqsKz2u6yjfSDpRQUVTF9bP1dja6+oAtL
1xZhtdVeW213EBVu4fJJofXKxna1UFV1tI1Vm/I5b0SgM2FyhMVkpHe8hZpjkiZ/uLQrX70xGM9q
O8np5exMKiU5vRyrzU5ctJn8QludOoYN9FPCRERERERERDqkJkeahJgKASgzdGV3WiWTT6Cx6vQU
/PJyAAgMDHD5sFzVoy9dJk4i9pP/smTFCsaVVBNu30tlcW3CJiy8i8u6DeZRGLx7E+i3jcyDSzh8
+H72ZhrJK6gAwMujbvnxwzvz+peB5GRnYys5BMTUq7Pa04h3+gHn64OJmwj6+XuKSkowDBqGfVpv
4v1DGGSxEB4SgMnH32VsVeXVZB6ycc0U12udHBkVArWJiAOZVp6dvYfVawvrrGni1cS7lVdURfJB
K3e/kILF20jlb3kPsxEyc2zsT7NSWlKN5ZgFXKtczyaqI+VgJQN6ujfCyGIyMm/pId74dxqpByuc
x8NDTSQfKOPWa6PcqkdERERERESkvTWZNBncJwzIoNqjM+s376LSOrHeAq1HVJVXs/aAg7V7KgkJ
8KRHhAf7s2rIycrhuskRdCotpiwtDQiissL107rZ4gPRsZTFRUMVZGWlEhmYAkCE3z4qK20ur/Pw
CKRruIOk7bAntYqzinMpLq0dTbJ2Xy4l5VUEHrfZi6kskV4NLw+CxWTEOYaiqJBOnYLxvXASFSWV
mM0mgvx9CQkJbrA/jqh0QHW1HU9PQ6PloHbtkxnP7MLf14M3n+xD92gfKivtHMi28sX8LLbsKm3w
2hq7A08P6BTohem4tgLjPZkwqhMW77qJqho3kiZV1Xa8zR5NFwR+WZvHfX/fy/XTu/DCAz3pGmwi
p6iK3SllPP1mslt1iIiIiIiIiHQETSZNBsV6ENHJTmlxEEt25rNxWwqjR7je4SS1oIatW/ZyKDOP
XFMQCzd05adl+0gI2citU693lotPSaUmJ73BNm2BnfBNSYeoGPwsForK4p1Tb4oKChq8zssvlqLS
rQB0Dgxm+nAPvv66kGV7OvPZgjRuv2ags+znC9IJ8a3i9xd1wz+4c0NV4rD4UZaWhmd6IY6MNPym
Xk5IWDUmD2+8fJrsPqB2S90APy8O5blO+By73e7WvcVk5lSy9N8JhHY6ujBqjzhfrBX2RpMm3mYj
ocFmnr2jh8vYDufZGt15pyHBgZ4UFle5VfabXw4xYVQwT/y2dgrUrmkysE8AS37Nb3bbIiIiIiIi
Iu2lycUkIkNMTD+vdpvh/Jp4nv9/KZSVuH5wjwr14uoJ4dw2rRMXj/CirKQUa85GwvzKKakqwxZ+
dFhH/qZ1zvU1jmcqymd/eCf8Ro7C6B2GJXw0lcXlRASVUZ69oMFYq0pTySr0xbvrVAB+N8abe6+O
wLMmlwde+oUn3k9i5a4qnng/iYMpO3nwCn9GnTWUkE6up4xUlVdjj4rBNyaGWC8jSZ9/BICvv5/b
CZMjRgzyY0Wi64TPfc/v5eVP0gCwVtjx8jLWSZgcUVTaeOIiJtyCl5eRVduK6p37cflhrrlvK6Vl
bgwtOc7g3v5s2un6PS8oqVtffr6Nzp28XJYtLnMv8SIiIiIiIiLSEbi1AuctU4LpGVu7XsfCRA+e
eX+Dy611LSYjAb7BxMT2oE/f7kREBFPtUTuKw4IXfiPH4Bg6nFgvI/nffM7h9KR6ddht5WQtXkCa
px/Bo84hJMCBwTyKUs8RBPoZyTu4xLm4a50b8crlYOpeskp70i2qJ2YfE0aTD8/+qT+zH47mtkmV
lGZv4a25hXz49VZ+N6yQ0cMH06f/oDoJEC+jGQCzoXYuj2dwKNZzLwKgx55k9v71Aey25i+IO21c
GCvWFfPVj1l1jn82N4Mla/O48JzanXLiY3woK6+pVy5xcyF/fzeV6pqG24iOtHDuqCBe/CCVw/lW
5/HD+VZe+vAAoxMCWjTSZMLozuw/YOWzuRl1jn/wVTrf/HgID+PRqUCjBwexYHmec/QM1G79/MFX
6fzvp/rvm4iIiIiIiEhH5dYTdEzXTvxrVjA3vVhAco4nr/3PSkHlVh68vj89u5rrlK1NQHhiwU5x
aQmeNbnOc0aTD+bHnqVs+1489x5g758fIPKtD/AMrt3BxW4rJ+vph1iYnInlxtsYddZQgsx2jKYI
Anu9SVHmaHyr17NvzZ8JnvzK0R10HGnkbrmDH37xoHP36xkwaAiBQbU7yHgGh3LxtEmcd84I1u8t
45kvD5NXUMHGAz784Zp+9bZQPlhUmxiodBydShM56xHSFi/Cc8Nmyt5+l515h4j54wx8Bg7BXlFG
xb59OHx8CRw2usE+HJPQiQdujObxV5P475Ic4sO9Sc6u4NcNJTx6SyxjR9ZuY9yvux+3/6Erj7+a
xHe/HCI6zEz6oUo2by8lsouZzJxKyuxGgn6r98hCsUc8cX0s//f4DqbM2My5w2r7YMWGIkI7mZh1
Vd0FXCqPu/aIqioHtioHNns14Em/7n48NKMbT/8zhe+XH6ZbmDfb95ZRaXMQH+1TZ/ec310YweI1
+Vw0YxPjRgVhMXuweVcpJWU1RIVbKC47mvUptdZgrXA92khERERERESkvXk89dRTT7lTMLprGGdF
55O8fzsHs/LZtNfKwtXpZBd5YsOCj9lBjd1AeWUlB3NrmLemmI/+swLPsl10j7Iw6dwB+Pr7E9Il
kpL+PTmUk0fhvB/JW7WEqvQUvHdtYv+/3ib1cD7WP97BoIHD6dmrF74BtemBkC6R5FckkJmVRGXO
PMrzFlFty4XCb8nY8W/W7oiAzjfRp+8ABg3oi8l8dNVXTy8vjGZfvLz9+WZFATl5lSRn15BfYmfM
kDC8PGpHSsxO/oL/fDobgCVZSyivrmBE1HACgwKxnT2WHfv3ULhvPxlbd1L+n8/Z+e0c0n+YR0lZ
GZ6jRuFrCcHDq+HBO2cPDiKhvx/lZdVkF1XTq6uFB27qxjVTI50xAAzuF8jZg/wpLa3mcH418V29
ue/GWK68oAuhIV4M6e2HyWTE4KjdlWZo3wBMv+1E5OvvxSXndiYwyJOD+TbsBgOXjQ/l8ZvjCQnz
drbhMBrpEuzJiEFBzmud3xRGA+GhJhL6BzvjSugf6Iw9t6Cac4cF8Zc74xjQy5+esb7O7Yh9fTyY
en4ooSFeZOTbqLLZGTu8E8/cHc/gPgHERFjoFecLgNnLSO84P3p283XnW1BERERERETkpDI4HA7X
ww0akHkwgzlzvmb+ZgPb04wUldoJ7BxFkJ8nPSNrH7A7B9QOYIk0H6CzbyVR0TGMGzuGkNDaESVW
m52UpP3sWLqIw7u3E2gtp0ufvvjF9cAR0RVviz/xsdHO0SJHWG12du/cydq1Kwj1TAQgultvjF59
qDJ1wtviT6/usfj6H93ad+WuKhasTONQbu06H9lZmSQn7WdfcW8ctkJumN6bt+6unaKTd/gw6zdu
IifzIEZPM6FhoSQMHkhYRCQAe5LS2brwe/avW+2sv8eI0UQNTSAyoiuRYZHNXutERERERERERDqm
ZidNoHYazaFDh0hJzyLjYA5Hdg/2s3ji5R9FZIgnIf6103YcHmb8fC0E+AbXSyjkl1RQkneIipra
ZIu3hwOL2ZPgwLBGkw9FhUVkZOVgrQE/S+2CqcEWb4KDjrZRWGrnw5/L+fjrzUwdWs24fpUEBgbg
42Ug5WAuHy2BBWtLAHjt3gHOnXWKCouoLP9tao6hCl+/gDpJmPySCrIPpjm3Pj6y9XBopy5KmIiI
iIiIiIicRlqUNDme3VbuXBvkyCKpx68V0pw6mqOqvLpessJqs/PlShsvvL2IKb32cP3l5xAcHIJv
QBDe3hYsZiNpqft5ZnYm/29RAef3zuXbt/5UJzkiIiIiIiIiImc2t3bPabKSY5IdRpNPi5IfLbkG
cDm6o6CkmjW7KyjMTWNQj2AiusYQ070nIaGh+Pr7YTT5ENtrEA//qT/+nbthK84g71CWi9pFRERE
RERE5EzVKkmTjqaswsHm7ZkUldrx9Q9xrklyvC5duhJmySMqMvgkRygiIiIiIiIiHd1pmTTx9a5d
I6XaozOzV3iSmWerV8Zqs/Ped+l4WJOYPLIr3j7awUVEREREREREjmqVNU06ovmLN3PzX1eRZ+1E
r17RXDc5msF9wvDz8SQju4Rlmws5mLKT68+tpmdcOP36DdNCriIiIiIiIiLidNomTey2cpav2sj7
X61mywEzNZbueFiCiQ8upHOAJ4NibIxLCMPH7ElkbB8tAisiIiIiIiIidZy2SZMj0pL2kZyWTWFR
EQDe3l5EdA4kMMAHgymIyLBIjTARERERERERkXpO+6QJ1I46sVbaqa6pAcDTwwOTh7eSJSIiIiIi
IiLSoDMiaSIiIiIiIiIi0lyn5e45IiIiIiIiIiInSkkTEREREREREREXlDQREREREREREXFBSRMR
ERERERERERfc2j7GYCio89rPz8CAAR7cdpuZ6683tUlg7po5c2aTZd57771Wa6u16mqMwVBAaKiB
Zcv86dvXo8EyDkdwm8ciIiIiIiIicqZye8/dYx/QDx1ysHRpFfffb6W42MGdd5rbJDh3HJ/EOFmJ
jbb27LMWbrmlnOXL/TEYTl67SsaIiIiIiIiI1GrR9JywMANXX21i9mxfXn21orVjEmDGDDNeXvDB
B5XtHYqIiIiIiIjIGemE1jQZPtyD9HS787XBUIDV6mDWrHK6dCmsN61n2bJqRowowdu7gNjYIj78
sDYhsHdvDYMGFWO345LdDgMGFLNkSfWJhMvWrVt5/vnnmTVrFrNmzeL5559n27Zt9cplZmbyxhtv
MGvWLO677z4+++wzbDZbvXKFhYV88cUX3HXXXTz22GN8/fXXVFVVATRYN8DBgwd5+OGHsTd0w795
/31fnn66gpycxstBw317xNVXl/Hww9Z61z30kJUrrywDjk7DMhgKnB8iIiIiIiIiZ6oTSpps2FBD
dHTdKu64o5zRoz3Zty+wzjSPPXtquPLKUu6918yhQ0HMmePLs89W8Msv1fTq5UGvXh78+9/1ExMA
s2fbCAgwMH6827OJ6klOTuaTTz5h/PjxPPfcczz33HOMGzeOjz76iNTUVGe5w4cP8+qrr9K/f3+e
ffZZnnrqKbp06cLs2bPr1fniiy/SrVs3/vGPf3D//feTn5/PvHnzAJgwYQKLFy92GcuSJUs4//zz
MRob7/7u3Y3cd5+Ze++tn+w4VmN9e8Tbb/vw+ec2Nm+ucR5LTKzh008reestC3B0CpbDEez8EBER
ERERETlTtShpcviwg6++snH99WXcdZd3nXMDB3rw+9+bCAiouxDHs89W8Mgj3s5zI0Z48uqrPvzj
H7XTex55xJunnrJy/ICOykp46ikrTzxRt53mWrhwIZdccgkjRozA398ff39/zj77bC655BIWLFjg
LDd37lzGjh3LhAkTCAgIICAggIkTJ9KlS5d6dT733HOMHj0as9lMSEgIf/jDH9iwYQMACQkJZGVl
kZmZWeeasrIyEhMTOffcc92K+557vElOtrNwYVWDZZrqW4CQEANvv+3DjBll1NRATQ3MmFHGyy/7
0KWLNlESEREREREROZ7bQzeOnarh62ugf38PnnnGwp/+VHf3nMsuc72bzurV1fz5z5Y6x847z5M7
7igHYNgwD7p3N/LOO5XcfffRhWXfeaeSTp0MTJni5W6oLqWlpXHNNdfUOz548GAWLVrkfL1r1y4u
ueSSeuVGjhzpHEUCUFVVxcKFC1m3bh35+fnOaTlHRo94eHgwduxYFi9ezHXXXee8buXKlQwaNAh/
f3+34jYa4YMPfLjyyjI2bfLEx6f+qrBN9e0RF1/sxTff2HjttQocDggPN/J//9e+ux+JiIiIiIiI
dFQt2j2nMV27uh61kJ5up1evonrHj52h8sgj3lx7bRk33WTCz89ASYmD556z8s47Pu6G2aDi4mKX
iYqAgACKio7GVVpaSmBgYL1yQUFBdV7/73//Izs7mxkzZhAWFobZbKaqqoo777zTWebcc8/lySef
5LLLLsPPzw+73c4vv/zi1jbJxxowwINrrvHi6acreOEFS73z7vTtEc8/b2HChFKKihwsWeJe4kZE
RERERETkTNTq8zK8GhgQEhBgIDMzsM56GQ5HMDU1R5MxEyd60a2bkZdfrl3E9OWXK+jc2cjll5/4
aIiAgABKSkrqHS8pKamTJPHz86uTRDmisLCwzuuNGzdy3XXXER0djdlcOzImNze3Thk/Pz+GDh3K
8uXLAdiyZQsBAQHExsY2O/7HHrPw009VbNtWU++cO317xLPPVvDXv1p48klv/vlP7XwkIiIiIiIi
0pCTtpjFuHFefPddw+tyHPHww968/HIFu3bV8MorlTz2mDeG+jNSmi0mJoYtW7bUO75lyxZiYmKc
r/v27cu6devqlVu7dm2d1zabDa/jMkSrV6+ud92ECRNYtmwZNTU1LFmyhPHjx7cofpMJ3n3Xh1tv
La+3y5C7ffvzz1UkJdm57DIvbr7ZzObNNfz8c93rvL0N9daVERERERERETkTnbSkyV/+4s0zz1Tw
6ac28vIclJU5WLy4mqlTS+uUu/xyExERRs47r4TQUAO//33rrLkxadIkvvvuO9atW0dJSQklJSWs
W7eO77//nsmTJzvLTZs2jaVLl7J06VKKi4spLi5myZIl5OTk1KlvwIABzJkzh+LiYkpKSvjpp5/q
jTQBiIyMJDw8nLlz55Kdnc1ZZ53V4ns4+2xPzj7bk3feqbudsDt9W1Dg4NZby3njjdqpTgZDbRLm
llvKKShwOMt1727khx+qqKk/oEVERERERETkjGJwOByOJgsZCtxa06Spcps31/DYY1ZWrqymuhpG
jvTg8cctTJhQd2mVDz6oZMaMcv71Lx9mzDA3UJtrM2fO5L333mug/c38+OOPZGRkANC1a1emTJnC
4MGD65Q7ePAgX3/9Nfv378fLy4uEhASuuuoqZs2a5ay7rKyML7/8ku3bt+NwOBgyZAjXXHMNd911
V732t27dyltvvcWUKVO49NJLm7yHxvqxvNzBOeeUkJhYU6dMU337+9+X0auXkaefrrsmyhNPWElK
svPFF74ALFhQxV13lZOcbKemxv21bERERERERERON24lTeTEVFVVce+99/K3v/2t3oKyIiIiIiIi
ItIxNbl7zrFbDbe3U3HUQ3l5OYsXL2bkyJFuJUw6Un8fcSr2u4iIiIiIiMiJ0kiTNjRz5kxMJhP9
+/fnhhtuwNvbu71DEhERERERERE3KWkiIiIiIiIiIuLCSds9R0RERERERETkVKKkiYiIiIiIiIiI
C0qaiIiIiIiIiIi4oKSJiIiIiIiIiIgLSpqIiIiIiIiIiLjQrKSJwWBo9KO59Zys9lrSdlN27tzJ
008/Tf/+/Zusc+/evVxzzTWEhYVhNpvp1asXzzzzDJWVlScch4iIiIiIiIi0jWZtOdxUssHdqo7U
01T51mqvJW27W09T8ezevZuRI0dSVFRU79zUqVOZO3duqyRxRERERERERKR1tWh6jsPhcPnR3OtP
VnttoV+/fvzlL39h+/btjZZ77LHHKCoqYvr06ezdu5eKigr27t3L9OnTmT9/PnPmzDlJEYuIiIiI
iIhIc7TJmibHTlf55JNPGD58OH5+fs5jrTVF5ljZ2dncfvvtxMbGYjKZCA0N5Xe/+x27du1yWf6/
//0v55xzDr6+vvj5+TF16lR2797tdns7duzgqaeeon///o2WW7p0KQDvvPMOPXv2xGw207NnT955
5x0A/v3vf7vdpoiIiIiIiIicPC2anuPutJp77rmH1157rc45h8PR7HqaKpeZmcmIESPIyMiod87P
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
+ONe1zMzrqioKGP69Ok5xpzl+++/N9544w2nsl69ehkLFiwwBgwY4FT++uuvGz///HN2Hxf3547Z
MXm61zAM4/Dhw0abNm2MjIwMwzAMIyMjw2jfvr1x6tSpHOMYOXJkdmIlpz4uN75LP99m3xdvHDhw
wGjbtq2RmZnpErfZ78Plfufc8RT/iy++aMyePdulfNasWcbLL7+cJ/F404enz35O18y0f7nfFQAA
AADXB6+252zZssXj62KNGzdW+fLlNWPGDE2fPl2FCxdW27Ztneqkp6drypQp6tq1qxo0aKDatWur
adOmOnHihFO9pk2bOv1dvnx5paamupRXqFBB0dHRTmVt2rRxGUObNm20efNmt+PbtWuXGjdu7FRW
s2ZNHThwwGUerpTD4ZDFYvF4vUOHDi5ld999t44dO+Z1PbPjeuCBB8yErlatWmn9+vVKTEyUJP39
99+y2+1q166dzp49m33YamJiojZv3qyWLVuaajeL2bF7UqZMGVWoUCF7W83SpUtVpUoVlycWXWrj
xo1q3759nsRn5vNt9n3xxsyZM/XQQw/J19fX5ZrZ78OVfOfM+uuvv1zGLp3//469e/fmSTze9JHT
Z9/TNTPt5/d3BQAAAED+8urpOd4YMGCAnn76aSUnJ+uzzz5zuT5x4kQdOXJEY8eOValSpRQcHKz0
9HTVr1/fqV7RokWd/g4NDfVYnpKSkuO9WWVxcXFuYz516pTbMwh8fPL+vNyYmBi38WW57bbbXMoi
IiKyf3x5U8/suHJLKmQJDw9XgwYNtHDhQvXo0UPz58/PToq1bt1a8+bNU79+/bRw4UI1b95cgYGB
ptrNYnbsOenevbs+/vhjtW3bVtOnT9dLL72U6z1xcXEqXrx4nsRn5vOd15+3+Ph4rVq1SnPnznV7
3ez34Uq+c2bFxsaqYMGCLuWFChXSuXPn8iQeb/rI6bPv6ZqZ9vP7uwIAAAAgf+Xb03OmTp2qZ555
Rn379tWsWbNcri9fvlzDhg3TXXfdpeDgYEnS8ePHXep5Wo2R0yqNLGfOnHFb5u6HjnT+R9eSJUtc
VtF4WplyJVavXq2oqCiP183+cDZTz+y4/PzM59AefPBBzZkzR3a7XUuXLlXr1q0lnf8huGDBAjkc
Ds2dO9dtUiA3eZGkqlevnjIyMjRhwgQ5HA7VqlUr13sKFChg6pHEZuIz8/nO68/bTz/9pObNmysi
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
ZKqh61zqut55pzb6918TAwc2j3feaRuvv942DjigSQwf3vC6tuf992vjqKNWR48eTeP559vEqlUd
4uab94g779wSTbbOsVDoUPdvq/POWxubNkU8/viWR68WL24XY8eWx4037jg0AQAAQClKfjynUOgQ
b765OQYMWBOLFrWL5s0jamoi9t9/ZTz7bJvo1q1JvUcpzjxzTQwY0DxGjapfU37968/iqadqYsaM
r9Ude+LEVjF+fMui8w4btjYOPbRpTJjwt7/NnFkTt9zyWTz88NcanG+rVtVRXd2+KOQ0pNS5ljpu
6NC18a1vNY1//df6a7r66g1xxRXr667RttdrZ9daVlYVV13VKq64ov65rrpqQ7z99ub47W9b141r
6DqXuq5zz10bBxzQtOhcV165Pq66akO6rmy+W//24x+vjb33bhLXXNPwY1INHatNm+pYsqRdtG1b
1uC+AAAA8EU06pPDPXs2jUMOaVp3J8DvfrcxDj+8WXTrVnyYl1/eHKefXny3x6BBzeNPf6r/6MiZ
ZxY/2hMR8fzzm2LQoPp/69evWcybtzkdv62sBW37mMe2j3qUOtdSxz3xxKb0caUhQ/J1RnyxtQ4d
WnzcoUNbxOOP179LpaHrXOq6Zs/elJ5r2LAS69Tn/P73m6Kycuf2PeigpnHppetjyZKv1guIAQAA
2H00KppERIwdWx7/+Z8bImLLu0Muvjj/0fvxx7Wx117Fh+/cuUksXVr/h25D7x754IPaOOCAlfVC
R8eO1fHRR9v/odytW1m8917xmOwxj8bMtdRxn3xSG127Ft8BkW3bamfXGhGx997Fx91777JYvry0
69yYdTV0rlLUfm4py5fXRrduO3enyJ13to7ly2tjv/1WxYEHroof/3htzJxZEzu+bwoAAABK0+ho
ctJJzWPjxoif/GR91NZGHHNMs3Rc585NYtmy4h/8y5bVRpcu9U/bvIHXj7RtWxYfftiuXuwoFDrE
5s3b/5rKccc1jwcfLP2FoKXOtdRxnTo1iY8+Kv71nm3bamfXGhHx4YfFx/3ww0LsuWdp17kx62ro
XNtq376s6IXBERGLF9c/R6dOTeKvf925ytG9e5O4776vRXV1+7jzztZx5JHN4pprNuz0+1UAAADg
8xodTcrKIsaMKY//+I+G7zKJiPjOd5qm4eKBB2riO99pWtK5jjuuecyc2fivoYwbVx4TJ35W9CLU
hpQ611LHnXBCs5g+fWPRuN/9rnjbVju71oiIadOKjztt2sbo3z8PWp9X6roGDGiWnuuOO+pvO+CA
pvE//1P8AtspU+q/pHXgwGZx223bf3Fry5ZlsbHhyxbl5RGHHto0Rowoj1mzvlb35R0AAAD4okr7
Vf05I0eWx8iR238XxWWXtYzTTlsT7duXxYABW25xmD27Jn72s/Uxa1bDLzbd1pVXtowBA9ZEq1Zl
cdppzaNly4gXXtgcEydu2O7LUQ86qGn8+7+3iqOPXh2XX14ep53WIv7xH5vExo2FWLKkNh54oH4g
KHWupY678sqW0a/fmmjbtix+8IMt7wC5556NMX9+w+8n2dm1RkTMn785brzxs6io2DKn6dNr4r/+
67N49tk2292v8etqFX36rI527crqznXXXTWxYEH9dY0fXx5jxqyLKVNax3e/2zQ++qgQv/nNZ7Fi
Rf27Sn7+81Zx5JGro7y8LIYNaxFduzaJV17ZFNddtyHuu2/LeXv0aBKPPFITp5/ePJpu09r69Vsd
I0aUx7HHNosuXZrEJ5/Uxo03fhb9+u3U/6UBAACgWKEEEStKGVY07r77NhYOP3xVoVWrqkKrVlWF
ww9fVZg5c2Ojjv3KK5sKJ5+8utCmzZZjHHfcqsLjj9eUNJ9XXtlU+NGP1hS6dasuNG++orDHHlWF
Aw9cWRg7dm3hz3/e1Oi5NmbcK69sKvTvv7rQqlVVoWPHqsKIEWsLy5bVFsrL/7bez699Z9YasaKw
Zk1t4Z//eW2hQ4eqwh57VBVOOml10fp2dJ1LXde8eZsKJ564urDHHlvWdcEFawtr19YWHf/GGzcU
9t9/y3X/xjeqCz//+frCpk3F81i8eHNh6NA1hT33rCo0b76icNhhKwt33fVZ3d9nzdpY2H//6kLT
pivq7fvUUzWFH/xgTeHrX68qtGxZVdhvv+rCT36yrlBdXbvddQIAAECpSvrkMLvG7Nk1cdll6+PV
V9vusmNu7/O+AAAAwM7b4bMM236al9IUCh3ijDPWxIQJLePQQ5vGxo0RzzyzKcaNWxe/+EWr6Nlz
Vbz11o4/JVzKebby36k+IQkAAIAvyp0mfyczZmyMiRM/i9de2xybN0ccckjTGD26PH70oxa79Dzu
NAEAAIC/D9EEAAAAINHoTw4DAAAA/H8gmgAAAAAkRBMAAACAxA6/nvN5NTU1ce+998YjjzwSixcv
joiI7t27xymnnBJnnXVWNG/efJfv//LLL8fdd98dL730UtTU1ET37t2jsrIyjj322KKxS5cujYkT
J8YLL7wQERG9e/eOCRMmROfOneuNe/PNN+P++++PRx99NNasWRNz585N51tbWxt33313zJgxI/76
179Gt27dYvjw4XHiiSfu8FpFRLz//vtxxx13xJw5c2LZsmUREdGlS5c47LDDYtCgQXHYYYeVdJy/
l169ejW4dgAAAPj/rFEvgl22bFmMHz8+9txzzzj33HPjwAMPjLKyspg/f35MnTo1li5dGtdff33s
tddeu3T/Xr16Ra9eveLCCy+Mb37zm7Fo0aK4+uqro6KiIs4444y6cevWrYshQ4bEoEGDYvDgwRER
cc8998RDDz0U06ZNi5YtW9aNraioiP79+0f//v2joqKiwXBw7bXXRm1tbVRWVkbnzp3j7bffjptu
uiluuOGGHV6vJ598Mm644YYYNmxYHHnkkdGpU6dYvXp1zJ07N26//fZ46623vvRgIZoAAABAruRo
snHjxrq7Oy644IK49dZbY/r06bFixYqIiJg7d27cdttt8dhjj8Vtt90WLVq02GX7T548OcaMGRNl
ZWV12xYuXBiXXXZZ3H///XXbpk2bFvPnz49f/OIX9c59xRVXxMEHHxznnHNOuraGwsHcuXNj6tSp
cf3115dyier54IMP4qKLLorf/OY3aUSqra2NSZMmxSWXXNLoY+9KogkAAADkSn6nyYwZM2KvvfaK
ESNGxCOPPBKPPfZY3HTTTfHSSy/V/eiurKyMrl27xowZM3bp/mPHjq0XTCIivvGNb8THH39cb9sz
zzwTp556atG5Tz311Hj66adLXWqde++9NyoqKhq9X0TE1KlTY8iQIQ3eddOkSZOiYPLMM89EZWVl
9OnTJ/r06ROVlZXx7LPPFu1b6rgFCxbERRddFH369IkTTjghrr322tiwYUP06tWrwXm//PLLMWzY
sDjqqKPi9NNPj5kzZzZy5QAAALB7KDmazJo1K84999yIiJg+fXpceuml0aNHj6KYMXTo0Jg1a9Yu
3//znn/++dhnn33qbVu0aFEccMABRWP333//WLRo0Q6P+XmvvfZarF+/PkaMGBFHH3109OvXL0aN
GhXz5s3b4b5z5syJo446qlHn+rd/+7c455xz4sEHH4wHHnggKioq4mc/+1n85S9/afS4999/Py6+
+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
AAAAAAnRBAAAACAhmgAAAAAkRBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAA
CdEEAAAAICGaAAAAACREEwAAAICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQA
AAAgIZoAAAAAJEQTAAAAgIRoAgAAAJAQTQAAAAASogkAAABAQjQBAAAASIgmAAAAAAnRBAAAACAh
mgAAAAAkRBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAACdEEAAAAICGaAAAA
ACREEwAAAICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoAAAAAJEQT
AAAAgIRoAgAAAJAQTQAAAAASogkAAABAQjQBAAAASIgmAAAAAAnRBAAAACAhmgAAAAAkRBMAAACA
hGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAACdEEAAAAICGaAAAAACREEwAAAICEaAIA
AACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoAAAAAJEQTAAAAgIRoAgAAAJAQ
TQAAAAASogkAAABAQjQBAAAASIgmAAAAAAnRBAAAACAhmgAAAAAkRBMAAACAhGgCAAAAkBBNAAAA
ABKiCQAAAEBCNAEAAABIiCYAAAAACdEEAAAAICGaAAAAACREEwAAAICEaAIAAACQEE0AAAAAEqIJ
AAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoAAAAAJEQTAAAAgIRoAgAAAJAQTQAAAAASogkAAABA
QjQBAAAASIgmAAAAAAnRBAAAACAhmgAAAAAkRBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEA
AABIiCYAAAAACdEEAAAAICGaAAAAACREEwAAAICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiI
JgAAAAAJ0QQAAAAgIZoAAAAAJEQTAAAAgIRoAgAAAJAQTQAAAAASogkAAABAQjQBAAAASIgmAAAA
AAnRBAAAACAhmgAAAAAkRBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAACdEE
AAAAICGaAAAAACREEwAAAICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAg
IZoAAAAAJEQTAAAAgIRoAgAAAJAQTQAAAAASogkAAABAQjQBAAAASIgmAAAAAAnRBAAAACAhmgAA
AAAkRBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAACdEEAAAAICGaAAAAACRE
EwAAAICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoAAAAAJEQTAAAA
gIRoAgAAAJAQTQAAAAASogkAAABAQjQBAAAASIgmAAAAAAnRBAAAACAhmgAAAAAkRBMAAACAhGgC
AAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAACdEEAAAAICGaAAAAACREEwAAAICEaAIAAACQ
EE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoAAAAAJEQTAAAAgIRoAgAAAJAQTQAA
AAASogkAAABAQjQBAAAASIgmAAAAAAnRBAAAACAhmgAAAAAkRBMAAACAhGgCAAAAkBBNAAAAABKi
CQAAAEBCNAEAAABIiCYAAAAACdEEAAAAICGaAAAAACREEwAAAICEaAIAAACQEE0AAAAAEqIJAAAA
QEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoAAAAAJEQTAAAAgIRoAgAAAJAQTQAAAAASogkAAABAQjQB
AAAASIgmAAAAAAnRBAAAACAhmgAAAAAkRBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABI
iCYAAAAACdEEAAAAICGaAAAAACREEwAAAICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAA
AAAJ0QQAAAAgIZoAAAAAJEQTAAAAgIRoAgAAAJAQTQAAAAASogkAAABAQjQBAAAASIgmAAAAAAnR
BAAAACAhmgAAAAAkRBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAACdEEAAAA
ICGaAAAAACREEwAAAICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoA
AAAAJEQTAAAAgIRoAgAAAJAQTQAAAAASogkAAABAQjQBAAAASIgmAAAAAAnRBAAAACAhmgAAAAAk
RBMAAACAhGgCAAAAkBBNAAAAABKiCQAAAEBCNAEAAABIiCYAAAAACdEEAAAAICGaAAAAACREEwAA
AICEaAIAAACQEE0AAAAAEqIJAAAAQEI0AQAAAEiIJgAAAAAJ0QQAAAAgIZoAAAAAJP4XvAlhbYY+
r9sAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297774</attachid>
            <date>2016-12-26 17:11:49 -0800</date>
            <delta_ts>2016-12-28 19:29:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142074-20161226191038.patch</filename>
            <type>text/plain</type>
            <size>5185</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU4ZDNmM2UwNDU5Y2Rj
MjE3ZmMyMDY1M2JhMDJhNGU0ZmRmYjNmOC4uMzQxMzkzNTg0ODg0Yjg3NWY5ZGZhNTg3ODZlZWVl
OTQ4NGE3NzFiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTEyLTI2ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBJ
bXByb3ZlIHVzZXIgYWdlbnQgY29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgdGhlIG1hY09TIHJhdGhlciB0aGFuIHRoZSBDaHJv
bWUgcXVpcmsgZm9yIEdvb2dsZSBkb21haW5zLCB0byBhdm9pZCBwcm9ibGVtcyB3aXRoCisgICAg
ICAgIEdvb2dsZSBDYWxlbmRhciBhbmQgR29vZ2xlIE1hcHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9Vc2VyQWdlbnRRdWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dXJsUmVxdWlyZXNDaHJv
bWVCcm93c2VyKToKKyAgICAgICAgKFdlYkNvcmU6OnVybFJlcXVpcmVzTWFjaW50b3NoUGxhdGZv
cm0pOgorCiAyMDE2LTEyLTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+
CiAKICAgICAgICAgQVg6IEhlYWRlcnMgb2YgdGFibGUgbm90IHJlYWQgYnkgVm9pY2VPdmVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFnZW50UXVpcmtzLmNwcAppbmRleCAzZDY1MjZm
ZjgwYTM2ZTU5MGFkZDBlMDI1OWNiOTIxYmNiZDA3ZjczLi4wMjMxODM3YmE1YmRkOGYxYWU2NzRk
YTgxZGNiYTM4ZWI0N2Q1ZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9V
c2VyQWdlbnRRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBZ2Vu
dFF1aXJrcy5jcHAKQEAgLTQ1LDEyICs0NSw2IEBAIHN0YXRpYyBib29sIHVybFJlcXVpcmVzQ2hy
b21lQnJvd3Nlcihjb25zdCBVUkwmIHVybCkKICAgICBpZiAoYmFzZURvbWFpbiA9PSAidHlwZWtp
dC5uZXQiIHx8IGJhc2VEb21haW4gPT0gInR5cGVraXQuY29tIikKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICAvLyBTaHV0IG9mZiBDaHJvbWUgYWRzLiBBdm9pZCBtaXNzaW5nIGZlYXR1cmVz
IG9uIG1hcHMuZ29vZ2xlLmNvbS4gQXZvaWQKLSAgICAvLyByZWNlaXZpbmcgYSB0ZXJyaWJsZSBm
YWxsYmFjayB2ZXJzaW9uIG9mIGNhbGVuZGFyLmdvb2dsZS5jb20uIFJlY2VpdmUgYQotICAgIC8v
IGZhbmNpZXIgcGx1cy5nb29nbGUuY29tLgotICAgIGlmIChiYXNlRG9tYWluLnN0YXJ0c1dpdGgo
Imdvb2dsZS4iKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KICAgICAvLyBOZWVkZWQgZm9yIFlv
dVR1YmUgMzYwIHdpdGggV2ViS2l0R1RLKyBhbmQgV1BFIChyZXF1aXJlcyBFTkFCTEVfTUVESUFf
U09VUkNFKS4KICAgICBpZiAoYmFzZURvbWFpbiA9PSAieW91dHViZS5jb20iKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTY2LDYgKzYwLDEyIEBAIHN0YXRpYyBib29sIHVybFJlcXVpcmVzTWFj
aW50b3NoUGxhdGZvcm0oY29uc3QgVVJMJiB1cmwpCiB7CiAgICAgU3RyaW5nIGJhc2VEb21haW4g
PSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKHVybC5ob3N0KCkpOwogCisgICAgLy8gQXZv
aWQgcmVjZWl2aW5nIGEgdGVycmlibGUgZmFsbGJhY2sgdmVyc2lvbiBvZiBjYWxlbmRhci5nb29n
bGUuY29tIHdpdGgKKyAgICAvLyBjdXN0b20gZGlzdHJpYnV0b3IgbmFtZSBvciBvbiBGcmVlQlNE
LiBBdm9pZCByZWNlaXZpbmcgTGl0ZSB2ZXJzaW9uIG9mCisgICAgLy8gbWFwcy5nb29nbGUuY29t
IG9uIEZyZWVCU0QuIEdvb2dsZSBpcyB0aGUgd29yc3QuIEJ1ZyAjMTQyMDc0LgorICAgIGlmIChi
YXNlRG9tYWluLnN0YXJ0c1dpdGgoImdvb2dsZS4iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisK
ICAgICAvLyBBdCBsZWFzdCBmaW5hbmNlLnlhaG9vLmNvbSBkaXNwbGF5cyBhIG1vYmlsZSB2ZXJz
aW9uIHdpdGggV2ViS2l0R1RLKydzIHN0YW5kYXJkIHVzZXIgYWdlbnQuCiAgICAgaWYgKGJhc2VE
b21haW4gPT0gInlhaG9vLmNvbSIpCiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDMxMmVhMzZmYzI3YTA3OTgx
ZDI4OWM4OTQ5NzExNTVjMWIwZmMzZTguLmM5YzQ1MjliODQwNTU0MWFjZjE5NzUyMTQ3OTMzMTdm
NjczZDk5MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNi0xMi0yNiAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0
YW56YXJvQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gSW1wcm92ZSB1c2VyIGFnZW50IGNv
bnN0cnVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQyMDc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVXNlckFnZW50UXVpcmtzLmNwcDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2LTEyLTIzICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyMDkyOTkp
OiBTZWxlY3Rpb24gaXMgYnJva2VuIHdoZW4geW91IHpvb20gaW4gd2VicGFnZSB1c2luZyB0cmFj
a3BhZApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VzZXJB
Z2VudFF1aXJrcy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVXNlckFn
ZW50UXVpcmtzLmNwcAppbmRleCA2ZWViM2MwMWUwMmQwODJhN2YyN2MzYzg1Yzc1Y2RmODBmNTlk
MjZmLi4zNzVhMjY3ZGUzYTM5YTBhNzZiNTE2N2Y2ODk3YjY4MGJiYjlhMWI3IDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVXNlckFnZW50UXVpcmtzLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVXNlckFnZW50UXVpcmtzLmNw
cApAQCAtNjksMTcgKzY5LDE1IEBAIFRFU1QoVXNlckFnZW50VGVzdCwgUXVpcmtzKQogICAgIFN0
cmluZyB1YVN0cmluZyA9IHN0YW5kYXJkVXNlckFnZW50Rm9yVVJMKFVSTChQYXJzZWRVUkxTdHJp
bmcsICJodHRwOi8vd3d3LndlYmtpdC5vcmcvIikpOwogICAgIEVYUEVDVF9UUlVFKHVhU3RyaW5n
LmlzTnVsbCgpKTsKIAorI2lmICFPUyhNQUNfT1NfWCkKICAgICAvLyBHb29nbGUgcXVpcmsgc2hv
dWxkIG5vdCBhZmZlY3Qgc2l0ZXMgd2l0aCBzaW1pbGFyIGRvbWFpbnMuCiAgICAgdWFTdHJpbmcg
PSBzdGFuZGFyZFVzZXJBZ2VudEZvclVSTChVUkwoUGFyc2VkVVJMU3RyaW5nLCAiaHR0cDovL3d3
dy5nb29nbGVibG9nLmNvbS8iKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5z
KCJDaHJvbWUiKSk7CisgICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5zKCJNYWNpbnRv
c2giKSk7CisgICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5zKCJNYWMgT1MgWCIpKTsK
KyNlbmRpZgogCiAgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzQ2hyb21lQnJvd3NlclF1aXJr
KCJodHRwOi8vdHlwZWtpdC5jb20vIik7CiAgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzQ2hy
b21lQnJvd3NlclF1aXJrKCJodHRwOi8vdHlwZWtpdC5uZXQvIik7Ci0gICAgYXNzZXJ0VXNlckFn
ZW50Rm9yVVJMSGFzQ2hyb21lQnJvd3NlclF1aXJrKCJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIik7
Ci0gICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzQ2hyb21lQnJvd3NlclF1aXJrKCJodHRwOi8v
d3d3Lmdvb2dsZS5lcy8iKTsKLSAgICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNDaHJvbWVCcm93
c2VyUXVpcmsoImh0dHA6Ly9jYWxlbmRhci5nb29nbGUuY29tLyIpOwotICAgIGFzc2VydFVzZXJB
Z2VudEZvclVSTEhhc0Nocm9tZUJyb3dzZXJRdWlyaygiaHR0cDovL21hcHMuZ29vZ2xlLmNvbS8i
KTsKLSAgICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNDaHJvbWVCcm93c2VyUXVpcmsoImh0dHA6
Ly9wbHVzLmdvb2dsZS5jb20vIik7CiAgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzQ2hyb21l
QnJvd3NlclF1aXJrKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tLyIpOwogICAgIGFzc2VydFVzZXJB
Z2VudEZvclVSTEhhc0Nocm9tZUJyb3dzZXJRdWlyaygiaHR0cDovL3d3dy5zbGFjay5jb20vIik7
CiAKQEAgLTg4LDYgKzg2LDEyIEBAIFRFU1QoVXNlckFnZW50VGVzdCwgUXVpcmtzKQogICAgIGFz
c2VydFVzZXJBZ2VudEZvclVSTEhhc01hY1BsYXRmb3JtUXVpcmsoImh0dHA6Ly9pbnRsLnRhb2Jh
by5jb20vIik7CiAgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTWFjUGxhdGZvcm1RdWlyaygi
aHR0cDovL3d3dy53aGF0c2FwcC5jb20vIik7CiAgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFz
TWFjUGxhdGZvcm1RdWlyaygiaHR0cDovL3dlYi53aGF0c2FwcC5jb20vIik7CisKKyAgICBhc3Nl
cnRVc2VyQWdlbnRGb3JVUkxIYXNNYWNQbGF0Zm9ybVF1aXJrKCJodHRwOi8vd3d3Lmdvb2dsZS5j
b20vIik7CisgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTWFjUGxhdGZvcm1RdWlyaygiaHR0
cDovL3d3dy5nb29nbGUuZXMvIik7CisgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTWFjUGxh
dGZvcm1RdWlyaygiaHR0cDovL2NhbGVuZGFyLmdvb2dsZS5jb20vIik7CisgICAgYXNzZXJ0VXNl
ckFnZW50Rm9yVVJMSGFzTWFjUGxhdGZvcm1RdWlyaygiaHR0cDovL21hcHMuZ29vZ2xlLmNvbS8i
KTsKKyAgICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNNYWNQbGF0Zm9ybVF1aXJrKCJodHRwOi8v
cGx1cy5nb29nbGUuY29tLyIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297819</attachid>
            <date>2016-12-28 19:29:08 -0800</date>
            <delta_ts>2016-12-30 01:03:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142074-20161228212753.patch</filename>
            <type>text/plain</type>
            <size>14486</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgzNzQzZWVkYTgyNTNk
NDZiNzg2MDk0YzdjNTFkZTgyNTQxNTc1Yy4uMzg1ZjhiOWI0YjhhMGJhODc5OWYxMGJlM2Q5MzQw
MDY0YzNhNzQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTEyLTI4ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBJ
bXByb3ZlIHVzZXIgYWdlbnQgY29uc3RydWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIwNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2luZyB0aGUgbWFjT1MgcXVpcmsgcmF0aGVyIHRoYW4g
dGhlIENocm9tZSBxdWlyayBmb3IgR29vZ2xlIGRvbWFpbnMgd2FzIGEgbWlzdGFrZTogaXQKKyAg
ICAgICAgYnJva2UgSGFuZ291dHMgaW4gYSBkaWZmZXJlbnQgd2F5IHRoYW4gdGhlIENocm9tZSBx
dWlyaywgYW5kIGFsc28gcHJldmVudHMgdXNlIG9mIHRoZSBuaWNlCisgICAgICAgIEVhcnRoIG1v
ZGUgb24gR29vZ2xlIE1hcHMuIEdvb2dsZSBpcyBtYWtpbmcgaXQgcmVhbGx5IGhhcmQgdG8gZGV2
ZWxvcCBhIHNhbmUgcXVpcmsuCisgICAgICAgIEV2ZW50dWFsbHkgSSBzZXR0bGVkIG9uIHRoZSBj
b21iaW5hdGlvbiBvZiB0d28gcXVpcmtzOiAoMSkgRmlyZWZveCBicm93c2VyLCBhbmQgKDIpIExp
bnV4CisgICAgICAgIHg4Nl82NCBwbGF0Zm9ybS4gU2VlIHRoZSBidWcgZm9yIGZ1bGwgZGlzY3Vz
c2lvbiBvbiB3aHkgdGhlc2UgcXVpcmtzIGFyZSB0aGUgYmVzdCB3YXkgdG8KKyAgICAgICAgbWFr
ZSBHb29nbGUgZG9tYWlucyB3b3JrIHByb3Blcmx5IGluIFdlYktpdC4gVGhpcyBpcyBhbiBleHRy
ZW1lbHkgc2FkIHN0YXRlIG9mIGFmZmFpcnMsIGJ1dAorICAgICAgICBJJ20gY29uZmlkZW50IGl0
IGlzIHRoZSBiZXN0IG9wdGlvbi4gTm90ZSB0aGlzIGVmZmVjdGl2ZWx5IGluY2x1ZGVzIGEgcm9s
bG91dCBvZiByMjEwMTY4LgorCisgICAgICAgIEFsc28sIGZpeCBhIGJ1ZyB0aGF0IGNhdXNlZCBh
biBleHRyYSBzcGFjZSB0byBiZSBpbnNlcnRlZCBpbiB0aGUgbWlkZGxlIG9mIHRoZSB1c2VyIGFn
ZW50LgorCisgICAgICAgICogcGxhdGZvcm0vVXNlckFnZW50UXVpcmtzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmlzR29vZ2xlKToKKyAgICAgICAgKFdlYkNvcmU6OnVybFJlcXVpcmVzRmlyZWZv
eEJyb3dzZXIpOgorICAgICAgICAoV2ViQ29yZTo6dXJsUmVxdWlyZXNNYWNpbnRvc2hQbGF0Zm9y
bSk6CisgICAgICAgIChXZWJDb3JlOjp1cmxSZXF1aXJlc0xpbnV4RGVza3RvcFBsYXRmb3JtKToK
KyAgICAgICAgKFdlYkNvcmU6OlVzZXJBZ2VudFF1aXJrczo6cXVpcmtzRm9yVVJMKToKKyAgICAg
ICAgKFdlYkNvcmU6OlVzZXJBZ2VudFF1aXJrczo6c3RyaW5nRm9yUXVpcmspOgorICAgICAgICAo
V2ViQ29yZTo6VXNlckFnZW50UXVpcmtzOjpmaXJlZm94UmV2aXNpb25TdHJpbmcpOgorICAgICAg
ICAqIHBsYXRmb3JtL1VzZXJBZ2VudFF1aXJrcy5oOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9V
c2VyQWdlbnRHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRVc2VyQWdlbnRTdHJpbmcp
OgorCiAyMDE2LTEyLTA5ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtjc3MtZ3JpZF0gTW92ZSBHcmlkIGludG8gR3JpZFNpemluZ0RhdGEKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBZ2VudFF1aXJrcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuY3BwCmluZGV4IGVjYWNjZDc1
YTQ2NjEyNDgyOTQ2NDlkMzQxZjEzYWFlZWQ5ZDQ0NjcuLjQyODRhNjg3OGE1YTZjZDY5ZDY2ZDA2
ZGYzNzg1ZDMyYTc5YzU0M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Vz
ZXJBZ2VudFF1aXJrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFnZW50
UXVpcmtzLmNwcApAQCAtMzQsNiArMzQsMjcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gV2hl
biBlZGl0aW5nIHRoZSBxdWlya3MgaW4gdGhpcyBmaWxlLCBiZSBzdXJlIHRvIHVwZGF0ZQogLy8g
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VzZXJBZ2VudFF1aXJrcy5jcHAuCiAK
K3N0YXRpYyBib29sIGlzR29vZ2xlKGNvbnN0IFVSTCYgdXJsKQoreworICAgIFN0cmluZyBiYXNl
RG9tYWluID0gdG9wUHJpdmF0ZWx5Q29udHJvbGxlZERvbWFpbih1cmwuaG9zdCgpKTsKKworICAg
IC8vIE91ciBHb29nbGUgVUEgaXMgKnZlcnkqIGNvbXBsaWNhdGVkIHRvIGdldCByaWdodC4gUmVh
ZAorICAgIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0MjA3NCBjYXJlZnVsbHkgYmVmb3JlIGNo
YW5naW5nLiBUZXN0IHRoYXQgRWFydGgKKyAgICAvLyB2aWV3IGlzIGF2YWlsYWJsZSBpbiBHb29n
bGUgTWFwcy4gVGVzdCBHb29nbGUgQ2FsZW5kYXIuIFRlc3QgZG93bmxvYWRpbmcKKyAgICAvLyB0
aGUgSGFuZ291dHMgYnJvd3NlciBwbHVnaW4uIENoYW5nZSBwbGF0Zm9ybVZlcnNpb25Gb3JVQVN0
cmluZygpIHRvCisgICAgLy8gcmV0dXJuICJGcmVlQlNEIGFtZDY0IiBhbmQgdGVzdCBNYXBzIGFu
ZCBDYWxlbmRhciBhZ2Fpbi4KKyAgICBpZiAoYmFzZURvbWFpbi5zdGFydHNXaXRoKCJnb29nbGUu
IikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChiYXNlRG9tYWluID09ICJnc3RhdGlj
LmNvbSIpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChiYXNlRG9tYWluID09ICJnb29n
bGVhcGlzLmNvbSIpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChiYXNlRG9tYWluID09
ICJnb29nbGV1c2VyY29udGVudC5jb20iKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJl
dHVybiBmYWxzZTsKK30KKwogLy8gQmUgY2FyZWZ1bCB3aXRoIHRoaXMgcXVpcms6IGl0J3MgYW4g
aW52aXRhdGlvbiBmb3Igc2l0ZXMgdG8gdXNlIEphdmFTY3JpcHQKIC8vIHRoYXQgd29ya3MgaW4g
Q2hyb21lIHRoYXQgV2ViS2l0IGNhbm5vdCBoYW5kbGUuIFByZWZlciBvdGhlciBxdWlya3MgaW5z
dGVhZC4KIHN0YXRpYyBib29sIHVybFJlcXVpcmVzQ2hyb21lQnJvd3Nlcihjb25zdCBVUkwmIHVy
bCkKQEAgLTU2LDE1ICs3NywxNSBAQCBzdGF0aWMgYm9vbCB1cmxSZXF1aXJlc0Nocm9tZUJyb3dz
ZXIoY29uc3QgVVJMJiB1cmwpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9vbCB1
cmxSZXF1aXJlc0ZpcmVmb3hCcm93c2VyKGNvbnN0IFVSTCYgdXJsKQoreworICAgIHJldHVybiBp
c0dvb2dsZSh1cmwpOworfQorCiBzdGF0aWMgYm9vbCB1cmxSZXF1aXJlc01hY2ludG9zaFBsYXRm
b3JtKGNvbnN0IFVSTCYgdXJsKQogewogICAgIFN0cmluZyBiYXNlRG9tYWluID0gdG9wUHJpdmF0
ZWx5Q29udHJvbGxlZERvbWFpbih1cmwuaG9zdCgpKTsKIAotICAgIC8vIEF2b2lkIHJlY2Vpdmlu
ZyB0ZXJyaWJsZSBmYWxsYmFja3MgdmVyc2lvbiBvZiBjYWxlbmRhci5nb29nbGUuY29tIGFuZAot
ICAgIC8vIG1hcHMuZ29vZ2xlLmNvbSBvbiBjZXJ0YWluIHBsYXRmb3Jtcy4gaHR0cHM6Ly93ZWJr
aXQub3JnL2IvMTQyMDc0Ci0gICAgaWYgKGJhc2VEb21haW4uc3RhcnRzV2l0aCgiZ29vZ2xlLiIp
KQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQogICAgIC8vIEF0IGxlYXN0IGZpbmFuY2UueWFob28u
Y29tIGRpc3BsYXlzIGEgbW9iaWxlIHZlcnNpb24gd2l0aCBXZWJLaXRHVEsrJ3Mgc3RhbmRhcmQg
dXNlciBhZ2VudC4KICAgICBpZiAoYmFzZURvbWFpbiA9PSAieWFob28uY29tIikKICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC04MCwxNCArMTAxLDI3IEBAIHN0YXRpYyBib29sIHVybFJlcXVpcmVz
TWFjaW50b3NoUGxhdGZvcm0oY29uc3QgVVJMJiB1cmwpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
CitzdGF0aWMgYm9vbCB1cmxSZXF1aXJlc0xpbnV4RGVza3RvcFBsYXRmb3JtKGNvbnN0IFVSTCYg
dXJsKQoreworICAgIHJldHVybiBpc0dvb2dsZSh1cmwpOworfQorCiBVc2VyQWdlbnRRdWlya3Mg
VXNlckFnZW50UXVpcmtzOjpxdWlya3NGb3JVUkwoY29uc3QgVVJMJiB1cmwpCiB7CiAgICAgQVNT
RVJUKCF1cmwuaXNOdWxsKCkpOworCiAgICAgVXNlckFnZW50UXVpcmtzIHF1aXJrczsKKwogICAg
IGlmICh1cmxSZXF1aXJlc0Nocm9tZUJyb3dzZXIodXJsKSkKICAgICAgICAgcXVpcmtzLmFkZChV
c2VyQWdlbnRRdWlya3M6Ok5lZWRzQ2hyb21lQnJvd3Nlcik7CisgICAgZWxzZSBpZiAodXJsUmVx
dWlyZXNGaXJlZm94QnJvd3Nlcih1cmwpKQorICAgICAgICBxdWlya3MuYWRkKFVzZXJBZ2VudFF1
aXJrczo6TmVlZHNGaXJlZm94QnJvd3Nlcik7CisKICAgICBpZiAodXJsUmVxdWlyZXNNYWNpbnRv
c2hQbGF0Zm9ybSh1cmwpKQogICAgICAgICBxdWlya3MuYWRkKFVzZXJBZ2VudFF1aXJrczo6TmVl
ZHNNYWNpbnRvc2hQbGF0Zm9ybSk7CisgICAgZWxzZSBpZiAodXJsUmVxdWlyZXNMaW51eERlc2t0
b3BQbGF0Zm9ybSh1cmwpKQorICAgICAgICBxdWlya3MuYWRkKFVzZXJBZ2VudFF1aXJrczo6TmVl
ZHNMaW51eERlc2t0b3BQbGF0Zm9ybSk7CisKICAgICByZXR1cm4gcXVpcmtzOwogfQogCkBAIC05
Nyw4ICsxMzEsMTMgQEAgU3RyaW5nIFVzZXJBZ2VudFF1aXJrczo6c3RyaW5nRm9yUXVpcmsoVXNl
ckFnZW50UXVpcmsgcXVpcmspCiAgICAgY2FzZSBOZWVkc0Nocm9tZUJyb3dzZXI6CiAgICAgICAg
IC8vIEdldCB2ZXJzaW9ucyBmcm9tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9j
aHJvbWl1bS9zcmMuZ2l0CiAgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkNocm9tZS81Ni4w
LjI4OTEuNCIpOworICAgIGNhc2UgTmVlZHNGaXJlZm94QnJvd3NlcjoKKyAgICAgICAgLy8gR2Vj
a28gdmVyc2lvbiBuZXZlciBjaGFuZ2VzLiBGaXJlZm94IHZlcnNpb24gbXVzdCBiZSB1cGRhdGVk
IGJlbG93LgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJHZWNrby8yMDEwMDEwMSBGaXJl
Zm94LzUwLjAiKTsKICAgICBjYXNlIE5lZWRzTWFjaW50b3NoUGxhdGZvcm06CiAgICAgICAgIHJl
dHVybiBBU0NJSUxpdGVyYWwoIk1hY2ludG9zaDsgSW50ZWwgTWFjIE9TIFggMTBfMTIiKTsKKyAg
ICBjYXNlIE5lZWRzTGludXhEZXNrdG9wUGxhdGZvcm06CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIlgxMTsgTGludXggeDg2XzY0Iik7CiAgICAgY2FzZSBOdW1Vc2VyQWdlbnRRdWlya3M6
CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xMDYsNCAr
MTQ1LDkgQEAgU3RyaW5nIFVzZXJBZ2VudFF1aXJrczo6c3RyaW5nRm9yUXVpcmsoVXNlckFnZW50
UXVpcmsgcXVpcmspCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiIik7CiB9CiAKK1N0cmluZyBV
c2VyQWdlbnRRdWlya3M6OmZpcmVmb3hSZXZpc2lvblN0cmluZygpCit7CisgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgicnY6NTAuMCIpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Vc2VyQWdlbnRRdWlya3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Vz
ZXJBZ2VudFF1aXJrcy5oCmluZGV4IGY3ZGM5YTFiMDkwOTcyY2U4YzI2NzNlYTg1ZGE0YzVlNTM4
ZmE2MTUuLmU3ZDEwYjExNmQ5M2YyNmE2MGU4N2YxMTE3YjZjZGFhOTgzYWQzNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBZ2VudFF1aXJrcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBZ2VudFF1aXJrcy5oCkBAIC0zNiw3ICszNiw5IEBAIGNs
YXNzIFVzZXJBZ2VudFF1aXJrcyB7CiBwdWJsaWM6CiAgICAgZW51bSBVc2VyQWdlbnRRdWlyayB7
CiAgICAgICAgIE5lZWRzQ2hyb21lQnJvd3NlciwKKyAgICAgICAgTmVlZHNGaXJlZm94QnJvd3Nl
ciwKICAgICAgICAgTmVlZHNNYWNpbnRvc2hQbGF0Zm9ybSwKKyAgICAgICAgTmVlZHNMaW51eERl
c2t0b3BQbGF0Zm9ybSwKIAogICAgICAgICBOdW1Vc2VyQWdlbnRRdWlya3MKICAgICB9OwpAQCAt
NjYsNiArNjgsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3RyaW5nIHN0cmluZ0ZvclF1aXJr
KFVzZXJBZ2VudFF1aXJrKTsKIAorICAgIHN0YXRpYyBTdHJpbmcgZmlyZWZveFJldmlzaW9uU3Ry
aW5nKCk7CisKIHByaXZhdGU6CiAgICAgdWludDMyX3QgbV9xdWlya3M7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1VzZXJBZ2VudEd0ay5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ndGsvVXNlckFnZW50R3RrLmNwcAppbmRleCBhMTAyN2MzYzA2ZDMy
OWJmMDI3NGM2NjA3MDc2NzRkMWZjYjE3MTk3Li42ZTQ4YWQwZWQxMzZjMjg3NGMxYTNiYTUyM2Q4
MmFkNzI2ZDgwZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVXNl
ckFnZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVXNlckFnZW50
R3RrLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTQg
SWdhbGlhIFMuTC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxNCwgMjAxNiBJZ2FsaWEgUy5M
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04MiwyNiArODIsMzkgQEAgc3Rh
dGljIFN0cmluZyBidWlsZFVzZXJBZ2VudFN0cmluZyhjb25zdCBVc2VyQWdlbnRRdWlya3MmIHF1
aXJrcykKIAogICAgIGlmIChxdWlya3MuY29udGFpbnMoVXNlckFnZW50UXVpcmtzOjpOZWVkc01h
Y2ludG9zaFBsYXRmb3JtKSkKICAgICAgICAgdWFTdHJpbmcuYXBwZW5kKFVzZXJBZ2VudFF1aXJr
czo6c3RyaW5nRm9yUXVpcmsoVXNlckFnZW50UXVpcmtzOjpOZWVkc01hY2ludG9zaFBsYXRmb3Jt
KSk7CisgICAgZWxzZSBpZiAocXVpcmtzLmNvbnRhaW5zKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNM
aW51eERlc2t0b3BQbGF0Zm9ybSkpCisgICAgICAgIHVhU3RyaW5nLmFwcGVuZChVc2VyQWdlbnRR
dWlya3M6OnN0cmluZ0ZvclF1aXJrKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNMaW51eERlc2t0b3BQ
bGF0Zm9ybSkpOwogICAgIGVsc2UgewogICAgICAgICB1YVN0cmluZy5hcHBlbmQocGxhdGZvcm1G
b3JVQVN0cmluZygpKTsKICAgICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiOyAiKTsKICAg
ICAgICAgdWFTdHJpbmcuYXBwZW5kKHBsYXRmb3JtVmVyc2lvbkZvclVBU3RyaW5nKCkpOwogICAg
IH0KIAotICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwoIikgQXBwbGVXZWJLaXQvIik7Ci0gICAg
dWFTdHJpbmcuYXBwZW5kKHZlcnNpb25Gb3JVQVN0cmluZygpKTsKLSAgICB1YVN0cmluZy5hcHBl
bmRMaXRlcmFsKCIgKEtIVE1MLCBsaWtlIEdlY2tvKSAiKTsKKyAgICBpZiAocXVpcmtzLmNvbnRh
aW5zKFVzZXJBZ2VudFF1aXJrczo6TmVlZHNGaXJlZm94QnJvd3NlcikpIHsKKyAgICAgICAgdWFT
dHJpbmcuYXBwZW5kTGl0ZXJhbCgiOyAiKTsKKyAgICAgICAgdWFTdHJpbmcuYXBwZW5kKFVzZXJB
Z2VudFF1aXJrczo6ZmlyZWZveFJldmlzaW9uU3RyaW5nKCkpOworICAgICAgICB1YVN0cmluZy5h
cHBlbmRMaXRlcmFsKCIpICIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHVhU3RyaW5nLmFwcGVu
ZExpdGVyYWwoIikgQXBwbGVXZWJLaXQvIik7CisgICAgICAgIHVhU3RyaW5nLmFwcGVuZCh2ZXJz
aW9uRm9yVUFTdHJpbmcoKSk7CisgICAgICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwoIiAoS0hU
TUwsIGxpa2UgR2Vja28pICIpOworICAgIH0KIAogICAgIC8vIE5vdGUgdGhhdCBDaHJvbWUgVUFz
IGFkdmVydGlzZSAqYm90aCogQ2hyb21lIGFuZCBTYWZhcmkuCiAgICAgaWYgKHF1aXJrcy5jb250
YWlucyhVc2VyQWdlbnRRdWlya3M6Ok5lZWRzQ2hyb21lQnJvd3NlcikpIHsKICAgICAgICAgdWFT
dHJpbmcuYXBwZW5kKFVzZXJBZ2VudFF1aXJrczo6c3RyaW5nRm9yUXVpcmsoVXNlckFnZW50UXVp
cmtzOjpOZWVkc0Nocm9tZUJyb3dzZXIpKTsKICAgICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJh
bCgiICIpOworICAgIH0gZWxzZSBpZiAocXVpcmtzLmNvbnRhaW5zKFVzZXJBZ2VudFF1aXJrczo6
TmVlZHNGaXJlZm94QnJvd3NlcikpIHsKKyAgICAgICAgdWFTdHJpbmcuYXBwZW5kKFVzZXJBZ2Vu
dFF1aXJrczo6c3RyaW5nRm9yUXVpcmsoVXNlckFnZW50UXVpcmtzOjpOZWVkc0ZpcmVmb3hCcm93
c2VyKSk7CisgICAgICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwoIiAiKTsKICAgICB9CiAKLSAg
ICAvLyBWZXJzaW9uL1ggaXMgbWFuZGF0b3J5ICpiZWZvcmUqIFNhZmFyaS9YIHRvIGJlIGEgdmFs
aWQgU2FmYXJpIFVBLiBTZWUKLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTMzNDAzIGZvciBkZXRhaWxzLgotICAgIHVhU3RyaW5nLmFwcGVuZExpdGVyYWwo
IiBWZXJzaW9uLzEwLjAgU2FmYXJpLyIpOwotICAgIHVhU3RyaW5nLmFwcGVuZCh2ZXJzaW9uRm9y
VUFTdHJpbmcoKSk7CisgICAgaWYgKCFxdWlya3MuY29udGFpbnMoVXNlckFnZW50UXVpcmtzOjpO
ZWVkc0ZpcmVmb3hCcm93c2VyKSkgeworICAgICAgICAvLyBWZXJzaW9uL1ggaXMgbWFuZGF0b3J5
ICpiZWZvcmUqIFNhZmFyaS9YIHRvIGJlIGEgdmFsaWQgU2FmYXJpIFVBLiBTZWUKKyAgICAgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzQwMyBmb3IgZGV0
YWlscy4KKyAgICAgICAgdWFTdHJpbmcuYXBwZW5kTGl0ZXJhbCgiVmVyc2lvbi8xMC4wIFNhZmFy
aS8iKTsKKyAgICAgICAgdWFTdHJpbmcuYXBwZW5kKHZlcnNpb25Gb3JVQVN0cmluZygpKTsKKyAg
ICB9CiAKICAgICByZXR1cm4gdWFTdHJpbmcudG9TdHJpbmcoKTsKIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwZjhhMDI1NDFlNTc3ZjY0ZDgy
ZGE4ZDkyNTUyM2ZjNmJjM2VmOTczLi5kZTBjNWQxZWM2OTk4ZjFiMjQzYzNiZTQ0OTdiNzk3YTMw
ZmE1MWNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTYtMTItMjggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFu
emFyb0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdIEltcHJvdmUgdXNlciBhZ2VudCBjb25z
dHJ1Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MjA3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1VzZXJBZ2VudFF1aXJrcy5jcHA6CisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjphc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNDaHJvbWVCcm93c2Vy
UXVpcmspOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6YXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFz
RmlyZWZveEJyb3dzZXJRdWlyayk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjphc3NlcnRVc2Vy
QWdlbnRGb3JVUkxIYXNMaW51eFBsYXRmb3JtUXVpcmspOgorICAgICAgICAoVGVzdFdlYktpdEFQ
STo6YXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTWFjUGxhdGZvcm1RdWlyayk6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNi0xMi0yNyAgTWljaGFlbCBDYXRhbnphcm8gIDxt
Y2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gSW1wcm92ZSB1c2VyIGFnZW50
IGNvbnN0cnVjdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL1VzZXJBZ2VudFF1aXJrcy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvVXNlckFnZW50UXVpcmtzLmNwcAppbmRleCAzNzVhMjY3ZGUzYTM5YTBhNzZiNTE2N2Y2ODk3
YjY4MGJiYjlhMWI3Li45YzI3NWVjMTY4NTM1ZWRkMGRkNjI3ZWEzYTdjOWI1NTY1OTVkYzkxIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVXNlckFnZW50UXVp
cmtzLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvVXNlckFnZW50
UXVpcmtzLmNwcApAQCAtMzYsMjAgKzM2LDMzIEBAIHN0YXRpYyB2b2lkIGFzc2VydFVzZXJBZ2Vu
dEZvclVSTEhhc0Nocm9tZUJyb3dzZXJRdWlyayhjb25zdCBjaGFyKiB1cmwpCiB7CiAgICAgU3Ry
aW5nIHVhU3RyaW5nID0gc3RhbmRhcmRVc2VyQWdlbnRGb3JVUkwoVVJMKFBhcnNlZFVSTFN0cmlu
ZywgdXJsKSk7CiAKLSNpZiAhT1MoTUFDX09TX1gpCi0gICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5n
LmNvbnRhaW5zKCJNYWNpbnRvc2giKSk7Ci0gICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRh
aW5zKCJNYWMgT1MgWCIpKTsKLSNlbmRpZgotI2lmIE9TKExJTlVYKQotICAgIEVYUEVDVF9UUlVF
KHVhU3RyaW5nLmNvbnRhaW5zKCJMaW51eCIpKTsKLSNlbmRpZgotI2lmIE9TKFdJTkRPV1MpCi0g
ICAgRVhQRUNUX1RSVUUodWFTdHJpbmcuY29udGFpbnMoIldpbmRvd3MiKSk7Ci0jZW5kaWYKLQog
ICAgIEVYUEVDVF9UUlVFKHVhU3RyaW5nLmNvbnRhaW5zKCJDaHJvbWUiKSk7CiAgICAgRVhQRUNU
X1RSVUUodWFTdHJpbmcuY29udGFpbnMoIlNhZmFyaSIpKTsKICAgICBFWFBFQ1RfRkFMU0UodWFT
dHJpbmcuY29udGFpbnMoIkNocm9taXVtIikpOworICAgIEVYUEVDVF9GQUxTRSh1YVN0cmluZy5j
b250YWlucygiRmlyZWZveCIpKTsKK30KKworc3RhdGljIHZvaWQgYXNzZXJ0VXNlckFnZW50Rm9y
VVJMSGFzRmlyZWZveEJyb3dzZXJRdWlyayhjb25zdCBjaGFyKiB1cmwpCit7CisgICAgU3RyaW5n
IHVhU3RyaW5nID0gc3RhbmRhcmRVc2VyQWdlbnRGb3JVUkwoVVJMKFBhcnNlZFVSTFN0cmluZywg
dXJsKSk7CisKKyAgICBFWFBFQ1RfRkFMU0UodWFTdHJpbmcuY29udGFpbnMoIkNocm9tZSIpKTsK
KyAgICBFWFBFQ1RfRkFMU0UodWFTdHJpbmcuY29udGFpbnMoIlNhZmFyaSIpKTsKKyAgICBFWFBF
Q1RfRkFMU0UodWFTdHJpbmcuY29udGFpbnMoIkNocm9taXVtIikpOworICAgIEVYUEVDVF9GQUxT
RSh1YVN0cmluZy5jb250YWlucygiQXBwbGVXZWJLaXQiKSk7CisgICAgRVhQRUNUX1RSVUUodWFT
dHJpbmcuY29udGFpbnMoIkZpcmVmb3giKSk7Cit9CisKK3N0YXRpYyB2b2lkIGFzc2VydFVzZXJB
Z2VudEZvclVSTEhhc0xpbnV4UGxhdGZvcm1RdWlyayhjb25zdCBjaGFyKiB1cmwpCit7CisgICAg
U3RyaW5nIHVhU3RyaW5nID0gc3RhbmRhcmRVc2VyQWdlbnRGb3JVUkwoVVJMKFBhcnNlZFVSTFN0
cmluZywgdXJsKSk7CisKKyAgICBFWFBFQ1RfVFJVRSh1YVN0cmluZy5jb250YWlucygiTGludXgi
KSk7CisgICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5zKCJNYWNpbnRvc2giKSk7Cisg
ICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5zKCJNYWMgT1MgWCIpKTsKKyAgICBFWFBF
Q1RfRkFMU0UodWFTdHJpbmcuY29udGFpbnMoIldpbmRvd3MiKSk7CisgICAgRVhQRUNUX0ZBTFNF
KHVhU3RyaW5nLmNvbnRhaW5zKCJDaHJvbWUiKSk7CisgICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5n
LmNvbnRhaW5zKCJGcmVlQlNEIikpOwogfQogCiBzdGF0aWMgdm9pZCBhc3NlcnRVc2VyQWdlbnRG
b3JVUkxIYXNNYWNQbGF0Zm9ybVF1aXJrKGNvbnN0IGNoYXIqIHVybCkKQEAgLTYxLDYgKzc0LDcg
QEAgc3RhdGljIHZvaWQgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTWFjUGxhdGZvcm1RdWlyayhj
b25zdCBjaGFyKiB1cmwpCiAgICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5zKCJMaW51
eCIpKTsKICAgICBFWFBFQ1RfRkFMU0UodWFTdHJpbmcuY29udGFpbnMoIldpbmRvd3MiKSk7CiAg
ICAgRVhQRUNUX0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5zKCJDaHJvbWUiKSk7CisgICAgRVhQRUNU
X0ZBTFNFKHVhU3RyaW5nLmNvbnRhaW5zKCJGcmVlQlNEIikpOwogfQogCiBURVNUKFVzZXJBZ2Vu
dFRlc3QsIFF1aXJrcykKQEAgLTY5LDI5ICs4MywzMCBAQCBURVNUKFVzZXJBZ2VudFRlc3QsIFF1
aXJrcykKICAgICBTdHJpbmcgdWFTdHJpbmcgPSBzdGFuZGFyZFVzZXJBZ2VudEZvclVSTChVUkwo
UGFyc2VkVVJMU3RyaW5nLCAiaHR0cDovL3d3dy53ZWJraXQub3JnLyIpKTsKICAgICBFWFBFQ1Rf
VFJVRSh1YVN0cmluZy5pc051bGwoKSk7CiAKLSNpZiAhT1MoTUFDX09TX1gpCiAgICAgLy8gR29v
Z2xlIHF1aXJrIHNob3VsZCBub3QgYWZmZWN0IHNpdGVzIHdpdGggc2ltaWxhciBkb21haW5zLgog
ICAgIHVhU3RyaW5nID0gc3RhbmRhcmRVc2VyQWdlbnRGb3JVUkwoVVJMKFBhcnNlZFVSTFN0cmlu
ZywgImh0dHA6Ly93d3cuZ29vZ2xlYmxvZy5jb20vIikpOwotICAgIEVYUEVDVF9GQUxTRSh1YVN0
cmluZy5jb250YWlucygiTWFjaW50b3NoIikpOwotICAgIEVYUEVDVF9GQUxTRSh1YVN0cmluZy5j
b250YWlucygiTWFjIE9TIFgiKSk7Ci0jZW5kaWYKKyAgICBFWFBFQ1RfRkFMU0UodWFTdHJpbmcu
Y29udGFpbnMoIkZpcmVmb3giKSk7CiAKICAgICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNDaHJv
bWVCcm93c2VyUXVpcmsoImh0dHA6Ly90eXBla2l0LmNvbS8iKTsKICAgICBhc3NlcnRVc2VyQWdl
bnRGb3JVUkxIYXNDaHJvbWVCcm93c2VyUXVpcmsoImh0dHA6Ly90eXBla2l0Lm5ldC8iKTsKICAg
ICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNDaHJvbWVCcm93c2VyUXVpcmsoImh0dHA6Ly93d3cu
eW91dHViZS5jb20vIik7CiAgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzQ2hyb21lQnJvd3Nl
clF1aXJrKCJodHRwOi8vd3d3LnNsYWNrLmNvbS8iKTsKIAorICAgIGFzc2VydFVzZXJBZ2VudEZv
clVSTEhhc0ZpcmVmb3hCcm93c2VyUXVpcmsoImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iKTsKKyAg
ICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNGaXJlZm94QnJvd3NlclF1aXJrKCJodHRwOi8vd3d3
Lmdvb2dsZS5lcy8iKTsKKyAgICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNGaXJlZm94QnJvd3Nl
clF1aXJrKCJodHRwOi8vY2FsZW5kYXIuZ29vZ2xlLmNvbS8iKTsKKyAgICBhc3NlcnRVc2VyQWdl
bnRGb3JVUkxIYXNGaXJlZm94QnJvd3NlclF1aXJrKCJodHRwOi8vcGx1cy5nb29nbGUuY29tLyIp
OworCisgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTGludXhQbGF0Zm9ybVF1aXJrKCJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIik7CisgICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTGludXhQ
bGF0Zm9ybVF1aXJrKCJodHRwOi8vd3d3Lmdvb2dsZS5lcy8iKTsKKyAgICBhc3NlcnRVc2VyQWdl
bnRGb3JVUkxIYXNMaW51eFBsYXRmb3JtUXVpcmsoImh0dHA6Ly9jYWxlbmRhci5nb29nbGUuY29t
LyIpOworICAgIGFzc2VydFVzZXJBZ2VudEZvclVSTEhhc0xpbnV4UGxhdGZvcm1RdWlyaygiaHR0
cDovL3BsdXMuZ29vZ2xlLmNvbS8iKTsKKwogICAgIGFzc2VydFVzZXJBZ2VudEZvclVSTEhhc01h
Y1BsYXRmb3JtUXVpcmsoImh0dHA6Ly93d3cueWFob28uY29tLyIpOwogICAgIGFzc2VydFVzZXJB
Z2VudEZvclVSTEhhc01hY1BsYXRmb3JtUXVpcmsoImh0dHA6Ly9maW5hbmNlLnlhaG9vLmNvbS8i
KTsKICAgICBhc3NlcnRVc2VyQWdlbnRGb3JVUkxIYXNNYWNQbGF0Zm9ybVF1aXJrKCJodHRwOi8v
aW50bC50YW9iYW8uY29tLyIpOwogICAgIGFzc2VydFVzZXJBZ2VudEZvclVSTEhhc01hY1BsYXRm
b3JtUXVpcmsoImh0dHA6Ly93d3cud2hhdHNhcHAuY29tLyIpOwogICAgIGFzc2VydFVzZXJBZ2Vu
dEZvclVSTEhhc01hY1BsYXRmb3JtUXVpcmsoImh0dHA6Ly93ZWIud2hhdHNhcHAuY29tLyIpOwot
Ci0gICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTWFjUGxhdGZvcm1RdWlyaygiaHR0cDovL3d3
dy5nb29nbGUuY29tLyIpOwotICAgIGFzc2VydFVzZXJBZ2VudEZvclVSTEhhc01hY1BsYXRmb3Jt
UXVpcmsoImh0dHA6Ly93d3cuZ29vZ2xlLmVzLyIpOwotICAgIGFzc2VydFVzZXJBZ2VudEZvclVS
TEhhc01hY1BsYXRmb3JtUXVpcmsoImh0dHA6Ly9jYWxlbmRhci5nb29nbGUuY29tLyIpOwotICAg
IGFzc2VydFVzZXJBZ2VudEZvclVSTEhhc01hY1BsYXRmb3JtUXVpcmsoImh0dHA6Ly9tYXBzLmdv
b2dsZS5jb20vIik7Ci0gICAgYXNzZXJ0VXNlckFnZW50Rm9yVVJMSGFzTWFjUGxhdGZvcm1RdWly
aygiaHR0cDovL3BsdXMuZ29vZ2xlLmNvbS8iKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdl
YktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>