<?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>139028</bug_id>
          
          <creation_ts>2014-11-24 07:39:45 -0800</creation_ts>
          <short_desc>[GTK] Enable depth 32 for the RedirectedXCompositeWindow</short_desc>
          <delta_ts>2014-12-10 09:42:26 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Isorce">j.isorce</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>obzhirov</cc>
    
    <cc>p.jacquemart</cc>
    
    <cc>rgabor</cc>
    
    <cc>yoon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1050849</commentid>
    <comment_count>0</comment_count>
      <attachid>242160</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-11-24 07:39:45 -0800</bug_when>
    <thetext>Created attachment 242160
gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow

On gtk/X11, the layout compositing is done in the web process. If one needs to handle alpha with the rest of the application then it is not enough to make to browser&apos;s window as RGBA.

The shared redirected window needs to be RGBA as well. (The shared X composite window between UIProcess and WebProcess).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050850</commentid>
    <comment_count>1</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-24 07:42:13 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050851</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-24 07:42:22 -0800</bug_when>
    <thetext>Attachment 242160 did not pass style-queue:


ERROR: Source/WebKit2/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
ERROR: Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:439:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050854</commentid>
    <comment_count>3</comment_count>
      <attachid>242161</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-11-24 08:00:55 -0800</bug_when>
    <thetext>Created attachment 242161
gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050855</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-24 08:03:44 -0800</bug_when>
    <thetext>Attachment 242161 did not pass style-queue:


ERROR: Source/WebKit2/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
ERROR: Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
ERROR: Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:439:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050856</commentid>
    <comment_count>5</comment_count>
      <attachid>242162</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-11-24 08:04:16 -0800</bug_when>
    <thetext>Created attachment 242162
gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1050967</commentid>
    <comment_count>6</comment_count>
      <attachid>242162</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2014-11-25 01:38:31 -0800</bug_when>
    <thetext>Comment on attachment 242162
gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow

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

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:135
&gt; +RedirectedXCompositeWindow::RedirectedXCompositeWindow(Display* display, const IntSize&amp; size, std::function&lt;void()&gt; damageNotify, int depth)

Because your patch adds Alpha support to current implementation, it would be good to use &quot;bool supportAlpha&quot; instead of depth.

&gt; Tools/MiniBrowser/gtk/main.c:64
&gt; +    // FIXME: use websettings

I don&apos;t think we need to use websettings.
It would be better to modify WebKitWebViewBase to decide whether RGBA support is needed.
ex) If parent window of webview uses RGBA, we can use RGBA support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051005</commentid>
    <comment_count>7</comment_count>
      <attachid>242197</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-11-25 08:06:45 -0800</bug_when>
    <thetext>Created attachment 242197
gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow

I addressed the remarks ( depth -&gt; &quot;bool supportAlpha&quot; and &quot;If parent window of webview uses RGBA, we can use RGBA support&quot; ) . But to decide if the application is RGBA or not it is up to the application to decide. So I introduced MINIBROWSER_ALPHA env var.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051055</commentid>
    <comment_count>8</comment_count>
      <attachid>242197</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-11-26 01:27:23 -0800</bug_when>
    <thetext>Comment on attachment 242197
gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow

Please, use the bug title here and move the bug url, see other changelog entries.

&gt; Source/WebKit2/ChangeLog:12
&gt; +        This allows an end-to-end RGBA solution when the application
&gt; +        wants to interact with the alpha channel at compositing time.

Do you have a test case or is there any website that are not rendering correctly because of this?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:264
&gt; +        GdkVisual* visual = gtk_widget_get_visual(parent);
&gt; +        gint depth = gdk_visual_get_depth(visual);
&gt; +        bool supportAlpha = depth == 32 &amp;&amp; (!priv-&gt;redirectedWindow || !priv-&gt;redirectedWindow-&gt;hasAlpha());

I think here you should check if the widget visual is the screen rgba visual.

visual == gdk_screen_get_rgba_visual(gdk_display_get_default_screen(display)));

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:269
&gt; +            if (GDK_IS_X11_DISPLAY(display)) {
&gt; +                priv-&gt;redirectedWindow = RedirectedXCompositeWindow::create(GDK_DISPLAY_XDISPLAY(display), IntSize(1, 1), [widget] { gtk_widget_queue_draw(widget); },
&gt; +                    supportAlpha);

Why are we creating this here again? If it&apos;s too early in constructed, we can create the redirected window when realized, but not in both places, I would say.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:271
&gt; +                    priv-&gt;pageProxy-&gt;setAcceleratedCompositingWindowId(priv-&gt;redirectedWindow-&gt;windowID());

This is also done when the page is created

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:154
&gt; +        XVisualInfo vi_in;

Use WebKit coding style here, visualInfo instead of vi_in

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:159
&gt; +        int nvi = 0;

nvi -&gt; visualInfoCount, for example

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:160
&gt; +        XVisualInfo* xvi = XGetVisualInfo(display, VisualScreenMask | VisualDepthMask | VisualClassMask, &amp;vi_in, &amp;nvi);

xvi -&gt; xVisualInfo

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:161
&gt; +        Visual* vis = 0;

vis -&gt; visual, use nullptr instead of 0

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:164
&gt; +            if ((fmt-&gt;type == PictTypeDirect) &amp;&amp; (fmt-&gt;direct.alphaMask)) {

I don&apos;t think you need the extra parentheses

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:203
&gt; +    } else {
&gt; +        windowAttributes.override_redirect = True;
&gt; +        m_parentWindow = XCreateWindow(display,
&gt; +            RootWindowOfScreen(screen),
&gt; +            WidthOfScreen(screen) + 1, 0, 1, 1,
&gt; +            0,
&gt; +            CopyFromParent,
&gt; +            InputOutput,
&gt; +            CopyFromParent,
&gt; +            CWOverrideRedirect,
&gt; +            &amp;windowAttributes);
&gt; +        XMapWindow(display, m_parentWindow);

Do we really need two paths here? or can we set the window attrs, the mask, etc depending on whether alpha is supported or not and then create the window and call XMapWindow using the same code?

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:245
&gt; +    if (m_hasAlpha)
&gt; +        XFreeColormap(m_display, m_colormap);

Could we check m_colormap instead of m_hasAlpha and then we don&apos;t need to keep m_hasAlpha at all?

&gt; Tools/ChangeLog:3
&gt; +        gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow

Same here about changelog formatting.

&gt; Tools/MiniBrowser/gtk/main.c:69
&gt; +    const gchar *alpha = g_getenv(&quot;MINIBROWSER_ALPHA&quot;);
&gt; +    if (alpha &amp;&amp; *alpha) {
&gt; +        GdkScreen *screen = gtk_widget_get_screen(GTK_WIDGET(mainWindow));
&gt; +        GdkVisual *visual = gdk_screen_get_rgba_visual(screen);
&gt; +        gtk_widget_set_visual(GTK_WIDGET(mainWindow), visual);
&gt; +    }

I don&apos;t understand why this is a user decision, doesn&apos;t it depend on whether it&apos;s supported or not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051248</commentid>
    <comment_count>9</comment_count>
      <attachid>242267</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-11-28 06:33:39 -0800</bug_when>
    <thetext>Created attachment 242267
[GTK] Enable depth 32 for the RedirectedXCompositeWindow

Thx for the review! I addressed remarks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1051406</commentid>
    <comment_count>10</comment_count>
      <attachid>242197</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-12-01 00:29:31 -0800</bug_when>
    <thetext>Comment on attachment 242197
gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow

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

&gt;&gt; Source/WebKit2/ChangeLog:3
&gt;&gt; +        gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow
&gt; 
&gt; Please, use the bug title here and move the bug url, see other changelog entries.

Done

&gt;&gt; Source/WebKit2/ChangeLog:12
&gt;&gt; +        wants to interact with the alpha channel at compositing time.
&gt; 
&gt; Do you have a test case or is there any website that are not rendering correctly because of this?

I do not think this is useful when webkit is used for classic desktop webbrowser (though maybe for :root background=transparent, body: background=transparent). It is more for transparent UI.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:264
&gt;&gt; +        bool supportAlpha = depth == 32 &amp;&amp; (!priv-&gt;redirectedWindow || !priv-&gt;redirectedWindow-&gt;hasAlpha());
&gt; 
&gt; I think here you should check if the widget visual is the screen rgba visual.
&gt; 
&gt; visual == gdk_screen_get_rgba_visual(gdk_display_get_default_screen(display)));

It now matches visual and depth from the parent winID in all cases.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:269
&gt;&gt; +                    supportAlpha);
&gt; 
&gt; Why are we creating this here again? If it&apos;s too early in constructed, we can create the redirected window when realized, but not in both places, I would say.

Exactly it was to early, i.e. before the parent was created. Ok thx, I now only left the creation when realized.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:271
&gt;&gt; +                    priv-&gt;pageProxy-&gt;setAcceleratedCompositingWindowId(priv-&gt;redirectedWindow-&gt;windowID());
&gt; 
&gt; This is also done when the page is created

Done only one time now.

&gt;&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:203
&gt;&gt; +        XMapWindow(display, m_parentWindow);
&gt; 
&gt; Do we really need two paths here? or can we set the window attrs, the mask, etc depending on whether alpha is supported or not and then create the window and call XMapWindow using the same code?

You are right, I kept the code before my changes except I pass the winID application instead of the root windID. So that depth and visual matches the parent.
A little note is that once the window is created I change the parent again to be the root window. So that no need to take care of destroying the child before the parent. Anyway they do not need to depend on each other.

&gt;&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:245
&gt;&gt; +        XFreeColormap(m_display, m_colormap);
&gt; 
&gt; Could we check m_colormap instead of m_hasAlpha and then we don&apos;t need to keep m_hasAlpha at all?

I removed both.

&gt;&gt; Tools/ChangeLog:3
&gt;&gt; +        gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow
&gt; 
&gt; Same here about changelog formatting.

Done

&gt;&gt; Tools/MiniBrowser/gtk/main.c:69
&gt;&gt; +    }
&gt; 
&gt; I don&apos;t understand why this is a user decision, doesn&apos;t it depend on whether it&apos;s supported or not?

You are right, for MiniBrowser let&apos;s just set a rgba visual if available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053126</commentid>
    <comment_count>11</comment_count>
      <attachid>242267</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-12-07 05:52:20 -0800</bug_when>
    <thetext>Comment on attachment 242267
[GTK] Enable depth 32 for the RedirectedXCompositeWindow

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

This looks like a good change, though I have a few questions.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:260
&gt; +    if (GtkWidget* parent = gtk_widget_get_parent(widget)) {

Why not fall back if the parent doesn&apos;t exist. If the parent always must exist, why not use an assertion instead of a conditional?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:1045
&gt; +    bool isEnable = false;
&gt; +
&gt;  #if USE(TEXTURE_MAPPER_GL) &amp;&amp; PLATFORM(X11)
&gt; -    if (priv-&gt;redirectedWindow)
&gt; -        return;
&gt; +    isEnable = !!priv-&gt;redirectedWindow;
&gt;  #endif
&gt;  
&gt; -    priv-&gt;pageProxy-&gt;preferences().setAcceleratedCompositingEnabled(false);
&gt; +    priv-&gt;pageProxy-&gt;preferences().setAcceleratedCompositingEnabled(isEnable);

Doesn&apos;t this do the same thing as before? It looks like the default was true? Regardless,

isEnabled should be called acceleratedCompositingEnabled and I do not believe you need the double !.

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:162
&gt; +    // The top parent is only necessary to inherit visual and depth at creation time.
&gt; +    if (parent)
&gt; +        XReparentWindow(display, m_parentWindow, RootWindowOfScreen(screen), WidthOfScreen(screen) + 1, 0);

Would it be possible to pass the visual and depth from the parent instead of inheriting?

&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:173
&gt; +        CWEventMask | CWOverrideRedirect,

Why is this change necessary? You should include this information in the ChangeLog.

&gt; Tools/MiniBrowser/gtk/main.c:69
&gt; +    // Prefer RGBA visual if available.
&gt; +    GdkScreen *screen = gtk_widget_get_screen(GTK_WIDGET(mainWindow));
&gt; +    GdkVisual *visual = gdk_screen_get_rgba_visual(screen);
&gt; +    if (visual)
&gt; +        gtk_widget_set_visual(GTK_WIDGET(mainWindow), visual);
&gt; +

Does this make the WebView transparent with a transparent HTML background. I&apos;m not sure if we want that behavior in the MiniBrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053740</commentid>
    <comment_count>12</comment_count>
      <attachid>242267</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-12-09 04:06:41 -0800</bug_when>
    <thetext>Comment on attachment 242267
[GTK] Enable depth 32 for the RedirectedXCompositeWindow

Thx for the third review. I&apos;ll address the changes in the next patch.


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

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:260
&gt;&gt; +    if (GtkWidget* parent = gtk_widget_get_parent(widget)) {
&gt; 
&gt; Why not fall back if the parent doesn&apos;t exist. If the parent always must exist, why not use an assertion instead of a conditional?

Good point. Indeed it should fallback to passing 0 to RedirectedXCompositeWindow::create. I&apos;ll address the change.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:1045
&gt;&gt; +    priv-&gt;pageProxy-&gt;preferences().setAcceleratedCompositingEnabled(isEnable);
&gt; 
&gt; Doesn&apos;t this do the same thing as before? It looks like the default was true? Regardless,
&gt; 
&gt; isEnabled should be called acceleratedCompositingEnabled and I do not believe you need the double !.

The default is false but it gets enable if GL and redirectedWindow exists.
Without the double !, it fails to build with ../../Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:1042:14: error: cannot convert &apos;std::unique_ptr&lt;WebKit::RedirectedXCompositeWindow&gt;&apos; to &apos;bool&apos; in assignment
I&apos;ll rewrite this part more clearly.

&gt;&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:162
&gt;&gt; +        XReparentWindow(display, m_parentWindow, RootWindowOfScreen(screen), WidthOfScreen(screen) + 1, 0);
&gt; 
&gt; Would it be possible to pass the visual and depth from the parent instead of inheriting?

Ok I&apos;ll have a try and let you know in the next patch.

&gt;&gt; Source/WebKit2/UIProcess/gtk/RedirectedXCompositeWindow.cpp:173
&gt;&gt; +        CWEventMask | CWOverrideRedirect,
&gt; 
&gt; Why is this change necessary? You should include this information in the ChangeLog.

Indeed this is not necessary. This change should go in a separate patch. It is not necessary for my patch to work. Was just a consistency change.

&gt;&gt; Tools/MiniBrowser/gtk/main.c:69
&gt;&gt; +
&gt; 
&gt; Does this make the WebView transparent with a transparent HTML background. I&apos;m not sure if we want that behavior in the MiniBrowser.

With only the patch, the background does not get transparent if the html page contains &quot;body { background-color: transparent; }&quot;.
Indeed to have a transparent background it requires more changes in Minibrowser, like using gtk_widget_override_background_color(...transparent...).
So I&apos;ll let this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053765</commentid>
    <comment_count>13</comment_count>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-12-09 05:54:37 -0800</bug_when>
    <thetext>I add a try and now I remember why I choosed to pass the parent&apos;s Window instead of just the visual and depth retrived with gdk_x11_visual_get_xvisual/gdk_visual_get_depth. It is because then you have to deal with the colormap (see initial patch). And it is really anoying to handle it and make the code more complex and also it will probably not handle all corners cases.

So it is cleaner and safer to copy visual and depth from parent (the wording inheriting is a bit of a strech so I&apos;ll change the comment). And then reparent it to the root.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053766</commentid>
    <comment_count>14</comment_count>
      <attachid>242914</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-12-09 06:02:19 -0800</bug_when>
    <thetext>Created attachment 242914
[GTK] Enable depth 32 for the RedirectedXCompositeWindow

I addressed the remark from the third review. (Also please see the 2 previous comments for answers)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054127</commentid>
    <comment_count>15</comment_count>
      <attachid>242914</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-12-10 06:23:00 -0800</bug_when>
    <thetext>Comment on attachment 242914
[GTK] Enable depth 32 for the RedirectedXCompositeWindow

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

Looks good to me, apart from a few nits.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:264
&gt; +            [widget] { gtk_widget_queue_draw(widget); }

Please split this over multiple lines:
priv-&gt;redirectedWindow = RedirectedXCompositeWindow::create(
     GDK_DISPLAY_XDISPLAY(display),
     parentWindow ? GDK_WINDOW_XID(parentWindow) : 0,
     [widget] {
         gtk_widget_queue_draw(widget);
     });

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:1041
&gt; +

Extra line here.

&gt; Tools/MiniBrowser/gtk/main.c:69
&gt; +    // Prefer RGBA visual if available.
&gt; +    GdkScreen *screen = gtk_widget_get_screen(GTK_WIDGET(mainWindow));
&gt; +    GdkVisual *visual = gdk_screen_get_rgba_visual(screen);
&gt; +    if (visual)
&gt; +        gtk_widget_set_visual(GTK_WIDGET(mainWindow), visual);
&gt; +

So if this doesn&apos;t change the behavior of MiniBrowser, why is it necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054182</commentid>
    <comment_count>16</comment_count>
      <attachid>243033</attachid>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-12-10 09:31:21 -0800</bug_when>
    <thetext>Created attachment 243033
[GTK] Enable depth 32 for the RedirectedXCompositeWindow

I addressed indentation changes, blank line and removed changes in Minibrowser as we do not want it to use RGBA by default (even if visually it does not change anything. Indeed to have a webui transparent you need more steps in the browser which I mentioned in previous comments)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054183</commentid>
    <comment_count>17</comment_count>
      <attachid>243033</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-12-10 09:33:25 -0800</bug_when>
    <thetext>Comment on attachment 243033
[GTK] Enable depth 32 for the RedirectedXCompositeWindow

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:269
&gt; +                gtk_widget_queue_draw(widget); }
&gt; +            );

Missing a newline after the ; here, but I will fix it and land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054188</commentid>
    <comment_count>18</comment_count>
    <who name="Julien Isorce">j.isorce</who>
    <bug_when>2014-12-10 09:36:49 -0800</bug_when>
    <thetext>Ah right I see :) Thx!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1054191</commentid>
    <comment_count>19</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-12-10 09:42:26 -0800</bug_when>
    <thetext>Committed r177075: &lt;http://trac.webkit.org/changeset/177075&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242160</attachid>
            <date>2014-11-24 07:39:45 -0800</date>
            <delta_ts>2014-11-24 08:00:55 -0800</delta_ts>
            <desc>gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow</desc>
            <filename>0001-gtk-support-RGBA-end-to-end-compositing-when-using-R.patch</filename>
            <type>text/plain</type>
            <size>11546</size>
            <attacher name="Julien Isorce">j.isorce</attacher>
            
              <data encoding="base64">RnJvbSA2Y2EwZTBhYTEwN2QwNmYwOWU2MWRmZDZiZTcyZTk5NjQ1ZDg2ZWE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4K
RGF0ZTogTW9uLCAyNCBOb3YgMjAxNCAxNTowMjowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIGd0
azogc3VwcG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hlbiB1c2luZwogUmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3cKCk9uIGd0ay9YMTEsIHRoZSBsYXlvdXQgY29tcG9zaXRpbmcg
aXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCklmIG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEg
d2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24KdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRv
IG1ha2UgdG8gYnJvd3NlcidzIHdpbmRvdyBhcyBSR0JBLgpUaGUgc2hhcmVkIHJlZGlyZWN0ZWQg
d2luZG93IG5lZWRzIHRvIGJlIFJHQkEgYXMgd2VsbC4KKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUg
d2luZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KClRoaXMgYWxsb3dzIGFu
IGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBhcHBsaWNhdGlvbgp3YW50cyB0byBp
bnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFubmVsIGF0IGNvbXBvc2l0aW5nIHRpbWUuCgpOZWVk
IHRoZSBidWcgVVJMIChPT1BTISkuCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClNpZ25l
ZC1vZmYtYnk6IEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgotLS0KIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjUgKysrKysr
KwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCAgICAgICAgfCAx
MSArKystCiAuLi4vVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAg
ICB8IDc2ICsrKysrKysrKysrKysrKysrLS0tLS0KIC4uLi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93LmggICAgIHwgIDQgKy0KIFRvb2xzL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrCiBUb29scy9NaW5pQnJvd3Nl
ci9ndGsvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKwogNiBmaWxlcyBjaGFu
Z2VkLCAxMjQgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDZm
MjgzMmYuLmRjYWNmYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxNC0xMS0yNCAg
SnVsaWVuIElzb3JjZSAgPGouaXNvcmNlQHNhbXN1bmcuY29tPgorCisgICAgICAgIGd0azogc3Vw
cG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hlbiB1c2luZyBSZWRpcmVjdGVkWENv
bXBvc2l0ZVdpbmRvdworCisgICAgICAgIE9uIGd0ay9YMTEsIHRoZSBsYXlvdXQgY29tcG9zaXRp
bmcgaXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIElmIG9uZSBuZWVkcyB0byBo
YW5kbGUgYWxwaGEgd2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24KKyAgICAgICAgdGhl
biBpdCBpcyBub3QgZW5vdWdoIHRvIG1ha2UgdG8gYnJvd3NlcidzIHdpbmRvdyBhcyBSR0JBLgor
ICAgICAgICBUaGUgc2hhcmVkIHJlZGlyZWN0ZWQgd2luZG93IG5lZWRzIHRvIGJlIFJHQkEgYXMg
d2VsbC4KKyAgICAgICAgKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUgd2luZG93IGJldHdlZW4gVUlQ
cm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KKworICAgICAgICBUaGlzIGFsbG93cyBhbiBlbmQtdG8t
ZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0aGUgYXBwbGljYXRpb24KKyAgICAgICAgd2FudHMgdG8g
aW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBhdCBjb21wb3NpdGluZyB0aW1lLgorCisg
ICAgICAgIE5lZWQgdGhlIGJ1ZyBVUkwgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXdlZCBieSBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlQ29uc3Ry
dWN0ZWQpOgorICAgICAgICAod2Via2l0V2ViVmlld1JlbmRlckFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdSZXN1bHRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpS
ZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyk6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9SZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oOgorCiAyMDE0LTExLTI0ICBBbGJlcnRvIEdhcmNpYSAg
PGJlcnRvQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2Via2l0MiBkb2VzbnQgYnVpbGQgb24gcG93
ZXJwYyAzMiBiaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggZTZjNjZjNy4uMjQ4ZDEyZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcApAQCAtNDMwLDggKzQzMCwxNCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZUNv
bnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkg
JiYgUExBVEZPUk0oWDExKQogICAgIEdka0Rpc3BsYXkqIGRpc3BsYXkgPSBnZGtfZGlzcGxheV9t
YW5hZ2VyX2dldF9kZWZhdWx0X2Rpc3BsYXkoZ2RrX2Rpc3BsYXlfbWFuYWdlcl9nZXQoKSk7Ci0g
ICAgaWYgKEdES19JU19YMTFfRElTUExBWShkaXNwbGF5KSkKLSAgICAgICAgcHJpdi0+cmVkaXJl
Y3RlZFdpbmRvdyA9IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoR0RLX0RJU1BM
QVlfWERJU1BMQVkoZGlzcGxheSksIEludFNpemUoMSwgMSksIFt2aWV3V2lkZ2V0XSB7IGd0a193
aWRnZXRfcXVldWVfZHJhdyh2aWV3V2lkZ2V0KTsgfSk7CisgICAgaWYgKEdES19JU19YMTFfRElT
UExBWShkaXNwbGF5KSkgeworICAgICAgICAvLyBkZWZhdWx0IHN5c3RlbSBkZXB0aCwgMjQuCisg
ICAgICAgIGludCBkZXB0aCA9IDA7CisgICAgICAgIC8vIEZJWE1FIHVzZSB3ZWJzZXR0aW5ncwor
ICAgICAgICBpZiAoMSkKKyAgICAgICAgICAgIGRlcHRoID0gMzI7CisgICAgICAgIHByaXYtPnJl
ZGlyZWN0ZWRXaW5kb3cgPSBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKEdES19E
SVNQTEFZX1hESVNQTEFZKGRpc3BsYXkpLCBJbnRTaXplKDEsIDEpLCBbdmlld1dpZGdldF0geyBn
dGtfd2lkZ2V0X3F1ZXVlX2RyYXcodmlld1dpZGdldCk7IH0sIGRlcHRoKTsKKyAgICB9CiAjZW5k
aWYKIAogICAgIHByaXYtPmF1dGhlbnRpY2F0aW9uRGlhbG9nID0gMDsKQEAgLTQ1Myw2ICs0NTks
NyBAQCBzdGF0aWMgYm9vbCB3ZWJraXRXZWJWaWV3UmVuZGVyQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z1Jlc3VsdHMoV2ViS2l0V2ViVmlld0Jhc2UqCiAgICAgaWYgKGNhaXJvX3N1cmZhY2VfdCogc3Vy
ZmFjZSA9IHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPnN1cmZhY2UoKSkgewogICAgICAgICBjYWly
b19yZWN0YW5nbGUoY3IsIGNsaXBSZWN0LT54LCBjbGlwUmVjdC0+eSwgY2xpcFJlY3QtPndpZHRo
LCBjbGlwUmVjdC0+aGVpZ2h0KTsKICAgICAgICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlKGNy
LCBzdXJmYWNlLCAwLCAwKTsKKyAgICAgICAgY2Fpcm9fc2V0X29wZXJhdG9yKGNyLCBDQUlST19P
UEVSQVRPUl9TT1VSQ0UpOwogICAgICAgICBjYWlyb19maWxsKGNyKTsKICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3cuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBv
c2l0ZVdpbmRvdy5jcHAKaW5kZXggMTEyYzhlYi4uZDcwZTEzOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRv
dy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1hjb21w
b3NpdGUuaD4KICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YZGFtYWdlLmg+CisjaW5jbHVkZSA8
WDExL2V4dGVuc2lvbnMvWHJlbmRlci5oPgogI2luY2x1ZGUgPGNhaXJvLXhsaWIuaD4KICNpbmNs
dWRlIDxnZGsvZ2RreC5oPgogI2luY2x1ZGUgPGdsaWIuaD4KQEAgLTEyNiwxMiArMTI3LDEyIEBA
IHN0YXRpYyBib29sIHN1cHBvcnRzWERhbWFnZUFuZFhDb21wb3NpdGUoRGlzcGxheSogZGlzcGxh
eSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29t
cG9zaXRlV2luZG93PiBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKERpc3BsYXkq
IGRpc3BsYXksIGNvbnN0IEludFNpemUmIHNpemUsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1h
Z2VOb3RpZnkpCitzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IFJl
ZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoRGlzcGxheSogZGlzcGxheSwgY29uc3Qg
SW50U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSwgaW50IGRl
cHRoKQogewotICAgIHJldHVybiBzdXBwb3J0c1hEYW1hZ2VBbmRYQ29tcG9zaXRlKGRpc3BsYXkp
ID8gc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93PihuZXcgUmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3coZGlzcGxheSwgc2l6ZSwgZGFtYWdlTm90aWZ5KSkgOiBudWxs
cHRyOworICAgIHJldHVybiBzdXBwb3J0c1hEYW1hZ2VBbmRYQ29tcG9zaXRlKGRpc3BsYXkpID8g
c3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93PihuZXcgUmVkaXJlY3Rl
ZFhDb21wb3NpdGVXaW5kb3coZGlzcGxheSwgc2l6ZSwgZGFtYWdlTm90aWZ5LCBkZXB0aCkpIDog
bnVsbHB0cjsKIH0KIAotUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29t
cG9zaXRlV2luZG93KERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IEludFNpemUmIHNpemUsIHN0ZDo6
ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpCitSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRv
dzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSogZGlzcGxheSwgY29uc3QgSW50
U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSwgaW50IGRlcHRo
KQogICAgIDogbV9kaXNwbGF5KGRpc3BsYXkpCiAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAsIG1f
d2luZG93KDApCkBAIC0xNDEsMjAgKzE0Miw2MyBAQCBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRv
dzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSogZGlzcGxheSwgY29uc3QgSQog
ICAgICwgbV9uZWVkc05ld1BpeG1hcEFmdGVyUmVzaXplKGZhbHNlKQogewogICAgIFNjcmVlbiog
c2NyZWVuID0gRGVmYXVsdFNjcmVlbk9mRGlzcGxheShkaXNwbGF5KTsKLQotICAgIC8vIFRoaXMg
aXMgYmFzZWQgb24gY29kZSBmcm9tIENocm9taXVtOiBzcmMvY29udGVudC9jb21tb24vZ3B1L2lt
YWdlX3RyYW5zcG9ydF9zdXJmYWNlX2xpbnV4LmNjCiAgICAgWFNldFdpbmRvd0F0dHJpYnV0ZXMg
d2luZG93QXR0cmlidXRlczsKLSAgICB3aW5kb3dBdHRyaWJ1dGVzLm92ZXJyaWRlX3JlZGlyZWN0
ID0gVHJ1ZTsKLSAgICBtX3BhcmVudFdpbmRvdyA9IFhDcmVhdGVXaW5kb3coZGlzcGxheSwKLSAg
ICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCi0gICAgICAgIFdpZHRoT2ZTY3JlZW4o
c2NyZWVuKSArIDEsIDAsIDEsIDEsCi0gICAgICAgIDAsCi0gICAgICAgIENvcHlGcm9tUGFyZW50
LAotICAgICAgICBJbnB1dE91dHB1dCwKLSAgICAgICAgQ29weUZyb21QYXJlbnQsCi0gICAgICAg
IENXT3ZlcnJpZGVSZWRpcmVjdCwKLSAgICAgICAgJndpbmRvd0F0dHJpYnV0ZXMpOwotICAgIFhN
YXBXaW5kb3coZGlzcGxheSwgbV9wYXJlbnRXaW5kb3cpOworCisgICAgaWYgKGRlcHRoID09IDMy
KSB7CisgICAgICAgIC8vIE1hbnVhbGx5IHNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgdmlzdWFsIHRv
IHNldHVwIGEgUkdCQSB3aW5kb3cuCisgICAgICAgIFhSZW5kZXJQaWN0Rm9ybWF0KiBmbXQgPSAw
OworICAgICAgICBYVmlzdWFsSW5mbyogeHZpID0gMDsKKyAgICAgICAgVmlzdWFsKiB2aXMgPSAw
OworICAgICAgICBYVmlzdWFsSW5mbyB2aV9pbjsKKyAgICAgICAgaW50IG52aSA9IDA7CisgICAg
ICAgIGludCBzY3IgPSBEZWZhdWx0U2NyZWVuKGRpc3BsYXkpOworICAgICAgICB2aV9pbi5zY3Jl
ZW4gPSBzY3I7CisgICAgICAgIHZpX2luLmRlcHRoID0gMzI7CisgICAgICAgIHZpX2luLmNfY2xh
c3MgPSBUcnVlQ29sb3I7CisgICAgICAgIHh2aSA9IFhHZXRWaXN1YWxJbmZvKGRpc3BsYXksIFZp
c3VhbFNjcmVlbk1hc2sgfCBWaXN1YWxEZXB0aE1hc2sgfCBWaXN1YWxDbGFzc01hc2ssICZ2aV9p
biwgJm52aSk7CisgICAgICAgIHZpcyA9IDA7CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg
bnZpOyArK2kpIHsKKyAgICAgICAgICAgIGZtdCA9IFhSZW5kZXJGaW5kVmlzdWFsRm9ybWF0KGRp
c3BsYXksIHh2aVtpXS52aXN1YWwpOworICAgICAgICAgICAgaWYgKChmbXQtPnR5cGUgPT0gUGlj
dFR5cGVEaXJlY3QpICYmIChmbXQtPmRpcmVjdC5hbHBoYU1hc2spKSB7CisgICAgICAgICAgICAg
ICAgdmlzID0geHZpW2ldLnZpc3VhbDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgICBYRnJlZSh4dmkpOworCisgICAgICAgIFhTZXRXaW5k
b3dBdHRyaWJ1dGVzIHdpbmRvd0F0dHJpYnV0ZXM7CisgICAgICAgIHdpbmRvd0F0dHJpYnV0ZXMu
YmFja2luZ19zdG9yZSA9IE5vdFVzZWZ1bDsKKyAgICAgICAgd2luZG93QXR0cmlidXRlcy5vdmVy
cmlkZV9yZWRpcmVjdCA9IFRydWU7CisgICAgICAgIHdpbmRvd0F0dHJpYnV0ZXMuYmFja2dyb3Vu
ZF9waXhtYXAgPSBOb25lOworICAgICAgICB3aW5kb3dBdHRyaWJ1dGVzLmNvbG9ybWFwID0gWENy
ZWF0ZUNvbG9ybWFwKGRpc3BsYXksIERlZmF1bHRSb290V2luZG93KGRpc3BsYXkpLCB2aXMsIEFs
bG9jTm9uZSk7CisgICAgICAgIG1fcGFyZW50V2luZG93ID0gWENyZWF0ZVdpbmRvdyhkaXNwbGF5
LAorICAgICAgICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCisgICAgICAgICAgICBX
aWR0aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAwLCAxLCAxLAorICAgICAgICAgICAgMCwKKyAgICAg
ICAgICAgIDMyLAorICAgICAgICAgICAgSW5wdXRPdXRwdXQsCisgICAgICAgICAgICB2aXMsCisg
ICAgICAgICAgICBDV0JhY2tpbmdTdG9yZSB8CisgICAgICAgICAgICBDV092ZXJyaWRlUmVkaXJl
Y3QgfAorICAgICAgICAgICAgQ1dDb2xvcm1hcCB8CisgICAgICAgICAgICBDV0JvcmRlclBpeGVs
IHwKKyAgICAgICAgICAgIENXQmFja1BpeG1hcCwKKyAgICAgICAgICAgICZ3aW5kb3dBdHRyaWJ1
dGVzKTsKKyAgICAgICAgWE1hcFdpbmRvdyhkaXNwbGF5LCBtX3BhcmVudFdpbmRvdyk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgLy8gVGhpcyBpcyBiYXNlZCBvbiBjb2RlIGZyb20gQ2hyb21pdW06
IHNyYy9jb250ZW50L2NvbW1vbi9ncHUvaW1hZ2VfdHJhbnNwb3J0X3N1cmZhY2VfbGludXguY2MK
KyAgICAgICAgd2luZG93QXR0cmlidXRlcy5vdmVycmlkZV9yZWRpcmVjdCA9IFRydWU7CisgICAg
ICAgIG1fcGFyZW50V2luZG93ID0gWENyZWF0ZVdpbmRvdyhkaXNwbGF5LAorICAgICAgICAgICAg
Um9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCisgICAgICAgICAgICBXaWR0aE9mU2NyZWVuKHNj
cmVlbikgKyAxLCAwLCAxLCAxLAorICAgICAgICAgICAgMCwKKyAgICAgICAgICAgIENvcHlGcm9t
UGFyZW50LAorICAgICAgICAgICAgSW5wdXRPdXRwdXQsCisgICAgICAgICAgICBDb3B5RnJvbVBh
cmVudCwKKyAgICAgICAgICAgIENXT3ZlcnJpZGVSZWRpcmVjdCwKKyAgICAgICAgICAgICZ3aW5k
b3dBdHRyaWJ1dGVzKTsKKyAgICAgICAgWE1hcFdpbmRvdyhkaXNwbGF5LCBtX3BhcmVudFdpbmRv
dyk7CisgICAgfQogCiAgICAgd2luZG93QXR0cmlidXRlcy5ldmVudF9tYXNrID0gU3RydWN0dXJl
Tm90aWZ5TWFzazsKICAgICB3aW5kb3dBdHRyaWJ1dGVzLm92ZXJyaWRlX3JlZGlyZWN0ID0gRmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRY
Q29tcG9zaXRlV2luZG93LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93LmgKaW5kZXggYmZmYzBhYi4uMTAxNzY5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3cuaApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVk
aXJlY3RlZFhDb21wb3NpdGVXaW5kb3cgewogcHVibGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1
ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IGNyZWF0ZShEaXNwbGF5KiwgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpOwor
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IGNy
ZWF0ZShEaXNwbGF5KiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9p
ZCgpPiBkYW1hZ2VOb3RpZnksIGludCBkZXB0aCA9IDApOwogICAgIH5SZWRpcmVjdGVkWENvbXBv
c2l0ZVdpbmRvdygpOwogCiAgICAgV2luZG93IHdpbmRvd0lEKCkgY29uc3QgeyByZXR1cm4gbV93
aW5kb3c7IH0KQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIGNhaXJvX3N1cmZhY2VfdCog
c3VyZmFjZSgpOwogCiBwcml2YXRlOgotICAgIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERp
c3BsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRh
bWFnZU5vdGlmeSk7CisgICAgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSosIGNv
bnN0IFdlYkNvcmU6OkludFNpemUmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5
LCBpbnQgZGVwdGggPSAwKTsKICAgICB2b2lkIGNsZWFudXBQaXhtYXBBbmRQaXhtYXBTdXJmYWNl
KCk7CiAKICAgICBEaXNwbGF5KiBtX2Rpc3BsYXk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTdmMjI2MC4uZWY2ZWIyNCAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisy
MDE0LTExLTI0ICBKdWxpZW4gSXNvcmNlICA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgZ3RrOiBzdXBwb3J0IFJHQkEgZW5kLXRvLWVuZCBjb21wb3NpdGluZyB3aGVuIHVzaW5nIFJl
ZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93CisKKyAgICAgICAgT24gZ3RrL1gxMSwgdGhlIGxheW91
dCBjb21wb3NpdGluZyBpcyBkb25lIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgSWYgb25l
IG5lZWRzIHRvIGhhbmRsZSBhbHBoYSB3aXRoIHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbgor
ICAgICAgICB0aGVuIGl0IGlzIG5vdCBlbm91Z2ggdG8gbWFrZSB0byBicm93c2VyJ3Mgd2luZG93
IGFzIFJHQkEuCisgICAgICAgIFRoZSBzaGFyZWQgcmVkaXJlY3RlZCB3aW5kb3cgbmVlZHMgdG8g
YmUgUkdCQSBhcyB3ZWxsLgorICAgICAgICAoVGhlIHNoYXJlZCBYIGNvbXBvc2l0ZSB3aW5kb3cg
YmV0d2VlbiBVSVByb2Nlc3MgYW5kIFdlYlByb2Nlc3MpLgorCisgICAgICAgIFRoaXMgYWxsb3dz
IGFuIGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBhcHBsaWNhdGlvbgorICAgICAg
ICB3YW50cyB0byBpbnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFubmVsIGF0IGNvbXBvc2l0aW5n
IHRpbWUuCisKKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEpLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL21h
aW4uYzoKKyAgICAgICAgKGNyZWF0ZUJyb3dzZXJXaW5kb3cpOgorCiAyMDE0LTExLTI0ICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkLiBGaXggR1RLKyBtYWtlIGRpc3RjaGVjay4KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL2d0ay9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jCmluZGV4IDJiZmMx
NzAuLmM1YjNlODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYwpAQCAtNjAsNiArNjAsMTQgQEAgc3RhdGlj
IHZvaWQgY3JlYXRlQnJvd3NlcldpbmRvdyhjb25zdCBnY2hhciAqdXJpLCBXZWJLaXRTZXR0aW5n
cyAqd2Via2l0U2V0dGluZ3MKIHsKICAgICBHdGtXaWRnZXQgKndlYlZpZXcgPSB3ZWJraXRfd2Vi
X3ZpZXdfbmV3KCk7CiAgICAgR3RrV2lkZ2V0ICptYWluV2luZG93ID0gYnJvd3Nlcl93aW5kb3df
bmV3KFdFQktJVF9XRUJfVklFVyh3ZWJWaWV3KSwgTlVMTCk7CisKKyAgICAvLyBGSVhNRTogdXNl
IHdlYnNldHRpbmdzCisgICAgaWYgKDEpIHsKKyAgICAgICAgR2RrU2NyZWVuICpzY3JlZW4gPSBn
dGtfd2lkZ2V0X2dldF9zY3JlZW4oR1RLX1dJREdFVChtYWluV2luZG93KSk7CisgICAgICAgIEdk
a1Zpc3VhbCAqdmlzdWFsID0gZ2RrX3NjcmVlbl9nZXRfcmdiYV92aXN1YWwoc2NyZWVuKTsKKyAg
ICAgICAgZ3RrX3dpZGdldF9zZXRfdmlzdWFsKEdUS19XSURHRVQobWFpbldpbmRvdyksIHZpc3Vh
bCk7CisgICAgfQorCiAgICAgZ2NoYXIgKnVybCA9IGFyZ3VtZW50VG9VUkwodXJpKTsKIAogICAg
IGlmICh3ZWJraXRTZXR0aW5ncykKLS0gCjEuOS4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242161</attachid>
            <date>2014-11-24 08:00:55 -0800</date>
            <delta_ts>2014-11-24 08:04:16 -0800</delta_ts>
            <desc>gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow</desc>
            <filename>0001-gtk-support-RGBA-end-to-end-compositing-when-using-R.patch</filename>
            <type>text/plain</type>
            <size>11567</size>
            <attacher name="Julien Isorce">j.isorce</attacher>
            
              <data encoding="base64">RnJvbSA5OTRjZTVkNTVjMTQ2NDZhMmVjNGE2M2FiNGQxMzVkNDFmNDkwMDljIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4K
RGF0ZTogTW9uLCAyNCBOb3YgMjAxNCAxNTowMjowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIGd0
azogc3VwcG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hlbiB1c2luZwogUmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3cKCk9uIGd0ay9YMTEsIHRoZSBsYXlvdXQgY29tcG9zaXRpbmcg
aXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCklmIG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEg
d2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24KdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRv
IG1ha2UgdG8gYnJvd3NlcidzIHdpbmRvdyBhcyBSR0JBLgpUaGUgc2hhcmVkIHJlZGlyZWN0ZWQg
d2luZG93IG5lZWRzIHRvIGJlIFJHQkEgYXMgd2VsbC4KKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUg
d2luZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KClRoaXMgYWxsb3dzIGFu
IGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBhcHBsaWNhdGlvbgp3YW50cyB0byBp
bnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFubmVsIGF0IGNvbXBvc2l0aW5nIHRpbWUuCgpodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClNpZ25lZC1vZmYtYnk6IEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNh
bXN1bmcuY29tPgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMjUgKysrKysrKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXdCYXNlLmNwcCAgICAgICAgfCAxMSArKystCiAuLi4vVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVk
WENvbXBvc2l0ZVdpbmRvdy5jcHAgICB8IDc2ICsrKysrKysrKysrKysrKysrLS0tLS0KIC4uLi9V
SVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmggICAgIHwgIDQgKy0KIFRv
b2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysr
KysrCiBUb29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICB8
ICA4ICsrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMjQgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDZmMjgzMmYuLmRjYWNmYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAxNC0xMS0yNCAgSnVsaWVuIElzb3JjZSAgPGouaXNvcmNlQHNhbXN1bmcuY29t
PgorCisgICAgICAgIGd0azogc3VwcG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hl
biB1c2luZyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdworCisgICAgICAgIE9uIGd0ay9YMTEs
IHRoZSBsYXlvdXQgY29tcG9zaXRpbmcgaXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCisgICAg
ICAgIElmIG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEgd2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBw
bGljYXRpb24KKyAgICAgICAgdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRvIG1ha2UgdG8gYnJvd3Nl
cidzIHdpbmRvdyBhcyBSR0JBLgorICAgICAgICBUaGUgc2hhcmVkIHJlZGlyZWN0ZWQgd2luZG93
IG5lZWRzIHRvIGJlIFJHQkEgYXMgd2VsbC4KKyAgICAgICAgKFRoZSBzaGFyZWQgWCBjb21wb3Np
dGUgd2luZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KKworICAgICAgICBU
aGlzIGFsbG93cyBhbiBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0aGUgYXBwbGljYXRp
b24KKyAgICAgICAgd2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBhdCBj
b21wb3NpdGluZyB0aW1lLgorCisgICAgICAgIE5lZWQgdGhlIGJ1ZyBVUkwgKE9PUFMhKS4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKyAgICAgICAgKHdl
YmtpdFdlYlZpZXdCYXNlQ29uc3RydWN0ZWQpOgorICAgICAgICAod2Via2l0V2ViVmlld1JlbmRl
ckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSZXN1bHRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3Rr
L1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3c6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyk6CisgICAgICAg
ICogVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oOgorCiAyMDE0LTEx
LTI0ICBBbGJlcnRvIEdhcmNpYSAgPGJlcnRvQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2Via2l0
MiBkb2VzbnQgYnVpbGQgb24gcG93ZXJwYyAzMiBiaXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggZTZjNjZj
Ny4uMjQ4ZDEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtNDMwLDggKzQzMCwxNCBAQCBzdGF0aWMgdm9p
ZCB3ZWJraXRXZWJWaWV3QmFzZUNvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIAogI2lmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQogICAgIEdka0Rpc3BsYXkqIGRp
c3BsYXkgPSBnZGtfZGlzcGxheV9tYW5hZ2VyX2dldF9kZWZhdWx0X2Rpc3BsYXkoZ2RrX2Rpc3Bs
YXlfbWFuYWdlcl9nZXQoKSk7Ci0gICAgaWYgKEdES19JU19YMTFfRElTUExBWShkaXNwbGF5KSkK
LSAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyA9IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2lu
ZG93OjpjcmVhdGUoR0RLX0RJU1BMQVlfWERJU1BMQVkoZGlzcGxheSksIEludFNpemUoMSwgMSks
IFt2aWV3V2lkZ2V0XSB7IGd0a193aWRnZXRfcXVldWVfZHJhdyh2aWV3V2lkZ2V0KTsgfSk7Cisg
ICAgaWYgKEdES19JU19YMTFfRElTUExBWShkaXNwbGF5KSkgeworICAgICAgICAvLyBkZWZhdWx0
IHN5c3RlbSBkZXB0aCwgMjQuCisgICAgICAgIGludCBkZXB0aCA9IDA7CisgICAgICAgIC8vIEZJ
WE1FIHVzZSB3ZWJzZXR0aW5ncworICAgICAgICBpZiAoMSkKKyAgICAgICAgICAgIGRlcHRoID0g
MzI7CisgICAgICAgIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgPSBSZWRpcmVjdGVkWENvbXBvc2l0
ZVdpbmRvdzo6Y3JlYXRlKEdES19ESVNQTEFZX1hESVNQTEFZKGRpc3BsYXkpLCBJbnRTaXplKDEs
IDEpLCBbdmlld1dpZGdldF0geyBndGtfd2lkZ2V0X3F1ZXVlX2RyYXcodmlld1dpZGdldCk7IH0s
IGRlcHRoKTsKKyAgICB9CiAjZW5kaWYKIAogICAgIHByaXYtPmF1dGhlbnRpY2F0aW9uRGlhbG9n
ID0gMDsKQEAgLTQ1Myw2ICs0NTksNyBAQCBzdGF0aWMgYm9vbCB3ZWJraXRXZWJWaWV3UmVuZGVy
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jlc3VsdHMoV2ViS2l0V2ViVmlld0Jhc2UqCiAgICAgaWYg
KGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPnN1cmZh
Y2UoKSkgewogICAgICAgICBjYWlyb19yZWN0YW5nbGUoY3IsIGNsaXBSZWN0LT54LCBjbGlwUmVj
dC0+eSwgY2xpcFJlY3QtPndpZHRoLCBjbGlwUmVjdC0+aGVpZ2h0KTsKICAgICAgICAgY2Fpcm9f
c2V0X3NvdXJjZV9zdXJmYWNlKGNyLCBzdXJmYWNlLCAwLCAwKTsKKyAgICAgICAgY2Fpcm9fc2V0
X29wZXJhdG9yKGNyLCBDQUlST19PUEVSQVRPUl9TT1VSQ0UpOwogICAgICAgICBjYWlyb19maWxs
KGNyKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsv
UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAKaW5kZXggMTEyYzhlYi4uZDcwZTEz
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENv
bXBvc2l0ZVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUg
PFgxMS9leHRlbnNpb25zL1hjb21wb3NpdGUuaD4KICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9Y
ZGFtYWdlLmg+CisjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWHJlbmRlci5oPgogI2luY2x1ZGUg
PGNhaXJvLXhsaWIuaD4KICNpbmNsdWRlIDxnZGsvZ2RreC5oPgogI2luY2x1ZGUgPGdsaWIuaD4K
QEAgLTEyNiwxMiArMTI3LDEyIEBAIHN0YXRpYyBib29sIHN1cHBvcnRzWERhbWFnZUFuZFhDb21w
b3NpdGUoRGlzcGxheSogZGlzcGxheSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RkOjp1bmlx
dWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93PiBSZWRpcmVjdGVkWENvbXBvc2l0ZVdp
bmRvdzo6Y3JlYXRlKERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IEludFNpemUmIHNpemUsIHN0ZDo6
ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpCitzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3Rl
ZFhDb21wb3NpdGVXaW5kb3c+IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoRGlz
cGxheSogZGlzcGxheSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+
IGRhbWFnZU5vdGlmeSwgaW50IGRlcHRoKQogewotICAgIHJldHVybiBzdXBwb3J0c1hEYW1hZ2VB
bmRYQ29tcG9zaXRlKGRpc3BsYXkpID8gc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9z
aXRlV2luZG93PihuZXcgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coZGlzcGxheSwgc2l6ZSwg
ZGFtYWdlTm90aWZ5KSkgOiBudWxscHRyOworICAgIHJldHVybiBzdXBwb3J0c1hEYW1hZ2VBbmRY
Q29tcG9zaXRlKGRpc3BsYXkpID8gc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93PihuZXcgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coZGlzcGxheSwgc2l6ZSwgZGFt
YWdlTm90aWZ5LCBkZXB0aCkpIDogbnVsbHB0cjsKIH0KIAotUmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqIGRpc3BsYXksIGNvbnN0
IEludFNpemUmIHNpemUsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpCitSZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxh
eSogZGlzcGxheSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRh
bWFnZU5vdGlmeSwgaW50IGRlcHRoKQogICAgIDogbV9kaXNwbGF5KGRpc3BsYXkpCiAgICAgLCBt
X3NpemUoc2l6ZSkKICAgICAsIG1fd2luZG93KDApCkBAIC0xNDEsMjAgKzE0Miw2MyBAQCBSZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxh
eSogZGlzcGxheSwgY29uc3QgSQogICAgICwgbV9uZWVkc05ld1BpeG1hcEFmdGVyUmVzaXplKGZh
bHNlKQogewogICAgIFNjcmVlbiogc2NyZWVuID0gRGVmYXVsdFNjcmVlbk9mRGlzcGxheShkaXNw
bGF5KTsKLQotICAgIC8vIFRoaXMgaXMgYmFzZWQgb24gY29kZSBmcm9tIENocm9taXVtOiBzcmMv
Y29udGVudC9jb21tb24vZ3B1L2ltYWdlX3RyYW5zcG9ydF9zdXJmYWNlX2xpbnV4LmNjCiAgICAg
WFNldFdpbmRvd0F0dHJpYnV0ZXMgd2luZG93QXR0cmlidXRlczsKLSAgICB3aW5kb3dBdHRyaWJ1
dGVzLm92ZXJyaWRlX3JlZGlyZWN0ID0gVHJ1ZTsKLSAgICBtX3BhcmVudFdpbmRvdyA9IFhDcmVh
dGVXaW5kb3coZGlzcGxheSwKLSAgICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCi0g
ICAgICAgIFdpZHRoT2ZTY3JlZW4oc2NyZWVuKSArIDEsIDAsIDEsIDEsCi0gICAgICAgIDAsCi0g
ICAgICAgIENvcHlGcm9tUGFyZW50LAotICAgICAgICBJbnB1dE91dHB1dCwKLSAgICAgICAgQ29w
eUZyb21QYXJlbnQsCi0gICAgICAgIENXT3ZlcnJpZGVSZWRpcmVjdCwKLSAgICAgICAgJndpbmRv
d0F0dHJpYnV0ZXMpOwotICAgIFhNYXBXaW5kb3coZGlzcGxheSwgbV9wYXJlbnRXaW5kb3cpOwor
CisgICAgaWYgKGRlcHRoID09IDMyKSB7CisgICAgICAgIC8vIE1hbnVhbGx5IHNlbGVjdCB0aGUg
YXBwcm9wcmlhdGUgdmlzdWFsIHRvIHNldHVwIGEgUkdCQSB3aW5kb3cuCisgICAgICAgIFhSZW5k
ZXJQaWN0Rm9ybWF0KiBmbXQgPSAwOworICAgICAgICBYVmlzdWFsSW5mbyogeHZpID0gMDsKKyAg
ICAgICAgVmlzdWFsKiB2aXMgPSAwOworICAgICAgICBYVmlzdWFsSW5mbyB2aV9pbjsKKyAgICAg
ICAgaW50IG52aSA9IDA7CisgICAgICAgIGludCBzY3IgPSBEZWZhdWx0U2NyZWVuKGRpc3BsYXkp
OworICAgICAgICB2aV9pbi5zY3JlZW4gPSBzY3I7CisgICAgICAgIHZpX2luLmRlcHRoID0gMzI7
CisgICAgICAgIHZpX2luLmNfY2xhc3MgPSBUcnVlQ29sb3I7CisgICAgICAgIHh2aSA9IFhHZXRW
aXN1YWxJbmZvKGRpc3BsYXksIFZpc3VhbFNjcmVlbk1hc2sgfCBWaXN1YWxEZXB0aE1hc2sgfCBW
aXN1YWxDbGFzc01hc2ssICZ2aV9pbiwgJm52aSk7CisgICAgICAgIHZpcyA9IDA7CisgICAgICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgbnZpOyArK2kpIHsKKyAgICAgICAgICAgIGZtdCA9IFhSZW5k
ZXJGaW5kVmlzdWFsRm9ybWF0KGRpc3BsYXksIHh2aVtpXS52aXN1YWwpOworICAgICAgICAgICAg
aWYgKChmbXQtPnR5cGUgPT0gUGljdFR5cGVEaXJlY3QpICYmIChmbXQtPmRpcmVjdC5hbHBoYU1h
c2spKSB7CisgICAgICAgICAgICAgICAgdmlzID0geHZpW2ldLnZpc3VhbDsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBYRnJlZSh4dmkp
OworCisgICAgICAgIFhTZXRXaW5kb3dBdHRyaWJ1dGVzIHdpbmRvd0F0dHJpYnV0ZXM7CisgICAg
ICAgIHdpbmRvd0F0dHJpYnV0ZXMuYmFja2luZ19zdG9yZSA9IE5vdFVzZWZ1bDsKKyAgICAgICAg
d2luZG93QXR0cmlidXRlcy5vdmVycmlkZV9yZWRpcmVjdCA9IFRydWU7CisgICAgICAgIHdpbmRv
d0F0dHJpYnV0ZXMuYmFja2dyb3VuZF9waXhtYXAgPSBOb25lOworICAgICAgICB3aW5kb3dBdHRy
aWJ1dGVzLmNvbG9ybWFwID0gWENyZWF0ZUNvbG9ybWFwKGRpc3BsYXksIERlZmF1bHRSb290V2lu
ZG93KGRpc3BsYXkpLCB2aXMsIEFsbG9jTm9uZSk7CisgICAgICAgIG1fcGFyZW50V2luZG93ID0g
WENyZWF0ZVdpbmRvdyhkaXNwbGF5LAorICAgICAgICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNj
cmVlbiksCisgICAgICAgICAgICBXaWR0aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAwLCAxLCAxLAor
ICAgICAgICAgICAgMCwKKyAgICAgICAgICAgIDMyLAorICAgICAgICAgICAgSW5wdXRPdXRwdXQs
CisgICAgICAgICAgICB2aXMsCisgICAgICAgICAgICBDV0JhY2tpbmdTdG9yZSB8CisgICAgICAg
ICAgICBDV092ZXJyaWRlUmVkaXJlY3QgfAorICAgICAgICAgICAgQ1dDb2xvcm1hcCB8CisgICAg
ICAgICAgICBDV0JvcmRlclBpeGVsIHwKKyAgICAgICAgICAgIENXQmFja1BpeG1hcCwKKyAgICAg
ICAgICAgICZ3aW5kb3dBdHRyaWJ1dGVzKTsKKyAgICAgICAgWE1hcFdpbmRvdyhkaXNwbGF5LCBt
X3BhcmVudFdpbmRvdyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gVGhpcyBpcyBiYXNlZCBv
biBjb2RlIGZyb20gQ2hyb21pdW06IHNyYy9jb250ZW50L2NvbW1vbi9ncHUvaW1hZ2VfdHJhbnNw
b3J0X3N1cmZhY2VfbGludXguY2MKKyAgICAgICAgd2luZG93QXR0cmlidXRlcy5vdmVycmlkZV9y
ZWRpcmVjdCA9IFRydWU7CisgICAgICAgIG1fcGFyZW50V2luZG93ID0gWENyZWF0ZVdpbmRvdyhk
aXNwbGF5LAorICAgICAgICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCisgICAgICAg
ICAgICBXaWR0aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAwLCAxLCAxLAorICAgICAgICAgICAgMCwK
KyAgICAgICAgICAgIENvcHlGcm9tUGFyZW50LAorICAgICAgICAgICAgSW5wdXRPdXRwdXQsCisg
ICAgICAgICAgICBDb3B5RnJvbVBhcmVudCwKKyAgICAgICAgICAgIENXT3ZlcnJpZGVSZWRpcmVj
dCwKKyAgICAgICAgICAgICZ3aW5kb3dBdHRyaWJ1dGVzKTsKKyAgICAgICAgWE1hcFdpbmRvdyhk
aXNwbGF5LCBtX3BhcmVudFdpbmRvdyk7CisgICAgfQogCiAgICAgd2luZG93QXR0cmlidXRlcy5l
dmVudF9tYXNrID0gU3RydWN0dXJlTm90aWZ5TWFzazsKICAgICB3aW5kb3dBdHRyaWJ1dGVzLm92
ZXJyaWRlX3JlZGlyZWN0ID0gRmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmgKaW5kZXggYmZmYzBhYi4u
MTAxNzY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVj
dGVkWENvbXBvc2l0ZVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsv
UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogY2xhc3MgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cgewogcHVibGljOgot
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IGNy
ZWF0ZShEaXNwbGF5KiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9p
ZCgpPiBkYW1hZ2VOb3RpZnkpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3Rl
ZFhDb21wb3NpdGVXaW5kb3c+IGNyZWF0ZShEaXNwbGF5KiwgY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnksIGludCBkZXB0aCA9IDApOwog
ICAgIH5SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdygpOwogCiAgICAgV2luZG93IHdpbmRvd0lE
KCkgY29uc3QgeyByZXR1cm4gbV93aW5kb3c7IH0KQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgog
ICAgIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSgpOwogCiBwcml2YXRlOgotICAgIFJlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgc3Rk
OjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSk7CisgICAgUmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3coRGlzcGxheSosIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBzdGQ6OmZ1bmN0aW9u
PHZvaWQoKT4gZGFtYWdlTm90aWZ5LCBpbnQgZGVwdGggPSAwKTsKICAgICB2b2lkIGNsZWFudXBQ
aXhtYXBBbmRQaXhtYXBTdXJmYWNlKCk7CiAKICAgICBEaXNwbGF5KiBtX2Rpc3BsYXk7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTdmMjI2MC4u
ZWY2ZWIyNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTExLTI0ICBKdWxpZW4gSXNvcmNlICA8ai5pc29yY2VA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgZ3RrOiBzdXBwb3J0IFJHQkEgZW5kLXRvLWVuZCBjb21w
b3NpdGluZyB3aGVuIHVzaW5nIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93CisKKyAgICAgICAg
T24gZ3RrL1gxMSwgdGhlIGxheW91dCBjb21wb3NpdGluZyBpcyBkb25lIGluIHRoZSB3ZWIgcHJv
Y2Vzcy4KKyAgICAgICAgSWYgb25lIG5lZWRzIHRvIGhhbmRsZSBhbHBoYSB3aXRoIHRoZSByZXN0
IG9mIHRoZSBhcHBsaWNhdGlvbgorICAgICAgICB0aGVuIGl0IGlzIG5vdCBlbm91Z2ggdG8gbWFr
ZSB0byBicm93c2VyJ3Mgd2luZG93IGFzIFJHQkEuCisgICAgICAgIFRoZSBzaGFyZWQgcmVkaXJl
Y3RlZCB3aW5kb3cgbmVlZHMgdG8gYmUgUkdCQSBhcyB3ZWxsLgorICAgICAgICAoVGhlIHNoYXJl
ZCBYIGNvbXBvc2l0ZSB3aW5kb3cgYmV0d2VlbiBVSVByb2Nlc3MgYW5kIFdlYlByb2Nlc3MpLgor
CisgICAgICAgIFRoaXMgYWxsb3dzIGFuIGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRo
ZSBhcHBsaWNhdGlvbgorICAgICAgICB3YW50cyB0byBpbnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBj
aGFubmVsIGF0IGNvbXBvc2l0aW5nIHRpbWUuCisKKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAo
T09QUyEpLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogTWluaUJyb3dzZXIvZ3RrL21haW4uYzoKKyAgICAgICAgKGNyZWF0ZUJyb3dzZXJXaW5kb3cp
OgorCiAyMDE0LTExLTI0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggR1RLKyBtYWtlIGRpc3RjaGVjay4KZGlmZiAt
LWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9n
dGsvbWFpbi5jCmluZGV4IDJiZmMxNzAuLmM1YjNlODAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlC
cm93c2VyL2d0ay9tYWluLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYwpAQCAt
NjAsNiArNjAsMTQgQEAgc3RhdGljIHZvaWQgY3JlYXRlQnJvd3NlcldpbmRvdyhjb25zdCBnY2hh
ciAqdXJpLCBXZWJLaXRTZXR0aW5ncyAqd2Via2l0U2V0dGluZ3MKIHsKICAgICBHdGtXaWRnZXQg
KndlYlZpZXcgPSB3ZWJraXRfd2ViX3ZpZXdfbmV3KCk7CiAgICAgR3RrV2lkZ2V0ICptYWluV2lu
ZG93ID0gYnJvd3Nlcl93aW5kb3dfbmV3KFdFQktJVF9XRUJfVklFVyh3ZWJWaWV3KSwgTlVMTCk7
CisKKyAgICAvLyBGSVhNRTogdXNlIHdlYnNldHRpbmdzCisgICAgaWYgKDEpIHsKKyAgICAgICAg
R2RrU2NyZWVuICpzY3JlZW4gPSBndGtfd2lkZ2V0X2dldF9zY3JlZW4oR1RLX1dJREdFVChtYWlu
V2luZG93KSk7CisgICAgICAgIEdka1Zpc3VhbCAqdmlzdWFsID0gZ2RrX3NjcmVlbl9nZXRfcmdi
YV92aXN1YWwoc2NyZWVuKTsKKyAgICAgICAgZ3RrX3dpZGdldF9zZXRfdmlzdWFsKEdUS19XSURH
RVQobWFpbldpbmRvdyksIHZpc3VhbCk7CisgICAgfQorCiAgICAgZ2NoYXIgKnVybCA9IGFyZ3Vt
ZW50VG9VUkwodXJpKTsKIAogICAgIGlmICh3ZWJraXRTZXR0aW5ncykKLS0gCjEuOS4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242162</attachid>
            <date>2014-11-24 08:04:16 -0800</date>
            <delta_ts>2014-11-25 08:06:45 -0800</delta_ts>
            <desc>gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow</desc>
            <filename>0001-gtk-support-RGBA-end-to-end-compositing-when-using-R.patch</filename>
            <type>text/plain</type>
            <size>11622</size>
            <attacher name="Julien Isorce">j.isorce</attacher>
            
              <data encoding="base64">RnJvbSA3ZDU1N2Q3NjhjNjVlZWRkMmY3N2JjYTMyYjhmZWFhZjdjMzNlOGU1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4K
RGF0ZTogTW9uLCAyNCBOb3YgMjAxNCAxNTowMjowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIGd0
azogc3VwcG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hlbiB1c2luZwogUmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3cKCk9uIGd0ay9YMTEsIHRoZSBsYXlvdXQgY29tcG9zaXRpbmcg
aXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCklmIG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEg
d2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24KdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRv
IG1ha2UgdG8gYnJvd3NlcidzIHdpbmRvdyBhcyBSR0JBLgpUaGUgc2hhcmVkIHJlZGlyZWN0ZWQg
d2luZG93IG5lZWRzIHRvIGJlIFJHQkEgYXMgd2VsbC4KKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUg
d2luZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KClRoaXMgYWxsb3dzIGFu
IGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBhcHBsaWNhdGlvbgp3YW50cyB0byBp
bnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFubmVsIGF0IGNvbXBvc2l0aW5nIHRpbWUuCgpodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CgpSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KClNpZ25lZC1vZmYtYnk6IEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNh
bXN1bmcuY29tPgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgMjUgKysrKysrKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXdCYXNlLmNwcCAgICAgICAgfCAxMiArKystCiAuLi4vVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVk
WENvbXBvc2l0ZVdpbmRvdy5jcHAgICB8IDc2ICsrKysrKysrKysrKysrKysrLS0tLS0KIC4uLi9V
SVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmggICAgIHwgIDQgKy0KIFRv
b2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysr
KysrCiBUb29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jICAgICAgICAgICAgICAgICAgICAgICB8
ICA4ICsrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDZmMjgzMmYuLjZjM2E0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAxNC0xMS0yNCAgSnVsaWVuIElzb3JjZSAgPGouaXNvcmNlQHNhbXN1bmcuY29t
PgorCisgICAgICAgIGd0azogc3VwcG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hl
biB1c2luZyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdworCisgICAgICAgIE9uIGd0ay9YMTEs
IHRoZSBsYXlvdXQgY29tcG9zaXRpbmcgaXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCisgICAg
ICAgIElmIG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEgd2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBw
bGljYXRpb24KKyAgICAgICAgdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRvIG1ha2UgdG8gYnJvd3Nl
cidzIHdpbmRvdyBhcyBSR0JBLgorICAgICAgICBUaGUgc2hhcmVkIHJlZGlyZWN0ZWQgd2luZG93
IG5lZWRzIHRvIGJlIFJHQkEgYXMgd2VsbC4KKyAgICAgICAgKFRoZSBzaGFyZWQgWCBjb21wb3Np
dGUgd2luZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KKworICAgICAgICBU
aGlzIGFsbG93cyBhbiBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0aGUgYXBwbGljYXRp
b24KKyAgICAgICAgd2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBhdCBj
b21wb3NpdGluZyB0aW1lLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzkwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdC
YXNlLmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlQ29uc3RydWN0ZWQpOgorICAgICAg
ICAod2Via2l0V2ViVmlld1JlbmRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSZXN1bHRzKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJLaXQ6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpSZWRpcmVjdGVkWENvbXBv
c2l0ZVdpbmRvdyk6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0
ZVdpbmRvdy5oOgorCiAyMDE0LTExLTI0ICBBbGJlcnRvIEdhcmNpYSAgPGJlcnRvQGlnYWxpYS5j
b20+CiAKICAgICAgICAgV2Via2l0MiBkb2VzbnQgYnVpbGQgb24gcG93ZXJwYyAzMiBiaXRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAKaW5kZXggZTZjNjZjNy4uM2YyODVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtNDMwLDgg
KzQzMCwxNSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZUNvbnN0cnVjdGVkKEdPYmpl
Y3QqIG9iamVjdCkKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDEx
KQogICAgIEdka0Rpc3BsYXkqIGRpc3BsYXkgPSBnZGtfZGlzcGxheV9tYW5hZ2VyX2dldF9kZWZh
dWx0X2Rpc3BsYXkoZ2RrX2Rpc3BsYXlfbWFuYWdlcl9nZXQoKSk7Ci0gICAgaWYgKEdES19JU19Y
MTFfRElTUExBWShkaXNwbGF5KSkKLSAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyA9IFJl
ZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoR0RLX0RJU1BMQVlfWERJU1BMQVkoZGlz
cGxheSksIEludFNpemUoMSwgMSksIFt2aWV3V2lkZ2V0XSB7IGd0a193aWRnZXRfcXVldWVfZHJh
dyh2aWV3V2lkZ2V0KTsgfSk7CisgICAgaWYgKEdES19JU19YMTFfRElTUExBWShkaXNwbGF5KSkg
eworICAgICAgICAvLyBkZWZhdWx0IHN5c3RlbSBkZXB0aCwgMjQuCisgICAgICAgIGludCBkZXB0
aCA9IDA7CisgICAgICAgIC8vIEZJWE1FIHVzZSB3ZWJzZXR0aW5ncworICAgICAgICBpZiAoMSkK
KyAgICAgICAgICAgIGRlcHRoID0gMzI7CisgICAgICAgIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cg
PSBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKEdES19ESVNQTEFZX1hESVNQTEFZ
KGRpc3BsYXkpLCBJbnRTaXplKDEsIDEpLCBbdmlld1dpZGdldF0geyBndGtfd2lkZ2V0X3F1ZXVl
X2RyYXcodmlld1dpZGdldCk7IH0sCisgICAgICAgICAgICBkZXB0aCk7CisgICAgfQogI2VuZGlm
CiAKICAgICBwcml2LT5hdXRoZW50aWNhdGlvbkRpYWxvZyA9IDA7CkBAIC00NTMsNiArNDYwLDcg
QEAgc3RhdGljIGJvb2wgd2Via2l0V2ViVmlld1JlbmRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdS
ZXN1bHRzKFdlYktpdFdlYlZpZXdCYXNlKgogICAgIGlmIChjYWlyb19zdXJmYWNlX3QqIHN1cmZh
Y2UgPSBwcml2LT5yZWRpcmVjdGVkV2luZG93LT5zdXJmYWNlKCkpIHsKICAgICAgICAgY2Fpcm9f
cmVjdGFuZ2xlKGNyLCBjbGlwUmVjdC0+eCwgY2xpcFJlY3QtPnksIGNsaXBSZWN0LT53aWR0aCwg
Y2xpcFJlY3QtPmhlaWdodCk7CiAgICAgICAgIGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShjciwg
c3VyZmFjZSwgMCwgMCk7CisgICAgICAgIGNhaXJvX3NldF9vcGVyYXRvcihjciwgQ0FJUk9fT1BF
UkFUT1JfU09VUkNFKTsKICAgICAgICAgY2Fpcm9fZmlsbChjcik7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2lu
ZG93LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3cuY3BwCmluZGV4IDExMmM4ZWIuLmQ3MGUxMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cu
Y3BwCkBAIC0zMSw2ICszMSw3IEBACiAKICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YY29tcG9z
aXRlLmg+CiAjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWGRhbWFnZS5oPgorI2luY2x1ZGUgPFgx
MS9leHRlbnNpb25zL1hyZW5kZXIuaD4KICNpbmNsdWRlIDxjYWlyby14bGliLmg+CiAjaW5jbHVk
ZSA8Z2RrL2dka3guaD4KICNpbmNsdWRlIDxnbGliLmg+CkBAIC0xMjYsMTIgKzEyNywxMiBAQCBz
dGF0aWMgYm9vbCBzdXBwb3J0c1hEYW1hZ2VBbmRYQ29tcG9zaXRlKERpc3BsYXkqIGRpc3BsYXkp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBv
c2l0ZVdpbmRvdz4gUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OmNyZWF0ZShEaXNwbGF5KiBk
aXNwbGF5LCBjb25zdCBJbnRTaXplJiBzaXplLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdl
Tm90aWZ5KQorc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93PiBSZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IElu
dFNpemUmIHNpemUsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnksIGludCBkZXB0
aCkKIHsKLSAgICByZXR1cm4gc3VwcG9ydHNYRGFtYWdlQW5kWENvbXBvc2l0ZShkaXNwbGF5KSA/
IHN0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4obmV3IFJlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93KGRpc3BsYXksIHNpemUsIGRhbWFnZU5vdGlmeSkpIDogbnVsbHB0
cjsKKyAgICByZXR1cm4gc3VwcG9ydHNYRGFtYWdlQW5kWENvbXBvc2l0ZShkaXNwbGF5KSA/IHN0
ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4obmV3IFJlZGlyZWN0ZWRY
Q29tcG9zaXRlV2luZG93KGRpc3BsYXksIHNpemUsIGRhbWFnZU5vdGlmeSwgZGVwdGgpKSA6IG51
bGxwdHI7CiB9CiAKLVJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpSZWRpcmVjdGVkWENvbXBv
c2l0ZVdpbmRvdyhEaXNwbGF5KiBkaXNwbGF5LCBjb25zdCBJbnRTaXplJiBzaXplLCBzdGQ6OmZ1
bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5KQorUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6
OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IEludFNp
emUmIHNpemUsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnksIGludCBkZXB0aCkK
ICAgICA6IG1fZGlzcGxheShkaXNwbGF5KQogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX3dp
bmRvdygwKQpAQCAtMTQxLDIwICsxNDIsNjMgQEAgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6
OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IEkKICAg
ICAsIG1fbmVlZHNOZXdQaXhtYXBBZnRlclJlc2l6ZShmYWxzZSkKIHsKICAgICBTY3JlZW4qIHNj
cmVlbiA9IERlZmF1bHRTY3JlZW5PZkRpc3BsYXkoZGlzcGxheSk7Ci0KLSAgICAvLyBUaGlzIGlz
IGJhc2VkIG9uIGNvZGUgZnJvbSBDaHJvbWl1bTogc3JjL2NvbnRlbnQvY29tbW9uL2dwdS9pbWFn
ZV90cmFuc3BvcnRfc3VyZmFjZV9saW51eC5jYwogICAgIFhTZXRXaW5kb3dBdHRyaWJ1dGVzIHdp
bmRvd0F0dHJpYnV0ZXM7Ci0gICAgd2luZG93QXR0cmlidXRlcy5vdmVycmlkZV9yZWRpcmVjdCA9
IFRydWU7Ci0gICAgbV9wYXJlbnRXaW5kb3cgPSBYQ3JlYXRlV2luZG93KGRpc3BsYXksCi0gICAg
ICAgIFJvb3RXaW5kb3dPZlNjcmVlbihzY3JlZW4pLAotICAgICAgICBXaWR0aE9mU2NyZWVuKHNj
cmVlbikgKyAxLCAwLCAxLCAxLAotICAgICAgICAwLAotICAgICAgICBDb3B5RnJvbVBhcmVudCwK
LSAgICAgICAgSW5wdXRPdXRwdXQsCi0gICAgICAgIENvcHlGcm9tUGFyZW50LAotICAgICAgICBD
V092ZXJyaWRlUmVkaXJlY3QsCi0gICAgICAgICZ3aW5kb3dBdHRyaWJ1dGVzKTsKLSAgICBYTWFw
V2luZG93KGRpc3BsYXksIG1fcGFyZW50V2luZG93KTsKKworICAgIGlmIChkZXB0aCA9PSAzMikg
eworICAgICAgICAvLyBNYW51YWxseSBzZWxlY3QgdGhlIGFwcHJvcHJpYXRlIHZpc3VhbCB0byBz
ZXR1cCBhIFJHQkEgd2luZG93LgorICAgICAgICBYUmVuZGVyUGljdEZvcm1hdCogZm10ID0gMDsK
KyAgICAgICAgWFZpc3VhbEluZm8qIHh2aSA9IDA7CisgICAgICAgIFZpc3VhbCogdmlzID0gMDsK
KyAgICAgICAgWFZpc3VhbEluZm8gdmlfaW47CisgICAgICAgIGludCBudmkgPSAwOworICAgICAg
ICBpbnQgc2NyID0gRGVmYXVsdFNjcmVlbihkaXNwbGF5KTsKKyAgICAgICAgdmlfaW4uc2NyZWVu
ID0gc2NyOworICAgICAgICB2aV9pbi5kZXB0aCA9IDMyOworICAgICAgICB2aV9pbi5jX2NsYXNz
ID0gVHJ1ZUNvbG9yOworICAgICAgICB4dmkgPSBYR2V0VmlzdWFsSW5mbyhkaXNwbGF5LCBWaXN1
YWxTY3JlZW5NYXNrIHwgVmlzdWFsRGVwdGhNYXNrIHwgVmlzdWFsQ2xhc3NNYXNrLCAmdmlfaW4s
ICZudmkpOworICAgICAgICB2aXMgPSAwOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG52
aTsgKytpKSB7CisgICAgICAgICAgICBmbXQgPSBYUmVuZGVyRmluZFZpc3VhbEZvcm1hdChkaXNw
bGF5LCB4dmlbaV0udmlzdWFsKTsKKyAgICAgICAgICAgIGlmICgoZm10LT50eXBlID09IFBpY3RU
eXBlRGlyZWN0KSAmJiAoZm10LT5kaXJlY3QuYWxwaGFNYXNrKSkgeworICAgICAgICAgICAgICAg
IHZpcyA9IHh2aVtpXS52aXN1YWw7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICAgICAgWEZyZWUoeHZpKTsKKworICAgICAgICBYU2V0V2luZG93
QXR0cmlidXRlcyB3aW5kb3dBdHRyaWJ1dGVzOworICAgICAgICB3aW5kb3dBdHRyaWJ1dGVzLmJh
Y2tpbmdfc3RvcmUgPSBOb3RVc2VmdWw7CisgICAgICAgIHdpbmRvd0F0dHJpYnV0ZXMub3ZlcnJp
ZGVfcmVkaXJlY3QgPSBUcnVlOworICAgICAgICB3aW5kb3dBdHRyaWJ1dGVzLmJhY2tncm91bmRf
cGl4bWFwID0gTm9uZTsKKyAgICAgICAgd2luZG93QXR0cmlidXRlcy5jb2xvcm1hcCA9IFhDcmVh
dGVDb2xvcm1hcChkaXNwbGF5LCBEZWZhdWx0Um9vdFdpbmRvdyhkaXNwbGF5KSwgdmlzLCBBbGxv
Y05vbmUpOworICAgICAgICBtX3BhcmVudFdpbmRvdyA9IFhDcmVhdGVXaW5kb3coZGlzcGxheSwK
KyAgICAgICAgICAgIFJvb3RXaW5kb3dPZlNjcmVlbihzY3JlZW4pLAorICAgICAgICAgICAgV2lk
dGhPZlNjcmVlbihzY3JlZW4pICsgMSwgMCwgMSwgMSwKKyAgICAgICAgICAgIDAsCisgICAgICAg
ICAgICAzMiwKKyAgICAgICAgICAgIElucHV0T3V0cHV0LAorICAgICAgICAgICAgdmlzLAorICAg
ICAgICAgICAgQ1dCYWNraW5nU3RvcmUgfAorICAgICAgICAgICAgQ1dPdmVycmlkZVJlZGlyZWN0
IHwKKyAgICAgICAgICAgIENXQ29sb3JtYXAgfAorICAgICAgICAgICAgQ1dCb3JkZXJQaXhlbCB8
CisgICAgICAgICAgICBDV0JhY2tQaXhtYXAsCisgICAgICAgICAgICAmd2luZG93QXR0cmlidXRl
cyk7CisgICAgICAgIFhNYXBXaW5kb3coZGlzcGxheSwgbV9wYXJlbnRXaW5kb3cpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIC8vIFRoaXMgaXMgYmFzZWQgb24gY29kZSBmcm9tIENocm9taXVtOiBz
cmMvY29udGVudC9jb21tb24vZ3B1L2ltYWdlX3RyYW5zcG9ydF9zdXJmYWNlX2xpbnV4LmNjCisg
ICAgICAgIHdpbmRvd0F0dHJpYnV0ZXMub3ZlcnJpZGVfcmVkaXJlY3QgPSBUcnVlOworICAgICAg
ICBtX3BhcmVudFdpbmRvdyA9IFhDcmVhdGVXaW5kb3coZGlzcGxheSwKKyAgICAgICAgICAgIFJv
b3RXaW5kb3dPZlNjcmVlbihzY3JlZW4pLAorICAgICAgICAgICAgV2lkdGhPZlNjcmVlbihzY3Jl
ZW4pICsgMSwgMCwgMSwgMSwKKyAgICAgICAgICAgIDAsCisgICAgICAgICAgICBDb3B5RnJvbVBh
cmVudCwKKyAgICAgICAgICAgIElucHV0T3V0cHV0LAorICAgICAgICAgICAgQ29weUZyb21QYXJl
bnQsCisgICAgICAgICAgICBDV092ZXJyaWRlUmVkaXJlY3QsCisgICAgICAgICAgICAmd2luZG93
QXR0cmlidXRlcyk7CisgICAgICAgIFhNYXBXaW5kb3coZGlzcGxheSwgbV9wYXJlbnRXaW5kb3cp
OworICAgIH0KIAogICAgIHdpbmRvd0F0dHJpYnV0ZXMuZXZlbnRfbWFzayA9IFN0cnVjdHVyZU5v
dGlmeU1hc2s7CiAgICAgd2luZG93QXR0cmlidXRlcy5vdmVycmlkZV9yZWRpcmVjdCA9IEZhbHNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENv
bXBvc2l0ZVdpbmRvdy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVk
WENvbXBvc2l0ZVdpbmRvdy5oCmluZGV4IGJmZmMwYWIuLjEwMTc2OWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2lu
ZG93LmgKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlZGly
ZWN0ZWRYQ29tcG9zaXRlV2luZG93IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93PiBjcmVhdGUoRGlzcGxheSosIGNvbnN0IFdl
YkNvcmU6OkludFNpemUmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5KTsKKyAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93PiBjcmVh
dGUoRGlzcGxheSosIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQo
KT4gZGFtYWdlTm90aWZ5LCBpbnQgZGVwdGggPSAwKTsKICAgICB+UmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3coKTsKIAogICAgIFdpbmRvdyB3aW5kb3dJRCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lu
ZG93OyB9CkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBjYWlyb19zdXJmYWNlX3QqIHN1
cmZhY2UoKTsKIAogcHJpdmF0ZToKLSAgICBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhEaXNw
bGF5KiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1h
Z2VOb3RpZnkpOworICAgIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqLCBjb25z
dCBXZWJDb3JlOjpJbnRTaXplJiwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSwg
aW50IGRlcHRoID0gMCk7CiAgICAgdm9pZCBjbGVhbnVwUGl4bWFwQW5kUGl4bWFwU3VyZmFjZSgp
OwogCiAgICAgRGlzcGxheSogbV9kaXNwbGF5OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGU3ZjIyNjAuLjExODEyZTUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAx
NC0xMS0yNCAgSnVsaWVuIElzb3JjZSAgPGouaXNvcmNlQHNhbXN1bmcuY29tPgorCisgICAgICAg
IGd0azogc3VwcG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hlbiB1c2luZyBSZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdworCisgICAgICAgIE9uIGd0ay9YMTEsIHRoZSBsYXlvdXQg
Y29tcG9zaXRpbmcgaXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIElmIG9uZSBu
ZWVkcyB0byBoYW5kbGUgYWxwaGEgd2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24KKyAg
ICAgICAgdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRvIG1ha2UgdG8gYnJvd3NlcidzIHdpbmRvdyBh
cyBSR0JBLgorICAgICAgICBUaGUgc2hhcmVkIHJlZGlyZWN0ZWQgd2luZG93IG5lZWRzIHRvIGJl
IFJHQkEgYXMgd2VsbC4KKyAgICAgICAgKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUgd2luZG93IGJl
dHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KKworICAgICAgICBUaGlzIGFsbG93cyBh
biBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0aGUgYXBwbGljYXRpb24KKyAgICAgICAg
d2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBhdCBjb21wb3NpdGluZyB0
aW1lLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzkwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IE1pbmlCcm93c2VyL2d0ay9tYWluLmM6CisgICAgICAgIChjcmVhdGVCcm93c2VyV2luZG93KToK
KwogMjAxNC0xMS0yNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4IEdUSysgbWFrZSBkaXN0Y2hlY2suCmRpZmYgLS1n
aXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3Rr
L21haW4uYwppbmRleCAyYmZjMTcwLi5jNWIzZTgwIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9ndGsvbWFpbi5jCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMKQEAgLTYw
LDYgKzYwLDE0IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUJyb3dzZXJXaW5kb3coY29uc3QgZ2NoYXIg
KnVyaSwgV2ViS2l0U2V0dGluZ3MgKndlYmtpdFNldHRpbmdzCiB7CiAgICAgR3RrV2lkZ2V0ICp3
ZWJWaWV3ID0gd2Via2l0X3dlYl92aWV3X25ldygpOwogICAgIEd0a1dpZGdldCAqbWFpbldpbmRv
dyA9IGJyb3dzZXJfd2luZG93X25ldyhXRUJLSVRfV0VCX1ZJRVcod2ViVmlldyksIE5VTEwpOwor
CisgICAgLy8gRklYTUU6IHVzZSB3ZWJzZXR0aW5ncworICAgIGlmICgxKSB7CisgICAgICAgIEdk
a1NjcmVlbiAqc2NyZWVuID0gZ3RrX3dpZGdldF9nZXRfc2NyZWVuKEdUS19XSURHRVQobWFpbldp
bmRvdykpOworICAgICAgICBHZGtWaXN1YWwgKnZpc3VhbCA9IGdka19zY3JlZW5fZ2V0X3JnYmFf
dmlzdWFsKHNjcmVlbik7CisgICAgICAgIGd0a193aWRnZXRfc2V0X3Zpc3VhbChHVEtfV0lER0VU
KG1haW5XaW5kb3cpLCB2aXN1YWwpOworICAgIH0KKwogICAgIGdjaGFyICp1cmwgPSBhcmd1bWVu
dFRvVVJMKHVyaSk7CiAKICAgICBpZiAod2Via2l0U2V0dGluZ3MpCi0tIAoxLjkuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242197</attachid>
            <date>2014-11-25 08:06:45 -0800</date>
            <delta_ts>2014-11-28 06:33:39 -0800</delta_ts>
            <desc>gtk: support RGBA end-to-end compositing when using RedirectedXCompositeWindow</desc>
            <filename>0001-gtk-support-RGBA-end-to-end-compositing-when-using-R.patch</filename>
            <type>text/plain</type>
            <size>13206</size>
            <attacher name="Julien Isorce">j.isorce</attacher>
            
              <data encoding="base64">RnJvbSA5NWViZjI2NDg0NTVhOWVkZGYyMDdlZmZlOGU5ZjhmMGJkZTQzYTRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4K
RGF0ZTogTW9uLCAyNCBOb3YgMjAxNCAxNTowMjowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIGd0
azogc3VwcG9ydCBSR0JBIGVuZC10by1lbmQgY29tcG9zaXRpbmcgd2hlbiB1c2luZwogUmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3cKCk9uIGd0ay9YMTEsIHRoZSBsYXlvdXQgY29tcG9zaXRpbmcg
aXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCklmIG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEg
d2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRpb24KdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRv
IG1ha2UgdG8gYnJvd3NlcidzIHdpbmRvdyBhcyBSR0JBLgpUaGUgc2hhcmVkIHJlZGlyZWN0ZWQg
d2luZG93IG5lZWRzIHRvIGJlIFJHQkEgYXMgd2VsbC4KKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUg
d2luZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KClRoaXMgYWxsb3dzIGFu
IGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBhcHBsaWNhdGlvbgp3YW50cyB0byBp
bnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFubmVsIGF0IGNvbXBvc2l0aW5nIHRpbWUuCgpzZXQg
TUlOSUJST1dTRVJfQUxQSEE9MSB0byBlbmFibGUgaXQgaW4gTWluaUJyb3dzZXIuCgpodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KClNpZ25lZC1vZmYtYnk6IEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1
bmcuY29tPgotLS0KIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgMjkgKysrKysrKysKIC4uLi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAgICAgICAgIHwgMjAgKysrKysrCiAuLi4vVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVk
WENvbXBvc2l0ZVdpbmRvdy5jcHAgICB8IDc3ICsrKysrKysrKysrKysrKysrKy0tLS0KIC4uLi9V
SVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmggICAgIHwgIDggKystCiBU
b29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIyICsr
KysrKysKIFRvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMgICAgICAgICAgICAgICAgICAgICAg
IHwgIDggKysrCiA2IGZpbGVzIGNoYW5nZWQsIDE0OCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmU4ZDJiMi4uOTIyODA3NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMyIEBACisyMDE0LTExLTI1ICBKdWxpZW4gSXNvcmNlICA8ai5pc29yY2VAc2Ftc3VuZy5j
b20+CisKKyAgICAgICAgZ3RrOiBzdXBwb3J0IFJHQkEgZW5kLXRvLWVuZCBjb21wb3NpdGluZyB3
aGVuIHVzaW5nIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93CisKKyAgICAgICAgT24gZ3RrL1gx
MSwgdGhlIGxheW91dCBjb21wb3NpdGluZyBpcyBkb25lIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICAgICAgSWYgb25lIG5lZWRzIHRvIGhhbmRsZSBhbHBoYSB3aXRoIHRoZSByZXN0IG9mIHRoZSBh
cHBsaWNhdGlvbgorICAgICAgICB0aGVuIGl0IGlzIG5vdCBlbm91Z2ggdG8gbWFrZSB0byBicm93
c2VyJ3Mgd2luZG93IGFzIFJHQkEuCisgICAgICAgIFRoZSBzaGFyZWQgcmVkaXJlY3RlZCB3aW5k
b3cgbmVlZHMgdG8gYmUgUkdCQSBhcyB3ZWxsLgorICAgICAgICAoVGhlIHNoYXJlZCBYIGNvbXBv
c2l0ZSB3aW5kb3cgYmV0d2VlbiBVSVByb2Nlc3MgYW5kIFdlYlByb2Nlc3MpLgorCisgICAgICAg
IFRoaXMgYWxsb3dzIGFuIGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBhcHBsaWNh
dGlvbgorICAgICAgICB3YW50cyB0byBpbnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFubmVsIGF0
IGNvbXBvc2l0aW5nIHRpbWUuCisKKyAgICAgICAgc2V0IE1JTklCUk9XU0VSX0FMUEhBPTEgdG8g
ZW5hYmxlIGl0IGluIE1pbmlCcm93c2VyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZSk6CisgICAgICAgICh3ZWJr
aXRXZWJWaWV3UmVuZGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jlc3VsdHMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwOgorICAgICAgICAo
V2ViS2l0OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YktpdDo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2lu
ZG93KToKKyAgICAgICAgKFdlYktpdDo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6On5SZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdyk6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9SZWRpcmVj
dGVkWENvbXBvc2l0ZVdpbmRvdy5oOgorICAgICAgICAoV2ViS2l0OjpSZWRpcmVjdGVkWENvbXBv
c2l0ZVdpbmRvdzo6aGFzQWxwaGEpOgorCiAyMDE0LTExLTI1ICBUaW5nLVdlaSBMYW4gIDxsYW50
dzQ0QGdtYWlsLmNvbT4KIAogICAgICAgICBbR1RLXSBVc2UgTERfTElCUkFSWV9QQVRIIHRvIG1h
a2UgZy1pci1zY2FubmVyIHVzZSB0aGUgbmV3bHktYnVpbHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCBlNmM2
NmM3Li4zM2NhMGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yNTUsNiArMjU1LDI1IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2V0VG9wbGV2ZWxPblNjcmVlbldpbmRvdyhXZWJLaXRXZWJW
aWV3QmFzZSogd2ViVmllCiAKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZShH
dGtXaWRnZXQqIHdpZGdldCkKIHsKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRG
T1JNKFgxMSkKKyAgICAvLyBNYXRjaCBhbHBoYSBzdXBwb3J0IHdpdGggcGFyZW50LgorICAgIGlm
IChHdGtXaWRnZXQqIHBhcmVudCA9IGd0a193aWRnZXRfZ2V0X3BhcmVudCh3aWRnZXQpKSB7Cisg
ICAgICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfVklFV19C
QVNFKHdpZGdldCktPnByaXY7CisgICAgICAgIEdka1Zpc3VhbCogdmlzdWFsID0gZ3RrX3dpZGdl
dF9nZXRfdmlzdWFsKHBhcmVudCk7CisgICAgICAgIGdpbnQgZGVwdGggPSBnZGtfdmlzdWFsX2dl
dF9kZXB0aCh2aXN1YWwpOworICAgICAgICBib29sIHN1cHBvcnRBbHBoYSA9IGRlcHRoID09IDMy
ICYmICghcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyB8fCAhcHJpdi0+cmVkaXJlY3RlZFdpbmRvdy0+
aGFzQWxwaGEoKSk7CisgICAgICAgIGlmIChzdXBwb3J0QWxwaGEpIHsKKyAgICAgICAgICAgIEdk
a0Rpc3BsYXkqIGRpc3BsYXkgPSBnZGtfZGlzcGxheV9tYW5hZ2VyX2dldF9kZWZhdWx0X2Rpc3Bs
YXkoZ2RrX2Rpc3BsYXlfbWFuYWdlcl9nZXQoKSk7CisgICAgICAgICAgICBpZiAoR0RLX0lTX1gx
MV9ESVNQTEFZKGRpc3BsYXkpKSB7CisgICAgICAgICAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdp
bmRvdyA9IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoR0RLX0RJU1BMQVlfWERJ
U1BMQVkoZGlzcGxheSksIEludFNpemUoMSwgMSksIFt3aWRnZXRdIHsgZ3RrX3dpZGdldF9xdWV1
ZV9kcmF3KHdpZGdldCk7IH0sCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnRBbHBoYSk7Cisg
ICAgICAgICAgICAgICAgaWYgKHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cpCisgICAgICAgICAgICAg
ICAgICAgIHByaXYtPnBhZ2VQcm94eS0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1dpbmRvd0lk
KHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPndpbmRvd0lEKCkpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorI2VuZGlmCisKICAgICBndGtfd2lkZ2V0X3NldF9yZWFsaXplZCh3aWRn
ZXQsIFRSVUUpOwogCiAgICAgR3RrQWxsb2NhdGlvbiBhbGxvY2F0aW9uOwpAQCAtNDUzLDYgKzQ3
Miw3IEBAIHN0YXRpYyBib29sIHdlYmtpdFdlYlZpZXdSZW5kZXJBY2NlbGVyYXRlZENvbXBvc2l0
aW5nUmVzdWx0cyhXZWJLaXRXZWJWaWV3QmFzZSoKICAgICBpZiAoY2Fpcm9fc3VyZmFjZV90KiBz
dXJmYWNlID0gcHJpdi0+cmVkaXJlY3RlZFdpbmRvdy0+c3VyZmFjZSgpKSB7CiAgICAgICAgIGNh
aXJvX3JlY3RhbmdsZShjciwgY2xpcFJlY3QtPngsIGNsaXBSZWN0LT55LCBjbGlwUmVjdC0+d2lk
dGgsIGNsaXBSZWN0LT5oZWlnaHQpOwogICAgICAgICBjYWlyb19zZXRfc291cmNlX3N1cmZhY2Uo
Y3IsIHN1cmZhY2UsIDAsIDApOworICAgICAgICBjYWlyb19zZXRfb3BlcmF0b3IoY3IsIENBSVJP
X09QRVJBVE9SX1NPVVJDRSk7CiAgICAgICAgIGNhaXJvX2ZpbGwoY3IpOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0
ZVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29t
cG9zaXRlV2luZG93LmNwcAppbmRleCAxMTJjOGViLi45NWE5ZDQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2lu
ZG93LmNwcApAQCAtMzEsNiArMzEsNyBAQAogCiAjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWGNv
bXBvc2l0ZS5oPgogI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1hkYW1hZ2UuaD4KKyNpbmNsdWRl
IDxYMTEvZXh0ZW5zaW9ucy9YcmVuZGVyLmg+CiAjaW5jbHVkZSA8Y2Fpcm8teGxpYi5oPgogI2lu
Y2x1ZGUgPGdkay9nZGt4Lmg+CiAjaW5jbHVkZSA8Z2xpYi5oPgpAQCAtMTI2LDEyICsxMjcsMTIg
QEAgc3RhdGljIGJvb2wgc3VwcG9ydHNYRGFtYWdlQW5kWENvbXBvc2l0ZShEaXNwbGF5KiBkaXNw
bGF5KQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhD
b21wb3NpdGVXaW5kb3c+IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoRGlzcGxh
eSogZGlzcGxheSwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRh
bWFnZU5vdGlmeSkKK3N0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4g
UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OmNyZWF0ZShEaXNwbGF5KiBkaXNwbGF5LCBjb25z
dCBJbnRTaXplJiBzaXplLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5LCBib29s
IHN1cHBvcnRBbHBoYSkKIHsKLSAgICByZXR1cm4gc3VwcG9ydHNYRGFtYWdlQW5kWENvbXBvc2l0
ZShkaXNwbGF5KSA/IHN0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4o
bmV3IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KGRpc3BsYXksIHNpemUsIGRhbWFnZU5vdGlm
eSkpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gc3VwcG9ydHNYRGFtYWdlQW5kWENvbXBvc2l0ZShk
aXNwbGF5KSA/IHN0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4obmV3
IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KGRpc3BsYXksIHNpemUsIGRhbWFnZU5vdGlmeSwg
c3VwcG9ydEFscGhhKSkgOiBudWxscHRyOwogfQogCi1SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRv
dzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSogZGlzcGxheSwgY29uc3QgSW50
U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSkKK1JlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhEaXNwbGF5KiBk
aXNwbGF5LCBjb25zdCBJbnRTaXplJiBzaXplLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdl
Tm90aWZ5LCBib29sIHN1cHBvcnRBbHBoYSkKICAgICA6IG1fZGlzcGxheShkaXNwbGF5KQogICAg
ICwgbV9zaXplKHNpemUpCiAgICAgLCBtX3dpbmRvdygwKQpAQCAtMTM5LDIyICsxNDAsNjggQEAg
UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERp
c3BsYXkqIGRpc3BsYXksIGNvbnN0IEkKICAgICAsIG1fcGl4bWFwKDApCiAgICAgLCBtX2RhbWFn
ZSgwKQogICAgICwgbV9uZWVkc05ld1BpeG1hcEFmdGVyUmVzaXplKGZhbHNlKQorICAgICwgbV9o
YXNBbHBoYShzdXBwb3J0QWxwaGEpCiB7CisKICAgICBTY3JlZW4qIHNjcmVlbiA9IERlZmF1bHRT
Y3JlZW5PZkRpc3BsYXkoZGlzcGxheSk7CiAKICAgICAvLyBUaGlzIGlzIGJhc2VkIG9uIGNvZGUg
ZnJvbSBDaHJvbWl1bTogc3JjL2NvbnRlbnQvY29tbW9uL2dwdS9pbWFnZV90cmFuc3BvcnRfc3Vy
ZmFjZV9saW51eC5jYwogICAgIFhTZXRXaW5kb3dBdHRyaWJ1dGVzIHdpbmRvd0F0dHJpYnV0ZXM7
Ci0gICAgd2luZG93QXR0cmlidXRlcy5vdmVycmlkZV9yZWRpcmVjdCA9IFRydWU7Ci0gICAgbV9w
YXJlbnRXaW5kb3cgPSBYQ3JlYXRlV2luZG93KGRpc3BsYXksCi0gICAgICAgIFJvb3RXaW5kb3dP
ZlNjcmVlbihzY3JlZW4pLAotICAgICAgICBXaWR0aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAwLCAx
LCAxLAotICAgICAgICAwLAotICAgICAgICBDb3B5RnJvbVBhcmVudCwKLSAgICAgICAgSW5wdXRP
dXRwdXQsCi0gICAgICAgIENvcHlGcm9tUGFyZW50LAotICAgICAgICBDV092ZXJyaWRlUmVkaXJl
Y3QsCi0gICAgICAgICZ3aW5kb3dBdHRyaWJ1dGVzKTsKLSAgICBYTWFwV2luZG93KGRpc3BsYXks
IG1fcGFyZW50V2luZG93KTsKKworICAgIGlmIChzdXBwb3J0QWxwaGEpIHsKKyAgICAgICAgLy8g
TWFudWFsbHkgc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSB2aXN1YWwgdG8gc2V0dXAgYSBSR0JBIHdp
bmRvdy4KKworICAgICAgICBYVmlzdWFsSW5mbyB2aV9pbjsKKyAgICAgICAgdmlfaW4uc2NyZWVu
ID0gRGVmYXVsdFNjcmVlbihkaXNwbGF5KTsKKyAgICAgICAgdmlfaW4uZGVwdGggPSAzMjsKKyAg
ICAgICAgdmlfaW4uY19jbGFzcyA9IFRydWVDb2xvcjsKKworICAgICAgICBpbnQgbnZpID0gMDsK
KyAgICAgICAgWFZpc3VhbEluZm8qIHh2aSA9IFhHZXRWaXN1YWxJbmZvKGRpc3BsYXksIFZpc3Vh
bFNjcmVlbk1hc2sgfCBWaXN1YWxEZXB0aE1hc2sgfCBWaXN1YWxDbGFzc01hc2ssICZ2aV9pbiwg
Jm52aSk7CisgICAgICAgIFZpc3VhbCogdmlzID0gMDsKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBudmk7ICsraSkgeworICAgICAgICAgICAgWFJlbmRlclBpY3RGb3JtYXQqIGZtdCA9IFhS
ZW5kZXJGaW5kVmlzdWFsRm9ybWF0KGRpc3BsYXksIHh2aVtpXS52aXN1YWwpOworICAgICAgICAg
ICAgaWYgKChmbXQtPnR5cGUgPT0gUGljdFR5cGVEaXJlY3QpICYmIChmbXQtPmRpcmVjdC5hbHBo
YU1hc2spKSB7CisgICAgICAgICAgICAgICAgdmlzID0geHZpW2ldLnZpc3VhbDsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBYRnJlZSh4
dmkpOworCisgICAgICAgIG1fY29sb3JtYXAgPSBYQ3JlYXRlQ29sb3JtYXAoZGlzcGxheSwgRGVm
YXVsdFJvb3RXaW5kb3coZGlzcGxheSksIHZpcywgQWxsb2NOb25lKTsKKworICAgICAgICBYU2V0
V2luZG93QXR0cmlidXRlcyB3aW5kb3dBdHRyaWJ1dGVzOworICAgICAgICB3aW5kb3dBdHRyaWJ1
dGVzLmJhY2tpbmdfc3RvcmUgPSBOb3RVc2VmdWw7CisgICAgICAgIHdpbmRvd0F0dHJpYnV0ZXMu
b3ZlcnJpZGVfcmVkaXJlY3QgPSBUcnVlOworICAgICAgICB3aW5kb3dBdHRyaWJ1dGVzLmJhY2tn
cm91bmRfcGl4bWFwID0gTm9uZTsKKyAgICAgICAgd2luZG93QXR0cmlidXRlcy5jb2xvcm1hcCA9
IG1fY29sb3JtYXA7CisgICAgICAgIG1fcGFyZW50V2luZG93ID0gWENyZWF0ZVdpbmRvdyhkaXNw
bGF5LAorICAgICAgICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCisgICAgICAgICAg
ICBXaWR0aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAwLCAxLCAxLAorICAgICAgICAgICAgMCwKKyAg
ICAgICAgICAgIDMyLAorICAgICAgICAgICAgSW5wdXRPdXRwdXQsCisgICAgICAgICAgICB2aXMs
CisgICAgICAgICAgICBDV0JhY2tpbmdTdG9yZSB8CisgICAgICAgICAgICBDV092ZXJyaWRlUmVk
aXJlY3QgfAorICAgICAgICAgICAgQ1dDb2xvcm1hcCB8CisgICAgICAgICAgICBDV0JvcmRlclBp
eGVsIHwKKyAgICAgICAgICAgIENXQmFja1BpeG1hcCwKKyAgICAgICAgICAgICZ3aW5kb3dBdHRy
aWJ1dGVzKTsKKyAgICAgICAgWE1hcFdpbmRvdyhkaXNwbGF5LCBtX3BhcmVudFdpbmRvdyk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgd2luZG93QXR0cmlidXRlcy5vdmVycmlkZV9yZWRpcmVjdCA9
IFRydWU7CisgICAgICAgIG1fcGFyZW50V2luZG93ID0gWENyZWF0ZVdpbmRvdyhkaXNwbGF5LAor
ICAgICAgICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCisgICAgICAgICAgICBXaWR0
aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAwLCAxLCAxLAorICAgICAgICAgICAgMCwKKyAgICAgICAg
ICAgIENvcHlGcm9tUGFyZW50LAorICAgICAgICAgICAgSW5wdXRPdXRwdXQsCisgICAgICAgICAg
ICBDb3B5RnJvbVBhcmVudCwKKyAgICAgICAgICAgIENXT3ZlcnJpZGVSZWRpcmVjdCwKKyAgICAg
ICAgICAgICZ3aW5kb3dBdHRyaWJ1dGVzKTsKKyAgICAgICAgWE1hcFdpbmRvdyhkaXNwbGF5LCBt
X3BhcmVudFdpbmRvdyk7CisgICAgfQogCiAgICAgd2luZG93QXR0cmlidXRlcy5ldmVudF9tYXNr
ID0gU3RydWN0dXJlTm90aWZ5TWFzazsKICAgICB3aW5kb3dBdHRyaWJ1dGVzLm92ZXJyaWRlX3Jl
ZGlyZWN0ID0gRmFsc2U7CkBAIC0xOTQsNiArMjQxLDggQEAgUmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3c6On5SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdygpCiAgICAgWERhbWFnZURlc3Ryb3ko
bV9kaXNwbGF5LCBtX2RhbWFnZSk7CiAgICAgWERlc3Ryb3lXaW5kb3cobV9kaXNwbGF5LCBtX3dp
bmRvdyk7CiAgICAgWERlc3Ryb3lXaW5kb3cobV9kaXNwbGF5LCBtX3BhcmVudFdpbmRvdyk7Cisg
ICAgaWYgKG1faGFzQWxwaGEpCisgICAgICAgIFhGcmVlQ29sb3JtYXAobV9kaXNwbGF5LCBtX2Nv
bG9ybWFwKTsKICAgICBjbGVhbnVwUGl4bWFwQW5kUGl4bWFwU3VyZmFjZSgpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9z
aXRlV2luZG93LmgKaW5kZXggYmZmYzBhYi4uMDgwNzcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaApA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKIHR5cGVkZWYgc3RydWN0
IF9YRGlzcGxheSBEaXNwbGF5OwordHlwZWRlZiB1bnNpZ25lZCBsb25nIENvbG9ybWFwOwogdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIERhbWFnZTsKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBQaXhtYXA7
CiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgV2luZG93OwpAQCAtNDIsMTUgKzQzLDE2IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRv
dz4gY3JlYXRlKERpc3BsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgc3RkOjpmdW5jdGlv
bjx2b2lkKCk+IGRhbWFnZU5vdGlmeSk7CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxSZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4gY3JlYXRlKERpc3BsYXkqLCBjb25zdCBXZWJDb3JlOjpJ
bnRTaXplJiwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSwgYm9vbCBzdXBwb3J0
QWxwaGEgPSBmYWxzZSk7CiAgICAgflJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KCk7CiAKICAg
ICBXaW5kb3cgd2luZG93SUQoKSBjb25zdCB7IHJldHVybiBtX3dpbmRvdzsgfQogICAgIHZvaWQg
cmVzaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKICAgICBjYWlyb19zdXJmYWNlX3QqIHN1
cmZhY2UoKTsKKyAgICBpbnQgaGFzQWxwaGEoKSBjb25zdCB7IHJldHVybiBtX2hhc0FscGhhOyB9
OwogCiBwcml2YXRlOgotICAgIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqLCBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlm
eSk7CisgICAgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSosIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5LCBib29sIHN1
cHBvcnRBbHBoYSk7CiAgICAgdm9pZCBjbGVhbnVwUGl4bWFwQW5kUGl4bWFwU3VyZmFjZSgpOwog
CiAgICAgRGlzcGxheSogbV9kaXNwbGF5OwpAQCAtNjEsNiArNjMsOCBAQCBwcml2YXRlOgogICAg
IERhbWFnZSBtX2RhbWFnZTsKICAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBtX3N1cmZhY2U7
CiAgICAgYm9vbCBtX25lZWRzTmV3UGl4bWFwQWZ0ZXJSZXNpemU7CisgICAgYm9vbCBtX2hhc0Fs
cGhhOworICAgIENvbG9ybWFwIG1fY29sb3JtYXA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBm
YzgzYmZhLi5hOWNlNzNmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTQtMTEtMjUgIEp1bGllbiBJc29yY2UgIDxq
Lmlzb3JjZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBndGs6IHN1cHBvcnQgUkdCQSBlbmQtdG8t
ZW5kIGNvbXBvc2l0aW5nIHdoZW4gdXNpbmcgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cKKwor
ICAgICAgICBPbiBndGsvWDExLCB0aGUgbGF5b3V0IGNvbXBvc2l0aW5nIGlzIGRvbmUgaW4gdGhl
IHdlYiBwcm9jZXNzLgorICAgICAgICBJZiBvbmUgbmVlZHMgdG8gaGFuZGxlIGFscGhhIHdpdGgg
dGhlIHJlc3Qgb2YgdGhlIGFwcGxpY2F0aW9uCisgICAgICAgIHRoZW4gaXQgaXMgbm90IGVub3Vn
aCB0byBtYWtlIHRvIGJyb3dzZXIncyB3aW5kb3cgYXMgUkdCQS4KKyAgICAgICAgVGhlIHNoYXJl
ZCByZWRpcmVjdGVkIHdpbmRvdyBuZWVkcyB0byBiZSBSR0JBIGFzIHdlbGwuCisgICAgICAgIChU
aGUgc2hhcmVkIFggY29tcG9zaXRlIHdpbmRvdyBiZXR3ZWVuIFVJUHJvY2VzcyBhbmQgV2ViUHJv
Y2VzcykuCisKKyAgICAgICAgVGhpcyBhbGxvd3MgYW4gZW5kLXRvLWVuZCBSR0JBIHNvbHV0aW9u
IHdoZW4gdGhlIGFwcGxpY2F0aW9uCisgICAgICAgIHdhbnRzIHRvIGludGVyYWN0IHdpdGggdGhl
IGFscGhhIGNoYW5uZWwgYXQgY29tcG9zaXRpbmcgdGltZS4KKworICAgICAgICBzZXQgTUlOSUJS
T1dTRVJfQUxQSEE9MSB0byBlbmFibGUgaXQgaW4gTWluaUJyb3dzZXIuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTAyOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL21h
aW4uYzoKKyAgICAgICAgKGNyZWF0ZUJyb3dzZXJXaW5kb3cpOgorCiAyMDE0LTExLTI1ICBUYW5h
eSBDICA8dGFuYXkuY0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RLXSBNaW5pYnJvd3Nlcjog
QWRkIHN1cHBvcnQgZm9yIHpvb20gdXNpbmcgQ29udHJvbCBLZXkgKyBNb3VzZSBzY3JvbGwKZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nl
ci9ndGsvbWFpbi5jCmluZGV4IDJiZmMxNzAuLmE2ZWEwYWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01p
bmlCcm93c2VyL2d0ay9tYWluLmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYwpA
QCAtNjAsNiArNjAsMTQgQEAgc3RhdGljIHZvaWQgY3JlYXRlQnJvd3NlcldpbmRvdyhjb25zdCBn
Y2hhciAqdXJpLCBXZWJLaXRTZXR0aW5ncyAqd2Via2l0U2V0dGluZ3MKIHsKICAgICBHdGtXaWRn
ZXQgKndlYlZpZXcgPSB3ZWJraXRfd2ViX3ZpZXdfbmV3KCk7CiAgICAgR3RrV2lkZ2V0ICptYWlu
V2luZG93ID0gYnJvd3Nlcl93aW5kb3dfbmV3KFdFQktJVF9XRUJfVklFVyh3ZWJWaWV3KSwgTlVM
TCk7CisKKyAgICBjb25zdCBnY2hhciAqYWxwaGEgPSBnX2dldGVudigiTUlOSUJST1dTRVJfQUxQ
SEEiKTsKKyAgICBpZiAoYWxwaGEgJiYgKmFscGhhKSB7CisgICAgICAgIEdka1NjcmVlbiAqc2Ny
ZWVuID0gZ3RrX3dpZGdldF9nZXRfc2NyZWVuKEdUS19XSURHRVQobWFpbldpbmRvdykpOworICAg
ICAgICBHZGtWaXN1YWwgKnZpc3VhbCA9IGdka19zY3JlZW5fZ2V0X3JnYmFfdmlzdWFsKHNjcmVl
bik7CisgICAgICAgIGd0a193aWRnZXRfc2V0X3Zpc3VhbChHVEtfV0lER0VUKG1haW5XaW5kb3cp
LCB2aXN1YWwpOworICAgIH0KKwogICAgIGdjaGFyICp1cmwgPSBhcmd1bWVudFRvVVJMKHVyaSk7
CiAKICAgICBpZiAod2Via2l0U2V0dGluZ3MpCi0tIAoxLjkuMQoK
</data>
<flag name="review"
          id="267078"
          type_id="1"
          status="-"
          setter="cgarcia"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242267</attachid>
            <date>2014-11-28 06:33:39 -0800</date>
            <delta_ts>2014-12-09 06:02:19 -0800</delta_ts>
            <desc>[GTK] Enable depth 32 for the RedirectedXCompositeWindow</desc>
            <filename>0001-GTK-Enable-depth-32-for-the-RedirectedXCompositeWind.patch</filename>
            <type>text/plain</type>
            <size>12220</size>
            <attacher name="Julien Isorce">j.isorce</attacher>
            
              <data encoding="base64">RnJvbSA0OTg3M2ZmZDRkNTI4ZmU1Mzk3MWIzMWU4ZDVlNzRkMTgzYjU0YzYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4K
RGF0ZTogTW9uLCAyNCBOb3YgMjAxNCAxNTowMjowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtH
VEtdIEVuYWJsZSBkZXB0aCAzMiBmb3IgdGhlIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93CiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CgpPbiBndGsvWDEx
LCB0aGUgbGF5b3V0IGNvbXBvc2l0aW5nIGlzIGRvbmUgaW4gdGhlIHdlYiBwcm9jZXNzLgpJZiBv
bmUgbmVlZHMgdG8gaGFuZGxlIGFscGhhIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGFwcGxpY2F0aW9u
CnRoZW4gaXQgaXMgbm90IGVub3VnaCB0byBtYWtlIHRvIGJyb3dzZXIncyB3aW5kb3cgYXMgUkdC
QS4KVGhlIHNoYXJlZCByZWRpcmVjdGVkIHdpbmRvdyBuZWVkcyB0byBiZSBSR0JBIGFzIHdlbGwu
CihUaGUgc2hhcmVkIFggY29tcG9zaXRlIHdpbmRvdyBiZXR3ZWVuIFVJUHJvY2VzcyBhbmQgV2Vi
UHJvY2VzcykuCgpUaGlzIGFsbG93cyBhbiBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0
aGUgYXBwbGljYXRpb24Kd2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBh
dCBjb21wb3NpdGluZyB0aW1lLgpGb3IgZXhhbXBsZSBmb3IgdHJhbnNwYXJlbnQgV2ViIFVJLgoK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gSXNvcmNl
IDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrCiAuLi4vVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwICAgICAgICB8IDM2ICsrKysrKysrKysr
KystLS0tLS0tLS0KIC4uLi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93
LmNwcCAgIHwgMTUgKysrKysrLS0tCiAuLi4vVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBv
c2l0ZVdpbmRvdy5oICAgICB8ICA0ICstLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKysKIFRvb2xzL01pbmlCcm93c2Vy
L2d0ay9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDcgKysrKysKIDYgZmlsZXMgY2hh
bmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGU1
NmY3NGIuLjE3MjQ1M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxNC0xMS0yOCAg
SnVsaWVuIElzb3JjZSAgPGouaXNvcmNlQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtHVEtdIEVu
YWJsZSBkZXB0aCAzMiBmb3IgdGhlIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzkwMjgKKworICAgICAg
ICBPbiBndGsvWDExLCB0aGUgbGF5b3V0IGNvbXBvc2l0aW5nIGlzIGRvbmUgaW4gdGhlIHdlYiBw
cm9jZXNzLgorICAgICAgICBJZiBvbmUgbmVlZHMgdG8gaGFuZGxlIGFscGhhIHdpdGggdGhlIHJl
c3Qgb2YgdGhlIGFwcGxpY2F0aW9uCisgICAgICAgIHRoZW4gaXQgaXMgbm90IGVub3VnaCB0byBt
YWtlIHRvIGJyb3dzZXIncyB3aW5kb3cgYXMgUkdCQS4KKyAgICAgICAgVGhlIHNoYXJlZCByZWRp
cmVjdGVkIHdpbmRvdyBuZWVkcyB0byBiZSBSR0JBIGFzIHdlbGwuCisgICAgICAgIChUaGUgc2hh
cmVkIFggY29tcG9zaXRlIHdpbmRvdyBiZXR3ZWVuIFVJUHJvY2VzcyBhbmQgV2ViUHJvY2Vzcyku
CisKKyAgICAgICAgVGhpcyBhbGxvd3MgYW4gZW5kLXRvLWVuZCBSR0JBIHNvbHV0aW9uIHdoZW4g
dGhlIGFwcGxpY2F0aW9uCisgICAgICAgIHdhbnRzIHRvIGludGVyYWN0IHdpdGggdGhlIGFscGhh
IGNoYW5uZWwgYXQgY29tcG9zaXRpbmcgdGltZS4KKyAgICAgICAgRm9yIGV4YW1wbGUgZm9yIHRy
YW5zcGFyZW50IFdlYiBVSS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKyAg
ICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZSk6CisgICAgICAgICh3ZWJraXRXZWJWaWV3
QmFzZUNvbnN0cnVjdGVkKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdSZW5kZXJBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nUmVzdWx0cyk6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZVVwZGF0ZVBy
ZWZlcmVuY2VzKToKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlQ3JlYXRlV2ViUGFnZSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6UmVkaXJlY3RlZFhDb21w
b3NpdGVXaW5kb3cpOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3cuaDoKKwogMjAxNC0xMS0yNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB1c2VyIGNvbnRlbnQgaGFuZGxpbmcgZnJvbSBQYWdl
R3JvdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFdlYlZpZXdCYXNlLmNwcAppbmRleCBlNmM2NmM3Li4zNDdjNjZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBA
IC0yNTUsNiArMjU1LDIyIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2V0VG9wbGV2
ZWxPblNjcmVlbldpbmRvdyhXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmllCiAKIHN0YXRpYyB2b2lk
IHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKIHsKKyNpZiBVU0Uo
VEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKKyAgICAvLyBNYXRjaCBwYXJlbnQn
cyB2aXN1YWwuCisgICAgaWYgKEd0a1dpZGdldCogcGFyZW50ID0gZ3RrX3dpZGdldF9nZXRfcGFy
ZW50KHdpZGdldCkpIHsKKyAgICAgICAgR2RrRGlzcGxheSogZGlzcGxheSA9IGdka19kaXNwbGF5
X21hbmFnZXJfZ2V0X2RlZmF1bHRfZGlzcGxheShnZGtfZGlzcGxheV9tYW5hZ2VyX2dldCgpKTsK
KyAgICAgICAgaWYgKEdES19JU19YMTFfRElTUExBWShkaXNwbGF5KSkgeworICAgICAgICAgICAg
V2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2lk
Z2V0KS0+cHJpdjsKKyAgICAgICAgICAgIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgPSBSZWRpcmVj
dGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKEdES19ESVNQTEFZX1hESVNQTEFZKGRpc3BsYXkp
LCBHREtfV0lORE9XX1hJRChndGtfd2lkZ2V0X2dldF93aW5kb3cocGFyZW50KSksIEludFNpemUo
MSwgMSksCisgICAgICAgICAgICAgICAgW3dpZGdldF0geyBndGtfd2lkZ2V0X3F1ZXVlX2RyYXco
d2lkZ2V0KTsgfQorICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICBpZiAocHJpdi0+cmVk
aXJlY3RlZFdpbmRvdykKKyAgICAgICAgICAgICAgICBwcml2LT5wYWdlUHJveHktPnNldEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdXaW5kb3dJZChwcml2LT5yZWRpcmVjdGVkV2luZG93LT53aW5kb3dJ
RCgpKTsKKyAgICAgICAgICAgIHdlYmtpdFdlYlZpZXdCYXNlVXBkYXRlUHJlZmVyZW5jZXMoV0VC
S0lUX1dFQl9WSUVXX0JBU0Uod2lkZ2V0KSk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKwog
ICAgIGd0a193aWRnZXRfc2V0X3JlYWxpemVkKHdpZGdldCwgVFJVRSk7CiAKICAgICBHdGtBbGxv
Y2F0aW9uIGFsbG9jYXRpb247CkBAIC00MjcsMTMgKzQ0Myw2IEBAIHN0YXRpYyB2b2lkIHdlYmtp
dFdlYlZpZXdCYXNlQ29uc3RydWN0ZWQoR09iamVjdCogb2JqZWN0KQogCiAgICAgV2ViS2l0V2Vi
Vmlld0Jhc2VQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0JBU0Uob2JqZWN0KS0+cHJp
djsKICAgICBwcml2LT5wYWdlQ2xpZW50ID0gUGFnZUNsaWVudEltcGw6OmNyZWF0ZSh2aWV3V2lk
Z2V0KTsKLQotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQotICAg
IEdka0Rpc3BsYXkqIGRpc3BsYXkgPSBnZGtfZGlzcGxheV9tYW5hZ2VyX2dldF9kZWZhdWx0X2Rp
c3BsYXkoZ2RrX2Rpc3BsYXlfbWFuYWdlcl9nZXQoKSk7Ci0gICAgaWYgKEdES19JU19YMTFfRElT
UExBWShkaXNwbGF5KSkKLSAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyA9IFJlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoR0RLX0RJU1BMQVlfWERJU1BMQVkoZGlzcGxheSks
IEludFNpemUoMSwgMSksIFt2aWV3V2lkZ2V0XSB7IGd0a193aWRnZXRfcXVldWVfZHJhdyh2aWV3
V2lkZ2V0KTsgfSk7Ci0jZW5kaWYKLQogICAgIHByaXYtPmF1dGhlbnRpY2F0aW9uRGlhbG9nID0g
MDsKIH0KIApAQCAtNDUzLDYgKzQ2Miw3IEBAIHN0YXRpYyBib29sIHdlYmtpdFdlYlZpZXdSZW5k
ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nUmVzdWx0cyhXZWJLaXRXZWJWaWV3QmFzZSoKICAgICBp
ZiAoY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlID0gcHJpdi0+cmVkaXJlY3RlZFdpbmRvdy0+c3Vy
ZmFjZSgpKSB7CiAgICAgICAgIGNhaXJvX3JlY3RhbmdsZShjciwgY2xpcFJlY3QtPngsIGNsaXBS
ZWN0LT55LCBjbGlwUmVjdC0+d2lkdGgsIGNsaXBSZWN0LT5oZWlnaHQpOwogICAgICAgICBjYWly
b19zZXRfc291cmNlX3N1cmZhY2UoY3IsIHN1cmZhY2UsIDAsIDApOworICAgICAgICBjYWlyb19z
ZXRfb3BlcmF0b3IoY3IsIENBSVJPX09QRVJBVE9SX1NPVVJDRSk7CiAgICAgICAgIGNhaXJvX2Zp
bGwoY3IpOwogICAgIH0KIApAQCAtMTAyNiwxMiArMTAzNiwxMyBAQCB2b2lkIHdlYmtpdFdlYlZp
ZXdCYXNlVXBkYXRlUHJlZmVyZW5jZXMoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdC
YXNlKQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYmtpdFdlYlZp
ZXdCYXNlLT5wcml2OwogCisgICAgYm9vbCBpc0VuYWJsZSA9IGZhbHNlOworCiAjaWYgVVNFKFRF
WFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEpCi0gICAgaWYgKHByaXYtPnJlZGlyZWN0
ZWRXaW5kb3cpCi0gICAgICAgIHJldHVybjsKKyAgICBpc0VuYWJsZSA9ICEhcHJpdi0+cmVkaXJl
Y3RlZFdpbmRvdzsKICNlbmRpZgogCi0gICAgcHJpdi0+cGFnZVByb3h5LT5wcmVmZXJlbmNlcygp
LnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZhbHNlKTsKKyAgICBwcml2LT5wYWdl
UHJveHktPnByZWZlcmVuY2VzKCkuc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoaXNF
bmFibGUpOwogfQogCiAjaWYgSEFWRShHVEtfU0NBTEVfRkFDVE9SKQpAQCAtMTA1NSwxMSArMTA2
Niw2IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VDcmVhdGVXZWJQYWdlKFdlYktpdFdlYlZpZXdC
YXNlKiB3ZWJraXRXZWJWaWV3QmFzZSwgV2ViQ29uCiAKICAgICBwcml2LT5pbnB1dE1ldGhvZEZp
bHRlci5zZXRQYWdlKHByaXYtPnBhZ2VQcm94eS5nZXQoKSk7CiAKLSNpZiBVU0UoVEVYVFVSRV9N
QVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKLSAgICBpZiAocHJpdi0+cmVkaXJlY3RlZFdpbmRv
dykKLSAgICAgICAgcHJpdi0+cGFnZVByb3h5LT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nV2lu
ZG93SWQocHJpdi0+cmVkaXJlY3RlZFdpbmRvdy0+d2luZG93SUQoKSk7Ci0jZW5kaWYKLQogI2lm
IEhBVkUoR1RLX1NDQUxFX0ZBQ1RPUikKICAgICAvLyBXZSBhdHRhY2ggdGhpcyBoZXJlLCBiZWNh
dXNlIGNoYW5nZXMgaW4gc2NhbGUgZmFjdG9yIGFyZSBwYXNzZWQgZGlyZWN0bHkgdG8gdGhlIHBh
Z2UgcHJveHkuCiAgICAgcHJpdi0+cGFnZVByb3h5LT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZh
Y3RvcihndGtfd2lkZ2V0X2dldF9zY2FsZV9mYWN0b3IoR1RLX1dJREdFVCh3ZWJraXRXZWJWaWV3
QmFzZSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJl
Y3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9S
ZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAKaW5kZXggMTEyYzhlYi4uN2RlNWIwYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0
ZVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVk
WENvbXBvc2l0ZVdpbmRvdy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKIAogI2luY2x1ZGUgPFgxMS9l
eHRlbnNpb25zL1hjb21wb3NpdGUuaD4KICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YZGFtYWdl
Lmg+CisjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWHJlbmRlci5oPgogI2luY2x1ZGUgPGNhaXJv
LXhsaWIuaD4KICNpbmNsdWRlIDxnZGsvZ2RreC5oPgogI2luY2x1ZGUgPGdsaWIuaD4KQEAgLTEy
NiwxMiArMTI3LDEyIEBAIHN0YXRpYyBib29sIHN1cHBvcnRzWERhbWFnZUFuZFhDb21wb3NpdGUo
RGlzcGxheSogZGlzcGxheSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RkOjp1bmlxdWVfcHRy
PFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93PiBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6
Y3JlYXRlKERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IEludFNpemUmIHNpemUsIHN0ZDo6ZnVuY3Rp
b248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpCitzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21w
b3NpdGVXaW5kb3c+IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoRGlzcGxheSog
ZGlzcGxheSwgV2luZG93IHBhcmVudCwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlv
bjx2b2lkKCk+IGRhbWFnZU5vdGlmeSkKIHsKLSAgICByZXR1cm4gc3VwcG9ydHNYRGFtYWdlQW5k
WENvbXBvc2l0ZShkaXNwbGF5KSA/IHN0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0
ZVdpbmRvdz4obmV3IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KGRpc3BsYXksIHNpemUsIGRh
bWFnZU5vdGlmeSkpIDogbnVsbHB0cjsKKyAgICByZXR1cm4gc3VwcG9ydHNYRGFtYWdlQW5kWENv
bXBvc2l0ZShkaXNwbGF5KSA/IHN0ZDo6dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdp
bmRvdz4obmV3IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KGRpc3BsYXksIHBhcmVudCwgc2l6
ZSwgZGFtYWdlTm90aWZ5KSkgOiBudWxscHRyOwogfQogCi1SZWRpcmVjdGVkWENvbXBvc2l0ZVdp
bmRvdzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSogZGlzcGxheSwgY29uc3Qg
SW50U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSkKK1JlZGly
ZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhEaXNwbGF5
KiBkaXNwbGF5LCBXaW5kb3cgcGFyZW50LCBjb25zdCBJbnRTaXplJiBzaXplLCBzdGQ6OmZ1bmN0
aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5KQogICAgIDogbV9kaXNwbGF5KGRpc3BsYXkpCiAgICAg
LCBtX3NpemUoc2l6ZSkKICAgICAsIG1fd2luZG93KDApCkBAIC0xNDYsNyArMTQ3LDcgQEAgUmVk
aXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3Bs
YXkqIGRpc3BsYXksIGNvbnN0IEkKICAgICBYU2V0V2luZG93QXR0cmlidXRlcyB3aW5kb3dBdHRy
aWJ1dGVzOwogICAgIHdpbmRvd0F0dHJpYnV0ZXMub3ZlcnJpZGVfcmVkaXJlY3QgPSBUcnVlOwog
ICAgIG1fcGFyZW50V2luZG93ID0gWENyZWF0ZVdpbmRvdyhkaXNwbGF5LAotICAgICAgICBSb290
V2luZG93T2ZTY3JlZW4oc2NyZWVuKSwKKyAgICAgICAgcGFyZW50ID8gcGFyZW50IDogUm9vdFdp
bmRvd09mU2NyZWVuKHNjcmVlbiksCiAgICAgICAgIFdpZHRoT2ZTY3JlZW4oc2NyZWVuKSArIDEs
IDAsIDEsIDEsCiAgICAgICAgIDAsCiAgICAgICAgIENvcHlGcm9tUGFyZW50LApAQCAtMTU2LDYg
KzE1NywxMCBAQCBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6UmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3coRGlzcGxheSogZGlzcGxheSwgY29uc3QgSQogICAgICAgICAmd2luZG93QXR0cmli
dXRlcyk7CiAgICAgWE1hcFdpbmRvdyhkaXNwbGF5LCBtX3BhcmVudFdpbmRvdyk7CiAKKyAgICAv
LyBUaGUgdG9wIHBhcmVudCBpcyBvbmx5IG5lY2Vzc2FyeSB0byBpbmhlcml0IHZpc3VhbCBhbmQg
ZGVwdGggYXQgY3JlYXRpb24gdGltZS4KKyAgICBpZiAocGFyZW50KQorICAgICAgICBYUmVwYXJl
bnRXaW5kb3coZGlzcGxheSwgbV9wYXJlbnRXaW5kb3csIFJvb3RXaW5kb3dPZlNjcmVlbihzY3Jl
ZW4pLCBXaWR0aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAwKTsKKwogICAgIHdpbmRvd0F0dHJpYnV0
ZXMuZXZlbnRfbWFzayA9IFN0cnVjdHVyZU5vdGlmeU1hc2s7CiAgICAgd2luZG93QXR0cmlidXRl
cy5vdmVycmlkZV9yZWRpcmVjdCA9IEZhbHNlOwogICAgIG1fd2luZG93ID0gWENyZWF0ZVdpbmRv
dyhkaXNwbGF5LApAQCAtMTY1LDcgKzE3MCw3IEBAIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93
OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhEaXNwbGF5KiBkaXNwbGF5LCBjb25zdCBJCiAg
ICAgICAgIENvcHlGcm9tUGFyZW50LAogICAgICAgICBJbnB1dE91dHB1dCwKICAgICAgICAgQ29w
eUZyb21QYXJlbnQsCi0gICAgICAgIENXRXZlbnRNYXNrLAorICAgICAgICBDV0V2ZW50TWFzayB8
IENXT3ZlcnJpZGVSZWRpcmVjdCwKICAgICAgICAgJndpbmRvd0F0dHJpYnV0ZXMpOwogICAgIFhN
YXBXaW5kb3coZGlzcGxheSwgbV93aW5kb3cpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmgKaW5kZXggYmZm
YzBhYi4uNmIzNTkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9S
ZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaApAQCAtNDIsNyArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cgewogcHVi
bGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5k
b3c+IGNyZWF0ZShEaXNwbGF5KiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rp
b248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVk
aXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IGNyZWF0ZShEaXNwbGF5KiwgV2luZG93IHBhcmVudCwg
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3Rp
ZnkpOwogICAgIH5SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdygpOwogCiAgICAgV2luZG93IHdp
bmRvd0lEKCkgY29uc3QgeyByZXR1cm4gbV93aW5kb3c7IH0KQEAgLTUwLDcgKzUwLDcgQEAgcHVi
bGljOgogICAgIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSgpOwogCiBwcml2YXRlOgotICAgIFJl
ZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
Jiwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSk7CisgICAgUmVkaXJlY3RlZFhD
b21wb3NpdGVXaW5kb3coRGlzcGxheSosIFdpbmRvdyBwYXJlbnQsIGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5KTsKICAgICB2b2lkIGNs
ZWFudXBQaXhtYXBBbmRQaXhtYXBTdXJmYWNlKCk7CiAKICAgICBEaXNwbGF5KiBtX2Rpc3BsYXk7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTU1
YzFjYy4uOTNkNWIwMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTExLTI4ICBKdWxpZW4gSXNvcmNlICA8ai5p
c29yY2VAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10gRW5hYmxlIGRlcHRoIDMyIGZvciB0
aGUgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTAyOAorCisgICAgICAgIE9uIGd0ay9YMTEsIHRoZSBs
YXlvdXQgY29tcG9zaXRpbmcgaXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIElm
IG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEgd2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGljYXRp
b24KKyAgICAgICAgdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRvIG1ha2UgdG8gYnJvd3NlcidzIHdp
bmRvdyBhcyBSR0JBLgorICAgICAgICBUaGUgc2hhcmVkIHJlZGlyZWN0ZWQgd2luZG93IG5lZWRz
IHRvIGJlIFJHQkEgYXMgd2VsbC4KKyAgICAgICAgKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUgd2lu
ZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KKworICAgICAgICBUaGlzIGFs
bG93cyBhbiBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0aGUgYXBwbGljYXRpb24KKyAg
ICAgICAgd2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBhdCBjb21wb3Np
dGluZyB0aW1lLgorICAgICAgICBGb3IgZXhhbXBsZSBmb3IgdHJhbnNwYXJlbnQgV2ViIFVJLgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWluaUJy
b3dzZXIvZ3RrL21haW4uYzoKKyAgICAgICAgKGNyZWF0ZUJyb3dzZXJXaW5kb3cpOgorCiAyMDE0
LTExLTI2ICBBa29zIEtpc3MgIDxha2lzc0BpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW0VG
TF1bR1RLXSBCdW1wIHVwIEZERSByZWxvY2F0aW9uIGZpeGluZyBwYXRjaCB0byB2ZXJzaW9uIGFj
Y2VwdGVkIHRvIExMVk0gdHJ1bmsuCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsv
bWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYwppbmRleCAyYmZjMTcwLi5kMDRh
MjRlIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jCisrKyBiL1Rvb2xz
L01pbmlCcm93c2VyL2d0ay9tYWluLmMKQEAgLTYwLDYgKzYwLDEzIEBAIHN0YXRpYyB2b2lkIGNy
ZWF0ZUJyb3dzZXJXaW5kb3coY29uc3QgZ2NoYXIgKnVyaSwgV2ViS2l0U2V0dGluZ3MgKndlYmtp
dFNldHRpbmdzCiB7CiAgICAgR3RrV2lkZ2V0ICp3ZWJWaWV3ID0gd2Via2l0X3dlYl92aWV3X25l
dygpOwogICAgIEd0a1dpZGdldCAqbWFpbldpbmRvdyA9IGJyb3dzZXJfd2luZG93X25ldyhXRUJL
SVRfV0VCX1ZJRVcod2ViVmlldyksIE5VTEwpOworCisgICAgLy8gUHJlZmVyIFJHQkEgdmlzdWFs
IGlmIGF2YWlsYWJsZS4KKyAgICBHZGtTY3JlZW4gKnNjcmVlbiA9IGd0a193aWRnZXRfZ2V0X3Nj
cmVlbihHVEtfV0lER0VUKG1haW5XaW5kb3cpKTsKKyAgICBHZGtWaXN1YWwgKnZpc3VhbCA9IGdk
a19zY3JlZW5fZ2V0X3JnYmFfdmlzdWFsKHNjcmVlbik7CisgICAgaWYgKHZpc3VhbCkKKyAgICAg
ICAgZ3RrX3dpZGdldF9zZXRfdmlzdWFsKEdUS19XSURHRVQobWFpbldpbmRvdyksIHZpc3VhbCk7
CisKICAgICBnY2hhciAqdXJsID0gYXJndW1lbnRUb1VSTCh1cmkpOwogCiAgICAgaWYgKHdlYmtp
dFNldHRpbmdzKQotLSAKMS45LjEKCg==
</data>
<flag name="review"
          id="267146"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242914</attachid>
            <date>2014-12-09 06:02:19 -0800</date>
            <delta_ts>2014-12-10 09:31:21 -0800</delta_ts>
            <desc>[GTK] Enable depth 32 for the RedirectedXCompositeWindow</desc>
            <filename>0001-GTK-Enable-depth-32-for-the-RedirectedXCompositeWind.patch</filename>
            <type>text/plain</type>
            <size>11984</size>
            <attacher name="Julien Isorce">j.isorce</attacher>
            
              <data encoding="base64">RnJvbSAwNDMyYmM5Njk3NWUzYmJkMGQ1NTQ4MWZhYjcxMjg2OGNhNmJmNzgzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4K
RGF0ZTogTW9uLCAyNCBOb3YgMjAxNCAxNTowMjowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtH
VEtdIEVuYWJsZSBkZXB0aCAzMiBmb3IgdGhlIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93CiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CgpPbiBndGsvWDEx
LCB0aGUgbGF5b3V0IGNvbXBvc2l0aW5nIGlzIGRvbmUgaW4gdGhlIHdlYiBwcm9jZXNzLgpJZiBv
bmUgbmVlZHMgdG8gaGFuZGxlIGFscGhhIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGFwcGxpY2F0aW9u
CnRoZW4gaXQgaXMgbm90IGVub3VnaCB0byBtYWtlIHRvIGJyb3dzZXIncyB3aW5kb3cgYXMgUkdC
QS4KVGhlIHNoYXJlZCByZWRpcmVjdGVkIHdpbmRvdyBuZWVkcyB0byBiZSBSR0JBIGFzIHdlbGwu
CihUaGUgc2hhcmVkIFggY29tcG9zaXRlIHdpbmRvdyBiZXR3ZWVuIFVJUHJvY2VzcyBhbmQgV2Vi
UHJvY2VzcykuCgpUaGlzIGFsbG93cyBhbiBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0
aGUgYXBwbGljYXRpb24Kd2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBh
dCBjb21wb3NpdGluZyB0aW1lLgpGb3IgZXhhbXBsZSBmb3IgdHJhbnNwYXJlbnQgV2ViIFVJLgoK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gSXNvcmNl
IDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysKIC4uLi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgICAgICAgIHwgMzkgKysrKysrKysrKysr
LS0tLS0tLS0tLQogLi4uL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cu
Y3BwICAgfCAxMiArKysrLS0tCiAuLi4vVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0
ZVdpbmRvdy5oICAgICB8ICA0ICstLQogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKwogVG9vbHMvTWluaUJyb3dzZXIvZ3Rr
L21haW4uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrCiA2IGZpbGVzIGNoYW5nZWQs
IDg3IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzYzQ5NzY0
Li5hN2M3OTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTQtMTItMDkgIEp1bGll
biBJc29yY2UgIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbR1RLXSBFbmFibGUg
ZGVwdGggMzIgZm9yIHRoZSBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CisKKyAgICAgICAgT24g
Z3RrL1gxMSwgdGhlIGxheW91dCBjb21wb3NpdGluZyBpcyBkb25lIGluIHRoZSB3ZWIgcHJvY2Vz
cy4KKyAgICAgICAgSWYgb25lIG5lZWRzIHRvIGhhbmRsZSBhbHBoYSB3aXRoIHRoZSByZXN0IG9m
IHRoZSBhcHBsaWNhdGlvbgorICAgICAgICB0aGVuIGl0IGlzIG5vdCBlbm91Z2ggdG8gbWFrZSB0
byBicm93c2VyJ3Mgd2luZG93IGFzIFJHQkEuCisgICAgICAgIFRoZSBzaGFyZWQgcmVkaXJlY3Rl
ZCB3aW5kb3cgbmVlZHMgdG8gYmUgUkdCQSBhcyB3ZWxsLgorICAgICAgICAoVGhlIHNoYXJlZCBY
IGNvbXBvc2l0ZSB3aW5kb3cgYmV0d2VlbiBVSVByb2Nlc3MgYW5kIFdlYlByb2Nlc3MpLgorCisg
ICAgICAgIFRoaXMgYWxsb3dzIGFuIGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBh
cHBsaWNhdGlvbgorICAgICAgICB3YW50cyB0byBpbnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFu
bmVsIGF0IGNvbXBvc2l0aW5nIHRpbWUuCisgICAgICAgIEZvciBleGFtcGxlIGZvciB0cmFuc3Bh
cmVudCBXZWIgVUkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHA6CisgICAgICAg
ICh3ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VD
b25zdHJ1Y3RlZCk6CisgICAgICAgICh3ZWJraXRXZWJWaWV3UmVuZGVyQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ1Jlc3VsdHMpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VVcGRhdGVQcmVmZXJl
bmNlcyk6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZUNyZWF0ZVdlYlBhZ2UpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKToKKyAgICAgICAg
KFdlYktpdDo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2lu
ZG93Lmg6CisKIDIwMTQtMTItMDkgIFRpbmctV2VpIExhbiAgPGxhbnR3NDRAZ21haWwuY29tPgog
CiAgICAgICAgIFtHVEtdIExERkxBR1MgaXMgaWdub3JlZCB3aGVuIHJ1bm5pbmcgZy1pci1zY2Fu
bmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3QmFzZS5jcHAKaW5kZXggODgyMmQyMy4uMzBlOTI4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAt
MjU1LDYgKzI1NSwyMiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNldFRvcGxldmVs
T25TY3JlZW5XaW5kb3coV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZQogCiBzdGF0aWMgdm9pZCB3
ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUoR3RrV2lkZ2V0KiB3aWRnZXQpCiB7CisjaWYgVVNFKFRF
WFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEpCisgICAgR2RrRGlzcGxheSogZGlzcGxh
eSA9IGdka19kaXNwbGF5X21hbmFnZXJfZ2V0X2RlZmF1bHRfZGlzcGxheShnZGtfZGlzcGxheV9t
YW5hZ2VyX2dldCgpKTsKKyAgICBpZiAoR0RLX0lTX1gxMV9ESVNQTEFZKGRpc3BsYXkpKSB7Cisg
ICAgICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfVklFV19C
QVNFKHdpZGdldCktPnByaXY7CisgICAgICAgIEdka1dpbmRvdyogcGFyZW50V2luZG93ID0gZ3Rr
X3dpZGdldF9nZXRfcGFyZW50X3dpbmRvdyh3aWRnZXQpOworICAgICAgICBwcml2LT5yZWRpcmVj
dGVkV2luZG93ID0gUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OmNyZWF0ZShHREtfRElTUExB
WV9YRElTUExBWShkaXNwbGF5KSwgcGFyZW50V2luZG93ID8gR0RLX1dJTkRPV19YSUQocGFyZW50
V2luZG93KSA6IDAsIEludFNpemUoMSwgMSksCisgICAgICAgICAgICBbd2lkZ2V0XSB7IGd0a193
aWRnZXRfcXVldWVfZHJhdyh3aWRnZXQpOyB9CisgICAgICAgICAgICApOworICAgICAgICBpZiAo
cHJpdi0+cmVkaXJlY3RlZFdpbmRvdykgeworICAgICAgICAgICAgRHJhd2luZ0FyZWFQcm94eUlt
cGwqIGRyYXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8RHJhd2luZ0FyZWFQcm94eUltcGwqPihwcml2
LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpOworICAgICAgICAgICAgZHJhd2luZ0FyZWEtPnNl
dE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhwcml2LT5yZWRpcmVjdGVkV2luZG93
LT53aW5kb3dJRCgpKTsKKyAgICAgICAgfQorICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZVVwZGF0
ZVByZWZlcmVuY2VzKFdFQktJVF9XRUJfVklFV19CQVNFKHdpZGdldCkpOworICAgIH0KKyNlbmRp
ZgorCiAgICAgZ3RrX3dpZGdldF9zZXRfcmVhbGl6ZWQod2lkZ2V0LCBUUlVFKTsKIAogICAgIEd0
a0FsbG9jYXRpb24gYWxsb2NhdGlvbjsKQEAgLTQyNywxMyArNDQzLDYgQEAgc3RhdGljIHZvaWQg
d2Via2l0V2ViVmlld0Jhc2VDb25zdHJ1Y3RlZChHT2JqZWN0KiBvYmplY3QpCiAKICAgICBXZWJL
aXRXZWJWaWV3QmFzZVByaXZhdGUqIHByaXYgPSBXRUJLSVRfV0VCX1ZJRVdfQkFTRShvYmplY3Qp
LT5wcml2OwogICAgIHByaXYtPnBhZ2VDbGllbnQgPSBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlKHZp
ZXdXaWRnZXQpOwotCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEp
Ci0gICAgR2RrRGlzcGxheSogZGlzcGxheSA9IGdka19kaXNwbGF5X21hbmFnZXJfZ2V0X2RlZmF1
bHRfZGlzcGxheShnZGtfZGlzcGxheV9tYW5hZ2VyX2dldCgpKTsKLSAgICBpZiAoR0RLX0lTX1gx
MV9ESVNQTEFZKGRpc3BsYXkpKQotICAgICAgICBwcml2LT5yZWRpcmVjdGVkV2luZG93ID0gUmVk
aXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OmNyZWF0ZShHREtfRElTUExBWV9YRElTUExBWShkaXNw
bGF5KSwgSW50U2l6ZSgxLCAxKSwgW3ZpZXdXaWRnZXRdIHsgZ3RrX3dpZGdldF9xdWV1ZV9kcmF3
KHZpZXdXaWRnZXQpOyB9KTsKLSNlbmRpZgotCiAgICAgcHJpdi0+YXV0aGVudGljYXRpb25EaWFs
b2cgPSAwOwogfQogCkBAIC00NTMsNiArNDYyLDcgQEAgc3RhdGljIGJvb2wgd2Via2l0V2ViVmll
d1JlbmRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSZXN1bHRzKFdlYktpdFdlYlZpZXdCYXNlKgog
ICAgIGlmIChjYWlyb19zdXJmYWNlX3QqIHN1cmZhY2UgPSBwcml2LT5yZWRpcmVjdGVkV2luZG93
LT5zdXJmYWNlKCkpIHsKICAgICAgICAgY2Fpcm9fcmVjdGFuZ2xlKGNyLCBjbGlwUmVjdC0+eCwg
Y2xpcFJlY3QtPnksIGNsaXBSZWN0LT53aWR0aCwgY2xpcFJlY3QtPmhlaWdodCk7CiAgICAgICAg
IGNhaXJvX3NldF9zb3VyY2Vfc3VyZmFjZShjciwgc3VyZmFjZSwgMCwgMCk7CisgICAgICAgIGNh
aXJvX3NldF9vcGVyYXRvcihjciwgQ0FJUk9fT1BFUkFUT1JfU09VUkNFKTsKICAgICAgICAgY2Fp
cm9fZmlsbChjcik7CiAgICAgfQogCkBAIC0xMDI3LDExICsxMDM3LDEzIEBAIHZvaWQgd2Via2l0
V2ViVmlld0Jhc2VVcGRhdGVQcmVmZXJlbmNlcyhXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2Vi
Vmlld0Jhc2UpCiAgICAgV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2Via2l0V2Vi
Vmlld0Jhc2UtPnByaXY7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JN
KFgxMSkKLSAgICBpZiAocHJpdi0+cmVkaXJlY3RlZFdpbmRvdykKLSAgICAgICAgcmV0dXJuOwor
ICAgIGJvb2wgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBwcml2LT5yZWRpcmVjdGVk
V2luZG93ID8gdHJ1ZSA6IGZhbHNlOworCisjZWxzZQorICAgIGJvb2wgYWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWQgPSBmYWxzZTsKICNlbmRpZgogCi0gICAgcHJpdi0+cGFnZVByb3h5LT5w
cmVmZXJlbmNlcygpLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZhbHNlKTsKKyAg
ICBwcml2LT5wYWdlUHJveHktPnByZWZlcmVuY2VzKCkuc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQoYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpOwogfQogCiAjaWYgSEFWRShH
VEtfU0NBTEVfRkFDVE9SKQpAQCAtMTA1NSwxMyArMTA2Nyw2IEBAIHZvaWQgd2Via2l0V2ViVmll
d0Jhc2VDcmVhdGVXZWJQYWdlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSwg
V2ViQ29uCiAKICAgICBwcml2LT5pbnB1dE1ldGhvZEZpbHRlci5zZXRQYWdlKHByaXYtPnBhZ2VQ
cm94eS5nZXQoKSk7CiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgx
MSkKLSAgICBpZiAocHJpdi0+cmVkaXJlY3RlZFdpbmRvdykgewotICAgICAgICBEcmF3aW5nQXJl
YVByb3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5SW1w
bCo+KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSk7Ci0gICAgICAgIGRyYXdpbmdBcmVh
LT5zZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcocHJpdi0+cmVkaXJlY3RlZFdp
bmRvdy0+d2luZG93SUQoKSk7Ci0gICAgfQotI2VuZGlmCi0KICNpZiBIQVZFKEdUS19TQ0FMRV9G
QUNUT1IpCiAgICAgLy8gV2UgYXR0YWNoIHRoaXMgaGVyZSwgYmVjYXVzZSBjaGFuZ2VzIGluIHNj
YWxlIGZhY3RvciBhcmUgcGFzc2VkIGRpcmVjdGx5IHRvIHRoZSBwYWdlIHByb3h5LgogICAgIHBy
aXYtPnBhZ2VQcm94eS0+c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3IoZ3RrX3dpZGdldF9n
ZXRfc2NhbGVfZmFjdG9yKEdUS19XSURHRVQod2Via2l0V2ViVmlld0Jhc2UpKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2lu
ZG93LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3cuY3BwCmluZGV4IDExMmM4ZWIuLjU1ZmM3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cu
Y3BwCkBAIC0xMjYsMTIgKzEyNiwxMiBAQCBzdGF0aWMgYm9vbCBzdXBwb3J0c1hEYW1hZ2VBbmRY
Q29tcG9zaXRlKERpc3BsYXkqIGRpc3BsYXkpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0ZDo6
dW5pcXVlX3B0cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4gUmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3c6OmNyZWF0ZShEaXNwbGF5KiBkaXNwbGF5LCBjb25zdCBJbnRTaXplJiBzaXplLCBz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5KQorc3RkOjp1bmlxdWVfcHRyPFJlZGly
ZWN0ZWRYQ29tcG9zaXRlV2luZG93PiBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRl
KERpc3BsYXkqIGRpc3BsYXksIFdpbmRvdyBwYXJlbnQsIGNvbnN0IEludFNpemUmIHNpemUsIHN0
ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpCiB7Ci0gICAgcmV0dXJuIHN1cHBvcnRz
WERhbWFnZUFuZFhDb21wb3NpdGUoZGlzcGxheSkgPyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3Rl
ZFhDb21wb3NpdGVXaW5kb3c+KG5ldyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhkaXNwbGF5
LCBzaXplLCBkYW1hZ2VOb3RpZnkpKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIHN1cHBvcnRzWERh
bWFnZUFuZFhDb21wb3NpdGUoZGlzcGxheSkgPyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhD
b21wb3NpdGVXaW5kb3c+KG5ldyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhkaXNwbGF5LCBw
YXJlbnQsIHNpemUsIGRhbWFnZU5vdGlmeSkpIDogbnVsbHB0cjsKIH0KIAotUmVkaXJlY3RlZFhD
b21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqIGRpc3Bs
YXksIGNvbnN0IEludFNpemUmIHNpemUsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3Rp
ZnkpCitSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5k
b3coRGlzcGxheSogZGlzcGxheSwgV2luZG93IHBhcmVudCwgY29uc3QgSW50U2l6ZSYgc2l6ZSwg
c3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSkKICAgICA6IG1fZGlzcGxheShkaXNw
bGF5KQogICAgICwgbV9zaXplKHNpemUpCiAgICAgLCBtX3dpbmRvdygwKQpAQCAtMTQ2LDcgKzE0
Niw3IEBAIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdp
bmRvdyhEaXNwbGF5KiBkaXNwbGF5LCBjb25zdCBJCiAgICAgWFNldFdpbmRvd0F0dHJpYnV0ZXMg
d2luZG93QXR0cmlidXRlczsKICAgICB3aW5kb3dBdHRyaWJ1dGVzLm92ZXJyaWRlX3JlZGlyZWN0
ID0gVHJ1ZTsKICAgICBtX3BhcmVudFdpbmRvdyA9IFhDcmVhdGVXaW5kb3coZGlzcGxheSwKLSAg
ICAgICAgUm9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksCisgICAgICAgIHBhcmVudCA/IHBhcmVu
dCA6IFJvb3RXaW5kb3dPZlNjcmVlbihzY3JlZW4pLAogICAgICAgICBXaWR0aE9mU2NyZWVuKHNj
cmVlbikgKyAxLCAwLCAxLCAxLAogICAgICAgICAwLAogICAgICAgICBDb3B5RnJvbVBhcmVudCwK
QEAgLTE1Niw2ICsxNTYsMTAgQEAgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0
ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IEkKICAgICAgICAgJndp
bmRvd0F0dHJpYnV0ZXMpOwogICAgIFhNYXBXaW5kb3coZGlzcGxheSwgbV9wYXJlbnRXaW5kb3cp
OwogCisgICAgLy8gVGhlIHRvcCBwYXJlbnQgaXMgb25seSBuZWNlc3NhcnkgdG8gY29weSBmcm9t
IHBhcmVudCB0aGUgdmlzdWFsIGFuZCBkZXB0aCBhdCBjcmVhdGlvbiB0aW1lLgorICAgIGlmIChw
YXJlbnQpCisgICAgICAgIFhSZXBhcmVudFdpbmRvdyhkaXNwbGF5LCBtX3BhcmVudFdpbmRvdywg
Um9vdFdpbmRvd09mU2NyZWVuKHNjcmVlbiksIFdpZHRoT2ZTY3JlZW4oc2NyZWVuKSArIDEsIDAp
OworCiAgICAgd2luZG93QXR0cmlidXRlcy5ldmVudF9tYXNrID0gU3RydWN0dXJlTm90aWZ5TWFz
azsKICAgICB3aW5kb3dBdHRyaWJ1dGVzLm92ZXJyaWRlX3JlZGlyZWN0ID0gRmFsc2U7CiAgICAg
bV93aW5kb3cgPSBYQ3JlYXRlV2luZG93KGRpc3BsYXksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmgKaW5kZXgg
YmZmYzBhYi4uNmIzNTkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0
ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaApAQCAtNDIsNyArNDIsNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cgewog
cHVibGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3c+IGNyZWF0ZShEaXNwbGF5KiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVu
Y3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IGNyZWF0ZShEaXNwbGF5KiwgV2luZG93IHBhcmVu
dCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VO
b3RpZnkpOwogICAgIH5SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdygpOwogCiAgICAgV2luZG93
IHdpbmRvd0lEKCkgY29uc3QgeyByZXR1cm4gbV93aW5kb3c7IH0KQEAgLTUwLDcgKzUwLDcgQEAg
cHVibGljOgogICAgIGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSgpOwogCiBwcml2YXRlOgotICAg
IFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRT
aXplJiwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSk7CisgICAgUmVkaXJlY3Rl
ZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSosIFdpbmRvdyBwYXJlbnQsIGNvbnN0IFdlYkNvcmU6
OkludFNpemUmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5KTsKICAgICB2b2lk
IGNsZWFudXBQaXhtYXBBbmRQaXhtYXBTdXJmYWNlKCk7CiAKICAgICBEaXNwbGF5KiBtX2Rpc3Bs
YXk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
NzJhNTVjYS4uMWU0NTJkNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE0LTEyLTA5ICBKdWxpZW4gSXNvcmNlICA8
ai5pc29yY2VAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10gRW5hYmxlIGRlcHRoIDMyIGZv
ciB0aGUgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTAyOAorCisgICAgICAgIE9uIGd0ay9YMTEsIHRo
ZSBsYXlvdXQgY29tcG9zaXRpbmcgaXMgZG9uZSBpbiB0aGUgd2ViIHByb2Nlc3MuCisgICAgICAg
IElmIG9uZSBuZWVkcyB0byBoYW5kbGUgYWxwaGEgd2l0aCB0aGUgcmVzdCBvZiB0aGUgYXBwbGlj
YXRpb24KKyAgICAgICAgdGhlbiBpdCBpcyBub3QgZW5vdWdoIHRvIG1ha2UgdG8gYnJvd3Nlcidz
IHdpbmRvdyBhcyBSR0JBLgorICAgICAgICBUaGUgc2hhcmVkIHJlZGlyZWN0ZWQgd2luZG93IG5l
ZWRzIHRvIGJlIFJHQkEgYXMgd2VsbC4KKyAgICAgICAgKFRoZSBzaGFyZWQgWCBjb21wb3NpdGUg
d2luZG93IGJldHdlZW4gVUlQcm9jZXNzIGFuZCBXZWJQcm9jZXNzKS4KKworICAgICAgICBUaGlz
IGFsbG93cyBhbiBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0aGUgYXBwbGljYXRpb24K
KyAgICAgICAgd2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBhdCBjb21w
b3NpdGluZyB0aW1lLgorICAgICAgICBGb3IgZXhhbXBsZSBmb3IgdHJhbnNwYXJlbnQgV2ViIFVJ
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWlu
aUJyb3dzZXIvZ3RrL21haW4uYzoKKyAgICAgICAgKGNyZWF0ZUJyb3dzZXJXaW5kb3cpOgorCiAy
MDE0LTEyLTA5ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1RLXSBCdW1wIG1pbmltdW0gdmVyc2lvbiBvZiBBVEsgdXNlZCBieSBqaGJ1aWxkIHRvIGF0
IGxlYXN0IDIuMTUuMgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYyBi
L1Rvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmMKaW5kZXggMmJmYzE3MC4uZDA0YTI0ZSAxMDA2
NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4uYworKysgYi9Ub29scy9NaW5pQnJv
d3Nlci9ndGsvbWFpbi5jCkBAIC02MCw2ICs2MCwxMyBAQCBzdGF0aWMgdm9pZCBjcmVhdGVCcm93
c2VyV2luZG93KGNvbnN0IGdjaGFyICp1cmksIFdlYktpdFNldHRpbmdzICp3ZWJraXRTZXR0aW5n
cwogewogICAgIEd0a1dpZGdldCAqd2ViVmlldyA9IHdlYmtpdF93ZWJfdmlld19uZXcoKTsKICAg
ICBHdGtXaWRnZXQgKm1haW5XaW5kb3cgPSBicm93c2VyX3dpbmRvd19uZXcoV0VCS0lUX1dFQl9W
SUVXKHdlYlZpZXcpLCBOVUxMKTsKKworICAgIC8vIFByZWZlciBSR0JBIHZpc3VhbCBpZiBhdmFp
bGFibGUuCisgICAgR2RrU2NyZWVuICpzY3JlZW4gPSBndGtfd2lkZ2V0X2dldF9zY3JlZW4oR1RL
X1dJREdFVChtYWluV2luZG93KSk7CisgICAgR2RrVmlzdWFsICp2aXN1YWwgPSBnZGtfc2NyZWVu
X2dldF9yZ2JhX3Zpc3VhbChzY3JlZW4pOworICAgIGlmICh2aXN1YWwpCisgICAgICAgIGd0a193
aWRnZXRfc2V0X3Zpc3VhbChHVEtfV0lER0VUKG1haW5XaW5kb3cpLCB2aXN1YWwpOworCiAgICAg
Z2NoYXIgKnVybCA9IGFyZ3VtZW50VG9VUkwodXJpKTsKIAogICAgIGlmICh3ZWJraXRTZXR0aW5n
cykKLS0gCjEuOS4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243033</attachid>
            <date>2014-12-10 09:31:21 -0800</date>
            <delta_ts>2014-12-10 09:33:25 -0800</delta_ts>
            <desc>[GTK] Enable depth 32 for the RedirectedXCompositeWindow</desc>
            <filename>0001-GTK-Enable-depth-32-for-the-RedirectedXCompositeWind.patch</filename>
            <type>text/plain</type>
            <size>10092</size>
            <attacher name="Julien Isorce">j.isorce</attacher>
            
              <data encoding="base64">RnJvbSA5YmNiNjY5YzAyZmMzZmNiZDAzZjlkYjNhNmE2NDM3MjIyYjI1ODg2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4K
RGF0ZTogTW9uLCAyNCBOb3YgMjAxNCAxNTowMjowNSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIFtH
VEtdIEVuYWJsZSBkZXB0aCAzMiBmb3IgdGhlIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93CiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CgpPbiBndGsvWDEx
LCB0aGUgbGF5b3V0IGNvbXBvc2l0aW5nIGlzIGRvbmUgaW4gdGhlIHdlYiBwcm9jZXNzLgpJZiBv
bmUgbmVlZHMgdG8gaGFuZGxlIGFscGhhIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGFwcGxpY2F0aW9u
CnRoZW4gaXQgaXMgbm90IGVub3VnaCB0byBtYWtlIHRvIGJyb3dzZXIncyB3aW5kb3cgYXMgUkdC
QS4KVGhlIHNoYXJlZCByZWRpcmVjdGVkIHdpbmRvdyBuZWVkcyB0byBiZSBSR0JBIGFzIHdlbGwu
CihUaGUgc2hhcmVkIFggY29tcG9zaXRlIHdpbmRvdyBiZXR3ZWVuIFVJUHJvY2VzcyBhbmQgV2Vi
UHJvY2VzcykuCgpUaGlzIGFsbG93cyBhbiBlbmQtdG8tZW5kIFJHQkEgc29sdXRpb24gd2hlbiB0
aGUgYXBwbGljYXRpb24Kd2FudHMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWxwaGEgY2hhbm5lbCBh
dCBjb21wb3NpdGluZyB0aW1lLgpGb3IgZXhhbXBsZSBmb3IgdHJhbnNwYXJlbnQgV2ViIFVJLgoK
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gSXNvcmNl
IDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KLS0tCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKwogLi4uL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCAgICAgICAgfCA0MiArKysrKysrKysrKysr
LS0tLS0tLS0tCiAuLi4vVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5j
cHAgICB8IDEyICsrKystLS0KIC4uLi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93LmggICAgIHwgIDQgKy0tCiA0IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyks
IDIzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjNzEzYjhjLi4xYWFkY2VjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTQtMTItMTAgIEp1bGllbiBJc29yY2UgIDxqLmlzb3Jj
ZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbR1RLXSBFbmFibGUgZGVwdGggMzIgZm9yIHRoZSBS
ZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM5MDI4CisKKyAgICAgICAgT24gZ3RrL1gxMSwgdGhlIGxheW91
dCBjb21wb3NpdGluZyBpcyBkb25lIGluIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgSWYgb25l
IG5lZWRzIHRvIGhhbmRsZSBhbHBoYSB3aXRoIHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbgor
ICAgICAgICB0aGVuIGl0IGlzIG5vdCBlbm91Z2ggdG8gbWFrZSB0byBicm93c2VyJ3Mgd2luZG93
IGFzIFJHQkEuCisgICAgICAgIFRoZSBzaGFyZWQgcmVkaXJlY3RlZCB3aW5kb3cgbmVlZHMgdG8g
YmUgUkdCQSBhcyB3ZWxsLgorICAgICAgICAoVGhlIHNoYXJlZCBYIGNvbXBvc2l0ZSB3aW5kb3cg
YmV0d2VlbiBVSVByb2Nlc3MgYW5kIFdlYlByb2Nlc3MpLgorCisgICAgICAgIFRoaXMgYWxsb3dz
IGFuIGVuZC10by1lbmQgUkdCQSBzb2x1dGlvbiB3aGVuIHRoZSBhcHBsaWNhdGlvbgorICAgICAg
ICB3YW50cyB0byBpbnRlcmFjdCB3aXRoIHRoZSBhbHBoYSBjaGFubmVsIGF0IGNvbXBvc2l0aW5n
IHRpbWUuCisgICAgICAgIEZvciBleGFtcGxlIGZvciB0cmFuc3BhcmVudCBXZWIgVUkuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFz
ZVJlYWxpemUpOgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VDb25zdHJ1Y3RlZCk6CisgICAg
ICAgICh3ZWJraXRXZWJWaWV3UmVuZGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jlc3VsdHMpOgor
ICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VVcGRhdGVQcmVmZXJlbmNlcyk6CisgICAgICAgICh3
ZWJraXRXZWJWaWV3QmFzZUNyZWF0ZVdlYlBhZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsv
UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZWRpcmVj
dGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6UmVkaXJlY3Rl
ZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KToKKyAgICAgICAg
KiBVSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93Lmg6CisKIDIwMTQtMTIt
MTAgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgW0VGTF1bW1dLMl0gdGVzdF9ld2syX3RleHRfY2hlY2tlciBpcyBmYWlsZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcAppbmRleCA4ODIyZDIzLi4xMGUzMTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC0yNTUsNiArMjU1
LDI2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlU2V0VG9wbGV2ZWxPblNjcmVlbldp
bmRvdyhXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmllCiAKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZp
ZXdCYXNlUmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKIHsKKyNpZiBVU0UoVEVYVFVSRV9NQVBQ
RVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKKyAgICBHZGtEaXNwbGF5KiBkaXNwbGF5ID0gZ2RrX2Rp
c3BsYXlfbWFuYWdlcl9nZXRfZGVmYXVsdF9kaXNwbGF5KGdka19kaXNwbGF5X21hbmFnZXJfZ2V0
KCkpOworICAgIGlmIChHREtfSVNfWDExX0RJU1BMQVkoZGlzcGxheSkpIHsKKyAgICAgICAgV2Vi
S2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2lkZ2V0
KS0+cHJpdjsKKyAgICAgICAgR2RrV2luZG93KiBwYXJlbnRXaW5kb3cgPSBndGtfd2lkZ2V0X2dl
dF9wYXJlbnRfd2luZG93KHdpZGdldCk7CisgICAgICAgIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cg
PSBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKAorICAgICAgICAgICAgR0RLX0RJ
U1BMQVlfWERJU1BMQVkoZGlzcGxheSksCisgICAgICAgICAgICBwYXJlbnRXaW5kb3cgPyBHREtf
V0lORE9XX1hJRChwYXJlbnRXaW5kb3cpIDogMCwKKyAgICAgICAgICAgIEludFNpemUoMSwgMSks
CisgICAgICAgICAgICBbd2lkZ2V0XSB7CisgICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9xdWV1
ZV9kcmF3KHdpZGdldCk7IH0KKyAgICAgICAgICAgICk7CisgICAgICAgIGlmIChwcml2LT5yZWRp
cmVjdGVkV2luZG93KSB7CisgICAgICAgICAgICBEcmF3aW5nQXJlYVByb3h5SW1wbCogZHJhd2lu
Z0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5SW1wbCo+KHByaXYtPnBhZ2VQcm94
eS0+ZHJhd2luZ0FyZWEoKSk7CisgICAgICAgICAgICBkcmF3aW5nQXJlYS0+c2V0TmF0aXZlU3Vy
ZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPndpbmRvd0lE
KCkpOworICAgICAgICB9CisgICAgICAgIHdlYmtpdFdlYlZpZXdCYXNlVXBkYXRlUHJlZmVyZW5j
ZXMoV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2lkZ2V0KSk7CisgICAgfQorI2VuZGlmCisKICAgICBn
dGtfd2lkZ2V0X3NldF9yZWFsaXplZCh3aWRnZXQsIFRSVUUpOwogCiAgICAgR3RrQWxsb2NhdGlv
biBhbGxvY2F0aW9uOwpAQCAtNDI3LDEzICs0NDcsNiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJW
aWV3QmFzZUNvbnN0cnVjdGVkKEdPYmplY3QqIG9iamVjdCkKIAogICAgIFdlYktpdFdlYlZpZXdC
YXNlUHJpdmF0ZSogcHJpdiA9IFdFQktJVF9XRUJfVklFV19CQVNFKG9iamVjdCktPnByaXY7CiAg
ICAgcHJpdi0+cGFnZUNsaWVudCA9IFBhZ2VDbGllbnRJbXBsOjpjcmVhdGUodmlld1dpZGdldCk7
Ci0KLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKLSAgICBHZGtE
aXNwbGF5KiBkaXNwbGF5ID0gZ2RrX2Rpc3BsYXlfbWFuYWdlcl9nZXRfZGVmYXVsdF9kaXNwbGF5
KGdka19kaXNwbGF5X21hbmFnZXJfZ2V0KCkpOwotICAgIGlmIChHREtfSVNfWDExX0RJU1BMQVko
ZGlzcGxheSkpCi0gICAgICAgIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgPSBSZWRpcmVjdGVkWENv
bXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKEdES19ESVNQTEFZX1hESVNQTEFZKGRpc3BsYXkpLCBJbnRT
aXplKDEsIDEpLCBbdmlld1dpZGdldF0geyBndGtfd2lkZ2V0X3F1ZXVlX2RyYXcodmlld1dpZGdl
dCk7IH0pOwotI2VuZGlmCi0KICAgICBwcml2LT5hdXRoZW50aWNhdGlvbkRpYWxvZyA9IDA7CiB9
CiAKQEAgLTQ1Myw2ICs0NjYsNyBAQCBzdGF0aWMgYm9vbCB3ZWJraXRXZWJWaWV3UmVuZGVyQWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ1Jlc3VsdHMoV2ViS2l0V2ViVmlld0Jhc2UqCiAgICAgaWYgKGNh
aXJvX3N1cmZhY2VfdCogc3VyZmFjZSA9IHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPnN1cmZhY2Uo
KSkgewogICAgICAgICBjYWlyb19yZWN0YW5nbGUoY3IsIGNsaXBSZWN0LT54LCBjbGlwUmVjdC0+
eSwgY2xpcFJlY3QtPndpZHRoLCBjbGlwUmVjdC0+aGVpZ2h0KTsKICAgICAgICAgY2Fpcm9fc2V0
X3NvdXJjZV9zdXJmYWNlKGNyLCBzdXJmYWNlLCAwLCAwKTsKKyAgICAgICAgY2Fpcm9fc2V0X29w
ZXJhdG9yKGNyLCBDQUlST19PUEVSQVRPUl9TT1VSQ0UpOwogICAgICAgICBjYWlyb19maWxsKGNy
KTsKICAgICB9CiAKQEAgLTEwMjcsMTEgKzEwNDEsMTIgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVVwZGF0ZVByZWZlcmVuY2VzKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSkK
ICAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUqIHByaXYgPSB3ZWJraXRXZWJWaWV3QmFzZS0+
cHJpdjsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQotICAg
IGlmIChwcml2LT5yZWRpcmVjdGVkV2luZG93KQotICAgICAgICByZXR1cm47CisgICAgYm9vbCBh
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9IHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgPyB0
cnVlIDogZmFsc2U7CisjZWxzZQorICAgIGJvb2wgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJs
ZWQgPSBmYWxzZTsKICNlbmRpZgogCi0gICAgcHJpdi0+cGFnZVByb3h5LT5wcmVmZXJlbmNlcygp
LnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZhbHNlKTsKKyAgICBwcml2LT5wYWdl
UHJveHktPnByZWZlcmVuY2VzKCkuc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpOwogfQogCiAjaWYgSEFWRShHVEtfU0NBTEVfRkFD
VE9SKQpAQCAtMTA1NSwxMyArMTA3MCw2IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VDcmVhdGVX
ZWJQYWdlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSwgV2ViQ29uCiAKICAg
ICBwcml2LT5pbnB1dE1ldGhvZEZpbHRlci5zZXRQYWdlKHByaXYtPnBhZ2VQcm94eS5nZXQoKSk7
CiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKLSAgICBpZiAo
cHJpdi0+cmVkaXJlY3RlZFdpbmRvdykgewotICAgICAgICBEcmF3aW5nQXJlYVByb3h5SW1wbCog
ZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5SW1wbCo+KHByaXYtPnBh
Z2VQcm94eS0+ZHJhd2luZ0FyZWEoKSk7Ci0gICAgICAgIGRyYXdpbmdBcmVhLT5zZXROYXRpdmVT
dXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcocHJpdi0+cmVkaXJlY3RlZFdpbmRvdy0+d2luZG93
SUQoKSk7Ci0gICAgfQotI2VuZGlmCi0KICNpZiBIQVZFKEdUS19TQ0FMRV9GQUNUT1IpCiAgICAg
Ly8gV2UgYXR0YWNoIHRoaXMgaGVyZSwgYmVjYXVzZSBjaGFuZ2VzIGluIHNjYWxlIGZhY3RvciBh
cmUgcGFzc2VkIGRpcmVjdGx5IHRvIHRoZSBwYWdlIHByb3h5LgogICAgIHByaXYtPnBhZ2VQcm94
eS0+c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3IoZ3RrX3dpZGdldF9nZXRfc2NhbGVfZmFj
dG9yKEdUS19XSURHRVQod2Via2l0V2ViVmlld0Jhc2UpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3Bw
CmluZGV4IDExMmM4ZWIuLjU1ZmM3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwCkBAIC0xMjYs
MTIgKzEyNiwxMiBAQCBzdGF0aWMgYm9vbCBzdXBwb3J0c1hEYW1hZ2VBbmRYQ29tcG9zaXRlKERp
c3BsYXkqIGRpc3BsYXkpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0ZDo6dW5pcXVlX3B0cjxS
ZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4gUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OmNy
ZWF0ZShEaXNwbGF5KiBkaXNwbGF5LCBjb25zdCBJbnRTaXplJiBzaXplLCBzdGQ6OmZ1bmN0aW9u
PHZvaWQoKT4gZGFtYWdlTm90aWZ5KQorc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRYQ29tcG9z
aXRlV2luZG93PiBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKERpc3BsYXkqIGRp
c3BsYXksIFdpbmRvdyBwYXJlbnQsIGNvbnN0IEludFNpemUmIHNpemUsIHN0ZDo6ZnVuY3Rpb248
dm9pZCgpPiBkYW1hZ2VOb3RpZnkpCiB7Ci0gICAgcmV0dXJuIHN1cHBvcnRzWERhbWFnZUFuZFhD
b21wb3NpdGUoZGlzcGxheSkgPyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3c+KG5ldyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhkaXNwbGF5LCBzaXplLCBkYW1h
Z2VOb3RpZnkpKSA6IG51bGxwdHI7CisgICAgcmV0dXJuIHN1cHBvcnRzWERhbWFnZUFuZFhDb21w
b3NpdGUoZGlzcGxheSkgPyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5k
b3c+KG5ldyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhkaXNwbGF5LCBwYXJlbnQsIHNpemUs
IGRhbWFnZU5vdGlmeSkpIDogbnVsbHB0cjsKIH0KIAotUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5k
b3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93KERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IElu
dFNpemUmIHNpemUsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpCitSZWRpcmVj
dGVkWENvbXBvc2l0ZVdpbmRvdzo6UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3coRGlzcGxheSog
ZGlzcGxheSwgV2luZG93IHBhcmVudCwgY29uc3QgSW50U2l6ZSYgc2l6ZSwgc3RkOjpmdW5jdGlv
bjx2b2lkKCk+IGRhbWFnZU5vdGlmeSkKICAgICA6IG1fZGlzcGxheShkaXNwbGF5KQogICAgICwg
bV9zaXplKHNpemUpCiAgICAgLCBtX3dpbmRvdygwKQpAQCAtMTQ2LDcgKzE0Niw3IEBAIFJlZGly
ZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdyhEaXNwbGF5
KiBkaXNwbGF5LCBjb25zdCBJCiAgICAgWFNldFdpbmRvd0F0dHJpYnV0ZXMgd2luZG93QXR0cmli
dXRlczsKICAgICB3aW5kb3dBdHRyaWJ1dGVzLm92ZXJyaWRlX3JlZGlyZWN0ID0gVHJ1ZTsKICAg
ICBtX3BhcmVudFdpbmRvdyA9IFhDcmVhdGVXaW5kb3coZGlzcGxheSwKLSAgICAgICAgUm9vdFdp
bmRvd09mU2NyZWVuKHNjcmVlbiksCisgICAgICAgIHBhcmVudCA/IHBhcmVudCA6IFJvb3RXaW5k
b3dPZlNjcmVlbihzY3JlZW4pLAogICAgICAgICBXaWR0aE9mU2NyZWVuKHNjcmVlbikgKyAxLCAw
LCAxLCAxLAogICAgICAgICAwLAogICAgICAgICBDb3B5RnJvbVBhcmVudCwKQEAgLTE1Niw2ICsx
NTYsMTAgQEAgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OlJlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93KERpc3BsYXkqIGRpc3BsYXksIGNvbnN0IEkKICAgICAgICAgJndpbmRvd0F0dHJpYnV0
ZXMpOwogICAgIFhNYXBXaW5kb3coZGlzcGxheSwgbV9wYXJlbnRXaW5kb3cpOwogCisgICAgLy8g
VGhlIHRvcCBwYXJlbnQgaXMgb25seSBuZWNlc3NhcnkgdG8gY29weSBmcm9tIHBhcmVudCB0aGUg
dmlzdWFsIGFuZCBkZXB0aCBhdCBjcmVhdGlvbiB0aW1lLgorICAgIGlmIChwYXJlbnQpCisgICAg
ICAgIFhSZXBhcmVudFdpbmRvdyhkaXNwbGF5LCBtX3BhcmVudFdpbmRvdywgUm9vdFdpbmRvd09m
U2NyZWVuKHNjcmVlbiksIFdpZHRoT2ZTY3JlZW4oc2NyZWVuKSArIDEsIDApOworCiAgICAgd2lu
ZG93QXR0cmlidXRlcy5ldmVudF9tYXNrID0gU3RydWN0dXJlTm90aWZ5TWFzazsKICAgICB3aW5k
b3dBdHRyaWJ1dGVzLm92ZXJyaWRlX3JlZGlyZWN0ID0gRmFsc2U7CiAgICAgbV93aW5kb3cgPSBY
Q3JlYXRlV2luZG93KGRpc3BsYXksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmgKaW5kZXggYmZmYzBhYi4uNmIz
NTkyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVk
WENvbXBvc2l0ZVdpbmRvdy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVk
aXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaApAQCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cgewogcHVibGljOgotICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IGNyZWF0
ZShEaXNwbGF5KiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCgp
PiBkYW1hZ2VOb3RpZnkpOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhD
b21wb3NpdGVXaW5kb3c+IGNyZWF0ZShEaXNwbGF5KiwgV2luZG93IHBhcmVudCwgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiBkYW1hZ2VOb3RpZnkpOwogICAg
IH5SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdygpOwogCiAgICAgV2luZG93IHdpbmRvd0lEKCkg
Y29uc3QgeyByZXR1cm4gbV93aW5kb3c7IH0KQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAg
IGNhaXJvX3N1cmZhY2VfdCogc3VyZmFjZSgpOwogCiBwcml2YXRlOgotICAgIFJlZGlyZWN0ZWRY
Q29tcG9zaXRlV2luZG93KERpc3BsYXkqLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiwgc3RkOjpm
dW5jdGlvbjx2b2lkKCk+IGRhbWFnZU5vdGlmeSk7CisgICAgUmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3coRGlzcGxheSosIFdpbmRvdyBwYXJlbnQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4gZGFtYWdlTm90aWZ5KTsKICAgICB2b2lkIGNsZWFudXBQaXht
YXBBbmRQaXhtYXBTdXJmYWNlKCk7CiAKICAgICBEaXNwbGF5KiBtX2Rpc3BsYXk7Ci0tIAoxLjku
MQoK
</data>
<flag name="review"
          id="267883"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
    <flag name="commit-queue"
          id="267884"
          type_id="3"
          status="-"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>