<?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>151139</bug_id>
          
          <creation_ts>2015-11-11 09:32:04 -0800</creation_ts>
          <short_desc>[GTK] Web Process crashes on reparenting a WebView with AC mode on</short_desc>
          <delta_ts>2015-11-17 00:37:33 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=151131</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>agomez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cosimoc</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>philip.chimento</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1141126</commentid>
    <comment_count>0</comment_count>
      <attachid>265293</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-11 09:32:04 -0800</bug_when>
    <thetext>Created attachment 265293
Backtraces for the UI and Web processes (Release build)

At least since WebKitGTK+ 2.10.0, the Web Process does very often die when the WebView gets reparented from one container to another (removing + adding, NOT using gtk_widget_reparent()) while using Accelerated Compositing, which seems to happen due to a X BadDrawable error, which eventually makes the UI process crash as well.

More specifically, the error that is being reported from the X.org server is like this:

  (WebKitWebProcess:8500): Gdk-ERROR **: The program &apos;WebKitWebProcess&apos; received an X Window System error.
  This probably reflects a bug in the program.
  The error was &apos;BadDrawable (invalid Pixmap or Window parameter)&apos;.
    (Details: serial 690 error_code 9 request_code 152 (DRI2) minor_code 8)
    (Note to programmers: normally, X errors are reported asynchronously;
     that is, you will receive the error a while after causing it.
     To debug your program, run it with the GDK_SYNCHRONIZE environment
     variable to change this behavior. You can then get a meaningful
     backtrace from your debugger if you break on the gdk_x_error() function.)

Please see attached a dump of the two backtraces as they are generated by the UI and the Web processes. Those were taken with a release build of WebKit since that&apos;s the one I have around now, but I will try to reproduce it in a debug build asap as well, will attach it later.

This crash has happened in a 64-bit Fedora 22 machine with the latest code from WebKit&apos;s trunk compiled from sources, using the build-webkit script.


Additional details:

This issue was not happening at all in 2.6.2 and it&apos;s crashing from 2.10.0 as far as I can see, although in 2.8.x some graphics corruption is present already when reparenting already. Carlos explained to me on IRC that this is mostly to the move to using PlatformDisplay, which reuses GDK&apos;s connection to the X display and install a bunch of error handlers, which were not present before (thus the problem has probably been there for a while, and was simply ignored)

Anyway, just for the sake of completeness I&apos;m also linking an screencast showing the issue from inside a 32-bit Debian-like chroot:

  https://drive.google.com/file/d/0B6Gdj3EoWfFLSjZzdHFuVFJERGM/view?usp=sharing

Next, I will attach two test cases I wrote which I can reproduce the bug reliably with</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141129</commentid>
    <comment_count>1</comment_count>
      <attachid>265296</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-11 09:37:27 -0800</bug_when>
    <thetext>Created attachment 265296
Test case in Javascript

See attached a test case in JavaScript using GObject Introspection.

Using this, I can reliably get the web process crashing inside my chroot (see the video linked in the bug&apos;s description), both by making WebKit load the simple HTML content included with the test or by loading another example from the web, such as the Poster Circle 3D CSS example (uncomment + comment the line in the code to try it out).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141130</commentid>
    <comment_count>2</comment_count>
      <attachid>265297</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-11 09:40:40 -0800</bug_when>
    <thetext>Created attachment 265297
Test case in C

See attached a test case in C that I used to get the backtraces from inside WebKitGTK&apos;s development jhbuild environment, using ToT.

As with the other example, feel free to use either the sample HTML content included with the test or comment/uncomment the relevant lines to try it out with the Poster Circle (or anything else enabling AC, really) instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141148</commentid>
    <comment_count>3</comment_count>
      <attachid>265302</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-11 10:27:29 -0800</bug_when>
    <thetext>Created attachment 265302
Backtraces for the UI and Web processes (Debug build)

Seems like I end up getting the backtraces from a debug build (SVN r192098) sooner than what I expected, so I&apos;m attaching them right now.

I&apos;m still not sure the web process backtrace is useful since it shows the moment the X error is noticed but not when it&apos;s generated, so I&apos;ll try to get one setting GDK_SYNCHRONIZE=1.

In any case, it shows at least why the UI Process it&apos;s dying, which seems to be due to drawingArea being NULL in the following snippet:

    static void webkitWebViewBaseRealize(GtkWidget* widget)
    {
        WebKitWebViewBase* webView = WEBKIT_WEB_VIEW_BASE(widget);
        WebKitWebViewBasePrivate* priv = webView-&gt;priv;
    
    #if USE(REDIRECTED_XCOMPOSITE_WINDOW)
        [...]
            if (priv-&gt;redirectedWindow) {
                DrawingAreaProxyImpl* drawingArea = static_cast&lt;DrawingAreaProxyImpl*&gt;(priv-&gt;pageProxy-&gt;drawingArea());
                drawingArea-&gt;setNativeSurfaceHandleForCompositing(priv-&gt;redirectedWindow-&gt;windowID());
            }
        }
    #endif
       [...]
    }

My theory is that when the X error comes bad things happen to the XRedirectedCompositeWindow and the drawing area dies too, causing the proxy here to die as well. But that&apos;s a theory, we need facts :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141162</commentid>
    <comment_count>4</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-11 10:51:42 -0800</bug_when>
    <thetext>I might be doing something wrong, because the backtrace I get by setting GDK_SYNCHRONIZE=1 is pretty much identical to the one I already posted... :/

Anyway, looking deeper with gdb, the problem seems to start with this:

    void DrawingAreaImpl::enterAcceleratedCompositingMode(GraphicsLayer* graphicsLayer)
    {
        m_exitCompositingTimer.stop();
        m_wantsToExitAcceleratedCompositingMode = false;
    
        m_webPage.send(Messages::DrawingAreaProxy::WillEnterAcceleratedCompositingMode(m_backingStoreStateID));
    
        ASSERT(!m_layerTreeHost);
    
        m_layerTreeHost = LayerTreeHost::create(&amp;m_webPage);
    #if USE(TEXTURE_MAPPER) &amp;&amp; PLATFORM(GTK)
        if (m_nativeSurfaceHandleForCompositing)
            m_layerTreeHost-&gt;setNativeSurfaceHandleForCompositing(m_nativeSurfaceHandleForCompositing);
    #endif
        [...]
    }

It looks like the call m_layerTreeHost-&gt;setNativeSurfaceHandleForCompositing(m_nativeSurfaceHandleForCompositing) is happening over a handle that is not valid, hence the BadDrawable error later on when calling XGetWindowAttributes() from WebCore::GLContextGLX::createWindowContext().

Carlos, does this ring any bell? Could it be possible that there&apos;s a race condition between consecutive calls to DrawingAreaImpl::enterAcceleratedCompositingMode and DrawingAreaImpl::exitAcceleratedCompositingMode(), for instance, that might be causing that a rogue handler ID is kept there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141413</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-12 01:23:00 -0800</bug_when>
    <thetext>This is yet another regression introduced when the redirected x window creation was moved to realize. The problem is that when the web view is unrealized and realized again (for example when reparented like in your example), the redirected window is re-created. That happens quite fast by the unique_ptr, in the UI process, and the web process keeps using the old redirected window ID until a new  SetNativeSurfaceHandleForCompositing message is sent. This makes the web process crash, and the drawing area is deleted, since we don&apos;t properly recover from the crash, the next realize/unrealize pair makes realize use the null drawing area causing also the ui process to crash. We need to delete the redirected window earlier, un unrealize, but notify the web process before to stop rendering layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141416</commentid>
    <comment_count>6</comment_count>
      <attachid>265372</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-12 01:42:15 -0800</bug_when>
    <thetext>Created attachment 265372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141417</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-12 01:43:27 -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>1141432</commentid>
    <comment_count>8</comment_count>
      <attachid>265374</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-12 03:07:53 -0800</bug_when>
    <thetext>Created attachment 265374
Try to fix builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141471</commentid>
    <comment_count>9</comment_count>
      <attachid>265387</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-12 07:25:14 -0800</bug_when>
    <thetext>Created attachment 265387
Backtrace for the WebProcess with Carlos&apos;s patch

As commented with Carlos on IRC, the patch definitely fixes the crash in the UI process (as the drawingAreaImpl variable is now null-checked before using) but I&apos;m still seeing the crash in the WebProcess with the attached test cases, specially if running the Poster Circle example. You can see attached the full backtrace when that happens, although that&apos;s not a very useful one since it crashes on an ASSERT that it&apos;s probably wrong anyway.

Now, removing that ASSERT and running it again, this is the backtrace I get on a Debug build:

Breakpoint 1, gdk_x_error (xdisplay=0x46b8d0, error=0x7fffffffcb20) at gdkmain-x11.c:268
268	  if (error-&gt;error_code)
(gdb) bt
#0  gdk_x_error (xdisplay=0x46b8d0, error=0x7fffffffcb20) at gdkmain-x11.c:268
#1  0x00007fffe7f3646d in _XError (dpy=dpy@entry=0x46b8d0, rep=rep@entry=0xacd270) at ../../src/XlibInt.c:1429
#2  0x00007fffe7f333a7 in handle_error (dpy=dpy@entry=0x46b8d0, err=0xacd270, in_XReply=in_XReply@entry=1) at ../../src/xcb_io.c:213
#3  0x00007fffe7f34525 in _XReply (dpy=dpy@entry=0x46b8d0, rep=rep@entry=0x7fffffffcce0, extra=extra@entry=0, discard=discard@entry=1) at ../../src/xcb_io.c:699
#4  0x00007fffe7f18cfe in XGetGeometry (dpy=0x46b8d0, d=27263103, root=0x7fffffffcd90, x=0x7fffffffcd9c, y=0x7fffffffcd98, width=0x7fffffffcd8c, height=0x7fffffffcd88, borderWidth=0x7fffffffcd84, depth=0x7fffffffcd80)
    at ../../src/GetGeom.c:47
#5  0x00007ffff39921d4 in WebCore::GLContextGLX::defaultFrameBufferSize (this=0x800140) at ../../Source/WebCore/platform/graphics/glx/GLContextGLX.cpp:189
#6  0x00007ffff2453054 in WebKit::LayerTreeHostGtk::compositeLayersToContext (this=0x7fffdb2eec60, purpose=WebKit::LayerTreeHostGtk::NotForResize) at ../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:335
#7  0x00007ffff245321e in WebKit::LayerTreeHostGtk::flushAndRenderLayers (this=0x7fffdb2eec60) at ../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:368
#8  0x00007ffff2452e74 in WebKit::LayerTreeHostGtk::renderFrame (this=0x7fffdb2eec60) at ../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:307
#9  0x00007ffff2454dbf in std::_Mem_fn_base&lt;bool (WebKit::LayerTreeHostGtk::*)(), true&gt;::operator()&lt;, void&gt;(std::_Mem_fn_base&lt;bool (WebKit::LayerTreeHostGtk::*)(), true&gt;::_Class *) const (this=0x847370, __object=0x7fffdb2eec60)
    at /usr/include/c++/5/functional:600
#10 0x00007ffff2454d00 in std::_Bind&lt;std::_Mem_fn&lt;bool (WebKit::LayerTreeHostGtk::*)()&gt;(WebKit::LayerTreeHostGtk*)&gt;::__call&lt;bool, 0ul&gt;(&lt;unknown type in /home/mario/work/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x1540a0&gt;, std::_Index_tuple&lt;0ul&gt;) (this=0x847370, __args=&lt;unknown type in /home/mario/work/WebKit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37, CU 0x0, DIE 0x1540a0&gt;) at /usr/include/c++/5/functional:1074
#11 0x00007ffff2454a92 in std::_Bind&lt;std::_Mem_fn&lt;bool (WebKit::LayerTreeHostGtk::*)()&gt;(WebKit::LayerTreeHostGtk*)&gt;::operator()&lt;, bool&gt;(void) (this=0x847370) at /usr/include/c++/5/functional:1133
#12 0x00007ffff2454635 in std::_Function_handler&lt;bool(), std::_Bind&lt;std::_Mem_fn&lt;bool (WebKit::LayerTreeHostGtk::*)()&gt;(WebKit::LayerTreeHostGtk*)&gt; &gt;::_M_invoke(const std::_Any_data &amp;) (__functor=...) at /usr/include/c++/5/functional:1857
#13 0x00007ffff2453a8a in std::function&lt;bool()&gt;::operator()(void) const (this=0x7fffdb2eed50) at /usr/include/c++/5/functional:2271
#14 0x00007ffff2451d06 in WebKit::LayerTreeHostGtk::RenderFrameScheduler::renderFrame (this=0x7fffdb2eed50) at ../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:124
#15 0x00007ffff2454e90 in WTF::RunLoop::Timer&lt;WebKit::LayerTreeHostGtk::RenderFrameScheduler&gt;::fired (this=0x7fffdb2eed70) at ../../Source/WTF/wtf/RunLoop.h:131
#16 0x00007fffec3df2e7 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&amp;)::{lambda(void*)#1}::operator()(void*) const () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:131
#17 0x00007fffec3df323 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&amp;)::{lambda(void*)#1}::_FUN(void*) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:135
#18 0x00007fffec3deb0c in WTF::&lt;lambda(GSource*, GSourceFunc, gpointer)&gt;::operator()(GSource *, GSourceFunc, gpointer) const (__closure=0x0, source=0x510e70, 
    callback=0x7fffec3df306 &lt;WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&amp;)::{lambda(void*)#1}::_FUN(void*)&gt;, userData=0x7fffdb2eed70) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:44
#19 0x00007fffec3deb3b in WTF::&lt;lambda(GSource*, GSourceFunc, gpointer)&gt;::_FUN(GSource *, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#20 0x00007fffe955bbea in g_main_dispatch (context=0x466640) at gmain.c:3122
#21 g_main_context_dispatch (context=context@entry=0x466640) at gmain.c:3737
#22 0x00007fffe955bf68 in g_main_context_iterate (context=0x466640, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;) at gmain.c:3808
#23 0x00007fffe955c282 in g_main_loop_run (loop=0xaf5820) at gmain.c:4002
#24 0x00007fffec3df104 in WTF::RunLoop::run () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:94
#25 0x00007ffff2450199 in WebKit::ChildProcessMain&lt;WebKit::WebProcess, WebKit::WebProcessMain&gt; (argc=2, argv=0x7fffffffd348) at ../../Source/WebKit2/Shared/unix/ChildProcessMain.h:61
#26 0x00007ffff2450000 in WebKit::WebProcessMainUnix (argc=2, argv=0x7fffffffd348) at ../../Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp:77
#27 0x0000000000400c6a in main (argc=2, argv=0x7fffffffd348) at ../../Source/WebKit2/WebProcess/EntryPoint/unix/WebProcessMain.cpp:44</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141476</commentid>
    <comment_count>10</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-12 07:34:44 -0800</bug_when>
    <thetext>From the UI perspective, this what I get printed in the UI process after putting a few printf&apos;s around &quot;m_layerTreeContext.contextID = handle&quot; in LayerTreeHostGtk::setNativeSurfaceHandleForCompositing, and around the call to makeContextCurrent() (which always succeeds) in LayerTreeHostGtk::compositeLayersToContext:

[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:425] setNativeSurfaceHandleForCompositing :: old handle: 0
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:429] setNativeSurfaceHandleForCompositing :: new handle: 27263047
Reparenting the WebView...
Old parent: 0xb9a660
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:425] setNativeSurfaceHandleForCompositing :: old handle: 27263047
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:429] setNativeSurfaceHandleForCompositing :: new handle: 0
New parent: 0xb9a7b0
Reparenting the WebView...
Old parent: 0xb9a7b0
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:425] setNativeSurfaceHandleForCompositing :: old handle: 0
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:429] setNativeSurfaceHandleForCompositing :: new handle: 27263053
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:425] setNativeSurfaceHandleForCompositing :: old handle: 27263053
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:429] setNativeSurfaceHandleForCompositing :: new handle: 0
New parent: 0xb9a660
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:425] setNativeSurfaceHandleForCompositing :: old handle: 0
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:429] setNativeSurfaceHandleForCompositing :: new handle: 27263059
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:329] compositeLayersToContext :: context ID BEFORE makeContextCurrent: 27263059
[../../Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:334] compositeLayersToContext :: context ID AFTER makeContextCurrent (Success): 27263059

(WebKitWebProcess:29232): Gdk-ERROR **: The program &apos;WebKitWebProcess&apos; received an X Window System error.
This probably reflects a bug in the program.
The error was &apos;BadDrawable (invalid Pixmap or Window parameter)&apos;.
  (Details: serial 203 error_code 9 request_code 14 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141872</commentid>
    <comment_count>11</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-13 10:31:17 -0800</bug_when>
    <thetext>Finally, I think I found what was going on here: I think your last patch was almost perfect but I think there was one thing missing:

As far as I can see the flow is between the UI and Web process when unrealizing a webview and then realizing a new one is something like this:

 1. In the UIProcess, when REALIZING a new webview right before the first time we enter Accelerated Compositing mode:
   1.1. webkitWebViewBaseRealize() creates a XRedirectedWindow, sends its ID (let&apos;s call it &apos;Id1&apos;) to the web process via the DrawingArea
   1.2. The proxy for the DrawingArea sends a message to the WebProcess with the new XWindow&apos;s ID, Id1

 2. In the WebProcess, as a response to (1.2): 
   2.1. DrawingAreaImpl::setNativeSurfaceHandleForCompositing(Id1) gets called in the WebProcess, which calls LayerTreeHostGtk::setNativeSurfaceHandleForCompositing(Id1)
   2.2. LayerTreeHostGtk replaces the old handler (0, as AC was disabled) with the new one (Id1) and calls makeContextCurrent()
   2.3. As m_layerTreeContext.contextID != 0 and m_context == nullptr when calling makeContextCurrent, a new GLContext for the handler ID is created
   2.4. In my case, 1.4. ends up creating a GLXContext for the XRedirectedWindow created in the UI Process (let&apos;s call it GLXContext-Id1), and calling GLXContext::makeContextCurrent()
   2.5. With a new GLContext created, LayerTreeHostGtk::setNativeSurfaceHandleForCompositing() finishes the work for this Realize process by creating a texture mapper for the layer and scheduling a layer flush.

 3. In the UI Process now again, after removing the previous webview, we have an UNREALIZE event:
   3.1. webkitWebViewBaseUnrealize is called which calls DrawingAreaProxyImpl::destroyNativeSurfaceHandleForCompositing()
   3.2. A synchronous message is sent to the Web Process, to ensure LayoutTreeHostGtk clears its reference to the no longer valid XRedirectedWindow

 4. In the Web process, as a response to (3.2):
   4.1. DrawingAreaImpl::setNativeSurfaceHandleForCompositing(0) gets called in the WebProcess, which calls LayerTreeHostGtk::setNativeSurfaceHandleForCompositing(0)
   4.2. LayerTreeHostGtk replaces the old handler (&apos;Id1&apos;) with the new one (0) and calls makeCurrentContext()
   4.3. Now THIS IS THE PROBLEM: makeContextCurrent() sees that m_layerTreeContext.contextID == 0 and early returns false.
     &gt;&gt; The problem is that the GLXContext created in 2.4, which is associated to the handler of the -now invalid- XRedirectedWindow, is kept referenced by m_context
   4.4. As makeContextCurrent() returned false, LayerTreeHostGtk::setNativeSurfaceHandleForCompositing() returns early right after that call.
   4.5. After this destruction process, the LayerTreeHostGtk is left with m_layerTreeContext.contextID set to ZERO, but with m_context set to the GLXContext created before (GLXContext-Id1)

 5. In the UI Process again, a REALIZE event happens after re-adding the webview to a new parent:
   5.1. webkitWebViewBaseRealize() creates a XRedirectedWindow, sends its ID (let&apos;s call it &apos;Id2&apos;) to the web process via the DrawingArea
   5.2. The proxy for the DrawingArea sends a message to the WebProcess with the new XWindow&apos;s ID, Id2

 6. In the WebProcess, as a response to (5.2): 
   6.1. DrawingAreaImpl::setNativeSurfaceHandleForCompositing(Id2) gets called in the WebProcess, which calls LayerTreeHostGtk::setNativeSurfaceHandleForCompositing(Id2)
   6.2. LayerTreeHostGtk replaces the old handler (0, as per 4.2) with the new one (Id2) and calls makeContextCurrent()
   6.3. As m_layerTreeContext.contextID != 0, makeContextCurrent() does not early return, but since m_context is NOT nullptr a new GLContext is NOT created now, and the obsolete GLXContext-Id1 is kept
   6.4. Now GLXContext::makeContextCurrent() is called again, but since m_context points to the wrong context, that call is totally bogus, as m_window for that GLXContext will point to the wrong XWindow
   6.5. Finally, LayerTreeHostGtk::setNativeSurfaceHandleForCompositing() finishes the work for this Realize process by creating a texture mapper for the layer and scheduling a layer flush.
   
 7. Now that we are in a totally broken state, eventually the following will happen in the WebProcess:
   7.1. LayerTreeHostGtk::flushAndRenderLayers() will get called, which will call LayerTreeHostGtk::compositeLayersToContext()
   7.2. LayerTreeHostGtk::compositeLayersToContext() will call m_context-&gt;defaultFrameBufferSize() to get the size of the viewport
   7.3. GLContextGLX::defaultFrameBufferSize() is called now, which calls XGetGeometry(display, m_window, &amp;rootWindow, &amp;x, &amp;y, &amp;width, &amp;height, &amp;borderWidth, &amp;depth)
   7.4. Since the reference stored in m_window points to the old &apos;Id1&apos; of the no longer existing XRedirected, created in 1.1, XGetGeometry generates the BadDrawable error we are seeing
   7.5. Boom! :)


Now, as hidden as this issue was to my eyes, now that I know what&apos;s going on, I believe the solution is not that hard :).

It looks to me like what we have to do is to complement Carlos&apos;s patch with yet one more addition. Just make sure that the m_context variable gets reset to nullptr when setting the contextID of LayerTreeHostGtk to zero, and we should be fine. And it looks to me like LayerTreeHostGtk::makeContextCurrent(), right before early returning, might be a good place for that:

    bool LayerTreeHostGtk::makeContextCurrent()
    {
        if (!m_layerTreeContext.contextID) {
            m_context = nullptr;
            return false;
        }

        if (!m_context) {
            m_context = GLContext::createContextForWindow(reinterpret_cast&lt;GLNativeWindowType&gt;(m_layerTreeContext.contextID), GLContext::sharingContext());
            if (!m_context)
                return false;
        }

        return m_context-&gt;makeContextCurrent();
    }

Basically, it would be applying this patch on top of Carlos&apos;s last one:

--- a/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
@@ -145,8 +145,10 @@ LayerTreeHostGtk::LayerTreeHostGtk(WebPage* webPage)
 
 bool LayerTreeHostGtk::makeContextCurrent()
 {
-    if (!m_layerTreeContext.contextID)
+    if (!m_layerTreeContext.contextID) {
+        m_context = nullptr;
         return false;
+    }


I&apos;ve tested this locally and it fixes the issue for me reliably, both in Release and Debug builds. 

Carlos, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142178</commentid>
    <comment_count>12</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-16 00:05:14 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Basically, it would be applying this patch on top of Carlos&apos;s last one:
&gt; 
&gt; --- a/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
&gt; +++ b/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
&gt; @@ -145,8 +145,10 @@ LayerTreeHostGtk::LayerTreeHostGtk(WebPage* webPage)
&gt;  
&gt;  bool LayerTreeHostGtk::makeContextCurrent()
&gt;  {
&gt; -    if (!m_layerTreeContext.contextID)
&gt; +    if (!m_layerTreeContext.contextID) {
&gt; +        m_context = nullptr;
&gt;          return false;
&gt; +    }
&gt; 
&gt; 
&gt; I&apos;ve tested this locally and it fixes the issue for me reliably, both in
&gt; Release and Debug builds. 
&gt; 
&gt; Carlos, what do you think?

I think you write too much :-) awesome analysis, and I agree with your solution, makeContextCurrent() is the one creating the context, so look like a good place to delete it also when the ID becomes 0. I&apos;ll submit a new patch. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142180</commentid>
    <comment_count>13</comment_count>
      <attachid>265572</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-16 00:48:19 -0800</bug_when>
    <thetext>Created attachment 265572
Updated patch

Thank you Mario!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142215</commentid>
    <comment_count>14</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-16 03:43:26 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; [...]
&gt; I think you write too much :-)

You lazy reader!

&gt; awesome analysis, and I agree with your solution, makeContextCurrent() is the one creating the context, so look like a good place to delete it also when the ID becomes 0. I&apos;ll submit a new patch. Thanks!

Thanks for confirming the solution and submitting a new patch, I&apos;ll review it now</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142216</commentid>
    <comment_count>15</comment_count>
      <attachid>265572</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-11-16 03:54:11 -0800</bug_when>
    <thetext>Comment on attachment 265572
Updated patch

Looks good to me. Also, I tested this locally and can confirm it fixes both the situation with the test case and with the original case that exposed the bug, without causing any regression I could notice so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142494</commentid>
    <comment_count>16</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-17 00:37:33 -0800</bug_when>
    <thetext>Committed r192510: &lt;http://trac.webkit.org/changeset/192510&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>265293</attachid>
            <date>2015-11-11 09:32:04 -0800</date>
            <delta_ts>2015-11-11 23:43:30 -0800</delta_ts>
            <desc>Backtraces for the UI and Web processes (Release build)</desc>
            <filename>backtrace-all</filename>
            <type>text/plain</type>
            <size>26251</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBVSSBQcm9jZXNzIChXZWJLaXQgVXBz
dHJlYW0pICMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKClRocmVhZCA2IChUaHJl
YWQgMHg3ZmZmOTcxNDM3MDAgKExXUCAxNzk1MikpOgojMCAgMHgwMDAwN2ZmZmYxODMzMmZkIGlu
IHBvbGwgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAgMHgw
MDAwN2ZmZmYxZDYwYjA0IGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKHByaW9yaXR5PTIxNDc0ODM2
NDcsIG5fZmRzPTEsIGZkcz0weDdmZmY5MDAwMTRhMCwgdGltZW91dD08b3B0aW1pemVkIG91dD4s
IGNvbnRleHQ9MHg3ZmZmOTAwMDA5MDApIGF0IGdtYWluLmM6NDEwMwojMiAgZ19tYWluX2NvbnRl
eHRfaXRlcmF0ZSAoY29udGV4dD0weDdmZmY5MDAwMDkwMCwgYmxvY2s9YmxvY2tAZW50cnk9MSwg
ZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdtYWlu
LmM6MzgwMwojMyAgMHgwMDAwN2ZmZmYxZDYwZTgyIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0w
eDdmZmY5MDAwMTI0MCkgYXQgZ21haW4uYzo0MDAyCiM0ICAweDAwMDA3ZmZmZjI5MTUwYjAgaW4g
V1RGOjpSdW5Mb29wOjpydW4oKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktp
dEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNSAgMHgw
MDAwN2ZmZmYyOTE1NTZiIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpX
b3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6
OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjp7bGFtYmRhKCkjMX0+OjpfTV9pbnZva2Uoc3Rk
OjpfQW55X2RhdGEgY29uc3QmKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktp
dEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAgMHgw
MDAwN2ZmZmYyOGU2ZWI1IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgZnJvbSAv
aG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2Ny
aXB0Y29yZWd0ay00LjAuc28uMTgKIzcgIDB4MDAwMDdmZmZmMjkxMmJlYSBpbiBXVEY6Ond0ZlRo
cmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2Vi
S2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM4ICAw
eDAwMDA3ZmZmZjFiMDM1NTUgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmOTcxNDM3MDApIGF0
IHB0aHJlYWRfY3JlYXRlLmM6MzMzCiM5ICAweDAwMDA3ZmZmZjE4M2ViOWQgaW4gY2xvbmUgKCkg
YXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTA5CgpUaHJlYWQg
NSAoVGhyZWFkIDB4N2ZmZjk2OTQyNzAwIChMV1AgMTc5NTMpKToKIzAgIDB4MDAwMDdmZmZmMTgz
MzJmZCBpbiBwb2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEK
IzEgIDB4MDAwMDdmZmZmMWQ2MGIwNCBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT0y
MTQ3NDgzNjQ3LCBuX2Zkcz0xLCBmZHM9MHg3ZmZmODgwMDE0ODAsIHRpbWVvdXQ9PG9wdGltaXpl
ZCBvdXQ+LCBjb250ZXh0PTB4N2ZmZjg4MDAwOTAwKSBhdCBnbWFpbi5jOjQxMDMKIzIgIGdfbWFp
bl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmZmODgwMDA5MDAsIGJsb2NrPWJsb2NrQGVu
dHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBh
dCBnbWFpbi5jOjM4MDMKIzMgIDB4MDAwMDdmZmZmMWQ2MGU4MiBpbiBnX21haW5fbG9vcF9ydW4g
KGxvb3A9MHg3ZmZmODgwMDEyNDApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgwMDAwN2ZmZmYyOTE1
MGIwIGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktp
dC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgK
IzUgIDB4MDAwMDdmZmZmMjkxNTU2YiBpbiBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCks
IFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29y
a1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6e2xhbWJkYSgpIzF9Pjo6X01faW52
b2tlKHN0ZDo6X0FueV9kYXRhIGNvbnN0JikgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktp
dC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgK
IzYgIDB4MDAwMDdmZmZmMjhlNmViNSBpbiBXVEY6OnRocmVhZEVudHJ5UG9pbnQodm9pZCopICgp
IGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGli
amF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM3ICAweDAwMDA3ZmZmZjI5MTJiZWEgaW4gV1RG
Ojp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2Vi
S2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4x
OAojOCAgMHgwMDAwN2ZmZmYxYjAzNTU1IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjk2OTQy
NzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMzMwojOSAgMHgwMDAwN2ZmZmYxODNlYjlkIGluIGNs
b25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEwOQoK
VGhyZWFkIDQgKFRocmVhZCAweDdmZmY5NjE0MTcwMCAoTFdQIDE3OTU0KSk6CiMwICAweDAwMDA3
ZmZmZjFiMGJjN2QgaW4gbmFub3NsZWVwICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRl
bXBsYXRlLlM6ODEKIzEgIDB4MDAwMDdmZmZmMjkxYzRiYyBpbiBibWFsbG9jOjpIZWFwOjpzY2F2
ZW5nZShzdGQ6OnVuaXF1ZV9sb2NrPGJtYWxsb2M6OlN0YXRpY011dGV4PiYsIHN0ZDo6Y2hyb25v
OjpkdXJhdGlvbjxsb25nLCBzdGQ6OnJhdGlvPDFsLCAxMDAwbD4gPikgKCkKICAgZnJvbSAvaG9t
ZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0
Y29yZWd0ay00LjAuc28uMTgKIzIgIDB4MDAwMDdmZmZmMjkxYzVkZiBpbiBibWFsbG9jOjpIZWFw
Ojpjb25jdXJyZW50U2NhdmVuZ2UoKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dl
YktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojMyAg
MHgwMDAwN2ZmZmYyOTFkMmRlIGluIGJtYWxsb2M6OkFzeW5jVGFzazxibWFsbG9jOjpIZWFwLCB2
b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPjo6dGhyZWFkUnVuTG9vcCgpICgpCiAgIGZyb20gL2hv
bWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlw
dGNvcmVndGstNC4wLnNvLjE4CiM0ICAweDAwMDA3ZmZmZWFlODkzNjAgaW4gPz8gKCkgZnJvbSAv
bGliNjQvbGlic3RkYysrLnNvLjYKIzUgIDB4MDAwMDdmZmZmMWIwMzU1NSBpbiBzdGFydF90aHJl
YWQgKGFyZz0weDdmZmY5NjE0MTcwMCkgYXQgcHRocmVhZF9jcmVhdGUuYzozMzMKIzYgIDB4MDAw
MDdmZmZmMTgzZWI5ZCBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvY2xvbmUuUzoxMDkKClRocmVhZCAzIChUaHJlYWQgMHg3ZmZmOTUxM2Y3MDAgKExXUCAx
Nzk2MCkpOgojMCAgcHRocmVhZF9jb25kX3dhaXRAQEdMSUJDXzIuMy4yICgpIGF0IC4uL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9wdGhyZWFkX2NvbmRfd2FpdC5TOjE4NQojMSAgMHgw
MDAwN2ZmZmVhZTgzZjBjIGluIHN0ZDo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0KHN0ZDo6dW5p
cXVlX2xvY2s8c3RkOjptdXRleD4mKSAoKSBmcm9tIC9saWI2NC9saWJzdGRjKysuc28uNgojMiAg
MHgwMDAwN2ZmZmYyOGU0NDE5IGluIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHko
dm9pZCBjb25zdCosIHN0ZDo6ZnVuY3Rpb248Ym9vbCAoKT4sIHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4sIHN0ZDo6Y2hyb25vOjp0aW1lX3BvaW50PHN0ZDo6Y2hyb25vOjpfVjI6OnN0ZWFkeV9jbG9j
aywgc3RkOjpjaHJvbm86OmR1cmF0aW9uPGxvbmcsIHN0ZDo6cmF0aW88MWwsIDEwMDAwMDAwMDBs
PiA+ID4pICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFz
ZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiMzICAweDAwMDA3ZmZmZjI5MTU5
N2YgaW4gV1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW52YWxpZGF0ZSgpICgpIGZyb20gL2hvbWUv
bWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNv
cmVndGstNC4wLnNvLjE4CiM0ICAweDAwMDA3ZmZmZjI4ZTc0YzcgaW4gV1RGOjpXb3JrUXVldWU6
On5Xb3JrUXVldWUoKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxk
L1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNSAgMHgwMDAwN2Zm
ZmYyOGU3NGQ5IGluIFdURjo6V29ya1F1ZXVlOjp+V29ya1F1ZXVlKCkgKCkgZnJvbSAvaG9tZS9t
YXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29y
ZWd0ay00LjAuc28uMTgKIzYgIDB4MDAwMDdmZmZmMjkxNTNjNSBpbiBzdGQ6Ol9GdW5jdGlvbl9i
YXNlOjpfQmFzZV9tYW5hZ2VyPFdURjo6V29ya1F1ZXVlOjpkaXNwYXRjaChzdGQ6OmZ1bmN0aW9u
PHZvaWQgKCk+KTo6e2xhbWJkYSgpIzF9Pjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0
ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8V1RGOjpXb3JrUXVldWU6OmRpc3BhdGNo
KHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4pOjp7bGFtYmRhKCkjMX0+IGNvbnN0Jiwgc3RkOjpfTWFu
YWdlcl9vcGVyYXRpb24pICgpCiAgIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0
QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM3ICAweDAw
MDA3ZmZmZjI4ZTVlMDYgaW4gV1RGOjpSdW5Mb29wOjpwZXJmb3JtV29yaygpICgpIGZyb20gL2hv
bWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlw
dGNvcmVndGstNC4wLnNvLjE4CiM4ICAweDAwMDA3ZmZmZjI5MTQ4ODkgaW4gV1RGOjpSdW5Mb29w
OjpSdW5Mb29wKCk6OntsYW1iZGEodm9pZCopIzF9OjpfRlVOKHZvaWQqKSAoKSBmcm9tIC9ob21l
L21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRj
b3JlZ3RrLTQuMC5zby4xOAojOSAgMHgwMDAwN2ZmZmYxZDYwN2VhIGluIGdfbWFpbl9kaXNwYXRj
aCAoY29udGV4dD0weDdmZmY4MDAwMDkwMCkgYXQgZ21haW4uYzozMTIyCiMxMCBnX21haW5fY29u
dGV4dF9kaXNwYXRjaCAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4N2ZmZjgwMDAwOTAwKSBhdCBn
bWFpbi5jOjM3MzcKIzExIDB4MDAwMDdmZmZmMWQ2MGI2OCBpbiBnX21haW5fY29udGV4dF9pdGVy
YXRlIChjb250ZXh0PTB4N2ZmZjgwMDAwOTAwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRj
aD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ21haW4uYzozODA4
CiMxMiAweDAwMDA3ZmZmZjFkNjBlODIgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2ZmZjgw
MDAxMjQwKSBhdCBnbWFpbi5jOjQwMDIKIzEzIDB4MDAwMDdmZmZmMjkxNTBiMCBpbiBXVEY6OlJ1
bkxvb3A6OnJ1bigpICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQv
UmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiMxNCAweDAwMDA3ZmZm
ZjI5MTU1NmIgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkICgpLCBXVEY6OldvcmtRdWV1
ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwg
V1RGOjpXb3JrUXVldWU6OlFPUyk6OntsYW1iZGEoKSMxfT46Ol9NX2ludm9rZShzdGQ6Ol9Bbnlf
ZGF0YSBjb25zdCYpICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQv
UmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiMxNSAweDAwMDA3ZmZm
ZjI4ZTZlYjUgaW4gV1RGOjp0aHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoKSBmcm9tIC9ob21lL21h
cmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3Jl
Z3RrLTQuMC5zby4xOAojMTYgMHgwMDAwN2ZmZmYyOTEyYmVhIGluIFdURjo6d3RmVGhyZWFkRW50
cnlQb2ludCh2b2lkKikgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWls
ZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzE3IDB4MDAwMDdm
ZmZmMWIwMzU1NSBpbiBzdGFydF90aHJlYWQgKGFyZz0weDdmZmY5NTEzZjcwMCkgYXQgcHRocmVh
ZF9jcmVhdGUuYzozMzMKIzE4IDB4MDAwMDdmZmZmMTgzZWI5ZCBpbiBjbG9uZSAoKSBhdCAuLi9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMDkKClRocmVhZCAyIChUaHJl
YWQgMHg3ZmZmOTU5NDA3MDAgKExXUCAxNzk1NykpOgojMCAgMHgwMDAwN2ZmZmYxODMzMmZkIGlu
IHBvbGwgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAgMHgw
MDAwN2ZmZmYxZDYwYjA0IGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKHByaW9yaXR5PTIxNDc0ODM2
NDcsIG5fZmRzPTEsIGZkcz0weDdmZmY4YzAwMTQ4MCwgdGltZW91dD08b3B0aW1pemVkIG91dD4s
IGNvbnRleHQ9MHg3ZmZmOGMwMDA5MDApIGF0IGdtYWluLmM6NDEwMwojMiAgZ19tYWluX2NvbnRl
eHRfaXRlcmF0ZSAoY29udGV4dD0weDdmZmY4YzAwMDkwMCwgYmxvY2s9YmxvY2tAZW50cnk9MSwg
ZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdtYWlu
LmM6MzgwMwojMyAgMHgwMDAwN2ZmZmYxZDYwZTgyIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0w
eDdmZmY4YzAwMTI0MCkgYXQgZ21haW4uYzo0MDAyCiM0ICAweDAwMDA3ZmZmZjI5MTUwYjAgaW4g
V1RGOjpSdW5Mb29wOjpydW4oKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktp
dEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNSAgMHgw
MDAwN2ZmZmYyOTE1NTZiIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpX
b3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6
OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjp7bGFtYmRhKCkjMX0+OjpfTV9pbnZva2Uoc3Rk
OjpfQW55X2RhdGEgY29uc3QmKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktp
dEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAgMHgw
MDAwN2ZmZmYyOGU2ZWI1IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgZnJvbSAv
aG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2Ny
aXB0Y29yZWd0ay00LjAuc28uMTgKIzcgIDB4MDAwMDdmZmZmMjkxMmJlYSBpbiBXVEY6Ond0ZlRo
cmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2Vi
S2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM4ICAw
eDAwMDA3ZmZmZjFiMDM1NTUgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmOTU5NDA3MDApIGF0
IHB0aHJlYWRfY3JlYXRlLmM6MzMzCiM5ICAweDAwMDA3ZmZmZjE4M2ViOWQgaW4gY2xvbmUgKCkg
YXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTA5CgpUaHJlYWQg
MSAoVGhyZWFkIDB4N2ZmZmY3ZjVhYTgwIChMV1AgMTc5NTEpKToKIzAgIDB4MDAwMDdmZmZmNWUw
MjBmZCBpbiBXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpzZXROYXRpdmVTdXJmYWNlSGFu
ZGxlRm9yQ29tcG9zaXRpbmcodW5zaWduZWQgbG9uZykgKCkKICAgZnJvbSAvaG9tZS9tYXJpby93
b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4z
NwojMSAgMHgwMDAwN2ZmZmY1ZTNjOTAyIGluIHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZShfR3Rr
V2lkZ2V0KikgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxl
YXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMiAgMHgwMDAwN2ZmZmYyYTlhYjA1IGlu
IGdfY2xvc3VyZV9pbnZva2UgKGNsb3N1cmU9MHg0NGEzYzAsIHJldHVybl92YWx1ZT0weDAsIG5f
cGFyYW1fdmFsdWVzPTEsIHBhcmFtX3ZhbHVlcz0weDdmZmZmZmZmYzQ2MCwgaW52b2NhdGlvbl9o
aW50PTB4N2ZmZmZmZmZjNDAwKQogICAgYXQgZ2Nsb3N1cmUuYzo3NjgKIzMgIDB4MDAwMDdmZmZm
MmFhYjgzNSBpbiBzaWduYWxfZW1pdF91bmxvY2tlZF9SIChub2RlPW5vZGVAZW50cnk9MHg0NDhk
OTAsIGRldGFpbD1kZXRhaWxAZW50cnk9MCwgaW5zdGFuY2U9aW5zdGFuY2VAZW50cnk9MHg0ZjM3
MDAsIAogICAgZW1pc3Npb25fcmV0dXJuPWVtaXNzaW9uX3JldHVybkBlbnRyeT0weDAsIGluc3Rh
bmNlX2FuZF9wYXJhbXM9aW5zdGFuY2VfYW5kX3BhcmFtc0BlbnRyeT0weDdmZmZmZmZmYzQ2MCkg
YXQgZ3NpZ25hbC5jOjM0NzkKIzQgIDB4MDAwMDdmZmZmMmFiNDQyMiBpbiBnX3NpZ25hbF9lbWl0
X3ZhbGlzdCAoaW5zdGFuY2U9PG9wdGltaXplZCBvdXQ+LCBzaWduYWxfaWQ9PG9wdGltaXplZCBv
dXQ+LCBkZXRhaWw9PG9wdGltaXplZCBvdXQ+LCB2YXJfYXJncz12YXJfYXJnc0BlbnRyeT0weDdm
ZmZmZmZmYzVlOCkKICAgIGF0IGdzaWduYWwuYzozMzA1CiM1ICAweDAwMDA3ZmZmZjJhYjQ3MDIg
aW4gZ19zaWduYWxfZW1pdCAoaW5zdGFuY2U9aW5zdGFuY2VAZW50cnk9MHg0ZjM3MDAsIHNpZ25h
bF9pZD08b3B0aW1pemVkIG91dD4sIGRldGFpbD1kZXRhaWxAZW50cnk9MCkgYXQgZ3NpZ25hbC5j
OjMzNjEKIzYgIDB4MDAwMDdmZmZmNDZlODA4OCBpbiBndGtfd2lkZ2V0X3JlYWxpemUgKHdpZGdl
dD13aWRnZXRAZW50cnk9MHg0ZjM3MDApIGF0IGd0a3dpZGdldC5jOjU1MjUKIzcgIDB4MDAwMDdm
ZmZmNDZlYWQ3OCBpbiBndGtfd2lkZ2V0X3NldF9wYXJlbnQgKHdpZGdldD13aWRnZXRAZW50cnk9
MHg0ZjM3MDAsIHBhcmVudD1wYXJlbnRAZW50cnk9MHg0ODQ2NjApIGF0IGd0a3dpZGdldC5jOjk1
NTIKIzggIDB4MDAwMDdmZmZmNDRiYTgyNCBpbiBndGtfYm94X3BhY2sgKGJveD0weDQ4NDY2MCwg
Y2hpbGQ9MHg0ZjM3MDAsIGV4cGFuZD0xLCBmaWxsPTEsIHBhZGRpbmc9MCwgcGFja190eXBlPTxv
cHRpbWl6ZWQgb3V0PikgYXQgZ3RrYm94LmM6MTQ5NAojOSAgMHgwMDAwMDAwMDAwNDAwZWVkIGlu
IF9vbl90aW1lb3V0X2NhbGxiYWNrICgpCiMxMCAweDAwMDA3ZmZmZjFkNjEyMjMgaW4gZ190aW1l
b3V0X2Rpc3BhdGNoIChzb3VyY2U9MHg2NDgyMDAsIGNhbGxiYWNrPTxvcHRpbWl6ZWQgb3V0Piwg
dXNlcl9kYXRhPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ21haW4uYzo0NTQ1CiMxMSAweDAwMDA3ZmZm
ZjFkNjA3ZWEgaW4gZ19tYWluX2Rpc3BhdGNoIChjb250ZXh0PTB4NDY4MmIwKSBhdCBnbWFpbi5j
OjMxMjIKIzEyIGdfbWFpbl9jb250ZXh0X2Rpc3BhdGNoIChjb250ZXh0PWNvbnRleHRAZW50cnk9
MHg0NjgyYjApIGF0IGdtYWluLmM6MzczNwojMTMgMHgwMDAwN2ZmZmYxZDYwYjY4IGluIGdfbWFp
bl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg0NjgyYjAsIGJsb2NrPWJsb2NrQGVudHJ5PTEs
IGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFp
bi5jOjM4MDgKIzE0IDB4MDAwMDdmZmZmMWQ2MGU4MiBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9
MHg1MWVhZDApIGF0IGdtYWluLmM6NDAwMgojMTUgMHgwMDAwN2ZmZmY0NWE5MGQ1IGluIGd0a19t
YWluICgpIGF0IGd0a21haW4uYzoxMjE5CiMxNiAweDAwMDAwMDAwMDA0MDExMWUgaW4gbWFpbiAo
KQoKCiMjIyMjIyMjIyMjIyMjIwojIFdlYiBQcm9jZXNzICMKIyMjIyMjIyMjIyMjIyMjCgpUaHJl
YWQgOCAoVGhyZWFkIDB4N2ZmZjk0ZjI1NzAwIChMV1AgMTgzNjQpKToKIzAgIDB4MDAwMDdmZmZm
MzRjMmM3ZCBpbiBuYW5vc2xlZXAgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxh
dGUuUzo4MQojMSAgMHgwMDAwN2ZmZmY0NWYyNGJjIGluIGJtYWxsb2M6OkhlYXA6OnNjYXZlbmdl
KHN0ZDo6dW5pcXVlX2xvY2s8Ym1hbGxvYzo6U3RhdGljTXV0ZXg+Jiwgc3RkOjpjaHJvbm86OmR1
cmF0aW9uPGxvbmcsIHN0ZDo6cmF0aW88MWwsIDEwMDBsPiA+KSAoKQogICBmcm9tIC9ob21lL21h
cmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3Jl
Z3RrLTQuMC5zby4xOAojMiAgMHgwMDAwN2ZmZmY0NWYyNWRmIGluIGJtYWxsb2M6OkhlYXA6OmNv
bmN1cnJlbnRTY2F2ZW5nZSgpICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0
QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiMzICAweDAw
MDA3ZmZmZjQ1ZjMyZGUgaW4gYm1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQg
KGJtYWxsb2M6OkhlYXA6OiopKCk+Ojp0aHJlYWRSdW5Mb29wKCkgKCkKICAgZnJvbSAvaG9tZS9t
YXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29y
ZWd0ay00LjAuc28uMTgKIzQgIDB4MDAwMDdmZmZlYjI0OTM2MCBpbiA/PyAoKSBmcm9tIC9saWI2
NC9saWJzdGRjKysuc28uNgojNSAgMHgwMDAwN2ZmZmYzNGJhNTU1IGluIHN0YXJ0X3RocmVhZCAo
YXJnPTB4N2ZmZjk0ZjI1NzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMzMwojNiAgMHgwMDAwN2Zm
ZmVhOWIzYjlkIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9jbG9uZS5TOjEwOQoKVGhyZWFkIDcgKFRocmVhZCAweDdmZmY4N2ZmZjcwMCAoTFdQIDE4MzY1
KSk6CiMwICBzeXNjYWxsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9z
eXNjYWxsLlM6MzgKIzEgIDB4MDAwMDdmZmZmMTVjYzczNCBpbiBnX2NvbmRfd2FpdF91bnRpbCAo
Y29uZD1jb25kQGVudHJ5PTB4NTQzZGU4LCBtdXRleD1tdXRleEBlbnRyeT0weDU0M2RlMCwgZW5k
X3RpbWU9ZW5kX3RpbWVAZW50cnk9MTQxMzgwNTc4NDUpIGF0IGd0aHJlYWQtcG9zaXguYzoxNDQy
CiMyICAweDAwMDA3ZmZmZjE1NWU2OTkgaW4gZ19hc3luY19xdWV1ZV9wb3BfaW50ZXJuX3VubG9j
a2VkIChxdWV1ZT0weDU0M2RlMCwgd2FpdD13YWl0QGVudHJ5PTEsIGVuZF90aW1lPTE0MTM4MDU3
ODQ1KSBhdCBnYXN5bmNxdWV1ZS5jOjQyMgojMyAgMHgwMDAwN2ZmZmYxNTVlY2M4IGluIGdfYXN5
bmNfcXVldWVfdGltZW91dF9wb3BfdW5sb2NrZWQgKHF1ZXVlPTxvcHRpbWl6ZWQgb3V0PiwgdGlt
ZW91dD10aW1lb3V0QGVudHJ5PTUwMDAwMCkgYXQgZ2FzeW5jcXVldWUuYzo1NzAKIzQgIDB4MDAw
MDdmZmZmMTVhZjhkNiBpbiBnX3RocmVhZF9wb29sX3dhaXRfZm9yX25ld190YXNrIChwb29sPTB4
NWIxYjIwKSBhdCBndGhyZWFkcG9vbC5jOjI2MgojNSAgZ190aHJlYWRfcG9vbF90aHJlYWRfcHJv
eHkgKGRhdGE9PG9wdGltaXplZCBvdXQ+KSBhdCBndGhyZWFkcG9vbC5jOjI5NgojNiAgMHgwMDAw
N2ZmZmYxNWFlZjc1IGluIGdfdGhyZWFkX3Byb3h5IChkYXRhPTB4NjVmMzIwKSBhdCBndGhyZWFk
LmM6NzY0CiM3ICAweDAwMDA3ZmZmZjM0YmE1NTUgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZm
ODdmZmY3MDApIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzMzCiM4ICAweDAwMDA3ZmZmZWE5YjNiOWQg
aW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6
MTA5CgpUaHJlYWQgNiAoVGhyZWFkIDB4N2ZmZjk2ZjI5NzAwIChMV1AgMTgyNjIpKToKIzAgIDB4
MDAwMDdmZmZlYTlhODJmZCBpbiBwb2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRl
bXBsYXRlLlM6ODEKIzEgIDB4MDAwMDdmZmZmMTU4OGIwNCBpbiBnX21haW5fY29udGV4dF9wb2xs
IChwcmlvcml0eT0yMTQ3NDgzNjQ3LCBuX2Zkcz0xLCBmZHM9MHg3ZmZmOTAwMDE0YTAsIHRpbWVv
dXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZmZjkwMDAwOTAwKSBhdCBnbWFpbi5jOjQx
MDMKIzIgIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmZmOTAwMDA5MDAsIGJs
b2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGlt
aXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDMKIzMgIDB4MDAwMDdmZmZmMTU4OGU4MiBpbiBnX21h
aW5fbG9vcF9ydW4gKGxvb3A9MHg3ZmZmOTAwMDEyNDApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgw
MDAwN2ZmZmY0NWViMGIwIGluIFdURjo6UnVuTG9vcDo6cnVuKCkgKCkgZnJvbSAvaG9tZS9tYXJp
by93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0
ay00LjAuc28uMTgKIzUgIDB4MDAwMDdmZmZmNDVlYjU2YiBpbiBzdGQ6Ol9GdW5jdGlvbl9oYW5k
bGVyPHZvaWQgKCksIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25z
dCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6e2xhbWJkYSgp
IzF9Pjo6X01faW52b2tlKHN0ZDo6X0FueV9kYXRhIGNvbnN0JikgKCkgZnJvbSAvaG9tZS9tYXJp
by93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0
ay00LjAuc28uMTgKIzYgIDB4MDAwMDdmZmZmNDViY2ViNSBpbiBXVEY6OnRocmVhZEVudHJ5UG9p
bnQodm9pZCopICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVs
ZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM3ICAweDAwMDA3ZmZmZjQ1
ZThiZWEgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKSAoKSBmcm9tIC9ob21lL21h
cmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3Jl
Z3RrLTQuMC5zby4xOAojOCAgMHgwMDAwN2ZmZmYzNGJhNTU1IGluIHN0YXJ0X3RocmVhZCAoYXJn
PTB4N2ZmZjk2ZjI5NzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMzMwojOSAgMHgwMDAwN2ZmZmVh
OWIzYjlkIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9j
bG9uZS5TOjEwOQoKVGhyZWFkIDUgKFRocmVhZCAweDdmZmY5NjcyODcwMCAoTFdQIDE4MjYzKSk6
CiMwICAweDAwMDA3ZmZmZWE5YTgyZmQgaW4gcG9sbCAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lz
Y2FsbC10ZW1wbGF0ZS5TOjgxCiMxICAweDAwMDA3ZmZmZjE1ODhiMDQgaW4gZ19tYWluX2NvbnRl
eHRfcG9sbCAocHJpb3JpdHk9MjE0NzQ4MzY0Nywgbl9mZHM9MSwgZmRzPTB4N2ZmZjg4MDAxNDgw
LCB0aW1lb3V0PTxvcHRpbWl6ZWQgb3V0PiwgY29udGV4dD0weDdmZmY4ODAwMDkwMCkgYXQgZ21h
aW4uYzo0MTAzCiMyICBnX21haW5fY29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4N2ZmZjg4MDAw
OTAwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxm
PTxvcHRpbWl6ZWQgb3V0PikgYXQgZ21haW4uYzozODAzCiMzICAweDAwMDA3ZmZmZjE1ODhlODIg
aW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4N2ZmZjg4MDAxMjQwKSBhdCBnbWFpbi5jOjQwMDIK
IzQgIDB4MDAwMDdmZmZmNDVlYjBiMCBpbiBXVEY6OlJ1bkxvb3A6OnJ1bigpICgpIGZyb20gL2hv
bWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlw
dGNvcmVndGstNC4wLnNvLjE4CiM1ICAweDAwMDA3ZmZmZjQ1ZWI1NmIgaW4gc3RkOjpfRnVuY3Rp
b25faGFuZGxlcjx2b2lkICgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNo
YXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6Onts
YW1iZGEoKSMxfT46Ol9NX2ludm9rZShzdGQ6Ol9BbnlfZGF0YSBjb25zdCYpICgpIGZyb20gL2hv
bWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlw
dGNvcmVndGstNC4wLnNvLjE4CiM2ICAweDAwMDA3ZmZmZjQ1YmNlYjUgaW4gV1RGOjp0aHJlYWRF
bnRyeVBvaW50KHZvaWQqKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1
aWxkL1JlbGVhc2UvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNyAgMHgwMDAw
N2ZmZmY0NWU4YmVhIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgZnJvbSAv
aG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2Ny
aXB0Y29yZWd0ay00LjAuc28uMTgKIzggIDB4MDAwMDdmZmZmMzRiYTU1NSBpbiBzdGFydF90aHJl
YWQgKGFyZz0weDdmZmY5NjcyODcwMCkgYXQgcHRocmVhZF9jcmVhdGUuYzozMzMKIzkgIDB4MDAw
MDdmZmZlYTliM2I5ZCBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvY2xvbmUuUzoxMDkKClRocmVhZCA0IChUaHJlYWQgMHg3ZmZmOTVmMjc3MDAgKExXUCAx
ODI2NCkpOgojMCAgMHgwMDAwN2ZmZmVhOWE4MmZkIGluIHBvbGwgKCkgYXQgLi4vc3lzZGVwcy91
bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAgMHgwMDAwN2ZmZmYxNTg4YjA0IGluIGdfbWFp
bl9jb250ZXh0X3BvbGwgKHByaW9yaXR5PTIxNDc0ODM2NDcsIG5fZmRzPTEsIGZkcz0weDdmZmY4
YzAwMTQ4MCwgdGltZW91dD08b3B0aW1pemVkIG91dD4sIGNvbnRleHQ9MHg3ZmZmOGMwMDA5MDAp
IGF0IGdtYWluLmM6NDEwMwojMiAgZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDdm
ZmY4YzAwMDkwMCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9
MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdtYWluLmM6MzgwMwojMyAgMHgwMDAwN2ZmZmYx
NTg4ZTgyIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0weDdmZmY4YzAwMTI0MCkgYXQgZ21haW4u
Yzo0MDAyCiM0ICAweDAwMDA3ZmZmZjQ1ZWIwYjAgaW4gV1RGOjpSdW5Mb29wOjpydW4oKSAoKSBm
cm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmph
dmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNSAgMHgwMDAwN2ZmZmY0NWViNTZiIGluIHN0ZDo6
X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgV1RGOjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlh
bGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVldWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpR
T1MpOjp7bGFtYmRhKCkjMX0+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29uc3QmKSAoKSBm
cm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYmph
dmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNiAgMHgwMDAwN2ZmZmY0NWJjZWI1IGluIFdURjo6
dGhyZWFkRW50cnlQb2ludCh2b2lkKikgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9X
ZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzcg
IDB4MDAwMDdmZmZmNDVlOGJlYSBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQodm9pZCopICgp
IGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGli
amF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM4ICAweDAwMDA3ZmZmZjM0YmE1NTUgaW4gc3Rh
cnRfdGhyZWFkIChhcmc9MHg3ZmZmOTVmMjc3MDApIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzMzCiM5
ICAweDAwMDA3ZmZmZWE5YjNiOWQgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L2Nsb25lLlM6MTA5CgpUaHJlYWQgMyAoVGhyZWFkIDB4N2ZmZjk1NzI2NzAw
IChMV1AgMTgyNjUpKToKIzAgIDB4MDAwMDdmZmZlYTlhODJmZCBpbiBwb2xsICgpIGF0IC4uL3N5
c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKIzEgIDB4MDAwMDdmZmZmMTU4OGIwNCBp
biBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT0yMTQ3NDgzNjQ3LCBuX2Zkcz0yLCBmZHM9
MHg3ZmZmODAwMDE0ODAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZmZjgw
MDAwOTAwKSBhdCBnbWFpbi5jOjQxMDMKIzIgIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRl
eHQ9MHg3ZmZmODAwMDA5MDAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNo
QGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDMKIzMgIDB4MDAw
MDdmZmZmMTU4OGU4MiBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg3ZmZmODAwMDEyNDApIGF0
IGdtYWluLmM6NDAwMgojNCAgMHgwMDAwN2ZmZmY0NWViMGIwIGluIFdURjo6UnVuTG9vcDo6cnVu
KCkgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xp
Yi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzUgIDB4MDAwMDdmZmZmNDVlYjU2YiBp
biBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9y
bUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtR
dWV1ZTo6UU9TKTo6e2xhbWJkYSgpIzF9Pjo6X01faW52b2tlKHN0ZDo6X0FueV9kYXRhIGNvbnN0
JikgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xp
Yi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTgKIzYgIDB4MDAwMDdmZmZmNDViY2ViNSBp
biBXVEY6OnRocmVhZEVudHJ5UG9pbnQodm9pZCopICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9X
ZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNv
LjE4CiM3ICAweDAwMDA3ZmZmZjQ1ZThiZWEgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZv
aWQqKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojOCAgMHgwMDAwN2ZmZmYzNGJhNTU1
IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjk1NzI2NzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5j
OjMzMwojOSAgMHgwMDAwN2ZmZmVhOWIzYjlkIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEwOQoKVGhyZWFkIDEgKFRocmVhZCAweDdmZmZm
N2Y1OWE4MCAoTFdQIDE4MjYwKSk6CiMwICAweDAwMDA3ZmZmZjE1OGY3ZDMgaW4gX2dfbG9nX2Fi
b3J0IChicmVha3BvaW50PTEpIGF0IGdtZXNzYWdlcy5jOjMxNQojMSAgZ19sb2d2IChsb2dfZG9t
YWluPTB4N2ZmZmVjMDEyMGNlICJHZGsiLCBsb2dfbGV2ZWw9R19MT0dfTEVWRUxfRVJST1IsIGZv
cm1hdD08b3B0aW1pemVkIG91dD4sIGFyZ3M9YXJnc0BlbnRyeT0weDdmZmZmZmZmYjFlOCkgYXQg
Z21lc3NhZ2VzLmM6MTA0MQojMiAgMHgwMDAwN2ZmZmYxNThmOTMyIGluIGdfbG9nIChsb2dfZG9t
YWluPWxvZ19kb21haW5AZW50cnk9MHg3ZmZmZWMwMTIwY2UgIkdkayIsIGxvZ19sZXZlbD1sb2df
bGV2ZWxAZW50cnk9R19MT0dfTEVWRUxfRVJST1IsIGZvcm1hdD1mb3JtYXRAZW50cnk9MHg3ZmZm
ZWMwMmU5OGMgIiVzIikKICAgIGF0IGdtZXNzYWdlcy5jOjEwNzkKIzMgIDB4MDAwMDdmZmZlYmZl
YTdhZiBpbiBfZ2RrX3gxMV9kaXNwbGF5X2Vycm9yX2V2ZW50IChkaXNwbGF5PWRpc3BsYXlAZW50
cnk9MHg0N2IwMDAsIGVycm9yPWVycm9yQGVudHJ5PTB4N2ZmZmZmZmZiMzkwKSBhdCBnZGtkaXNw
bGF5LXgxMS5jOjI1NTIKIzQgIDB4MDAwMDdmZmZlYmZmNTM1OSBpbiBnZGtfeF9lcnJvciAoeGRp
c3BsYXk9MHg0NmM4MzAsIGVycm9yPTB4N2ZmZmZmZmZiMzkwKSBhdCBnZGttYWluLXgxMS5jOjMw
MwojNSAgMHgwMDAwN2ZmZmVmNzVmM2ZkIGluIF9YRXJyb3IgKGRweT1kcHlAZW50cnk9MHg0NmM4
MzAsIHJlcD1yZXBAZW50cnk9MHg5MmI2MTApIGF0IFhsaWJJbnQuYzoxNDI5CiM2ICAweDAwMDA3
ZmZmZWY3NWMyODcgaW4gaGFuZGxlX2Vycm9yIChkcHk9MHg0NmM4MzAsIGVycj0weDkyYjYxMCwg
aW5fWFJlcGx5PTxvcHRpbWl6ZWQgb3V0PikgYXQgeGNiX2lvLmM6MjEzCiM3ICAweDAwMDA3ZmZm
ZWY3NWMzNDUgaW4gaGFuZGxlX3Jlc3BvbnNlIChkcHk9ZHB5QGVudHJ5PTB4NDZjODMwLCByZXNw
b25zZT0weDkyYjYxMCwgaW5fWFJlcGx5PWluX1hSZXBseUBlbnRyeT0xKSBhdCB4Y2JfaW8uYzoz
MjUKIzggIDB4MDAwMDdmZmZlZjc1ZDMwMCBpbiBfWFJlcGx5IChkcHk9ZHB5QGVudHJ5PTB4NDZj
ODMwLCByZXA9cmVwQGVudHJ5PTB4N2ZmZmZmZmZiNWEwLCBleHRyYT1leHRyYUBlbnRyeT0wLCBk
aXNjYXJkPWRpc2NhcmRAZW50cnk9MSkgYXQgeGNiX2lvLmM6NjI3CiM5ICAweDAwMDA3ZmZmZWY3
NDNjODcgaW4gX1hHZXRXaW5kb3dBdHRyaWJ1dGVzIChkcHk9ZHB5QGVudHJ5PTB4NDZjODMwLCB3
PTM5ODQ1OTIxLCBhdHRyPTB4N2ZmZmZmZmZiNjkwKSBhdCBHZXRXQXR0cnMuYzoxMTQKIzEwIDB4
MDAwMDdmZmZlZjc0M2UxMSBpbiBYR2V0V2luZG93QXR0cmlidXRlcyAoZHB5PTB4NDZjODMwLCB3
PTxvcHRpbWl6ZWQgb3V0PiwgYXR0cj08b3B0aW1pemVkIG91dD4pIGF0IEdldFdBdHRycy5jOjE0
OQojMTEgMHgwMDAwN2ZmZmY2ZDBhMTExIGluIFdlYkNvcmU6OkdMQ29udGV4dEdMWDo6Y3JlYXRl
V2luZG93Q29udGV4dCh1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpHTENvbnRleHQqKSAoKQogICBm
cm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndl
YmtpdDJndGstNC4wLnNvLjM3CiMxMiAweDAwMDA3ZmZmZjZkMGE3NWEgaW4gV2ViQ29yZTo6R0xD
b250ZXh0R0xYOjpjcmVhdGVDb250ZXh0KHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkdMQ29udGV4
dCopICgpCiAgIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFz
ZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzEzIDB4MDAwMDdmZmZmNmNmOWZlOCBpbiBX
ZWJDb3JlOjpHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3cod2xfZWdsX3dpbmRvdyos
IFdlYkNvcmU6OkdMQ29udGV4dCopICgpCiAgIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQv
V2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzE0IDB4MDAw
MDdmZmZmNWU3MzNlNCBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6Om1ha2VDb250ZXh0Q3Vy
cmVudCgpICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFz
ZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzE1IDB4MDAwMDdmZmZmNWU3MzQ0MSBpbiBX
ZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3Np
dGluZyh1bnNpZ25lZCBsb25nKSAoKQogICBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dl
YktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMxNiAweDAwMDA3
ZmZmZjVlNmE1ZWMgaW4gV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OmVudGVyQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopICgpCiAgIGZyb20gL2hvbWUv
bWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00
LjAuc28uMzcKIzE3IDB4MDAwMDdmZmZmNjlkY2QwZiBpbiBXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6OmF0dGFjaFJvb3RMYXllcihXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OlJvb3RMYXllckF0dGFjaG1lbnQpICgpCiAgIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQv
V2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzE4IDB4MDAw
MDdmZmZmNjlkZWM5OSBpbiBXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuc3VyZVJv
b3RMYXllcigpICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVs
ZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzE5IDB4MDAwMDdmZmZmNjlkZjEyMSBp
biBXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuYWJsZUNvbXBvc2l0aW5nTW9kZShi
b29sKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMyMCAweDAwMDA3ZmZmZjY5ZTBiMWYgaW4gV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVCYWNraW5nKFdlYkNvcmU6OlJlbmRl
ckxheWVyJiwgV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpDb21wb3NpdGluZ0NoYW5n
ZVJlcGFpbnQsIFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6QmFja2luZ1JlcXVpcmVk
KSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGli
L2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMyMSAweDAwMDA3ZmZmZjY5ZTBkMzMgaW4gV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckNvbXBvc2l0aW5nU3RhdGUoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXImLCBXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OkNvbXBv
c2l0aW5nQ2hhbmdlUmVwYWludCkgKCkKICAgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9X
ZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMjIgMHgwMDAw
N2ZmZmY2OWUwZDk4IGluIFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJTdHls
ZUNoYW5nZWQoV2ViQ29yZTo6U3R5bGVEaWZmZXJlbmNlLCBXZWJDb3JlOjpSZW5kZXJMYXllciYs
IFdlYkNvcmU6OlJlbmRlclN0eWxlIGNvbnN0KikgKCkKICAgZnJvbSAvaG9tZS9tYXJpby93b3Jr
L1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwoj
MjMgMHgwMDAwN2ZmZmY2OWM0NDlhIGluIFdlYkNvcmU6OlJlbmRlckxheWVyOjpzdHlsZUNoYW5n
ZWQoV2ViQ29yZTo6U3R5bGVEaWZmZXJlbmNlLCBXZWJDb3JlOjpSZW5kZXJTdHlsZSBjb25zdCop
ICgpCiAgIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9s
aWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzI0IDB4MDAwMDdmZmZmNjllNDdlZSBpbiBXZWJD
b3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdHlsZURpZENoYW5nZShXZWJDb3JlOjpTdHls
ZURpZmZlcmVuY2UsIFdlYkNvcmU6OlJlbmRlclN0eWxlIGNvbnN0KikgKCkKICAgZnJvbSAvaG9t
ZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3Rr
LTQuMC5zby4zNwojMjUgMHgwMDAwN2ZmZmY2OTJjZDEyIGluIFdlYkNvcmU6OlJlbmRlckJveDo6
c3R5bGVEaWRDaGFuZ2UoV2ViQ29yZTo6U3R5bGVEaWZmZXJlbmNlLCBXZWJDb3JlOjpSZW5kZXJT
dHlsZSBjb25zdCopICgpCiAgIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVp
bGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzI2IDB4MDAwMDdmZmZmNjhl
OGJkZSBpbiBXZWJDb3JlOjpSZW5kZXJCbG9jazo6c3R5bGVEaWRDaGFuZ2UoV2ViQ29yZTo6U3R5
bGVEaWZmZXJlbmNlLCBXZWJDb3JlOjpSZW5kZXJTdHlsZSBjb25zdCopICgpCiAgIGZyb20gL2hv
bWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0
ay00LjAuc28uMzcKIzI3IDB4MDAwMDdmZmZmNjkwMmFkOCBpbiBXZWJDb3JlOjpSZW5kZXJCbG9j
a0Zsb3c6OnN0eWxlRGlkQ2hhbmdlKFdlYkNvcmU6OlN0eWxlRGlmZmVyZW5jZSwgV2ViQ29yZTo6
UmVuZGVyU3R5bGUgY29uc3QqKSAoKQogICBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dl
YktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMyOCAweDAwMDA3
ZmZmZjZiNGYxN2EgaW4gV2ViQ29yZTo6U3R5bGU6OmF0dGFjaFJlbmRlclRyZWUoV2ViQ29yZTo6
RWxlbWVudCYsIFdlYkNvcmU6OlJlbmRlclN0eWxlJiwgV2ViQ29yZTo6UmVuZGVyVHJlZVBvc2l0
aW9uJiwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlJlbmRlclN0eWxlPikgKCkKICAgZnJvbSAv
aG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQy
Z3RrLTQuMC5zby4zNwojMjkgMHgwMDAwN2ZmZmY2YjUxNDE4IGluIFdlYkNvcmU6OlN0eWxlOjph
dHRhY2hDaGlsZHJlbihXZWJDb3JlOjpDb250YWluZXJOb2RlJiwgV2ViQ29yZTo6UmVuZGVyU3R5
bGUmLCBXZWJDb3JlOjpSZW5kZXJUcmVlUG9zaXRpb24mKSAoKQogICBmcm9tIC9ob21lL21hcmlv
L3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNv
LjM3CiMzMCAweDAwMDA3ZmZmZjZiNGY4ZTggaW4gV2ViQ29yZTo6U3R5bGU6OmF0dGFjaFJlbmRl
clRyZWUoV2ViQ29yZTo6RWxlbWVudCYsIFdlYkNvcmU6OlJlbmRlclN0eWxlJiwgV2ViQ29yZTo6
UmVuZGVyVHJlZVBvc2l0aW9uJiwgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OlJlbmRlclN0eWxl
PikgKCkKICAgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNl
L2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMzEgMHgwMDAwN2ZmZmY2YjUxNDE4IGluIFdl
YkNvcmU6OlN0eWxlOjphdHRhY2hDaGlsZHJlbihXZWJDb3JlOjpDb250YWluZXJOb2RlJiwgV2Vi
Q29yZTo6UmVuZGVyU3R5bGUmLCBXZWJDb3JlOjpSZW5kZXJUcmVlUG9zaXRpb24mKSAoKQogICBm
cm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndl
YmtpdDJndGstNC4wLnNvLjM3CiMzMiAweDAwMDA3ZmZmZjZiNGY4ZTggaW4gV2ViQ29yZTo6U3R5
bGU6OmF0dGFjaFJlbmRlclRyZWUoV2ViQ29yZTo6RWxlbWVudCYsIFdlYkNvcmU6OlJlbmRlclN0
eWxlJiwgV2ViQ29yZTo6UmVuZGVyVHJlZVBvc2l0aW9uJiwgV1RGOjpQYXNzUmVmUHRyPFdlYkNv
cmU6OlJlbmRlclN0eWxlPikgKCkKICAgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJL
aXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMzMgMHgwMDAwN2Zm
ZmY2YjUyODJmIGluIFdlYkNvcmU6OlN0eWxlOjpyZXNvbHZlVHJlZShXZWJDb3JlOjpFbGVtZW50
JiwgV2ViQ29yZTo6UmVuZGVyU3R5bGUmLCBXZWJDb3JlOjpSZW5kZXJUcmVlUG9zaXRpb24mLCBX
ZWJDb3JlOjpTdHlsZTo6Q2hhbmdlKSAoKQogICBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0
L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMzNCAweDAw
MDA3ZmZmZjZiNTM1MDkgaW4gV2ViQ29yZTo6U3R5bGU6OnJlc29sdmVUcmVlKFdlYkNvcmU6OkVs
ZW1lbnQmLCBXZWJDb3JlOjpSZW5kZXJTdHlsZSYsIFdlYkNvcmU6OlJlbmRlclRyZWVQb3NpdGlv
biYsIFdlYkNvcmU6OlN0eWxlOjpDaGFuZ2UpICgpCiAgIGZyb20gL2hvbWUvbWFyaW8vd29yay9X
ZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzM1
IDB4MDAwMDdmZmZmNmI1NDg5NiBpbiBXZWJDb3JlOjpTdHlsZTo6cmVzb2x2ZVRyZWUoV2ViQ29y
ZTo6RG9jdW1lbnQmLCBXZWJDb3JlOjpTdHlsZTo6Q2hhbmdlKSAoKQogICBmcm9tIC9ob21lL21h
cmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4w
LnNvLjM3CiMzNiAweDAwMDA3ZmZmZjYyNGI1MmIgaW4gV2ViQ29yZTo6RG9jdW1lbnQ6OnJlY2Fs
Y1N0eWxlKFdlYkNvcmU6OlN0eWxlOjpDaGFuZ2UpICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9X
ZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcKIzM3
IDB4MDAwMDdmZmZmNjZlNzVjMSBpbiBXZWJDb3JlOjpGcmFtZVZpZXc6OnVwZGF0ZUxheW91dEFu
ZFN0eWxlSWZOZWVkZWRSZWN1cnNpdmUoKSAoKSBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0
L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3CiMzOCAweDAw
MDA3ZmZmZjVlNmJjNDAgaW4gV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OmRpc3BsYXkoV2ViS2l0
OjpVcGRhdGVJbmZvJikgKCkgZnJvbSAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWls
ZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQuMC5zby4zNwojMzkgMHgwMDAwN2ZmZmY1ZTZk
MGVlIGluIFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpkaXNwbGF5KCkgKCkgZnJvbSAvaG9tZS9t
YXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xpYi9saWJ3ZWJraXQyZ3RrLTQu
MC5zby4zNwojNDAgMHgwMDAwN2ZmZmY0NWVhZDBhIGluIFdURjo6UnVuTG9vcDo6VGltZXJCYXNl
OjpUaW1lckJhc2UoV1RGOjpSdW5Mb29wJik6OntsYW1iZGEodm9pZCopIzF9OjpfRlVOKHZvaWQq
KSAoKQogICBmcm9tIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2Uv
bGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOAojNDEgMHgwMDAwN2ZmZmYxNTg4N2Vh
IGluIGdfbWFpbl9kaXNwYXRjaCAoY29udGV4dD0weDQ2NzZiMCkgYXQgZ21haW4uYzozMTIyCiM0
MiBnX21haW5fY29udGV4dF9kaXNwYXRjaCAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4NDY3NmIw
KSBhdCBnbWFpbi5jOjM3MzcKIzQzIDB4MDAwMDdmZmZmMTU4OGI2OCBpbiBnX21haW5fY29udGV4
dF9pdGVyYXRlIChjb250ZXh0PTB4NDY3NmIwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRj
aD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ21haW4uYzozODA4
CiM0NCAweDAwMDA3ZmZmZjE1ODhlODIgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4NWEwOWUw
KSBhdCBnbWFpbi5jOjQwMDIKIzQ1IDB4MDAwMDdmZmZmNDVlYjBiMCBpbiBXVEY6OlJ1bkxvb3A6
OnJ1bigpICgpIGZyb20gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvUmVsZWFz
ZS9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4CiM0NiAweDAwMDA3ZmZmZjVlNzFl
ZDIgaW4gaW50IFdlYktpdDo6Q2hpbGRQcm9jZXNzTWFpbjxXZWJLaXQ6OldlYlByb2Nlc3MsIFdl
YktpdDo6V2ViUHJvY2Vzc01haW4+KGludCwgY2hhcioqKSAoKQogICBmcm9tIC9ob21lL21hcmlv
L3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliL2xpYndlYmtpdDJndGstNC4wLnNv
LjM3CiM0NyAweDAwMDA3ZmZmZWE4ZDE3MDAgaW4gX19saWJjX3N0YXJ0X21haW4gKG1haW49MHg0
MDBiMzAgPG1haW4+LCBhcmdjPTIsIGFyZ3Y9MHg3ZmZmZmZmZmNhMjgsIGluaXQ9PG9wdGltaXpl
ZCBvdXQ+LCBmaW5pPTxvcHRpbWl6ZWQgb3V0PiwgcnRsZF9maW5pPTxvcHRpbWl6ZWQgb3V0Piwg
CiAgICBzdGFja19lbmQ9MHg3ZmZmZmZmZmNhMTgpIGF0IGxpYmMtc3RhcnQuYzoyODkKIzQ4IDB4
MDAwMDAwMDAwMDQwMGI4OSBpbiBfc3RhcnQgKCkKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>265296</attachid>
            <date>2015-11-11 09:37:27 -0800</date>
            <delta_ts>2015-11-11 09:37:27 -0800</delta_ts>
            <desc>Test case in Javascript</desc>
            <filename>reparenting.js</filename>
            <type>application/javascript</type>
            <size>2225</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9nanMKCmNvbnN0IExhbmcgPSBpbXBvcnRzLmxhbmc7CmNvbnN0IEdMaWIgPSBp
bXBvcnRzLmdpLkdMaWI7CmNvbnN0IEd0ayA9IGltcG9ydHMuZ2kuR3RrOwpjb25zdCBXZWJLaXQg
PSBpbXBvcnRzLmdpLldlYktpdDI7CmNvbnN0IE1haW5sb29wID0gaW1wb3J0cy5tYWlubG9vcDsK
CmNvbnN0IGh0bWxDb250ZW50ID0gIiBcCjxodG1sPiBcCiAgPGJvZHk+IFwKICAgIDxoMT5IZWxs
byBXb3JsZCE8L2gxPiBcCiAgICA8cCBzdHlsZT0ndHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyc+
VGV4dCBmb3JjaW5nIEFjY2VsZXJhdGVkIENvbXBvc2l0aW5nPC9wPiBcCiAgPC9ib2R5PiBcCjwv
aHRtbD4gXAoiCgpjb25zdCBBcHBsaWNhdGlvbiA9IG5ldyBMYW5nLkNsYXNzKHsKICAgIE5hbWUg
OiAnV2ViVmlldyByZXBhcmVudGluZyB0ZXN0JywKCiAgICBfaW5pdCA6IGZ1bmN0aW9uKCkgewog
ICAgICAgIHRoaXMuYXBwbGljYXRpb24gPSBuZXcgR3RrLkFwcGxpY2F0aW9uKCk7CgogICAgICAg
IHRoaXMuYXBwbGljYXRpb24uY29ubmVjdCgnYWN0aXZhdGUnLCBMYW5nLmJpbmQodGhpcywgdGhp
cy5fb25BY3RpdmF0ZSkpOwogICAgICAgIHRoaXMuYXBwbGljYXRpb24uY29ubmVjdCgnc3RhcnR1
cCcsIExhbmcuYmluZCh0aGlzLCB0aGlzLl9vblN0YXJ0dXApKTsKICAgIH0sCgogICAgX29uU3Rh
cnR1cCA6IGZ1bmN0aW9uKCkgewogICAgICAgIHRoaXMuX3dpbmRvdyA9IG5ldyBHdGsuQXBwbGlj
YXRpb25XaW5kb3coeyBhcHBsaWNhdGlvbiA6IHRoaXMuYXBwbGljYXRpb24gfSk7CiAgICAgICAg
dGhpcy5fd2luZG93LnNldF9kZWZhdWx0X3NpemUoODAwLCA2MDApOwoKICAgICAgICB0aGlzLl9i
b3ggPSBuZXcgR3RrLkJveCh7IG9yaWVudGF0aW9uOiBHdGsuT3JpZW50YXRpb24uVkVSVElDQUwg
fSk7CiAgICAgICAgdGhpcy5fd2luZG93LmFkZCh0aGlzLl9ib3gpOwoKICAgICAgICB0aGlzLmJv
eDEgPSBuZXcgR3RrLkJveCh7IG9yaWVudGF0aW9uOiBHdGsuT3JpZW50YXRpb24uSE9SSVpPTlRB
TCB9KTsKICAgICAgICB0aGlzLl9ib3gucGFja19zdGFydCh0aGlzLmJveDEsIHRydWUsIHRydWUs
IDApOwoKICAgICAgICB0aGlzLmJveDIgPSBuZXcgR3RrLkJveCh7IG9yaWVudGF0aW9uOiBHdGsu
T3JpZW50YXRpb24uSE9SSVpPTlRBTCB9KTsKICAgICAgICB0aGlzLl9ib3gucGFja19zdGFydCh0
aGlzLmJveDIsIHRydWUsIHRydWUsIDApOwoKICAgICAgICB0aGlzLndlYnZpZXcgPSBuZXcgV2Vi
S2l0LldlYlZpZXcoKTsKICAgICAgICAvL3RoaXMud2Vidmlldy5sb2FkX3VyaSgiaHR0cHM6Ly93
d3cud2Via2l0Lm9yZy9ibG9nLWZpbGVzLzNkLXRyYW5zZm9ybXMvcG9zdGVyLWNpcmNsZS5odG1s
Iik7CiAgICAgICAgdGhpcy53ZWJ2aWV3LmxvYWRfaHRtbChodG1sQ29udGVudCwgbnVsbCk7CiAg
ICAgICAgdGhpcy5ib3gxLnBhY2tfc3RhcnQodGhpcy53ZWJ2aWV3LCB0cnVlLCB0cnVlLCAwKTsK
CiAgICAgICAgdGhpcy53ZWJ2aWV3UGFyZW50ID0gdGhpcy5ib3gxOwoKICAgICAgICBNYWlubG9v
cC50aW1lb3V0X2FkZCgxNTAsIExhbmcuYmluZCh0aGlzLCBmdW5jdGlvbihkYXRhKSB7CiAgICAg
ICAgICAgIHRoaXMuX3JlcGFyZW50V2ViVmlldygpCiAgICAgICAgICAgIHJldHVybiBHTGliLlNP
VVJDRV9DT05USU5VRTsKICAgICAgICB9KSwgbnVsbCk7CiAgICB9LAoKICAgIF9vbkFjdGl2YXRl
IDogZnVuY3Rpb24oKSB7CiAgICAgICAgdGhpcy5fd2luZG93LnNob3dfYWxsKCk7CiAgICB9LAoK
ICAgIF9yZXBhcmVudFdlYlZpZXcgOiBmdW5jdGlvbigpIHsKICAgICAgICBwcmludCgiUmVwYXJl
bnRpbmcgdGhlIFdlYlZpZXcuLi4iKTsKICAgICAgICBwcmludCgiT2xkIHBhcmVudDogIiArIHRo
aXMud2Vidmlld1BhcmVudCk7CgogICAgICAgIHRoaXMud2Vidmlld1BhcmVudC5yZW1vdmUodGhp
cy53ZWJ2aWV3KTsKICAgICAgICB0aGlzLndlYnZpZXdQYXJlbnQgPSB0aGlzLndlYnZpZXdQYXJl
bnQgPT0gdGhpcy5ib3gyID8gdGhpcy5ib3gxIDogdGhpcy5ib3gyOwogICAgICAgIHRoaXMud2Vi
dmlld1BhcmVudC5wYWNrX3N0YXJ0KHRoaXMud2VidmlldywgdHJ1ZSwgdHJ1ZSwgMCk7CgogICAg
ICAgIHByaW50KCJOZXcgcGFyZW50OiAiICsgdGhpcy53ZWJ2aWV3UGFyZW50KTsKICAgIH0sCn0p
OwoKbGV0IGFwcCA9IG5ldyBBcHBsaWNhdGlvbigpOwphcHAuYXBwbGljYXRpb24ucnVuKEFSR1Yp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>265297</attachid>
            <date>2015-11-11 09:40:40 -0800</date>
            <delta_ts>2015-11-11 09:40:40 -0800</delta_ts>
            <desc>Test case in C</desc>
            <filename>reparenting.c</filename>
            <type>text/x-c++src</type>
            <size>2092</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">Ly8gJCBUb29scy9qaGJ1aWxkL2poYnVpbGQtd3JhcHBlciAtLWd0ayBzaGVsbAovLyAkIGdjYyAt
byB3ZWJraXQtdGVzdCBgcGtnLWNvbmZpZyAtLWNmbGFncyB3ZWJraXQyZ3RrLTQuMGAgd2Via2l0
LXRlc3QuYyBgcGtnLWNvbmZpZyAtLWxpYnMgd2Via2l0Mmd0ay00LjBgCi8vICQgTERfTElCUkFS
WV9QQVRIPS9wYXRoL3RvL1dlYktpdEJ1aWxkL1JlbGVhc2UvbGliOiRMRF9MSUJSQVJZX1BBVEgg
Li93ZWJraXQtdGVzdAoKI2luY2x1ZGUgPGdsaWIuaD4KI2luY2x1ZGUgPGd0ay9ndGsuaD4KI2lu
Y2x1ZGUgPHdlYmtpdDIvd2Via2l0Mi5oPgoKI2RlZmluZSBQT1NURVJfQ0lSQ0xFX1VSSSAiaHR0
cHM6Ly93d3cud2Via2l0Lm9yZy9ibG9nLWZpbGVzLzNkLXRyYW5zZm9ybXMvcG9zdGVyLWNpcmNs
ZS5odG1sIgoKI2RlZmluZSBIVE1MX0NPTlRFTlQgIiBcCjxodG1sPiBcCiAgPGJvZHk+IFwKICAg
IDxoMT5IZWxsbyBXb3JsZCE8L2gxPiBcCiAgICA8cCBzdHlsZT0ndHJhbnNmb3JtOiByb3RhdGVY
KDBkZWcpOyc+VGV4dCBmb3JjaW5nIEFjY2VsZXJhdGVkIENvbXBvc2l0aW5nPC9wPiBcCiAgPC9i
b2R5PiBcCjwvaHRtbD4gXAoiCgpzdGF0aWMgR3RrV2lkZ2V0KiB3ZWJ2aWV3ID0gTlVMTDsKc3Rh
dGljIEd0a1dpZGdldCogYm94MSA9IE5VTEw7CnN0YXRpYyBHdGtXaWRnZXQqIGJveDIgPSBOVUxM
OwpzdGF0aWMgR3RrV2lkZ2V0KiBwYXJlbnQgPSBOVUxMOwoKc3RhdGljIGdib29sZWFuIF9vbl90
aW1lb3V0X2NhbGxiYWNrKGdwb2ludGVyIGRhdGEpCnsKICBnX3ByaW50KCJSZXBhcmVudGluZyB0
aGUgV2ViVmlldy4uLlxuIik7CiAgZ19wcmludCgiT2xkIHBhcmVudDogJXBcbiIsIHBhcmVudCk7
CgogIGd0a19jb250YWluZXJfcmVtb3ZlKEdUS19DT05UQUlORVIocGFyZW50KSwgd2Vidmlldyk7
CiAgcGFyZW50ID0gKHBhcmVudCA9PSBib3gyID8gYm94MSA6IGJveDIpOwogIGd0a19ib3hfcGFj
a19zdGFydChHVEtfQk9YKHBhcmVudCksIHdlYnZpZXcsIFRSVUUsIFRSVUUsIDApOwoKICBnX3By
aW50KCJOZXcgcGFyZW50OiAlcFxuIiwgcGFyZW50KTsKCiAgcmV0dXJuIEdfU09VUkNFX0NPTlRJ
TlVFOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCnsKICBndGtfaW5pdCgmYXJn
YywgJmFyZ3YpOwoKICBHdGtXaWRnZXQqIHdpbmRvdyA9IGd0a193aW5kb3dfbmV3KEdUS19XSU5E
T1dfVE9QTEVWRUwpOwogIGd0a193aW5kb3dfc2V0X2RlZmF1bHRfc2l6ZShHVEtfV0lORE9XKHdp
bmRvdyksIDgwMCwgNjAwKTsKCiAgR3RrV2lkZ2V0KiB2Ym94ID0gZ3RrX2JveF9uZXcoR1RLX09S
SUVOVEFUSU9OX1ZFUlRJQ0FMLCAwKTsKICBndGtfY29udGFpbmVyX2FkZChHVEtfQ09OVEFJTkVS
KHdpbmRvdyksIHZib3gpOwoKICBib3gxID0gZ3RrX2JveF9uZXcoR1RLX09SSUVOVEFUSU9OX0hP
UklaT05UQUwsIDApOwogIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKHZib3gpLCBib3gxLCBU
UlVFLCBUUlVFLCAwKTsKCiAgYm94MiA9IGd0a19ib3hfbmV3KEdUS19PUklFTlRBVElPTl9IT1JJ
Wk9OVEFMLCAwKTsKICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWCh2Ym94KSwgYm94MiwgVFJV
RSwgVFJVRSwgMCk7CgogIHdlYnZpZXcgPSB3ZWJraXRfd2ViX3ZpZXdfbmV3KCk7CiAgZ19vYmpl
Y3RfcmVmX3Npbmsod2Vidmlldyk7CgogIHdlYmtpdF93ZWJfdmlld19sb2FkX3VyaShXRUJLSVRf
V0VCX1ZJRVcod2VidmlldyksIFBPU1RFUl9DSVJDTEVfVVJJKTsKICB3ZWJraXRfd2ViX3ZpZXdf
bG9hZF9odG1sKFdFQktJVF9XRUJfVklFVyh3ZWJ2aWV3KSwgSFRNTF9DT05URU5ULCBOVUxMKTsK
ICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChib3gxKSwgd2VidmlldywgVFJVRSwgVFJVRSwg
MCk7CiAgcGFyZW50ID0gYm94MTsKCiAgZ190aW1lb3V0X2FkZCgxNTAsIF9vbl90aW1lb3V0X2Nh
bGxiYWNrLCBOVUxMKTsKICBnX3NpZ25hbF9jb25uZWN0KHdpbmRvdywgImRlbGV0ZS1ldmVudCIs
IEdfQ0FMTEJBQ0soZ3RrX21haW5fcXVpdCksIE5VTEwpOwoKICBndGtfd2lkZ2V0X3Nob3dfYWxs
KHdpbmRvdyk7CgogIGd0a19tYWluKCk7CgogIHJldHVybiAwOwp9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>265302</attachid>
            <date>2015-11-11 10:27:29 -0800</date>
            <delta_ts>2015-11-11 23:43:14 -0800</delta_ts>
            <desc>Backtraces for the UI and Web processes (Debug build)</desc>
            <filename>backtrace-all-debug</filename>
            <type>text/plain</type>
            <size>32211</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">IyMjIyMjIyMjIyMjIyMKIyBVSSBQcm9jZXNzICMKIyMjIyMjIyMjIyMjIyMKClRocmVhZCA1IChU
aHJlYWQgMHg3ZmZmOTk3ZmE3MDAgKExXUCAxMDI3NykpOgojMCAgMHgwMDAwN2ZmZmVhMDQwNTJk
IGluIHBvbGwgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAg
MHgwMDAwN2ZmZmVhNTcxZjA0IGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKHByaW9yaXR5PTIxNDc0
ODM2NDcsIG5fZmRzPTEsIGZkcz0weDdmZmY5MDAwMTQ4MCwgdGltZW91dD08b3B0aW1pemVkIG91
dD4sIGNvbnRleHQ9MHg3ZmZmOTAwMDA5MDApIGF0IGdtYWluLmM6NDEwMwojMiAgZ19tYWluX2Nv
bnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDdmZmY5MDAwMDkwMCwgYmxvY2s9YmxvY2tAZW50cnk9
MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdt
YWluLmM6MzgwMwojMyAgMHgwMDAwN2ZmZmVhNTcyMjgyIGluIGdfbWFpbl9sb29wX3J1biAobG9v
cD0weDdmZmY5MDAwMTI0MCkgYXQgZ21haW4uYzo0MDAyCiM0ICAweDAwMDA3ZmZmZWJlYjgxMDQg
aW4gV1RGOjpSdW5Mb29wOjpydW4gKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9SdW5M
b29wR0xpYi5jcHA6OTQKIzUgIDB4MDAwMDdmZmZlYmViOWNjMSBpbiBXVEY6OldvcmtRdWV1ZTo6
PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAoX19jbG9zdXJlPTB4N2ZmZjk5N2Y5
YjUwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1dvcmtRdWV1ZUdMaWIuY3BwOjYwCiM2
ICAweDAwMDA3ZmZmZWJlYmE0NDcgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdU
Rjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1
ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2Uo
Y29uc3Qgc3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvaW5jbHVkZS9j
KysvNS9mdW5jdGlvbmFsOjE4NzEKIzcgIDB4MDAwMDdmZmZmMWViMDYwNiBpbiBzdGQ6OmZ1bmN0
aW9uPHZvaWQoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKHRoaXM9MHg3ZmZmOTk3ZjliNTAp
IGF0IC91c3IvaW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjIyNzEKIzggIDB4MDAwMDdmZmZlYmU4
MDkxNCBpbiBXVEY6OnRocmVhZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2ZmZmRiM2Y1MWUw
KSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjU4CiM5ICAweDAwMDA3ZmZm
ZWJlYjQxNDMgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmZmZkYjNmYTA1
MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2NwojMTAg
MHgwMDAwN2ZmZmVhMzE0MGE0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjk5N2ZhNzAwKSBh
dCBwdGhyZWFkX2NyZWF0ZS5jOjMwOQojMTEgMHgwMDAwN2ZmZmVhMDQ5MDZkIGluIGNsb25lICgp
IGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjExMQoKVGhyZWFk
IDQgKFRocmVhZCAweDdmZmY5OWZmYjcwMCAoTFdQIDEwMjc2KSk6CiMwICAweDAwMDA3ZmZmZWEz
MWIxOGQgaW4gbmFub3NsZWVwICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRl
LlM6ODEKIzEgIDB4MDAwMDdmZmZlYmVjNTY5NyBpbiBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9m
b3I8bG9uZywgc3RkOjpyYXRpbzwxbCwgMTAwMGw+ID4gKF9fcnRpbWU9Li4uKSBhdCAvdXNyL2lu
Y2x1ZGUvYysrLzUvdGhyZWFkOjI5MgojMiAgMHgwMDAwN2ZmZmViZWMyNDQzIGluIGJtYWxsb2M6
OnNsZWVwIChsb2NrPS4uLiwgZHVyYXRpb249Li4uKSBhdCAuLi8uLi9Tb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL1N0YXRpY011dGV4Lmg6NjQKIzMgIDB4MDAwMDdmZmZlYmVjMjQ4ZCBpbiBibWFsbG9j
Ojp3YWl0VW50aWxGYWxzZSAobG9jaz0uLi4sIHNsZWVwRHVyYXRpb249Li4uLCBjb25kaXRpb249
QDB4N2ZmZmVjYTc0NTEwOiB0cnVlKSBhdCAuLi8uLi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N0
YXRpY011dGV4Lmg6NzQKIzQgIDB4MDAwMDdmZmZlYmVjMjk1ZSBpbiBibWFsbG9jOjpIZWFwOjpz
Y2F2ZW5nZSAodGhpcz0weDdmZmZlY2E3MjNjMCA8Ym1hbGxvYzo6UGVyUHJvY2VzczxibWFsbG9j
OjpIZWFwPjo6c19tZW1vcnk+LCBsb2NrPS4uLiwgc2xlZXBEdXJhdGlvbj0uLi4pCiAgICBhdCAu
Li8uLi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwOjkwCiM1ICAweDAwMDA3ZmZmZWJl
YzI4ZmMgaW4gYm1hbGxvYzo6SGVhcDo6Y29uY3VycmVudFNjYXZlbmdlICh0aGlzPTB4N2ZmZmVj
YTcyM2MwIDxibWFsbG9jOjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+OjpzX21lbW9yeT4pIGF0
IC4uLy4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHA6ODUKIzYgIDB4MDAwMDdmZmZl
YmVjNmQ0NCBpbiBibWFsbG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxv
Yzo6SGVhcDo6KikoKT46OnRocmVhZFJ1bkxvb3AgKAogICAgdGhpcz0weDdmZmZlY2E3NDUxOCA8
Ym1hbGxvYzo6UGVyUHJvY2VzczxibWFsbG9jOjpIZWFwPjo6c19tZW1vcnkrODUzNj4pIGF0IC4u
Ly4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmg6MTQzCiM3ICAweDAwMDA3ZmZm
ZWJlYzY5NjAgaW4gYm1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxs
b2M6OkhlYXA6OiopKCk+Ojp0aHJlYWRFbnRyeVBvaW50ICgKICAgIGFzeW5jVGFzaz0weDdmZmZl
Y2E3NDUxOCA8Ym1hbGxvYzo6UGVyUHJvY2VzczxibWFsbG9jOjpIZWFwPjo6c19tZW1vcnkrODUz
Nj4pIGF0IC4uLy4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmg6MTI3CiM4ICAw
eDAwMDA3ZmZmZWJlYzhlMDQgaW4gc3RkOjpfQmluZF9zaW1wbGU8dm9pZCAoKihibWFsbG9jOjpB
c3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT4qKSkoYm1h
bGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6OiopKCk+
Kik+OjpfTV9pbnZva2U8MHVsPihzdGQ6Ol9JbmRleF90dXBsZTwwdWw+KSAodGhpcz0weDU3NmI0
OCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MTUzMQojOSAgMHgwMDAwN2ZmZmVi
ZWM4Y2VkIGluIHN0ZDo6X0JpbmRfc2ltcGxlPHZvaWQgKCooYm1hbGxvYzo6QXN5bmNUYXNrPGJt
YWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6OiopKCk+KikpKGJtYWxsb2M6OkFzeW5j
VGFzazxibWFsbG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPiopPjo6b3BlcmF0
b3IoKSh2b2lkKSAodGhpcz0weDU3NmI0OCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9u
YWw6MTUyMAojMTAgMHgwMDAwN2ZmZmViZWM4YzRjIGluIHN0ZDo6dGhyZWFkOjpfSW1wbDxzdGQ6
Ol9CaW5kX3NpbXBsZTx2b2lkICgqKGJtYWxsb2M6OkFzeW5jVGFzazxibWFsbG9jOjpIZWFwLCB2
b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPiopKShibWFsbG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6
SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT4qKT4gPjo6X01fcnVuKHZvaWQpICh0aGlz
PTB4NTc2YjMwKSBhdCAvdXNyL2luY2x1ZGUvYysrLzUvdGhyZWFkOjExNQojMTEgMHgwMDAwN2Zm
ZmU1YWRkNWMwIGluIHN0ZDo6KGFub255bW91cyBuYW1lc3BhY2UpOjpleGVjdXRlX25hdGl2ZV90
aHJlYWRfcm91dGluZSAoX19wPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vLi4vLi4vc3Jj
L2xpYnN0ZGMrKy12My9zcmMvYysrMTEvdGhyZWFkLmNjOjg0CiMxMiAweDAwMDA3ZmZmZWEzMTQw
YTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmOTlmZmI3MDApIGF0IHB0aHJlYWRfY3JlYXRl
LmM6MzA5CiMxMyAweDAwMDA3ZmZmZWEwNDkwNmQgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTExCgpUaHJlYWQgMyAoVGhyZWFkIDB4N2Zm
ZjlhN2ZjNzAwIChMV1AgMTAyNzUpKToKIzAgIDB4MDAwMDdmZmZlYTA0MDUyZCBpbiBwb2xsICgp
IGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKIzEgIDB4MDAwMDdmZmZl
YTU3MWYwNCBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT0yMTQ3NDgzNjQ3LCBuX2Zk
cz0xLCBmZHM9MHg3ZmZmOGMwMDE0ODAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0
PTB4N2ZmZjhjMDAwOTAwKSBhdCBnbWFpbi5jOjQxMDMKIzIgIGdfbWFpbl9jb250ZXh0X2l0ZXJh
dGUgKGNvbnRleHQ9MHg3ZmZmOGMwMDA5MDAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNo
PWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDMK
IzMgIDB4MDAwMDdmZmZlYTU3MjI4MiBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg3ZmZmOGMw
MDEyNDApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgwMDAwN2ZmZmViZWI4MTA0IGluIFdURjo6UnVu
TG9vcDo6cnVuICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3Bw
Ojk0CiM1ICAweDAwMDA3ZmZmZWJlYjljYzEgaW4gV1RGOjpXb3JrUXVldWU6OjxsYW1iZGEoKT46
Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZmY5YTdmYmI1MCkgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVldWVHTGliLmNwcDo2MAojNiAgMHgwMDAwN2Zm
ZmViZWJhNDQ3IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OldvcmtRdWV1
ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwg
V1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6
X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9Li4uKSBhdCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rp
b25hbDoxODcxCiM3ICAweDAwMDA3ZmZmZjFlYjA2MDYgaW4gc3RkOjpmdW5jdGlvbjx2b2lkKCk+
OjpvcGVyYXRvcigpKHZvaWQpIGNvbnN0ICh0aGlzPTB4N2ZmZjlhN2ZiYjUwKSBhdCAvdXNyL2lu
Y2x1ZGUvYysrLzUvZnVuY3Rpb25hbDoyMjcxCiM4ICAweDAwMDA3ZmZmZWJlODA5MTQgaW4gV1RG
Ojp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmZmZkYjNmNTE0MCkgYXQgLi4vLi4v
U291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo1OAojOSAgMHgwMDAwN2ZmZmViZWI0MTQzIGlu
IFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCAocGFyYW09MHg3ZmZmZGIzZmEwMzApIGF0IC4uLy4u
L1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcDoxNjcKIzEwIDB4MDAwMDdmZmZl
YTMxNDBhNCBpbiBzdGFydF90aHJlYWQgKGFyZz0weDdmZmY5YTdmYzcwMCkgYXQgcHRocmVhZF9j
cmVhdGUuYzozMDkKIzExIDB4MDAwMDdmZmZlYTA0OTA2ZCBpbiBjbG9uZSAoKSBhdCAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMTEKClRocmVhZCAyIChUaHJlYWQg
MHg3ZmZmOWFmZmQ3MDAgKExXUCAxMDI3NCkpOgojMCAgMHgwMDAwN2ZmZmVhMDQwNTJkIGluIHBv
bGwgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAgMHgwMDAw
N2ZmZmVhNTcxZjA0IGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKHByaW9yaXR5PTIxNDc0ODM2NDcs
IG5fZmRzPTEsIGZkcz0weDdmZmY5NDAwMTRhMCwgdGltZW91dD08b3B0aW1pemVkIG91dD4sIGNv
bnRleHQ9MHg3ZmZmOTQwMDA5MDApIGF0IGdtYWluLmM6NDEwMwojMiAgZ19tYWluX2NvbnRleHRf
aXRlcmF0ZSAoY29udGV4dD0weDdmZmY5NDAwMDkwMCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlz
cGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdtYWluLmM6
MzgwMwojMyAgMHgwMDAwN2ZmZmVhNTcyMjgyIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0weDdm
ZmY5NDAwMTI0MCkgYXQgZ21haW4uYzo0MDAyCiM0ICAweDAwMDA3ZmZmZWJlYjgxMDQgaW4gV1RG
OjpSdW5Mb29wOjpydW4gKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xp
Yi5jcHA6OTQKIzUgIDB4MDAwMDdmZmZlYmViOWNjMSBpbiBXVEY6OldvcmtRdWV1ZTo6PGxhbWJk
YSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAoX19jbG9zdXJlPTB4N2ZmZjlhZmZjYjUwKSBh
dCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1dvcmtRdWV1ZUdMaWIuY3BwOjYwCiM2ICAweDAw
MDA3ZmZmZWJlYmE0NDcgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdURjo6V29y
a1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpU
eXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qg
c3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvNS9m
dW5jdGlvbmFsOjE4NzEKIzcgIDB4MDAwMDdmZmZmMWViMDYwNiBpbiBzdGQ6OmZ1bmN0aW9uPHZv
aWQoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKHRoaXM9MHg3ZmZmOWFmZmNiNTApIGF0IC91
c3IvaW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjIyNzEKIzggIDB4MDAwMDdmZmZlYmU4MDkxNCBp
biBXVEY6OnRocmVhZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2ZmZmRiM2Y1MGYwKSBhdCAu
Li8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjU4CiM5ICAweDAwMDA3ZmZmZWJlYjQx
NDMgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmZmZkYjNmYTAxMCkgYXQg
Li4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2NwojMTAgMHgwMDAw
N2ZmZmVhMzE0MGE0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjlhZmZkNzAwKSBhdCBwdGhy
ZWFkX2NyZWF0ZS5jOjMwOQojMTEgMHgwMDAwN2ZmZmVhMDQ5MDZkIGluIGNsb25lICgpIGF0IC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjExMQoKVGhyZWFkIDEgKFRo
cmVhZCAweDdmZmZkYjZmNmE4MCAoTFdQIDEwMjczKSk6CiMwICAweDAwMDA3ZmZmZjIzN2M2NWQg
aW4gV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZv
ckNvbXBvc2l0aW5nICh0aGlzPTB4MCwgaGFuZGxlPTI3MjYzMDE3KQogICAgYXQgLi4vLi4vU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcDozMTUKIzEgIDB4
MDAwMDdmZmZmMjNkZWE5ZiBpbiB3ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUgKHdpZGdldD0weDRj
YzQ4MCkgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
Vmlld0Jhc2UuY3BwOjI5MgojMiAgMHgwMDAwN2ZmZmY3ZTRkZmI1IGluIGdfY2xvc3VyZV9pbnZv
a2UgKGNsb3N1cmU9MHg0NDhkMTAsIHJldHVybl92YWx1ZT0weDAsIG5fcGFyYW1fdmFsdWVzPTEs
IHBhcmFtX3ZhbHVlcz0weDdmZmZmZmZmY2ZlMCwgaW52b2NhdGlvbl9oaW50PTB4N2ZmZmZmZmZj
ZjgwKQogICAgYXQgZ2Nsb3N1cmUuYzo3NjgKIzMgIDB4MDAwMDdmZmZmN2U1ZWNlNSBpbiBzaWdu
YWxfZW1pdF91bmxvY2tlZF9SIChub2RlPW5vZGVAZW50cnk9MHg0NDVjYjAsIGRldGFpbD1kZXRh
aWxAZW50cnk9MCwgaW5zdGFuY2U9aW5zdGFuY2VAZW50cnk9MHg0Y2M0ODAsIAogICAgZW1pc3Np
b25fcmV0dXJuPWVtaXNzaW9uX3JldHVybkBlbnRyeT0weDAsIGluc3RhbmNlX2FuZF9wYXJhbXM9
aW5zdGFuY2VfYW5kX3BhcmFtc0BlbnRyeT0weDdmZmZmZmZmY2ZlMCkgYXQgZ3NpZ25hbC5jOjM0
NzkKIzQgIDB4MDAwMDdmZmZmN2U2NzhkMiBpbiBnX3NpZ25hbF9lbWl0X3ZhbGlzdCAoaW5zdGFu
Y2U9PG9wdGltaXplZCBvdXQ+LCBzaWduYWxfaWQ9PG9wdGltaXplZCBvdXQ+LCBkZXRhaWw9PG9w
dGltaXplZCBvdXQ+LCB2YXJfYXJncz12YXJfYXJnc0BlbnRyeT0weDdmZmZmZmZmZDE2OCkKICAg
IGF0IGdzaWduYWwuYzozMzA1CiM1ICAweDAwMDA3ZmZmZjdlNjdiYjIgaW4gZ19zaWduYWxfZW1p
dCAoaW5zdGFuY2U9aW5zdGFuY2VAZW50cnk9MHg0Y2M0ODAsIHNpZ25hbF9pZD08b3B0aW1pemVk
IG91dD4sIGRldGFpbD1kZXRhaWxAZW50cnk9MCkgYXQgZ3NpZ25hbC5jOjMzNjEKIzYgIDB4MDAw
MDdmZmZlZDEyM2Q2OCBpbiBndGtfd2lkZ2V0X3JlYWxpemUgKHdpZGdldD13aWRnZXRAZW50cnk9
MHg0Y2M0ODApIGF0IGd0a3dpZGdldC5jOjU1MjUKIzcgIDB4MDAwMDdmZmZlZDEyNmE1OCBpbiBn
dGtfd2lkZ2V0X3NldF9wYXJlbnQgKHdpZGdldD13aWRnZXRAZW50cnk9MHg0Y2M0ODAsIHBhcmVu
dD1wYXJlbnRAZW50cnk9MHg0ODg3YjApIGF0IGd0a3dpZGdldC5jOjk1NTIKIzggIDB4MDAwMDdm
ZmZlY2VmNjQ5NCBpbiBndGtfYm94X3BhY2sgKGJveD0weDQ4ODdiMCwgY2hpbGQ9MHg0Y2M0ODAs
IGV4cGFuZD0xLCBmaWxsPTEsIHBhZGRpbmc9MCwgcGFja190eXBlPTxvcHRpbWl6ZWQgb3V0Pikg
YXQgZ3RrYm94LmM6MTQ5NAojOSAgMHgwMDAwMDAwMDAwNDAwZjNkIGluIF9vbl90aW1lb3V0X2Nh
bGxiYWNrICgpCiMxMCAweDAwMDA3ZmZmZWE1NzI2MjMgaW4gZ190aW1lb3V0X2Rpc3BhdGNoIChz
b3VyY2U9MHg2NTFlMDAsIGNhbGxiYWNrPTxvcHRpbWl6ZWQgb3V0PiwgdXNlcl9kYXRhPTxvcHRp
bWl6ZWQgb3V0PikgYXQgZ21haW4uYzo0NTQ1CiMxMSAweDAwMDA3ZmZmZWE1NzFiZWEgaW4gZ19t
YWluX2Rpc3BhdGNoIChjb250ZXh0PTB4NDY4MjEwKSBhdCBnbWFpbi5jOjMxMjIKIzEyIGdfbWFp
bl9jb250ZXh0X2Rpc3BhdGNoIChjb250ZXh0PWNvbnRleHRAZW50cnk9MHg0NjgyMTApIGF0IGdt
YWluLmM6MzczNwojMTMgMHgwMDAwN2ZmZmVhNTcxZjY4IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJh
dGUgKGNvbnRleHQ9MHg0NjgyMTAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3Bh
dGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDgKIzE0IDB4
MDAwMDdmZmZlYTU3MjI4MiBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg1NGRjODApIGF0IGdt
YWluLmM6NDAwMgojMTUgMHgwMDAwN2ZmZmVjZmU0ZDc1IGluIGd0a19tYWluICgpIGF0IGd0a21h
aW4uYzoxMjE5CiMxNiAweDAwMDAwMDAwMDA0MDExOWEgaW4gbWFpbiAoKQoKCiMjIyMjIyMjIyMj
IyMjIwojIFdlYiBQcm9jZXNzICMKIyMjIyMjIyMjIyMjIyMjCgpUaHJlYWQgNiAoVGhyZWFkIDB4
N2ZmZjk4ZmY5NzAwIChMV1AgMTAyMzgpKToKIzAgIDB4MDAwMDdmZmZlYTMxNDE4ZCBpbiBuYW5v
c2xlZXAgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAgMHgw
MDAwN2ZmZmVjM2VkNjk3IGluIHN0ZDo6dGhpc190aHJlYWQ6OnNsZWVwX2Zvcjxsb25nLCBzdGQ6
OnJhdGlvPDFsLCAxMDAwbD4gPiAoX19ydGltZT0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvNS90
aHJlYWQ6MjkyCiMyICAweDAwMDA3ZmZmZWMzZWE0NDMgaW4gYm1hbGxvYzo6c2xlZXAgKGxvY2s9
Li4uLCBkdXJhdGlvbj0uLi4pIGF0IC4uLy4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGlj
TXV0ZXguaDo2NAojMyAgMHgwMDAwN2ZmZmVjM2VhNDhkIGluIGJtYWxsb2M6OndhaXRVbnRpbEZh
bHNlIChsb2NrPS4uLiwgc2xlZXBEdXJhdGlvbj0uLi4sIGNvbmRpdGlvbj1AMHg3ZmZmZWNmOWM1
MTA6IHRydWUpIGF0IC4uLy4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaDo3
NAojNCAgMHgwMDAwN2ZmZmVjM2VhOTVlIGluIGJtYWxsb2M6OkhlYXA6OnNjYXZlbmdlICh0aGlz
PTB4N2ZmZmVjZjlhM2MwIDxibWFsbG9jOjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+OjpzX21l
bW9yeT4sIGxvY2s9Li4uLCBzbGVlcER1cmF0aW9uPS4uLikKICAgIGF0IC4uLy4uL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvSGVhcC5jcHA6OTAKIzUgIDB4MDAwMDdmZmZlYzNlYThmYyBpbiBibWFs
bG9jOjpIZWFwOjpjb25jdXJyZW50U2NhdmVuZ2UgKHRoaXM9MHg3ZmZmZWNmOWEzYzAgPGJtYWxs
b2M6OlBlclByb2Nlc3M8Ym1hbGxvYzo6SGVhcD46OnNfbWVtb3J5PikgYXQgLi4vLi4vU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNwcDo4NQojNiAgMHgwMDAwN2ZmZmVjM2VlZDQ0IGluIGJt
YWxsb2M6OkFzeW5jVGFzazxibWFsbG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgp
Pjo6dGhyZWFkUnVuTG9vcCAoCiAgICB0aGlzPTB4N2ZmZmVjZjljNTE4IDxibWFsbG9jOjpQZXJQ
cm9jZXNzPGJtYWxsb2M6OkhlYXA+OjpzX21lbW9yeSs4NTM2PikgYXQgLi4vLi4vU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaDoxNDMKIzcgIDB4MDAwMDdmZmZlYzNlZTk2MCBpbiBi
bWFsbG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6Kiko
KT46OnRocmVhZEVudHJ5UG9pbnQgKAogICAgYXN5bmNUYXNrPTB4N2ZmZmVjZjljNTE4IDxibWFs
bG9jOjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+OjpzX21lbW9yeSs4NTM2PikgYXQgLi4vLi4v
U291cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaDoxMjcKIzggIDB4MDAwMDdmZmZlYzNm
MGUwNCBpbiBzdGQ6Ol9CaW5kX3NpbXBsZTx2b2lkICgqKGJtYWxsb2M6OkFzeW5jVGFzazxibWFs
bG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPiopKShibWFsbG9jOjpBc3luY1Rh
c2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT4qKT46Ol9NX2ludm9r
ZTwwdWw+KHN0ZDo6X0luZGV4X3R1cGxlPDB1bD4pICh0aGlzPTB4N2ZmZjg0MDAxNGU4KSBhdCAv
dXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25hbDoxNTMxCiM5ICAweDAwMDA3ZmZmZWMzZjBjZWQg
aW4gc3RkOjpfQmluZF9zaW1wbGU8dm9pZCAoKihibWFsbG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6
SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT4qKSkoYm1hbGxvYzo6QXN5bmNUYXNrPGJt
YWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6OiopKCk+Kik+OjpvcGVyYXRvcigpKHZv
aWQpICh0aGlzPTB4N2ZmZjg0MDAxNGU4KSBhdCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25h
bDoxNTIwCiMxMCAweDAwMDA3ZmZmZWMzZjBjNGMgaW4gc3RkOjp0aHJlYWQ6Ol9JbXBsPHN0ZDo6
X0JpbmRfc2ltcGxlPHZvaWQgKCooYm1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZv
aWQgKGJtYWxsb2M6OkhlYXA6OiopKCk+KikpKGJtYWxsb2M6OkFzeW5jVGFzazxibWFsbG9jOjpI
ZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPiopPiA+OjpfTV9ydW4odm9pZCkgKHRoaXM9
MHg3ZmZmODQwMDE0ZDApIGF0IC91c3IvaW5jbHVkZS9jKysvNS90aHJlYWQ6MTE1CiMxMSAweDAw
MDA3ZmZmZTVlODY1YzAgaW4gc3RkOjooYW5vbnltb3VzIG5hbWVzcGFjZSk6OmV4ZWN1dGVfbmF0
aXZlX3RocmVhZF9yb3V0aW5lIChfX3A9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi8uLi8uLi8u
Li9zcmMvbGlic3RkYysrLXYzL3NyYy9jKysxMS90aHJlYWQuY2M6ODQKIzEyIDB4MDAwMDdmZmZl
YTMwZDBhNCBpbiBzdGFydF90aHJlYWQgKGFyZz0weDdmZmY5OGZmOTcwMCkgYXQgcHRocmVhZF9j
cmVhdGUuYzozMDkKIzEzIDB4MDAwMDdmZmZlNTVmNDA2ZCBpbiBjbG9uZSAoKSBhdCAuLi9zeXNk
ZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMTEKClRocmVhZCA1IChUaHJlYWQg
MHg3ZmZmOWFmZmQ3MDAgKExXUCAxMDIwNSkpOgojMCAgMHgwMDAwN2ZmZmU1NWViNTJkIGluIHBv
bGwgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAgMHgwMDAw
N2ZmZmU5NTVjZjA0IGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKHByaW9yaXR5PTIxNDc0ODM2NDcs
IG5fZmRzPTEsIGZkcz0weDdmZmY5NDAwMTdjMCwgdGltZW91dD08b3B0aW1pemVkIG91dD4sIGNv
bnRleHQ9MHg3ZmZmOTQwMDA5MjApIGF0IGdtYWluLmM6NDEwMwojMiAgZ19tYWluX2NvbnRleHRf
aXRlcmF0ZSAoY29udGV4dD0weDdmZmY5NDAwMDkyMCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlz
cGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdtYWluLmM6
MzgwMwojMyAgMHgwMDAwN2ZmZmU5NTVkMjgyIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0weDdm
ZmY5NDAwMTI2MCkgYXQgZ21haW4uYzo0MDAyCiM0ICAweDAwMDA3ZmZmZWMzZTAxMDQgaW4gV1RG
OjpSdW5Mb29wOjpydW4gKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xp
Yi5jcHA6OTQKIzUgIDB4MDAwMDdmZmZlYzNlMWNjMSBpbiBXVEY6OldvcmtRdWV1ZTo6PGxhbWJk
YSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAoX19jbG9zdXJlPTB4N2ZmZjlhZmZjYjUwKSBh
dCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1dvcmtRdWV1ZUdMaWIuY3BwOjYwCiM2ICAweDAw
MDA3ZmZmZWMzZTI0NDcgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdURjo6V29y
a1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdURjo6V29ya1F1ZXVlOjpU
eXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2UoY29uc3Qg
c3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvNS9m
dW5jdGlvbmFsOjE4NzEKIzcgIDB4MDAwMDdmZmZmMWViMDYwNiBpbiBzdGQ6OmZ1bmN0aW9uPHZv
aWQoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKHRoaXM9MHg3ZmZmOWFmZmNiNTApIGF0IC91
c3IvaW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjIyNzEKIzggIDB4MDAwMDdmZmZlYzNhODkxNCBp
biBXVEY6OnRocmVhZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2ZmZmRiM2Y3MDAwKSBhdCAu
Li8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjU4CiM5ICAweDAwMDA3ZmZmZWMzZGMx
NDMgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmZmZkYjNmYTAxMCkgYXQg
Li4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2NwojMTAgMHgwMDAw
N2ZmZmVhMzBkMGE0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjlhZmZkNzAwKSBhdCBwdGhy
ZWFkX2NyZWF0ZS5jOjMwOQojMTEgMHgwMDAwN2ZmZmU1NWY0MDZkIGluIGNsb25lICgpIGF0IC4u
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjExMQoKVGhyZWFkIDQgKFRo
cmVhZCAweDdmZmY5YTdmYzcwMCAoTFdQIDEwMjA2KSk6CiMwICAweDAwMDA3ZmZmZTU1ZWI1MmQg
aW4gcG9sbCAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzY2FsbC10ZW1wbGF0ZS5TOjgxCiMxICAw
eDAwMDA3ZmZmZTk1NWNmMDQgaW4gZ19tYWluX2NvbnRleHRfcG9sbCAocHJpb3JpdHk9MjE0NzQ4
MzY0Nywgbl9mZHM9MSwgZmRzPTB4N2ZmZjhjMDAxNDgwLCB0aW1lb3V0PTxvcHRpbWl6ZWQgb3V0
PiwgY29udGV4dD0weDdmZmY4YzAwMDkwMCkgYXQgZ21haW4uYzo0MTAzCiMyICBnX21haW5fY29u
dGV4dF9pdGVyYXRlIChjb250ZXh0PTB4N2ZmZjhjMDAwOTAwLCBibG9jaz1ibG9ja0BlbnRyeT0x
LCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRyeT0xLCBzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ21h
aW4uYzozODAzCiMzICAweDAwMDA3ZmZmZTk1NWQyODIgaW4gZ19tYWluX2xvb3BfcnVuIChsb29w
PTB4N2ZmZjhjMDAxMjQwKSBhdCBnbWFpbi5jOjQwMDIKIzQgIDB4MDAwMDdmZmZlYzNlMDEwNCBp
biBXVEY6OlJ1bkxvb3A6OnJ1biAoKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxv
b3BHTGliLmNwcDo5NAojNSAgMHgwMDAwN2ZmZmVjM2UxY2MxIGluIFdURjo6V29ya1F1ZXVlOjo8
bGFtYmRhKCk+OjpvcGVyYXRvcigpKHZvaWQpIGNvbnN0IChfX2Nsb3N1cmU9MHg3ZmZmOWE3ZmJi
NTApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvV29ya1F1ZXVlR0xpYi5jcHA6NjAKIzYg
IDB4MDAwMDdmZmZlYzNlMjQ0NyBpbiBzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RG
OjpXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjaGFyIGNvbnN0KiwgV1RGOjpXb3JrUXVl
dWU6OlR5cGUsIFdURjo6V29ya1F1ZXVlOjpRT1MpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShj
b25zdCBzdGQ6Ol9BbnlfZGF0YSAmKSAoX19mdW5jdG9yPS4uLikgYXQgL3Vzci9pbmNsdWRlL2Mr
Ky81L2Z1bmN0aW9uYWw6MTg3MQojNyAgMHgwMDAwN2ZmZmYxZWIwNjA2IGluIHN0ZDo6ZnVuY3Rp
b248dm9pZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAodGhpcz0weDdmZmY5YTdmYmI1MCkg
YXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3MQojOCAgMHgwMDAwN2ZmZmVjM2E4
OTE0IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZmZmZGIzZjcwNTAp
IGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKIzkgIDB4MDAwMDdmZmZl
YzNkYzE0MyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZmZmRiM2ZhMDMw
KSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY3CiMxMCAw
eDAwMDA3ZmZmZWEzMGQwYTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmOWE3ZmM3MDApIGF0
IHB0aHJlYWRfY3JlYXRlLmM6MzA5CiMxMSAweDAwMDA3ZmZmZTU1ZjQwNmQgaW4gY2xvbmUgKCkg
YXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTExCgpUaHJlYWQg
MyAoVGhyZWFkIDB4N2ZmZjk5ZmZiNzAwIChMV1AgMTAyMDcpKToKIzAgIDB4MDAwMDdmZmZlNTVl
YjUyZCBpbiBwb2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEK
IzEgIDB4MDAwMDdmZmZlOTU1Y2YwNCBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT0y
MTQ3NDgzNjQ3LCBuX2Zkcz0xLCBmZHM9MHg3ZmZmOTAwMDE0ODAsIHRpbWVvdXQ9PG9wdGltaXpl
ZCBvdXQ+LCBjb250ZXh0PTB4N2ZmZjkwMDAwOTAwKSBhdCBnbWFpbi5jOjQxMDMKIzIgIGdfbWFp
bl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmZmOTAwMDA5MDAsIGJsb2NrPWJsb2NrQGVu
dHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBh
dCBnbWFpbi5jOjM4MDMKIzMgIDB4MDAwMDdmZmZlOTU1ZDI4MiBpbiBnX21haW5fbG9vcF9ydW4g
KGxvb3A9MHg3ZmZmOTAwMDEyNDApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgwMDAwN2ZmZmVjM2Uw
MTA0IGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIv
UnVuTG9vcEdMaWIuY3BwOjk0CiM1ICAweDAwMDA3ZmZmZWMzZTFjYzEgaW4gV1RGOjpXb3JrUXVl
dWU6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZmY5
OWZmYWI1MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVldWVHTGliLmNwcDo2
MAojNiAgMHgwMDAwN2ZmZmVjM2UyNDQ3IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgp
LCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6Oldv
cmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01faW52
b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9Li4uKSBhdCAvdXNyL2luY2x1
ZGUvYysrLzUvZnVuY3Rpb25hbDoxODcxCiM3ICAweDAwMDA3ZmZmZjFlYjA2MDYgaW4gc3RkOjpm
dW5jdGlvbjx2b2lkKCk+OjpvcGVyYXRvcigpKHZvaWQpIGNvbnN0ICh0aGlzPTB4N2ZmZjk5ZmZh
YjUwKSBhdCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25hbDoyMjcxCiM4ICAweDAwMDA3ZmZm
ZWMzYTg5MTQgaW4gV1RGOjp0aHJlYWRFbnRyeVBvaW50IChjb250ZXh0RGF0YT0weDdmZmZkYjNm
NzBhMCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nLmNwcDo1OAojOSAgMHgwMDAw
N2ZmZmVjM2RjMTQzIGluIFdURjo6d3RmVGhyZWFkRW50cnlQb2ludCAocGFyYW09MHg3ZmZmZGIz
ZmEwNTApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZ1B0aHJlYWRzLmNwcDoxNjcK
IzEwIDB4MDAwMDdmZmZlYTMwZDBhNCBpbiBzdGFydF90aHJlYWQgKGFyZz0weDdmZmY5OWZmYjcw
MCkgYXQgcHRocmVhZF9jcmVhdGUuYzozMDkKIzExIDB4MDAwMDdmZmZlNTVmNDA2ZCBpbiBjbG9u
ZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvY2xvbmUuUzoxMTEKClRo
cmVhZCAyIChUaHJlYWQgMHg3ZmZmOTk3ZmE3MDAgKExXUCAxMDIwOCkpOgojMCAgMHgwMDAwN2Zm
ZmU1NWViNTJkIGluIHBvbGwgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c2NhbGwtdGVtcGxhdGUu
Uzo4MQojMSAgMHgwMDAwN2ZmZmU5NTVjZjA0IGluIGdfbWFpbl9jb250ZXh0X3BvbGwgKHByaW9y
aXR5PTIxNDc0ODM2NDcsIG5fZmRzPTIsIGZkcz0weDdmZmY4NDAwMTQ4MCwgdGltZW91dD08b3B0
aW1pemVkIG91dD4sIGNvbnRleHQ9MHg3ZmZmODQwMDA5MDApIGF0IGdtYWluLmM6NDEwMwojMiAg
Z19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD0weDdmZmY4NDAwMDkwMCwgYmxvY2s9Ymxv
Y2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91
dD4pIGF0IGdtYWluLmM6MzgwMwojMyAgMHgwMDAwN2ZmZmU5NTVkMjgyIGluIGdfbWFpbl9sb29w
X3J1biAobG9vcD0weDdmZmY4NDAwMTI0MCkgYXQgZ21haW4uYzo0MDAyCiM0ICAweDAwMDA3ZmZm
ZWMzZTAxMDQgaW4gV1RGOjpSdW5Mb29wOjpydW4gKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYv
Z2xpYi9SdW5Mb29wR0xpYi5jcHA6OTQKIzUgIDB4MDAwMDdmZmZlYzNlMWNjMSBpbiBXVEY6Oldv
cmtRdWV1ZTo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAoX19jbG9zdXJlPTB4
N2ZmZjk5N2Y5YjUwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1dvcmtRdWV1ZUdMaWIu
Y3BwOjYwCiM2ICAweDAwMDA3ZmZmZWMzZTI0NDcgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2
b2lkKCksIFdURjo6V29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY2hhciBjb25zdCosIFdU
Rjo6V29ya1F1ZXVlOjpUeXBlLCBXVEY6OldvcmtRdWV1ZTo6UU9TKTo6PGxhbWJkYSgpPiA+Ojpf
TV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3Iv
aW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjE4NzEKIzcgIDB4MDAwMDdmZmZmMWViMDYwNiBpbiBz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKHRoaXM9MHg3ZmZm
OTk3ZjliNTApIGF0IC91c3IvaW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjIyNzEKIzggIDB4MDAw
MDdmZmZlYzNhODkxNCBpbiBXVEY6OnRocmVhZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2Zm
ZmRiM2Y3MGYwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjU4CiM5ICAw
eDAwMDA3ZmZmZWMzZGMxNDMgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdm
ZmZkYjNmYTA3MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3Bw
OjE2NwojMTAgMHgwMDAwN2ZmZmVhMzBkMGE0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjk5
N2ZhNzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMwOQojMTEgMHgwMDAwN2ZmZmU1NWY0MDZkIGlu
IGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEx
MQoKVGhyZWFkIDEgKFRocmVhZCAweDdmZmZkYjZmNmE4MCAoTFdQIDEwMjAzKSk6CiMwICAweDAw
MDA3ZmZmZTk1NjNiZDMgaW4gX2dfbG9nX2Fib3J0IChicmVha3BvaW50PTEpIGF0IGdtZXNzYWdl
cy5jOjMxNQojMSAgZ19sb2d2IChsb2dfZG9tYWluPTB4N2ZmZmU2NDRjOWNlICJHZGsiLCBsb2df
bGV2ZWw9R19MT0dfTEVWRUxfRVJST1IsIGZvcm1hdD08b3B0aW1pemVkIG91dD4sIGFyZ3M9YXJn
c0BlbnRyeT0weDdmZmZmZmZmYjJjOCkgYXQgZ21lc3NhZ2VzLmM6MTA0MQojMiAgMHgwMDAwN2Zm
ZmU5NTYzZDMyIGluIGdfbG9nIChsb2dfZG9tYWluPWxvZ19kb21haW5AZW50cnk9MHg3ZmZmZTY0
NGM5Y2UgIkdkayIsIGxvZ19sZXZlbD1sb2dfbGV2ZWxAZW50cnk9R19MT0dfTEVWRUxfRVJST1Is
IGZvcm1hdD1mb3JtYXRAZW50cnk9MHg3ZmZmZTY0NGNhNDkgIiVzIikKICAgIGF0IGdtZXNzYWdl
cy5jOjEwNzkKIzMgIDB4MDAwMDdmZmZlNjQyNTBhZiBpbiBfZ2RrX3gxMV9kaXNwbGF5X2Vycm9y
X2V2ZW50IChkaXNwbGF5PWRpc3BsYXlAZW50cnk9MHg0N2QwMDAsIGVycm9yPWVycm9yQGVudHJ5
PTB4N2ZmZmZmZmZiNDcwKSBhdCBnZGtkaXNwbGF5LXgxMS5jOjI1NTIKIzQgIDB4MDAwMDdmZmZl
NjQyZmM1OSBpbiBnZGtfeF9lcnJvciAoeGRpc3BsYXk9MHg0NmM3MjAsIGVycm9yPTB4N2ZmZmZm
ZmZiNDcwKSBhdCBnZGttYWluLXgxMS5jOjMwMwojNSAgMHgwMDAwN2ZmZmU3ZjM3NDZkIGluIF9Y
RXJyb3IgKGRweT1kcHlAZW50cnk9MHg0NmM3MjAsIHJlcD1yZXBAZW50cnk9MHg2YTg3MjApIGF0
IC4uLy4uL3NyYy9YbGliSW50LmM6MTQyOQojNiAgMHgwMDAwN2ZmZmU3ZjM0M2E3IGluIGhhbmRs
ZV9lcnJvciAoZHB5PTB4NDZjNzIwLCBlcnI9MHg2YTg3MjAsIGluX1hSZXBseT08b3B0aW1pemVk
IG91dD4pIGF0IC4uLy4uL3NyYy94Y2JfaW8uYzoyMTMKIzcgIDB4MDAwMDdmZmZlN2YzNDQ2NSBp
biBoYW5kbGVfcmVzcG9uc2UgKGRweT1kcHlAZW50cnk9MHg0NmM3MjAsIHJlc3BvbnNlPTB4NmE4
NzIwLCBpbl9YUmVwbHk9aW5fWFJlcGx5QGVudHJ5PTEpIGF0IC4uLy4uL3NyYy94Y2JfaW8uYzoz
MjUKIzggIDB4MDAwMDdmZmZlN2YzNTQyMCBpbiBfWFJlcGx5IChkcHk9ZHB5QGVudHJ5PTB4NDZj
NzIwLCByZXA9cmVwQGVudHJ5PTB4N2ZmZmZmZmZiNjgwLCBleHRyYT1leHRyYUBlbnRyeT0wLCBk
aXNjYXJkPWRpc2NhcmRAZW50cnk9MSkgYXQgLi4vLi4vc3JjL3hjYl9pby5jOjYyNwojOSAgMHgw
MDAwN2ZmZmU3ZjFiZGU3IGluIF9YR2V0V2luZG93QXR0cmlidXRlcyAoZHB5PWRweUBlbnRyeT0w
eDQ2YzcyMCwgdz0yNzI2MzAwMCwgYXR0cj0weDdmZmZmZmZmYjc5MCkgYXQgLi4vLi4vc3JjL0dl
dFdBdHRycy5jOjExNAojMTAgMHgwMDAwN2ZmZmU3ZjFiZjYxIGluIFhHZXRXaW5kb3dBdHRyaWJ1
dGVzIChkcHk9MHg0NmM3MjAsIHc9PG9wdGltaXplZCBvdXQ+LCBhdHRyPTxvcHRpbWl6ZWQgb3V0
PikgYXQgLi4vLi4vc3JjL0dldFdBdHRycy5jOjE0OQojMTEgMHgwMDAwN2ZmZmYzOTkxNDNkIGlu
IFdlYkNvcmU6OkdMQ29udGV4dEdMWDo6Y3JlYXRlV2luZG93Q29udGV4dCAod2luZG93PTI3MjYz
MDAwLCBzaGFyaW5nQ29udGV4dD0weGE1MzE4MCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dseC9HTENvbnRleHRHTFguY3BwOjM5CiMxMiAweDAwMDA3ZmZm
ZjM5OTFhZTMgaW4gV2ViQ29yZTo6R0xDb250ZXh0R0xYOjpjcmVhdGVDb250ZXh0ICh3aW5kb3c9
MjcyNjMwMDAsIHNoYXJpbmdDb250ZXh0PTB4YTUzMTgwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nbHgvR0xDb250ZXh0R0xYLmNwcDoxMzEKIzEzIDB4MDAwMDdm
ZmZmMzk3MzVjYiBpbiBXZWJDb3JlOjpHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3cg
KHdpbmRvd0hhbmRsZT0weDFhMDAwMTgsIHNoYXJpbmdDb250ZXh0PTB4YTUzMTgwKQogICAgYXQg
Li4vLi4vU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR0xDb250ZXh0LmNwcDoxMzEK
IzE0IDB4MDAwMDdmZmZmMjQ1MjE2MCBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6Om1ha2VD
b250ZXh0Q3VycmVudCAodGhpcz0weDdmZmZkYjJlZTg0MCkgYXQgLi4vLi4vU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcDoxNTIKIzE1IDB4
MDAwMDdmZmZmMjQ1MzUxYiBpbiBXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyAodGhpcz0weDdmZmZkYjJlZTg0MCwgaGFuZGxlPTI3
MjYzMDAwKQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0
ay9MYXllclRyZWVIb3N0R3RrLmNwcDo0MjIKIzE2IDB4MDAwMDdmZmZmMjQ0NDczMiBpbiBXZWJL
aXQ6OkRyYXdpbmdBcmVhSW1wbDo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSAodGhp
cz0weDU1OTZkMCwgZ3JhcGhpY3NMYXllcj0weDdmZmZkYjA0OTEwMCkKICAgIGF0IC4uLy4uL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwOjQ3NQoj
MTcgMHgwMDAwN2ZmZmYyNDQzY2JlIGluIFdlYktpdDo6RHJhd2luZ0FyZWFJbXBsOjpzZXRSb290
Q29tcG9zaXRpbmdMYXllciAodGhpcz0weDU1OTZkMCwgZ3JhcGhpY3NMYXllcj0weDdmZmZkYjA0
OTEwMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwOjI5MgojMTggMHgwMDAwN2ZmZmYyMmQ3ZjAzIGluIFdlYktpdDo6V2Vi
UGFnZTo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSAodGhpcz0weDdmZmZkYjAwM2Zj
MCwgbGF5ZXI9MHg3ZmZmZGIwNDkxMDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6OTEyCiMxOSAweDAwMDA3ZmZmZjIyN2RmMjAgaW4g
V2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyICh0aGlzPTB4
NWYzM2QwLCBsYXllcj0weDdmZmZkYjA0OTEwMCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDo4MzEKIzIwIDB4
MDAwMDdmZmZmMzU2ODJiMiBpbiBXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmF0dGFj
aFJvb3RMYXllciAodGhpcz0weDdmZmZkYjJlNzIzMCwgYXR0YWNobWVudD1XZWJDb3JlOjpSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OlJvb3RMYXllckF0dGFjaGVkVmlhQ2hyb21lQ2xpZW50KQogICAg
YXQgLi4vLi4vU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHA6MzU3MQojMjEgMHgwMDAwN2ZmZmYzNTY3Y2JkIGluIFdlYkNvcmU6OlJlbmRlckxheWVyQ29t
cG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyICh0aGlzPTB4N2ZmZmRiMmU3MjMwKSBhdCAuLi8uLi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDozNTA1CiMy
MiAweDAwMDA3ZmZmZjM1NWRiNWEgaW4gV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpl
bmFibGVDb21wb3NpdGluZ01vZGUgKHRoaXM9MHg3ZmZmZGIyZTcyMzAsIGVuYWJsZT10cnVlKQog
ICAgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHA6MzEzCiMyMyAweDAwMDA3ZmZmZjM1NjAzMTQgaW4gV2ViQ29yZTo6UmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjp1cGRhdGVCYWNraW5nICh0aGlzPTB4N2ZmZmRiMmU3MjMwLCBsYXllcj0uLi4s
IAogICAgc2hvdWxkUmVwYWludD1XZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OkNvbXBv
c2l0aW5nQ2hhbmdlUmVwYWludE5vdywgYmFja2luZ1JlcXVpcmVkPVdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6QmFja2luZ1JlcXVpcmVkOjpZZXMpCiAgICBhdCAuLi8uLi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoxMDE0CiMyNCAweDAw
MDA3ZmZmZjM1NjA3ZWIgaW4gV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVM
YXllckNvbXBvc2l0aW5nU3RhdGUgKHRoaXM9MHg3ZmZmZGIyZTcyMzAsIGxheWVyPS4uLiwgCiAg
ICBzaG91bGRSZXBhaW50PVdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Q29tcG9zaXRp
bmdDaGFuZ2VSZXBhaW50Tm93KSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoxMTE0CiMyNSAweDAwMDA3ZmZmZjM1NjAwYWEgaW4gV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclN0eWxlQ2hhbmdlZCAodGhpcz0weDdm
ZmZkYjJlNzIzMCwgZGlmZj1XZWJDb3JlOjpTdHlsZURpZmZlcmVuY2VOZXdTdHlsZSwgbGF5ZXI9
Li4uLCBvbGRTdHlsZT0weDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDo5NjkKIzI2IDB4MDAwMDdmZmZmMzUzZjI4ZiBpbiBX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6c3R5bGVDaGFuZ2VkICh0aGlzPTB4N2ZmZmRiMmM0MjQwLCBk
aWZmPVdlYkNvcmU6OlN0eWxlRGlmZmVyZW5jZU5ld1N0eWxlLCBvbGRTdHlsZT0weDApCiAgICBh
dCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOjY3MzgKIzI3
IDB4MDAwMDdmZmZmMzU3NDhmMCBpbiBXZWJDb3JlOjpSZW5kZXJMYXllck1vZGVsT2JqZWN0Ojpz
dHlsZURpZENoYW5nZSAodGhpcz0weDdmZmZkYjNiMTM5OCwgZGlmZj1XZWJDb3JlOjpTdHlsZURp
ZmZlcmVuY2VOZXdTdHlsZSwgb2xkU3R5bGU9MHgwKQogICAgYXQgLi4vLi4vU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwOjE3MwojMjggMHgwMDAwN2Zm
ZmYzNDZiOTVjIGluIFdlYkNvcmU6OlJlbmRlckJveDo6c3R5bGVEaWRDaGFuZ2UgKHRoaXM9MHg3
ZmZmZGIzYjEzOTgsIGRpZmY9V2ViQ29yZTo6U3R5bGVEaWZmZXJlbmNlTmV3U3R5bGUsIG9sZFN0
eWxlPTB4MCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwOjMzOAojMjkgMHgwMDAwN2ZmZmYzNDBiZGE2IGluIFdlYkNvcmU6OlJlbmRlckJsb2NrOjpz
dHlsZURpZENoYW5nZSAodGhpcz0weDdmZmZkYjNiMTM5OCwgZGlmZj1XZWJDb3JlOjpTdHlsZURp
ZmZlcmVuY2VOZXdTdHlsZSwgb2xkU3R5bGU9MHgwKQogICAgYXQgLi4vLi4vU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoyOTUKIzMwIDB4MDAwMDdmZmZmMzQ0MGFjYSBp
biBXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OnN0eWxlRGlkQ2hhbmdlICh0aGlzPTB4N2ZmZmRi
M2IxMzk4LCBkaWZmPVdlYkNvcmU6OlN0eWxlRGlmZmVyZW5jZU5ld1N0eWxlLCBvbGRTdHlsZT0w
eDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcDoxOTk3CiMzMSAweDAwMDA3ZmZmZjM0YjkzMTcgaW4gV2ViQ29yZTo6UmVuZGVyRWxlbWVu
dDo6aW5pdGlhbGl6ZVN0eWxlICh0aGlzPTB4N2ZmZmRiM2IxMzk4KSBhdCAuLi8uLi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6NDA0CiMzMiAweDAwMDA3ZmZmZjM3
MWE4ZWQgaW4gV2ViQ29yZTo6U3R5bGU6OmNyZWF0ZVJlbmRlcmVySWZOZWVkZWQgKGVsZW1lbnQ9
Li4uLCBpbmhlcml0ZWRTdHlsZT0uLi4sIHJlbmRlclRyZWVQb3NpdGlvbj0uLi4sIHJlc29sdmVk
U3R5bGU9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZl
VHJlZS5jcHA6MjA5CiMzMyAweDAwMDA3ZmZmZjM3MWJiNTIgaW4gV2ViQ29yZTo6U3R5bGU6OmF0
dGFjaFJlbmRlclRyZWUgKGN1cnJlbnQ9Li4uLCBpbmhlcml0ZWRTdHlsZT0uLi4sIHJlbmRlclRy
ZWVQb3NpdGlvbj0uLi4sIHJlc29sdmVkU3R5bGU9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHA6NDgwCiMzNCAweDAwMDA3ZmZmZjM3MWIy
N2YgaW4gV2ViQ29yZTo6U3R5bGU6OmF0dGFjaENoaWxkcmVuIChjdXJyZW50PS4uLiwgaW5oZXJp
dGVkU3R5bGU9Li4uLCByZW5kZXJUcmVlUG9zaXRpb249Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcDozNTYKIzM1IDB4MDAwMDdmZmZmMzcxYmM1
MSBpbiBXZWJDb3JlOjpTdHlsZTo6YXR0YWNoUmVuZGVyVHJlZSAoY3VycmVudD0uLi4sIGluaGVy
aXRlZFN0eWxlPS4uLiwgcmVuZGVyVHJlZVBvc2l0aW9uPS4uLiwgcmVzb2x2ZWRTdHlsZT0uLi4p
CiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcDo0
OTcKIzM2IDB4MDAwMDdmZmZmMzcxYjI3ZiBpbiBXZWJDb3JlOjpTdHlsZTo6YXR0YWNoQ2hpbGRy
ZW4gKGN1cnJlbnQ9Li4uLCBpbmhlcml0ZWRTdHlsZT0uLi4sIHJlbmRlclRyZWVQb3NpdGlvbj0u
Li4pIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZVRyZWUuY3BwOjM1
NgojMzcgMHgwMDAwN2ZmZmYzNzFiYzUxIGluIFdlYkNvcmU6OlN0eWxlOjphdHRhY2hSZW5kZXJU
cmVlIChjdXJyZW50PS4uLiwgaW5oZXJpdGVkU3R5bGU9Li4uLCByZW5kZXJUcmVlUG9zaXRpb249
Li4uLCByZXNvbHZlZFN0eWxlPS4uLikKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlUmVzb2x2ZVRyZWUuY3BwOjQ5NwojMzggMHgwMDAwN2ZmZmYzNzFjNTQzIGluIFdlYkNv
cmU6OlN0eWxlOjpyZXNvbHZlTG9jYWwgKGN1cnJlbnQ9Li4uLCBpbmhlcml0ZWRTdHlsZT0uLi4s
IHJlbmRlclRyZWVQb3NpdGlvbj0uLi4sIGluaGVyaXRlZENoYW5nZT1XZWJDb3JlOjpTdHlsZTo6
Tm9DaGFuZ2UpCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVU
cmVlLmNwcDo2MjkKIzM5IDB4MDAwMDdmZmZmMzcxZDBiNiBpbiBXZWJDb3JlOjpTdHlsZTo6cmVz
b2x2ZVRyZWUgKGN1cnJlbnQ9Li4uLCBpbmhlcml0ZWRTdHlsZT0uLi4sIHJlbmRlclRyZWVQb3Np
dGlvbj0uLi4sIGNoYW5nZT1XZWJDb3JlOjpTdHlsZTo6Tm9DaGFuZ2UpCiAgICBhdCAuLi8uLi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVUcmVlLmNwcDo4NTAKIzQwIDB4MDAwMDdm
ZmZmMzcxZDQ1NiBpbiBXZWJDb3JlOjpTdHlsZTo6cmVzb2x2ZVRyZWUgKGRvY3VtZW50PS4uLiwg
Y2hhbmdlPVdlYkNvcmU6OlN0eWxlOjpOb0NoYW5nZSkgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHA6OTEwCiM0MSAweDAwMDA3ZmZmZjJhZTBjNmUgaW4g
V2ViQ29yZTo6RG9jdW1lbnQ6OnJlY2FsY1N0eWxlICh0aGlzPTB4N2ZmZmRiMDAzMDAwLCBjaGFu
Z2U9V2ViQ29yZTo6U3R5bGU6Ok5vQ2hhbmdlKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwOjE4NDEKIzQyIDB4MDAwMDdmZmZmMmFlMGY5NSBpbiBXZWJDb3JlOjpEb2N1
bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCAodGhpcz0weDdmZmZkYjAwMzAwMCkgYXQgLi4vLi4v
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcDoxODkyCiM0MyAweDAwMDA3ZmZmZjJhZWQx
MWIgaW4gV2ViQ29yZTo6RG9jdW1lbnQ6OmZpbmlzaGVkUGFyc2luZyAodGhpcz0weDdmZmZkYjAw
MzAwMCkgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcDo0ODk1CiM0NCAw
eDAwMDA3ZmZmZjJlNzE1YzMgaW4gV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmZpbmlz
aGVkUGFyc2luZyAodGhpcz0weDdmZmZkYjJmN2M4MCkgYXQgLi4vLi4vU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwOjQwMwojNDUgMHgwMDAwN2ZmZmYy
ZWFlYTgwIGluIFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6ZmluaXNoZWQgKHRoaXM9MHg3ZmZm
ZGIyZjdjNjApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHA6MjkzNwojNDYgMHgwMDAwN2ZmZmYyZTc5ZTFjIGluIFdlYkNvcmU6OkhUTUxEb2N1
bWVudFBhcnNlcjo6ZW5kICh0aGlzPTB4N2ZmZmRiMDIyZDAwKSBhdCAuLi8uLi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOjM5MwojNDcgMHgwMDAwN2Zm
ZmYyZTc5ZWVhIGluIFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6YXR0ZW1wdFRvUnVuRGVm
ZXJyZWRTY3JpcHRzQW5kRW5kICh0aGlzPTB4N2ZmZmRiMDIyZDAwKQogICAgYXQgLi4vLi4vU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcDo0MDIKIzQ4IDB4
MDAwMDdmZmZmMmU3OGNjYSBpbiBXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnByZXBhcmVU
b1N0b3BQYXJzaW5nICh0aGlzPTB4N2ZmZmRiMDIyZDAwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOjEzMgojNDkgMHgwMDAwN2ZmZmYy
ZTc5ZjI1IGluIFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6YXR0ZW1wdFRvRW5kICh0aGlz
PTB4N2ZmZmRiMDIyZDAwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
RG9jdW1lbnRQYXJzZXIuY3BwOjQxNAojNTAgMHgwMDAwN2ZmZmYyZTc5ZmQ1IGluIFdlYkNvcmU6
OkhUTUxEb2N1bWVudFBhcnNlcjo6ZmluaXNoICh0aGlzPTB4N2ZmZmRiMDIyZDAwKSBhdCAuLi8u
Li9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOjQ0Mgoj
NTEgMHgwMDAwN2ZmZmYyZmVlNDBkIGluIFdlYkNvcmU6OkRvY3VtZW50V3JpdGVyOjplbmQgKHRo
aXM9MHg3ZmZmZGIwMjYxNjApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dFdyaXRlci5jcHA6MjQ3CiM1MiAweDAwMDA3ZmZmZjJmZDkxODMgaW4gV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXI6OmZpbmlzaGVkTG9hZGluZyAodGhpcz0weDdmZmZkYjAyNjBjMCwgZmluaXNoVGlt
ZT0wKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOjQz
NwojNTMgMHgwMDAwN2ZmZmYyZmRhZjRmIGluIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpjb250
aW51ZUFmdGVyQ29udGVudFBvbGljeSAodGhpcz0weDdmZmZkYjAyNjBjMCwgcG9saWN5PVdlYkNv
cmU6OlBvbGljeVVzZSkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHA6NzY1CiM1NCAweDAwMDA3ZmZmZjJmZGE2NmUgaW4gV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQgKHRoaXM9MHg3ZmZmZGIwMjYwYzAsIHJlc291cmNl
PTB4MCwgcmVzcG9uc2U9Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuY3BwOjY3MQojNTUgMHgwMDAwN2ZmZmYyZmQ5NDg1IGluIFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0YUxvYWROb3cgKHRoaXM9MHg3ZmZmZGIwMjYw
YzApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6NDcy
CiM1NiAweDAwMDA3ZmZmZjJmZThmMzcgaW4gc3RkOjpfTWVtX2ZuX2Jhc2U8dm9pZCAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OiopKCksIHRydWU+OjpvcGVyYXRvcigpPCwgdm9pZD4oc3RkOjpf
TWVtX2ZuX2Jhc2U8dm9pZCAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OiopKCksIHRydWU+Ojpf
Q2xhc3MgKikgY29uc3QgKHRoaXM9MHg1MTc4ODAsIF9fb2JqZWN0PTB4N2ZmZmRiMDI2MGMwKSBh
dCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25hbDo2MDAKIzU3IDB4MDAwMDdmZmZmMmZlODM0
YSBpbiBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJDb3JlOjpEb2N1bWVudExvYWRl
cjo6KikoKT4oV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqKT46Ol9fY2FsbDx2b2lkLCAwdWw+KDx1
bmtub3duIHR5cGUgaW4gL2hvbWUvbWFyaW8vd29yay9XZWJLaXQvV2ViS2l0QnVpbGQvRGVidWcv
bGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3LCBDVSAweDAsIERJRSAweDE2YTgzZD4sIHN0ZDo6
X0luZGV4X3R1cGxlPDB1bD4pICh0aGlzPTB4NTE3ODgwLCAKICAgIF9fYXJncz08dW5rbm93biB0
eXBlIGluIC9ob21lL21hcmlvL3dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL0RlYnVnL2xpYi9saWJ3
ZWJraXQyZ3RrLTQuMC5zby4zNywgQ1UgMHgwLCBESUUgMHgxNmE4M2Q+KSBhdCAvdXNyL2luY2x1
ZGUvYysrLzUvZnVuY3Rpb25hbDoxMDc0CiM1OCAweDAwMDA3ZmZmZjJmZTZiMDIgaW4gc3RkOjpf
QmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OiopKCk+KFdl
YkNvcmU6OkRvY3VtZW50TG9hZGVyKik+OjpvcGVyYXRvcigpPCwgdm9pZD4odm9pZCkgKHRoaXM9
MHg1MTc4ODApCiAgICBhdCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25hbDoxMTMzCiM1OSAw
eDAwMDA3ZmZmZjJmZTRiMjMgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIHN0ZDo6
X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjoqKSgpPihX
ZWJDb3JlOjpEb2N1bWVudExvYWRlciopPiA+OjpfTV9pbnZva2UoY29uc3Qgc3RkOjpfQW55X2Rh
dGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjE4
NzEKIzYwIDB4MDAwMDdmZmZmMWViMDYwNiBpbiBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT46Om9wZXJh
dG9yKCkodm9pZCkgY29uc3QgKHRoaXM9MHg3ZmZmZGIwMjZjMzgpIGF0IC91c3IvaW5jbHVkZS9j
KysvNS9mdW5jdGlvbmFsOjIyNzEKIzYxIDB4MDAwMDdmZmZmMWY1MWRhYyBpbiBXZWJDb3JlOjpU
aW1lcjo6ZmlyZWQgKHRoaXM9MHg3ZmZmZGIwMjZjMDApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1RpbWVyLmg6MTMzCiM2MiAweDAwMDA3ZmZmZjMyM2RiYmIgaW4gV2ViQ29yZTo6
VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwgKHRoaXM9MHg3ZmZmZGIzY2Yz
YzApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RocmVhZFRpbWVycy5jcHA6MTIx
CiM2MyAweDAwMDA3ZmZmZjMyM2Q3YWIgaW4gV2ViQ29yZTo6VGhyZWFkVGltZXJzOjo8bGFtYmRh
KCk+OjpvcGVyYXRvcigpKHZvaWQpIGNvbnN0IChfX2Nsb3N1cmU9MHg3ZmZmZjdkZDBmMDggPFdl
YkNvcmU6Ok1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c2luZ2xldG9uKCk6Omluc3RhbmNlKzg+KQoj
NjQgMHgwMDAwN2ZmZmYzMjNkZDZkIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBX
ZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNldFNoYXJlZFRpbWVyKFdlYkNvcmU6OlNoYXJlZFRpbWVy
Kik6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpICgKICAg
IF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjE4NzEKIzY1
IDB4MDAwMDdmZmZmMWViMDYwNiBpbiBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT46Om9wZXJhdG9yKCko
dm9pZCkgY29uc3QgKHRoaXM9MHg3ZmZmZjdkZDBmMDggPFdlYkNvcmU6Ok1haW5UaHJlYWRTaGFy
ZWRUaW1lcjo6c2luZ2xldG9uKCk6Omluc3RhbmNlKzg+KQogICAgYXQgL3Vzci9pbmNsdWRlL2Mr
Ky81L2Z1bmN0aW9uYWw6MjI3MQojNjYgMHgwMDAwN2ZmZmYzMjIxNDQ3IGluIFdlYkNvcmU6Ok1h
aW5UaHJlYWRTaGFyZWRUaW1lcjo6ZmlyZWQgKHRoaXM9MHg3ZmZmZjdkZDBmMDAgPFdlYkNvcmU6
Ok1haW5UaHJlYWRTaGFyZWRUaW1lcjo6c2luZ2xldG9uKCk6Omluc3RhbmNlPikKICAgIGF0IC4u
Ly4uL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01haW5UaHJlYWRTaGFyZWRUaW1lci5jcHA6NTIK
IzY3IDB4MDAwMDdmZmZmMzIyMTZiNiBpbiBXVEY6OlJ1bkxvb3A6OlRpbWVyPFdlYkNvcmU6Ok1h
aW5UaHJlYWRTaGFyZWRUaW1lcj46OmZpcmVkICh0aGlzPTB4N2ZmZmY3ZGQwZjI4IDxXZWJDb3Jl
OjpNYWluVGhyZWFkU2hhcmVkVGltZXI6OnNpbmdsZXRvbigpOjppbnN0YW5jZSs0MD4pCiAgICBh
dCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmg6MTMxCiM2OCAweDAwMDA3ZmZmZWMzZTAy
ZTcgaW4gV1RGOjpSdW5Mb29wOjpUaW1lckJhc2U6OlRpbWVyQmFzZShXVEY6OlJ1bkxvb3AmKTo6
e2xhbWJkYSh2b2lkKikjMX06Om9wZXJhdG9yKCkodm9pZCopIGNvbnN0ICgpIGF0IC4uLy4uL1Nv
dXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjEzMQojNjkgMHgwMDAwN2ZmZmVjM2Uw
MzIzIGluIFdURjo6UnVuTG9vcDo6VGltZXJCYXNlOjpUaW1lckJhc2UoV1RGOjpSdW5Mb29wJik6
OntsYW1iZGEodm9pZCopIzF9OjpfRlVOKHZvaWQqKSAoKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcDoxMzUKIzcwIDB4MDAwMDdmZmZlYzNkZmIwYyBpbiBXVEY6
OjxsYW1iZGEoR1NvdXJjZSosIEdTb3VyY2VGdW5jLCBncG9pbnRlcik+OjpvcGVyYXRvcigpKEdT
b3VyY2UgKiwgR1NvdXJjZUZ1bmMsIGdwb2ludGVyKSBjb25zdCAoX19jbG9zdXJlPTB4MCwgc291
cmNlPTB4NWE4MjUwLCAKICAgIGNhbGxiYWNrPTB4N2ZmZmVjM2UwMzA2IDxXVEY6OlJ1bkxvb3A6
OlRpbWVyQmFzZTo6VGltZXJCYXNlKFdURjo6UnVuTG9vcCYpOjp7bGFtYmRhKHZvaWQqKSMxfTo6
X0ZVTih2b2lkKik+LCAKICAgIHVzZXJEYXRhPTB4N2ZmZmY3ZGQwZjI4IDxXZWJDb3JlOjpNYWlu
VGhyZWFkU2hhcmVkVGltZXI6OnNpbmdsZXRvbigpOjppbnN0YW5jZSs0MD4pIGF0IC4uLy4uL1Nv
dXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjQ0CiM3MSAweDAwMDA3ZmZmZWMzZGZi
M2IgaW4gV1RGOjo8bGFtYmRhKEdTb3VyY2UqLCBHU291cmNlRnVuYywgZ3BvaW50ZXIpPjo6X0ZV
TihHU291cmNlICosIEdTb3VyY2VGdW5jLCBncG9pbnRlcikgKCkgYXQgLi4vLi4vU291cmNlL1dU
Ri93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6NDUKIzcyIDB4MDAwMDdmZmZlOTU1Y2JlYSBpbiBn
X21haW5fZGlzcGF0Y2ggKGNvbnRleHQ9MHg0Njc1MTApIGF0IGdtYWluLmM6MzEyMgojNzMgZ19t
YWluX2NvbnRleHRfZGlzcGF0Y2ggKGNvbnRleHQ9Y29udGV4dEBlbnRyeT0weDQ2NzUxMCkgYXQg
Z21haW4uYzozNzM3CiM3NCAweDAwMDA3ZmZmZTk1NWNmNjggaW4gZ19tYWluX2NvbnRleHRfaXRl
cmF0ZSAoY29udGV4dD0weDQ2NzUxMCwgYmxvY2s9YmxvY2tAZW50cnk9MSwgZGlzcGF0Y2g9ZGlz
cGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdtYWluLmM6MzgwOAojNzUg
MHgwMDAwN2ZmZmU5NTVkMjgyIGluIGdfbWFpbl9sb29wX3J1biAobG9vcD0weGFmNDQyMCkgYXQg
Z21haW4uYzo0MDAyCiM3NiAweDAwMDA3ZmZmZWMzZTAxMDQgaW4gV1RGOjpSdW5Mb29wOjpydW4g
KCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTQKIzc3IDB4
MDAwMDdmZmZmMjQ1MDI3OSBpbiBXZWJLaXQ6OkNoaWxkUHJvY2Vzc01haW48V2ViS2l0OjpXZWJQ
cm9jZXNzLCBXZWJLaXQ6OldlYlByb2Nlc3NNYWluPiAoYXJnYz0yLCBhcmd2PTB4N2ZmZmZmZmZk
NTg4KQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvU2hhcmVkL3VuaXgvQ2hpbGRQcm9jZXNz
TWFpbi5oOjYxCiM3OCAweDAwMDA3ZmZmZjI0NTAwZTAgaW4gV2ViS2l0OjpXZWJQcm9jZXNzTWFp
blVuaXggKGFyZ2M9MiwgYXJndj0weDdmZmZmZmZmZDU4OCkgYXQgLi4vLi4vU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwOjc3CiM3OSAweDAwMDAwMDAw
MDA0MDBjNmEgaW4gbWFpbiAoYXJnYz0yLCBhcmd2PTB4N2ZmZmZmZmZkNTg4KSBhdCAuLi8uLi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvdW5peC9XZWJQcm9jZXNzTWFpbi5j
cHA6NDQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265372</attachid>
            <date>2015-11-12 01:42:15 -0800</date>
            <delta_ts>2015-11-12 03:07:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-reparent-crash.diff</filename>
            <type>text/plain</type>
            <size>10881</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5ZTEyNDlhLi5hODI0ZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAg
QEAKKzIwMTUtMTEtMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdlYiBQcm9jZXNzIGNyYXNoZXMgb24gcmVwYXJlbnRpbmcgYSBX
ZWJWaWV3IHdpdGggQUMgbW9kZSBvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUxMTM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2hlbiB0aGUgd2ViIHZpZXcgaXMgcmVwYXJlbnRlZCwgdGhlIHdpZGdl
dCBpcyBmaXJzdCB1bnJlYWxpemVkLAorICAgICAgICBhbmQgdGhlbiByZWFsaXplZCBhZ2FpbiB3
aGVuIGFkZGVkIHRvIHRoZSBuZXcgcGFyZW50LiBJbiB0aGUKKyAgICAgICAgc2Vjb25kIHJlYWxp
emUsIHRoZSBvbGQgcmVkaXJlY3RlZCBYQ29tcG9zaXRlIHdpbmRvdyBpcyBkZXN0cm95ZWQKKyAg
ICAgICAgYW5kIGEgbmV3IG9uZSBpcyBjcmVhdGVkLCBidXQgdGhlIHdlYiBwcm9jZXNzIGlzIHN0
aWxsIHVzaW5nIHRoZQorICAgICAgICBvbGQgcmVkaXJlY3RlZCB3aW5kb3cgSUQuIEFzIHNvb24g
YXMgdGhlIHJlZGlyZWN0ZWQgd2luZG93IGlzCisgICAgICAgIGRlc3Ryb3llZCBhbmQgdGhlIHdl
YiBwcm9jZXNzIHRyaWVzIHRvIHVzZSB0aGUgd2luZG93IElELCBpdAorICAgICAgICBjcmFzaGVz
IGR1ZSB0byBhIEJhZERyYXdhYmxlIFggZXJyb3IuIFdlIGhhdmUgdG8gbm90aWZ5IHRoZSB3ZWIK
KyAgICAgICAgcHJvY2VzcyBhcyBzb29uIGFzIHRoZSB3ZWIgdmlldyBpcyB1bnJlYWxpemVkIHRv
IHN0b3AgdXNpbmcgdGhlCisgICAgICAgIGN1cnJlbnQgd2luZG93IElEIGFuZCBleGl0IGFjY2Vs
ZXJhdGVkIGNvbXBvc2l0aW5nIG1vZGUgdW50aWwgYQorICAgICAgICBuZXcgd2luZG93IElEIGlz
IGdpdmVuLiBUaGlzIG5vdGlmaWNhdGlvbiBuZWVkcyB0byBiZSBzeW5jaHJvbm91cywKKyAgICAg
ICAgYmVjYXVzZSB0aGUgd2luZG93IGNhbiBiZSBkZXN0cm95ZWQgaW4gdGhlIFVJIHByb2Nlc3Mg
YmVmb3JlIHRoZQorICAgICAgICBtZXNzYWdlIGlzIHJlY2VpdmVkIGluIHRoZSB3ZWIgcHJvY2Vz
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZSk6IEFkZCBhbiBhc3NlcnQgdG8gZW5z
dXJlIHdlIG5ldmVyIGhhdmUKKyAgICAgICAgYSByZWRpcmVjdGVkIHdpbmRvdyB3aGVuIHRoZSB2
aWV3IGlzIHJlYWxpemVkLiBBbHNvIGNoZWNrIGRyYXdpbmcKKyAgICAgICAgYXJlYSBpcyBub3Qg
bnVsbHB0ciwgc2luY2UgaXQgY2FuIGJlIGRlc3Ryb3llZCBhdCBhbnkgdGltZSBpZiB0aGUKKyAg
ICAgICAgd2ViIHByb2Nlc3MgY3Jhc2hlcy4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlVW5y
ZWFsaXplKTogQ2FsbAorICAgICAgICBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGVzdHJveU5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpCisgICAgICAgIGFuZCBkZXN0cm95IHRoZSBy
ZWRpcmVjdGVkIFhDb21wb3NpdGUgd2luZG93LgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBs
OjpkZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgU2Vu
ZCBEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nIHN5bmNocm9ub3VzIG1l
c3NzYWdlCisgICAgICAgIHRvIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVz
c2FnZXMuaW46IEFkZAorICAgICAgICBEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBv
c2l0aW5nIG1lc3NhZ2UuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6ZGVzdHJveU5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6CisgICAgICAgIFNldCB0aGUgbmF0aXZlIHN1
cmZhY2UgaGFuZGxlciBmb3IgY29tcG9zaXRpbmcgdG8gMCB0byByZXNldCBpdC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdEd0azo6bWFrZUNvbnRleHRDdXJyZW50KTogUmV0dXJuIGZhbHNlCisgICAg
ICAgIGVhcmx5IGFsd2F5cyB3aGVuIGxheWVyIHRyZWUgY29udGV4dCBJRCBpcyAwLCBldmVuIGlm
IHdlIGFscmVhZHkKKyAgICAgICAgaGF2ZSBhIGNvbnRleHQuCisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6Cisg
ICAgICAgIENhbmNlbCBhbnkgcGVuZGluZyBsYXllciBmbHVzaCB3aGVuIHNldHRpbmcgYSBuZXcg
aGFuZGxlci4KKwogMjAxNS0xMS0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUnVudGltZSBjcml0aWNhbCB3YXJuaW5ncyB3aGVu
IGNsb3NpbmcgYSBwYWdlIGNvbnRhaW5pbmcgd2luZG93ZWQgcGx1Z2lucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmlu
ZGV4IDExOTRhOTcuLjBjODk5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKQEAgLTI4MCw2ICsyODAsNyBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUoR3RrV2lkZ2V0KiB3aWRnZXQpCiAK
ICNpZiBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKICAgICBpZiAoUGxhdGZvcm1E
aXNwbGF5OjpzaGFyZWREaXNwbGF5KCkudHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6VHlwZTo6
WDExKSB7CisgICAgICAgIEFTU0VSVCghcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyk7CiAgICAgICAg
IHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgPSBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3Jl
YXRlKAogICAgICAgICAgICAgZ3RrX3dpZGdldF9nZXRfcGFyZW50X3dpbmRvdyh3aWRnZXQpLAog
ICAgICAgICAgICAgW3dlYlZpZXddIHsKQEAgLTI4OCw4ICsyODksOCBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUoR3RrV2lkZ2V0KiB3aWRnZXQpCiAgICAgICAgICAgICAg
ICAgICAgIGd0a193aWRnZXRfcXVldWVfZHJhdyhHVEtfV0lER0VUKHdlYlZpZXcpKTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICBpZiAocHJpdi0+cmVkaXJlY3RlZFdpbmRvdykgewotICAgICAg
ICAgICAgRHJhd2luZ0FyZWFQcm94eUltcGwqIGRyYXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8RHJh
d2luZ0FyZWFQcm94eUltcGwqPihwcml2LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpOwotICAg
ICAgICAgICAgZHJhd2luZ0FyZWEtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGlu
Zyhwcml2LT5yZWRpcmVjdGVkV2luZG93LT53aW5kb3dJRCgpKTsKKyAgICAgICAgICAgIGlmIChE
cmF3aW5nQXJlYVByb3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJl
YVByb3h5SW1wbCo+KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSkpCisgICAgICAgICAg
ICAgICAgZHJhd2luZ0FyZWEtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhw
cml2LT5yZWRpcmVjdGVkV2luZG93LT53aW5kb3dJRCgpKTsKICAgICAgICAgfQogICAgIH0KICNl
bmRpZgpAQCAtMzI5LDggKzMzMCw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlUmVh
bGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKICAgICBnZGtfd2luZG93X3NldF91c2VyX2RhdGEod2lu
ZG93LCB3aWRnZXQpOwogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBQTEFURk9STShYMTEp
ICYmICFVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLSAgICBEcmF3aW5nQXJlYVBy
b3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5SW1wbCo+
KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSk7Ci0gICAgZHJhd2luZ0FyZWEtPnNldE5h
dGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhHREtfV0lORE9XX1hJRCh3aW5kb3cpKTsK
KyAgICBpZiAoRHJhd2luZ0FyZWFQcm94eUltcGwqIGRyYXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8
RHJhd2luZ0FyZWFQcm94eUltcGwqPihwcml2LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpKQor
ICAgICAgICBkcmF3aW5nQXJlYS0+c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5n
KEdES19XSU5ET1dfWElEKHdpbmRvdykpOwogI2VuZGlmCiAKICAgICBndGtfc3R5bGVfY29udGV4
dF9zZXRfYmFja2dyb3VuZChndGtfd2lkZ2V0X2dldF9zdHlsZV9jb250ZXh0KHdpZGdldCksIHdp
bmRvdyk7CkBAIC0zNDUsNiArMzQ2LDEzIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNl
UmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNl
VW5yZWFsaXplKEd0a1dpZGdldCogd2lkZ2V0KQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3
ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2lkZ2V0KTsKKyNpZiBVU0UoVEVYVFVSRV9N
QVBQRVIpICYmIFBMQVRGT1JNKFgxMSkKKyAgICBpZiAoRHJhd2luZ0FyZWFQcm94eUltcGwqIGRy
YXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8RHJhd2luZ0FyZWFQcm94eUltcGwqPih3ZWJWaWV3LT5w
cml2LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpKQorICAgICAgICBkcmF3aW5nQXJlYS0+ZGVz
dHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpOworI2VuZGlmCisjaWYgVVNF
KFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCisgICAgd2ViVmlldy0+cHJpdi0+cmVkaXJl
Y3RlZFdpbmRvdyA9IG51bGxwdHI7CisjZW5kaWYKICAgICBndGtfaW1fY29udGV4dF9zZXRfY2xp
ZW50X3dpbmRvdyh3ZWJWaWV3LT5wcml2LT5pbnB1dE1ldGhvZEZpbHRlci5jb250ZXh0KCksIG51
bGxwdHIpOwogCiAgICAgR1RLX1dJREdFVF9DTEFTUyh3ZWJraXRfd2ViX3ZpZXdfYmFzZV9wYXJl
bnRfY2xhc3MpLT51bnJlYWxpemUod2lkZ2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IGFiYTlkZWIuLmViMTQxOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNw
cApAQCAtMzE0LDYgKzMxNCwxMiBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpzZXROYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QgaGFuZGxlKQogewogICAgIG1f
d2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6U2V0TmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKGhhbmRsZSksIG1fd2ViUGFnZVByb3h5LnBh
Z2VJRCgpKTsKIH0KKwordm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGVzdHJveU5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpCit7CisgICAgYm9vbCBoYW5kbGVkOworICAgIG1f
d2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kU3luYyhNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkRl
c3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKSwgTWVzc2FnZXM6OkRyYXdp
bmdBcmVhOjpEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nOjpSZXBseSho
YW5kbGVkKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOworfQogI2VuZGlmCiAKIHZvaWQgRHJh
d2luZ0FyZWFQcm94eUltcGw6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCmluZGV4IDE5
ZjQzNGYuLjNkYzllZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5oCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShURVhU
VVJFX01BUFBFUikgJiYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhh
bmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90KTsKKyAgICB2b2lkIGRlc3Ryb3lOYXRpdmVTdXJm
YWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAppbmRleCBiZTI2MDEw
Li44OWUxMjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaApAQCAtMTUxLDYgKzE1MSwxMCBAQCBwcml2YXRlOgogICAgIC8vIElQQzo6TWVz
c2FnZVJlY2VpdmVyLgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgb3ZlcnJpZGU7CiAKKyNpZiBVU0UoVEVY
VFVSRV9NQVBQRVIpICYmIFBMQVRGT1JNKEdUSykKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2
ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImLCBzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4mKSBvdmVycmlkZTsKKyNlbmRpZgorCiAg
ICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KICAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIHB1
cmUgdmlydHVhbC4KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWlu
dDY0X3QgLypiYWNraW5nU3RvcmVTdGF0ZUlEKi8sIGJvb2wgLypyZXNwb25kSW1tZWRpYXRlbHkq
LywgZmxvYXQgLypkZXZpY2VTY2FsZUZhY3RvciovLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiAv
KnNpemUqLywgCkBAIC0xNzAsNiArMTc0LDcgQEAgcHJpdmF0ZToKIAogI2lmIFVTRShURVhUVVJF
X01BUFBFUikgJiYgUExBVEZPUk0oR1RLKQogICAgIHZpcnR1YWwgdm9pZCBzZXROYXRpdmVTdXJm
YWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhib29sJikgPSAwOwogI2Vu
ZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KaW5kZXggOGQ5NzkzYy4uOTA5NzcxZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YS5tZXNzYWdlcy5pbgpAQCAtNDIsNSArNDIsNiBAQCBtZXNzYWdlcyAtPiBEcmF3aW5nQXJlYSB7
CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIFBMQVRGT1JNKEdUSykKICAgICBTZXROYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QgaGFuZGxlKQorICAgIERlc3Ry
b3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKSAtPiAoYm9vbCBoYW5kbGVkKQog
I2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDkyOTY3MmUuLjA5M2E1MDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCkBA
IC02OTksNiArNjk5LDEyIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjpzZXROYXRpdmVTdXJmYWNl
SGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QgaGFuZGxlKQogICAgICAgICBtX2xheWVyVHJl
ZUhvc3QtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhoYW5kbGUpOwogICAg
IH0KIH0KKwordm9pZCBEcmF3aW5nQXJlYUltcGw6OmRlc3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxl
Rm9yQ29tcG9zaXRpbmcoYm9vbCYgaGFuZGxlZCkKK3sKKyAgICBoYW5kbGVkID0gdHJ1ZTsKKyAg
ICBzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoMCk7Cit9CiAjZW5kaWYKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggMTMwY2QyNi4uOGNhZDFjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwu
aApAQCAtNzIsNiArNzIsNyBAQCBwcml2YXRlOgogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAm
JiBQTEFURk9STShHVEspCiAgICAgdmlydHVhbCB2b2lkIHNldE5hdGl2ZVN1cmZhY2VIYW5kbGVG
b3JDb21wb3NpdGluZyh1aW50NjRfdCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRlc3Ry
b3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoYm9vbCYpIG92ZXJyaWRlOwogI2Vu
ZGlmCiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVMVElQUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0
R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVl
SG9zdEd0ay5jcHAKaW5kZXggNDkyMDg1MC4uNjE2NzUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3Bw
CkBAIC0xNDUsMTAgKzE0NSwxMCBAQCBMYXllclRyZWVIb3N0R3RrOjpMYXllclRyZWVIb3N0R3Rr
KFdlYlBhZ2UqIHdlYlBhZ2UpCiAKIGJvb2wgTGF5ZXJUcmVlSG9zdEd0azo6bWFrZUNvbnRleHRD
dXJyZW50KCkKIHsKLSAgICBpZiAoIW1fY29udGV4dCkgewotICAgICAgICBpZiAoIW1fbGF5ZXJU
cmVlQ29udGV4dC5jb250ZXh0SUQpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KCFtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAK
KyAgICBpZiAoIW1fY29udGV4dCkgewogICAgICAgICBtX2NvbnRleHQgPSBHTENvbnRleHQ6OmNy
ZWF0ZUNvbnRleHRGb3JXaW5kb3cocmVpbnRlcnByZXRfY2FzdDxHTE5hdGl2ZVdpbmRvd1R5cGU+
KG1fbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQpLCBHTENvbnRleHQ6OnNoYXJpbmdDb250ZXh0
KCkpOwogICAgICAgICBpZiAoIW1fY29udGV4dCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
QEAgLTQxNiw2ICs0MTYsNyBAQCB2b2lkIExheWVyVHJlZUhvc3RHdGs6OnNldFZpZXdPdmVybGF5
Um9vdExheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIHZpZXdPdmVybAogCiB2b2lkIExheWVy
VHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRf
dCBoYW5kbGUpCiB7CisgICAgY2FuY2VsUGVuZGluZ0xheWVyRmx1c2goKTsKICAgICBtX2xheWVy
VHJlZUNvbnRleHQuY29udGV4dElEID0gaGFuZGxlOwogCiAgICAgLy8gVGhlIGNyZWF0aW9uIG9m
IHRoZSBUZXh0dXJlTWFwcGVyIG5lZWRzIGFuIGFjdGl2ZSBPcGVuR0wgY29udGV4dC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265374</attachid>
            <date>2015-11-12 03:07:53 -0800</date>
            <delta_ts>2015-11-16 00:48:19 -0800</delta_ts>
            <desc>Try to fix builds</desc>
            <filename>wk2-reparent-crash.diff</filename>
            <type>text/plain</type>
            <size>10671</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5ZTEyNDlhLi5hODI0ZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAg
QEAKKzIwMTUtMTEtMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdlYiBQcm9jZXNzIGNyYXNoZXMgb24gcmVwYXJlbnRpbmcgYSBX
ZWJWaWV3IHdpdGggQUMgbW9kZSBvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUxMTM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2hlbiB0aGUgd2ViIHZpZXcgaXMgcmVwYXJlbnRlZCwgdGhlIHdpZGdl
dCBpcyBmaXJzdCB1bnJlYWxpemVkLAorICAgICAgICBhbmQgdGhlbiByZWFsaXplZCBhZ2FpbiB3
aGVuIGFkZGVkIHRvIHRoZSBuZXcgcGFyZW50LiBJbiB0aGUKKyAgICAgICAgc2Vjb25kIHJlYWxp
emUsIHRoZSBvbGQgcmVkaXJlY3RlZCBYQ29tcG9zaXRlIHdpbmRvdyBpcyBkZXN0cm95ZWQKKyAg
ICAgICAgYW5kIGEgbmV3IG9uZSBpcyBjcmVhdGVkLCBidXQgdGhlIHdlYiBwcm9jZXNzIGlzIHN0
aWxsIHVzaW5nIHRoZQorICAgICAgICBvbGQgcmVkaXJlY3RlZCB3aW5kb3cgSUQuIEFzIHNvb24g
YXMgdGhlIHJlZGlyZWN0ZWQgd2luZG93IGlzCisgICAgICAgIGRlc3Ryb3llZCBhbmQgdGhlIHdl
YiBwcm9jZXNzIHRyaWVzIHRvIHVzZSB0aGUgd2luZG93IElELCBpdAorICAgICAgICBjcmFzaGVz
IGR1ZSB0byBhIEJhZERyYXdhYmxlIFggZXJyb3IuIFdlIGhhdmUgdG8gbm90aWZ5IHRoZSB3ZWIK
KyAgICAgICAgcHJvY2VzcyBhcyBzb29uIGFzIHRoZSB3ZWIgdmlldyBpcyB1bnJlYWxpemVkIHRv
IHN0b3AgdXNpbmcgdGhlCisgICAgICAgIGN1cnJlbnQgd2luZG93IElEIGFuZCBleGl0IGFjY2Vs
ZXJhdGVkIGNvbXBvc2l0aW5nIG1vZGUgdW50aWwgYQorICAgICAgICBuZXcgd2luZG93IElEIGlz
IGdpdmVuLiBUaGlzIG5vdGlmaWNhdGlvbiBuZWVkcyB0byBiZSBzeW5jaHJvbm91cywKKyAgICAg
ICAgYmVjYXVzZSB0aGUgd2luZG93IGNhbiBiZSBkZXN0cm95ZWQgaW4gdGhlIFVJIHByb2Nlc3Mg
YmVmb3JlIHRoZQorICAgICAgICBtZXNzYWdlIGlzIHJlY2VpdmVkIGluIHRoZSB3ZWIgcHJvY2Vz
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZSk6IEFkZCBhbiBhc3NlcnQgdG8gZW5z
dXJlIHdlIG5ldmVyIGhhdmUKKyAgICAgICAgYSByZWRpcmVjdGVkIHdpbmRvdyB3aGVuIHRoZSB2
aWV3IGlzIHJlYWxpemVkLiBBbHNvIGNoZWNrIGRyYXdpbmcKKyAgICAgICAgYXJlYSBpcyBub3Qg
bnVsbHB0ciwgc2luY2UgaXQgY2FuIGJlIGRlc3Ryb3llZCBhdCBhbnkgdGltZSBpZiB0aGUKKyAg
ICAgICAgd2ViIHByb2Nlc3MgY3Jhc2hlcy4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlVW5y
ZWFsaXplKTogQ2FsbAorICAgICAgICBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGVzdHJveU5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpCisgICAgICAgIGFuZCBkZXN0cm95IHRoZSBy
ZWRpcmVjdGVkIFhDb21wb3NpdGUgd2luZG93LgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBs
OjpkZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgU2Vu
ZCBEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nIHN5bmNocm9ub3VzIG1l
c3NzYWdlCisgICAgICAgIHRvIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVz
c2FnZXMuaW46IEFkZAorICAgICAgICBEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBv
c2l0aW5nIG1lc3NhZ2UuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6ZGVzdHJveU5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6CisgICAgICAgIFNldCB0aGUgbmF0aXZlIHN1
cmZhY2UgaGFuZGxlciBmb3IgY29tcG9zaXRpbmcgdG8gMCB0byByZXNldCBpdC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdEd0azo6bWFrZUNvbnRleHRDdXJyZW50KTogUmV0dXJuIGZhbHNlCisgICAg
ICAgIGVhcmx5IGFsd2F5cyB3aGVuIGxheWVyIHRyZWUgY29udGV4dCBJRCBpcyAwLCBldmVuIGlm
IHdlIGFscmVhZHkKKyAgICAgICAgaGF2ZSBhIGNvbnRleHQuCisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6Cisg
ICAgICAgIENhbmNlbCBhbnkgcGVuZGluZyBsYXllciBmbHVzaCB3aGVuIHNldHRpbmcgYSBuZXcg
aGFuZGxlci4KKwogMjAxNS0xMS0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUnVudGltZSBjcml0aWNhbCB3YXJuaW5ncyB3aGVu
IGNsb3NpbmcgYSBwYWdlIGNvbnRhaW5pbmcgd2luZG93ZWQgcGx1Z2lucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmlu
ZGV4IDExOTRhOTcuLjBjODk5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKQEAgLTI4MCw2ICsyODAsNyBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUoR3RrV2lkZ2V0KiB3aWRnZXQpCiAK
ICNpZiBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKICAgICBpZiAoUGxhdGZvcm1E
aXNwbGF5OjpzaGFyZWREaXNwbGF5KCkudHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6VHlwZTo6
WDExKSB7CisgICAgICAgIEFTU0VSVCghcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyk7CiAgICAgICAg
IHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgPSBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3Jl
YXRlKAogICAgICAgICAgICAgZ3RrX3dpZGdldF9nZXRfcGFyZW50X3dpbmRvdyh3aWRnZXQpLAog
ICAgICAgICAgICAgW3dlYlZpZXddIHsKQEAgLTI4OCw4ICsyODksOCBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUoR3RrV2lkZ2V0KiB3aWRnZXQpCiAgICAgICAgICAgICAg
ICAgICAgIGd0a193aWRnZXRfcXVldWVfZHJhdyhHVEtfV0lER0VUKHdlYlZpZXcpKTsKICAgICAg
ICAgICAgIH0pOwogICAgICAgICBpZiAocHJpdi0+cmVkaXJlY3RlZFdpbmRvdykgewotICAgICAg
ICAgICAgRHJhd2luZ0FyZWFQcm94eUltcGwqIGRyYXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8RHJh
d2luZ0FyZWFQcm94eUltcGwqPihwcml2LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpOwotICAg
ICAgICAgICAgZHJhd2luZ0FyZWEtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGlu
Zyhwcml2LT5yZWRpcmVjdGVkV2luZG93LT53aW5kb3dJRCgpKTsKKyAgICAgICAgICAgIGlmIChE
cmF3aW5nQXJlYVByb3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJl
YVByb3h5SW1wbCo+KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSkpCisgICAgICAgICAg
ICAgICAgZHJhd2luZ0FyZWEtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhw
cml2LT5yZWRpcmVjdGVkV2luZG93LT53aW5kb3dJRCgpKTsKICAgICAgICAgfQogICAgIH0KICNl
bmRpZgpAQCAtMzI5LDggKzMzMCw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlUmVh
bGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKICAgICBnZGtfd2luZG93X3NldF91c2VyX2RhdGEod2lu
ZG93LCB3aWRnZXQpOwogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBQTEFURk9STShYMTEp
ICYmICFVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLSAgICBEcmF3aW5nQXJlYVBy
b3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5SW1wbCo+
KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSk7Ci0gICAgZHJhd2luZ0FyZWEtPnNldE5h
dGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhHREtfV0lORE9XX1hJRCh3aW5kb3cpKTsK
KyAgICBpZiAoRHJhd2luZ0FyZWFQcm94eUltcGwqIGRyYXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8
RHJhd2luZ0FyZWFQcm94eUltcGwqPihwcml2LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpKQor
ICAgICAgICBkcmF3aW5nQXJlYS0+c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5n
KEdES19XSU5ET1dfWElEKHdpbmRvdykpOwogI2VuZGlmCiAKICAgICBndGtfc3R5bGVfY29udGV4
dF9zZXRfYmFja2dyb3VuZChndGtfd2lkZ2V0X2dldF9zdHlsZV9jb250ZXh0KHdpZGdldCksIHdp
bmRvdyk7CkBAIC0zNDUsNiArMzQ2LDEzIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNl
UmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNl
VW5yZWFsaXplKEd0a1dpZGdldCogd2lkZ2V0KQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3
ZWJWaWV3ID0gV0VCS0lUX1dFQl9WSUVXX0JBU0Uod2lkZ2V0KTsKKyNpZiBVU0UoVEVYVFVSRV9N
QVBQRVIpICYmIFBMQVRGT1JNKFgxMSkKKyAgICBpZiAoRHJhd2luZ0FyZWFQcm94eUltcGwqIGRy
YXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8RHJhd2luZ0FyZWFQcm94eUltcGwqPih3ZWJWaWV3LT5w
cml2LT5wYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpKQorICAgICAgICBkcmF3aW5nQXJlYS0+ZGVz
dHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpOworI2VuZGlmCisjaWYgVVNF
KFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCisgICAgd2ViVmlldy0+cHJpdi0+cmVkaXJl
Y3RlZFdpbmRvdyA9IG51bGxwdHI7CisjZW5kaWYKICAgICBndGtfaW1fY29udGV4dF9zZXRfY2xp
ZW50X3dpbmRvdyh3ZWJWaWV3LT5wcml2LT5pbnB1dE1ldGhvZEZpbHRlci5jb250ZXh0KCksIG51
bGxwdHIpOwogCiAgICAgR1RLX1dJREdFVF9DTEFTUyh3ZWJraXRfd2ViX3ZpZXdfYmFzZV9wYXJl
bnRfY2xhc3MpLT51bnJlYWxpemUod2lkZ2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IGFiYTlkZWIuLmViMTQxOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNw
cApAQCAtMzE0LDYgKzMxNCwxMiBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpzZXROYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QgaGFuZGxlKQogewogICAgIG1f
d2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6U2V0TmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKGhhbmRsZSksIG1fd2ViUGFnZVByb3h5LnBh
Z2VJRCgpKTsKIH0KKwordm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGVzdHJveU5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpCit7CisgICAgYm9vbCBoYW5kbGVkOworICAgIG1f
d2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kU3luYyhNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkRl
c3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKSwgTWVzc2FnZXM6OkRyYXdp
bmdBcmVhOjpEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nOjpSZXBseSho
YW5kbGVkKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOworfQogI2VuZGlmCiAKIHZvaWQgRHJh
d2luZ0FyZWFQcm94eUltcGw6OmV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oCmluZGV4IDE5
ZjQzNGYuLjNkYzllZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5oCkBAIC01MCw2ICs1MCw3IEBAIHB1YmxpYzoKIAogI2lmIFVTRShURVhU
VVJFX01BUFBFUikgJiYgUExBVEZPUk0oR1RLKQogICAgIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhh
bmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90KTsKKyAgICB2b2lkIGRlc3Ryb3lOYXRpdmVTdXJm
YWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAppbmRleCBiZTI2MDEw
Li4zY2VhNTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaApAQCAtMTUwLDYgKzE1MCw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAg
Ly8gSVBDOjpNZXNzYWdlUmVjZWl2ZXIuCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6TWVzc2FnZURlY29kZXImKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQ
Qzo6TWVzc2FnZURlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4m
KSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgLy8gRklYTUU6IFRo
ZXNlIHNob3VsZCBiZSBwdXJlIHZpcnR1YWwuCkBAIC0xNzAsNiArMTcxLDcgQEAgcHJpdmF0ZToK
IAogI2lmIFVTRShURVhUVVJFX01BUFBFUikgJiYgUExBVEZPUk0oR1RLKQogICAgIHZpcnR1YWwg
dm9pZCBzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QpID0gMDsK
KyAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGlu
Zyhib29sJikgPSAwOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KaW5kZXggOGQ5Nzkz
Yy4uOTA5NzcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5tZXNzYWdlcy5pbgpAQCAtNDIsNSArNDIsNiBAQCBtZXNzYWdl
cyAtPiBEcmF3aW5nQXJlYSB7CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIFBMQVRGT1JN
KEdUSykKICAgICBTZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3Qg
aGFuZGxlKQorICAgIERlc3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoKSAt
PiAoYm9vbCBoYW5kbGVkKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IDkyOTY3MmUuLjA5M2E1
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwCkBAIC02OTksNiArNjk5LDEyIEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBs
OjpzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QgaGFuZGxlKQog
ICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3Np
dGluZyhoYW5kbGUpOwogICAgIH0KIH0KKwordm9pZCBEcmF3aW5nQXJlYUltcGw6OmRlc3Ryb3lO
YXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoYm9vbCYgaGFuZGxlZCkKK3sKKyAgICBo
YW5kbGVkID0gdHJ1ZTsKKyAgICBzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmco
MCk7Cit9CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggMTMwY2Qy
Ni4uOGNhZDFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuaApAQCAtNzIsNiArNzIsNyBAQCBwcml2YXRlOgogCiAjaWYgVVNF
KFRFWFRVUkVfTUFQUEVSKSAmJiBQTEFURk9STShHVEspCiAgICAgdmlydHVhbCB2b2lkIHNldE5h
dGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdCkgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCB2b2lkIGRlc3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoYm9v
bCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfTVVM
VElQUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKaW5kZXggNDkyMDg1MC4uNjE2NzUwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVI
b3N0R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xh
eWVyVHJlZUhvc3RHdGsuY3BwCkBAIC0xNDUsMTAgKzE0NSwxMCBAQCBMYXllclRyZWVIb3N0R3Rr
OjpMYXllclRyZWVIb3N0R3RrKFdlYlBhZ2UqIHdlYlBhZ2UpCiAKIGJvb2wgTGF5ZXJUcmVlSG9z
dEd0azo6bWFrZUNvbnRleHRDdXJyZW50KCkKIHsKLSAgICBpZiAoIW1fY29udGV4dCkgewotICAg
ICAgICBpZiAoIW1fbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKCFtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIW1fY29udGV4dCkgewogICAgICAgICBtX2NvbnRl
eHQgPSBHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3cocmVpbnRlcnByZXRfY2FzdDxH
TE5hdGl2ZVdpbmRvd1R5cGU+KG1fbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQpLCBHTENvbnRl
eHQ6OnNoYXJpbmdDb250ZXh0KCkpOwogICAgICAgICBpZiAoIW1fY29udGV4dCkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTQxNiw2ICs0MTYsNyBAQCB2b2lkIExheWVyVHJlZUhvc3RH
dGs6OnNldFZpZXdPdmVybGF5Um9vdExheWVyKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqIHZpZXdP
dmVybAogCiB2b2lkIExheWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JD
b21wb3NpdGluZyh1aW50NjRfdCBoYW5kbGUpCiB7CisgICAgY2FuY2VsUGVuZGluZ0xheWVyRmx1
c2goKTsKICAgICBtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0gaGFuZGxlOwogCiAgICAg
Ly8gVGhlIGNyZWF0aW9uIG9mIHRoZSBUZXh0dXJlTWFwcGVyIG5lZWRzIGFuIGFjdGl2ZSBPcGVu
R0wgY29udGV4dC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>265387</attachid>
            <date>2015-11-12 07:25:14 -0800</date>
            <delta_ts>2015-11-12 07:25:14 -0800</delta_ts>
            <desc>Backtrace for the WebProcess with Carlos&apos;s patch</desc>
            <filename>backtrace-with-ASSERT.txt</filename>
            <type>text/plain</type>
            <size>28890</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">ClRocmVhZCAxMyAoVGhyZWFkIDB4N2ZmZjdkN2ZhNzAwIChMV1AgMTgzMjkpKToKIzAgIHB0aHJl
YWRfY29uZF93YWl0QEBHTElCQ18yLjMuMiAoKSBhdCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2
L2xpbnV4L3g4Nl82NC9wdGhyZWFkX2NvbmRfd2FpdC5TOjE4NQojMSAgMHgwMDAwN2ZmZmU1ZTgw
NjljIGluIF9fZ3RocmVhZF9jb25kX3dhaXQgKF9fbXV0ZXg9PG9wdGltaXplZCBvdXQ+LCBfX2Nv
bmQ9PG9wdGltaXplZCBvdXQ+KSBhdCAvYnVpbGQvZ2NjLTUtSE4zVXBFL2djYy01LTUuMi4xL2J1
aWxkL3g4Nl82NC1saW51eC1nbnUvbGlic3RkYysrLXYzL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdu
dS9iaXRzL2d0aHItZGVmYXVsdC5oOjg2NAojMiAgc3RkOjpjb25kaXRpb25fdmFyaWFibGU6Ondh
aXQgKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBfX2xvY2s9Li4uKSBhdCAuLi8uLi8uLi8uLi8uLi9z
cmMvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb25kaXRpb25fdmFyaWFibGUuY2M6NTMKIzMgIDB4
MDAwMDdmZmZlYzNhMDQyNCBpbiBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5KGNv
bnN0IHZvaWQgKiwgc3RkOjpmdW5jdGlvbjxib29sKCk+LCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4s
IHN0ZDo6Y2hyb25vOjpfVjI6OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCkgKGFkZHJlc3M9MHg3
ZmZmZGIzZWMxYzUsIHZhbGlkYXRpb249Li4uLCBiZWZvcmVTbGVlcD0uLi4sIHRpbWVvdXQ9Li4u
KQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFya2luZ0xvdC5jcHA6NTQ3CiM0ICAweDAw
MDA3ZmZmZjI1YWFmOTMgaW4gV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2Nr
PiAodGhpcz0weDdmZmZkYjNlYzFjNSwgbG9jaz0uLi4sIHRpbWVvdXQ9Li4uKSBhdCAuLi8uLi9T
b3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaDo3NAojNSAgMHgwMDAwN2ZmZmYyNWE5ZmMxIGluIFdU
Rjo6Q29uZGl0aW9uQmFzZTo6d2FpdDxXVEY6OkxvY2s+ICh0aGlzPTB4N2ZmZmRiM2VjMWM1LCBs
b2NrPS4uLikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvQ29uZGl0aW9uLmg6MTEzCiM2ICAweDAw
MDA3ZmZmZWMzOWUyYWEgaW4gV1RGOjpQYXJhbGxlbEhlbHBlclBvb2w6OndhaXRGb3JDbGllbnRX
aXRoVGFzayAodGhpcz0weDdmZmZkYjNlYzFjMCwgbG9ja2VyPS4uLikgYXQgLi4vLi4vU291cmNl
L1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNwcDoyMzYKIzcgIDB4MDAwMDdmZmZlYzM5ZGZk
ZiBpbiBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6aGVscGVyVGhyZWFkQm9keSAodGhpcz0weDdm
ZmZkYjNlYzFjMCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNw
cDoxODkKIzggIDB4MDAwMDdmZmZlYzM5ZGVlMyBpbiBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6
PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAoX19jbG9zdXJlPTB4N2ZmZjdkN2Y5
YjUwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbEhlbHBlclBvb2wuY3BwOjE3NAoj
OSAgMHgwMDAwN2ZmZmVjMzllM2MzIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBX
VEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6ZGlkTWFrZVdvcmtBdmFpbGFibGUoY29uc3QgTG9ja0hv
bGRlciYpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKSAo
X19mdW5jdG9yPS4uLikgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MTg3MQojMTAg
MHgwMDAwN2ZmZmYxZWIwMTE2IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPjo6b3BlcmF0b3IoKSh2
b2lkKSBjb25zdCAodGhpcz0weDdmZmY3ZDdmOWI1MCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1
bmN0aW9uYWw6MjI3MQojMTEgMHgwMDAwN2ZmZmVjM2E3OTE0IGluIFdURjo6dGhyZWFkRW50cnlQ
b2ludCAoY29udGV4dERhdGE9MHg3ZmZmZGIzNWRkMjApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3Rm
L1RocmVhZGluZy5jcHA6NTgKIzEyIDB4MDAwMDdmZmZlYzNkYjE0MyBpbiBXVEY6Ond0ZlRocmVh
ZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZmZmRiMzNlMTUwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY3CiMxMyAweDAwMDA3ZmZmZWEzMGMwYTQgaW4gc3Rh
cnRfdGhyZWFkIChhcmc9MHg3ZmZmN2Q3ZmE3MDApIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzA5CiMx
NCAweDAwMDA3ZmZmZTU1ZjMwNmQgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3Yv
bGludXgveDg2XzY0L2Nsb25lLlM6MTExCgpUaHJlYWQgMTIgKFRocmVhZCAweDdmZmY3ZGZmYjcw
MCAoTFdQIDE4MzI4KSk6CiMwICBwdGhyZWFkX2NvbmRfd2FpdEBAR0xJQkNfMi4zLjIgKCkgYXQg
Li4vbnB0bC9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94ODZfNjQvcHRocmVhZF9jb25kX3dhaXQu
UzoxODUKIzEgIDB4MDAwMDdmZmZlNWU4MDY5YyBpbiBfX2d0aHJlYWRfY29uZF93YWl0IChfX211
dGV4PTxvcHRpbWl6ZWQgb3V0PiwgX19jb25kPTxvcHRpbWl6ZWQgb3V0PikgYXQgL2J1aWxkL2dj
Yy01LUhOM1VwRS9nY2MtNS01LjIuMS9idWlsZC94ODZfNjQtbGludXgtZ251L2xpYnN0ZGMrKy12
My9pbmNsdWRlL3g4Nl82NC1saW51eC1nbnUvYml0cy9ndGhyLWRlZmF1bHQuaDo4NjQKIzIgIHN0
ZDo6Y29uZGl0aW9uX3ZhcmlhYmxlOjp3YWl0ICh0aGlzPTxvcHRpbWl6ZWQgb3V0PiwgX19sb2Nr
PS4uLikgYXQgLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnN0ZGMrKy12My9zcmMvYysrMTEvY29uZGl0
aW9uX3ZhcmlhYmxlLmNjOjUzCiMzICAweDAwMDA3ZmZmZWMzYTA0MjQgaW4gV1RGOjpQYXJraW5n
TG90OjpwYXJrQ29uZGl0aW9uYWxseShjb25zdCB2b2lkICosIHN0ZDo6ZnVuY3Rpb248Ym9vbCgp
Piwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+LCBzdGQ6OmNocm9ubzo6X1YyOjpzdGVhZHlfY2xvY2s6
OnRpbWVfcG9pbnQpIChhZGRyZXNzPTB4N2ZmZmRiM2VjMWM1LCB2YWxpZGF0aW9uPS4uLiwgYmVm
b3JlU2xlZXA9Li4uLCB0aW1lb3V0PS4uLikKICAgIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1Bh
cmtpbmdMb3QuY3BwOjU0NwojNCAgMHgwMDAwN2ZmZmYyNWFhZjkzIGluIFdURjo6Q29uZGl0aW9u
QmFzZTo6d2FpdFVudGlsPFdURjo6TG9jaz4gKHRoaXM9MHg3ZmZmZGIzZWMxYzUsIGxvY2s9Li4u
LCB0aW1lb3V0PS4uLikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvQ29uZGl0aW9uLmg6NzQKIzUg
IDB4MDAwMDdmZmZmMjVhOWZjMSBpbiBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXQ8V1RGOjpMb2Nr
PiAodGhpcz0weDdmZmZkYjNlYzFjNSwgbG9jaz0uLi4pIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3Rm
L0NvbmRpdGlvbi5oOjExMwojNiAgMHgwMDAwN2ZmZmVjMzllMmFhIGluIFdURjo6UGFyYWxsZWxI
ZWxwZXJQb29sOjp3YWl0Rm9yQ2xpZW50V2l0aFRhc2sgKHRoaXM9MHg3ZmZmZGIzZWMxYzAsIGxv
Y2tlcj0uLi4pIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSGVscGVyUG9vbC5jcHA6
MjM2CiM3ICAweDAwMDA3ZmZmZWMzOWRmZGYgaW4gV1RGOjpQYXJhbGxlbEhlbHBlclBvb2w6Omhl
bHBlclRocmVhZEJvZHkgKHRoaXM9MHg3ZmZmZGIzZWMxYzApIGF0IC4uLy4uL1NvdXJjZS9XVEYv
d3RmL1BhcmFsbGVsSGVscGVyUG9vbC5jcHA6MTg5CiM4ICAweDAwMDA3ZmZmZWMzOWRlZTMgaW4g
V1RGOjpQYXJhbGxlbEhlbHBlclBvb2w6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkodm9pZCkgY29u
c3QgKF9fY2xvc3VyZT0weDdmZmY3ZGZmYWI1MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFy
YWxsZWxIZWxwZXJQb29sLmNwcDoxNzQKIzkgIDB4MDAwMDdmZmZlYzM5ZTNjMyBpbiBzdGQ6Ol9G
dW5jdGlvbl9oYW5kbGVyPHZvaWQoKSwgV1RGOjpQYXJhbGxlbEhlbHBlclBvb2w6OmRpZE1ha2VX
b3JrQXZhaWxhYmxlKGNvbnN0IExvY2tIb2xkZXImKTo6PGxhbWJkYSgpPiA+OjpfTV9pbnZva2Uo
Y29uc3Qgc3RkOjpfQW55X2RhdGEgJikgKF9fZnVuY3Rvcj0uLi4pIGF0IC91c3IvaW5jbHVkZS9j
KysvNS9mdW5jdGlvbmFsOjE4NzEKIzEwIDB4MDAwMDdmZmZmMWViMDExNiBpbiBzdGQ6OmZ1bmN0
aW9uPHZvaWQoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKHRoaXM9MHg3ZmZmN2RmZmFiNTAp
IGF0IC91c3IvaW5jbHVkZS9jKysvNS9mdW5jdGlvbmFsOjIyNzEKIzExIDB4MDAwMDdmZmZlYzNh
NzkxNCBpbiBXVEY6OnRocmVhZEVudHJ5UG9pbnQgKGNvbnRleHREYXRhPTB4N2ZmZmRiMzVkY2Qw
KSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmcuY3BwOjU4CiMxMiAweDAwMDA3ZmZm
ZWMzZGIxNDMgaW4gV1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50IChwYXJhbT0weDdmZmZkYjMzZTEz
MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFkaW5nUHRocmVhZHMuY3BwOjE2NwojMTMg
MHgwMDAwN2ZmZmVhMzBjMGE0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjdkZmZiNzAwKSBh
dCBwdGhyZWFkX2NyZWF0ZS5jOjMwOQojMTQgMHgwMDAwN2ZmZmU1NWYzMDZkIGluIGNsb25lICgp
IGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjExMQoKVGhyZWFk
IDExIChUaHJlYWQgMHg3ZmZmN2U3ZmM3MDAgKExXUCAxODMyNykpOgojMCAgcHRocmVhZF9jb25k
X3dhaXRAQEdMSUJDXzIuMy4yICgpIGF0IC4uL25wdGwvc3lzZGVwcy91bml4L3N5c3YvbGludXgv
eDg2XzY0L3B0aHJlYWRfY29uZF93YWl0LlM6MTg1CiMxICAweDAwMDA3ZmZmZTVlODA2OWMgaW4g
X19ndGhyZWFkX2NvbmRfd2FpdCAoX19tdXRleD08b3B0aW1pemVkIG91dD4sIF9fY29uZD08b3B0
aW1pemVkIG91dD4pIGF0IC9idWlsZC9nY2MtNS1ITjNVcEUvZ2NjLTUtNS4yLjEvYnVpbGQveDg2
XzY0LWxpbnV4LWdudS9saWJzdGRjKystdjMvaW5jbHVkZS94ODZfNjQtbGludXgtZ251L2JpdHMv
Z3Roci1kZWZhdWx0Lmg6ODY0CiMyICBzdGQ6OmNvbmRpdGlvbl92YXJpYWJsZTo6d2FpdCAodGhp
cz08b3B0aW1pemVkIG91dD4sIF9fbG9jaz0uLi4pIGF0IC4uLy4uLy4uLy4uLy4uL3NyYy9saWJz
dGRjKystdjMvc3JjL2MrKzExL2NvbmRpdGlvbl92YXJpYWJsZS5jYzo1MwojMyAgMHgwMDAwN2Zm
ZmVjM2EwNDI0IGluIFdURjo6UGFya2luZ0xvdDo6cGFya0NvbmRpdGlvbmFsbHkoY29uc3Qgdm9p
ZCAqLCBzdGQ6OmZ1bmN0aW9uPGJvb2woKT4sIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPiwgc3RkOjpj
aHJvbm86Ol9WMjo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50KSAoYWRkcmVzcz0weDdmZmZkYjNl
YzFjNSwgdmFsaWRhdGlvbj0uLi4sIGJlZm9yZVNsZWVwPS4uLiwgdGltZW91dD0uLi4pCiAgICBh
dCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9QYXJraW5nTG90LmNwcDo1NDcKIzQgIDB4MDAwMDdmZmZm
MjVhYWY5MyBpbiBXVEY6OkNvbmRpdGlvbkJhc2U6OndhaXRVbnRpbDxXVEY6OkxvY2s+ICh0aGlz
PTB4N2ZmZmRiM2VjMWM1LCBsb2NrPS4uLiwgdGltZW91dD0uLi4pIGF0IC4uLy4uL1NvdXJjZS9X
VEYvd3RmL0NvbmRpdGlvbi5oOjc0CiM1ICAweDAwMDA3ZmZmZjI1YTlmYzEgaW4gV1RGOjpDb25k
aXRpb25CYXNlOjp3YWl0PFdURjo6TG9jaz4gKHRoaXM9MHg3ZmZmZGIzZWMxYzUsIGxvY2s9Li4u
KSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaDoxMTMKIzYgIDB4MDAwMDdmZmZl
YzM5ZTJhYSBpbiBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6d2FpdEZvckNsaWVudFdpdGhUYXNr
ICh0aGlzPTB4N2ZmZmRiM2VjMWMwLCBsb2NrZXI9Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9QYXJhbGxlbEhlbHBlclBvb2wuY3BwOjIzNgojNyAgMHgwMDAwN2ZmZmVjMzlkZmRmIGluIFdU
Rjo6UGFyYWxsZWxIZWxwZXJQb29sOjpoZWxwZXJUaHJlYWRCb2R5ICh0aGlzPTB4N2ZmZmRiM2Vj
MWMwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbEhlbHBlclBvb2wuY3BwOjE4OQoj
OCAgMHgwMDAwN2ZmZmVjMzlkZWUzIGluIFdURjo6UGFyYWxsZWxIZWxwZXJQb29sOjo8bGFtYmRh
KCk+OjpvcGVyYXRvcigpKHZvaWQpIGNvbnN0IChfX2Nsb3N1cmU9MHg3ZmZmN2U3ZmJiNTApIGF0
IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1BhcmFsbGVsSGVscGVyUG9vbC5jcHA6MTc0CiM5ICAweDAw
MDA3ZmZmZWMzOWUzYzMgaW4gc3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIFdURjo6UGFy
YWxsZWxIZWxwZXJQb29sOjpkaWRNYWtlV29ya0F2YWlsYWJsZShjb25zdCBMb2NrSG9sZGVyJik6
OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1bmN0
b3I9Li4uKSBhdCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25hbDoxODcxCiMxMCAweDAwMDA3
ZmZmZjFlYjAxMTYgaW4gc3RkOjpmdW5jdGlvbjx2b2lkKCk+OjpvcGVyYXRvcigpKHZvaWQpIGNv
bnN0ICh0aGlzPTB4N2ZmZjdlN2ZiYjUwKSBhdCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25h
bDoyMjcxCiMxMSAweDAwMDA3ZmZmZWMzYTc5MTQgaW4gV1RGOjp0aHJlYWRFbnRyeVBvaW50IChj
b250ZXh0RGF0YT0weDdmZmZkYjM1ZGM4MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvVGhyZWFk
aW5nLmNwcDo1OAojMTIgMHgwMDAwN2ZmZmVjM2RiMTQzIGluIFdURjo6d3RmVGhyZWFkRW50cnlQ
b2ludCAocGFyYW09MHg3ZmZmZGIzM2UxMTApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVh
ZGluZ1B0aHJlYWRzLmNwcDoxNjcKIzEzIDB4MDAwMDdmZmZlYTMwYzBhNCBpbiBzdGFydF90aHJl
YWQgKGFyZz0weDdmZmY3ZTdmYzcwMCkgYXQgcHRocmVhZF9jcmVhdGUuYzozMDkKIzE0IDB4MDAw
MDdmZmZlNTVmMzA2ZCBpbiBjbG9uZSAoKSBhdCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC94
ODZfNjQvY2xvbmUuUzoxMTEKClRocmVhZCAxMCAoVGhyZWFkIDB4N2ZmZjdlZmZkNzAwIChMV1Ag
MTgzMjYpKToKIzAgIHB0aHJlYWRfY29uZF93YWl0QEBHTElCQ18yLjMuMiAoKSBhdCAuLi9ucHRs
L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9wdGhyZWFkX2NvbmRfd2FpdC5TOjE4NQoj
MSAgMHgwMDAwN2ZmZmU1ZTgwNjljIGluIF9fZ3RocmVhZF9jb25kX3dhaXQgKF9fbXV0ZXg9PG9w
dGltaXplZCBvdXQ+LCBfX2NvbmQ9PG9wdGltaXplZCBvdXQ+KSBhdCAvYnVpbGQvZ2NjLTUtSE4z
VXBFL2djYy01LTUuMi4xL2J1aWxkL3g4Nl82NC1saW51eC1nbnUvbGlic3RkYysrLXYzL2luY2x1
ZGUveDg2XzY0LWxpbnV4LWdudS9iaXRzL2d0aHItZGVmYXVsdC5oOjg2NAojMiAgc3RkOjpjb25k
aXRpb25fdmFyaWFibGU6OndhaXQgKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBfX2xvY2s9Li4uKSBh
dCAuLi8uLi8uLi8uLi8uLi9zcmMvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb25kaXRpb25fdmFy
aWFibGUuY2M6NTMKIzMgIDB4MDAwMDdmZmZlYzNhMDQyNCBpbiBXVEY6OlBhcmtpbmdMb3Q6OnBh
cmtDb25kaXRpb25hbGx5KGNvbnN0IHZvaWQgKiwgc3RkOjpmdW5jdGlvbjxib29sKCk+LCBzdGQ6
OmZ1bmN0aW9uPHZvaWQoKT4sIHN0ZDo6Y2hyb25vOjpfVjI6OnN0ZWFkeV9jbG9jazo6dGltZV9w
b2ludCkgKGFkZHJlc3M9MHg3ZmZmZGIzZWMxYzUsIHZhbGlkYXRpb249Li4uLCBiZWZvcmVTbGVl
cD0uLi4sIHRpbWVvdXQ9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFya2luZ0xv
dC5jcHA6NTQ3CiM0ICAweDAwMDA3ZmZmZjI1YWFmOTMgaW4gV1RGOjpDb25kaXRpb25CYXNlOjp3
YWl0VW50aWw8V1RGOjpMb2NrPiAodGhpcz0weDdmZmZkYjNlYzFjNSwgbG9jaz0uLi4sIHRpbWVv
dXQ9Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaDo3NAojNSAgMHgwMDAw
N2ZmZmYyNWE5ZmMxIGluIFdURjo6Q29uZGl0aW9uQmFzZTo6d2FpdDxXVEY6OkxvY2s+ICh0aGlz
PTB4N2ZmZmRiM2VjMWM1LCBsb2NrPS4uLikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvQ29uZGl0
aW9uLmg6MTEzCiM2ICAweDAwMDA3ZmZmZWMzOWUyYWEgaW4gV1RGOjpQYXJhbGxlbEhlbHBlclBv
b2w6OndhaXRGb3JDbGllbnRXaXRoVGFzayAodGhpcz0weDdmZmZkYjNlYzFjMCwgbG9ja2VyPS4u
LikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNwcDoyMzYKIzcg
IDB4MDAwMDdmZmZlYzM5ZGZkZiBpbiBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6aGVscGVyVGhy
ZWFkQm9keSAodGhpcz0weDdmZmZkYjNlYzFjMCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFy
YWxsZWxIZWxwZXJQb29sLmNwcDoxODkKIzggIDB4MDAwMDdmZmZlYzM5ZGVlMyBpbiBXVEY6OlBh
cmFsbGVsSGVscGVyUG9vbDo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAoX19j
bG9zdXJlPTB4N2ZmZjdlZmZjYjUwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbEhl
bHBlclBvb2wuY3BwOjE3NAojOSAgMHgwMDAwN2ZmZmVjMzllM2MzIGluIHN0ZDo6X0Z1bmN0aW9u
X2hhbmRsZXI8dm9pZCgpLCBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6ZGlkTWFrZVdvcmtBdmFp
bGFibGUoY29uc3QgTG9ja0hvbGRlciYpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25zdCBz
dGQ6Ol9BbnlfZGF0YSAmKSAoX19mdW5jdG9yPS4uLikgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1
bmN0aW9uYWw6MTg3MQojMTAgMHgwMDAwN2ZmZmYxZWIwMTE2IGluIHN0ZDo6ZnVuY3Rpb248dm9p
ZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAodGhpcz0weDdmZmY3ZWZmY2I1MCkgYXQgL3Vz
ci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3MQojMTEgMHgwMDAwN2ZmZmVjM2E3OTE0IGlu
IFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZmZmZGIzNWRjMzApIGF0IC4u
Ly4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKIzEyIDB4MDAwMDdmZmZlYzNkYjE0
MyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZmZmRiMzNlMGYwKSBhdCAu
Li8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY3CiMxMyAweDAwMDA3
ZmZmZWEzMGMwYTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmN2VmZmQ3MDApIGF0IHB0aHJl
YWRfY3JlYXRlLmM6MzA5CiMxNCAweDAwMDA3ZmZmZTU1ZjMwNmQgaW4gY2xvbmUgKCkgYXQgLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTExCgpUaHJlYWQgOSAoVGhy
ZWFkIDB4N2ZmZjdmN2ZlNzAwIChMV1AgMTgzMjUpKToKIzAgIHB0aHJlYWRfY29uZF93YWl0QEBH
TElCQ18yLjMuMiAoKSBhdCAuLi9ucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9w
dGhyZWFkX2NvbmRfd2FpdC5TOjE4NQojMSAgMHgwMDAwN2ZmZmU1ZTgwNjljIGluIF9fZ3RocmVh
ZF9jb25kX3dhaXQgKF9fbXV0ZXg9PG9wdGltaXplZCBvdXQ+LCBfX2NvbmQ9PG9wdGltaXplZCBv
dXQ+KSBhdCAvYnVpbGQvZ2NjLTUtSE4zVXBFL2djYy01LTUuMi4xL2J1aWxkL3g4Nl82NC1saW51
eC1nbnUvbGlic3RkYysrLXYzL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS9iaXRzL2d0aHItZGVm
YXVsdC5oOjg2NAojMiAgc3RkOjpjb25kaXRpb25fdmFyaWFibGU6OndhaXQgKHRoaXM9PG9wdGlt
aXplZCBvdXQ+LCBfX2xvY2s9Li4uKSBhdCAuLi8uLi8uLi8uLi8uLi9zcmMvbGlic3RkYysrLXYz
L3NyYy9jKysxMS9jb25kaXRpb25fdmFyaWFibGUuY2M6NTMKIzMgIDB4MDAwMDdmZmZlYzNhMDQy
NCBpbiBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRpb25hbGx5KGNvbnN0IHZvaWQgKiwgc3Rk
OjpmdW5jdGlvbjxib29sKCk+LCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4sIHN0ZDo6Y2hyb25vOjpf
VjI6OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCkgKGFkZHJlc3M9MHg3ZmZmZGIzZWMxYzUsIHZh
bGlkYXRpb249Li4uLCBiZWZvcmVTbGVlcD0uLi4sIHRpbWVvdXQ9Li4uKQogICAgYXQgLi4vLi4v
U291cmNlL1dURi93dGYvUGFya2luZ0xvdC5jcHA6NTQ3CiM0ICAweDAwMDA3ZmZmZjI1YWFmOTMg
aW4gV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8V1RGOjpMb2NrPiAodGhpcz0weDdmZmZk
YjNlYzFjNSwgbG9jaz0uLi4sIHRpbWVvdXQ9Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9D
b25kaXRpb24uaDo3NAojNSAgMHgwMDAwN2ZmZmYyNWE5ZmMxIGluIFdURjo6Q29uZGl0aW9uQmFz
ZTo6d2FpdDxXVEY6OkxvY2s+ICh0aGlzPTB4N2ZmZmRiM2VjMWM1LCBsb2NrPS4uLikgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvQ29uZGl0aW9uLmg6MTEzCiM2ICAweDAwMDA3ZmZmZWMzOWUyYWEg
aW4gV1RGOjpQYXJhbGxlbEhlbHBlclBvb2w6OndhaXRGb3JDbGllbnRXaXRoVGFzayAodGhpcz0w
eDdmZmZkYjNlYzFjMCwgbG9ja2VyPS4uLikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFyYWxs
ZWxIZWxwZXJQb29sLmNwcDoyMzYKIzcgIDB4MDAwMDdmZmZlYzM5ZGZkZiBpbiBXVEY6OlBhcmFs
bGVsSGVscGVyUG9vbDo6aGVscGVyVGhyZWFkQm9keSAodGhpcz0weDdmZmZkYjNlYzFjMCkgYXQg
Li4vLi4vU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNwcDoxODkKIzggIDB4MDAw
MDdmZmZlYzM5ZGVlMyBpbiBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6PGxhbWJkYSgpPjo6b3Bl
cmF0b3IoKSh2b2lkKSBjb25zdCAoX19jbG9zdXJlPTB4N2ZmZjdmN2ZkYjUwKSBhdCAuLi8uLi9T
b3VyY2UvV1RGL3d0Zi9QYXJhbGxlbEhlbHBlclBvb2wuY3BwOjE3NAojOSAgMHgwMDAwN2ZmZmVj
MzllM2MzIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OlBhcmFsbGVsSGVs
cGVyUG9vbDo6ZGlkTWFrZVdvcmtBdmFpbGFibGUoY29uc3QgTG9ja0hvbGRlciYpOjo8bGFtYmRh
KCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKSAoX19mdW5jdG9yPS4uLikg
YXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MTg3MQojMTAgMHgwMDAwN2ZmZmYxZWIw
MTE2IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAodGhp
cz0weDdmZmY3ZjdmZGI1MCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3MQoj
MTEgMHgwMDAwN2ZmZmVjM2E3OTE0IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERh
dGE9MHg3ZmZmZGIzNWRiZTApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6
NTgKIzEyIDB4MDAwMDdmZmZlYzNkYjE0MyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBh
cmFtPTB4N2ZmZmRiMzNlMGQwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhy
ZWFkcy5jcHA6MTY3CiMxMyAweDAwMDA3ZmZmZWEzMGMwYTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9
MHg3ZmZmN2Y3ZmU3MDApIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzA5CiMxNCAweDAwMDA3ZmZmZTU1
ZjMwNmQgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Ns
b25lLlM6MTExCgpUaHJlYWQgOCAoVGhyZWFkIDB4N2ZmZjdmZmZmNzAwIChMV1AgMTgzMjQpKToK
IzAgIHB0aHJlYWRfY29uZF93YWl0QEBHTElCQ18yLjMuMiAoKSBhdCAuLi9ucHRsL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3g4Nl82NC9wdGhyZWFkX2NvbmRfd2FpdC5TOjE4NQojMSAgMHgwMDAw
N2ZmZmU1ZTgwNjljIGluIF9fZ3RocmVhZF9jb25kX3dhaXQgKF9fbXV0ZXg9PG9wdGltaXplZCBv
dXQ+LCBfX2NvbmQ9PG9wdGltaXplZCBvdXQ+KSBhdCAvYnVpbGQvZ2NjLTUtSE4zVXBFL2djYy01
LTUuMi4xL2J1aWxkL3g4Nl82NC1saW51eC1nbnUvbGlic3RkYysrLXYzL2luY2x1ZGUveDg2XzY0
LWxpbnV4LWdudS9iaXRzL2d0aHItZGVmYXVsdC5oOjg2NAojMiAgc3RkOjpjb25kaXRpb25fdmFy
aWFibGU6OndhaXQgKHRoaXM9PG9wdGltaXplZCBvdXQ+LCBfX2xvY2s9Li4uKSBhdCAuLi8uLi8u
Li8uLi8uLi9zcmMvbGlic3RkYysrLXYzL3NyYy9jKysxMS9jb25kaXRpb25fdmFyaWFibGUuY2M6
NTMKIzMgIDB4MDAwMDdmZmZlYzNhMDQyNCBpbiBXVEY6OlBhcmtpbmdMb3Q6OnBhcmtDb25kaXRp
b25hbGx5KGNvbnN0IHZvaWQgKiwgc3RkOjpmdW5jdGlvbjxib29sKCk+LCBzdGQ6OmZ1bmN0aW9u
PHZvaWQoKT4sIHN0ZDo6Y2hyb25vOjpfVjI6OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCkgKGFk
ZHJlc3M9MHg3ZmZmZGIzZWMxYzUsIHZhbGlkYXRpb249Li4uLCBiZWZvcmVTbGVlcD0uLi4sIHRp
bWVvdXQ9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFya2luZ0xvdC5jcHA6NTQ3
CiM0ICAweDAwMDA3ZmZmZjI1YWFmOTMgaW4gV1RGOjpDb25kaXRpb25CYXNlOjp3YWl0VW50aWw8
V1RGOjpMb2NrPiAodGhpcz0weDdmZmZkYjNlYzFjNSwgbG9jaz0uLi4sIHRpbWVvdXQ9Li4uKSBh
dCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9Db25kaXRpb24uaDo3NAojNSAgMHgwMDAwN2ZmZmYyNWE5
ZmMxIGluIFdURjo6Q29uZGl0aW9uQmFzZTo6d2FpdDxXVEY6OkxvY2s+ICh0aGlzPTB4N2ZmZmRi
M2VjMWM1LCBsb2NrPS4uLikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvQ29uZGl0aW9uLmg6MTEz
CiM2ICAweDAwMDA3ZmZmZWMzOWUyYWEgaW4gV1RGOjpQYXJhbGxlbEhlbHBlclBvb2w6OndhaXRG
b3JDbGllbnRXaXRoVGFzayAodGhpcz0weDdmZmZkYjNlYzFjMCwgbG9ja2VyPS4uLikgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxwZXJQb29sLmNwcDoyMzYKIzcgIDB4MDAwMDdm
ZmZlYzM5ZGZkZiBpbiBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6aGVscGVyVGhyZWFkQm9keSAo
dGhpcz0weDdmZmZkYjNlYzFjMCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUGFyYWxsZWxIZWxw
ZXJQb29sLmNwcDoxODkKIzggIDB4MDAwMDdmZmZlYzM5ZGVlMyBpbiBXVEY6OlBhcmFsbGVsSGVs
cGVyUG9vbDo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAoX19jbG9zdXJlPTB4
N2ZmZjdmZmZlYjUwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9QYXJhbGxlbEhlbHBlclBvb2wu
Y3BwOjE3NAojOSAgMHgwMDAwN2ZmZmVjMzllM2MzIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8
dm9pZCgpLCBXVEY6OlBhcmFsbGVsSGVscGVyUG9vbDo6ZGlkTWFrZVdvcmtBdmFpbGFibGUoY29u
c3QgTG9ja0hvbGRlciYpOjo8bGFtYmRhKCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9Bbnlf
ZGF0YSAmKSAoX19mdW5jdG9yPS4uLikgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6
MTg3MQojMTAgMHgwMDAwN2ZmZmYxZWIwMTE2IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPjo6b3Bl
cmF0b3IoKSh2b2lkKSBjb25zdCAodGhpcz0weDdmZmY3ZmZmZWI1MCkgYXQgL3Vzci9pbmNsdWRl
L2MrKy81L2Z1bmN0aW9uYWw6MjI3MQojMTEgMHgwMDAwN2ZmZmVjM2E3OTE0IGluIFdURjo6dGhy
ZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZmZmZGIzNWRiOTApIGF0IC4uLy4uL1NvdXJj
ZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKIzEyIDB4MDAwMDdmZmZlYzNkYjE0MyBpbiBXVEY6
Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZmZmRiMzNlMGIwKSBhdCAuLi8uLi9Tb3Vy
Y2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY3CiMxMyAweDAwMDA3ZmZmZWEzMGMw
YTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmN2ZmZmY3MDApIGF0IHB0aHJlYWRfY3JlYXRl
LmM6MzA5CiMxNCAweDAwMDA3ZmZmZTU1ZjMwNmQgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91
bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTExCgpUaHJlYWQgNyAoVGhyZWFkIDB4N2Zm
ZjlhZmZkNzAwIChMV1AgMTgzMDIpKToKIzAgIDB4MDAwMDdmZmZlNTVlYTUyZCBpbiBwb2xsICgp
IGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKIzEgIDB4MDAwMDdmZmZl
OTU1YmYwNCBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT0yMTQ3NDgzNjQ3LCBuX2Zk
cz0xLCBmZHM9MHg3ZmZmOTQwMDE3YzAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0
PTB4N2ZmZjk0MDAwOTIwKSBhdCBnbWFpbi5jOjQxMDMKIzIgIGdfbWFpbl9jb250ZXh0X2l0ZXJh
dGUgKGNvbnRleHQ9MHg3ZmZmOTQwMDA5MjAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNo
PWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDMK
IzMgIDB4MDAwMDdmZmZlOTU1YzI4MiBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHg3ZmZmOTQw
MDEyNjApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgwMDAwN2ZmZmVjM2RmMTA0IGluIFdURjo6UnVu
TG9vcDo6cnVuICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3Bw
Ojk0CiM1ICAweDAwMDA3ZmZmZWMzZTBjYzEgaW4gV1RGOjpXb3JrUXVldWU6OjxsYW1iZGEoKT46
Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZmY5YWZmY2I1MCkgYXQgLi4v
Li4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVldWVHTGliLmNwcDo2MAojNiAgMHgwMDAwN2Zm
ZmVjM2UxNDQ3IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6OldvcmtRdWV1
ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwg
V1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6
X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9Li4uKQogICAgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1
bmN0aW9uYWw6MTg3MQojNyAgMHgwMDAwN2ZmZmYxZWIwMTE2IGluIHN0ZDo6ZnVuY3Rpb248dm9p
ZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAodGhpcz0weDdmZmY5YWZmY2I1MCkgYXQgL3Vz
ci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3MQojOCAgMHgwMDAwN2ZmZmVjM2E3OTE0IGlu
IFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZmZmZGIzZjcwMDApIGF0IC4u
Ly4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKIzkgIDB4MDAwMDdmZmZlYzNkYjE0
MyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZmZmRiM2ZhMDEwKSBhdCAu
Li8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY3CiMxMCAweDAwMDA3
ZmZmZWEzMGMwYTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmOWFmZmQ3MDApIGF0IHB0aHJl
YWRfY3JlYXRlLmM6MzA5CiMxMSAweDAwMDA3ZmZmZTU1ZjMwNmQgaW4gY2xvbmUgKCkgYXQgLi4v
c3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTExCgpUaHJlYWQgNiAoVGhy
ZWFkIDB4N2ZmZjlhN2ZjNzAwIChMV1AgMTgzMDMpKToKIzAgIDB4MDAwMDdmZmZlNTVlYTUyZCBp
biBwb2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6ODEKIzEgIDB4
MDAwMDdmZmZlOTU1YmYwNCBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0eT0yMTQ3NDgz
NjQ3LCBuX2Zkcz0xLCBmZHM9MHg3ZmZmOGMwMDE0ODAsIHRpbWVvdXQ9PG9wdGltaXplZCBvdXQ+
LCBjb250ZXh0PTB4N2ZmZjhjMDAwOTAwKSBhdCBnbWFpbi5jOjQxMDMKIzIgIGdfbWFpbl9jb250
ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmZmOGMwMDA5MDAsIGJsb2NrPWJsb2NrQGVudHJ5PTEs
IGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFp
bi5jOjM4MDMKIzMgIDB4MDAwMDdmZmZlOTU1YzI4MiBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9
MHg3ZmZmOGMwMDEyNDApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgwMDAwN2ZmZmVjM2RmMTA0IGlu
IFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9v
cEdMaWIuY3BwOjk0CiM1ICAweDAwMDA3ZmZmZWMzZTBjYzEgaW4gV1RGOjpXb3JrUXVldWU6Ojxs
YW1iZGEoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKF9fY2xvc3VyZT0weDdmZmY5YTdmYmI1
MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVldWVHTGliLmNwcDo2MAojNiAg
MHgwMDAwN2ZmZmVjM2UxNDQ3IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCgpLCBXVEY6
OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6OldvcmtRdWV1
ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01faW52b2tlKGNv
bnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9Li4uKQogICAgYXQgL3Vzci9pbmNsdWRl
L2MrKy81L2Z1bmN0aW9uYWw6MTg3MQojNyAgMHgwMDAwN2ZmZmYxZWIwMTE2IGluIHN0ZDo6ZnVu
Y3Rpb248dm9pZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAodGhpcz0weDdmZmY5YTdmYmI1
MCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3MQojOCAgMHgwMDAwN2ZmZmVj
M2E3OTE0IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3ZmZmZGIzZjcw
NTApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKIzkgIDB4MDAwMDdm
ZmZlYzNkYjE0MyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4N2ZmZmRiM2Zh
MDMwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5jcHA6MTY3CiMx
MCAweDAwMDA3ZmZmZWEzMGMwYTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZmOWE3ZmM3MDAp
IGF0IHB0aHJlYWRfY3JlYXRlLmM6MzA5CiMxMSAweDAwMDA3ZmZmZTU1ZjMwNmQgaW4gY2xvbmUg
KCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6MTExCgpUaHJl
YWQgNSAoVGhyZWFkIDB4N2ZmZjk5ZmZiNzAwIChMV1AgMTgzMDQpKToKIzAgIDB4MDAwMDdmZmZl
NTVlYTUyZCBpbiBwb2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRlbXBsYXRlLlM6
ODEKIzEgIDB4MDAwMDdmZmZlOTU1YmYwNCBpbiBnX21haW5fY29udGV4dF9wb2xsIChwcmlvcml0
eT0yMTQ3NDgzNjQ3LCBuX2Zkcz0xLCBmZHM9MHg3ZmZmOTAwMDE0ODAsIHRpbWVvdXQ9PG9wdGlt
aXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZmZjkwMDAwOTAwKSBhdCBnbWFpbi5jOjQxMDMKIzIgIGdf
bWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmZmOTAwMDA5MDAsIGJsb2NrPWJsb2Nr
QGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+
KSBhdCBnbWFpbi5jOjM4MDMKIzMgIDB4MDAwMDdmZmZlOTU1YzI4MiBpbiBnX21haW5fbG9vcF9y
dW4gKGxvb3A9MHg3ZmZmOTAwMDEyNDApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgwMDAwN2ZmZmVj
M2RmMTA0IGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2ds
aWIvUnVuTG9vcEdMaWIuY3BwOjk0CiM1ICAweDAwMDA3ZmZmZWMzZTBjYzEgaW4gV1RGOjpXb3Jr
UXVldWU6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKF9fY2xvc3VyZT0weDdm
ZmY5OWZmYWI1MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVldWVHTGliLmNw
cDo2MAojNiAgMHgwMDAwN2ZmZmVjM2UxNDQ3IGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9p
ZCgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29uc3QqLCBXVEY6
OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEoKT4gPjo6X01f
aW52b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9Li4uKQogICAgYXQgL3Vz
ci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MTg3MQojNyAgMHgwMDAwN2ZmZmYxZWIwMTE2IGlu
IHN0ZDo6ZnVuY3Rpb248dm9pZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAodGhpcz0weDdm
ZmY5OWZmYWI1MCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3MQojOCAgMHgw
MDAwN2ZmZmVjM2E3OTE0IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4dERhdGE9MHg3
ZmZmZGIzZjcwYTApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5jcHA6NTgKIzkg
IDB4MDAwMDdmZmZlYzNkYjE0MyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQgKHBhcmFtPTB4
N2ZmZmRiM2ZhMDUwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQdGhyZWFkcy5j
cHA6MTY3CiMxMCAweDAwMDA3ZmZmZWEzMGMwYTQgaW4gc3RhcnRfdGhyZWFkIChhcmc9MHg3ZmZm
OTlmZmI3MDApIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzA5CiMxMSAweDAwMDA3ZmZmZTU1ZjMwNmQg
aW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L2Nsb25lLlM6
MTExCgpUaHJlYWQgNCAoVGhyZWFkIDB4N2ZmZjk5N2ZhNzAwIChMV1AgMTgzMDUpKToKIzAgIDB4
MDAwMDdmZmZlNTVlYTUyZCBpbiBwb2xsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXNjYWxsLXRl
bXBsYXRlLlM6ODEKIzEgIDB4MDAwMDdmZmZlOTU1YmYwNCBpbiBnX21haW5fY29udGV4dF9wb2xs
IChwcmlvcml0eT0yMTQ3NDgzNjQ3LCBuX2Zkcz0yLCBmZHM9MHg3ZmZmODQwMDE0ODAsIHRpbWVv
dXQ9PG9wdGltaXplZCBvdXQ+LCBjb250ZXh0PTB4N2ZmZjg0MDAwOTAwKSBhdCBnbWFpbi5jOjQx
MDMKIzIgIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9MHg3ZmZmODQwMDA5MDAsIGJs
b2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNlbGY9PG9wdGlt
aXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDMKIzMgIDB4MDAwMDdmZmZlOTU1YzI4MiBpbiBnX21h
aW5fbG9vcF9ydW4gKGxvb3A9MHg3ZmZmODQwMDEyNDApIGF0IGdtYWluLmM6NDAwMgojNCAgMHgw
MDAwN2ZmZmVjM2RmMTA0IGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC4uLy4uL1NvdXJjZS9X
VEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk0CiM1ICAweDAwMDA3ZmZmZWMzZTBjYzEgaW4g
V1RGOjpXb3JrUXVldWU6OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkodm9pZCkgY29uc3QgKF9fY2xv
c3VyZT0weDdmZmY5OTdmOWI1MCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvZ2xpYi9Xb3JrUXVl
dWVHTGliLmNwcDo2MAojNiAgMHgwMDAwN2ZmZmVjM2UxNDQ3IGluIHN0ZDo6X0Z1bmN0aW9uX2hh
bmRsZXI8dm9pZCgpLCBXVEY6OldvcmtRdWV1ZTo6cGxhdGZvcm1Jbml0aWFsaXplKGNoYXIgY29u
c3QqLCBXVEY6OldvcmtRdWV1ZTo6VHlwZSwgV1RGOjpXb3JrUXVldWU6OlFPUyk6OjxsYW1iZGEo
KT4gPjo6X01faW52b2tlKGNvbnN0IHN0ZDo6X0FueV9kYXRhICYpIChfX2Z1bmN0b3I9Li4uKQog
ICAgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MTg3MQojNyAgMHgwMDAwN2ZmZmYx
ZWIwMTE2IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAo
dGhpcz0weDdmZmY5OTdmOWI1MCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3
MQojOCAgMHgwMDAwN2ZmZmVjM2E3OTE0IGluIFdURjo6dGhyZWFkRW50cnlQb2ludCAoY29udGV4
dERhdGE9MHg3ZmZmZGIzZjcwZjApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1RocmVhZGluZy5j
cHA6NTgKIzkgIDB4MDAwMDdmZmZlYzNkYjE0MyBpbiBXVEY6Ond0ZlRocmVhZEVudHJ5UG9pbnQg
KHBhcmFtPTB4N2ZmZmRiM2ZhMDcwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9UaHJlYWRpbmdQ
dGhyZWFkcy5jcHA6MTY3CiMxMCAweDAwMDA3ZmZmZWEzMGMwYTQgaW4gc3RhcnRfdGhyZWFkIChh
cmc9MHg3ZmZmOTk3ZmE3MDApIGF0IHB0aHJlYWRfY3JlYXRlLmM6MzA5CiMxMSAweDAwMDA3ZmZm
ZTU1ZjMwNmQgaW4gY2xvbmUgKCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0
L2Nsb25lLlM6MTExCgpUaHJlYWQgMyAoVGhyZWFkIDB4N2ZmZjk4ZmY5NzAwIChMV1AgMTgzMDYp
KToKIzAgIDB4MDAwMDdmZmZlYTMxMzE4ZCBpbiBuYW5vc2xlZXAgKCkgYXQgLi4vc3lzZGVwcy91
bml4L3N5c2NhbGwtdGVtcGxhdGUuUzo4MQojMSAgMHgwMDAwN2ZmZmVjM2VjNjk3IGluIHN0ZDo6
dGhpc190aHJlYWQ6OnNsZWVwX2Zvcjxsb25nLCBzdGQ6OnJhdGlvPDFsLCAxMDAwbD4gPiAoX19y
dGltZT0uLi4pIGF0IC91c3IvaW5jbHVkZS9jKysvNS90aHJlYWQ6MjkyCiMyICAweDAwMDA3ZmZm
ZWMzZTk0NDMgaW4gYm1hbGxvYzo6c2xlZXAgKGxvY2s9Li4uLCBkdXJhdGlvbj0uLi4pIGF0IC4u
Ly4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaDo2NAojMyAgMHgwMDAwN2Zm
ZmVjM2U5NDhkIGluIGJtYWxsb2M6OndhaXRVbnRpbEZhbHNlIChsb2NrPS4uLiwgc2xlZXBEdXJh
dGlvbj0uLi4sIGNvbmRpdGlvbj1AMHg3ZmZmZWNmOWI1MTA6IHRydWUpIGF0IC4uLy4uL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaDo3NAojNCAgMHgwMDAwN2ZmZmVjM2U5OTVl
IGluIGJtYWxsb2M6OkhlYXA6OnNjYXZlbmdlICh0aGlzPTB4N2ZmZmVjZjk5M2MwIDxibWFsbG9j
OjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+OjpzX21lbW9yeT4sIGxvY2s9Li4uLCBzbGVlcER1
cmF0aW9uPS4uLikgYXQgLi4vLi4vU291cmNlL2JtYWxsb2MvYm1hbGxvYy9IZWFwLmNwcDo5MAoj
NSAgMHgwMDAwN2ZmZmVjM2U5OGZjIGluIGJtYWxsb2M6OkhlYXA6OmNvbmN1cnJlbnRTY2F2ZW5n
ZSAodGhpcz0weDdmZmZlY2Y5OTNjMCA8Ym1hbGxvYzo6UGVyUHJvY2VzczxibWFsbG9jOjpIZWFw
Pjo6c19tZW1vcnk+KSBhdCAuLi8uLi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwOjg1
CiM2ICAweDAwMDA3ZmZmZWMzZWRkNDQgaW4gYm1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6Okhl
YXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6OiopKCk+Ojp0aHJlYWRSdW5Mb29wICh0aGlzPTB4N2Zm
ZmVjZjliNTE4IDxibWFsbG9jOjpQZXJQcm9jZXNzPGJtYWxsb2M6OkhlYXA+OjpzX21lbW9yeSs4
NTM2PikgYXQgLi4vLi4vU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Bc3luY1Rhc2suaDoxNDMKIzcg
IDB4MDAwMDdmZmZlYzNlZDk2MCBpbiBibWFsbG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwg
dm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT46OnRocmVhZEVudHJ5UG9pbnQgKGFzeW5jVGFzaz0w
eDdmZmZlY2Y5YjUxOCA8Ym1hbGxvYzo6UGVyUHJvY2VzczxibWFsbG9jOjpIZWFwPjo6c19tZW1v
cnkrODUzNj4pIGF0IC4uLy4uL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQXN5bmNUYXNrLmg6MTI3
CiM4ICAweDAwMDA3ZmZmZWMzZWZlMDQgaW4gc3RkOjpfQmluZF9zaW1wbGU8dm9pZCAoKihibWFs
bG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT4q
KSkoYm1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6
OiopKCk+Kik+OjpfTV9pbnZva2U8MHVsPihzdGQ6Ol9JbmRleF90dXBsZTwwdWw+KSAoCiAgICB0
aGlzPTB4N2ZmZjg0MDAxNGU4KSBhdCAvdXNyL2luY2x1ZGUvYysrLzUvZnVuY3Rpb25hbDoxNTMx
CiM5ICAweDAwMDA3ZmZmZWMzZWZjZWQgaW4gc3RkOjpfQmluZF9zaW1wbGU8dm9pZCAoKihibWFs
bG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6KikoKT4q
KSkoYm1hbGxvYzo6QXN5bmNUYXNrPGJtYWxsb2M6OkhlYXAsIHZvaWQgKGJtYWxsb2M6OkhlYXA6
OiopKCk+Kik+OjpvcGVyYXRvcigpKHZvaWQpICh0aGlzPTB4N2ZmZjg0MDAxNGU4KQogICAgYXQg
L3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MTUyMAojMTAgMHgwMDAwN2ZmZmVjM2VmYzRj
IGluIHN0ZDo6dGhyZWFkOjpfSW1wbDxzdGQ6Ol9CaW5kX3NpbXBsZTx2b2lkICgqKGJtYWxsb2M6
OkFzeW5jVGFzazxibWFsbG9jOjpIZWFwLCB2b2lkIChibWFsbG9jOjpIZWFwOjoqKSgpPiopKShi
bWFsbG9jOjpBc3luY1Rhc2s8Ym1hbGxvYzo6SGVhcCwgdm9pZCAoYm1hbGxvYzo6SGVhcDo6Kiko
KT4qKT4gPjo6X01fcnVuKHZvaWQpICh0aGlzPTB4N2ZmZjg0MDAxNGQwKQogICAgYXQgL3Vzci9p
bmNsdWRlL2MrKy81L3RocmVhZDoxMTUKIzExIDB4MDAwMDdmZmZlNWU4NTVjMCBpbiBzdGQ6Oihh
bm9ueW1vdXMgbmFtZXNwYWNlKTo6ZXhlY3V0ZV9uYXRpdmVfdGhyZWFkX3JvdXRpbmUgKF9fcD08
b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uLy4uLy4uLy4uL3NyYy9saWJzdGRjKystdjMvc3JjL2Mr
KzExL3RocmVhZC5jYzo4NAojMTIgMHgwMDAwN2ZmZmVhMzBjMGE0IGluIHN0YXJ0X3RocmVhZCAo
YXJnPTB4N2ZmZjk4ZmY5NzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMwOQojMTMgMHgwMDAwN2Zm
ZmU1NWYzMDZkIGluIGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82
NC9jbG9uZS5TOjExMQoKVGhyZWFkIDIgKFRocmVhZCAweDdmZmY4YmZmZjcwMCAoTFdQIDE4MzA3
KSk6CiMwICBzeXNjYWxsICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9z
eXNjYWxsLlM6MzgKIzEgIDB4MDAwMDdmZmZlOTU5ZmI0NCBpbiBnX2NvbmRfd2FpdF91bnRpbCAo
Y29uZD1jb25kQGVudHJ5PTB4NGZkMDU4LCBtdXRleD1tdXRleEBlbnRyeT0weDRmZDA1MCwgZW5k
X3RpbWU9ZW5kX3RpbWVAZW50cnk9NjE0OTA2NTA1MCkgYXQgZ3RocmVhZC1wb3NpeC5jOjE0NDIK
IzIgIDB4MDAwMDdmZmZlOTUzMWE3OSBpbiBnX2FzeW5jX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2Nr
ZWQgKHF1ZXVlPXF1ZXVlQGVudHJ5PTB4NGZkMDUwLCB3YWl0PXdhaXRAZW50cnk9MSwgZW5kX3Rp
bWU9ZW5kX3RpbWVAZW50cnk9NjE0OTA2NTA1MCkgYXQgZ2FzeW5jcXVldWUuYzo0MjIKIzMgIDB4
MDAwMDdmZmZlOTUzMjA2YiBpbiBnX2FzeW5jX3F1ZXVlX3RpbWVvdXRfcG9wIChxdWV1ZT0weDRm
ZDA1MCwgdGltZW91dD10aW1lb3V0QGVudHJ5PTE1MDAwMDAwKSBhdCBnYXN5bmNxdWV1ZS5jOjU0
MwojNCAgMHgwMDAwN2ZmZmU5NTgyZGJhIGluIGdfdGhyZWFkX3Bvb2xfd2FpdF9mb3JfbmV3X3Bv
b2wgKCkgYXQgZ3RocmVhZHBvb2wuYzoxNjcKIzUgIGdfdGhyZWFkX3Bvb2xfdGhyZWFkX3Byb3h5
IChkYXRhPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ3RocmVhZHBvb2wuYzozNjQKIzYgIDB4MDAwMDdm
ZmZlOTU4MjM3NSBpbiBnX3RocmVhZF9wcm94eSAoZGF0YT0weDY3YjA1MCkgYXQgZ3RocmVhZC5j
Ojc2NAojNyAgMHgwMDAwN2ZmZmVhMzBjMGE0IGluIHN0YXJ0X3RocmVhZCAoYXJnPTB4N2ZmZjhi
ZmZmNzAwKSBhdCBwdGhyZWFkX2NyZWF0ZS5jOjMwOQojOCAgMHgwMDAwN2ZmZmU1NWYzMDZkIGlu
IGNsb25lICgpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3g4Nl82NC9jbG9uZS5TOjEx
MQoKVGhyZWFkIDEgKFRocmVhZCAweDdmZmZkYjZmNWE4MCAoTFdQIDE4MzAwKSk6CiMwICAweDAw
MDA3ZmZmZWMzOGM3YjIgaW4gV1RGQ3Jhc2ggKCkgYXQgLi4vLi4vU291cmNlL1dURi93dGYvQXNz
ZXJ0aW9ucy5jcHA6MzIxCiMxICAweDAwMDA3ZmZmZjI0NTM0YmQgaW4gV2ViS2l0OjpMYXllclRy
ZWVIb3N0R3RrOjpzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcgKHRoaXM9MHg3
ZmZmZGIyZWVjNjAsIGhhbmRsZT0yNzI2MzEwMykgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcDo0MjcKIzIgIDB4MDAwMDdm
ZmZmMjQ0NTYyOSBpbiBXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6c2V0TmF0aXZlU3VyZmFjZUhh
bmRsZUZvckNvbXBvc2l0aW5nICh0aGlzPTB4OGU0NTQwLCBoYW5kbGU9MjcyNjMxMDMpIGF0IC4u
Ly4uL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3Bw
OjY5OQojMyAgMHgwMDAwN2ZmZmYyNGRkNDM2IGluIElQQzo6Y2FsbE1lbWJlckZ1bmN0aW9uSW1w
bDxXZWJLaXQ6OkRyYXdpbmdBcmVhLCB2b2lkIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjoqKSh1bnNp
Z25lZCBsb25nKSwgc3RkOjp0dXBsZTx1bnNpZ25lZCBsb25nPiwgMHVsPihXZWJLaXQ6OkRyYXdp
bmdBcmVhICosIHZvaWQgKFdlYktpdDo6RHJhd2luZ0FyZWE6OiopKFdlYktpdDo6RHJhd2luZ0Fy
ZWEgKiBjb25zdCwgdW5zaWduZWQgbG9uZyksIDx1bmtub3duIHR5cGUgaW4gL2hvbWUvbWFyaW8v
d29yay9XZWJLaXQvV2ViS2l0QnVpbGQvRGVidWcvbGliL2xpYndlYmtpdDJndGstNC4wLnNvLjM3
LCBDVSAweDAsIERJRSAweDExZTExPiwgc3RkOjppbmRleF9zZXF1ZW5jZTwwdWw+KSAob2JqZWN0
PTB4OGU0NTQwLCBmdW5jdGlvbj0mdmlydHVhbCB0YWJsZSBvZmZzZXQgMjY0LCAKICAgIGFyZ3M9
PHVua25vd24gdHlwZSBpbiAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9EZWJ1
Zy9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcsIENVIDB4MCwgRElFIDB4MTFlMTE+KSBhdCAu
Li8uLi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oOjE2CiM0ICAw
eDAwMDA3ZmZmZjI0ZGNmNDYgaW4gSVBDOjpjYWxsTWVtYmVyRnVuY3Rpb248V2ViS2l0OjpEcmF3
aW5nQXJlYSwgdm9pZCAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6KikodW5zaWduZWQgbG9uZyksIHN0
ZDo6dHVwbGU8dW5zaWduZWQgbG9uZz4sIHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5jZTwxdWw+ID4o
PHVua25vd24gdHlwZSBpbiAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9EZWJ1
Zy9saWIvbGlid2Via2l0Mmd0ay00LjAuc28uMzcsIENVIDB4MCwgRElFIDB4MTExMzY+LCBXZWJL
aXQ6OkRyYXdpbmdBcmVhICosIHZvaWQgKFdlYktpdDo6RHJhd2luZ0FyZWE6OiopKFdlYktpdDo6
RHJhd2luZ0FyZWEgKiBjb25zdCwgdW5zaWduZWQgbG9uZykpICgKICAgIGFyZ3M9PHVua25vd24g
dHlwZSBpbiAvaG9tZS9tYXJpby93b3JrL1dlYktpdC9XZWJLaXRCdWlsZC9EZWJ1Zy9saWIvbGli
d2Via2l0Mmd0ay00LjAuc28uMzcsIENVIDB4MCwgRElFIDB4MTExMzY+LCBvYmplY3Q9MHg4ZTQ1
NDAsIGZ1bmN0aW9uPSZ2aXJ0dWFsIHRhYmxlIG9mZnNldCAyNjQpIGF0IC4uLy4uL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL0lQQy9IYW5kbGVNZXNzYWdlLmg6MjIKIzUgIDB4MDAwMDdmZmZmMjRk
Y2Q1MCBpbiBJUEM6OmhhbmRsZU1lc3NhZ2U8TWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXROYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcsIFdlYktpdDo6RHJhd2luZ0FyZWEsIHZvaWQg
KFdlYktpdDo6RHJhd2luZ0FyZWE6OiopKHVuc2lnbmVkIGxvbmcpPiAoZGVjb2Rlcj0uLi4sIG9i
amVjdD0weDhlNDU0MCwgCiAgICBmdW5jdGlvbj0mdmlydHVhbCB0YWJsZSBvZmZzZXQgMjY0KSBh
dCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oOjkyCiM2
ICAweDAwMDA3ZmZmZjI0ZGM5NTcgaW4gV2ViS2l0OjpEcmF3aW5nQXJlYTo6ZGlkUmVjZWl2ZU1l
c3NhZ2UgKHRoaXM9MHg4ZTQ1NDAsIGNvbm5lY3Rpb249Li4uLCBkZWNvZGVyPS4uLikgYXQgRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9EcmF3aW5nQXJlYU1lc3NhZ2VSZWNlaXZlci5jcHA6MTIxCiM3
ICAweDAwMDA3ZmZmZjFmNDk2ODggaW4gSVBDOjpNZXNzYWdlUmVjZWl2ZXJNYXA6OmRpc3BhdGNo
TWVzc2FnZSAodGhpcz0weGFmNjcyMCwgY29ubmVjdGlvbj0uLi4sIGRlY29kZXI9Li4uKSBhdCAu
Li8uLi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmNwcDox
MDIKIzggIDB4MDAwMDdmZmZmMjE3N2JkYSBpbiBXZWJLaXQ6OldlYlByb2Nlc3M6OmRpZFJlY2Vp
dmVNZXNzYWdlICh0aGlzPTB4YWY2NmIwLCBjb25uZWN0aW9uPS4uLiwgZGVjb2Rlcj0uLi4pIGF0
IC4uLy4uL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6NjIxCiM5ICAw
eDAwMDA3ZmZmZjFmMzZiZDIgaW4gSVBDOjpDb25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2UgKHRo
aXM9MHg3ZmZmZGIyZmQwMDAsIGRlY29kZXI9Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHA6OTAwCiMxMCAweDAwMDA3ZmZmZjFmMzZkMzYgaW4g
SVBDOjpDb25uZWN0aW9uOjpkaXNwYXRjaE1lc3NhZ2UgKHRoaXM9MHg3ZmZmZGIyZmQwMDAsIG1l
c3NhZ2U9c3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZURlY29kZXI+IGNvbnRhaW5pbmcgMHg3
ZmZmZGIzYTk5MDApIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmNwcDo5MzEKIzExIDB4MDAwMDdmZmZmMWYzNmYxNCBpbiBJUEM6OkNvbm5lY3Rpb246OmRp
c3BhdGNoT25lTWVzc2FnZSAodGhpcz0weDdmZmZkYjJmZDAwMCkgYXQgLi4vLi4vU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOjk2MgojMTIgMHgwMDAwN2ZmZmYxZjM2
YTFjIGluIElQQzo6Q29ubmVjdGlvbjo6PGxhbWJkYSgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25z
dCAoX19jbG9zdXJlPTB4N2ZmZjg0MDAyNWYwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9JUEMvQ29ubmVjdGlvbi5jcHA6ODk0CiMxMyAweDAwMDA3ZmZmZjFmMzgyMTIgaW4gc3Rk
OjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkKCksIElQQzo6Q29ubmVjdGlvbjo6ZW5xdWV1ZUluY29t
aW5nTWVzc2FnZShzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRGVjb2Rlcj4pOjo8bGFtYmRh
KCk+ID46Ol9NX2ludm9rZShjb25zdCBzdGQ6Ol9BbnlfZGF0YSAmKSAoX19mdW5jdG9yPS4uLikg
YXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MTg3MQojMTQgMHgwMDAwN2ZmZmYxZWIw
MTE2IGluIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPjo6b3BlcmF0b3IoKSh2b2lkKSBjb25zdCAodGhp
cz0weDdmZmZmZmZmY2YwMCkgYXQgL3Vzci9pbmNsdWRlL2MrKy81L2Z1bmN0aW9uYWw6MjI3MQoj
MTUgMHgwMDAwN2ZmZmVjM2E2MmU3IGluIFdURjo6UnVuTG9vcDo6cGVyZm9ybVdvcmsgKHRoaXM9
MHg3ZmZmZGIzZmIxODApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuY3BwOjEyMQoj
MTYgMHgwMDAwN2ZmZmVjM2RlYjZjIGluIFdURjo6UnVuTG9vcDo6UnVuTG9vcCgpOjp7bGFtYmRh
KHZvaWQqKSMxfTo6b3BlcmF0b3IoKSh2b2lkKikgY29uc3QgKCkgYXQgLi4vLi4vU291cmNlL1dU
Ri93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6NjYKIzE3IDB4MDAwMDdmZmZlYzNkZWI5MSBpbiBX
VEY6OlJ1bkxvb3A6OlJ1bkxvb3AoKTo6e2xhbWJkYSh2b2lkKikjMX06Ol9GVU4odm9pZCopICgp
IGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjY4CiMxOCAweDAw
MDA3ZmZmZWMzZGViMGMgaW4gV1RGOjo8bGFtYmRhKEdTb3VyY2UqLCBHU291cmNlRnVuYywgZ3Bv
aW50ZXIpPjo6b3BlcmF0b3IoKShHU291cmNlICosIEdTb3VyY2VGdW5jLCBncG9pbnRlcikgY29u
c3QgKF9fY2xvc3VyZT0weDAsIHNvdXJjZT0weGFlNjg2MCwgCiAgICBjYWxsYmFjaz0weDdmZmZl
YzNkZWI3NCA8V1RGOjpSdW5Mb29wOjpSdW5Mb29wKCk6OntsYW1iZGEodm9pZCopIzF9OjpfRlVO
KHZvaWQqKT4sIHVzZXJEYXRhPTB4N2ZmZmRiM2ZiMTgwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcDo0NAojMTkgMHgwMDAwN2ZmZmVjM2RlYjNiIGluIFdURjo6
PGxhbWJkYShHU291cmNlKiwgR1NvdXJjZUZ1bmMsIGdwb2ludGVyKT46Ol9GVU4oR1NvdXJjZSAq
LCBHU291cmNlRnVuYywgZ3BvaW50ZXIpICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL2dsaWIv
UnVuTG9vcEdMaWIuY3BwOjQ1CiMyMCAweDAwMDA3ZmZmZTk1NWJiZWEgaW4gZ19tYWluX2Rpc3Bh
dGNoIChjb250ZXh0PTB4NDY2NjQwKSBhdCBnbWFpbi5jOjMxMjIKIzIxIGdfbWFpbl9jb250ZXh0
X2Rpc3BhdGNoIChjb250ZXh0PWNvbnRleHRAZW50cnk9MHg0NjY2NDApIGF0IGdtYWluLmM6Mzcz
NwojMjIgMHgwMDAwN2ZmZmU5NTViZjY4IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRl
eHQ9MHg0NjY2NDAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5
PTEsIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM4MDgKIzIzIDB4MDAwMDdmZmZl
OTU1YzI4MiBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHhhZjU4MjApIGF0IGdtYWluLmM6NDAw
MgojMjQgMHgwMDAwN2ZmZmVjM2RmMTA0IGluIFdURjo6UnVuTG9vcDo6cnVuICgpIGF0IC4uLy4u
L1NvdXJjZS9XVEYvd3RmL2dsaWIvUnVuTG9vcEdMaWIuY3BwOjk0CiMyNSAweDAwMDA3ZmZmZjI0
NTAxOTkgaW4gV2ViS2l0OjpDaGlsZFByb2Nlc3NNYWluPFdlYktpdDo6V2ViUHJvY2VzcywgV2Vi
S2l0OjpXZWJQcm9jZXNzTWFpbj4gKGFyZ2M9MiwgYXJndj0weDdmZmZmZmZmZDM0OCkgYXQgLi4v
Li4vU291cmNlL1dlYktpdDIvU2hhcmVkL3VuaXgvQ2hpbGRQcm9jZXNzTWFpbi5oOjYxCiMyNiAw
eDAwMDA3ZmZmZjI0NTAwMDAgaW4gV2ViS2l0OjpXZWJQcm9jZXNzTWFpblVuaXggKGFyZ2M9Miwg
YXJndj0weDdmZmZmZmZmZDM0OCkgYXQgLi4vLi4vU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9n
dGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwOjc3CiMyNyAweDAwMDAwMDAwMDA0MDBjNmEgaW4gbWFp
biAoYXJnYz0yLCBhcmd2PTB4N2ZmZmZmZmZkMzQ4KSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0VudHJ5UG9pbnQvdW5peC9XZWJQcm9jZXNzTWFpbi5jcHA6NDQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265572</attachid>
            <date>2015-11-16 00:48:19 -0800</date>
            <delta_ts>2015-11-16 03:54:11 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk2-ac-crash.diff</filename>
            <type>text/plain</type>
            <size>10682</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0M2NhOTE1Li40ZTMzZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAg
QEAKKzIwMTUtMTEtMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFtHVEtdIFdlYiBQcm9jZXNzIGNyYXNoZXMgb24gcmVwYXJlbnRpbmcgYSBX
ZWJWaWV3IHdpdGggQUMgbW9kZSBvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUxMTM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2hlbiB0aGUgd2ViIHZpZXcgaXMgcmVwYXJlbnRlZCwgdGhlIHdpZGdl
dCBpcyBmaXJzdCB1bnJlYWxpemVkLAorICAgICAgICBhbmQgdGhlbiByZWFsaXplZCBhZ2FpbiB3
aGVuIGFkZGVkIHRvIHRoZSBuZXcgcGFyZW50LiBJbiB0aGUKKyAgICAgICAgc2Vjb25kIHJlYWxp
emUsIHRoZSBvbGQgcmVkaXJlY3RlZCBYQ29tcG9zaXRlIHdpbmRvdyBpcyBkZXN0cm95ZWQKKyAg
ICAgICAgYW5kIGEgbmV3IG9uZSBpcyBjcmVhdGVkLCBidXQgdGhlIHdlYiBwcm9jZXNzIGlzIHN0
aWxsIHVzaW5nIHRoZQorICAgICAgICBvbGQgcmVkaXJlY3RlZCB3aW5kb3cgSUQuIEFzIHNvb24g
YXMgdGhlIHJlZGlyZWN0ZWQgd2luZG93IGlzCisgICAgICAgIGRlc3Ryb3llZCBhbmQgdGhlIHdl
YiBwcm9jZXNzIHRyaWVzIHRvIHVzZSB0aGUgd2luZG93IElELCBpdAorICAgICAgICBjcmFzaGVz
IGR1ZSB0byBhIEJhZERyYXdhYmxlIFggZXJyb3IuIFdlIGhhdmUgdG8gbm90aWZ5IHRoZSB3ZWIK
KyAgICAgICAgcHJvY2VzcyBhcyBzb29uIGFzIHRoZSB3ZWIgdmlldyBpcyB1bnJlYWxpemVkIHRv
IHN0b3AgdXNpbmcgdGhlCisgICAgICAgIGN1cnJlbnQgd2luZG93IElEIGFuZCBleGl0IGFjY2Vs
ZXJhdGVkIGNvbXBvc2l0aW5nIG1vZGUgdW50aWwgYQorICAgICAgICBuZXcgd2luZG93IElEIGlz
IGdpdmVuLiBUaGlzIG5vdGlmaWNhdGlvbiBuZWVkcyB0byBiZSBzeW5jaHJvbm91cywKKyAgICAg
ICAgYmVjYXVzZSB0aGUgd2luZG93IGNhbiBiZSBkZXN0cm95ZWQgaW4gdGhlIFVJIHByb2Nlc3Mg
YmVmb3JlIHRoZQorICAgICAgICBtZXNzYWdlIGlzIHJlY2VpdmVkIGluIHRoZSB3ZWIgcHJvY2Vz
cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoK
KyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZSk6IEFkZCBhbiBhc3NlcnQgdG8gZW5z
dXJlIHdlIG5ldmVyIGhhdmUKKyAgICAgICAgYSByZWRpcmVjdGVkIHdpbmRvdyB3aGVuIHRoZSB2
aWV3IGlzIHJlYWxpemVkLiBBbHNvIGNoZWNrIGRyYXdpbmcKKyAgICAgICAgYXJlYSBpcyBub3Qg
bnVsbHB0ciwgc2luY2UgaXQgY2FuIGJlIGRlc3Ryb3llZCBhdCBhbnkgdGltZSBpZiB0aGUKKyAg
ICAgICAgd2ViIHByb2Nlc3MgY3Jhc2hlcy4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlVW5y
ZWFsaXplKTogQ2FsbAorICAgICAgICBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZGVzdHJveU5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpCisgICAgICAgIGFuZCBkZXN0cm95IHRoZSBy
ZWRpcmVjdGVkIFhDb21wb3NpdGUgd2luZG93LgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBs
OjpkZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKToKKyAgICAgICAgU2Vu
ZCBEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nIHN5bmNocm9ub3VzIG1l
c3NzYWdlCisgICAgICAgIHRvIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVz
c2FnZXMuaW46IEFkZAorICAgICAgICBEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBv
c2l0aW5nIG1lc3NhZ2UuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6ZGVzdHJveU5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6CisgICAgICAgIFNldCB0aGUgbmF0aXZlIHN1
cmZhY2UgaGFuZGxlciBmb3IgY29tcG9zaXRpbmcgdG8gMCB0byByZXNldCBpdC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TGF5ZXJUcmVlSG9zdEd0azo6bWFrZUNvbnRleHRDdXJyZW50KTogUmV0dXJuIGZhbHNlCisgICAg
ICAgIGVhcmx5IGFsd2F5cyB3aGVuIGxheWVyIHRyZWUgY29udGV4dCBJRCBpcyAwLCBldmVuIGlm
IHdlIGFscmVhZHkKKyAgICAgICAgaGF2ZSBhIGNvbnRleHQuCisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3RHdGs6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6Cisg
ICAgICAgIENhbmNlbCBhbnkgcGVuZGluZyBsYXllciBmbHVzaCB3aGVuIHNldHRpbmcgYSBuZXcg
aGFuZGxlci4KKwogMjAxNS0xMS0xMyAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5MjQ0NSwgcjE5MjQ1
MSwgYW5kIHIxOTI0NTIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggMTE5NGE5Ny4uMGM4OTkyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdC
YXNlLmNwcApAQCAtMjgwLDYgKzI4MCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNl
UmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKIAogI2lmIFVTRShSRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XKQogICAgIGlmIChQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3BsYXkoKS50eXBl
KCkgPT0gUGxhdGZvcm1EaXNwbGF5OjpUeXBlOjpYMTEpIHsKKyAgICAgICAgQVNTRVJUKCFwcml2
LT5yZWRpcmVjdGVkV2luZG93KTsKICAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyA9IFJl
ZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpjcmVhdGUoCiAgICAgICAgICAgICBndGtfd2lkZ2V0
X2dldF9wYXJlbnRfd2luZG93KHdpZGdldCksCiAgICAgICAgICAgICBbd2ViVmlld10gewpAQCAt
Mjg4LDggKzI4OSw4IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZShHdGtX
aWRnZXQqIHdpZGdldCkKICAgICAgICAgICAgICAgICAgICAgZ3RrX3dpZGdldF9xdWV1ZV9kcmF3
KEdUS19XSURHRVQod2ViVmlldykpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIGlmIChwcml2
LT5yZWRpcmVjdGVkV2luZG93KSB7Ci0gICAgICAgICAgICBEcmF3aW5nQXJlYVByb3h5SW1wbCog
ZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5SW1wbCo+KHByaXYtPnBh
Z2VQcm94eS0+ZHJhd2luZ0FyZWEoKSk7Ci0gICAgICAgICAgICBkcmF3aW5nQXJlYS0+c2V0TmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPndp
bmRvd0lEKCkpOworICAgICAgICAgICAgaWYgKERyYXdpbmdBcmVhUHJveHlJbXBsKiBkcmF3aW5n
QXJlYSA9IHN0YXRpY19jYXN0PERyYXdpbmdBcmVhUHJveHlJbXBsKj4ocHJpdi0+cGFnZVByb3h5
LT5kcmF3aW5nQXJlYSgpKSkKKyAgICAgICAgICAgICAgICBkcmF3aW5nQXJlYS0+c2V0TmF0aXZl
U3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPndpbmRv
d0lEKCkpOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCkBAIC0zMjksOCArMzMwLDggQEAgc3Rh
dGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VSZWFsaXplKEd0a1dpZGdldCogd2lkZ2V0KQogICAg
IGdka193aW5kb3dfc2V0X3VzZXJfZGF0YSh3aW5kb3csIHdpZGdldCk7CiAKICNpZiBVU0UoVEVY
VFVSRV9NQVBQRVIpICYmIFBMQVRGT1JNKFgxMSkgJiYgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XKQotICAgIERyYXdpbmdBcmVhUHJveHlJbXBsKiBkcmF3aW5nQXJlYSA9IHN0YXRp
Y19jYXN0PERyYXdpbmdBcmVhUHJveHlJbXBsKj4ocHJpdi0+cGFnZVByb3h5LT5kcmF3aW5nQXJl
YSgpKTsKLSAgICBkcmF3aW5nQXJlYS0+c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0
aW5nKEdES19XSU5ET1dfWElEKHdpbmRvdykpOworICAgIGlmIChEcmF3aW5nQXJlYVByb3h5SW1w
bCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5SW1wbCo+KHByaXYt
PnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSkpCisgICAgICAgIGRyYXdpbmdBcmVhLT5zZXROYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoR0RLX1dJTkRPV19YSUQod2luZG93KSk7CiAj
ZW5kaWYKIAogICAgIGd0a19zdHlsZV9jb250ZXh0X3NldF9iYWNrZ3JvdW5kKGd0a193aWRnZXRf
Z2V0X3N0eWxlX2NvbnRleHQod2lkZ2V0KSwgd2luZG93KTsKQEAgLTM0NSw2ICszNDYsMTMgQEAg
c3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VSZWFsaXplKEd0a1dpZGdldCogd2lkZ2V0KQog
c3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VVbnJlYWxpemUoR3RrV2lkZ2V0KiB3aWRnZXQp
CiB7CiAgICAgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVdfQkFT
RSh3aWRnZXQpOworI2lmIFVTRShURVhUVVJFX01BUFBFUikgJiYgUExBVEZPUk0oWDExKQorICAg
IGlmIChEcmF3aW5nQXJlYVByb3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3
aW5nQXJlYVByb3h5SW1wbCo+KHdlYlZpZXctPnByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEo
KSkpCisgICAgICAgIGRyYXdpbmdBcmVhLT5kZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNv
bXBvc2l0aW5nKCk7CisjZW5kaWYKKyNpZiBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRP
VykKKyAgICB3ZWJWaWV3LT5wcml2LT5yZWRpcmVjdGVkV2luZG93ID0gbnVsbHB0cjsKKyNlbmRp
ZgogICAgIGd0a19pbV9jb250ZXh0X3NldF9jbGllbnRfd2luZG93KHdlYlZpZXctPnByaXYtPmlu
cHV0TWV0aG9kRmlsdGVyLmNvbnRleHQoKSwgbnVsbHB0cik7CiAKICAgICBHVEtfV0lER0VUX0NM
QVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPnVucmVhbGl6ZSh3aWRnZXQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5j
cHAKaW5kZXggYWJhOWRlYi4uZWIxNDE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0zMTQsNiArMzE0LDEyIEBAIHZvaWQg
RHJhd2luZ0FyZWFQcm94eUltcGw6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGlu
Zyh1aW50NjRfdCBoYW5kbGUpCiB7CiAgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmQo
TWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRp
bmcoaGFuZGxlKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOwogfQorCit2b2lkIERyYXdpbmdB
cmVhUHJveHlJbXBsOjpkZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKCkK
K3sKKyAgICBib29sIGhhbmRsZWQ7CisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmRT
eW5jKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6RGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JD
b21wb3NpdGluZygpLCBNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkRlc3Ryb3lOYXRpdmVTdXJmYWNl
SGFuZGxlRm9yQ29tcG9zaXRpbmc6OlJlcGx5KGhhbmRsZWQpLCBtX3dlYlBhZ2VQcm94eS5wYWdl
SUQoKSk7Cit9CiAjZW5kaWYKIAogdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6ZXhpdEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggMTlmNDM0Zi4uM2RjOWVlYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAgLTUwLDYgKzUw
LDcgQEAgcHVibGljOgogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBQTEFURk9STShHVEsp
CiAgICAgdm9pZCBzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3Qp
OworICAgIHZvaWQgZGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpOwog
I2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5oCmluZGV4IGJlMjYwMTAuLjNjZWE1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC0xNTAsNiArMTUwLDcg
QEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICAvLyBJUEM6Ok1lc3NhZ2VSZWNlaXZlci4KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpN
ZXNzYWdlRGVjb2RlciYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlU3lu
Y01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYsIHN0ZDo6dW5p
cXVlX3B0cjxJUEM6Ok1lc3NhZ2VFbmNvZGVyPiYpIG92ZXJyaWRlOwogCiAgICAgLy8gTWVzc2Fn
ZSBoYW5kbGVycy4KICAgICAvLyBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIHB1cmUgdmlydHVhbC4K
QEAgLTE3MCw2ICsxNzEsNyBAQCBwcml2YXRlOgogCiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAm
JiBQTEFURk9STShHVEspCiAgICAgdmlydHVhbCB2b2lkIHNldE5hdGl2ZVN1cmZhY2VIYW5kbGVG
b3JDb21wb3NpdGluZyh1aW50NjRfdCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95TmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKGJvb2wmKSA9IDA7CiAjZW5kaWYKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5tZXNzYWdlcy5pbgppbmRleCA4ZDk3OTNjLi45MDk3NzFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2Vz
LmluCkBAIC00Miw1ICs0Miw2IEBAIG1lc3NhZ2VzIC0+IERyYXdpbmdBcmVhIHsKIAogI2lmIFVT
RShURVhUVVJFX01BUFBFUikgJiYgUExBVEZPUk0oR1RLKQogICAgIFNldE5hdGl2ZVN1cmZhY2VI
YW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRfdCBoYW5kbGUpCisgICAgRGVzdHJveU5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpIC0+IChib29sIGhhbmRsZWQpCiAjZW5kaWYKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YUltcGwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5jcHAKaW5kZXggOTI5NjcyZS4uMDkzYTUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAKQEAgLTY5OSw2ICs2
OTksMTIgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JD
b21wb3NpdGluZyh1aW50NjRfdCBoYW5kbGUpCiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0
TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKGhhbmRsZSk7CiAgICAgfQogfQorCit2
b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3Np
dGluZyhib29sJiBoYW5kbGVkKQoreworICAgIGhhbmRsZWQgPSB0cnVlOworICAgIHNldE5hdGl2
ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygwKTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYUltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYUltcGwuaAppbmRleCAxMzBjZDI2Li44Y2FkMWNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCkBAIC03Miw2
ICs3Miw3IEBAIHByaXZhdGU6CiAKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVIpICYmIFBMQVRGT1JN
KEdUSykKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0
aW5nKHVpbnQ2NF90KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVzdHJveU5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhib29sJikgb3ZlcnJpZGU7CiAjZW5kaWYKIAogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDU19NVUxUSVBST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNw
cAppbmRleCA0OTIwODUwLi5jOGQ1MTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKQEAgLTE0NSwx
MCArMTQ1LDEyIEBAIExheWVyVHJlZUhvc3RHdGs6OkxheWVyVHJlZUhvc3RHdGsoV2ViUGFnZSog
d2ViUGFnZSkKIAogYm9vbCBMYXllclRyZWVIb3N0R3RrOjptYWtlQ29udGV4dEN1cnJlbnQoKQog
ewotICAgIGlmICghbV9jb250ZXh0KSB7Ci0gICAgICAgIGlmICghbV9sYXllclRyZWVDb250ZXh0
LmNvbnRleHRJRCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIW1fbGF5ZXJU
cmVlQ29udGV4dC5jb250ZXh0SUQpIHsKKyAgICAgICAgbV9jb250ZXh0ID0gbnVsbHB0cjsKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KIAorICAgIGlmICghbV9jb250ZXh0KSB7CiAgICAg
ICAgIG1fY29udGV4dCA9IEdMQ29udGV4dDo6Y3JlYXRlQ29udGV4dEZvcldpbmRvdyhyZWludGVy
cHJldF9jYXN0PEdMTmF0aXZlV2luZG93VHlwZT4obV9sYXllclRyZWVDb250ZXh0LmNvbnRleHRJ
RCksIEdMQ29udGV4dDo6c2hhcmluZ0NvbnRleHQoKSk7CiAgICAgICAgIGlmICghbV9jb250ZXh0
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDE2LDYgKzQxOCw3IEBAIHZvaWQgTGF5
ZXJUcmVlSG9zdEd0azo6c2V0Vmlld092ZXJsYXlSb290TGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NM
YXllciogdmlld092ZXJsCiAKIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6c2V0TmF0aXZlU3VyZmFj
ZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90IGhhbmRsZSkKIHsKKyAgICBjYW5jZWxQZW5k
aW5nTGF5ZXJGbHVzaCgpOwogICAgIG1fbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQgPSBoYW5k
bGU7CiAKICAgICAvLyBUaGUgY3JlYXRpb24gb2YgdGhlIFRleHR1cmVNYXBwZXIgbmVlZHMgYW4g
YWN0aXZlIE9wZW5HTCBjb250ZXh0Lgo=
</data>
<flag name="review"
          id="290610"
          type_id="1"
          status="+"
          setter="mario"
    />
          </attachment>
      

    </bug>

</bugzilla>