<?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>106903</bug_id>
          
          <creation_ts>2013-01-15 06:58:20 -0800</creation_ts>
          <short_desc>[GTK] Missing call to g_object_ref while retrieving accessible table cells</short_desc>
          <delta_ts>2013-02-19 13:29:55 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>107261</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Mario Sanchez Prada">mario</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>d-r</cc>
    
    <cc>g.czajkowski</cc>
    
    <cc>k.czech</cc>
    
    <cc>mario</cc>
    
    <cc>plaes</cc>
    
    <cc>rniwa</cc>
    
    <cc>svillar</cc>
    
    <cc>tmpsantos</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>807253</commentid>
    <comment_count>0</comment_count>
      <attachid>182758</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-01-15 06:58:20 -0800</bug_when>
    <thetext>Created attachment 182758
test case

Steps to reproduce:

1. Load the test case in Epiphany
2. Start the event listener in a terminal
3. Give focus back to Epiphany

Expected results:

1. &quot;Success&quot; would be printed in the terminal window
2. Epiphany would not crash

Actual results:

1. &quot;Failure after x calls&quot; is printed in the terminal window
2. Epiphany might crash

Other details:

* The number of calls before failure is, for me, at least 3
* This problem does not occur if I prevent the unref of table cells in at-spi2-atk
* This problem does not occur in Firefox or gtk-demo

So it seems that we might be unrefing a table cell somewhere where we shouldn&apos;t be. But I so far have been unable to find it. And the fact that the number of times varies makes me wonder if there&apos;s not a race condition or at-spi2 registry timeout coming into play. :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807255</commentid>
    <comment_count>1</comment_count>
      <attachid>182759</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-01-15 06:59:01 -0800</bug_when>
    <thetext>Created attachment 182759
event listener</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807256</commentid>
    <comment_count>2</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-01-15 07:01:02 -0800</bug_when>
    <thetext>CCing Piñeiro as I have spent an entire day GDBing this and am still clueless. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807266</commentid>
    <comment_count>3</comment_count>
    <who name="Priit Laes (IRC: plaes)">plaes</who>
    <bug_when>2013-01-15 07:17:57 -0800</bug_when>
    <thetext>Example traceback from my case:

[snip]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff54088db in WebCore::AccessibilityTableCell::parentTable () from /usr/lib64/libwebkitgtk-3.0.so.0
(gdb) t
[Current thread is 1 (Thread 0x7ffff7f8c940 (LWP 31706))]
(gdb) bt
#0  0x00007ffff54088db in WebCore::AccessibilityTableCell::parentTable () from /usr/lib64/libwebkitgtk-3.0.so.0
#1  0x00007ffff54086dd in WebCore::AccessibilityTableCell::isTableCell () from /usr/lib64/libwebkitgtk-3.0.so.0
#2  0x00007ffff540870d in WebCore::AccessibilityTableCell::roleValue () from /usr/lib64/libwebkitgtk-3.0.so.0
#3  0x00007ffff62480e8 in webkitAccessibleDetach () from /usr/lib64/libwebkitgtk-3.0.so.0
#4  0x00007ffff540c5b0 in WebCore::AXObjectCache::remove () from /usr/lib64/libwebkitgtk-3.0.so.0
#5  0x00007ffff540c7c9 in WebCore::AXObjectCache::remove () from /usr/lib64/libwebkitgtk-3.0.so.0
#6  0x00007ffff5bb08bc in WebCore::RenderObject::willBeDestroyed () from /usr/lib64/libwebkitgtk-3.0.so.0
#7  0x00007ffff5acbbfc in WebCore::RenderBlock::willBeDestroyed () from /usr/lib64/libwebkitgtk-3.0.so.0
#8  0x00007ffff5bad2cd in WebCore::RenderObject::destroy () from /usr/lib64/libwebkitgtk-3.0.so.0
#9  0x00007ffff5ba4af9 in WebCore::RenderObjectChildList::destroyLeftoverChildren () from /usr/lib64/libwebkitgtk-3.0.so.0
...
[/snip]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807284</commentid>
    <comment_count>4</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-01-15 07:38:23 -0800</bug_when>
    <thetext>And also:

#0  0x00007ffff711607d in webkitAccessibleDetach () from /opt/gnome/lib64/libwebkitgtk-3.0.so.0
#1  0x00007ffff630631f in WebCore::AXObjectCache::~AXObjectCache() () from /opt/gnome/lib64/libwebkitgtk-3.0.so.0
#2  0x00007ffff64d84a5 in WebCore::Document::clearAXObjectCache() () from /opt/gnome/lib64/libwebkitgtk-3.0.so.0
#3  0x00007ffff64eb888 in WebCore::Document::detach() () from /opt/gnome/lib64/libwebkitgtk-3.0.so.0
#4  0x00007ffff6907a30 in WebCore::Frame::setView(WTF::PassRefPtr&lt;WebCore::FrameView&gt;) ()
   from /opt/gnome/lib64/libwebkitgtk-3.0.so.0
#5  0x00007ffff686b1b3 in WebCore::FrameLoader::detachFromParent() () from /opt/gnome/lib64/libwebkitgtk-3.0.so.0
#6  0x00007ffff62d5288 in webkit_web_view_dispose(_GObject*) () from /opt/gnome/lib64/libwebkitgtk-3.0.so.0
#7  0x00007fffef9903b1 in g_object_run_dispose (object=0x161e530) at gobject.c:1062
#8  0x00007ffff135205f in gtk_scrolled_window_forall (container=0x717620, include_internals=0, 
    callback=0x7ffff141df30 &lt;gtk_widget_destroy&gt;, callback_data=0x0) at gtkscrolledwindow.c:1581
#9  0x00007ffff1236cb5 in gtk_container_destroy (widget=0x717620) at gtkcontainer.c:1378
#10 0x00007fffef989f9e in g_closure_invoke (closure=closure@entry=0x6d7c10, return_value=return_value@entry=0x0, 
    n_param_values=1, param_values=param_values@entry=0x7fffffffb180, 
    invocation_hint=invocation_hint@entry=0x7fffffffb120) at gclosure.c:777
#11 0x00007fffef99c585 in signal_emit_unlocked_R (node=node@entry=0x6d80b0, detail=detail@entry=0, 
    instance=instance@entry=0x717620, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7fffffffb180) at gsignal.c:3683
#12 0x00007fffef9a44ce in g_signal_emit_valist (instance=0x717620, signal_id=&lt;optimized out&gt;, detail=0, 
    var_args=var_args@entry=0x7fffffffb3b8) at gsignal.c:3315
#13 0x00007fffef9a46c2 in g_signal_emit (instance=instance@entry=0x717620, signal_id=&lt;optimized out&gt;, 
    detail=detail@entry=0) at gsignal.c:3371
#14 0x00007ffff142a498 in gtk_widget_dispose (object=0x717620) at gtkwidget.c:10354
#15 0x00007fffef9903b1 in g_object_run_dispose (object=0x717620) at gobject.c:1062

[snip]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807285</commentid>
    <comment_count>5</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-01-15 07:39:33 -0800</bug_when>
    <thetext>And one more:

#0  0x00007fffebdf66fc in g_type_check_instance_is_a (type_instance=type_instance@entry=0x1dfa8f0, 
    iface_type=&lt;optimized out&gt;) at gtype.c:3986
#1  0x00007fffece488dc in atk_object_set_parent (accessible=0x1dfa8f0, parent=0x1dec770) at atkobject.c:1072
#2  0x00007ffff39307b0 in webkitAccessibleRefChild (object=0x1dec770, index=8)
    at Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:364
#3  0x00007ffff19a93b7 in append_cache_item (obj=0x1dec770, data=0x7fffffffd3e0) at cache-adaptor.c:156
#4  0x00007fffebad68b0 in g_hash_table_foreach (hash_table=0x939a40, 
    func=func@entry=0x7ffff19a9770 &lt;append_accessible_hf&gt;, user_data=user_data@entry=0x7fffffffd3e0) at ghash.c:1488
#5  0x00007ffff19a0259 in spi_cache_foreach (cache=&lt;optimized out&gt;, 
    func=func@entry=0x7ffff19a9770 &lt;append_accessible_hf&gt;, data=data@entry=0x7fffffffd3e0) at accessible-cache.c:418
#6  0x00007ffff19a90a5 in impl_GetItems (bus=&lt;optimized out&gt;, message=&lt;optimized out&gt;, user_data=&lt;optimized out&gt;)
    at cache-adaptor.c:315
#7  0x00007ffff19a6c71 in handle_other (pathstr=0x1f67588 &quot;/org/a11y/atspi/cache&quot;, member=&lt;optimized out&gt;, 
    iface=0x1f675b8 &quot;org.a11y.atspi.Cache&quot;, path=0x1236800, message=0x1cd8770, bus=0x906040) at droute.c:539
#8  handle_message (bus=0x906040, message=message@entry=0x1cd8770, user_data=user_data@entry=0x1236800)
    at droute.c:586
#9  0x000000367881d9c5 in _dbus_object_tree_dispatch_and_unlock (tree=0x932b30, message=message@entry=0x1cd8770, 
    found_object=found_object@entry=0x7fffffffd5b4) at dbus-object-tree.c:862

[snip]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807365</commentid>
    <comment_count>6</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-01-15 09:12:48 -0800</bug_when>
    <thetext>I think that this bug is now reflective of multiple bugs. But until we get to the bottom of things, this can be the &quot;tables are f*cked badly&quot; meta bug. ;)

In that spirit, several accessibility-table-related Layout Tests are now crashing. :( Through the magic of git bisect, the winner seems to be the commit associated with: https://bugs.webkit.org/show_bug.cgi?id=104171

My gut is telling me this commit is not so much the cause of the bugs here, but rather made more obvious the fact that we have some serious brokenness elsewhere related to tables. For instance, I&apos;ve seen flakiness similar to what I state in my opening report for months now. I just hadn&apos;t found a reliable way to reproduce it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807439</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2013-01-15 10:34:35 -0800</bug_when>
    <thetext>Here&apos;s another backtrace from the debug builder, showing the crashes in the aforementioned a11y layout tests.
The tests that are crashing:
accessibility/aria-tables.html
accessibility/aria-hidden-with-elements.html
platform/gtk/accessibility/aria-table-hierarchy.html

Thread 1 (Thread 0x7f97216e0900 (LWP 11963)):
#0  0x00007f972cbf127c in WTF::HashTable&lt;WebCore::RenderBoxModelObject const*, WTF::KeyValuePair&lt;WebCore::RenderBoxModelObject const*, WebCore::RenderBoxModelObject*&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::RenderBoxModelObject const*, WebCore::RenderBoxModelObject*&gt; &gt;, WTF::PtrHash&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject*&gt; &gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject const*&gt; &gt;::checkKey&lt;WTF::IdentityHashTranslator&lt;WTF::PtrHash&lt;WebCore::RenderBoxModelObject const*&gt; &gt;, WebCore::RenderBoxModelObject const*&gt; (this=&lt;error reading variable: Cannot access memory at address 0x7fff02651fe8&gt;, key=&lt;error reading variable: Cannot access memory at address 0x7fff02651fe0&gt;) at ../../Source/WTF/wtf/HashTable.h:584
#1  0x00007f972cbef6a7 in WTF::HashTable&lt;WebCore::RenderBoxModelObject const*, WTF::KeyValuePair&lt;WebCore::RenderBoxModelObject const*, WebCore::RenderBoxModelObject*&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::RenderBoxModelObject const*, WebCore::RenderBoxModelObject*&gt; &gt;, WTF::PtrHash&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject*&gt; &gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject const*&gt; &gt;::lookup&lt;WTF::IdentityHashTranslator&lt;WTF::PtrHash&lt;WebCore::RenderBoxModelObject const*&gt; &gt;, WebCore::RenderBoxModelObject const*&gt; (this=0x2c40220, key=@0x7fff026520e8: 0x2cdf978) at ../../Source/WTF/wtf/HashTable.h:602
#2  0x00007f972cbedfaf in WTF::HashTable&lt;WebCore::RenderBoxModelObject const*, WTF::KeyValuePair&lt;WebCore::RenderBoxModelObject const*, WebCore::RenderBoxModelObject*&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::RenderBoxModelObject const*, WebCore::RenderBoxModelObject*&gt; &gt;, WTF::PtrHash&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashMapValueTraits&lt;WTF::HashTraits&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject*&gt; &gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject const*&gt; &gt;::lookup (this=0x2c40220, key=@0x7fff026520e8: 0x2cdf978) at ../../Source/WTF/wtf/HashTable.h:419
#3  0x00007f972cbecb8b in WTF::HashMap&lt;WebCore::RenderBoxModelObject const*, WebCore::RenderBoxModelObject*, WTF::PtrHash&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject const*&gt;, WTF::HashTraits&lt;WebCore::RenderBoxModelObject*&gt; &gt;::get (this=0x2c40220, key=@0x7fff026520e8: 0x2cdf978) at ../../Source/WTF/wtf/HashMap.h:368
#4  0x00007f972cbe9bb7 in WebCore::RenderBoxModelObject::continuation (this=0x2cdf978) at ../../Source/WebCore/rendering/RenderBoxModelObject.cpp:2683
#5  0x00007f972cb543de in WebCore::RenderBlock::inlineElementContinuation (this=0x2cdf978) at ../../Source/WebCore/rendering/RenderBlock.cpp:3113
#6  0x00007f972c170d57 in WebCore::startOfContinuations (r=0x2cdf978) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:261
#7  0x00007f972c171676 in WebCore::AccessibilityRenderObject::renderParentObject (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:436
#8  0x00007f972c171996 in WebCore::AccessibilityRenderObject::parentObject (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:491
#9  0x00007f972c165c2d in WebCore::AccessibilityObject::parentObjectUnignored (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:345
#10 0x00007f972c1547d3 in WebCore::AccessibilityARIAGridRow::parentTable (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp:123
#11 0x00007f972c189421 in WebCore::AccessibilityTableRow::isTableRow (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityTableRow.cpp:72
#12 0x00007f972c1893df in WebCore::AccessibilityTableRow::roleValue (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityTableRow.cpp:64
#13 0x00007f972c1630b7 in WebCore::AccessibilityObject::isWebArea (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityObject.h:381
#14 0x00007f972c1719d7 in WebCore::AccessibilityRenderObject::parentObject (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:496
#15 0x00007f972c165c2d in WebCore::AccessibilityObject::parentObjectUnignored (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:345
#16 0x00007f972c1547d3 in WebCore::AccessibilityARIAGridRow::parentTable (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp:123
#17 0x00007f972c189421 in WebCore::AccessibilityTableRow::isTableRow (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityTableRow.cpp:72
#18 0x00007f972c1893df in WebCore::AccessibilityTableRow::roleValue (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityTableRow.cpp:64
#19 0x00007f972c1630b7 in WebCore::AccessibilityObject::isWebArea (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityObject.h:381
#20 0x00007f972c1719d7 in WebCore::AccessibilityRenderObject::parentObject (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:496
#21 0x00007f972c165c2d in WebCore::AccessibilityObject::parentObjectUnignored (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityObject.cpp:345
#22 0x00007f972c1547d3 in WebCore::AccessibilityARIAGridRow::parentTable (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityARIAGridRow.cpp:123
#23 0x00007f972c189421 in WebCore::AccessibilityTableRow::isTableRow (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityTableRow.cpp:72
#24 0x00007f972c1893df in WebCore::AccessibilityTableRow::roleValue (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityTableRow.cpp:64
#25 0x00007f972c1630b7 in WebCore::AccessibilityObject::isWebArea (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityObject.h:381
#26 0x00007f972c1719d7 in WebCore::AccessibilityRenderObject::parentObject (this=0x2bb4c00) at ../../Source/WebCore/accessibility/AccessibilityRenderObject.cpp:496
... (Note that the backtrace shows a loop through the last 6 frames)

I&apos;ve created bug #106922 to cover the crashing layout tests, but that bug essentially depends on this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807870</commentid>
    <comment_count>8</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-01-15 17:53:40 -0800</bug_when>
    <thetext>(In reply to comment #7)
 
&gt; I&apos;ve created bug #106922 to cover the crashing layout tests, but that bug essentially depends on this one.

Thanks Zan! :)

Having looked into it, the crashing layout tests had absolutely nothing to do with my original report or my comment 4 and comment 5 crashers. It looks similar to Priit&apos;s comment 3 crasher, but I&apos;m not positive it is. Like I said, we have all sorts of table-related issues. :-/ So I wound up attaching my proposed fix for the crashing layout tests on the bug you filed.

Priit do you have a reliable crasher that you could use to determine if your problem is bug 106922 and/or give us more to debug with?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808080</commentid>
    <comment_count>9</comment_count>
    <who name="Priit Laes (IRC: plaes)">plaes</who>
    <bug_when>2013-01-15 23:22:17 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; 
&gt; Priit do you have a reliable crasher that you could use to determine if your problem is bug 106922 and/or give us more to debug with?

Two quite reliable crashers:
  1) epiphany - close tab
  2) evolution - switch emails (I guess this was html-email containing tables)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824244</commentid>
    <comment_count>10</comment_count>
      <attachid>186349</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-04 04:30:48 -0800</bug_when>
    <thetext>Created attachment 186349
Add missing extra ref to implementation of atk_table_ref_at()

(In reply to comment #0)
&gt; Created an attachment (id=182758) [details]
&gt; test case
&gt; 
&gt; Steps to reproduce:
&gt; 
&gt; 1. Load the test case in Epiphany
&gt; 2. Start the event listener in a terminal
&gt; 3. Give focus back to Epiphany
&gt; 
&gt; Expected results:
&gt; 
&gt; 1. &quot;Success&quot; would be printed in the terminal window
&gt; 2. Epiphany would not crash
&gt; 
&gt; Actual results:
&gt; 
&gt; 1. &quot;Failure after x calls&quot; is printed in the terminal window
&gt; 2. Epiphany might crash
&gt; 
&gt; Other details:
&gt; 
&gt; * The number of calls before failure is, for me, at least 3
&gt; * This problem does not occur if I prevent the unref of table cells in at-spi2-atk
&gt; * This problem does not occur in Firefox or gtk-demo
&gt; 
&gt; So it seems that we might be unrefing a table cell somewhere where we shouldn&apos;t be.
&gt; But I so far have been unable to find it. And the fact that the number of times
&gt; varies makes me wonder if there&apos;s not a race condition or at-spi2 registry timeout
&gt; coming into play. :-/

I was checking this for a while now and I think the problem might be other than an extra and uneeded unref. More specifically, I think the problem is that there&apos;s a &quot;missing and needed ref&quot; in the implementation of the atk_table_ref_at() method, which is meant to return a transfer-full reference to the AtkObject representing the cell, but that it&apos;s now returning the internal pointer held in WebCore&apos;s AccessibilityObject::m_wrapper

   In accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
   ========================================================

   static AtkObject* webkitAccessibleTableRefAt(AtkTable* table, gint row, gint column)
   {
        AccessibilityTableCell* axCell = cell(table, row, column);
        if (!axCell)
            return 0;

       return axCell-&gt;wrapper();
   }

   [...]

   In accessibility/atk/AccessibilityObjectAtk.cpp:
   ================================================
   AccessibilityObjectWrapper* AccessibilityObject::wrapper() const
   {
       return m_wrapper;
   }


Thus, I believe this is what was causing the issue when getting the cell from the event listener example (I could reproduce the issue in Accerciser too), since the implementation of &quot;GetAccessibleAt&quot; in the side of the ATK bridge is as follows:

   static DBusMessage *
   impl_GetAccessibleAt (DBusConnection * bus, DBusMessage * message,
                         void *user_data)
   {
     AtkTable *table = (AtkTable *) user_data;
     [...]

     obj = atk_table_ref_at (table, row, column);
     reply = spi_object_return_reference (message, obj);
     if (obj)
       g_object_unref (obj);

     return reply;
   }


I think that g_object_unref() is the one you (Joanie) commented to check if it fixed the issue, but that unref is Ok since atk_table_ref_at() is a transfer-full method, which reinforces my belief that the problem here was a missing call to g_object_ref(). You can actually check with gdb that ref_count for &quot;obj&quot; is zero here, too.

Last, regarding to the undeterministic nature of the failure, I do also think that the at-spi2 registry might have something to do with that. Probably the cached version of the AT-SPI object representing the still valid version of the cell (before reaching ref_count zero in WebKit) is still being returned to pyatspi for some time.

So, attaching a one-liner patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824279</commentid>
    <comment_count>11</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-02-04 05:37:47 -0800</bug_when>
    <thetext>&gt; So, attaching a one-liner patch :)

Suhweet!! :) That fixes the problem I was seeing with Orca (but could not come up with a reliably-reproducible test case for). Thank YOU!!!

Any suggestions regarding a layout test to go with this patch? (Or could we go layout-testless on the grounds that it&apos;s a one-liner patch that fixes a hard-to-repro, but pain in the arse bug?)

I am now going to build webkit with this patch in my GNOME jhbuild environment to see if it makes the Orca + Evolution crasher go away. /me crosses her fingers.

Thanks again!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824285</commentid>
    <comment_count>12</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-04 05:43:51 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; So, attaching a one-liner patch :)
&gt; 
&gt; Suhweet!! :) That fixes the problem I was seeing with Orca (but could not come 
&gt; up with a reliably-reproducible test case for). Thank YOU!!!

Glad to hear that. Thanks!

&gt; Any suggestions regarding a layout test to go with this patch? (Or could we go 
&gt; layout-testless on the grounds that it&apos;s a one-liner patch that fixes a 
&gt; hard-to-repro, but pain in the arse bug?)

Yes, I think I could write a layout test that calls repeatedly to cellForColumnAndRow() for the accessibilityUIElement representing the table, which should crash without the patch and not with it.

Or we could just write an unit tests to call atk_table_ref_at() directly, too.

I&apos;ll work on that now.

&gt; I am now going to build webkit with this patch in my GNOME jhbuild 
&gt; environment to see if it makes the Orca + Evolution crasher go away. 
&gt; /me crosses her fingers.

/me crosses fingers too!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824332</commentid>
    <comment_count>13</comment_count>
      <attachid>186349</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-04 07:10:55 -0800</bug_when>
    <thetext>Comment on attachment 186349
Add missing extra ref to implementation of atk_table_ref_at()

Attachment 186349 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16366314</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824349</commentid>
    <comment_count>14</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2013-02-04 07:47:44 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; So, attaching a one-liner patch :)
&gt; 
&gt; Suhweet!! :) [...] Thank YOU!!!

+1! Thanks, Mario. - this one makes our bots really sad. Hope we can land this soon, ideally with a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824358</commentid>
    <comment_count>15</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2013-02-04 08:00:17 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #11)
&gt; &gt; &gt; So, attaching a one-liner patch :)
&gt; &gt; 
&gt; &gt; Suhweet!! :) [...] Thank YOU!!!
&gt; 
&gt; +1! Thanks, Mario. - this one makes our bots really sad.

This comment troubles me slightly. Because all the a11y-related crashers related to tables **without an AT like a screen reader running** have AFAIK been fixed already. Which bots are having this problem and with which tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824380</commentid>
    <comment_count>16</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-04 08:28:14 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #11)
&gt; &gt; &gt; So, attaching a one-liner patch :)
&gt; &gt; 
&gt; &gt; Suhweet!! :) [...] Thank YOU!!!
&gt; 
&gt; +1! Thanks, Mario. - this one makes our bots really sad. Hope we can land this soon, ideally with a test.

You&apos;re welcome. And yes, there will be a patch for it, I&apos;m actually about to upload it now.

Besides, I did some further tests and wrote a layout test to check this patch, confirming that was actually the issue here. Thus I&apos;m renaming the bug to avoid confusion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824391</commentid>
    <comment_count>17</comment_count>
      <attachid>186387</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-04 08:35:17 -0800</bug_when>
    <thetext>Created attachment 186387
Patch proposal plus new Layout test

This patch seems to fix the issue as described with the bug report. The test I&apos;m adding is cross platform, so I&apos;m adding Dominic too (Apple and EFL guys already present). Now actually asking for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824405</commentid>
    <comment_count>18</comment_count>
      <attachid>186387</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-04 08:47:16 -0800</bug_when>
    <thetext>Comment on attachment 186387
Patch proposal plus new Layout test

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Test: platform/gtk/accessibility/table-cell-for-column-and-row-crash.html

Looks like the test is wrong in this changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824412</commentid>
    <comment_count>19</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-04 09:00:11 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 186387 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186387&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        Test: platform/gtk/accessibility/table-cell-for-column-and-row-crash.html
&gt; 
&gt; Looks like the test is wrong in this changelog

Ah, right... this comes from a previous version of the patch. 

Thanks for catching this. I&apos;ll change that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824414</commentid>
    <comment_count>20</comment_count>
      <attachid>186392</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-04 09:02:34 -0800</bug_when>
    <thetext>Created attachment 186392
Patch proposal plus new Layout test

New version addressing issue from comment #18</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824488</commentid>
    <comment_count>21</comment_count>
      <attachid>186392</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-04 10:02:08 -0800</bug_when>
    <thetext>Comment on attachment 186392
Patch proposal plus new Layout test

Attachment 186392 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16372296

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824513</commentid>
    <comment_count>22</comment_count>
      <attachid>186387</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-02-04 10:22:04 -0800</bug_when>
    <thetext>Comment on attachment 186387
Patch proposal plus new Layout test

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

&gt; Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:874
&gt;      AtkObject* foundCell = atk_table_ref_at(ATK_TABLE(m_element), row, col);

Could you use GRefPtr here?

&gt; LayoutTests/accessibility/table-cell-for-column-and-row-crash.html:14
&gt; +   axCell = axTable.cellForColumnAndRow(row, column);
&gt; +   shouldBe(&quot;axCell.role&quot;, &quot;&apos;AXRole: AXCell&apos;&quot;);
&gt; +   axCell = null;
&gt; +
&gt; +   // We need to force a call to the Garbage Collector here so we are
&gt; +   // sure that axCell will get actually destroyed after using it.
&gt; +   window.gc();

It&apos;s good practice to use &quot;var&quot; to make sure your variable is scoped to the function instead of a property on window.

&gt; LayoutTests/accessibility/table-cell-for-column-and-row-crash.html:35
&gt; +      axBody = accessibilityController.focusedElement;
&gt; +
&gt; +      axTable = axBody.childAtIndex(0);
&gt; +      shouldBe(&quot;axTable.role&quot;, &quot;&apos;AXRole: AXTable&apos;&quot;);
&gt; +
&gt; +      // Trying to reference the same cell for the table
&gt; +      // multiple times shouldn&apos;t result in a crash.
&gt; +      for (i = 0; i &lt; 10; i++)
&gt; +        getCellForTableAndRelease(axTable, 0, 0);
&gt; +  }

Same here, I&apos;d say.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824544</commentid>
    <comment_count>23</comment_count>
      <attachid>186392</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 10:44:24 -0800</bug_when>
    <thetext>Comment on attachment 186392
Patch proposal plus new Layout test

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

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824626</commentid>
    <comment_count>24</comment_count>
      <attachid>186392</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-04 12:03:41 -0800</bug_when>
    <thetext>Comment on attachment 186392
Patch proposal plus new Layout test

Attachment 186392 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16368319

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824722</commentid>
    <comment_count>25</comment_count>
      <attachid>186392</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-04 13:53:30 -0800</bug_when>
    <thetext>Comment on attachment 186392
Patch proposal plus new Layout test

Attachment 186392 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16377241</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825275</commentid>
    <comment_count>26</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2013-02-05 01:50:10 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; This comment troubles me slightly. Because all the a11y-related crashers related to tables **without an AT like a screen reader running** have AFAIK been fixed already. Which bots are having this problem and with which tests?

I discussed about this with Mario on IRC - might be that my analysis was slightly incomplete. I was observing a11n related assertion failures on the EFL Wk2 bots. But you might be right and these had already gone - sorry if this was confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825297</commentid>
    <comment_count>27</comment_count>
      <attachid>186582</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-05 02:15:40 -0800</bug_when>
    <thetext>Created attachment 186582
Patch proposal plus new Layout test

(In reply to comment #22)
&gt; (From update of attachment 186387 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=186387&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:874
&gt; &gt;      AtkObject* foundCell = atk_table_ref_at(ATK_TABLE(m_element), row, col);
&gt; 
&gt; Could you use GRefPtr here?

Oh! I missed that, sorry. Will change it here and in DRT as well.

&gt; &gt; LayoutTests/accessibility/table-cell-for-column-and-row-crash.html:14
&gt; &gt; +   axCell = axTable.cellForColumnAndRow(row, column);
&gt; &gt; +   shouldBe(&quot;axCell.role&quot;, &quot;&apos;AXRole: AXCell&apos;&quot;);
&gt; &gt; +   axCell = null;
&gt; &gt; +
&gt; &gt; +   // We need to force a call to the Garbage Collector here so we are
&gt; &gt; +   // sure that axCell will get actually destroyed after using it.
&gt; &gt; +   window.gc();
&gt; 
&gt; It&apos;s good practice to use &quot;var&quot; to make sure your variable is scoped to the function instead of a property on window.

Yes, but the problem here is that I wrote all my javascript code inside functions (e.g. test(), to be run when body.onload) and if I use &quot;var&quot; to declare those variables I will obviously give them the scope of those functions, resulting on the shouldBe() statements not working, as they expect strings with the name of globally scoped variables.

Anyway, I agree with you it&apos;s good practice, so I&apos;ll change the test not to use functions and just to use a plain javascript block at the end of the body, as many other tests work (and in this case I don&apos;t think the body.onload thing is crucial anyway). Also, I will make the most of this change to replace the call to window.gc() with a simple call to gc(), which seems to be a safer implementation defined in js-test-pre.js.

&gt; &gt; LayoutTests/accessibility/table-cell-for-column-and-row-crash.html:35
&gt; &gt; +      axBody = accessibilityController.focusedElement;
&gt; &gt; +
&gt; &gt; +      axTable = axBody.childAtIndex(0);
&gt; &gt; +      shouldBe(&quot;axTable.role&quot;, &quot;&apos;AXRole: AXTable&apos;&quot;);
&gt; &gt; +
&gt; &gt; +      // Trying to reference the same cell for the table
&gt; &gt; +      // multiple times shouldn&apos;t result in a crash.
&gt; &gt; +      for (i = 0; i &lt; 10; i++)
&gt; &gt; +        getCellForTableAndRelease(axTable, 0, 0);
&gt; &gt; +  }
&gt; 
&gt; Same here, I&apos;d say.

Ok. Additionally, as I moved everything to a JS block at the end of body, I also merged the content of getCellForTableAndRelease right in the for loop.

(In reply to comment #23)
&gt; (From update of attachment 186392 [details])
&gt; Attachment 186392 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/16373275
&gt; 
&gt; New failing tests:
&gt; accessibility/table-cell-for-column-and-row-crash.html
&gt;
(In reply to comment #24)
&gt; (From update of attachment 186392 [details])
&gt; Attachment 186392 [details] did not pass mac-wk2-ews (mac-wk2):
&gt; Output: http://queues.webkit.org/results/16368319
&gt; 
&gt; New failing tests:
&gt; accessibility/table-cell-for-column-and-row-crash.html

I wonder if these two failures might be related to the (mis)usage of window.gc() instead of js-test-pre.js&apos;s gc() function. Let&apos;s see...

(In reply to comment #25)
&gt; (From update of attachment 186392 [details])
&gt; Attachment 186392 [details] did not pass win-ews (win):
&gt; Output: http://queues.webkit.org/results/16377241

No idea why I get this while the EWS is green at the same time. Btw, any idea how to check the actual output in these EWS bots? It&apos;s quite hard to just wild guess what might be going on without any other input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825343</commentid>
    <comment_count>28</comment_count>
      <attachid>186582</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-05 03:23:48 -0800</bug_when>
    <thetext>Comment on attachment 186582
Patch proposal plus new Layout test

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

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825354</commentid>
    <comment_count>29</comment_count>
      <attachid>186582</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-05 03:51:49 -0800</bug_when>
    <thetext>Comment on attachment 186582
Patch proposal plus new Layout test

Attachment 186582 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16372703

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825357</commentid>
    <comment_count>30</comment_count>
      <attachid>186582</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-05 03:58:09 -0800</bug_when>
    <thetext>Comment on attachment 186582
Patch proposal plus new Layout test

Attachment 186582 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16365753

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825358</commentid>
    <comment_count>31</comment_count>
      <attachid>186582</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-05 03:59:05 -0800</bug_when>
    <thetext>Comment on attachment 186582
Patch proposal plus new Layout test

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

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825414</commentid>
    <comment_count>32</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-05 05:47:30 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 186582 [details])
&gt; Attachment 186582 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/16366740
&gt; 
&gt; New failing tests:
&gt; accessibility/table-cell-for-column-and-row-crash.html

[...]

(In reply to comment #30)
&gt; (From update of attachment 186582 [details])
&gt; Attachment 186582 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/16365753
&gt; 
&gt; New failing tests:
&gt; accessibility/table-cell-for-column-and-row-crash.html

Dominic, Chris, do you have any idea about why this test might be failing in Mac and Chromium? I reviewed other cross platform tests involving tables as direct descendants of &lt;body&gt; and I guess this should be working now that rolenames are consistent.

Also, if there&apos;s a way to check the actual output of Mac/Chromium&apos;s EWS, that would be fantastic too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825513</commentid>
    <comment_count>33</comment_count>
      <attachid>186582</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-05 08:58:25 -0800</bug_when>
    <thetext>Comment on attachment 186582
Patch proposal plus new Layout test

my guess is that this &lt;Table&gt; doesn&apos;t qualify as an accessibility table, so the roles are different. There are a number of things you can do to &quot;make&quot; it a table. maybe the easiest is to add a row of &lt;th&gt; or add a &lt;summary&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825531</commentid>
    <comment_count>34</comment_count>
      <attachid>186582</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-05 09:11:01 -0800</bug_when>
    <thetext>Comment on attachment 186582
Patch proposal plus new Layout test

Attachment 186582 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16367827

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825537</commentid>
    <comment_count>35</comment_count>
      <attachid>186641</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-05 09:14:17 -0800</bug_when>
    <thetext>Created attachment 186641
Patch proposal plus new Layout test

(In reply to comment #33)
&gt; (From update of attachment 186582 [details])
&gt; my guess is that this &lt;Table&gt; doesn&apos;t qualify as an accessibility table,
&gt; so the roles are different. There are a number of things you can do to
&gt; &quot;make&quot; it a table. maybe the easiest is to add a row of &lt;th&gt; or add a &lt;summary&gt;

Thanks for the suggestion, Chris. Let&apos;s give it a shot then to the idea of adding a summary, I guess that should be enough according to http://www.w3.org/TR/html401/struct/tables.html#adef-summary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825572</commentid>
    <comment_count>36</comment_count>
      <attachid>186641</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-05 09:57:18 -0800</bug_when>
    <thetext>Comment on attachment 186641
Patch proposal plus new Layout test

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

New failing tests:
accessibility/table-cell-for-column-and-row-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825581</commentid>
    <comment_count>37</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-02-05 10:04:49 -0800</bug_when>
    <thetext>FYI This passed on my mac with these results

---------------

foo
bar
This tests that retrieving a cell for a table multiple times doesn&apos;t crash.

On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.


PASS axTable.role is &apos;AXRole: AXTable&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS axCell.role is &apos;AXRole: AXCell&apos;
PASS successfullyParsed is true

TEST COMPLETE
---------------------</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826290</commentid>
    <comment_count>38</comment_count>
      <attachid>186814</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-06 03:20:32 -0800</bug_when>
    <thetext>Created attachment 186814
Patch proposal plus new Layout test

(In reply to comment #37)
&gt; FYI This passed on my mac with these results

Thanks for running it. It also passed in the EWS so I guess that was it.

Still failing in chromium, though. And after reviewing more carefully other expected results for chromium, I think I was perhaps too fast assuming it would work there out of the box, as the output is not going to be exactly the same for now, since the AccessibilityUIElement::cellForColumnAndRowCallback() is not implemented in DRT.

Thus, I&apos;m now skipping the test in chromium too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832915</commentid>
    <comment_count>39</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-14 03:51:49 -0800</bug_when>
    <thetext>(In reply to comment #38)
&gt; [...]
&gt; Still failing in chromium, though. And after reviewing more carefully other expected results for chromium, I think I was perhaps too fast assuming it would work there out of the box, as the output is not going to be exactly the same for now, since the AccessibilityUIElement::cellForColumnAndRowCallback() is not implemented in DRT.
&gt; 
&gt; Thus, I&apos;m now skipping the test in chromium too.

Just a ping to make sure whether Dominic is ok with this, so we can get it fixed soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833011</commentid>
    <comment_count>40</comment_count>
      <attachid>188332</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-14 06:02:36 -0800</bug_when>
    <thetext>Created attachment 188332
Patch proposal plus new Layout test

&gt; [...]
&gt; Just a ping to make sure whether Dominic is ok with this, so we can get it fixed soon.

Actually, I also needed to update this patch after bug 105007 got fixed a few days ago.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833129</commentid>
    <comment_count>41</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-14 09:13:43 -0800</bug_when>
    <thetext>Thanks Martin for the r+. I guess I will push it now already because in any case there&apos;s not much we can do to make it pass in chromium other than implementing the missing functionality in DRT, and that would be another bug already.

So, I guess Dominic will be Ok anyway, so I&apos;ll be committing this right now :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833135</commentid>
    <comment_count>42</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-02-14 09:17:42 -0800</bug_when>
    <thetext>Committed r142883: &lt;http://trac.webkit.org/changeset/142883&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833921</commentid>
    <comment_count>43</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2013-02-15 05:24:10 -0800</bug_when>
    <thetext>(In reply to comment #39)

&gt; Just a ping to make sure whether Dominic is ok with this, so we can get it fixed soon.

Sorry for the late reply - I am not too familiar with this code - so certainly no objections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836724</commentid>
    <comment_count>44</comment_count>
    <who name="Dominic Mazzoni">dmazzoni</who>
    <bug_when>2013-02-19 13:29:55 -0800</bug_when>
    <thetext>Yes, this is fine with me. I haven&apos;t decided what I want to do about Chromium layout tests for table-specific functions. In Chromium we reimplement those methods much higher up in the abstraction layer, so I haven&apos;t really decided what it makes sense to test here.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>182758</attachid>
            <date>2013-01-15 06:58:20 -0800</date>
            <delta_ts>2013-01-15 06:58:20 -0800</delta_ts>
            <desc>test case</desc>
            <filename>simple-table.html</filename>
            <type>text/html</type>
            <size>95</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">PGh0bWw+Cjxib2R5Pgo8dGFibGU+CiAgPHRyPjx0ZD5mb288L3RkPjwvdHI+CiAgPHRyPjx0ZD5i
YXI8L3RkPjwvdHI+CjwvdGFibGU+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>182759</attachid>
            <date>2013-01-15 06:59:01 -0800</date>
            <delta_ts>2013-01-15 06:59:01 -0800</delta_ts>
            <desc>event listener</desc>
            <filename>tablecell.py</filename>
            <type>text/plain</type>
            <size>529</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9weXRob24KCmltcG9ydCBweWF0c3BpCmltcG9ydCBzeXMKCmRlZiBsaXN0ZW5l
cihlKToKICAgIHRhYmxlID0gcHlhdHNwaS51dGlscy5maW5kRGVzY2VuZGFudCgKICAgICAgICBl
LnNvdXJjZSwgbGFtYmRhIHg6IHguZ2V0Um9sZSgpID09IHB5YXRzcGkuUk9MRV9UQUJMRSkKICAg
IGlmIG5vdCB0YWJsZToKICAgICAgICByZXR1cm4KCiAgICB0YWJsZUlmYWNlID0gdGFibGUucXVl
cnlUYWJsZSgpCiAgICBmb3IgaSBpbiByYW5nZSgwLCAxMCk6CiAgICAgICAgY2VsbCA9IHRhYmxl
SWZhY2UuZ2V0QWNjZXNzaWJsZUF0KDAsIDApCiAgICAgICAgaWYgbm90IGNlbGw6CiAgICAgICAg
ICAgIHByaW50KCJGYWlsdXJlIGFmdGVyICVpIGNhbGxzIiAlIGkpCiAgICAgICAgICAgIGJyZWFr
CiAgICBlbHNlOgogICAgICAgIHByaW50KCJTdWNjZXNzIikKCnB5YXRzcGkuUmVnaXN0cnkucmVn
aXN0ZXJFdmVudExpc3RlbmVyKGxpc3RlbmVyLCAid2luZG93OmFjdGl2YXRlIikKcHlhdHNwaS5S
ZWdpc3RyeS5zdGFydCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186349</attachid>
            <date>2013-02-04 04:30:48 -0800</date>
            <delta_ts>2013-02-04 08:35:05 -0800</delta_ts>
            <desc>Add missing extra ref to implementation of atk_table_ref_at()</desc>
            <filename>0001-2013-02-04-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>2589</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA4ZTlmOGU3NjkxMjQ4MTQyOTkzMjJjODE5NzBmNzQ0MjM1ZDYxOTA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogTW9uLCA0IEZlYiAyMDEzIDEyOjI2OjI2ICswMDAwClN1YmplY3Q6IFtQ
QVRDSF0gMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1
bmcuY29tPgoKICAgICAgICBbR1RLXSBQb3NzaWJsZSBib2d1cyB1bnJlZiBvZiBhY2Nlc3NpYmxl
IHRhYmxlIGNlbGwKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA2OTAzCgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBB
ZGQgbWlzc2luZyBleHRyYSByZWYgdG8gaW1wbGVtZW50YXRpb24gb2YgYXRrX3RhYmxlX3JlZl9h
dCgpLgoKICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUYWJsZS5jcHA6CiAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0KTogVGhpcyBt
ZXRob2QgdHJhbnNmZXJzIGZ1bGwgb3duZXJzaGlwCiAgICAgICAgb3ZlciB0aGUgcmV0dXJuZWQg
QXRrT2JqZWN0LCBzbyBhbiBleHRyYSByZWZlcmVuY2UgaXMgbmVlZGVkLgotLS0KIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrKysr
KysrKysrCiAuLi4vYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAgICAgICAg
ICB8ICAgIDkgKysrKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEg
ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY1N2Y4Ni4uYTY4M2IyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8u
cHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10gUG9zc2libGUgYm9ndXMgdW5yZWYg
b2YgYWNjZXNzaWJsZSB0YWJsZSBjZWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgbWlzc2luZyBleHRyYSByZWYgdG8gaW1wbGVtZW50YXRpb24g
b2YgYXRrX3RhYmxlX3JlZl9hdCgpLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcDoKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2li
bGVUYWJsZVJlZkF0KTogVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1bGwgb3duZXJzaGlwCisgICAg
ICAgIG92ZXIgdGhlIHJldHVybmVkIEF0a09iamVjdCwgc28gYW4gZXh0cmEgcmVmZXJlbmNlIGlz
IG5lZWRlZC4KKwogMjAxMy0wMi0wNCAgQW5kcmV5IEx1c2huaWtvdiAgPGx1c2huaWtvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjogc291cmNlIGxvY2F0aW9uIGluIHN0
YXR1c2JhciBoYXMgZmV3IGJ1Z3MgaW4gaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFi
bGUuY3BwCmluZGV4IGI1ODc0NjAuLmFlZTdiN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZVRhYmxlLmNwcApAQCAtOTQsNyArOTQsMTQgQEAgc3RhdGljIEF0a09iamVjdCogd2Via2l0
QWNjZXNzaWJsZVRhYmxlUmVmQXQoQXRrVGFibGUqIHRhYmxlLCBnaW50IHJvdywgZ2ludCBjb2wK
ICAgICBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKiBheENlbGwgPSBjZWxsKHRhYmxlLCByb3csIGNv
bHVtbik7CiAgICAgaWYgKCFheENlbGwpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBh
eENlbGwtPndyYXBwZXIoKTsKKworICAgIEF0a09iamVjdCogY2VsbCA9IGF4Q2VsbC0+d3JhcHBl
cigpOworICAgIGlmICghY2VsbCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvLyBUaGlzIG1l
dGhvZCB0cmFuc2ZlcnMgZnVsbCBvd25lcnNoaXAgb3ZlciB0aGUgcmV0dXJuZWQKKyAgICAvLyBB
dGtPYmplY3QsIHNvIGFuIGV4dHJhIHJlZmVyZW5jZSBpcyBuZWVkZWQgaGVyZS4KKyAgICByZXR1
cm4gQVRLX09CSkVDVChnX29iamVjdF9yZWYoY2VsbCkpOwogfQogCiBzdGF0aWMgZ2ludCB3ZWJr
aXRBY2Nlc3NpYmxlVGFibGVHZXRJbmRleEF0KEF0a1RhYmxlKiB0YWJsZSwgZ2ludCByb3csIGdp
bnQgY29sdW1uKQotLSAKMS43LjkuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186387</attachid>
            <date>2013-02-04 08:35:17 -0800</date>
            <delta_ts>2013-02-04 10:22:04 -0800</delta_ts>
            <desc>Patch proposal plus new Layout test</desc>
            <filename>bug-106903-20130204163136.patch</filename>
            <type>text/plain</type>
            <size>10141</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY1N2Y4NmU4MGE3YTY1
NTRjZmM2ZWJjOWRhN2UyMjE5ODM1YmNjNC4uMTJjMzExYmY2MGJmMmQxMDdiMWJhZDA3NmEzMjZj
YjNhMTA1NDYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTA0ICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dU
S10gTWlzc2luZyBjYWxsIHRvIGdfb2JqZWN0X3JlZiB3aGlsZSByZXRyaWV2aW5nIGFjY2Vzc2li
bGUgdGFibGUgY2VsbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNjkwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBtaXNzaW5nIGV4dHJhIHJlZiB0byBpbXBsZW1lbnRhdGlvbiBvZiBhdGtfdGFi
bGVfcmVmX2F0KCkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
dGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcDoKKyAgICAg
ICAgKHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0KTogVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1
bGwgb3duZXJzaGlwCisgICAgICAgIG92ZXIgdGhlIHJldHVybmVkIEF0a09iamVjdCwgc28gYW4g
ZXh0cmEgcmVmZXJlbmNlIGlzIG5lZWRlZCBoZXJlLgorCiAyMDEzLTAyLTA0ICBBbmRyZXkgTHVz
aG5pa292ICA8bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBzb3VyY2UgbG9jYXRpb24gaW4gc3RhdHVzYmFyIGhhcyBmZXcgYnVncyBpbiBpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKaW5kZXggYjU4NzQ2MDUyYWYwYTAxNzlmNjc1
ZWVkNWRiODg0YjMxNmM0YjdkNC4uYWVlN2I3YjY5NzJiMzBmY2ZlM2VjNzllMzRjNWRmNjc5NTli
NWY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwCkBAIC05NCw3ICs5
NCwxNCBAQCBzdGF0aWMgQXRrT2JqZWN0KiB3ZWJraXRBY2Nlc3NpYmxlVGFibGVSZWZBdChBdGtU
YWJsZSogdGFibGUsIGdpbnQgcm93LCBnaW50IGNvbAogICAgIEFjY2Vzc2liaWxpdHlUYWJsZUNl
bGwqIGF4Q2VsbCA9IGNlbGwodGFibGUsIHJvdywgY29sdW1uKTsKICAgICBpZiAoIWF4Q2VsbCkK
ICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGF4Q2VsbC0+d3JhcHBlcigpOworCisgICAg
QXRrT2JqZWN0KiBjZWxsID0gYXhDZWxsLT53cmFwcGVyKCk7CisgICAgaWYgKCFjZWxsKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoaXMgbWV0aG9kIHRyYW5zZmVycyBmdWxsIG93bmVy
c2hpcCBvdmVyIHRoZSByZXR1cm5lZAorICAgIC8vIEF0a09iamVjdCwgc28gYW4gZXh0cmEgcmVm
ZXJlbmNlIGlzIG5lZWRlZCBoZXJlLgorICAgIHJldHVybiBBVEtfT0JKRUNUKGdfb2JqZWN0X3Jl
ZihjZWxsKSk7CiB9CiAKIHN0YXRpYyBnaW50IHdlYmtpdEFjY2Vzc2libGVUYWJsZUdldEluZGV4
QXQoQXRrVGFibGUqIHRhYmxlLCBnaW50IHJvdywgZ2ludCBjb2x1bW4pCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzQxZDgzYWRkNDBkNzRhZGJl
YWYwODMwMTI1Mzg0YjI4ZTkxMWJlYS4uNDhkZTgyN2ZiMTVhZGE5OGI5MDY2YjRlYmQzYjVhODQy
N2NmMGVhZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFy
aW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10gTWlzc2luZyBjYWxsIHRvIGdf
b2JqZWN0X3JlZiB3aGlsZSByZXRyaWV2aW5nIGFjY2Vzc2libGUgdGFibGUgY2VsbHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJvdGggRFJUIGFuZCBX
S1RSIG5lZWQgdG8gY2FsbCBnX29iamVjdF91bnJlZigpIG5vdyB0aGF0IGFuIGV4dHJhCisgICAg
ICAgIHJlZmVyZW5jZSBpcyBhZGRlZCBpbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgYXRrX3RhYmxl
X3JlZl9hdCgpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRHdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZv
ckNvbHVtbkFuZFJvdyk6IENhbGwgZ19vYmplY3RfdW5yZWYKKyAgICAgICAgYmVmb3JlIHJldHVy
bmluZyB0aGUgbmV3IGluc3RhbmNlIG9mIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxG
b3JDb2x1bW5BbmRSb3cpOiBEaXR0by4KKwogMjAxMy0wMi0wMyAgQWxhbiBDdXR0ZXIgIDxhbGFu
Y3V0dGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBQYXRjaExvZ3MgYXJlIG5vdCBnZXR0aW5n
IGNyZWF0ZWQgb24gUXVldWVTdGF0dXNTZXJ2ZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcAppbmRleCA0YWI5OTk1NTA4
NWRjNDU5NTdkODcyZGUwZDlhZmEwNWZhODBiZjI3Li5lZTFmNjU5Y2Y4ZjZmNzAwMDViODI2ZWNk
MmQ5M2U0NGM3Nzg3NzU0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCkBAIC03ODYsNyArNzg2LDEyIEBAIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFu
ZFJvdyh1bnNpZ25lZCBjb2x1CiAgICAgQVNTRVJUKEFUS19JU19UQUJMRShtX2VsZW1lbnQpKTsK
IAogICAgIEF0a09iamVjdCogZm91bmRDZWxsID0gYXRrX3RhYmxlX3JlZl9hdChBVEtfVEFCTEUo
bV9lbGVtZW50KSwgcm93LCBjb2x1bW4pOwotICAgIHJldHVybiBmb3VuZENlbGwgPyBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50KGZvdW5kQ2VsbCkgOiAwOworICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQgY2VsbEVsZW1lbnQgPSBmb3VuZENlbGwgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KGZvdW5k
Q2VsbCkgOiAwOworCisgICAgLy8gVW5yZWYgdGhlIGNlbGwgYWZ0ZXIgY3JlYXRpbmcgdGhlIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQKKyAgICAvLyBiZWNhdXNlIGF0X3RhYmxlX3JlZl9hdCgpIHRy
YW5zZmVycyBmdWxsIG93bmVyc2hpcC4KKyAgICBnX29iamVjdF91bnJlZihmb3VuZENlbGwpOwor
ICAgIHJldHVybiBjZWxsRWxlbWVudDsKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c2VsZWN0ZWRUZXh0UmFuZ2UoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50QXRrLmNwcAppbmRleCA1MDYyYThmOGYyYTkxNGQ1YTI5YmU0ODAxMzNmZThhNThj
MmJiMWU3Li5hMjA1OTJjZjk0ZmU4ZjYxMzZkOTQ1M2Q5N2JhOGFiNjQ4ZjJlNjEwIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50QXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtODcyLDcgKzg3Miwx
MiBAQCBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3codQogICAgICAgICByZXR1cm4gMDsKIAogICAgIEF0
a09iamVjdCogZm91bmRDZWxsID0gYXRrX3RhYmxlX3JlZl9hdChBVEtfVEFCTEUobV9lbGVtZW50
KSwgcm93LCBjb2wpOwotICAgIHJldHVybiBmb3VuZENlbGwgPyBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpjcmVhdGUoZm91bmRDZWxsKSA6IDA7CisgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+IGNlbGxFbGVtZW50ID0gZm91bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Y3JlYXRlKGZvdW5kQ2VsbCkgOiAwOworCisgICAgLy8gVW5yZWYgdGhlIGNlbGwgYWZ0ZXIgY3Jl
YXRpbmcgdGhlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQKKyAgICAvLyBiZWNhdXNlIGF0X3RhYmxl
X3JlZl9hdCgpIHRyYW5zZmVycyBmdWxsIG93bmVyc2hpcC4KKyAgICBnX29iamVjdF91bnJlZihm
b3VuZENlbGwpOworICAgIHJldHVybiBjZWxsRWxlbWVudC5yZWxlYXNlKCk7CiB9CiAKIFBhc3NS
ZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9y
aXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTU3YTIzMGRlNjIxOGMyZjk4N2NhODRi
MjY4ODg5ZTYwMzYxMmM1Mi4uNDU5ZjRlMjQyMzI0OTIzMzMwY2FjZTk2N2YzMmRmMDJhZmIyMWMw
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10gTWlzc2luZyBjYWxs
IHRvIGdfb2JqZWN0X3JlZiB3aGlsZSByZXRyaWV2aW5nIGFjY2Vzc2libGUgdGFibGUgY2VsbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG5l
dyB0ZXN0LiBJdCBzaG91bGQgd29yayBmaW5lIGF0IGxlYXN0IGluIENocm9taXVtLCBNYWMgYW5k
CisgICAgICAgIEdUSyBwb3J0cywgYnV0IHdpbGwgcHJvYmFibHkgbmVlZCBzcGVjaWZpYyByZXN1
bHRzIGZvciB3aW5kb3dzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXBwZWQgdGVz
dC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zOiBEaXR0by4K
KwogMjAxMy0wMi0wNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW0Nocm9taXVtXSBSZWJhc2VsaW5lIGZvciByMTQxNzQxCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29s
dW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkYWYxYjhmODg5OWFm
ZmQwZGU3MWRmMTdiOTJkZTZkMmI5ZTA3YmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIyIEBACitmb28KK2JhcgorVGhpcyB0ZXN0cyB0aGF0IHJldHJp
ZXZpbmcgYSBjZWxsIGZvciBhIHRhYmxlIG11bHRpcGxlIHRpbWVzIGRvZXNuJ3QgY3Jhc2guCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1BBU1MgYXhUYWJsZS5yb2xlIGlzICdBWFJvbGU6IEFY
VGFibGUnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxs
LnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBB
WENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxs
LnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBB
WENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxs
LnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBB
WENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJv
dy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1j
b2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyM2MyYTBlZmU4NzY4MDE3ZGVk
NTA3MmUyNjFjN2JjMmRjNDU5MWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwKQEAgLTAs
MCArMSw1MSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0Q2VsbEZvclRhYmxl
QW5kUmVsZWFzZShheFRhYmxlLCByb3csIGNvbHVtbikKK3sKKyAgIGF4Q2VsbCA9IGF4VGFibGUu
Y2VsbEZvckNvbHVtbkFuZFJvdyhyb3csIGNvbHVtbik7CisgICBzaG91bGRCZSgiYXhDZWxsLnJv
bGUiLCAiJ0FYUm9sZTogQVhDZWxsJyIpOworICAgYXhDZWxsID0gbnVsbDsKKworICAgLy8gV2Ug
bmVlZCB0byBmb3JjZSBhIGNhbGwgdG8gdGhlIEdhcmJhZ2UgQ29sbGVjdG9yIGhlcmUgc28gd2Ug
YXJlCisgICAvLyBzdXJlIHRoYXQgYXhDZWxsIHdpbGwgZ2V0IGFjdHVhbGx5IGRlc3Ryb3llZCBh
ZnRlciB1c2luZyBpdC4KKyAgIHdpbmRvdy5nYygpOworfQorCitmdW5jdGlvbiB0ZXN0KCkKK3sK
KyAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCByZXRyaWV2aW5nIGEgY2VsbCBmb3IgYSB0
YWJsZSBtdWx0aXBsZSB0aW1lcyBkb2Vzbid0IGNyYXNoLiIpOworCisgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJib2R5IikuZm9jdXMoKTsKKyAgICAgIGF4Qm9keSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVy
LmZvY3VzZWRFbGVtZW50OworCisgICAgICBheFRhYmxlID0gYXhCb2R5LmNoaWxkQXRJbmRleCgw
KTsKKyAgICAgIHNob3VsZEJlKCJheFRhYmxlLnJvbGUiLCAiJ0FYUm9sZTogQVhUYWJsZSciKTsK
KworICAgICAgLy8gVHJ5aW5nIHRvIHJlZmVyZW5jZSB0aGUgc2FtZSBjZWxsIGZvciB0aGUgdGFi
bGUKKyAgICAgIC8vIG11bHRpcGxlIHRpbWVzIHNob3VsZG4ndCByZXN1bHQgaW4gYSBjcmFzaC4K
KyAgICAgIGZvciAoaSA9IDA7IGkgPCAxMDsgaSsrKQorICAgICAgICBnZXRDZWxsRm9yVGFibGVB
bmRSZWxlYXNlKGF4VGFibGUsIDAsIDApOworICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKwor
PGJvZHkgaWQ9ImJvZHkiIG9ubG9hZD0idGVzdCgpIj4KKzx0YWJsZSBpZD0idGVzdFRhYmxlIj4K
KyAgPHRyPjx0ZD5mb288L3RkPjwvdHI+CisgIDx0cj48dGQ+YmFyPC90ZD48L3RyPgorPC90YWJs
ZT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGQ4NDQ0MWFhOWJlYzIwMmQxZGU3ZDY1ODI2ZTRkMmRkOTFiMmQ3M2Iu
LmNmY2E3M2ZlNWQ4MTA2OWEwMDlkZjRiM2U3YjE5ZmE1ZmVjNjU3MDYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC02NDksNiArNjQ5LDcgQEAgYWNjZXNz
aWJpbGl0eS9zZWN1cmUtdGV4dGZpZWxkLXRpdGxlLXVpLmh0bWwKIGFjY2Vzc2liaWxpdHkvc3Bp
bmJ1dHRvbi12YWx1ZS5odG1sCiBhY2Nlc3NpYmlsaXR5L3N2Zy1yZW1vdGUtZWxlbWVudC5odG1s
CiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWF0dHJpYnV0ZXMuaHRtbAorYWNjZXNzaWJpbGl0eS90YWJs
ZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxl
LWNlbGwtc3BhbnMuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxscy5odG1sCiBhY2Nlc3Np
YmlsaXR5L3RhYmxlLWRldGVjdGlvbi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
Y2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyYzRlYjg5MjQ3YTk2MmE5OTNmNzY2MTM2YjVi
YzY4ZDVhOGYwOGFiLi41N2E0NGQ5Mjk4ZTUwNDYwZGVjNWRkYjY1MGQ0ZTdiMGQ1ODA2NGI5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTExNzEsNiArMTE3MSw3IEBAIGFjY2Vzc2liaWxpdHkvc3BpbmJ1dHRvbi12YWx1ZS5odG1sCiBh
Y2Nlc3NpYmlsaXR5L3N2Zy1yZW1vdGUtZWxlbWVudC5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxl
LWF0dHJpYnV0ZXMuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXNwYW5zLmh0bWwKK2Fj
Y2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAogYWNj
ZXNzaWJpbGl0eS90YWJsZS1jZWxscy5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWRldGVjdGlv
bi5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLW1vZGlmaWNhdGlvbi1jcmFzaC5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186392</attachid>
            <date>2013-02-04 09:02:34 -0800</date>
            <delta_ts>2013-02-05 02:15:40 -0800</delta_ts>
            <desc>Patch proposal plus new Layout test</desc>
            <filename>bug-106903-20130204165853.patch</filename>
            <type>text/plain</type>
            <size>10128</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY1N2Y4NmU4MGE3YTY1
NTRjZmM2ZWJjOWRhN2UyMjE5ODM1YmNjNC4uM2E0YWZmNzgxNDhkZGNlNTk0MGU0MzcyNTQxNWNj
NjNmM2VmMjQxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTAyLTA0ICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dU
S10gTWlzc2luZyBjYWxsIHRvIGdfb2JqZWN0X3JlZiB3aGlsZSByZXRyaWV2aW5nIGFjY2Vzc2li
bGUgdGFibGUgY2VsbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNjkwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBtaXNzaW5nIGV4dHJhIHJlZiB0byBpbXBsZW1lbnRhdGlvbiBvZiBhdGtfdGFi
bGVfcmVmX2F0KCkuCisKKyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwOgorICAgICAgICAod2Via2l0QWNj
ZXNzaWJsZVRhYmxlUmVmQXQpOiBUaGlzIG1ldGhvZCB0cmFuc2ZlcnMgZnVsbCBvd25lcnNoaXAK
KyAgICAgICAgb3ZlciB0aGUgcmV0dXJuZWQgQXRrT2JqZWN0LCBzbyBhbiBleHRyYSByZWZlcmVu
Y2UgaXMgbmVlZGVkIGhlcmUuCisKIDIwMTMtMDItMDQgIEFuZHJleSBMdXNobmlrb3YgIDxsdXNo
bmlrb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNvdXJjZSBsb2Nh
dGlvbiBpbiBzdGF0dXNiYXIgaGFzIGZldyBidWdzIGluIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRhYmxlLmNwcAppbmRleCBiNTg3NDYwNTJhZjBhMDE3OWY2NzVlZWQ1ZGI4ODRiMzE2
YzRiN2Q0Li5hZWU3YjdiNjk3MmIzMGZjZmUzZWM3OWUzNGM1ZGY2Nzk1OWI1ZjgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50
ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTk0LDcgKzk0LDE0IEBAIHN0YXRp
YyBBdGtPYmplY3QqIHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0KEF0a1RhYmxlKiB0YWJsZSwg
Z2ludCByb3csIGdpbnQgY29sCiAgICAgQWNjZXNzaWJpbGl0eVRhYmxlQ2VsbCogYXhDZWxsID0g
Y2VsbCh0YWJsZSwgcm93LCBjb2x1bW4pOwogICAgIGlmICghYXhDZWxsKQogICAgICAgICByZXR1
cm4gMDsKLSAgICByZXR1cm4gYXhDZWxsLT53cmFwcGVyKCk7CisKKyAgICBBdGtPYmplY3QqIGNl
bGwgPSBheENlbGwtPndyYXBwZXIoKTsKKyAgICBpZiAoIWNlbGwpCisgICAgICAgIHJldHVybiAw
OworCisgICAgLy8gVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1bGwgb3duZXJzaGlwIG92ZXIgdGhl
IHJldHVybmVkCisgICAgLy8gQXRrT2JqZWN0LCBzbyBhbiBleHRyYSByZWZlcmVuY2UgaXMgbmVl
ZGVkIGhlcmUuCisgICAgcmV0dXJuIEFUS19PQkpFQ1QoZ19vYmplY3RfcmVmKGNlbGwpKTsKIH0K
IAogc3RhdGljIGdpbnQgd2Via2l0QWNjZXNzaWJsZVRhYmxlR2V0SW5kZXhBdChBdGtUYWJsZSog
dGFibGUsIGdpbnQgcm93LCBnaW50IGNvbHVtbikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NDFkODNhZGQ0MGQ3NGFkYmVhZjA4MzAxMjUzODRi
MjhlOTExYmVhLi40OGRlODI3ZmIxNWFkYTk4YjkwNjZiNGViZDNiNWE4NDI3Y2YwZWFlIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTkgQEAKKzIwMTMtMDItMDQgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmplY3RfcmVmIHdo
aWxlIHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTAzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQm90aCBEUlQgYW5kIFdLVFIgbmVlZCB0byBj
YWxsIGdfb2JqZWN0X3VucmVmKCkgbm93IHRoYXQgYW4gZXh0cmEKKyAgICAgICAgcmVmZXJlbmNl
IGlzIGFkZGVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhdGtfdGFibGVfcmVmX2F0KCkuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5j
cHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93
KTogQ2FsbCBnX29iamVjdF91bnJlZgorICAgICAgICBiZWZvcmUgcmV0dXJuaW5nIHRoZSBuZXcg
aW5zdGFuY2Ugb2YgQWNjZXNzaWJpbGl0eVVJRWxlbWVudC4KKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcDoK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJv
dyk6IERpdHRvLgorCiAyMDEzLTAyLTAzICBBbGFuIEN1dHRlciAgPGFsYW5jdXR0ZXJAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFBhdGNoTG9ncyBhcmUgbm90IGdldHRpbmcgY3JlYXRlZCBvbiBR
dWV1ZVN0YXR1c1NlcnZlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCmluZGV4IDRhYjk5OTU1MDg1ZGM0NTk1N2Q4NzJk
ZTBkOWFmYTA1ZmE4MGJmMjcuLmVlMWY2NTljZjhmNmY3MDAwNWI4MjZlY2QyZDkzZTQ0Yzc3ODc3
NTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50R3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEd0ay5jcHAKQEAgLTc4Niw3ICs3ODYsMTIgQEAgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KHVuc2lnbmVk
IGNvbHUKICAgICBBU1NFUlQoQVRLX0lTX1RBQkxFKG1fZWxlbWVudCkpOwogCiAgICAgQXRrT2Jq
ZWN0KiBmb3VuZENlbGwgPSBhdGtfdGFibGVfcmVmX2F0KEFUS19UQUJMRShtX2VsZW1lbnQpLCBy
b3csIGNvbHVtbik7Ci0gICAgcmV0dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQoZm91bmRDZWxsKSA6IDA7CisgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBjZWxsRWxlbWVu
dCA9IGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoZm91bmRDZWxsKSA6IDA7CisK
KyAgICAvLyBVbnJlZiB0aGUgY2VsbCBhZnRlciBjcmVhdGluZyB0aGUgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudAorICAgIC8vIGJlY2F1c2UgYXRfdGFibGVfcmVmX2F0KCkgdHJhbnNmZXJzIGZ1bGwg
b3duZXJzaGlwLgorICAgIGdfb2JqZWN0X3VucmVmKGZvdW5kQ2VsbCk7CisgICAgcmV0dXJuIGNl
bGxFbGVtZW50OwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxl
Y3RlZFRleHRSYW5nZSgpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsu
Y3BwCmluZGV4IDUwNjJhOGY4ZjJhOTE0ZDVhMjliZTQ4MDEzM2ZlOGE1OGMyYmIxZTcuLmEyMDU5
MmNmOTRmZThmNjEzNmQ5NDUzZDk3YmE4YWI2NDhmMmU2MTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRB
dGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC04NzIsNyArODcyLDEyIEBAIFBhc3NSZWZQ
dHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZv
ckNvbHVtbkFuZFJvdyh1CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgQXRrT2JqZWN0KiBmb3Vu
ZENlbGwgPSBhdGtfdGFibGVfcmVmX2F0KEFUS19UQUJMRShtX2VsZW1lbnQpLCByb3csIGNvbCk7
Ci0gICAgcmV0dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShm
b3VuZENlbGwpIDogMDsKKyAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gY2VsbEVs
ZW1lbnQgPSBmb3VuZENlbGwgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoZm91bmRD
ZWxsKSA6IDA7CisKKyAgICAvLyBVbnJlZiB0aGUgY2VsbCBhZnRlciBjcmVhdGluZyB0aGUgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudAorICAgIC8vIGJlY2F1c2UgYXRfdGFibGVfcmVmX2F0KCkgdHJh
bnNmZXJzIGZ1bGwgb3duZXJzaGlwLgorICAgIGdfb2JqZWN0X3VucmVmKGZvdW5kQ2VsbCk7Cisg
ICAgcmV0dXJuIGNlbGxFbGVtZW50LnJlbGVhc2UoKTsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpob3Jpem9udGFsU2Nyb2xs
YmFyKCkgY29uc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBhNTdhMjMwZGU2MjE4YzJmOTg3Y2E4NGIyNjg4ODllNjAzNjEy
YzUyLi40NTlmNGUyNDIzMjQ5MjMzMzBjYWNlOTY3ZjMyZGYwMmFmYjIxYzAxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTMtMDItMDQgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFk
YUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmplY3Rf
cmVmIHdoaWxlIHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTAzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgbmV3IHRlc3QuIEl0IHNo
b3VsZCB3b3JrIGZpbmUgYXQgbGVhc3QgaW4gQ2hyb21pdW0sIE1hYyBhbmQKKyAgICAgICAgR1RL
IHBvcnRzLCBidXQgd2lsbCBwcm9iYWJseSBuZWVkIHNwZWNpZmljIHJlc3VsdHMgZm9yIHdpbmRv
d3MuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQt
cm93LWNyYXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGFibGUtY2Vs
bC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczogU2tpcHBlZCB0ZXN0LgorICAgICAgICAq
IHBsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgorCiAyMDEzLTAyLTA0
ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1d
IFJlYmFzZWxpbmUgZm9yIHIxNDE3NDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1j
cmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRhZjFiOGY4ODk5YWZmZDBkZTcxZGYxN2I5
MmRlNmQyYjllMDdiZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjIgQEAKK2ZvbworYmFyCitUaGlzIHRlc3RzIHRoYXQgcmV0cmlldmluZyBhIGNlbGwg
Zm9yIGEgdGFibGUgbXVsdGlwbGUgdGltZXMgZG9lc24ndCBjcmFzaC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorUEFTUyBheFRhYmxlLnJvbGUgaXMgJ0FYUm9sZTogQVhUYWJsZScKK1BBU1Mg
YXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhS
b2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1Mg
YXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhS
b2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1Mg
YXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhS
b2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1Mg
YXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93
LWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTIzYzJhMGVmZTg3NjgwMTdkZWQ1MDcyZTI2MWM3YmMy
ZGM0NTkxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFi
bGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbApAQCAtMCwwICsxLDUxIEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBnZXRDZWxsRm9yVGFibGVBbmRSZWxlYXNlKGF4
VGFibGUsIHJvdywgY29sdW1uKQoreworICAgYXhDZWxsID0gYXhUYWJsZS5jZWxsRm9yQ29sdW1u
QW5kUm93KHJvdywgY29sdW1uKTsKKyAgIHNob3VsZEJlKCJheENlbGwucm9sZSIsICInQVhSb2xl
OiBBWENlbGwnIik7CisgICBheENlbGwgPSBudWxsOworCisgICAvLyBXZSBuZWVkIHRvIGZvcmNl
IGEgY2FsbCB0byB0aGUgR2FyYmFnZSBDb2xsZWN0b3IgaGVyZSBzbyB3ZSBhcmUKKyAgIC8vIHN1
cmUgdGhhdCBheENlbGwgd2lsbCBnZXQgYWN0dWFsbHkgZGVzdHJveWVkIGFmdGVyIHVzaW5nIGl0
LgorICAgd2luZG93LmdjKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyB0aGF0IHJldHJpZXZpbmcgYSBjZWxsIGZvciBhIHRhYmxlIG11bHRpcGxl
IHRpbWVzIGRvZXNuJ3QgY3Jhc2guIik7CisKKyAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKQorICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS5mb2N1
cygpOworICAgICAgYXhCb2R5ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQ7CisKKyAgICAgIGF4VGFibGUgPSBheEJvZHkuY2hpbGRBdEluZGV4KDApOworICAgICAgc2hv
dWxkQmUoImF4VGFibGUucm9sZSIsICInQVhSb2xlOiBBWFRhYmxlJyIpOworCisgICAgICAvLyBU
cnlpbmcgdG8gcmVmZXJlbmNlIHRoZSBzYW1lIGNlbGwgZm9yIHRoZSB0YWJsZQorICAgICAgLy8g
bXVsdGlwbGUgdGltZXMgc2hvdWxkbid0IHJlc3VsdCBpbiBhIGNyYXNoLgorICAgICAgZm9yIChp
ID0gMDsgaSA8IDEwOyBpKyspCisgICAgICAgIGdldENlbGxGb3JUYWJsZUFuZFJlbGVhc2UoYXhU
YWJsZSwgMCwgMCk7CisgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBpZD0iYm9k
eSIgb25sb2FkPSJ0ZXN0KCkiPgorPHRhYmxlIGlkPSJ0ZXN0VGFibGUiPgorICA8dHI+PHRkPmZv
bzwvdGQ+PC90cj4KKyAgPHRyPjx0ZD5iYXI8L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZDg0NDQxYWE5YmVjMjAyZDFkZTdkNjU4MjZlNGQyZGQ5MWIyZDczYi4uY2ZjYTczZmU1ZDgx
MDY5YTAwOWRmNGIzZTdiMTlmYTVmZWM2NTcwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0OSw2ICs2NDksNyBAQCBhY2Nlc3NpYmlsaXR5L3NlY3Vy
ZS10ZXh0ZmllbGQtdGl0bGUtdWkuaHRtbAogYWNjZXNzaWJpbGl0eS9zcGluYnV0dG9uLXZhbHVl
Lmh0bWwKIGFjY2Vzc2liaWxpdHkvc3ZnLXJlbW90ZS1lbGVtZW50Lmh0bWwKIGFjY2Vzc2liaWxp
dHkvdGFibGUtYXR0cmlidXRlcy5odG1sCithY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNv
bHVtbi1hbmQtcm93LWNyYXNoLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1zcGFucy5o
dG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGxzLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUt
ZGV0ZWN0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDJjNGViODkyNDdhOTYyYTk5M2Y3NjYxMzZiNWJjNjhkNWE4ZjA4YWIu
LjU3YTQ0ZDkyOThlNTA0NjBkZWM1ZGRiNjUwZDRlN2IwZDU4MDY0YjkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTE3MSw2ICsxMTcx
LDcgQEAgYWNjZXNzaWJpbGl0eS9zcGluYnV0dG9uLXZhbHVlLmh0bWwKIGFjY2Vzc2liaWxpdHkv
c3ZnLXJlbW90ZS1lbGVtZW50Lmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtYXR0cmlidXRlcy5o
dG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtc3BhbnMuaHRtbAorYWNjZXNzaWJpbGl0eS90
YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCiBhY2Nlc3NpYmlsaXR5L3Rh
YmxlLWNlbGxzLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtZGV0ZWN0aW9uLmh0bWwKIGFjY2Vz
c2liaWxpdHkvdGFibGUtbW9kaWZpY2F0aW9uLWNyYXNoLmh0bWwK
</data>
<flag name="commit-queue"
          id="205836"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186582</attachid>
            <date>2013-02-05 02:15:40 -0800</date>
            <delta_ts>2013-02-05 09:14:17 -0800</delta_ts>
            <desc>Patch proposal plus new Layout test</desc>
            <filename>0001-2013-02-04-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>12393</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAwNzBiNzY1YmMxNGM2ODdiMDkyMDQ3ZmNiMTJmNDM5ZDBmZTNjZTQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogTW9uLCA0IEZlYiAyMDEzIDEyOjI2OjI2ICswMDAwClN1YmplY3Q6IFtQ
QVRDSF0gMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1
bmcuY29tPgoKICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmplY3RfcmVmIHdoaWxl
IHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscwogICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIEFkZCBtaXNzaW5nIGV4dHJhIHJlZiB0byBpbXBsZW1lbnRh
dGlvbiBvZiBhdGtfdGFibGVfcmVmX2F0KCkuCgogICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkv
dGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAoKICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHA6CiAgICAgICAg
KHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0KTogVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1bGwg
b3duZXJzaGlwCiAgICAgICAgb3ZlciB0aGUgcmV0dXJuZWQgQXRrT2JqZWN0LCBzbyBhbiBleHRy
YSByZWZlcmVuY2UgaXMgbmVlZGVkIGhlcmUuCgoyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFBy
YWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CgogICAgICAgIFtHVEtdIE1pc3NpbmcgY2Fs
bCB0byBnX29iamVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxz
CiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMwoK
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQm90aCBEUlQgYW5k
IFdLVFIgbmVlZCB0byBjYWxsIGdfb2JqZWN0X3VucmVmKCkgbm93IHRoYXQgYW4gZXh0cmEKICAg
ICAgICByZWZlcmVuY2UgaXMgYWRkZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIGF0a190YWJs
ZV9yZWZfYXQoKS4KCiAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEd0ay5jcHA6CiAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JD
b2x1bW5BbmRSb3cpOiBDYWxsIGdfb2JqZWN0X3VucmVmCiAgICAgICAgYmVmb3JlIHJldHVybmlu
ZyB0aGUgbmV3IGluc3RhbmNlIG9mIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuCiAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcDoKICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29s
dW1uQW5kUm93KTogRGl0dG8uCgoyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFy
aW8ucHJhZGFAc2Ftc3VuZy5jb20+CgogICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBnX29i
amVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCiAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMwoKICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQWRkZWQgbmV3IHRlc3QuIEl0IHNo
b3VsZCB3b3JrIGZpbmUgYXQgbGVhc3QgaW4gQ2hyb21pdW0sIE1hYyBhbmQKICAgICAgICBHVEsg
cG9ydHMsIGJ1dCB3aWxsIHByb2JhYmx5IG5lZWQgc3BlY2lmaWMgcmVzdWx0cyBmb3Igd2luZG93
cy4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93
LWNyYXNoLmh0bWw6IEFkZGVkLgogICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXBwZWQgdGVzdC4KICAgICAgICAqIHBsYXRm
b3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgotLS0KIExheW91dFRlc3RzL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrCiAuLi5h
YmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4cGVjdGVkLnR4dCB8ICAgMjIgKysr
KysrKysrKwogLi4uL3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwgICAg
ICAgfCAgIDQ1ICsrKysrKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9ucyAgICAgICAgICB8ICAgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyAgICAgfCAgICAxICsKIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrCiAuLi4vYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAgICAgICAgICB8ICAgIDkgKysrLQog
VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE2
ICsrKysrKysKIC4uLi9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgICAgICAgICAg
ICAgIHwgICAgNiArKy0KIC4uLi9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgICAg
ICAgICAgICAgIHwgICAgNiArKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCsp
LCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE1N2EyMzAuLjQ1OWY0ZTIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1h
cmlvLnByYWRhQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBn
X29iamVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVz
dC4gSXQgc2hvdWxkIHdvcmsgZmluZSBhdCBsZWFzdCBpbiBDaHJvbWl1bSwgTWFjIGFuZAorICAg
ICAgICBHVEsgcG9ydHMsIGJ1dCB3aWxsIHByb2JhYmx5IG5lZWQgc3BlY2lmaWMgcmVzdWx0cyBm
b3Igd2luZG93cy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29s
dW1uLWFuZC1yb3ctY3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90
YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOiBTa2lwcGVkIHRlc3QuCisg
ICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczogRGl0dG8uCisKIDIw
MTMtMDItMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtD
aHJvbWl1bV0gUmViYXNlbGluZSBmb3IgcjE0MTc0MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1h
bmQtcm93LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5iNWM0MjU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyMiBAQAorZm9vCitiYXIKK1RoaXMgdGVzdHMgdGhhdCByZXRyaWV2aW5nIGEgY2VsbCBm
b3IgYSB0YWJsZSBtdWx0aXBsZSB0aW1lcyBkb2Vzbid0IGNyYXNoLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBheFRhYmxlLnJvbGUgaXMgJ0FYUm9sZTogQVhUYWJsZScK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBp
cyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBp
cyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBp
cyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ct
Y3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjM4OWM2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBpZD0iYm9keSI+Cis8dGFibGUgaWQ9InRlc3RUYWJsZSI+CisgIDx0
cj48dGQ+Zm9vPC90ZD48L3RyPgorICA8dHI+PHRkPmJhcjwvdGQ+PC90cj4KKzwvdGFibGU+CisK
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCByZXRyaWV2aW5nIGEgY2VsbCBmb3Ig
YSB0YWJsZSBtdWx0aXBsZSB0aW1lcyBkb2Vzbid0IGNyYXNoLiIpOworCitpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgaWYgKHdpbmRvdy5h
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJi
b2R5IikuZm9jdXMoKTsKKyAgICB2YXIgYXhCb2R5ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Zm9jdXNlZEVsZW1lbnQ7CisKKyAgICB2YXIgYXhUYWJsZSA9IGF4Qm9keS5jaGlsZEF0SW5kZXgo
MCk7CisgICAgc2hvdWxkQmUoImF4VGFibGUucm9sZSIsICInQVhSb2xlOiBBWFRhYmxlJyIpOwor
CisgICAgLy8gVHJ5aW5nIHRvIHJlZmVyZW5jZSB0aGUgc2FtZSBjZWxsIGZvciB0aGUgdGFibGUK
KyAgICAvLyBtdWx0aXBsZSB0aW1lcyBzaG91bGRuJ3QgcmVzdWx0IGluIGEgY3Jhc2guCisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7CisgICAgICB2YXIgYXhDZWxsID0gYXhUYWJs
ZS5jZWxsRm9yQ29sdW1uQW5kUm93KDAsIDApOworICAgICAgc2hvdWxkQmUoImF4Q2VsbC5yb2xl
IiwgIidBWFJvbGU6IEFYQ2VsbCciKTsKKyAgICAgIGF4Q2VsbCA9IG51bGw7CisKKyAgICAgIC8v
IFdlIG5lZWQgdG8gZm9yY2UgYSBjYWxsIHRvIHRoZSBHYXJiYWdlIENvbGxlY3RvciBoZXJlIHNv
IHdlIGFyZQorICAgICAgLy8gc3VyZSB0aGF0IGF4Q2VsbCB3aWxsIGdldCBhY3R1YWxseSBkZXN0
cm95ZWQgYWZ0ZXIgdXNpbmcgaXQuCisgICAgICBnYygpOworICAgIH0KKyAgfQorfQorPC9zY3Jp
cHQ+CisKKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBkODQ0NDFhLi5jZmNhNzNmIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjQ5LDYgKzY0OSw3IEBAIGFjY2Vzc2liaWxp
dHkvc2VjdXJlLXRleHRmaWVsZC10aXRsZS11aS5odG1sCiBhY2Nlc3NpYmlsaXR5L3NwaW5idXR0
b24tdmFsdWUuaHRtbAogYWNjZXNzaWJpbGl0eS9zdmctcmVtb3RlLWVsZW1lbnQuaHRtbAogYWNj
ZXNzaWJpbGl0eS90YWJsZS1hdHRyaWJ1dGVzLmh0bWwKK2FjY2Vzc2liaWxpdHkvdGFibGUtY2Vs
bC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxs
LXNwYW5zLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbHMuaHRtbAogYWNjZXNzaWJpbGl0
eS90YWJsZS1kZXRlY3Rpb24uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMmM0ZWI4OS4uNTdhNDRkOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTcxLDYgKzExNzEs
NyBAQCBhY2Nlc3NpYmlsaXR5L3NwaW5idXR0b24tdmFsdWUuaHRtbAogYWNjZXNzaWJpbGl0eS9z
dmctcmVtb3RlLWVsZW1lbnQuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1hdHRyaWJ1dGVzLmh0
bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1zcGFucy5odG1sCithY2Nlc3NpYmlsaXR5L3Rh
YmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFi
bGUtY2VsbHMuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1kZXRlY3Rpb24uaHRtbAogYWNjZXNz
aWJpbGl0eS90YWJsZS1tb2RpZmljYXRpb24tY3Jhc2guaHRtbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZmNTdm
ODYuLjNhNGFmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMi0wNCAgTWFy
aW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtH
VEtdIE1pc3NpbmcgY2FsbCB0byBnX29iamVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3Np
YmxlIHRhYmxlIGNlbGxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDY5MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgbWlzc2luZyBleHRyYSByZWYgdG8gaW1wbGVtZW50YXRpb24gb2YgYXRrX3Rh
YmxlX3JlZl9hdCgpLgorCisgICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1m
b3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcDoKKyAgICAgICAgKHdlYmtpdEFj
Y2Vzc2libGVUYWJsZVJlZkF0KTogVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1bGwgb3duZXJzaGlw
CisgICAgICAgIG92ZXIgdGhlIHJldHVybmVkIEF0a09iamVjdCwgc28gYW4gZXh0cmEgcmVmZXJl
bmNlIGlzIG5lZWRlZCBoZXJlLgorCiAyMDEzLTAyLTA0ICBBbmRyZXkgTHVzaG5pa292ICA8bHVz
aG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzb3VyY2UgbG9j
YXRpb24gaW4gc3RhdHVzYmFyIGhhcyBmZXcgYnVncyBpbiBpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VUYWJsZS5jcHAKaW5kZXggYjU4NzQ2MC4uYWVlN2I3YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRh
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwCkBAIC05NCw3ICs5NCwxNCBAQCBzdGF0aWMgQXRrT2Jq
ZWN0KiB3ZWJraXRBY2Nlc3NpYmxlVGFibGVSZWZBdChBdGtUYWJsZSogdGFibGUsIGdpbnQgcm93
LCBnaW50IGNvbAogICAgIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwqIGF4Q2VsbCA9IGNlbGwodGFi
bGUsIHJvdywgY29sdW1uKTsKICAgICBpZiAoIWF4Q2VsbCkKICAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgcmV0dXJuIGF4Q2VsbC0+d3JhcHBlcigpOworCisgICAgQXRrT2JqZWN0KiBjZWxsID0gYXhD
ZWxsLT53cmFwcGVyKCk7CisgICAgaWYgKCFjZWxsKQorICAgICAgICByZXR1cm4gMDsKKworICAg
IC8vIFRoaXMgbWV0aG9kIHRyYW5zZmVycyBmdWxsIG93bmVyc2hpcCBvdmVyIHRoZSByZXR1cm5l
ZAorICAgIC8vIEF0a09iamVjdCwgc28gYW4gZXh0cmEgcmVmZXJlbmNlIGlzIG5lZWRlZCBoZXJl
LgorICAgIHJldHVybiBBVEtfT0JKRUNUKGdfb2JqZWN0X3JlZihjZWxsKSk7CiB9CiAKIHN0YXRp
YyBnaW50IHdlYmtpdEFjY2Vzc2libGVUYWJsZUdldEluZGV4QXQoQXRrVGFibGUqIHRhYmxlLCBn
aW50IHJvdywgZ2ludCBjb2x1bW4pCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggNzQxZDgzYS4uNDhkZTgyNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTA0
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgW0dUS10gTWlzc2luZyBjYWxsIHRvIGdfb2JqZWN0X3JlZiB3aGlsZSByZXRyaWV2aW5nIGFj
Y2Vzc2libGUgdGFibGUgY2VsbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNjkwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEJvdGggRFJUIGFuZCBXS1RSIG5lZWQgdG8gY2FsbCBnX29iamVjdF91bnJl
ZigpIG5vdyB0aGF0IGFuIGV4dHJhCisgICAgICAgIHJlZmVyZW5jZSBpcyBhZGRlZCBpbiB0aGUg
aW1wbGVtZW50YXRpb24gb2YgYXRrX3RhYmxlX3JlZl9hdCgpLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwOgorICAgICAgICAoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyk6IENhbGwgZ19vYmplY3Rf
dW5yZWYKKyAgICAgICAgYmVmb3JlIHJldHVybmluZyB0aGUgbmV3IGluc3RhbmNlIG9mIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3cpOiBEaXR0by4KKwogMjAx
My0wMi0wMyAgQWxhbiBDdXR0ZXIgIDxhbGFuY3V0dGVyQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBQYXRjaExvZ3MgYXJlIG5vdCBnZXR0aW5nIGNyZWF0ZWQgb24gUXVldWVTdGF0dXNTZXJ2ZXIK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50R3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50R3RrLmNwcAppbmRleCA0YWI5OTk1Li5hZDA2MzQyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCkBAIC03ODUs
OCArNzg1LDEwIEBAIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1bnNpZ25lZCBjb2x1CiAKICAgICBBU1NFUlQoQVRLX0lT
X1RBQkxFKG1fZWxlbWVudCkpOwogCi0gICAgQXRrT2JqZWN0KiBmb3VuZENlbGwgPSBhdGtfdGFi
bGVfcmVmX2F0KEFUS19UQUJMRShtX2VsZW1lbnQpLCByb3csIGNvbHVtbik7Ci0gICAgcmV0dXJu
IGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoZm91bmRDZWxsKSA6IDA7CisgICAg
Ly8gQWRvcHQgdGhlIEF0a09iamVjdCByZXByZXNlbnRpbmcgdGhlIGNlbGwgYmVjYXVzZQorICAg
IC8vIGF0X3RhYmxlX3JlZl9hdCgpIHRyYW5zZmVycyBmdWxsIG93bmVyc2hpcC4KKyAgICBHUmVm
UHRyPEF0a09iamVjdD4gZm91bmRDZWxsID0gYWRvcHRHUmVmKGF0a190YWJsZV9yZWZfYXQoQVRL
X1RBQkxFKG1fZWxlbWVudCksIHJvdywgY29sdW1uKSk7CisgICAgcmV0dXJuIGZvdW5kQ2VsbCA/
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoZm91bmRDZWxsLmdldCgpKSA6IDA7CiB9CiAKIEpTU3Ry
aW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkVGV4dFJhbmdlKCkKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggNTA2MmE4Zi4uYmFi
ZWI3MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAg
LTg3MSw4ICs4NzEsMTAgQEAgUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KHUKICAgICBpZiAoIW1fZWxl
bWVudCB8fCAhQVRLX0lTX1RBQkxFKG1fZWxlbWVudCkpCiAgICAgICAgIHJldHVybiAwOwogCi0g
ICAgQXRrT2JqZWN0KiBmb3VuZENlbGwgPSBhdGtfdGFibGVfcmVmX2F0KEFUS19UQUJMRShtX2Vs
ZW1lbnQpLCByb3csIGNvbCk7Ci0gICAgcmV0dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmNyZWF0ZShmb3VuZENlbGwpIDogMDsKKyAgICAvLyBBZG9wdCB0aGUgQXRrT2Jq
ZWN0IHJlcHJlc2VudGluZyB0aGUgY2VsbCBiZWNhdXNlCisgICAgLy8gYXRfdGFibGVfcmVmX2F0
KCkgdHJhbnNmZXJzIGZ1bGwgb3duZXJzaGlwLgorICAgIEdSZWZQdHI8QXRrT2JqZWN0PiBmb3Vu
ZENlbGwgPSBhZG9wdEdSZWYoYXRrX3RhYmxlX3JlZl9hdChBVEtfVEFCTEUobV9lbGVtZW50KSwg
cm93LCBjb2wpKTsKKyAgICByZXR1cm4gZm91bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y3JlYXRlKGZvdW5kQ2VsbC5nZXQoKSkgOiAwOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhvcml6b250YWxTY3JvbGxi
YXIoKSBjb25zdAotLSAKMS43LjkuNQoK
</data>
<flag name="commit-queue"
          id="206100"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186641</attachid>
            <date>2013-02-05 09:14:17 -0800</date>
            <delta_ts>2013-02-06 03:20:32 -0800</delta_ts>
            <desc>Patch proposal plus new Layout test</desc>
            <filename>0001-2013-02-04-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>12463</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA1MzY4YmI5NjlhN2QyOGMyZDNiNDUzM2ZmMzcyYzFjN2VjODdhYzNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogTW9uLCA0IEZlYiAyMDEzIDEyOjI2OjI2ICswMDAwClN1YmplY3Q6IFtQ
QVRDSF0gMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1
bmcuY29tPgoKICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmplY3RfcmVmIHdoaWxl
IHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscwogICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIEFkZCBtaXNzaW5nIGV4dHJhIHJlZiB0byBpbXBsZW1lbnRh
dGlvbiBvZiBhdGtfdGFibGVfcmVmX2F0KCkuCgogICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkv
dGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAoKICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHA6CiAgICAgICAg
KHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0KTogVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1bGwg
b3duZXJzaGlwCiAgICAgICAgb3ZlciB0aGUgcmV0dXJuZWQgQXRrT2JqZWN0LCBzbyBhbiBleHRy
YSByZWZlcmVuY2UgaXMgbmVlZGVkIGhlcmUuCgoyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFBy
YWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CgogICAgICAgIFtHVEtdIE1pc3NpbmcgY2Fs
bCB0byBnX29iamVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxz
CiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMwoK
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQm90aCBEUlQgYW5k
IFdLVFIgbmVlZCB0byBjYWxsIGdfb2JqZWN0X3VucmVmKCkgbm93IHRoYXQgYW4gZXh0cmEKICAg
ICAgICByZWZlcmVuY2UgaXMgYWRkZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIGF0a190YWJs
ZV9yZWZfYXQoKS4KCiAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEd0ay5jcHA6CiAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JD
b2x1bW5BbmRSb3cpOiBDYWxsIGdfb2JqZWN0X3VucmVmCiAgICAgICAgYmVmb3JlIHJldHVybmlu
ZyB0aGUgbmV3IGluc3RhbmNlIG9mIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuCiAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcDoKICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29s
dW1uQW5kUm93KTogRGl0dG8uCgoyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFy
aW8ucHJhZGFAc2Ftc3VuZy5jb20+CgogICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBnX29i
amVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCiAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMwoKICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQWRkZWQgbmV3IHRlc3QuIEl0IHNo
b3VsZCB3b3JrIGZpbmUgYXQgbGVhc3QgaW4gQ2hyb21pdW0sIE1hYyBhbmQKICAgICAgICBHVEsg
cG9ydHMsIGJ1dCB3aWxsIHByb2JhYmx5IG5lZWQgc3BlY2lmaWMgcmVzdWx0cyBmb3Igd2luZG93
cy4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93
LWNyYXNoLmh0bWw6IEFkZGVkLgogICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXBwZWQgdGVzdC4KICAgICAgICAqIHBsYXRm
b3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgotLS0KIExheW91dFRlc3RzL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrCiAuLi5h
YmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4cGVjdGVkLnR4dCB8ICAgMjIgKysr
KysrKysrKwogLi4uL3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwgICAg
ICAgfCAgIDQ1ICsrKysrKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9ucyAgICAgICAgICB8ICAgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyAgICAgfCAgICAxICsKIFNvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrCiAuLi4vYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAgICAgICAgICB8ICAgIDkgKysrLQog
VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE2
ICsrKysrKysKIC4uLi9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgICAgICAgICAg
ICAgIHwgICAgNiArKy0KIC4uLi9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgICAg
ICAgICAgICAgIHwgICAgNiArKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCsp
LCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE1N2EyMzAuLjQ1OWY0ZTIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1h
cmlvLnByYWRhQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBn
X29iamVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVz
dC4gSXQgc2hvdWxkIHdvcmsgZmluZSBhdCBsZWFzdCBpbiBDaHJvbWl1bSwgTWFjIGFuZAorICAg
ICAgICBHVEsgcG9ydHMsIGJ1dCB3aWxsIHByb2JhYmx5IG5lZWQgc3BlY2lmaWMgcmVzdWx0cyBm
b3Igd2luZG93cy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29s
dW1uLWFuZC1yb3ctY3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90
YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOiBTa2lwcGVkIHRlc3QuCisg
ICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczogRGl0dG8uCisKIDIw
MTMtMDItMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtD
aHJvbWl1bV0gUmViYXNlbGluZSBmb3IgcjE0MTc0MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1h
bmQtcm93LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5iNWM0MjU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyMiBAQAorZm9vCitiYXIKK1RoaXMgdGVzdHMgdGhhdCByZXRyaWV2aW5nIGEgY2VsbCBm
b3IgYSB0YWJsZSBtdWx0aXBsZSB0aW1lcyBkb2Vzbid0IGNyYXNoLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBheFRhYmxlLnJvbGUgaXMgJ0FYUm9sZTogQVhUYWJsZScK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBp
cyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBp
cyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBp
cyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcK
K1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ct
Y3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWM5MzBkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorCis8Ym9keSBpZD0iYm9keSI+Cis8dGFibGUgaWQ9InRlc3RUYWJsZSIgc3VtbWFy
eT0iQSBzdW1tYXJ5IHRvIG1ha2Ugc3VyZSB0aGlzIGlzIGFsd2F5cyBleHBvc2VkIGFzIGFuIEFY
VGFibGUiPgorICA8dHI+PHRkPmZvbzwvdGQ+PC90cj4KKyAgPHRyPjx0ZD5iYXI8L3RkPjwvdHI+
Cis8L3RhYmxlPgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgcmV0cmlldmlu
ZyBhIGNlbGwgZm9yIGEgdGFibGUgbXVsdGlwbGUgdGltZXMgZG9lc24ndCBjcmFzaC4iKTsKKwor
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
IGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiYm9keSIpLmZvY3VzKCk7CisgICAgdmFyIGF4Qm9keSA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50OworCisgICAgdmFyIGF4VGFibGUgPSBheEJvZHku
Y2hpbGRBdEluZGV4KDApOworICAgIHNob3VsZEJlKCJheFRhYmxlLnJvbGUiLCAiJ0FYUm9sZTog
QVhUYWJsZSciKTsKKworICAgIC8vIFRyeWluZyB0byByZWZlcmVuY2UgdGhlIHNhbWUgY2VsbCBm
b3IgdGhlIHRhYmxlCisgICAgLy8gbXVsdGlwbGUgdGltZXMgc2hvdWxkbid0IHJlc3VsdCBpbiBh
IGNyYXNoLgorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgeworICAgICAgdmFyIGF4
Q2VsbCA9IGF4VGFibGUuY2VsbEZvckNvbHVtbkFuZFJvdygwLCAwKTsKKyAgICAgIHNob3VsZEJl
KCJheENlbGwucm9sZSIsICInQVhSb2xlOiBBWENlbGwnIik7CisgICAgICBheENlbGwgPSBudWxs
OworCisgICAgICAvLyBXZSBuZWVkIHRvIGZvcmNlIGEgY2FsbCB0byB0aGUgR2FyYmFnZSBDb2xs
ZWN0b3IgaGVyZSBzbyB3ZSBhcmUKKyAgICAgIC8vIHN1cmUgdGhhdCBheENlbGwgd2lsbCBnZXQg
YWN0dWFsbHkgZGVzdHJveWVkIGFmdGVyIHVzaW5nIGl0LgorICAgICAgZ2MoKTsKKyAgICB9Cisg
IH0KK30KKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDg0NDQxYS4uY2ZjYTczZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0OSw2ICs2NDksNyBA
QCBhY2Nlc3NpYmlsaXR5L3NlY3VyZS10ZXh0ZmllbGQtdGl0bGUtdWkuaHRtbAogYWNjZXNzaWJp
bGl0eS9zcGluYnV0dG9uLXZhbHVlLmh0bWwKIGFjY2Vzc2liaWxpdHkvc3ZnLXJlbW90ZS1lbGVt
ZW50Lmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtYXR0cmlidXRlcy5odG1sCithY2Nlc3NpYmls
aXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwKIGFjY2Vzc2liaWxp
dHkvdGFibGUtY2VsbC1zcGFucy5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGxzLmh0bWwK
IGFjY2Vzc2liaWxpdHkvdGFibGUtZGV0ZWN0aW9uLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDJjNGViODkuLjU3YTQ0ZDkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTE3MSw2ICsxMTcxLDcgQEAgYWNjZXNzaWJpbGl0eS9zcGluYnV0dG9uLXZhbHVlLmh0bWwKIGFj
Y2Vzc2liaWxpdHkvc3ZnLXJlbW90ZS1lbGVtZW50Lmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUt
YXR0cmlidXRlcy5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtc3BhbnMuaHRtbAorYWNj
ZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCiBhY2Nl
c3NpYmlsaXR5L3RhYmxlLWNlbGxzLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtZGV0ZWN0aW9u
Lmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtbW9kaWZpY2F0aW9uLWNyYXNoLmh0bWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA2ZjU3Zjg2Li4zYTRhZmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTMtMDItMDQgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1zdW5nLmNvbT4K
KworICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmplY3RfcmVmIHdoaWxlIHJldHJp
ZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIG1pc3NpbmcgZXh0cmEgcmVmIHRvIGltcGxlbWVudGF0
aW9uIG9mIGF0a190YWJsZV9yZWZfYXQoKS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5
L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwKKworICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHA6CisgICAg
ICAgICh3ZWJraXRBY2Nlc3NpYmxlVGFibGVSZWZBdCk6IFRoaXMgbWV0aG9kIHRyYW5zZmVycyBm
dWxsIG93bmVyc2hpcAorICAgICAgICBvdmVyIHRoZSByZXR1cm5lZCBBdGtPYmplY3QsIHNvIGFu
IGV4dHJhIHJlZmVyZW5jZSBpcyBuZWVkZWQgaGVyZS4KKwogMjAxMy0wMi0wNCAgQW5kcmV5IEx1
c2huaWtvdiAgPGx1c2huaWtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogc291cmNlIGxvY2F0aW9uIGluIHN0YXR1c2JhciBoYXMgZmV3IGJ1Z3MgaW4gaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VUYWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwCmluZGV4IGI1ODc0NjAuLmFlZTdiN2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VUYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcApAQCAtOTQsNyArOTQsMTQgQEAg
c3RhdGljIEF0a09iamVjdCogd2Via2l0QWNjZXNzaWJsZVRhYmxlUmVmQXQoQXRrVGFibGUqIHRh
YmxlLCBnaW50IHJvdywgZ2ludCBjb2wKICAgICBBY2Nlc3NpYmlsaXR5VGFibGVDZWxsKiBheENl
bGwgPSBjZWxsKHRhYmxlLCByb3csIGNvbHVtbik7CiAgICAgaWYgKCFheENlbGwpCiAgICAgICAg
IHJldHVybiAwOwotICAgIHJldHVybiBheENlbGwtPndyYXBwZXIoKTsKKworICAgIEF0a09iamVj
dCogY2VsbCA9IGF4Q2VsbC0+d3JhcHBlcigpOworICAgIGlmICghY2VsbCkKKyAgICAgICAgcmV0
dXJuIDA7CisKKyAgICAvLyBUaGlzIG1ldGhvZCB0cmFuc2ZlcnMgZnVsbCBvd25lcnNoaXAgb3Zl
ciB0aGUgcmV0dXJuZWQKKyAgICAvLyBBdGtPYmplY3QsIHNvIGFuIGV4dHJhIHJlZmVyZW5jZSBp
cyBuZWVkZWQgaGVyZS4KKyAgICByZXR1cm4gQVRLX09CSkVDVChnX29iamVjdF9yZWYoY2VsbCkp
OwogfQogCiBzdGF0aWMgZ2ludCB3ZWJraXRBY2Nlc3NpYmxlVGFibGVHZXRJbmRleEF0KEF0a1Rh
YmxlKiB0YWJsZSwgZ2ludCByb3csIGdpbnQgY29sdW1uKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc0MWQ4M2EuLjQ4ZGU4MjcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBA
QAorMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBnX29iamVjdF9yZWYgd2hpbGUg
cmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCb3RoIERSVCBhbmQgV0tUUiBuZWVkIHRvIGNhbGwg
Z19vYmplY3RfdW5yZWYoKSBub3cgdGhhdCBhbiBleHRyYQorICAgICAgICByZWZlcmVuY2UgaXMg
YWRkZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIGF0a190YWJsZV9yZWZfYXQoKS4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3RrLmNwcDoK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3cpOiBD
YWxsIGdfb2JqZWN0X3VucmVmCisgICAgICAgIGJlZm9yZSByZXR1cm5pbmcgdGhlIG5ldyBpbnN0
YW5jZSBvZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KTog
RGl0dG8uCisKIDIwMTMtMDItMDMgIEFsYW4gQ3V0dGVyICA8YWxhbmN1dHRlckBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUGF0Y2hMb2dzIGFyZSBub3QgZ2V0dGluZyBjcmVhdGVkIG9uIFF1ZXVl
U3RhdHVzU2VydmVyCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudEd0ay5jcHAKaW5kZXggNGFiOTk5NS4uYWQwNjM0MiAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50R3Rr
LmNwcApAQCAtNzg1LDggKzc4NSwxMCBAQCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3codW5zaWduZWQgY29sdQogCiAgICAg
QVNTRVJUKEFUS19JU19UQUJMRShtX2VsZW1lbnQpKTsKIAotICAgIEF0a09iamVjdCogZm91bmRD
ZWxsID0gYXRrX3RhYmxlX3JlZl9hdChBVEtfVEFCTEUobV9lbGVtZW50KSwgcm93LCBjb2x1bW4p
OwotICAgIHJldHVybiBmb3VuZENlbGwgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KGZvdW5kQ2Vs
bCkgOiAwOworICAgIC8vIEFkb3B0IHRoZSBBdGtPYmplY3QgcmVwcmVzZW50aW5nIHRoZSBjZWxs
IGJlY2F1c2UKKyAgICAvLyBhdF90YWJsZV9yZWZfYXQoKSB0cmFuc2ZlcnMgZnVsbCBvd25lcnNo
aXAuCisgICAgR1JlZlB0cjxBdGtPYmplY3Q+IGZvdW5kQ2VsbCA9IGFkb3B0R1JlZihhdGtfdGFi
bGVfcmVmX2F0KEFUS19UQUJMRShtX2VsZW1lbnQpLCByb3csIGNvbHVtbikpOworICAgIHJldHVy
biBmb3VuZENlbGwgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KGZvdW5kQ2VsbC5nZXQoKSkgOiAw
OwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZFRleHRS
YW5nZSgpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCmluZGV4
IDUwNjJhOGYuLmJhYmViNzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRBdGsuY3BwCkBAIC04NzEsOCArODcxLDEwIEBAIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1CiAg
ICAgaWYgKCFtX2VsZW1lbnQgfHwgIUFUS19JU19UQUJMRShtX2VsZW1lbnQpKQogICAgICAgICBy
ZXR1cm4gMDsKIAotICAgIEF0a09iamVjdCogZm91bmRDZWxsID0gYXRrX3RhYmxlX3JlZl9hdChB
VEtfVEFCTEUobV9lbGVtZW50KSwgcm93LCBjb2wpOwotICAgIHJldHVybiBmb3VuZENlbGwgPyBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoZm91bmRDZWxsKSA6IDA7CisgICAgLy8gQWRv
cHQgdGhlIEF0a09iamVjdCByZXByZXNlbnRpbmcgdGhlIGNlbGwgYmVjYXVzZQorICAgIC8vIGF0
X3RhYmxlX3JlZl9hdCgpIHRyYW5zZmVycyBmdWxsIG93bmVyc2hpcC4KKyAgICBHUmVmUHRyPEF0
a09iamVjdD4gZm91bmRDZWxsID0gYWRvcHRHUmVmKGF0a190YWJsZV9yZWZfYXQoQVRLX1RBQkxF
KG1fZWxlbWVudCksIHJvdywgY29sKSk7CisgICAgcmV0dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShmb3VuZENlbGwuZ2V0KCkpIDogMDsKIH0KIAogUGFzc1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpob3Jp
em9udGFsU2Nyb2xsYmFyKCkgY29uc3QKLS0gCjEuNy45LjUKCg==
</data>
<flag name="commit-queue"
          id="206179"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186814</attachid>
            <date>2013-02-06 03:20:32 -0800</date>
            <delta_ts>2013-02-14 06:02:36 -0800</delta_ts>
            <desc>Patch proposal plus new Layout test</desc>
            <filename>0001-2013-02-04-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>13388</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA4MDk1YWRhMGFmNzk1YWNhZDgwZGQ4N2ExODc1ZGMzNjZhZjg1MGJhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogTW9uLCA0IEZlYiAyMDEzIDEyOjI2OjI2ICswMDAwClN1YmplY3Q6IFtQ
QVRDSF0gMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1
bmcuY29tPgoKICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmplY3RfcmVmIHdoaWxl
IHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscwogICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCgogICAgICAgIEFkZCBtaXNzaW5nIGV4dHJhIHJlZiB0byBpbXBsZW1lbnRh
dGlvbiBvZiBhdGtfdGFibGVfcmVmX2F0KCkuCgogICAgICAgIFRlc3Q6IGFjY2Vzc2liaWxpdHkv
dGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAoKICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHA6CiAgICAgICAg
KHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0KTogVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1bGwg
b3duZXJzaGlwCiAgICAgICAgb3ZlciB0aGUgcmV0dXJuZWQgQXRrT2JqZWN0LCBzbyBhbiBleHRy
YSByZWZlcmVuY2UgaXMgbmVlZGVkIGhlcmUuCgoyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFBy
YWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CgogICAgICAgIFtHVEtdIE1pc3NpbmcgY2Fs
bCB0byBnX29iamVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxz
CiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMwoK
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQm90aCBEUlQgYW5k
IFdLVFIgbmVlZCB0byBjYWxsIGdfb2JqZWN0X3VucmVmKCkgbm93IHRoYXQgYW4gZXh0cmEKICAg
ICAgICByZWZlcmVuY2UgaXMgYWRkZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIG9mIGF0a190YWJs
ZV9yZWZfYXQoKS4KCiAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEd0ay5jcHA6CiAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JD
b2x1bW5BbmRSb3cpOiBDYWxsIGdfb2JqZWN0X3VucmVmCiAgICAgICAgYmVmb3JlIHJldHVybmlu
ZyB0aGUgbmV3IGluc3RhbmNlIG9mIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuCiAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcDoKICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29s
dW1uQW5kUm93KTogRGl0dG8uCgoyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFy
aW8ucHJhZGFAc2Ftc3VuZy5jb20+CgogICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBnX29i
amVjdF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCiAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMwoKICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQWRkZWQgbmV3IHRlc3QuIEl0IHNo
b3VsZCB3b3JrIGZpbmUgYXQgbGVhc3QgaW4gTWFjIGFuZCBHVEsgcG9ydHMsCiAgICAgICAgYnV0
IHdpbGwgbmVlZCBzcGVjaWZpYyByZXN1bHRzIGZvciBjaHJvbWl1bSBhbmQgd2luZG93cy4KCiAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNo
Lmh0bWw6IEFkZGVkLgogICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1
bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogU2tpcHBlZCB0ZXN0LgogICAgICAgICogcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgogICAgICAgICogcGxhdGZvcm0vd2luY2Fp
cm8vVGVzdEV4cGVjdGF0aW9uczogRGl0dG8uCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE2ICsrKysrKysKIC4uLmFibGUtY2VsbC1m
b3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0IHwgICAyMiArKysrKysrKysrCiAu
Li4vdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbCAgICAgICB8ICAgNDUg
KysrKysrKysrKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMgICAgIHwgICAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucyAgICAgICAgICB8ICAgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fp
cm8vVGVzdEV4cGVjdGF0aW9ucyAgICAgfCAgICAxICsKIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrCiAuLi4vYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAgICAgICAgICB8ICAgIDkgKysrLQogVG9vbHMv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE2ICsrKysr
KysKIC4uLi9ndGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEd0ay5jcHAgICAgICAgICAgICAgIHwg
ICAgNiArKy0KIC4uLi9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgICAgICAgICAg
ICAgIHwgICAgNiArKy0KIDExIGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspLCA1IGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
dGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0CiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1
bW4tYW5kLXJvdy1jcmFzaC5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE1N2EyMzAuLjM4MGYxZTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxMy0wMi0wNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnBy
YWRhQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBnX29iamVj
dF9yZWYgd2hpbGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdC4gSXQg
c2hvdWxkIHdvcmsgZmluZSBhdCBsZWFzdCBpbiBNYWMgYW5kIEdUSyBwb3J0cywKKyAgICAgICAg
YnV0IHdpbGwgbmVlZCBzcGVjaWZpYyByZXN1bHRzIGZvciBjaHJvbWl1bSBhbmQgd2luZG93cy4K
KworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ct
Y3Jhc2guaHRtbDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXBwZWQgdGVzdC4KKyAgICAgICAg
KiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczogRGl0dG8uCisgICAgICAgICogcGxhdGZv
cm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczogRGl0dG8uCisKIDIwMTMtMDItMDQgIEtlbnQg
VGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gUmViYXNl
bGluZSBmb3IgcjE0MTc0MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90
YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWM0MjU5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZv
ci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMiBAQAorZm9v
CitiYXIKK1RoaXMgdGVzdHMgdGhhdCByZXRyaWV2aW5nIGEgY2VsbCBmb3IgYSB0YWJsZSBtdWx0
aXBsZSB0aW1lcyBkb2Vzbid0IGNyYXNoLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBheFRhYmxlLnJvbGUgaXMgJ0FYUm9sZTogQVhUYWJsZScKK1BBU1MgYXhDZWxsLnJv
bGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBBWENl
bGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxsLnJv
bGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBBWENl
bGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxsLnJv
bGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBBWENl
bGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlzICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxsLnJv
bGUgaXMgJ0FYUm9sZTogQVhDZWxsJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
dGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWM5MzBkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJv
dy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBpZD0iYm9keSI+Cis8dGFibGUgaWQ9InRlc3RUYWJsZSIgc3VtbWFyeT0iQSBzdW1tYXJ5IHRv
IG1ha2Ugc3VyZSB0aGlzIGlzIGFsd2F5cyBleHBvc2VkIGFzIGFuIEFYVGFibGUiPgorICA8dHI+
PHRkPmZvbzwvdGQ+PC90cj4KKyAgPHRyPjx0ZD5iYXI8L3RkPjwvdHI+Cis8L3RhYmxlPgorCis8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgcmV0cmlldmluZyBhIGNlbGwgZm9yIGEg
dGFibGUgbXVsdGlwbGUgdGltZXMgZG9lc24ndCBjcmFzaC4iKTsKKworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgIGlmICh3aW5kb3cuYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9k
eSIpLmZvY3VzKCk7CisgICAgdmFyIGF4Qm9keSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50OworCisgICAgdmFyIGF4VGFibGUgPSBheEJvZHkuY2hpbGRBdEluZGV4KDAp
OworICAgIHNob3VsZEJlKCJheFRhYmxlLnJvbGUiLCAiJ0FYUm9sZTogQVhUYWJsZSciKTsKKwor
ICAgIC8vIFRyeWluZyB0byByZWZlcmVuY2UgdGhlIHNhbWUgY2VsbCBmb3IgdGhlIHRhYmxlCisg
ICAgLy8gbXVsdGlwbGUgdGltZXMgc2hvdWxkbid0IHJlc3VsdCBpbiBhIGNyYXNoLgorICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgeworICAgICAgdmFyIGF4Q2VsbCA9IGF4VGFibGUu
Y2VsbEZvckNvbHVtbkFuZFJvdygwLCAwKTsKKyAgICAgIHNob3VsZEJlKCJheENlbGwucm9sZSIs
ICInQVhSb2xlOiBBWENlbGwnIik7CisgICAgICBheENlbGwgPSBudWxsOworCisgICAgICAvLyBX
ZSBuZWVkIHRvIGZvcmNlIGEgY2FsbCB0byB0aGUgR2FyYmFnZSBDb2xsZWN0b3IgaGVyZSBzbyB3
ZSBhcmUKKyAgICAgIC8vIHN1cmUgdGhhdCBheENlbGwgd2lsbCBnZXQgYWN0dWFsbHkgZGVzdHJv
eWVkIGFmdGVyIHVzaW5nIGl0LgorICAgICAgZ2MoKTsKKyAgICB9CisgIH0KK30KKzwvc2NyaXB0
PgorCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVlNzE3YjYuLmRmMTBkMzAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTM5OCw2ICsx
Mzk4LDcgQEAgY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvcGxhY2Vob2xkZXIuaHRtbCBb
IFNraXAgXQogY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvcGx1Z2luLmh0bWwgWyBTa2lw
IF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L3JhZGlvLWJ1dHRvbi1ncm91cC1tZW1i
ZXJzLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWF0
dHJpYnV0ZXMuaHRtbCBbIFNraXAgXQorY3JidWcuY29tLzEwMzIyIGFjY2Vzc2liaWxpdHkvdGFi
bGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbCBbIFNraXAgXQogY3JidWcuY29t
LzEwMzIyIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1zcGFucy5odG1sIFsgU2tpcCBdCiBjcmJ1
Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxscy5odG1sIFsgU2tpcCBdCiBjcmJ1
Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS90YWJsZS1vbmUtY2VsbC5odG1sIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ4NDQ0MWEuLmNm
Y2E3M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC02
NDksNiArNjQ5LDcgQEAgYWNjZXNzaWJpbGl0eS9zZWN1cmUtdGV4dGZpZWxkLXRpdGxlLXVpLmh0
bWwKIGFjY2Vzc2liaWxpdHkvc3BpbmJ1dHRvbi12YWx1ZS5odG1sCiBhY2Nlc3NpYmlsaXR5L3N2
Zy1yZW1vdGUtZWxlbWVudC5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWF0dHJpYnV0ZXMuaHRt
bAorYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1s
CiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtc3BhbnMuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJs
ZS1jZWxscy5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWRldGVjdGlvbi5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyYzRlYjg5
Li41N2E0NGQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTExNzEsNiArMTE3MSw3IEBAIGFjY2Vzc2liaWxpdHkvc3BpbmJ1dHRvbi12
YWx1ZS5odG1sCiBhY2Nlc3NpYmlsaXR5L3N2Zy1yZW1vdGUtZWxlbWVudC5odG1sCiBhY2Nlc3Np
YmlsaXR5L3RhYmxlLWF0dHJpYnV0ZXMuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLXNw
YW5zLmh0bWwKK2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jh
c2guaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxscy5odG1sCiBhY2Nlc3NpYmlsaXR5L3Rh
YmxlLWRldGVjdGlvbi5odG1sCiBhY2Nlc3NpYmlsaXR5L3RhYmxlLW1vZGlmaWNhdGlvbi1jcmFz
aC5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNmY1N2Y4Ni4uM2E0YWZmNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDEzLTAyLTA0ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFA
c2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10gTWlzc2luZyBjYWxsIHRvIGdfb2JqZWN0X3Jl
ZiB3aGlsZSByZXRyaWV2aW5nIGFjY2Vzc2libGUgdGFibGUgY2VsbHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjkwMworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtaXNzaW5nIGV4dHJhIHJlZiB0
byBpbXBsZW1lbnRhdGlvbiBvZiBhdGtfdGFibGVfcmVmX2F0KCkuCisKKyAgICAgICAgVGVzdDog
YWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC5odG1sCisK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFi
bGUuY3BwOgorICAgICAgICAod2Via2l0QWNjZXNzaWJsZVRhYmxlUmVmQXQpOiBUaGlzIG1ldGhv
ZCB0cmFuc2ZlcnMgZnVsbCBvd25lcnNoaXAKKyAgICAgICAgb3ZlciB0aGUgcmV0dXJuZWQgQXRr
T2JqZWN0LCBzbyBhbiBleHRyYSByZWZlcmVuY2UgaXMgbmVlZGVkIGhlcmUuCisKIDIwMTMtMDIt
MDQgIEFuZHJleSBMdXNobmlrb3YgIDxsdXNobmlrb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IHNvdXJjZSBsb2NhdGlvbiBpbiBzdGF0dXNiYXIgaGFzIGZldyBidWdz
IGluIGl0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcAppbmRleCBiNTg3NDYw
Li5hZWU3YjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTk0
LDcgKzk0LDE0IEBAIHN0YXRpYyBBdGtPYmplY3QqIHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0
KEF0a1RhYmxlKiB0YWJsZSwgZ2ludCByb3csIGdpbnQgY29sCiAgICAgQWNjZXNzaWJpbGl0eVRh
YmxlQ2VsbCogYXhDZWxsID0gY2VsbCh0YWJsZSwgcm93LCBjb2x1bW4pOwogICAgIGlmICghYXhD
ZWxsKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gYXhDZWxsLT53cmFwcGVyKCk7CisK
KyAgICBBdGtPYmplY3QqIGNlbGwgPSBheENlbGwtPndyYXBwZXIoKTsKKyAgICBpZiAoIWNlbGwp
CisgICAgICAgIHJldHVybiAwOworCisgICAgLy8gVGhpcyBtZXRob2QgdHJhbnNmZXJzIGZ1bGwg
b3duZXJzaGlwIG92ZXIgdGhlIHJldHVybmVkCisgICAgLy8gQXRrT2JqZWN0LCBzbyBhbiBleHRy
YSByZWZlcmVuY2UgaXMgbmVlZGVkIGhlcmUuCisgICAgcmV0dXJuIEFUS19PQkpFQ1QoZ19vYmpl
Y3RfcmVmKGNlbGwpKTsKIH0KIAogc3RhdGljIGdpbnQgd2Via2l0QWNjZXNzaWJsZVRhYmxlR2V0
SW5kZXhBdChBdGtUYWJsZSogdGFibGUsIGdpbnQgcm93LCBnaW50IGNvbHVtbikKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NDFkODNhLi40OGRl
ODI3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTMtMDItMDQgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5w
cmFkYUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmpl
Y3RfcmVmIHdoaWxlIHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTAzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQm90aCBEUlQgYW5kIFdLVFIg
bmVlZCB0byBjYWxsIGdfb2JqZWN0X3VucmVmKCkgbm93IHRoYXQgYW4gZXh0cmEKKyAgICAgICAg
cmVmZXJlbmNlIGlzIGFkZGVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhdGtfdGFibGVfcmVm
X2F0KCkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEd0ay5jcHA6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29s
dW1uQW5kUm93KTogQ2FsbCBnX29iamVjdF91bnJlZgorICAgICAgICBiZWZvcmUgcmV0dXJuaW5n
IHRoZSBuZXcgaW5zdGFuY2Ugb2YgQWNjZXNzaWJpbGl0eVVJRWxlbWVudC4KKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNv
bHVtbkFuZFJvdyk6IERpdHRvLgorCiAyMDEzLTAyLTAzICBBbGFuIEN1dHRlciAgPGFsYW5jdXR0
ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFBhdGNoTG9ncyBhcmUgbm90IGdldHRpbmcgY3Jl
YXRlZCBvbiBRdWV1ZVN0YXR1c1NlcnZlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwCmluZGV4IDRhYjk5OTUuLmFkMDYz
NDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50R3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEd0ay5jcHAKQEAgLTc4NSw4ICs3ODUsMTAgQEAgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KHVuc2lnbmVk
IGNvbHUKIAogICAgIEFTU0VSVChBVEtfSVNfVEFCTEUobV9lbGVtZW50KSk7CiAKLSAgICBBdGtP
YmplY3QqIGZvdW5kQ2VsbCA9IGF0a190YWJsZV9yZWZfYXQoQVRLX1RBQkxFKG1fZWxlbWVudCks
IHJvdywgY29sdW1uKTsKLSAgICByZXR1cm4gZm91bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudChmb3VuZENlbGwpIDogMDsKKyAgICAvLyBBZG9wdCB0aGUgQXRrT2JqZWN0IHJlcHJlc2Vu
dGluZyB0aGUgY2VsbCBiZWNhdXNlCisgICAgLy8gYXRfdGFibGVfcmVmX2F0KCkgdHJhbnNmZXJz
IGZ1bGwgb3duZXJzaGlwLgorICAgIEdSZWZQdHI8QXRrT2JqZWN0PiBmb3VuZENlbGwgPSBhZG9w
dEdSZWYoYXRrX3RhYmxlX3JlZl9hdChBVEtfVEFCTEUobV9lbGVtZW50KSwgcm93LCBjb2x1bW4p
KTsKKyAgICByZXR1cm4gZm91bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudChmb3VuZENl
bGwuZ2V0KCkpIDogMDsKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c2VsZWN0ZWRUZXh0UmFuZ2UoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcAppbmRleCA1MDYyYThmLi5iYWJlYjcwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtODcxLDggKzg3MSwxMCBAQCBQYXNzUmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1
bW5BbmRSb3codQogICAgIGlmICghbV9lbGVtZW50IHx8ICFBVEtfSVNfVEFCTEUobV9lbGVtZW50
KSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBBdGtPYmplY3QqIGZvdW5kQ2VsbCA9IGF0a190
YWJsZV9yZWZfYXQoQVRLX1RBQkxFKG1fZWxlbWVudCksIHJvdywgY29sKTsKLSAgICByZXR1cm4g
Zm91bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKGZvdW5kQ2VsbCkgOiAw
OworICAgIC8vIEFkb3B0IHRoZSBBdGtPYmplY3QgcmVwcmVzZW50aW5nIHRoZSBjZWxsIGJlY2F1
c2UKKyAgICAvLyBhdF90YWJsZV9yZWZfYXQoKSB0cmFuc2ZlcnMgZnVsbCBvd25lcnNoaXAuCisg
ICAgR1JlZlB0cjxBdGtPYmplY3Q+IGZvdW5kQ2VsbCA9IGFkb3B0R1JlZihhdGtfdGFibGVfcmVm
X2F0KEFUS19UQUJMRShtX2VsZW1lbnQpLCByb3csIGNvbCkpOworICAgIHJldHVybiBmb3VuZENl
bGwgPyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoZm91bmRDZWxsLmdldCgpKSA6IDA7
CiB9CiAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0Ci0tIAoxLjcuOS41Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188332</attachid>
            <date>2013-02-14 06:02:36 -0800</date>
            <delta_ts>2013-02-14 07:41:04 -0800</delta_ts>
            <desc>Patch proposal plus new Layout test</desc>
            <filename>0001-2013-02-14-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>13449</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSA3YmY5YTFhZmQ3MDJlNDJhMjg1NTI5OTY4MjBjNjNjMDk2OTZmOTNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogVGh1LCAxNCBGZWIgMjAxMyAxMzoyOTowMSArMDAwMApTdWJqZWN0OiBb
UEFUQ0hdIDIwMTMtMDItMTQgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KCiAgICAgICAgW0dUS10gTWlzc2luZyBjYWxsIHRvIGdfb2JqZWN0X3JlZiB3aGls
ZSByZXRyaWV2aW5nIGFjY2Vzc2libGUgdGFibGUgY2VsbHMKICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTAzCgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBBZGQgbWlzc2luZyBleHRyYSByZWYgdG8gaW1wbGVtZW50
YXRpb24gb2YgYXRrX3RhYmxlX3JlZl9hdCgpLgoKICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5
L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwKCiAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwOgogICAgICAg
ICh3ZWJraXRBY2Nlc3NpYmxlVGFibGVSZWZBdCk6IFRoaXMgbWV0aG9kIHRyYW5zZmVycyBmdWxs
IG93bmVyc2hpcAogICAgICAgIG92ZXIgdGhlIHJldHVybmVkIEF0a09iamVjdCwgc28gYW4gZXh0
cmEgcmVmZXJlbmNlIGlzIG5lZWRlZCBoZXJlLgoKMjAxMy0wMi0xNCAgTWFyaW8gU2FuY2hleiBQ
cmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgoKICAgICAgICBbR1RLXSBNaXNzaW5nIGNh
bGwgdG8gZ19vYmplY3RfcmVmIHdoaWxlIHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxs
cwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMK
CiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIEJvdGggRFJUIGFu
ZCBXS1RSIG5lZWQgdG8gY2FsbCBnX29iamVjdF91bnJlZigpIG5vdyB0aGF0IGFuIGV4dHJhCiAg
ICAgICAgcmVmZXJlbmNlIGlzIGFkZGVkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBhdGtfdGFi
bGVfcmVmX2F0KCkuCgogICAgICAgICogRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRHdGsuY3BwOgogICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9y
Q29sdW1uQW5kUm93KTogQ2FsbCBnX29iamVjdF91bnJlZgogICAgICAgIGJlZm9yZSByZXR1cm5p
bmcgdGhlIG5ldyBpbnN0YW5jZSBvZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LgogICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHA6CiAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNv
bHVtbkFuZFJvdyk6IERpdHRvLgoKMjAxMy0wMi0xNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1h
cmlvLnByYWRhQHNhbXN1bmcuY29tPgoKICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19v
YmplY3RfcmVmIHdoaWxlIHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscwogICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKCiAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIEFkZGVkIG5ldyB0ZXN0LiBJdCBz
aG91bGQgd29yayBmaW5lIGF0IGxlYXN0IGluIE1hYyBhbmQgR1RLIHBvcnRzLAogICAgICAgIGJ1
dCB3aWxsIG5lZWQgc3BlY2lmaWMgcmVzdWx0cyBmb3IgY2hyb21pdW0gYW5kIHdpbmRvd3MuCgog
ICAgICAgICogYWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFz
aC5odG1sOiBBZGRlZC4KICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29s
dW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXBwZWQgdGVzdC4KICAgICAgICAqIHBsYXRm
b3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOiBEaXR0by4KICAgICAgICAqIHBsYXRmb3JtL3dpbmNh
aXJvL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNiArKysrKysrCiAuLi5hYmxlLWNlbGwt
Zm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4cGVjdGVkLnR4dCB8ICAgMjIgKysrKysrKysrKwog
Li4uL3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwgICAgICAgfCAgIDQ1
ICsrKysrKysrKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zICAgICB8ICAgIDEgKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMgICAgICAgICAgfCAgICAxICsKIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL1Rlc3RFeHBlY3RhdGlvbnMgICAgIHwgICAgMSArCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTUgKysrKysrKwogLi4uL2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwICAgICAgICAgfCAgICA5ICsrKy0KIFRvb2xz
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNiArKysr
KysrCiAuLi4vYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwICAgICAgICAgICAgICB8
ICAgIDYgKystCiAuLi4vYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwICAgICAgICAg
ICAgICB8ICAgIDYgKystCiAxMSBmaWxlcyBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwgNSBk
ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLWV4cGVjdGVkLnR4dAogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29s
dW1uLWFuZC1yb3ctY3Jhc2guaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4NTllYzQ4Li42ODg2NThmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTMtMDItMTQgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5w
cmFkYUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbR1RLXSBNaXNzaW5nIGNhbGwgdG8gZ19vYmpl
Y3RfcmVmIHdoaWxlIHJldHJpZXZpbmcgYWNjZXNzaWJsZSB0YWJsZSBjZWxscworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2OTAzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgbmV3IHRlc3QuIEl0
IHNob3VsZCB3b3JrIGZpbmUgYXQgbGVhc3QgaW4gTWFjIGFuZCBHVEsgcG9ydHMsCisgICAgICAg
IGJ1dCB3aWxsIG5lZWQgc3BlY2lmaWMgcmVzdWx0cyBmb3IgY2hyb21pdW0gYW5kIHdpbmRvd3Mu
CisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93
LWNyYXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1m
b3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwcGVkIHRlc3QuCisgICAgICAg
ICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgorICAgICAgICAqIHBsYXRm
b3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnM6IERpdHRvLgorCiAyMDEzLTAyLTE0ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlbW92ZSB1cmlGb3JGaWxlIGFuZCBmaWxlRm9yVVJJIG1ldGhvZHMgZnJvbSBGaWxlU3lz
dGVtTWFwcGluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUt
Y2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS90YWJsZS1jZWxsLWZvci1jb2x1bW4tYW5kLXJvdy1jcmFzaC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVjNDI1OQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29s
dW1uLWFuZC1yb3ctY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAKK2ZvbworYmFy
CitUaGlzIHRlc3RzIHRoYXQgcmV0cmlldmluZyBhIGNlbGwgZm9yIGEgdGFibGUgbXVsdGlwbGUg
dGltZXMgZG9lc24ndCBjcmFzaC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgYXhUYWJsZS5yb2xlIGlzICdBWFJvbGU6IEFYVGFibGUnCitQQVNTIGF4Q2VsbC5yb2xlIGlz
ICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJwor
UEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlz
ICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJwor
UEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlz
ICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1MgYXhDZWxsLnJvbGUgaXMgJ0FYUm9sZTogQVhDZWxsJwor
UEFTUyBheENlbGwucm9sZSBpcyAnQVhSb2xlOiBBWENlbGwnCitQQVNTIGF4Q2VsbC5yb2xlIGlz
ICdBWFJvbGU6IEFYQ2VsbCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3RhYmxl
LWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFjOTMwZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jh
c2guaHRtbApAQCAtMCwwICsxLDQ1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgaWQ9
ImJvZHkiPgorPHRhYmxlIGlkPSJ0ZXN0VGFibGUiIHN1bW1hcnk9IkEgc3VtbWFyeSB0byBtYWtl
IHN1cmUgdGhpcyBpcyBhbHdheXMgZXhwb3NlZCBhcyBhbiBBWFRhYmxlIj4KKyAgPHRyPjx0ZD5m
b288L3RkPjwvdHI+CisgIDx0cj48dGQ+YmFyPC90ZD48L3RyPgorPC90YWJsZT4KKworPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IHJldHJpZXZpbmcgYSBjZWxsIGZvciBhIHRhYmxl
IG11bHRpcGxlIHRpbWVzIGRvZXNuJ3QgY3Jhc2guIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICBpZiAod2luZG93LmFjY2Vzc2li
aWxpdHlDb250cm9sbGVyKSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvZHkiKS5m
b2N1cygpOworICAgIHZhciBheEJvZHkgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2Vk
RWxlbWVudDsKKworICAgIHZhciBheFRhYmxlID0gYXhCb2R5LmNoaWxkQXRJbmRleCgwKTsKKyAg
ICBzaG91bGRCZSgiYXhUYWJsZS5yb2xlIiwgIidBWFJvbGU6IEFYVGFibGUnIik7CisKKyAgICAv
LyBUcnlpbmcgdG8gcmVmZXJlbmNlIHRoZSBzYW1lIGNlbGwgZm9yIHRoZSB0YWJsZQorICAgIC8v
IG11bHRpcGxlIHRpbWVzIHNob3VsZG4ndCByZXN1bHQgaW4gYSBjcmFzaC4KKyAgICBmb3IgKHZh
ciBpID0gMDsgaSA8IDEwOyBpKyspIHsKKyAgICAgIHZhciBheENlbGwgPSBheFRhYmxlLmNlbGxG
b3JDb2x1bW5BbmRSb3coMCwgMCk7CisgICAgICBzaG91bGRCZSgiYXhDZWxsLnJvbGUiLCAiJ0FY
Um9sZTogQVhDZWxsJyIpOworICAgICAgYXhDZWxsID0gbnVsbDsKKworICAgICAgLy8gV2UgbmVl
ZCB0byBmb3JjZSBhIGNhbGwgdG8gdGhlIEdhcmJhZ2UgQ29sbGVjdG9yIGhlcmUgc28gd2UgYXJl
CisgICAgICAvLyBzdXJlIHRoYXQgYXhDZWxsIHdpbGwgZ2V0IGFjdHVhbGx5IGRlc3Ryb3llZCBh
ZnRlciB1c2luZyBpdC4KKyAgICAgIGdjKCk7CisgICAgfQorICB9Cit9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA0ZWUzOGU3Li5hZjc3MmJjIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0MTgsNiArMTQxOCw3
IEBAIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L3BsYWNlaG9sZGVyLmh0bWwgWyBTa2lw
IF0KIGNyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L3BsdWdpbi5odG1sIFsgU2tpcCBdCiBj
cmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS9yYWRpby1idXR0b24tZ3JvdXAtbWVtYmVycy5o
dG1sIFsgU2tpcCBdCiBjcmJ1Zy5jb20vMTAzMjIgYWNjZXNzaWJpbGl0eS90YWJsZS1hdHRyaWJ1
dGVzLmh0bWwgWyBTa2lwIF0KK2NyYnVnLmNvbS8xMDMyMiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNl
bGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0bWwgWyBTa2lwIF0KIGNyYnVnLmNvbS8xMDMy
MiBhY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtc3BhbnMuaHRtbCBbIFNraXAgXQogY3JidWcuY29t
LzEwMzIyIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbHMuaHRtbCBbIFNraXAgXQogY3JidWcuY29t
LzEwMzIyIGFjY2Vzc2liaWxpdHkvdGFibGUtb25lLWNlbGwuaHRtbCBbIFNraXAgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhOThlYjYyLi4zYjFmZWE2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjUwLDYg
KzY1MCw3IEBAIGFjY2Vzc2liaWxpdHkvc2VjdXJlLXRleHRmaWVsZC10aXRsZS11aS5odG1sCiBh
Y2Nlc3NpYmlsaXR5L3NwaW5idXR0b24tdmFsdWUuaHRtbAogYWNjZXNzaWJpbGl0eS9zdmctcmVt
b3RlLWVsZW1lbnQuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1hdHRyaWJ1dGVzLmh0bWwKK2Fj
Y2Vzc2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAogYWNj
ZXNzaWJpbGl0eS90YWJsZS1jZWxsLXNwYW5zLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtY2Vs
bHMuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1kZXRlY3Rpb24uaHRtbApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYmMzYjAzMC4uNzMx
M2FmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMTY4LDYgKzExNjgsNyBAQCBhY2Nlc3NpYmlsaXR5L3NwaW5idXR0b24tdmFsdWUu
aHRtbAogYWNjZXNzaWJpbGl0eS9zdmctcmVtb3RlLWVsZW1lbnQuaHRtbAogYWNjZXNzaWJpbGl0
eS90YWJsZS1hdHRyaWJ1dGVzLmh0bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbC1zcGFucy5o
dG1sCithY2Nlc3NpYmlsaXR5L3RhYmxlLWNlbGwtZm9yLWNvbHVtbi1hbmQtcm93LWNyYXNoLmh0
bWwKIGFjY2Vzc2liaWxpdHkvdGFibGUtY2VsbHMuaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1k
ZXRlY3Rpb24uaHRtbAogYWNjZXNzaWJpbGl0eS90YWJsZS1tb2RpZmljYXRpb24tY3Jhc2guaHRt
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGQxM2RjYzIuLjhiZmYyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAxMy0wMi0xNCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1
bmcuY29tPgorCisgICAgICAgIFtHVEtdIE1pc3NpbmcgY2FsbCB0byBnX29iamVjdF9yZWYgd2hp
bGUgcmV0cmlldmluZyBhY2Nlc3NpYmxlIHRhYmxlIGNlbGxzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDY5MDMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbWlzc2luZyBleHRyYSByZWYgdG8gaW1w
bGVtZW50YXRpb24gb2YgYXRrX3RhYmxlX3JlZl9hdCgpLgorCisgICAgICAgIFRlc3Q6IGFjY2Vz
c2liaWxpdHkvdGFibGUtY2VsbC1mb3ItY29sdW1uLWFuZC1yb3ctY3Jhc2guaHRtbAorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNw
cDoKKyAgICAgICAgKHdlYmtpdEFjY2Vzc2libGVUYWJsZVJlZkF0KTogVGhpcyBtZXRob2QgdHJh
bnNmZXJzIGZ1bGwgb3duZXJzaGlwCisgICAgICAgIG92ZXIgdGhlIHJldHVybmVkIEF0a09iamVj
dCwgc28gYW4gZXh0cmEgcmVmZXJlbmNlIGlzIG5lZWRlZCBoZXJlLgorCiAyMDEzLTAyLTE0ICBZ
dXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGRvbid0IGNyZWF0ZSBzdGF0aWMgbG9jYWwgc3RyaW5nIGZvciBwcm9ncmFtIGxpdGVy
YWwgaW4gSW5zcGVjdG9yVGltZWxpbmVBZ2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5jcHAKaW5kZXggYjU4NzQ2MC4uYWVlN2I3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50
ZXJmYWNlVGFibGUuY3BwCkBAIC05NCw3ICs5NCwxNCBAQCBzdGF0aWMgQXRrT2JqZWN0KiB3ZWJr
aXRBY2Nlc3NpYmxlVGFibGVSZWZBdChBdGtUYWJsZSogdGFibGUsIGdpbnQgcm93LCBnaW50IGNv
bAogICAgIEFjY2Vzc2liaWxpdHlUYWJsZUNlbGwqIGF4Q2VsbCA9IGNlbGwodGFibGUsIHJvdywg
Y29sdW1uKTsKICAgICBpZiAoIWF4Q2VsbCkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJu
IGF4Q2VsbC0+d3JhcHBlcigpOworCisgICAgQXRrT2JqZWN0KiBjZWxsID0gYXhDZWxsLT53cmFw
cGVyKCk7CisgICAgaWYgKCFjZWxsKQorICAgICAgICByZXR1cm4gMDsKKworICAgIC8vIFRoaXMg
bWV0aG9kIHRyYW5zZmVycyBmdWxsIG93bmVyc2hpcCBvdmVyIHRoZSByZXR1cm5lZAorICAgIC8v
IEF0a09iamVjdCwgc28gYW4gZXh0cmEgcmVmZXJlbmNlIGlzIG5lZWRlZCBoZXJlLgorICAgIHJl
dHVybiBBVEtfT0JKRUNUKGdfb2JqZWN0X3JlZihjZWxsKSk7CiB9CiAKIHN0YXRpYyBnaW50IHdl
YmtpdEFjY2Vzc2libGVUYWJsZUdldEluZGV4QXQoQXRrVGFibGUqIHRhYmxlLCBnaW50IHJvdywg
Z2ludCBjb2x1bW4pCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggMDczNGQ0ZC4uNWQzY2Q1NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAyLTE0ICBNYXJpbyBT
YW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10g
TWlzc2luZyBjYWxsIHRvIGdfb2JqZWN0X3JlZiB3aGlsZSByZXRyaWV2aW5nIGFjY2Vzc2libGUg
dGFibGUgY2VsbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwNjkwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEJvdGggRFJUIGFuZCBXS1RSIG5lZWQgdG8gY2FsbCBnX29iamVjdF91bnJlZigpIG5vdyB0
aGF0IGFuIGV4dHJhCisgICAgICAgIHJlZmVyZW5jZSBpcyBhZGRlZCBpbiB0aGUgaW1wbGVtZW50
YXRpb24gb2YgYXRrX3RhYmxlX3JlZl9hdCgpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
YXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRHdGsuY3BwOgorICAgICAgICAoQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyk6IENhbGwgZ19vYmplY3RfdW5yZWYKKyAg
ICAgICAgYmVmb3JlIHJldHVybmluZyB0aGUgbmV3IGluc3RhbmNlIG9mIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3cpOiBEaXR0by4KKwogMjAxMy0wMi0xNCAg
U2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0Mjg0MS4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAppbmRleCAwY2YyMDY2Li4y
MDQ3YjNlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9hdGsvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYXRrL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC03NzQsOCArNzc0LDEwIEBAIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1bnNp
Z25lZCBjb2x1CiAKICAgICBBU1NFUlQoQVRLX0lTX1RBQkxFKG1fZWxlbWVudCkpOwogCi0gICAg
QXRrT2JqZWN0KiBmb3VuZENlbGwgPSBhdGtfdGFibGVfcmVmX2F0KEFUS19UQUJMRShtX2VsZW1l
bnQpLCByb3csIGNvbHVtbik7Ci0gICAgcmV0dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQoZm91bmRDZWxsKSA6IDA7CisgICAgLy8gQWRvcHQgdGhlIEF0a09iamVjdCByZXBy
ZXNlbnRpbmcgdGhlIGNlbGwgYmVjYXVzZQorICAgIC8vIGF0X3RhYmxlX3JlZl9hdCgpIHRyYW5z
ZmVycyBmdWxsIG93bmVyc2hpcC4KKyAgICBHUmVmUHRyPEF0a09iamVjdD4gZm91bmRDZWxsID0g
YWRvcHRHUmVmKGF0a190YWJsZV9yZWZfYXQoQVRLX1RBQkxFKG1fZWxlbWVudCksIHJvdywgY29s
dW1uKSk7CisgICAgcmV0dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoZm91
bmRDZWxsLmdldCgpKSA6IDA7CiB9CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnNlbGVjdGVkVGV4dFJhbmdlKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKaW5kZXggNTA2MmE4Zi4uYmFiZWI3MCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0
ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTg3MSw4ICs4NzEsMTAgQEAgUGFzc1JlZlB0
cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9y
Q29sdW1uQW5kUm93KHUKICAgICBpZiAoIW1fZWxlbWVudCB8fCAhQVRLX0lTX1RBQkxFKG1fZWxl
bWVudCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgQXRrT2JqZWN0KiBmb3VuZENlbGwgPSBh
dGtfdGFibGVfcmVmX2F0KEFUS19UQUJMRShtX2VsZW1lbnQpLCByb3csIGNvbCk7Ci0gICAgcmV0
dXJuIGZvdW5kQ2VsbCA/IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShmb3VuZENlbGwp
IDogMDsKKyAgICAvLyBBZG9wdCB0aGUgQXRrT2JqZWN0IHJlcHJlc2VudGluZyB0aGUgY2VsbCBi
ZWNhdXNlCisgICAgLy8gYXRfdGFibGVfcmVmX2F0KCkgdHJhbnNmZXJzIGZ1bGwgb3duZXJzaGlw
LgorICAgIEdSZWZQdHI8QXRrT2JqZWN0PiBmb3VuZENlbGwgPSBhZG9wdEdSZWYoYXRrX3RhYmxl
X3JlZl9hdChBVEtfVEFCTEUobV9lbGVtZW50KSwgcm93LCBjb2wpKTsKKyAgICByZXR1cm4gZm91
bmRDZWxsID8gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKGZvdW5kQ2VsbC5nZXQoKSkg
OiAwOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6Omhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdAotLSAKMS43LjkuNQoK
</data>
<flag name="review"
          id="208414"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>