<?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>105538</bug_id>
          
          <creation_ts>2012-12-20 08:06:13 -0800</creation_ts>
          <short_desc>[GTK] Test /webkit/atk/getTextInParagraphAndBodyModerate fails</short_desc>
          <delta_ts>2013-09-10 01:51:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</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>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>rakuco</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>795451</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-12-20 08:06:13 -0800</bug_when>
    <thetext>/webkit/atk/getTextInParagraphAndBodyModerate:                       **

ERROR:../../Source/WebKit/gtk/tests/testatk.c:1002:testWebkitAtkGetTextInParagraphAndBodyModerate: assertion failed (text == &quot;Hello world.\nThis sentence is green.\nThis one is not.&quot;): (&quot;Hello world.This sentence is green.This one is not.&quot; == &quot;Hello world.\nThis sentence is green.\nThis one is not.&quot;)

FAIL

It&apos;s failing in all the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795456</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-12-20 08:22:20 -0800</bug_when>
    <thetext>Skipped in r138256</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>796198</commentid>
    <comment_count>2</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2012-12-21 01:51:24 -0800</bug_when>
    <thetext>The regression is the result of this commit: http://trac.webkit.org/changeset/137946

And the test is failing because the newline chars associated with the &lt;br /&gt; tags in this test:

&quot;&lt;html&gt;&lt;body&gt;&lt;p&gt;This is a test.&lt;/p&gt;Hello world.&lt;br /&gt;&lt;font color=&apos;#00cc00&apos;&gt;This sentence is green.&lt;/font&gt;&lt;br /&gt;This one is not.&lt;/body&gt;&lt;/html&gt;&quot;

Used to be represented in the text:

    &quot;Hello world.\nThis sentence is green.\nThis one is not.&quot;

Now they are being stripped out:

    &quot;Hello world.This sentence is green.This one is not.&quot;

Dominic and Chris: Is stripping them out the expected behavior for the Chromium and/or Mac ports? Or is this a cross-platform regression that was only caught on the Gtk/Atk port?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904683</commentid>
    <comment_count>3</comment_count>
      <attachid>205724</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-06-28 10:29:55 -0700</bug_when>
    <thetext>Created attachment 205724
Patch proposal

The following patch fixes the issue for GTK+ and hopefully won&apos;t break any test in other platforms, according to what I could see by checking the tests and expections modified in SVN revision r151131, although I&apos;m not completely sure yet (let the EWS work).

Have a nice weekend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904687</commentid>
    <comment_count>4</comment_count>
      <attachid>205724</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-28 10:33:31 -0700</bug_when>
    <thetext>Comment on attachment 205724
Patch proposal

Attachment 205724 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/934945</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904688</commentid>
    <comment_count>5</comment_count>
      <attachid>205724</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-06-28 10:34:07 -0700</bug_when>
    <thetext>Comment on attachment 205724
Patch proposal

Attachment 205724 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/981768</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904690</commentid>
    <comment_count>6</comment_count>
      <attachid>205724</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-06-28 10:35:41 -0700</bug_when>
    <thetext>Comment on attachment 205724
Patch proposal

Attachment 205724 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/981770</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904692</commentid>
    <comment_count>7</comment_count>
      <attachid>205724</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-28 10:42:52 -0700</bug_when>
    <thetext>Comment on attachment 205724
Patch proposal

Attachment 205724 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/934947</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904694</commentid>
    <comment_count>8</comment_count>
      <attachid>205724</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-28 10:44:38 -0700</bug_when>
    <thetext>Comment on attachment 205724
Patch proposal

Attachment 205724 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/998290</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904697</commentid>
    <comment_count>9</comment_count>
      <attachid>205724</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-06-28 10:50:06 -0700</bug_when>
    <thetext>Comment on attachment 205724
Patch proposal

Attachment 205724 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/998288</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904701</commentid>
    <comment_count>10</comment_count>
      <attachid>205724</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-28 10:56:39 -0700</bug_when>
    <thetext>Comment on attachment 205724
Patch proposal

Attachment 205724 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/934946</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904771</commentid>
    <comment_count>11</comment_count>
      <attachid>205749</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-06-28 15:13:14 -0700</bug_when>
    <thetext>Created attachment 205749
Patch proposal

It seems I uploaded the wrong patch before. Now uploading the right one</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907389</commentid>
    <comment_count>12</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-07-10 09:50:24 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created an attachment (id=205749) [details]
&gt; Patch proposal
&gt; 
&gt; It seems I uploaded the wrong patch before. Now uploading the right one

Ping reviewers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909272</commentid>
    <comment_count>13</comment_count>
      <attachid>206873</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-07-17 02:55:12 -0700</bug_when>
    <thetext>Created attachment 206873
Patch proposal + Layout Test

I just realized that a Layout test might serve well here, so I&apos;m now attaching a new patch including one. Still, I&apos;ve added lines to TestExpectations files for Mac and Win, since they will probably output slightly different results (e.g. they don&apos;t change the representation of the \n as we do in GTK/EFL&apos;s DRT).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912548</commentid>
    <comment_count>14</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-07-29 10:33:02 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=206873) [details]
&gt; Patch proposal + Layout Test
&gt; 
&gt; I just realized that a Layout test might serve well here, so I&apos;m now attaching
&gt; a new patch including one. Still, I&apos;ve added lines to TestExpectations files 
&gt; for Mac and Win, since they will probably output slightly different results 
&gt; (e.g. they don&apos;t change the representation of the \n as we do in GTK/EFL&apos;s 
&gt; DRT).

Chris, could you take a look to this one as well when you have some time? 

Btw, the reason why I&apos;m skipping it for Mac and Win is because EFL/GTK have their own fancy way of printing line breaks through DRT/WKTR, hence the output won&apos;t be exactly the same.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925605</commentid>
    <comment_count>15</comment_count>
      <attachid>206873</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-09-06 08:55:53 -0700</bug_when>
    <thetext>Comment on attachment 206873
Patch proposal + Layout Test

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

few questions interspersed. thanks

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1574
&gt; +            if (builder.length() &amp;&amp; childText != &quot;\n&quot;)

do we need to worry about \r or do these methods only ever emit \n

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1580
&gt; +    return builder.toString().replace(&quot;\n &quot;, &quot;\n&quot;).stripWhiteSpace().simplifyWhiteSpace(isHTMLSpaceButNotLineBreak);

why do we need to do this replacement? is this looking for \n in the middle of text, and by default the is emitting &quot;\n &quot;? aren&apos;t you not appending the extra space specifically in the above code change?

&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:638
&gt; +    if (m_renderer-&gt;isBR())

can we instead call m_renderer-&gt;text() instead of hard coding a new line? will that give the same results?

&gt; LayoutTests/accessibility/paragraph-with-linebreaks-expected.txt:13
&gt; +Value of the paragraph with break lines: AXValue: Lorem ipsum dolor sit amet,&lt;\n&gt;consectetur adipiscing elit.&lt;\n&gt;Aliquam faucibus diam sit amet nunc vestibulum auctor.

is this what we&apos;re expecting to be outputted? &lt;\n&gt; 
i would have thought we&apos;d see the manifestation of the new line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926722</commentid>
    <comment_count>16</comment_count>
      <attachid>206873</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-09 09:02:20 -0700</bug_when>
    <thetext>Comment on attachment 206873
Patch proposal + Layout Test

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

&gt;&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1574
&gt;&gt; +            if (builder.length() &amp;&amp; childText != &quot;\n&quot;)
&gt; 
&gt; do we need to worry about \r or do these methods only ever emit \n

Good point. I think we might need to do it since I think that&apos;s something it might happen in Windows environments.

Perhaps using isHTMLLineBreak() here could be the right thing to do then.

&gt;&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1580
&gt;&gt; +    return builder.toString().replace(&quot;\n &quot;, &quot;\n&quot;).stripWhiteSpace().simplifyWhiteSpace(isHTMLSpaceButNotLineBreak);
&gt; 
&gt; why do we need to do this replacement? is this looking for \n in the middle of text, and by default the is emitting &quot;\n &quot;? aren&apos;t you not appending the extra space specifically in the above code change?

The problem is that we the code above we only avoid adding a extra space before a line break (as we check that the new test to be appended is a &quot;\n&quot;), but we don&apos;t do the same when adding a extra space after the linebreak.

And I guess we probably should do that check as well, and get rid of this ugly replacement.

&gt;&gt; Source/WebCore/accessibility/AccessibilityRenderObject.cpp:638
&gt;&gt; +    if (m_renderer-&gt;isBR())
&gt; 
&gt; can we instead call m_renderer-&gt;text() instead of hard coding a new line? will that give the same results?

Yes, we can do that. I&apos;ll change it in a new patch

&gt;&gt; LayoutTests/accessibility/paragraph-with-linebreaks-expected.txt:13
&gt;&gt; +Value of the paragraph with break lines: AXValue: Lorem ipsum dolor sit amet,&lt;\n&gt;consectetur adipiscing elit.&lt;\n&gt;Aliquam faucibus diam sit amet nunc vestibulum auctor.
&gt; 
&gt; is this what we&apos;re expecting to be outputted? &lt;\n&gt; 
&gt; i would have thought we&apos;d see the manifestation of the new line

This is something we have in our DRT to be able to check things like object replacement characters and line breaks while keeping the test results easy to read, so that&apos;s why I had to add that. I&apos;m not entirely convinced about using that approach with line breaks to be honest, but it already affects some tests and did not want to change it right now. Maybe it would be useful to revisit that issue in a later bug, though.

But perhaps for now I should provide GTK/EFL specific expectations instead of a cross platform one (and skipping the test in the Mac and Win platforms), so I don&apos;t &quot;force&quot; other ports to do the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926760</commentid>
    <comment_count>17</comment_count>
      <attachid>211053</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-09 10:10:36 -0700</bug_when>
    <thetext>Created attachment 211053
Patch proposal plus new Layout test

Attaching a new patch trying to address the concerns from previous review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926761</commentid>
    <comment_count>18</comment_count>
      <attachid>211053</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-09-09 10:13:41 -0700</bug_when>
    <thetext>Comment on attachment 211053
Patch proposal plus new Layout test

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

&gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1552
&gt; +    if (isHTMLLineBreak(childText[0]) || isHTMLLineBreak(builder[builder.length() - 1]))

looks like you can just 

  return !(isHTMLLineBreak() or isHTMLLineBreak())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927217</commentid>
    <comment_count>19</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-10 01:41:41 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 211053 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=211053&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilityNodeObject.cpp:1552
&gt; &gt; +    if (isHTMLLineBreak(childText[0]) || isHTMLLineBreak(builder[builder.length() - 1]))
&gt; 
&gt; looks like you can just 
&gt; 
&gt;   return !(isHTMLLineBreak() or isHTMLLineBreak())

Definitely. I&apos;ll change that before landing.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>927225</commentid>
    <comment_count>20</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2013-09-10 01:51:13 -0700</bug_when>
    <thetext>Committed r155428: &lt;http://trac.webkit.org/changeset/155428&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205724</attachid>
            <date>2013-06-28 10:29:55 -0700</date>
            <delta_ts>2013-06-28 15:12:59 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2013-06-28-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>7899</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAxNDc1NzczZTk3MzIwYzBkZGY0ZTMwZWFmNDk2NjliN2EzODYzNzA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogRnJpLCAyOCBKdW4gMjAxMyAxODoyNDo0MSArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIDIwMTMtMDYtMjggIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KCiAgICAgICAgW0dUS10gVGVzdCAvd2Via2l0L2F0ay9nZXRUZXh0SW5QYXJhZ3Jh
cGhBbmRCb2R5TW9kZXJhdGUgZmFpbHMKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTA1NTM4CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgoKICAgICAgICBFeHBvc2UgJ1xuJyBmb3IgbGluZWJyZWFrcyB3aGVuIHRoZXkgd2VyZSBleHBs
aWNpdGx5IHNldCBieSB0aGUKICAgICAgICBhdXRob3Igb2YgdGhlIHdlYiBjb250ZW50IHdpdGgg
YSA8YnI+IHRhZy4KCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2Jq
ZWN0LmNwcDoKICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnRleHRV
bmRlckVsZW1lbnQpOiBDb25zaWRlcgogICAgICAgIHRoYXQgIlxuIiBtaWdodCBiZSByZXR1cm5l
ZCBieSB0ZXh0VW5kZXJFbGVtZW50KCkgZm9yIGNoaWxkcmVuLgogICAgICAgICogYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKICAgICAgICAoV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dGV4dFVuZGVyRWxlbWVudCk6IFJldHVybgogICAgICAg
IHRoZSAiXG4iIHN0cmluZyBmb3IgYWNjZXNzaWJpbGl0eSBvYmplY3RzIGV4cG9zaW5nIDxicj4g
ZWxlbWVudHMuCiAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmg6CiAgICAg
ICAgKFdlYkNvcmU6OmlzSFRNTFNwYWNlQnV0Tm90TGluZUJyZWFrKTogTmV3IGhlbHBlciBmdW5j
dGlvbiwgdXNlZnVsCiAgICAgICAgdG8gYmUgcGFzc2VkIHRvIG90aGVyIGZ1bmN0aW9ucyBsaWtl
IHNpbXBsaWZ5V2hpdGVTcGFjZSgpLgoKMjAxMy0wNi0yOCAgTWFyaW8gU2FuY2hleiBQcmFkYSAg
PG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgoKICAgICAgICBbR1RLXSBUZXN0IC93ZWJraXQvYXRr
L2dldFRleHRJblBhcmFncmFwaEFuZEJvZHlNb2RlcmF0ZSBmYWlscwogICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MzgKCiAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFVuc2tpcCBwYXNzaW5nIHRlc3QgZ2V0VGV4dElu
UGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlLgoKICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0
czoKICAgICAgICAoVGVzdFJ1bm5lcik6IFVuc2tpcCBwYXNpbmcgdGVzdC4KLS0tCiBTb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjAgKysrKysr
KysrKysrKysrKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmNwcCAgICAgIHwgICAgNSArKystLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAgICAgfCAgICA0ICsrKysKIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQYXJzZXJJZGlvbXMuaCAgICAgIHwgICAgNiArKysrKysKIFRvb2xzL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiArKysrKysrKysrKysKIFRv
b2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSAt
CiA2IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDAyNzMyY2MuLjJjOTM2NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAor
MjAxMy0wNi0yOCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtHVEtdIFRlc3QgL3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5k
Qm9keU1vZGVyYXRlIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDU1MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBFeHBvc2UgJ1xuJyBmb3IgbGluZWJyZWFrcyB3aGVuIHRoZXkgd2VyZSBleHBs
aWNpdGx5IHNldCBieSB0aGUKKyAgICAgICAgYXV0aG9yIG9mIHRoZSB3ZWIgY29udGVudCB3aXRo
IGEgPGJyPiB0YWcuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0
ZXh0VW5kZXJFbGVtZW50KTogQ29uc2lkZXIKKyAgICAgICAgdGhhdCAiXG4iIG1pZ2h0IGJlIHJl
dHVybmVkIGJ5IHRleHRVbmRlckVsZW1lbnQoKSBmb3IgY2hpbGRyZW4uCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQpOiBSZXR1cm4K
KyAgICAgICAgdGhlICJcbiIgc3RyaW5nIGZvciBhY2Nlc3NpYmlsaXR5IG9iamVjdHMgZXhwb3Np
bmcgPGJyPiBlbGVtZW50cy4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21z
Lmg6CisgICAgICAgIChXZWJDb3JlOjppc0hUTUxTcGFjZUJ1dE5vdExpbmVCcmVhayk6IE5ldyBo
ZWxwZXIgZnVuY3Rpb24sIHVzZWZ1bAorICAgICAgICB0byBiZSBwYXNzZWQgdG8gb3RoZXIgZnVu
Y3Rpb25zIGxpa2Ugc2ltcGxpZnlXaGl0ZVNwYWNlKCkuCisKIDIwMTMtMDYtMjggIENocmlzdG9w
aGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgogCiAgICAgICAgIEdldCByaWQg
b2YgSXNXb3JrZXJHbG9iYWxTY29wZSBhbmQgRXh0ZW5kc0RPTUdsb2JhbE9iamVjdCBleHRlbmRl
ZCBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDFjNzExNTYuLmMyNjEwNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9w
dGlvbnNDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1
ZGUgIkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKQEAgLTE1NjUsMTMgKzE1NjYs
MTMgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0ZXh0VW5kZXJFbGVtZW50KCkg
Y29uc3QKIAogICAgICAgICBTdHJpbmcgY2hpbGRUZXh0ID0gY2hpbGQtPnRleHRVbmRlckVsZW1l
bnQoKTsKICAgICAgICAgaWYgKGNoaWxkVGV4dC5sZW5ndGgoKSkgewotICAgICAgICAgICAgaWYg
KGJ1aWxkZXIubGVuZ3RoKCkpCisgICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5ndGgoKSAmJiBj
aGlsZFRleHQgIT0gIlxuIikKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwog
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoY2hpbGRUZXh0KTsKICAgICAgICAgfQogICAgIH0K
IAotICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCkuc3RyaXBXaGl0ZVNwYWNlKCkuc2ltcGxp
ZnlXaGl0ZVNwYWNlKCk7CisgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKS5yZXBsYWNlKCJc
biAiLCAiXG4iKS5zdHJpcFdoaXRlU3BhY2UoKS5zaW1wbGlmeVdoaXRlU3BhY2UoaXNIVE1MU3Bh
Y2VCdXROb3RMaW5lQnJlYWspOwogfQogCiBTdHJpbmcgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OnRpdGxlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGY5ZDhhMDkuLmQ2YzM4M2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtNjMzLDYgKzYzMywxMCBAQCBTdHJpbmcgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6dGV4dFVuZGVyRWxlbWVudCgpIGNvbnN0CiAgICAgaWYgKG1f
cmVuZGVyZXItPmlzRmlsZVVwbG9hZENvbnRyb2woKSkKICAgICAgICAgcmV0dXJuIHRvUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wobV9yZW5kZXJlciktPmJ1dHRvblZhbHVlKCk7CiAgICAgCisgICAg
Ly8gUmVmbGVjdCB3aGVuIGEgY29udGVudCBhdXRob3IgaGFzIGV4cGxpY2l0bHkgbWFya2VkIGEg
bGluZSBicmVhay4KKyAgICBpZiAobV9yZW5kZXJlci0+aXNCUigpKQorICAgICAgICByZXR1cm4g
U3RyaW5nKCJcbiIpOworCiAjaWYgRU5BQkxFKE1BVEhNTCkKICAgICAvLyBNYXRoIG9wZXJhdG9y
cyBjcmVhdGUgUmVuZGVyVGV4dCBub2RlcyBvbiB0aGUgZmx5IHRoYXQgYXJlIG5vdCB0aWVkIGlu
dG8gdGhlIERPTSBpbiBhIHJlYXNvbmFibGUgd2F5LAogICAgIC8vIHNvIHJhbmdlT2ZDb250ZW50
cyBkb2VzIG5vdCB3b3JrIGZvciB0aGVtIChub3IgZG9lcyByZWd1bGFyIHRleHQgc2VsZWN0aW9u
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlv
bXMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaAppbmRl
eCBjNGMxYTIyLi5hNGUzZTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MUGFyc2VySWRpb21zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFBhcnNlcklkaW9tcy5oCkBAIC0zOCw2ICszOCw3IEBAIGNsYXNzIERlY2ltYWw7CiBib29sIGlz
SFRNTFNwYWNlKFVDaGFyKTsKIGJvb2wgaXNIVE1MTGluZUJyZWFrKFVDaGFyKTsKIGJvb2wgaXNO
b3RIVE1MU3BhY2UoVUNoYXIpOworYm9vbCBpc0hUTUxTcGFjZUJ1dE5vdExpbmVCcmVhayhVQ2hh
ciBjaGFyYWN0ZXIpOwogCiAvLyBTdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNl
IGFzIGRlZmluZWQgYnkgdGhlIEhUTUwgc3BlY2lmaWNhdGlvbi4gCiBTdHJpbmcgc3RyaXBMZWFk
aW5nQW5kVHJhaWxpbmdIVE1MU3BhY2VzKGNvbnN0IFN0cmluZyYpOwpAQCAtOTIsNiArOTMsMTEg
QEAgaW5saW5lIGJvb2wgaXNOb3RIVE1MU3BhY2UoVUNoYXIgY2hhcmFjdGVyKQogICAgIHJldHVy
biAhaXNIVE1MU3BhY2UoY2hhcmFjdGVyKTsKIH0KIAorc3RhdGljIGJvb2wgaXNIVE1MU3BhY2VC
dXROb3RMaW5lQnJlYWsoVUNoYXIgY2hhcmFjdGVyKQoreworICAgIHJldHVybiBpc0hUTUxTcGFj
ZShjaGFyYWN0ZXIpICYmICFpc0hUTUxMaW5lQnJlYWsoY2hhcmFjdGVyKTsKK30KKwogYm9vbCB0
aHJlYWRTYWZlTWF0Y2goY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKICNpZiBFTkFCTEUoVEhSRUFERURfSFRNTF9QQVJTRVIpCiBib29sIHRocmVhZFNhZmVNYXRj
aChjb25zdCBIVE1MSWRlbnRpZmllciYsIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxZjM0ZWQyLi40MzU3
M2M4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTMtMDYtMjggIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5w
cmFkYUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbR1RLXSBUZXN0IC93ZWJraXQvYXRrL2dldFRl
eHRJblBhcmFncmFwaEFuZEJvZHlNb2RlcmF0ZSBmYWlscworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHBhc3NpbmcgdGVzdCBnZXRUZXh0SW5Q
YXJhZ3JhcGhBbmRCb2R5TW9kZXJhdGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1ndGstdGVz
dHM6CisgICAgICAgIChUZXN0UnVubmVyKTogVW5za2lwIHBhc2luZyB0ZXN0LgorCiAyMDEzLTA2
LTI4ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBidWlsZCBmaXggZm9yIEFwcGxlV2luIHBvcnQuIEZpeCBzb21lIGZpbGUgcGF0aHMuCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1
bi1ndGstdGVzdHMKaW5kZXggOGFhOWQwMS4uNzIxYjQ1MyAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwpAQCAt
NjYsNyArNjYsNiBAQCBjbGFzcyBUZXN0UnVubmVyOgogICAgICAgICBTa2lwcGVkVGVzdCgidW5p
dHRlc3RzL3Rlc3R3ZWJyZXNvdXJjZSIsICIvd2Via2l0L3dlYnJlc291cmNlL2xvYWRpbmciLCAi
VGVzdCBmYWlscyIsIDEwNDY4OSksCiAgICAgICAgIFNraXBwZWRUZXN0KCJ1bml0dGVzdHMvdGVz
dHdlYnJlc291cmNlIiwgIi93ZWJraXQvd2VicmVzb3VyY2Uvc3ViX3Jlc291cmNlX2xvYWRpbmci
LCAiVGVzdCBmYWlscyBpbiBHVEsgTGludXggNjQtYml0IFJlbGVhc2UgYm90IiwgODIzMzApLAog
ICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rlc3R3ZWJ2aWV3IiwgIi93ZWJraXQvd2Vi
dmlldy9pY29uLXVyaSIsICJUZXN0IHRpbWVzIG91dCBpbiBHVEsgTGludXggNjQtYml0IFJlbGVh
c2UgYm90IiwgODIzMjgpLAotICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rlc3RhdGsi
LCAiL3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlIiwgIlRlc3Qg
ZmFpbHMiLCAxMDU1MzgpLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rl
c3RJbnNwZWN0b3JTZXJ2ZXIiLCBTa2lwcGVkVGVzdC5FTlRJUkVfU1VJVEUsICJUZXN0IHRpbWVz
IG91dCIsIDEwNTg2NiksCiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyQVBJVGVzdHMvVGVz
dFJlc291cmNlcyIsICIvd2Via2l0Mi9XZWJLaXRXZWJWaWV3L3Jlc291cmNlcyIsICJUZXN0IGlz
IGZsYWt5IGluIEdUSyBMaW51eCAzMi1iaXQgUmVsZWFzZSBib3QiLCA4Mjg2OCksCiAgICAgICAg
IFNraXBwZWRUZXN0KCJXZWJLaXQyQVBJVGVzdHMvVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkiLCAi
L3dlYmtpdDIvV2ViS2l0QWNjZXNzaWJpbGl0eS9hdHNwaS1iYXNpYy1oaWVyYXJjaHkiLCAiVGVz
dCBmYWlscyIsIDEwMDQwOCksCi0tIAoxLjcuMTAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205749</attachid>
            <date>2013-06-28 15:13:14 -0700</date>
            <delta_ts>2013-07-17 02:55:04 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>bug-105538-20130628231113.patch</filename>
            <type>text/plain</type>
            <size>6358</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUxOTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM0MWY0Njk4NWRiYThi
MTEwYzY4OGI0Y2Q1NWIyOTgwN2I3NTM2ZS4uZDBmYTU2OTU3NmMzNTdkMWI0NDU0ZjliOTE0Y2Iw
ODU5MTlmZTQ5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEzLTA2LTI4ICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dU
S10gVGVzdCAvd2Via2l0L2F0ay9nZXRUZXh0SW5QYXJhZ3JhcGhBbmRCb2R5TW9kZXJhdGUgZmFp
bHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUz
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9z
ZSAnXG4nIGZvciBsaW5lYnJlYWtzIHdoZW4gdGhleSB3ZXJlIGV4cGxpY2l0bHkgc2V0IGJ5IHRo
ZQorICAgICAgICBhdXRob3Igb2YgdGhlIHdlYiBjb250ZW50IHdpdGggYSA8YnI+IHRhZy4KKwor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQp
OiBDb25zaWRlcgorICAgICAgICB0aGF0ICJcbiIgbWlnaHQgYmUgcmV0dXJuZWQgYnkgdGV4dFVu
ZGVyRWxlbWVudCgpIGZvciBjaGlsZHJlbi4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6dGV4dFVuZGVyRWxlbWVudCk6IFJldHVybgorICAgICAgICB0aGUgIlxu
IiBzdHJpbmcgZm9yIGFjY2Vzc2liaWxpdHkgb2JqZWN0cyBleHBvc2luZyA8YnI+IGVsZW1lbnRz
LgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaDoKKyAgICAgICAgKFdl
YkNvcmU6OmlzSFRNTFNwYWNlQnV0Tm90TGluZUJyZWFrKTogTmV3IGhlbHBlciBmdW5jdGlvbiwg
dXNlZnVsCisgICAgICAgIHRvIGJlIHBhc3NlZCB0byBvdGhlciBmdW5jdGlvbnMgbGlrZSBzaW1w
bGlmeVdoaXRlU3BhY2UoKS4KKwogMjAxMy0wNi0yNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkZWQgL2Qgb3B0aW9uIHRvIHhjb3B5IHRv
IHByZXZlbnQgdW5uZWNlc3NhcnkgY29weWluZyBhbmQgY29tcGlsaW5nLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNw
cAppbmRleCBmMGNiOGM3ZDQ4ODVhNmVlY2YyNTlhNTViZGVkZTg1OWFmYTBkODE0Li4wY2U3ZDk4
YmNiNjM0YTYzOGE1MmEwZjRiNzM4MDVlOTgwZjZjYTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApAQCAt
NTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MT3B0aW9uRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25zQ29sbGVjdGlvbi5o
IgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MUGx1Z0luSW1h
Z2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFNlbGVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MVGV4dEFyZWFFbGVtZW50LmgiCkBAIC0xNTY1LDEzICsxNTY2LDEzIEBAIFN0cmluZyBBY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdDo6dGV4dFVuZGVyRWxlbWVudCgpIGNvbnN0CiAKICAgICAgICAg
U3RyaW5nIGNoaWxkVGV4dCA9IGNoaWxkLT50ZXh0VW5kZXJFbGVtZW50KCk7CiAgICAgICAgIGlm
IChjaGlsZFRleHQubGVuZ3RoKCkpIHsKLSAgICAgICAgICAgIGlmIChidWlsZGVyLmxlbmd0aCgp
KQorICAgICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoKCkgJiYgY2hpbGRUZXh0ICE9ICJcbiIp
CiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKGNoaWxkVGV4dCk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gYnVp
bGRlci50b1N0cmluZygpLnN0cmlwV2hpdGVTcGFjZSgpLnNpbXBsaWZ5V2hpdGVTcGFjZSgpOwor
ICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCkucmVwbGFjZSgiXG4gIiwgIlxuIikuc3RyaXBX
aGl0ZVNwYWNlKCkuc2ltcGxpZnlXaGl0ZVNwYWNlKGlzSFRNTFNwYWNlQnV0Tm90TGluZUJyZWFr
KTsKIH0KIAogU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0aXRsZSgpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcAppbmRleCA2NjVmZThmNzlhZDQ5ZTM3YmIyOTRhNmY5ZWMzY2I0MDYw
ODMwNGE4Li44NWQ2ZDUwNjBhZWY3ODA0NWE3YTQyZmY2ZWM4NmEwMzhiZjg4YWU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHAKQEAgLTYzMyw2ICs2MzMsMTAgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQoKSBjb25zdAogICAgIGlmIChtX3JlbmRlcmVy
LT5pc0ZpbGVVcGxvYWRDb250cm9sKCkpCiAgICAgICAgIHJldHVybiB0b1JlbmRlckZpbGVVcGxv
YWRDb250cm9sKG1fcmVuZGVyZXIpLT5idXR0b25WYWx1ZSgpOwogICAgIAorICAgIC8vIFJlZmxl
Y3Qgd2hlbiBhIGNvbnRlbnQgYXV0aG9yIGhhcyBleHBsaWNpdGx5IG1hcmtlZCBhIGxpbmUgYnJl
YWsuCisgICAgaWYgKG1fcmVuZGVyZXItPmlzQlIoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygi
XG4iKTsKKwogI2lmIEVOQUJMRShNQVRITUwpCiAgICAgLy8gTWF0aCBvcGVyYXRvcnMgY3JlYXRl
IFJlbmRlclRleHQgbm9kZXMgb24gdGhlIGZseSB0aGF0IGFyZSBub3QgdGllZCBpbnRvIHRoZSBE
T00gaW4gYSByZWFzb25hYmxlIHdheSwKICAgICAvLyBzbyByYW5nZU9mQ29udGVudHMgZG9lcyBu
b3Qgd29yayBmb3IgdGhlbSAobm9yIGRvZXMgcmVndWxhciB0ZXh0IHNlbGVjdGlvbikuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgKaW5kZXggYmM1ODA4
OTEwNjdlMDEzOTU2Mjk1ZWMzYzVhYjk0ZTgwM2RlZjdmOS4uOTBkYzA3NDdiOGUyNjVkZDY0Njk3
ZTBlMGU5OTEzZjRjZWY5NmUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFBhcnNlcklkaW9tcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQYXJzZXJJZGlvbXMuaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBEZWNpbWFsOwogYm9vbCBp
c0hUTUxTcGFjZShVQ2hhcik7CiBib29sIGlzSFRNTExpbmVCcmVhayhVQ2hhcik7CiBib29sIGlz
Tm90SFRNTFNwYWNlKFVDaGFyKTsKK2Jvb2wgaXNIVE1MU3BhY2VCdXROb3RMaW5lQnJlYWsoVUNo
YXIgY2hhcmFjdGVyKTsKIAogLy8gU3RyaXAgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFj
ZSBhcyBkZWZpbmVkIGJ5IHRoZSBIVE1MIHNwZWNpZmljYXRpb24uIAogU3RyaW5nIHN0cmlwTGVh
ZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyhjb25zdCBTdHJpbmcmKTsKQEAgLTkzLDYgKzk0LDEx
IEBAIGlubGluZSBib29sIGlzTm90SFRNTFNwYWNlKFVDaGFyIGNoYXJhY3RlcikKICAgICByZXR1
cm4gIWlzSFRNTFNwYWNlKGNoYXJhY3Rlcik7CiB9CiAKK2lubGluZSBib29sIGlzSFRNTFNwYWNl
QnV0Tm90TGluZUJyZWFrKFVDaGFyIGNoYXJhY3RlcikKK3sKKyAgICByZXR1cm4gaXNIVE1MU3Bh
Y2UoY2hhcmFjdGVyKSAmJiAhaXNIVE1MTGluZUJyZWFrKGNoYXJhY3Rlcik7Cit9CisKIGJvb2wg
dGhyZWFkU2FmZU1hdGNoKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBRdWFsaWZpZWROYW1l
Jik7CiAjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQogYm9vbCB0aHJlYWRTYWZlTWF0
Y2goY29uc3QgSFRNTElkZW50aWZpZXImLCBjb25zdCBRdWFsaWZpZWROYW1lJik7CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWQzY2FjNDI2ZDZk
NWMxYTRlZDVhYzk0M2VmODBiNTliM2NiZGM1Yi4uNDdiZjFkY2Q0ODNhODVlYzUxMzg2MzA3NDg1
MmFhMGM5NmQ2MTk4NSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA2LTI4ICBNYXJpbyBTYW5jaGV6IFByYWRh
ICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dUS10gVGVzdCAvd2Via2l0
L2F0ay9nZXRUZXh0SW5QYXJhZ3JhcGhBbmRCb2R5TW9kZXJhdGUgZmFpbHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUzOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuc2tpcCBwYXNzaW5nIHRlc3Qg
Z2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlLgorCisgICAgICAgICogU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzOgorICAgICAgICAoVGVzdFJ1bm5lcik6IFVuc2tpcCBwYXNpbmcgdGVzdC4K
KwogMjAxMy0wNi0yNCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNYWtlIE1pbmlCcm93c2VyIHBhZ2luYXRlZCBtb2RlIHdvcmsgd2l0aCBXZWJLaXQx
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29scy9TY3JpcHRz
L3J1bi1ndGstdGVzdHMKaW5kZXggOGFhOWQwMTIyYzA1ZDVmZjk3ZDU5ODQyZWFlODU0NWIyNjAx
YTg4ZS4uNzIxYjQ1MzgxZTIzMGVkZmFhZjg2OTVkOWU2ZGIyYTQ2MDA2YzAwMSAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0
ay10ZXN0cwpAQCAtNjYsNyArNjYsNiBAQCBjbGFzcyBUZXN0UnVubmVyOgogICAgICAgICBTa2lw
cGVkVGVzdCgidW5pdHRlc3RzL3Rlc3R3ZWJyZXNvdXJjZSIsICIvd2Via2l0L3dlYnJlc291cmNl
L2xvYWRpbmciLCAiVGVzdCBmYWlscyIsIDEwNDY4OSksCiAgICAgICAgIFNraXBwZWRUZXN0KCJ1
bml0dGVzdHMvdGVzdHdlYnJlc291cmNlIiwgIi93ZWJraXQvd2VicmVzb3VyY2Uvc3ViX3Jlc291
cmNlX2xvYWRpbmciLCAiVGVzdCBmYWlscyBpbiBHVEsgTGludXggNjQtYml0IFJlbGVhc2UgYm90
IiwgODIzMzApLAogICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rlc3R3ZWJ2aWV3Iiwg
Ii93ZWJraXQvd2Vidmlldy9pY29uLXVyaSIsICJUZXN0IHRpbWVzIG91dCBpbiBHVEsgTGludXgg
NjQtYml0IFJlbGVhc2UgYm90IiwgODIzMjgpLAotICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRl
c3RzL3Rlc3RhdGsiLCAiL3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVy
YXRlIiwgIlRlc3QgZmFpbHMiLCAxMDU1MzgpLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0
MkFQSVRlc3RzL1Rlc3RJbnNwZWN0b3JTZXJ2ZXIiLCBTa2lwcGVkVGVzdC5FTlRJUkVfU1VJVEUs
ICJUZXN0IHRpbWVzIG91dCIsIDEwNTg2NiksCiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQy
QVBJVGVzdHMvVGVzdFJlc291cmNlcyIsICIvd2Via2l0Mi9XZWJLaXRXZWJWaWV3L3Jlc291cmNl
cyIsICJUZXN0IGlzIGZsYWt5IGluIEdUSyBMaW51eCAzMi1iaXQgUmVsZWFzZSBib3QiLCA4Mjg2
OCksCiAgICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyQVBJVGVzdHMvVGVzdFdlYktpdEFjY2Vz
c2liaWxpdHkiLCAiL3dlYmtpdDIvV2ViS2l0QWNjZXNzaWJpbGl0eS9hdHNwaS1iYXNpYy1oaWVy
YXJjaHkiLCAiVGVzdCBmYWlscyIsIDEwMDQwOCksCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>206873</attachid>
            <date>2013-07-17 02:55:12 -0700</date>
            <delta_ts>2013-09-09 10:10:36 -0700</delta_ts>
            <desc>Patch proposal + Layout Test</desc>
            <filename>bug-105538-20130717105518.patch</filename>
            <type>text/plain</type>
            <size>11967</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyNjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWJmMzA0ODZlNDViNDgx
ODBhNzA0OTQ3ZTdkNTc2ZGY2ODE3M2QyYS4uNjUyNzFlNDcwMjAzYmI4NjFkNDFjNzU1ZTljOThh
ODc3MmY4YWZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTA3LTE3ICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dU
S10gVGVzdCAvd2Via2l0L2F0ay9nZXRUZXh0SW5QYXJhZ3JhcGhBbmRCb2R5TW9kZXJhdGUgZmFp
bHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUz
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9z
ZSAnXG4nIGZvciBsaW5lYnJlYWtzIHdoZW4gdGhleSB3ZXJlIGV4cGxpY2l0bHkgc2V0IGJ5IHRo
ZQorICAgICAgICBhdXRob3Igb2YgdGhlIHdlYiBjb250ZW50IHdpdGggYSA8YnI+IHRhZy4KKwor
ICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9wYXJhZ3JhcGgtd2l0aC1saW5lYnJlYWtzLmh0
bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OnRleHRVbmRlckVs
ZW1lbnQpOiBDb25zaWRlcgorICAgICAgICB0aGF0ICJcbiIgbWlnaHQgYmUgcmV0dXJuZWQgYnkg
dGV4dFVuZGVyRWxlbWVudCgpIGZvciBjaGlsZHJlbi4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6dGV4dFVuZGVyRWxlbWVudCk6IFJldHVybgorICAgICAgICB0
aGUgIlxuIiBzdHJpbmcgZm9yIGFjY2Vzc2liaWxpdHkgb2JqZWN0cyBleHBvc2luZyA8YnI+IGVs
ZW1lbnRzLgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OmlzSFRNTFNwYWNlQnV0Tm90TGluZUJyZWFrKTogTmV3IGhlbHBlciBmdW5j
dGlvbiwgdXNlZnVsCisgICAgICAgIHRvIGJlIHBhc3NlZCB0byBvdGhlciBmdW5jdGlvbnMgbGlr
ZSBzaW1wbGlmeVdoaXRlU3BhY2UoKS4KKwogMjAxMy0wNy0xNCAgSm9uIExlZSAgPGpvbmxlZUBh
cHBsZS5jb20+CiAKICAgICAgICAgT3JpZ2lucyB3aXRoIGludmFsaWQgcG9ydHMgYXJlIG5vdCBt
YXJrZWQgYXMgdW5pcXVlICgxMTg2NTIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDZhZWRkNjhiZTEz
MGNkZmRkZTljOTkyYmEzMjQ1MjJjODU5NDdiZjguLmY5ZjljNDQ3MmU3NzE2MjU0YTg5M2FhM2Qw
Y2RmOWY4YWZhMDA5MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCkBAIC01Myw2ICs1Myw3IEBACiAjaW5j
bHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50
LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQu
aCIKQEAgLTE1NzAsMTMgKzE1NzEsMTMgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
Ojp0ZXh0VW5kZXJFbGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW8KIAogICAg
ICAgICBTdHJpbmcgY2hpbGRUZXh0ID0gY2hpbGQtPnRleHRVbmRlckVsZW1lbnQobW9kZSk7CiAg
ICAgICAgIGlmIChjaGlsZFRleHQubGVuZ3RoKCkpIHsKLSAgICAgICAgICAgIGlmIChidWlsZGVy
Lmxlbmd0aCgpKQorICAgICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoKCkgJiYgY2hpbGRUZXh0
ICE9ICJcbiIpCiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKICAgICAgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKGNoaWxkVGV4dCk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBy
ZXR1cm4gYnVpbGRlci50b1N0cmluZygpLnN0cmlwV2hpdGVTcGFjZSgpLnNpbXBsaWZ5V2hpdGVT
cGFjZSgpOworICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCkucmVwbGFjZSgiXG4gIiwgIlxu
Iikuc3RyaXBXaGl0ZVNwYWNlKCkuc2ltcGxpZnlXaGl0ZVNwYWNlKGlzSFRNTFNwYWNlQnV0Tm90
TGluZUJyZWFrKTsKIH0KIAogU3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0aXRsZSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCBlYmJjMTkwZTQxNjRkYWFlMTZlYzM4MGMw
MjAxZDVjMTNhN2ZlNWUyLi42N2Y3MGM2MmQyZDgzNjJlOGE4MDU0NTRlMTNjOGFkZTllMzQwYzM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAgLTYzNCw2ICs2MzQsMTAgQEAgU3RyaW5nIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQoQWNjZXNzaWJpbGl0eVRleHRV
bmRlckVsZW1lbnQKICAgICBpZiAobV9yZW5kZXJlci0+aXNGaWxlVXBsb2FkQ29udHJvbCgpKQog
ICAgICAgICByZXR1cm4gdG9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbChtX3JlbmRlcmVyKS0+YnV0
dG9uVmFsdWUoKTsKICAgICAKKyAgICAvLyBSZWZsZWN0IHdoZW4gYSBjb250ZW50IGF1dGhvciBo
YXMgZXhwbGljaXRseSBtYXJrZWQgYSBsaW5lIGJyZWFrLgorICAgIGlmIChtX3JlbmRlcmVyLT5p
c0JSKCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoIlxuIik7CisKICNpZiBFTkFCTEUoTUFUSE1M
KQogICAgIC8vIE1hdGggb3BlcmF0b3JzIGNyZWF0ZSBSZW5kZXJUZXh0IG5vZGVzIG9uIHRoZSBm
bHkgdGhhdCBhcmUgbm90IHRpZWQgaW50byB0aGUgRE9NIGluIGEgcmVhc29uYWJsZSB3YXksCiAg
ICAgLy8gc28gcmFuZ2VPZkNvbnRlbnRzIGRvZXMgbm90IHdvcmsgZm9yIHRoZW0gKG5vciBkb2Vz
IHJlZ3VsYXIgdGV4dCBzZWxlY3Rpb24pLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFBhcnNlcklkaW9tcy5oCmluZGV4IGM0YzFhMjI1YTFmZTEwYTgzOTVmMmRjMWEyNGIzOGFk
NmJiNWNjMjcuLjQ3ZjdmMTE4NDQyYjI4YWVhYTU0OTdlMGQ1ZjQ5YTIyN2E5NzkxMTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQYXJzZXJJZGlvbXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmgKQEAgLTM4LDYg
KzM4LDcgQEAgY2xhc3MgRGVjaW1hbDsKIGJvb2wgaXNIVE1MU3BhY2UoVUNoYXIpOwogYm9vbCBp
c0hUTUxMaW5lQnJlYWsoVUNoYXIpOwogYm9vbCBpc05vdEhUTUxTcGFjZShVQ2hhcik7Citib29s
IGlzSFRNTFNwYWNlQnV0Tm90TGluZUJyZWFrKFVDaGFyIGNoYXJhY3Rlcik7CiAKIC8vIFN0cmlw
IGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgYXMgZGVmaW5lZCBieSB0aGUgSFRNTCBz
cGVjaWZpY2F0aW9uLiAKIFN0cmluZyBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMo
Y29uc3QgU3RyaW5nJik7CkBAIC05Miw2ICs5MywxMSBAQCBpbmxpbmUgYm9vbCBpc05vdEhUTUxT
cGFjZShVQ2hhciBjaGFyYWN0ZXIpCiAgICAgcmV0dXJuICFpc0hUTUxTcGFjZShjaGFyYWN0ZXIp
OwogfQogCitpbmxpbmUgYm9vbCBpc0hUTUxTcGFjZUJ1dE5vdExpbmVCcmVhayhVQ2hhciBjaGFy
YWN0ZXIpCit7CisgICAgcmV0dXJuIGlzSFRNTFNwYWNlKGNoYXJhY3RlcikgJiYgIWlzSFRNTExp
bmVCcmVhayhjaGFyYWN0ZXIpOworfQorCiBib29sIHRocmVhZFNhZmVNYXRjaChjb25zdCBRdWFs
aWZpZWROYW1lJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogI2lmIEVOQUJMRShUSFJFQURFRF9I
VE1MX1BBUlNFUikKIGJvb2wgdGhyZWFkU2FmZU1hdGNoKGNvbnN0IEhUTUxJZGVudGlmaWVyJiwg
Y29uc3QgUXVhbGlmaWVkTmFtZSYpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDdmNDE5N2Q1NGU2MzQ0ZDA1NjcwNjlmYTZhZWYyYzM0OTI5ODJh
YmIuLmRlZWFkOTFmZjI5YmUwYTQzYzVlZmEwZjA4ZjE0NGJlZDJjMjVlOTUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMy0wNy0xNyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtHVEtdIFRlc3QgL3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5k
Qm9keU1vZGVyYXRlIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDU1MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVbnNraXAgcGFzc2luZyB0ZXN0IGdldFRleHRJblBhcmFncmFwaEFuZEJvZHlN
b2RlcmF0ZS4KKworICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKKyAgICAgICAgKFRl
c3RSdW5uZXIpOiBVbnNraXAgcGFzaW5nIHRlc3QuCisKIDIwMTMtMDctMTUgIFhhYmllciBSb2Ry
aWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBJbmNy
ZWFzZSB0aGUgSkhCdWlsZCB2ZXJzaW9uIG9mIEdTdHJlYW1lciB0byAxLjAuNwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRlc3RzIGIvVG9vbHMvU2NyaXB0cy9ydW4tZ3RrLXRl
c3RzCmluZGV4IGMzYzA3MTI4NDEyODZmM2VjZmI4ZjZhN2ZjYTEyMmRhYzc0N2Q2ZGMuLjg4ODEx
OWViZTk2NjViZTQ3NDY5YzU4OGJjN2NhZGZkN2Y3ZjM4ZDIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvcnVuLWd0ay10ZXN0cworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMKQEAg
LTY2LDcgKzY2LDYgQEAgY2xhc3MgVGVzdFJ1bm5lcjoKICAgICAgICAgU2tpcHBlZFRlc3QoInVu
aXR0ZXN0cy90ZXN0d2VicmVzb3VyY2UiLCAiL3dlYmtpdC93ZWJyZXNvdXJjZS9sb2FkaW5nIiwg
IlRlc3QgZmFpbHMiLCAxMDQ2ODkpLAogICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rl
c3R3ZWJyZXNvdXJjZSIsICIvd2Via2l0L3dlYnJlc291cmNlL3N1Yl9yZXNvdXJjZV9sb2FkaW5n
IiwgIlRlc3QgZmFpbHMgaW4gR1RLIExpbnV4IDY0LWJpdCBSZWxlYXNlIGJvdCIsIDgyMzMwKSwK
ICAgICAgICAgU2tpcHBlZFRlc3QoInVuaXR0ZXN0cy90ZXN0d2VidmlldyIsICIvd2Via2l0L3dl
YnZpZXcvaWNvbi11cmkiLCAiVGVzdCB0aW1lcyBvdXQgaW4gR1RLIExpbnV4IDY0LWJpdCBSZWxl
YXNlIGJvdCIsIDgyMzI4KSwKLSAgICAgICAgU2tpcHBlZFRlc3QoInVuaXR0ZXN0cy90ZXN0YXRr
IiwgIi93ZWJraXQvYXRrL2dldFRleHRJblBhcmFncmFwaEFuZEJvZHlNb2RlcmF0ZSIsICJUZXN0
IGZhaWxzIiwgMTA1NTM4KSwKICAgICAgICAgU2tpcHBlZFRlc3QoIldlYktpdDJBUElUZXN0cy9U
ZXN0SW5zcGVjdG9yU2VydmVyIiwgU2tpcHBlZFRlc3QuRU5USVJFX1NVSVRFLCAiVGVzdCB0aW1l
cyBvdXQiLCAxMDU4NjYpLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rl
c3RSZXNvdXJjZXMiLCAiL3dlYmtpdDIvV2ViS2l0V2ViVmlldy9yZXNvdXJjZXMiLCAiVGVzdCBp
cyBmbGFreSBpbiBHVEsgTGludXggMzItYml0IFJlbGVhc2UgYm90IiwgODI4NjgpLAogICAgICAg
ICBTa2lwcGVkVGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rlc3RXZWJLaXRBY2Nlc3NpYmlsaXR5Iiwg
Ii93ZWJraXQyL1dlYktpdEFjY2Vzc2liaWxpdHkvYXRzcGktYmFzaWMtaGllcmFyY2h5IiwgIlRl
c3QgZmFpbHMiLCAxMDA0MDgpLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDViNTFlNTQ4MDFhYjkzODRmZmE1NmZlMjY3MmQ1
ZjI0MWRhZGM0MzcuLjgxYzUwN2MzZWFhMmZmOWJlMDczYTBiYjNjZWNhNzAyODU2NzUxYzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMy0wNy0xNyAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1h
cmlvLnByYWRhQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtHVEtdIFRlc3QgL3dlYmtpdC9hdGsv
Z2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlIGZhaWxzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU1MzgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgTGF5b3V0IHRlc3QgYW5k
IGNvbW1vbiBleHBlY3RhdGlvbnMsIHRvIGJlIHNoYXJlZCBhdAorICAgICAgICBsZWFzdCBmb3Ig
R1RLIGFuZCBFRkwgcG9ydHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13
aXRoLWxpbmVicmVha3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3MuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IEFkZGVkIGZhaWxpbmcgZXhwZWN0YXRpb25zIGZv
cgorICAgICAgICBNYWMsIGFzIGl0IHdpbGwgbmVlZCBwbGF0Zm9ybSBzcGVjaWZpYyBvbmVzLgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOiBMaWtld2lzZS4KKwogMjAx
My0wNy0xNSAgWm9sdGFuIEFydmFpICA8emFydmFpQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAg
ICBbUXRdW1dLMl0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuIFNraXBwaW5nIGJhZCBwaXhlbCByZXN1
bHRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9wYXJhZ3JhcGgtd2l0
aC1saW5lYnJlYWtzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvcGFy
YWdyYXBoLXdpdGgtbGluZWJyZWFrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE2YjBiYjI5
ZGE2NDNmNGEyN2E1OTMwYjA1MTU4ODQ2MmQxOGUxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMyBAQAorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsCitjb25zZWN0
ZXR1ciBhZGlwaXNjaW5nIGVsaXQuCitBbGlxdWFtIGZhdWNpYnVzIGRpYW0gc2l0IGFtZXQgbnVu
YyB2ZXN0aWJ1bHVtIGF1Y3Rvci4KKworTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQWxpcXVhbSBmYXVjaWJ1cyBkaWFtIHNpdCBhbWV0IG51
bmMgdmVzdGlidWx1bSBhdWN0b3IuCisKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBsaW5lYnJlYWtz
IGV4cGxpY2l0bHkgc2V0IGJ5IHRoZSBhdXRob3IgYXJlIHByb3Blcmx5IGV4cG9zZWQgdG8gQVRz
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUm9sZSBvZiB0aGUgcGFyYWdyYXBo
IHdpdGggYnJlYWsgbGluZXM6IEFYUm9sZTogQVhQYXJhZ3JhcGgKK1ZhbHVlIG9mIHRoZSBwYXJh
Z3JhcGggd2l0aCBicmVhayBsaW5lczogQVhWYWx1ZTogTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsPFxuPmNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC48XG4+QWxpcXVhbSBmYXVjaWJ1cyBk
aWFtIHNpdCBhbWV0IG51bmMgdmVzdGlidWx1bSBhdWN0b3IuCisKKworUm9sZSBvZiB0aGUgcGFy
YWdyYXBoIHdpdGggd3JhcHBlZCBsaW5lczogQVhSb2xlOiBBWFBhcmFncmFwaAorVmFsdWUgb2Yg
dGhlIHBhcmFncmFwaCB3aXRoIHdyYXBwZWQgbGluZXM6IEFYVmFsdWU6IExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEFsaXF1YW0gZmF1Y2li
dXMgZGlhbSBzaXQgYW1ldCBudW5jIHZlc3RpYnVsdW0gYXVjdG9yLgorCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3MuaHRtbCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc4ZDc0MGQ3ZGQ2ODdkNDkwOGY4OWQ3MTMxYjgyYzZkMmQ4NGYxZTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13aXRoLWxp
bmVicmVha3MuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorCis8cD4KKyAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsPGJyPgorICBj
b25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuPGJyPgorICBBbGlxdWFtIGZhdWNpYnVzIGRpYW0g
c2l0IGFtZXQgbnVuYyB2ZXN0aWJ1bHVtIGF1Y3Rvci4KKzwvcD4KKworPHAgc3R5bGU9Im1heC13
aWR0aDoxNTBweDsiPgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzY2luZyBlbGl0LiBBbGlxdWFtIGZhdWNpYnVzIGRpYW0gc2l0IGFtZXQgbnVuYyB2ZXN0
aWJ1bHVtIGF1Y3Rvci4KKzwvcD4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBsaW5lYnJlYWtzIGV4cGxpY2l0bHkgc2V0IGJ5IHRoZSBhdXRob3IgYXJlIHBy
b3Blcmx5IGV4cG9zZWQgdG8gQVRzLiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcikgeworCisgICAgZG9jdW1lbnQuYm9keS5mb2N1cygpOworICAgIHZhciB3ZWJBcmVh
ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CisKKyAgICB2YXIgYnJv
a2VuUGFyYWdyYXBoID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7CisgICAgZGVidWcoIlJvbGUg
b2YgdGhlIHBhcmFncmFwaCB3aXRoIGJyZWFrIGxpbmVzOiAiICsgYnJva2VuUGFyYWdyYXBoLnJv
bGUpOworICAgIGRlYnVnKCJWYWx1ZSBvZiB0aGUgcGFyYWdyYXBoIHdpdGggYnJlYWsgbGluZXM6
ICIgKyBicm9rZW5QYXJhZ3JhcGguc3RyaW5nVmFsdWUpOworICAgIGRlYnVnKCI8YnI+Iik7CisK
KyAgICB2YXIgd3JhcHBlZFBhcmFncmFwaCA9IHdlYkFyZWEuY2hpbGRBdEluZGV4KDEpOworICAg
IGRlYnVnKCJSb2xlIG9mIHRoZSBwYXJhZ3JhcGggd2l0aCB3cmFwcGVkIGxpbmVzOiAiICsgd3Jh
cHBlZFBhcmFncmFwaC5yb2xlKTsKKyAgICBkZWJ1ZygiVmFsdWUgb2YgdGhlIHBhcmFncmFwaCB3
aXRoIHdyYXBwZWQgbGluZXM6ICIgKyB3cmFwcGVkUGFyYWdyYXBoLnN0cmluZ1ZhbHVlKTsKKyAg
ICBkZWJ1ZygiPGJyPiIpOworICB9Cit9Cis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmFl
MzgxZjQ3MTMwMmU1NmY2MDliNzc0NDA3YjMzNTUyYTcxZjdjOC4uMmJmZWJjY2YzZTMyMzBmNjlk
ODU1NmJkN2IyMzA2ZjM5MWIxMDZhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTM1LDYgKzM1LDkgQEAgZmFzdC9kb20vV2luZG93L3Nsb3ctdW5sb2Fk
LWhhbmRsZXItb25seS1mcmFtZS1pcy1zdG9wcGVkLmh0bWwKIAogd2Via2l0Lm9yZy9iLzExNjYz
NiBhY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWF0dHJpYnV0ZXMuaHRtbCBbIEZhaWx1cmUgXQogCisj
IE5lZWRzIE1hYyBzcGVjaWZpYyBleHBlY3RhdGlvbnMsIHByb2JhYmx5IGRpZmZlcmVudCB0aGFu
IHRob3NlIGZyb20gR1RLL0VGTCBwb3J0cy4KK3dlYmtpdC5vcmcvYi8xMDU1MzggYWNjZXNzaWJp
bGl0eS9wYXJhZ3JhcGgtd2l0aC1saW5lYnJlYWtzLmh0bWwgWyBGYWlsdXJlIF0KKwogIyBBY2Nl
c3NpYmlsaXR5IHRlc3RzIHdpdGggbWlzc2luZyBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlciBmdW5j
dGlvbmFsaXR5Lgogd2Via2l0Lm9yZy9iLzExNjYzNyBhY2Nlc3NpYmlsaXR5L3NlbGVjdGlvbi1z
dGF0ZXMuaHRtbCBbIEZhaWx1cmUgXQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDczODljNTFmNmMwOWRlYmE4Nzc3OTc4YmYxNzk3ZDE1OWU2N2M5ZTAu
LjY2NWEwZDZkNTA3ZTNkMDg5ODEzODNjNzZlYmI3ZDM5NjA1MmE4NzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC00NjcsNiArNDY3LDkgQEAgYW5pbWF0
aW9ucy9zdG9wLWFuaW1hdGlvbi1vbi1zdXNwZW5kLmh0bWwKICMgQ3Jhc2hpbmcgaW4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudCBodHRwOi8vd2Via2l0Lm9yZy9iLzQ5Mzc5
CiBhY2Nlc3NpYmlsaXR5L2lmcmFtZS1iYXN0YXJkaXphdGlvbi5odG1sCiAKKyMgTmVlZHMgV2lu
IHNwZWNpZmljIGV4cGVjdGF0aW9ucywgcHJvYmFibHkgZGlmZmVyZW50IHRoYW4gdGhvc2UgZnJv
bSBHVEsvRUZMIHBvcnRzLgord2Via2l0Lm9yZy9iLzEwNTUzOCBhY2Nlc3NpYmlsaXR5L3BhcmFn
cmFwaC13aXRoLWxpbmVicmVha3MuaHRtbCBbIEZhaWx1cmUgXQorCiAjIFNwZXdzIGEgY29uc29s
ZSBtZXNzYWdlIGludG8gdGhlIG5leHQgdGVzdCB1bmRlciBBZXJvIGh0dHA6Ly93ZWJraXQub3Jn
L2IvNDk5NDUKIHN2Zy9jdXN0b20vY2xpcC1wYXRoLXJlZmVyZW5jaW5nLXVzZTIuc3ZnCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>211053</attachid>
            <date>2013-09-09 10:10:36 -0700</date>
            <delta_ts>2013-09-09 10:13:40 -0700</delta_ts>
            <desc>Patch proposal plus new Layout test</desc>
            <filename>0001-2013-09-09-Mario-Sanchez-Prada-mario.prada-samsung.c.patch</filename>
            <type>text/plain</type>
            <size>15867</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSBmZjgxNzQ4MGQ4NDFmZTI0ZGJiMmM2YTRiNjVkZTA4ZmZjMGI1ODhhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtYXJpby5wcmFkYUBzYW1z
dW5nLmNvbT4KRGF0ZTogTW9uLCA5IFNlcCAyMDEzIDEwOjI4OjM4ICswMTAwClN1YmplY3Q6IFtQ
QVRDSF0gMjAxMy0wOS0wOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1
bmcuY29tPgoKICAgICAgICBbR1RLXSBUZXN0IC93ZWJraXQvYXRrL2dldFRleHRJblBhcmFncmFw
aEFuZEJvZHlNb2RlcmF0ZSBmYWlscwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDU1MzgKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgogICAgICAgIEV4cG9zZSAnXG4nIGZvciBsaW5lYnJlYWtzIHdoZW4gdGhleSB3ZXJlIGV4cGxp
Y2l0bHkgc2V0IGJ5IHRoZQogICAgICAgIGF1dGhvciBvZiB0aGUgd2ViIGNvbnRlbnQgd2l0aCBh
IDxicj4gdGFnLgoKICAgICAgICBUZXN0czogYWNjZXNzaWJpbGl0eS9wYXJhZ3JhcGgtd2l0aC1s
aW5lYnJlYWtzLmh0bWwKCiAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmNwcDoKICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQWRkU3BhY2VCZWZvcmVBcHBlbmRp
bmdOZXh0RWxlbWVudCk6IEhlbHBlcgogICAgICAgIGZ1bmN0aW9uIHRvIGRlY2lkZSB3aGVuIHRv
IGFwcGVuZCBzcGFjZXMgd2hlbiBidWlsZGluZyB0aGUgdGV4dAogICAgICAgIHVuZGVyIGFuIGVs
ZW1lbnQsIGNvbnNpZGVyaW5nIGxpbmUgYnJlYWtzLgogICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5Tm9kZU9iamVjdDo6dGV4dFVuZGVyRWxlbWVudCk6IFVzZSB0aGUKICAgICAgICBzaG91
bGRBZGRTcGFjZUJlZm9yZUFwcGVuZGluZ05leHRFbGVtZW50KCkgZnVuY3Rpb24gaGVyZS4KICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CiAgICAg
ICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQp
OiBSZXR1cm4gdGhlCiAgICAgICAgcmVuZGVyZXIncyB0ZXh0IGZvciBhY2Nlc3NpYmlsaXR5IG9i
amVjdHMgZXhwb3NpbmcgPGJyPiBlbGVtZW50cy4KICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJJZGlvbXMuaDoKICAgICAgICAoV2ViQ29yZTo6aXNIVE1MU3BhY2VCdXROb3RMaW5lQnJl
YWspOiBOZXcgaGVscGVyIGZ1bmN0aW9uLCB1c2VmdWwKICAgICAgICB0byBiZSBwYXNzZWQgdG8g
b3RoZXIgZnVuY3Rpb25zIGxpa2Ugc2ltcGxpZnlXaGl0ZVNwYWNlKCkuCgoyMDEzLTA5LTA5ICBN
YXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CgogICAgICAgIFtH
VEtdIFRlc3QgL3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlIGZh
aWxzCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTUz
OAoKICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgQWRkZWQgbmV3
IExheW91dCB0ZXN0IGFuZCBwbGF0Zm9ybSBzcGVjaWZpYyBleHBlY3RhdGlvbnMuCgogICAgICAg
ICogcGxhdGZvcm0vZWZsL2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
cGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgogICAgICAgICog
YWNjZXNzaWJpbGl0eS9wYXJhZ3JhcGgtd2l0aC1saW5lYnJlYWtzLmh0bWw6IEFkZGVkLgoKMjAx
My0wOS0wOSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgoK
ICAgICAgICBbR1RLXSBUZXN0IC93ZWJraXQvYXRrL2dldFRleHRJblBhcmFncmFwaEFuZEJvZHlN
b2RlcmF0ZSBmYWlscwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDU1MzgKCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAg
IFVuc2tpcCBwYXNzaW5nIHRlc3QgZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlLgoK
ICAgICAgICAqIFNjcmlwdHMvcnVuLWd0ay10ZXN0czoKICAgICAgICAoVGVzdFJ1bm5lcik6IFVu
c2tpcCBwYXNpbmcgdGVzdC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMTMgKysrKysrCiAuLi4vYWNjZXNzaWJpbGl0eS9wYXJhZ3Jh
cGgtd2l0aC1saW5lYnJlYWtzLmh0bWwgICB8ICAgNDggKysrKysrKysrKysrKysrKysrKysKIC4u
Li9wYXJhZ3JhcGgtd2l0aC1saW5lYnJlYWtzLWV4cGVjdGVkLnR4dCAgICAgICAgIHwgICAyMyAr
KysrKysrKysrCiAuLi4vcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy1leHBlY3RlZC50eHQgICAg
ICAgICB8ICAgMjMgKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDI1ICsrKysrKysrKysKIC4uLi9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCAgICAgIHwgICAxOSArKysrKystLQogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgICAgfCAgICA1ICsrCiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2VySWRpb21zLmggICAgICB8ICAgIDYgKysr
CiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MTIgKysrKysKIFRvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cyAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMSAtCiAxMCBmaWxlcyBjaGFuZ2VkLCAxNzEgaW5zZXJ0aW9ucygrKSwgNCBkZWxl
dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3Bh
cmFncmFwaC13aXRoLWxpbmVicmVha3MuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9hY2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3Mt
ZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy1leHBlY3RlZC50eHQKCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMmE2ODg4NC4uNzBlNGJjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTA5LTA5
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgW0dUS10gVGVzdCAvd2Via2l0L2F0ay9nZXRUZXh0SW5QYXJhZ3JhcGhBbmRCb2R5TW9kZXJh
dGUgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwNTUzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIG5ldyBMYXlvdXQgdGVzdCBhbmQgcGxhdGZvcm0gc3BlY2lmaWMgZXhwZWN0YXRpb25z
LgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgt
bGluZWJyZWFrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3MtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3MuaHRt
bDogQWRkZWQuCisKIDIwMTMtMDktMDggIEd1cnByZWV0IEthdXIgIDxrLmd1cnByZWV0QHNhbXN1
bmcuY29tPgogCiAgICAgICAgIGRlZmluaW5nIGxpbmUgaGVpZ2h0IGFmZmVjdHMgaGVpZ2h0IG9m
IHRleHQgYm94CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3BhcmFncmFw
aC13aXRoLWxpbmVicmVha3MuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvcGFyYWdy
YXBoLXdpdGgtbGluZWJyZWFrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjc4ZDc0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3MuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8cD4KKyAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsPGJyPgorICBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuPGJyPgorICBBbGlx
dWFtIGZhdWNpYnVzIGRpYW0gc2l0IGFtZXQgbnVuYyB2ZXN0aWJ1bHVtIGF1Y3Rvci4KKzwvcD4K
KworPHAgc3R5bGU9Im1heC13aWR0aDoxNTBweDsiPgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBBbGlxdWFtIGZhdWNpYnVzIGRpYW0g
c2l0IGFtZXQgbnVuYyB2ZXN0aWJ1bHVtIGF1Y3Rvci4KKzwvcD4KKworPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KKworZGVzY3Jp
cHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBsaW5lYnJlYWtzIGV4cGxpY2l0bHkgc2V0IGJ5
IHRoZSBhdXRob3IgYXJlIHByb3Blcmx5IGV4cG9zZWQgdG8gQVRzLiIpOworCitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworCisgICAgZG9jdW1lbnQuYm9keS5mb2N1cygp
OworICAgIHZhciB3ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQ7CisKKyAgICB2YXIgYnJva2VuUGFyYWdyYXBoID0gd2ViQXJlYS5jaGlsZEF0SW5kZXgoMCk7
CisgICAgZGVidWcoIlJvbGUgb2YgdGhlIHBhcmFncmFwaCB3aXRoIGJyZWFrIGxpbmVzOiAiICsg
YnJva2VuUGFyYWdyYXBoLnJvbGUpOworICAgIGRlYnVnKCJWYWx1ZSBvZiB0aGUgcGFyYWdyYXBo
IHdpdGggYnJlYWsgbGluZXM6ICIgKyBicm9rZW5QYXJhZ3JhcGguc3RyaW5nVmFsdWUpOworICAg
IGRlYnVnKCI8YnI+Iik7CisKKyAgICB2YXIgd3JhcHBlZFBhcmFncmFwaCA9IHdlYkFyZWEuY2hp
bGRBdEluZGV4KDEpOworICAgIGRlYnVnKCJSb2xlIG9mIHRoZSBwYXJhZ3JhcGggd2l0aCB3cmFw
cGVkIGxpbmVzOiAiICsgd3JhcHBlZFBhcmFncmFwaC5yb2xlKTsKKyAgICBkZWJ1ZygiVmFsdWUg
b2YgdGhlIHBhcmFncmFwaCB3aXRoIHdyYXBwZWQgbGluZXM6ICIgKyB3cmFwcGVkUGFyYWdyYXBo
LnN0cmluZ1ZhbHVlKTsKKyAgICBkZWJ1ZygiPGJyPiIpOworICB9Cit9Cis8L3NjcmlwdD4KKwor
PHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9hY2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3MtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgt
bGluZWJyZWFrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMjE2YjBiYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9h
Y2Nlc3NpYmlsaXR5L3BhcmFncmFwaC13aXRoLWxpbmVicmVha3MtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMjMgQEAKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LAorY29uc2VjdGV0dXIgYWRp
cGlzY2luZyBlbGl0LgorQWxpcXVhbSBmYXVjaWJ1cyBkaWFtIHNpdCBhbWV0IG51bmMgdmVzdGli
dWx1bSBhdWN0b3IuCisKK0xvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBh
ZGlwaXNjaW5nIGVsaXQuIEFsaXF1YW0gZmF1Y2lidXMgZGlhbSBzaXQgYW1ldCBudW5jIHZlc3Rp
YnVsdW0gYXVjdG9yLgorCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgbGluZWJyZWFrcyBleHBsaWNp
dGx5IHNldCBieSB0aGUgYXV0aG9yIGFyZSBwcm9wZXJseSBleHBvc2VkIHRvIEFUcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1JvbGUgb2YgdGhlIHBhcmFncmFwaCB3aXRoIGJy
ZWFrIGxpbmVzOiBBWFJvbGU6IEFYUGFyYWdyYXBoCitWYWx1ZSBvZiB0aGUgcGFyYWdyYXBoIHdp
dGggYnJlYWsgbGluZXM6IEFYVmFsdWU6IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LDxcbj5j
b25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuPFxuPkFsaXF1YW0gZmF1Y2lidXMgZGlhbSBzaXQg
YW1ldCBudW5jIHZlc3RpYnVsdW0gYXVjdG9yLgorCisKK1JvbGUgb2YgdGhlIHBhcmFncmFwaCB3
aXRoIHdyYXBwZWQgbGluZXM6IEFYUm9sZTogQVhQYXJhZ3JhcGgKK1ZhbHVlIG9mIHRoZSBwYXJh
Z3JhcGggd2l0aCB3cmFwcGVkIGxpbmVzOiBBWFZhbHVlOiBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBBbGlxdWFtIGZhdWNpYnVzIGRpYW0g
c2l0IGFtZXQgbnVuYyB2ZXN0aWJ1bHVtIGF1Y3Rvci4KKworCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS9wYXJhZ3Jh
cGgtd2l0aC1saW5lYnJlYWtzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yMTZiMGJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2FjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFrcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMyBAQAorTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsCitjb25zZWN0
ZXR1ciBhZGlwaXNjaW5nIGVsaXQuCitBbGlxdWFtIGZhdWNpYnVzIGRpYW0gc2l0IGFtZXQgbnVu
YyB2ZXN0aWJ1bHVtIGF1Y3Rvci4KKworTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gQWxpcXVhbSBmYXVjaWJ1cyBkaWFtIHNpdCBhbWV0IG51
bmMgdmVzdGlidWx1bSBhdWN0b3IuCisKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBsaW5lYnJlYWtz
IGV4cGxpY2l0bHkgc2V0IGJ5IHRoZSBhdXRob3IgYXJlIHByb3Blcmx5IGV4cG9zZWQgdG8gQVRz
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUm9sZSBvZiB0aGUgcGFyYWdyYXBo
IHdpdGggYnJlYWsgbGluZXM6IEFYUm9sZTogQVhQYXJhZ3JhcGgKK1ZhbHVlIG9mIHRoZSBwYXJh
Z3JhcGggd2l0aCBicmVhayBsaW5lczogQVhWYWx1ZTogTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsPFxuPmNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC48XG4+QWxpcXVhbSBmYXVjaWJ1cyBk
aWFtIHNpdCBhbWV0IG51bmMgdmVzdGlidWx1bSBhdWN0b3IuCisKKworUm9sZSBvZiB0aGUgcGFy
YWdyYXBoIHdpdGggd3JhcHBlZCBsaW5lczogQVhSb2xlOiBBWFBhcmFncmFwaAorVmFsdWUgb2Yg
dGhlIHBhcmFncmFwaCB3aXRoIHdyYXBwZWQgbGluZXM6IEFYVmFsdWU6IExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIEFsaXF1YW0gZmF1Y2li
dXMgZGlhbSBzaXQgYW1ldCBudW5jIHZlc3RpYnVsdW0gYXVjdG9yLgorCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU4
YTM3OC4uODIwYTdkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMy0wOS0wOSAg
TWFyaW8gU2FuY2hleiBQcmFkYSAgPG1hcmlvLnByYWRhQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtHVEtdIFRlc3QgL3dlYmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRl
IGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDU1MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBF
eHBvc2UgJ1xuJyBmb3IgbGluZWJyZWFrcyB3aGVuIHRoZXkgd2VyZSBleHBsaWNpdGx5IHNldCBi
eSB0aGUKKyAgICAgICAgYXV0aG9yIG9mIHRoZSB3ZWIgY29udGVudCB3aXRoIGEgPGJyPiB0YWcu
CisKKyAgICAgICAgVGVzdHM6IGFjY2Vzc2liaWxpdHkvcGFyYWdyYXBoLXdpdGgtbGluZWJyZWFr
cy5odG1sCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEFkZFNwYWNlQmVmb3JlQXBwZW5kaW5nTmV4
dEVsZW1lbnQpOiBIZWxwZXIKKyAgICAgICAgZnVuY3Rpb24gdG8gZGVjaWRlIHdoZW4gdG8gYXBw
ZW5kIHNwYWNlcyB3aGVuIGJ1aWxkaW5nIHRoZSB0ZXh0CisgICAgICAgIHVuZGVyIGFuIGVsZW1l
bnQsIGNvbnNpZGVyaW5nIGxpbmUgYnJlYWtzLgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJp
bGl0eU5vZGVPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQpOiBVc2UgdGhlCisgICAgICAgIHNob3Vs
ZEFkZFNwYWNlQmVmb3JlQXBwZW5kaW5nTmV4dEVsZW1lbnQoKSBmdW5jdGlvbiBoZXJlLgorICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp0ZXh0VW5kZXJFbGVtZW50
KTogUmV0dXJuIHRoZQorICAgICAgICByZW5kZXJlcidzIHRleHQgZm9yIGFjY2Vzc2liaWxpdHkg
b2JqZWN0cyBleHBvc2luZyA8YnI+IGVsZW1lbnRzLgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hU
TUxQYXJzZXJJZGlvbXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzSFRNTFNwYWNlQnV0Tm90TGlu
ZUJyZWFrKTogTmV3IGhlbHBlciBmdW5jdGlvbiwgdXNlZnVsCisgICAgICAgIHRvIGJlIHBhc3Nl
ZCB0byBvdGhlciBmdW5jdGlvbnMgbGlrZSBzaW1wbGlmeVdoaXRlU3BhY2UoKS4KKwogMjAxMy0w
OS0wOSAgQ2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHVEtdICBnaG9zdCBjdXJzb3Igd2hlbiBtb3VzZSBob3ZlcnMgb3ZlciBhbiBpbWFnZSBmaWxl
IGluIGEgdGFiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlOb2RlT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU5vZGVPYmplY3QuY3BwCmluZGV4IDUwYzkxMGYuLjliNzdlZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlv
bnNDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUg
IkhUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKQEAgLTE1NDIsNiArMTU0MywxOCBA
QCBzdGF0aWMgYm9vbCBzaG91bGRVc2VBY2Nlc3NpYmxpdHlPYmplY3RJbm5lclRleHQoQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqLCBBY2NlcwogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMg
Ym9vbCBzaG91bGRBZGRTcGFjZUJlZm9yZUFwcGVuZGluZ05leHRFbGVtZW50KFN0cmluZ0J1aWxk
ZXImIGJ1aWxkZXIsIFN0cmluZyYgY2hpbGRUZXh0KQoreworICAgIGlmICghYnVpbGRlci5sZW5n
dGgoKSB8fCAhY2hpbGRUZXh0Lmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAvLyBXZSBkb24ndCBuZWVkIHRvIGFkZCBhbiBhZGRpdGlvbmFsIHNwYWNlIGJlZm9yZSBvciBh
ZnRlciBhIGxpbmUgYnJlYWsuCisgICAgaWYgKGlzSFRNTExpbmVCcmVhayhjaGlsZFRleHRbMF0p
IHx8IGlzSFRNTExpbmVCcmVhayhidWlsZGVyW2J1aWxkZXIubGVuZ3RoKCkgLSAxXSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBTdHJpbmcgQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQoQWNjZXNzaWJpbGl0eVRleHRVbmRl
ckVsZW1lbnRNb2RlIG1vZGUpIGNvbnN0CiB7CiAgICAgTm9kZSogbm9kZSA9IHRoaXMtPm5vZGUo
KTsKQEAgLTE1NTcsNyArMTU3MCw3IEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6
dGV4dFVuZGVyRWxlbWVudChBY2Nlc3NpYmlsaXR5VGV4dFVuZGVyRWxlbWVudE1vCiAgICAgICAg
ICAgICBWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+IHRleHRPcmRlcjsKICAgICAgICAgICAgIHRv
QWNjZXNzaWJpbGl0eU5vZGVPYmplY3QoY2hpbGQpLT5hbHRlcm5hdGl2ZVRleHQodGV4dE9yZGVy
KTsKICAgICAgICAgICAgIGlmICh0ZXh0T3JkZXIuc2l6ZSgpID4gMCAmJiB0ZXh0T3JkZXJbMF0u
dGV4dC5sZW5ndGgoKSkgewotICAgICAgICAgICAgICAgIGlmIChidWlsZGVyLmxlbmd0aCgpKQor
ICAgICAgICAgICAgICAgIGlmIChzaG91bGRBZGRTcGFjZUJlZm9yZUFwcGVuZGluZ05leHRFbGVt
ZW50KGJ1aWxkZXIsIHRleHRPcmRlclswXS50ZXh0KSkKICAgICAgICAgICAgICAgICAgICAgYnVp
bGRlci5hcHBlbmQoJyAnKTsKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCh0ZXh0T3Jk
ZXJbMF0udGV4dCk7CiAgICAgICAgICAgICAgICAgY29udGludWU7CkBAIC0xNTY2LDEzICsxNTc5
LDEzIEBAIFN0cmluZyBBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6dGV4dFVuZGVyRWxlbWVudChB
Y2Nlc3NpYmlsaXR5VGV4dFVuZGVyRWxlbWVudE1vCiAKICAgICAgICAgU3RyaW5nIGNoaWxkVGV4
dCA9IGNoaWxkLT50ZXh0VW5kZXJFbGVtZW50KG1vZGUpOwogICAgICAgICBpZiAoY2hpbGRUZXh0
Lmxlbmd0aCgpKSB7Ci0gICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5ndGgoKSkKKyAgICAgICAg
ICAgIGlmIChzaG91bGRBZGRTcGFjZUJlZm9yZUFwcGVuZGluZ05leHRFbGVtZW50KGJ1aWxkZXIs
IGNoaWxkVGV4dCkpCiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKICAgICAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKGNoaWxkVGV4dCk7CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpLnN0cmlwV2hpdGVTcGFjZSgpLnNpbXBsaWZ5V2hp
dGVTcGFjZSgpOworICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCkuc3RyaXBXaGl0ZVNwYWNl
KCkuc2ltcGxpZnlXaGl0ZVNwYWNlKGlzSFRNTFNwYWNlQnV0Tm90TGluZUJyZWFrKTsKIH0KIAog
U3RyaW5nIEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojp0aXRsZSgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcAppbmRleCA0YTNlM2Y1Li5iMGEyZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKQEAg
LTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlICJOb2RlTGlzdC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIK
ICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJCUi5oIgogI2lu
Y2x1ZGUgIlJlbmRlckJ1dHRvbi5oIgogI2luY2x1ZGUgIlJlbmRlckZpZWxkc2V0LmgiCiAjaW5j
bHVkZSAiUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuaCIKQEAgLTYzMCw2ICs2MzEsMTAgQEAgU3Ry
aW5nIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnRleHRVbmRlckVsZW1lbnQoQWNjZXNzaWJp
bGl0eVRleHRVbmRlckVsZW1lbnQKICAgICBpZiAobV9yZW5kZXJlci0+aXNGaWxlVXBsb2FkQ29u
dHJvbCgpKQogICAgICAgICByZXR1cm4gdG9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbChtX3JlbmRl
cmVyKS0+YnV0dG9uVmFsdWUoKTsKICAgICAKKyAgICAvLyBSZWZsZWN0IHdoZW4gYSBjb250ZW50
IGF1dGhvciBoYXMgZXhwbGljaXRseSBtYXJrZWQgYSBsaW5lIGJyZWFrLgorICAgIGlmIChtX3Jl
bmRlcmVyLT5pc0JSKCkpCisgICAgICAgIHJldHVybiB0b1JlbmRlckJSKCptX3JlbmRlcmVyKS50
ZXh0KCk7CisKICNpZiBFTkFCTEUoTUFUSE1MKQogICAgIC8vIE1hdGggb3BlcmF0b3JzIGNyZWF0
ZSBSZW5kZXJUZXh0IG5vZGVzIG9uIHRoZSBmbHkgdGhhdCBhcmUgbm90IHRpZWQgaW50byB0aGUg
RE9NIGluIGEgcmVhc29uYWJsZSB3YXksCiAgICAgLy8gc28gcmFuZ2VPZkNvbnRlbnRzIGRvZXMg
bm90IHdvcmsgZm9yIHRoZW0gKG5vciBkb2VzIHJlZ3VsYXIgdGV4dCBzZWxlY3Rpb24pLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFBhcnNlcklkaW9tcy5oCmluZGV4IDA3YWY3
NmMuLjhkOWU0M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQ
YXJzZXJJZGlvbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUGFyc2Vy
SWRpb21zLmgKQEAgLTM4LDYgKzM4LDcgQEAgY2xhc3MgRGVjaW1hbDsKIGJvb2wgaXNIVE1MU3Bh
Y2UoVUNoYXIpOwogYm9vbCBpc0hUTUxMaW5lQnJlYWsoVUNoYXIpOwogYm9vbCBpc05vdEhUTUxT
cGFjZShVQ2hhcik7Citib29sIGlzSFRNTFNwYWNlQnV0Tm90TGluZUJyZWFrKFVDaGFyIGNoYXJh
Y3Rlcik7CiAKIC8vIFN0cmlwIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UgYXMgZGVm
aW5lZCBieSB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uLiAKIFN0cmluZyBzdHJpcExlYWRpbmdBbmRU
cmFpbGluZ0hUTUxTcGFjZXMoY29uc3QgU3RyaW5nJik7CkBAIC05Miw2ICs5MywxMSBAQCBpbmxp
bmUgYm9vbCBpc05vdEhUTUxTcGFjZShVQ2hhciBjaGFyYWN0ZXIpCiAgICAgcmV0dXJuICFpc0hU
TUxTcGFjZShjaGFyYWN0ZXIpOwogfQogCitpbmxpbmUgYm9vbCBpc0hUTUxTcGFjZUJ1dE5vdExp
bmVCcmVhayhVQ2hhciBjaGFyYWN0ZXIpCit7CisgICAgcmV0dXJuIGlzSFRNTFNwYWNlKGNoYXJh
Y3RlcikgJiYgIWlzSFRNTExpbmVCcmVhayhjaGFyYWN0ZXIpOworfQorCiBib29sIHRocmVhZFNh
ZmVNYXRjaChjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogI2lm
IEVOQUJMRShUSFJFQURFRF9IVE1MX1BBUlNFUikKIGJvb2wgdGhyZWFkU2FmZU1hdGNoKGNvbnN0
IEhUTUxJZGVudGlmaWVyJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIyMzgxMjYuLjQxMjE1NGY3IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTMtMDktMDkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbR1RLXSBUZXN0IC93ZWJraXQvYXRrL2dldFRleHRJblBh
cmFncmFwaEFuZEJvZHlNb2RlcmF0ZSBmYWlscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1NTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVW5za2lwIHBhc3NpbmcgdGVzdCBnZXRUZXh0SW5QYXJhZ3Jh
cGhBbmRCb2R5TW9kZXJhdGUuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1ndGstdGVzdHM6Cisg
ICAgICAgIChUZXN0UnVubmVyKTogVW5za2lwIHBhc2luZyB0ZXN0LgorCiAyMDEzLTA5LTA4ICBG
aWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgcnVuLWpzYy1zdHJlc3Mt
dGVzdHMgc2hvdWxkIGJlIG1vcmUgcGFyYW5vaWQgYWJvdXQgY2FsbGluZyBtYWtlCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3J1bi1ndGstdGVzdHMgYi9Ub29scy9TY3JpcHRzL3J1bi1ndGst
dGVzdHMKaW5kZXggOTIxODRmZC4uZTg0NWM3MiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9y
dW4tZ3RrLXRlc3RzCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLWd0ay10ZXN0cwpAQCAtNjYsNyAr
NjYsNiBAQCBjbGFzcyBUZXN0UnVubmVyOgogICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3Rz
L3Rlc3R3ZWJyZXNvdXJjZSIsICIvd2Via2l0L3dlYnJlc291cmNlL2xvYWRpbmciLCAiVGVzdCBm
YWlscyIsIDEwNDY4OSksCiAgICAgICAgIFNraXBwZWRUZXN0KCJ1bml0dGVzdHMvdGVzdHdlYnJl
c291cmNlIiwgIi93ZWJraXQvd2VicmVzb3VyY2Uvc3ViX3Jlc291cmNlX2xvYWRpbmciLCAiVGVz
dCBmYWlscyBpbiBHVEsgTGludXggNjQtYml0IFJlbGVhc2UgYm90IiwgODIzMzApLAogICAgICAg
ICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rlc3R3ZWJ2aWV3IiwgIi93ZWJraXQvd2Vidmlldy9p
Y29uLXVyaSIsICJUZXN0IHRpbWVzIG91dCBpbiBHVEsgTGludXggNjQtYml0IFJlbGVhc2UgYm90
IiwgODIzMjgpLAotICAgICAgICBTa2lwcGVkVGVzdCgidW5pdHRlc3RzL3Rlc3RhdGsiLCAiL3dl
YmtpdC9hdGsvZ2V0VGV4dEluUGFyYWdyYXBoQW5kQm9keU1vZGVyYXRlIiwgIlRlc3QgZmFpbHMi
LCAxMDU1MzgpLAogICAgICAgICBTa2lwcGVkVGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rlc3RSZXNv
dXJjZXMiLCAiL3dlYmtpdDIvV2ViS2l0V2ViVmlldy9yZXNvdXJjZXMiLCAiVGVzdCBpcyBmbGFr
eSBpbiBHVEsgTGludXggMzItYml0IFJlbGVhc2UgYm90IiwgODI4NjgpLAogICAgICAgICBTa2lw
cGVkVGVzdCgiV2ViS2l0MkFQSVRlc3RzL1Rlc3RXZWJLaXRXZWJWaWV3IiwgU2tpcHBlZFRlc3Qu
RU5USVJFX1NVSVRFLCAiVGVzdCB0aW1lcyBvdXQgYWZ0ZXIgcjE1MDg5MCIsIDExNzY4OSksCiAg
ICAgICAgIFNraXBwZWRUZXN0KCJXZWJLaXQyQVBJVGVzdHMvVGVzdENvbnRleHRNZW51IiwgU2tp
cHBlZFRlc3QuRU5USVJFX1NVSVRFLCAiVGVzdCB0aW1lcyBvdXQgYWZ0ZXIgcjE1MDg5MCIsIDEx
NzY4OSksCi0tIAoxLjcuMTAuNAoK
</data>
<flag name="review"
          id="233102"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>