<?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>55874</bug_id>
          
          <creation_ts>2011-03-07 06:23:51 -0800</creation_ts>
          <short_desc>Improve handling of legacy viewport meta tags</short_desc>
          <delta_ts>2012-06-08 04:54:20 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>66687</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Kenneth Rohde Christiansen">kenneth</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>joepeck</cc>
    
    <cc>johnme</cc>
    
    <cc>kling</cc>
    
    <cc>peter</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>363322</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-07 06:23:51 -0800</bug_when>
    <thetext>Support legacy viewport meta tags (Android supports at least HandheldFriendly and Windows Phone IE support HandheldFriendly and MobileOptimized.)

The prioritizing is done as on WP7:

HandheldFriendly
MobileOptimized (overrides HandheldFriendly)
Viewport (overrides both MobileOptimized and HandheldFriendly)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363324</commentid>
    <comment_count>1</comment_count>
      <attachid>84940</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-07 06:26:48 -0800</bug_when>
    <thetext>Created attachment 84940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363325</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-07 06:29:03 -0800</bug_when>
    <thetext>Attachment 84940 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Source/WebCore/dom/ViewportArguments.h:113:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363328</commentid>
    <comment_count>3</comment_count>
      <attachid>84940</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-03-07 06:32:54 -0800</bug_when>
    <thetext>Comment on attachment 84940
Patch

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

Awesome patch! &lt;3
Let&apos;s see what others think.

&gt; Source/WebCore/dom/Document.cpp:2742
&gt; +    if (features != &quot;true&quot; || m_viewportArguments.type &gt; type)

Checking for &quot;true&quot; should be a case insensitive comparison.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363331</commentid>
    <comment_count>4</comment_count>
      <attachid>84942</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-07 06:40:52 -0800</bug_when>
    <thetext>Created attachment 84942
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363381</commentid>
    <comment_count>5</comment_count>
      <attachid>84942</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-03-07 09:52:06 -0800</bug_when>
    <thetext>Comment on attachment 84942
Patch 2

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

Nice, I didn&apos;t even know about these meta tags. A few questions below. Maybe
you can link to a spec in the bugzilla comments if one exists.

&gt; Source/WebCore/dom/Document.cpp:2727
&gt; +    bool ok;
&gt; +    m_viewportArguments.width = features.toFloat(&amp;ok);
&gt; +
&gt; +    // An absent value or a value of 0 means that the page width is the same as
&gt; +    // the size of the screen. We handle invalid values the same way.
&gt; +    if (features.isEmpty() || features == &quot;0&quot; || !ok)
&gt; +        m_viewportArguments.width = ViewportArguments::ValueDeviceWidth;

Does MobileOptimized have the same numeric parsing as viewport? Should &quot;123x&quot; become 123 or ValueDeviceWidth?

&gt; Source/WebCore/dom/Document.cpp:2743
&gt; +    // Only override if same type, or if new type has higher priority.
&gt; +    if (!equalIgnoringCase(features, &quot;true&quot;) || m_viewportArguments.type &gt; type)
&gt; +        return;

Should content be trimmed or is this very strict? Would this be valid?

  &lt;meta name=&quot;HandheldFriendly&quot; content=&quot; true&quot;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363389</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-07 10:07:01 -0800</bug_when>
    <thetext>What is the reason for adding these? If WebKit survived without legacy meta support for so long, won&apos;t adding it now cause more trouble than good?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363887</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-08 01:05:43 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; What is the reason for adding these? If WebKit survived without legacy meta support for so long, won&apos;t adding it now cause more trouble than good?

We are actually supporting them in our legacy WebKit based browsers and so does Android. As what I understood from Andreas Kling, iOS actually also inserts a viewport when a XHTML MP document is encountered.

We have similar code on our branch:

--- a/WebCore/dom/Document.cpp
+++ b/WebCore/dom/Document.cpp
@@ -661,7 +661,8 @@ void Document::setDocType(PassRefPtr&lt;DocumentType&gt; docType)
         m_docType-&gt;setDocument(this);
 
     if (m_docType &amp;&amp; !ownerElement() &amp;&amp; m_docType-&gt;publicId().startsWith(&quot;-//wapforum//dtd xhtml mobile 1.&quot;, false)) {
         m_viewportArguments.width = ViewportArguments::ValueDeviceWidth;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363895</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-03-08 01:16:45 -0800</bug_when>
    <thetext>(In reply to comment #7) 
&gt; As what I understood from Andreas Kling, iOS actually also inserts a viewport when a XHTML MP document is encountered.

I&apos;m not sure iOS does this for XHTML MP documents, but Android&apos;s WebKit does for sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363899</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-08 01:22:41 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 84942 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=84942&amp;action=review
&gt; 
&gt; Nice, I didn&apos;t even know about these meta tags. A few questions below. Maybe
&gt; you can link to a spec in the bugzilla comments if one exists.

I couldn&apos;t find all of the docs, but searching a bit I found these:

http://msdn.microsoft.com/en-us/library/ms890014.aspx
http://blogs.msdn.com/b/iemobile/archive/2010/11/22/the-ie-mobile-viewport-on-windows-phone-7.aspx
http://blogs.msdn.com/b/iemobile/archive/2011/01/21/managing-the-browser-viewport-in-windows-phone-7.aspx
http://docs.blackberry.com/en/developers/deliverables/6176/HTML_ref_meta_564143_11.jsp
http://starkravingfinkle.org/blog/2009/10/fennec-1-0-beta-4-for-maemo/

&gt; &gt; Source/WebCore/dom/Document.cpp:2727
&gt; &gt; +    bool ok;
&gt; &gt; +    m_viewportArguments.width = features.toFloat(&amp;ok);
&gt; &gt; +
&gt; &gt; +    // An absent value or a value of 0 means that the page width is the same as
&gt; &gt; +    // the size of the screen. We handle invalid values the same way.
&gt; &gt; +    if (features.isEmpty() || features == &quot;0&quot; || !ok)
&gt; &gt; +        m_viewportArguments.width = ViewportArguments::ValueDeviceWidth;
&gt; 
&gt; Does MobileOptimized have the same numeric parsing as viewport? Should &quot;123x&quot; become 123 or ValueDeviceWidth?

I didn&apos;t find this documented any where, but I will try to test it when I get my hand on one of these phones.

&gt; &gt; Source/WebCore/dom/Document.cpp:2743
&gt; &gt; +    // Only override if same type, or if new type has higher priority.
&gt; &gt; +    if (!equalIgnoringCase(features, &quot;true&quot;) || m_viewportArguments.type &gt; type)
&gt; &gt; +        return;
&gt; 
&gt; Should content be trimmed or is this very strict? Would this be valid?
&gt; 
&gt;   &lt;meta name=&quot;HandheldFriendly&quot; content=&quot; true&quot;&gt;

I will try to test it.

(In reply to comment #6)
&gt; What is the reason for adding these? If WebKit survived without legacy meta support for so long, won&apos;t adding it now cause more trouble than good?

We have had support for these quite some time on our development branches and our testers have reported no regressions so far. Pages that support both viewport and say handheldfriendly, will use the viewport meta tag, independently of the order they are declared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363986</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-03-08 09:19:50 -0800</bug_when>
    <thetext>It&apos;s good to know that no regressions have been found yet, although it&apos;s unclear if the same would hold true for iOS. Are there any known pages that benefit from this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364006</commentid>
    <comment_count>11</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-03-08 09:50:43 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; It&apos;s good to know that no regressions have been found yet, although it&apos;s unclear if the same would hold true for iOS. Are there any known pages that benefit from this?

There are (though I don&apos;t have them handy right now) as we got bug reports of some of these, which led me to implement this feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393113</commentid>
    <comment_count>12</comment_count>
      <attachid>84942</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-04-26 17:01:14 -0700</bug_when>
    <thetext>Comment on attachment 84942
Patch 2

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

&gt; Source/WebCore/dom/Document.cpp:2712
&gt; +    static ViewportArguments::Type type = ViewportArguments::MobileOptimizedMeta;

A variable here seems overkill IMHO</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393137</commentid>
    <comment_count>13</comment_count>
      <attachid>84942</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-04-26 17:05:29 -0700</bug_when>
    <thetext>Comment on attachment 84942
Patch 2

Patch looks okay to me, but we need clarity on the impact or a list of sites that use this before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632764</commentid>
    <comment_count>14</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-05-24 07:23:48 -0700</bug_when>
    <thetext>So, what about this patch? Can it be landed?

The thread about it on www-style[1] is almost dead but has no objections.

BTW, the patch needs to be rebased to apply on current WebKit trunk.

[1] http://lists.w3.org/Archives/Public/www-style/2012May/0371.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632770</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-24 07:26:24 -0700</bug_when>
    <thetext>I think that under the LEGACY_VIEWPORT? flag, landing it would be quite OK.

It will also be required for fully upstreaming the Android port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632786</commentid>
    <comment_count>16</comment_count>
    <who name="Peter Beverloo">peter</who>
    <bug_when>2012-05-24 07:46:00 -0700</bug_when>
    <thetext>+johnme

Yes, we&apos;re also using the MobileOptimized and HandheldFriendly meta tags, however, for the MobileOptimized meta, we completely ignore the content and I don&apos;t think we set the initial scale to 1 for HandheldFriendly.

This does look like a much more sustainable way than what we have right now. John, could you have a look as well please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632787</commentid>
    <comment_count>17</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-24 07:47:22 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; +johnme
&gt; 
&gt; Yes, we&apos;re also using the MobileOptimized and HandheldFriendly meta tags, however, for the MobileOptimized meta, we completely ignore the content and I don&apos;t think we set the initial scale to 1 for HandheldFriendly.

Let&apos;s try to do the same. Do you have any tests?
 
&gt; This does look like a much more sustainable way than what we have right now. John, could you have a look as well please?

John, you don&apos;t seem to auto complete in the cc field. Are you in the committers.py?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636463</commentid>
    <comment_count>18</comment_count>
      <attachid>144626</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-05-29 14:46:34 -0700</bug_when>
    <thetext>Created attachment 144626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636472</commentid>
    <comment_count>19</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-05-29 14:51:32 -0700</bug_when>
    <thetext>I did the requested changes on Kenneth&apos;s patch[1] and rebased it.

The changes:

- Ignore content value of MobileOptimized.
- Don&apos;t set initial-scale on HandheldFriendly (need to do the same on MobileOptimized?)

BTW... height=device-height need to be set? what the behavior on other browsers?

[1] Kenneth asked me to do it weeks ago, so it wasn&apos;t an intrusive patch =]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636482</commentid>
    <comment_count>20</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-29 15:08:26 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; I did the requested changes on Kenneth&apos;s patch[1] and rebased it.
&gt; 
&gt; The changes:
&gt; 
&gt; - Ignore content value of MobileOptimized.
&gt; - Don&apos;t set initial-scale on HandheldFriendly (need to do the same on MobileOptimized?)
&gt; 
&gt; BTW... height=device-height need to be set? what the behavior on other browsers?
&gt; 
&gt; [1] Kenneth asked me to do it weeks ago, so it wasn&apos;t an intrusive patch =]

John Mellor recently sent an email to www-style explaining the existing behavior. Maybe you can dig it up? I even think you were cc&apos;ed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636488</commentid>
    <comment_count>21</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-05-29 15:12:54 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; I did the requested changes on Kenneth&apos;s patch[1] and rebased it.
&gt; &gt; 
&gt; &gt; The changes:
&gt; &gt; 
&gt; &gt; - Ignore content value of MobileOptimized.
&gt; &gt; - Don&apos;t set initial-scale on HandheldFriendly (need to do the same on MobileOptimized?)
&gt; &gt; 
&gt; &gt; BTW... height=device-height need to be set? what the behavior on other browsers?
&gt; &gt; 
&gt; &gt; [1] Kenneth asked me to do it weeks ago, so it wasn&apos;t an intrusive patch =]
&gt; 
&gt; John Mellor recently sent an email to www-style explaining the existing behavior. Maybe you can dig it up? I even think you were cc&apos;ed.

Yes I am and read it, but the email is just about widths, not heights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639015</commentid>
    <comment_count>22</comment_count>
      <attachid>144626</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-01 00:01:29 -0700</bug_when>
    <thetext>Comment on attachment 144626
Patch

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

&gt; Source/WebCore/dom/ViewportArguments.h:62
&gt; +#if USE(LEGACY_VIEWPORT_ADAPTION)

This should probably be ENABLE(LEGACY_VIEWPORT_ADAPTION)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639018</commentid>
    <comment_count>23</comment_count>
      <attachid>144626</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-01 00:02:29 -0700</bug_when>
    <thetext>Comment on attachment 144626
Patch

This looks like a good start at least.  We can iterate on the exact parsing rules in followup patches, if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639030</commentid>
    <comment_count>24</comment_count>
      <attachid>144626</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-06-01 00:19:07 -0700</bug_when>
    <thetext>Comment on attachment 144626
Patch

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

&gt; Source/WebCore/dom/ViewportArguments.h:63
&gt; +        XHTMLMobileProfile,

XHTMLMP again?..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639042</commentid>
    <comment_count>25</comment_count>
      <attachid>144626</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-01 00:27:44 -0700</bug_when>
    <thetext>Comment on attachment 144626
Patch

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

&gt;&gt; Source/WebCore/dom/ViewportArguments.h:63
&gt;&gt; +        XHTMLMobileProfile,
&gt; 
&gt; XHTMLMP again?..

If you look at the patch, you&apos;ll see that we&apos;re already processing &quot;-//wapforum//dtd xhtml mobile 1.&quot;  The patch doesn&apos;t add support for anything new related to XHTMLMP.  It just creates an enum value for what we&apos;re already doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639493</commentid>
    <comment_count>26</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-06-01 10:20:33 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 144626 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144626&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/dom/ViewportArguments.h:63
&gt; &gt;&gt; +        XHTMLMobileProfile,
&gt; &gt; 
&gt; &gt; XHTMLMP again?..
&gt; 
&gt; If you look at the patch, you&apos;ll see that we&apos;re already processing &quot;-//wapforum//dtd xhtml mobile 1.&quot;  The patch doesn&apos;t add support for anything new related to XHTMLMP.  It just creates an enum value for what we&apos;re already doing.

Yep, and the enum is needed just to know when processViewport should overwrite the current viewport settings or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639505</commentid>
    <comment_count>27</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-06-01 10:35:23 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 144626 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=144626&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/ViewportArguments.h:62
&gt; &gt; +#if USE(LEGACY_VIEWPORT_ADAPTION)
&gt; 
&gt; This should probably be ENABLE(LEGACY_VIEWPORT_ADAPTION)

The &quot;USE&quot; was suggested and included in a previous patch, so this patch just continue using USE instead of ENABLE.

Anyway I think the semantic difference between both isn&apos;t to big and IMO webkit would have just &quot;USE&quot; or just &quot;ENABLE&quot; to keep things simple.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639538</commentid>
    <comment_count>28</comment_count>
      <attachid>144626</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 11:24:19 -0700</bug_when>
    <thetext>Comment on attachment 144626
Patch

Clearing flags on attachment: 144626

Committed r119256: &lt;http://trac.webkit.org/changeset/119256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639540</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 11:24:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639551</commentid>
    <comment_count>30</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-01 11:36:22 -0700</bug_when>
    <thetext>&gt; The &quot;USE&quot; was suggested and included in a previous patch, so this patch just continue using USE instead of ENABLE.
&gt; 
&gt; Anyway I think the semantic difference between both isn&apos;t to big and IMO webkit would have just &quot;USE&quot; or just &quot;ENABLE&quot; to keep things simple.

Yeah, the two are very similar, and it&apos;s not clear what we gain by differentiating them.  My understanding is that USE is for selecting among different ways of implementing features (e.g., which library to use or whether to use an in-memory cache) whereas ENABLE is about controlling which features are visible to the platform (e.g., IndexedDB or various meta tags).

It&apos;s possible that other folks have a different understanding, and it&apos;s certainly not a big deal one way or the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639558</commentid>
    <comment_count>31</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2012-06-01 11:42:44 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; &gt; The &quot;USE&quot; was suggested and included in a previous patch, so this patch just continue using USE instead of ENABLE.
&gt; &gt; 
&gt; &gt; Anyway I think the semantic difference between both isn&apos;t to big and IMO webkit would have just &quot;USE&quot; or just &quot;ENABLE&quot; to keep things simple.
&gt; 
&gt; Yeah, the two are very similar, and it&apos;s not clear what we gain by differentiating them.  My understanding is that USE is for selecting among different ways of implementing features (e.g., which library to use or whether to use an in-memory cache) whereas ENABLE is about controlling which features are visible to the platform (e.g., IndexedDB or various meta tags).
&gt; 
&gt; It&apos;s possible that other folks have a different understanding, and it&apos;s certainly not a big deal one way or the other.

I can do the switch to ENABLE in another patch as well and add you as reviewer.

Regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639690</commentid>
    <comment_count>32</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-01 13:48:20 -0700</bug_when>
    <thetext>&gt; I can do the switch to ENABLE in another patch as well and add you as reviewer.

Thanks Hugo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643738</commentid>
    <comment_count>33</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-06-07 11:38:22 -0700</bug_when>
    <thetext>Sorry, missed this. Belated review: looks great, thanks for adding support for these, and seems a nice clean way to do priorities.

It seems a bit odd that depending on the source we use &quot;width=device-width, height=device-height&quot;, &quot;width=device-width&quot; or &quot;width=device-width, initial-scale=1&quot; as the implied viewport tag. Would anyone object if I changed these all to be just &quot;width=device-width&quot;, on the assumption that initial-scale and device-height both default to those values once width=device-width is set?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644078</commentid>
    <comment_count>34</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-06-07 16:54:49 -0700</bug_when>
    <thetext>John, you might want to open a new bug and attach a patch.  That way folks can comment without feeling like they need to read 33 previous comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644581</commentid>
    <comment_count>35</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-06-08 04:54:20 -0700</bug_when>
    <thetext>I don&apos;t mind.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84940</attachid>
            <date>2011-03-07 06:26:48 -0800</date>
            <delta_ts>2011-03-07 06:40:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Improve-handling-of-legacy-viewport-meta-tags.patch</filename>
            <type>text/plain</type>
            <size>32339</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSA5YjMxNDMyYjY3MTI2MGI1N2RkYWI1M2I0YWE3OTYwMzM4MzQ2NTk3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBNb24sIDI4IEZlYiAyMDExIDExOjQ1OjU2ICswMTAwClN1YmplY3Q6
IFtQQVRDSF0gSW1wcm92ZSBoYW5kbGluZyBvZiBsZWdhY3kgdmlld3BvcnQgbWV0YSB0YWdzCiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4NzQKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL1dlYkNvcmU6CgpXZSBub3cgc3VwcG9ydCBNb2JpbGVP
cHRpbWl6ZWQgYW5kIEhhbmRoZWxkRnJpZW5kbHkgYXMgd2VsbC4KCldlIHNldCBpbml0aWFsLXNj
YWxlIHRvIDEuMCBhbmQgd2lkdGggZXF1YWwgdG8gZGV2aWNlLXdpZHRoCmZvciBIYW5kaGVsZEZy
aWVuZGx5IGFuZCBmb3IgTW9iaWxlT3B0aW1pemVkIGlmIHRoZSBjb250ZW50IGFyZ3VtZW50Cmlz
IG1pc3Npbmcgb3IgZXF1YWwgdG8gMC4gVGhpcyBmaXRzIHdpdGggaG93IFdQNyBoYW5kbGVzIGl0
LgoKVGhlIHByaW9yaXRpemluZyBpcyBkb25lIHRoZSBzYW1lIHdheSBhcyBvbiBXaW5kb3dzIFBo
b25lIDc6CgpIYW5kaGVsZEZyaWVuZGx5Ck1vYmlsZU9wdGltaXplZCAob3ZlcnJpZGVzIEhhbmRo
ZWxkRnJpZW5kbHkpClZpZXdwb3J0IChvdmVycmlkZXMgYm90aCBNb2JpbGVPcHRpbWl6ZWQgYW5k
IEhhbmRoZWxkRnJpZW5kbHkpCgpUZXN0czogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
aGFuZGhlbGRmcmllbmRseS5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1tb2JpbGVvcHRpbWl6ZWQtMi5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbAogICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctMS5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy0yLmh0bWwKICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTMuaHRtbAogICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3Jk
ZXJpbmctNC5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy01Lmh0bWwKICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTYu
aHRtbAogICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy5odG1s
CiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWwKICAg
ICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTkuaHRtbAoKKiBkb20v
RG9jdW1lbnQuY3BwOgooV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NNb2JpbGVPcHRpbWl6ZWQp
OgooV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIYW5kaGVsZEZyaWVuZGx5KToKKFdlYkNvcmU6
OkRvY3VtZW50Ojpwcm9jZXNzVmlld3BvcnQpOgoqIGRvbS9Eb2N1bWVudC5oOgoqIGh0bWwvSFRN
TE1ldGFFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxNZXRhRWxlbWVudDo6cHJvY2Vzcyk6CgpM
YXlvdXRUZXN0czoKCkFkZCB0ZXN0cyBhbmQgZXhwZWN0ZWQgcmVzdWx0cy4KCiogZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS1leHBlY3RlZC50eHQ6IEFkZGVk
LgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJpZW5kbHkuaHRtbDog
QWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2Jp
bGVvcHRpbWl6ZWQtMi5odG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1tb2JpbGVvcHRpbWl6ZWQtMy1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC5odG1sOiBB
ZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS5o
dG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0yLWV4
cGVjdGVkLnR4dDogQWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctMi5odG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
b3JkZXJpbmctMy5odG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy00Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy01Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LW9yZGVyaW5nLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LWxlZ2FjeS1vcmRlcmluZy02Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtbGVnYWN5LW9yZGVyaW5nLTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBm
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05Lmh0bWw6IEFkZGVkLgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAz
NSArKysrKysrKysrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJpZW5kbHktZXhw
ZWN0ZWQudHh0ICB8ICAgIDIgKwogLi4uL3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVs
ZGZyaWVuZGx5Lmh0bWwgfCAgIDEzICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9w
dGltaXplZC0yLWV4cGVjdGVkLnR4dCB8ICAgIDIgKwogLi4uL3ZpZXdwb3J0LWxlZ2FjeS1tb2Jp
bGVvcHRpbWl6ZWQtMi5odG1sICAgICAgICAgfCAgIDEzICsrKysrCiAuLi4vdmlld3BvcnQtbGVn
YWN5LW1vYmlsZW9wdGltaXplZC0zLWV4cGVjdGVkLnR4dCB8ICAgIDIgKwogLi4uL3ZpZXdwb3J0
LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1sICAgICAgICAgfCAgIDEzICsrKysrCiAuLi4v
dmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC1leHBlY3RlZC50eHQgICB8ICAgIDIgKwog
Li4uL3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbCAgfCAgIDEz
ICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEtZXhwZWN0ZWQudHh0ICAgICAg
ICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEu
aHRtbCAgfCAgIDE0ICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTItZXhwZWN0
ZWQudHh0ICAgICAgICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTIuaHRtbCAgfCAgIDE0ICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVy
aW5nLTMtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMuaHRtbCAgfCAgIDE0ICsrKysrCiAuLi4vZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNC5odG1sICB8ICAgMTQgKysrKysKIC4uLi92
aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS1leHBlY3RlZC50eHQgICAgICAgIHwgICAgMiArCiAu
Li4vZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS5odG1sICB8ICAgMTQg
KysrKysKIC4uLi92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi1leHBlY3RlZC50eHQgICAgICAg
IHwgICAgMiArCiAuLi4vZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5o
dG1sICB8ICAgMTQgKysrKysKIC4uLi92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy1leHBlY3Rl
ZC50eHQgICAgICAgIHwgICAgMyArCiAuLi4vZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
b3JkZXJpbmctNy5odG1sICB8ICAgMTUgKysrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVy
aW5nLTgtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW9yZGVyaW5nLTguaHRtbCAgfCAgIDE1ICsrKysrKwogLi4uL3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy05LWV4cGVjdGVkLnR4dCAgICAgICAgfCAgICAzICsKIC4uLi9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05Lmh0bWwgIHwgICAxNSArKysrKysK
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0
MSArKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgICAgICAg
ICAgICAgICAgICAgIHwgICA1MyArKysrKysrKysrKysrKysrKysrLQogU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmggICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIFNvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oICAgICAgICAgICAgIHwgICAyOCArKysrKysrKysr
LQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwICAgICAgICAgICAgfCAg
ICA0ICsrCiAzMSBmaWxlcyBjaGFuZ2VkLCAzNzEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1oYW5kaGVsZGZyaWVuZGx5LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJpZW5k
bHkuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0yLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9w
dGltaXplZC0yLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdw
b3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy1leHBlY3RlZC50eHQKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1t
b2JpbGVvcHRpbWl6ZWQtMy5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLWV4cGVjdGVkLnR4dAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LW1vYmlsZW9wdGltaXplZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1vcmRlcmluZy0xLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0yLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVy
aW5nLTIuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy5o
dG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctNC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS1leHBlY3RlZC50eHQKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1vcmRlcmluZy01Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVy
aW5nLTYuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTctZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy5o
dG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctOC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWwKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1vcmRlcmluZy05LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTkuaHRtbAoKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBj
YzUzNjU2Li45NDgzYjViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDAgQEAKIDIwMTEtMDMtMDcgIEtlbm5l
dGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgogCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmUgaGFuZGxpbmcgb2Yg
bGVnYWN5IHZpZXdwb3J0IG1ldGEgdGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTU4NzQKKworICAgICAgICBBZGQgdGVzdHMgYW5kIGV4cGVjdGVk
IHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5k
aGVsZGZyaWVuZGx5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1v
YmlsZW9wdGltaXplZC0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxl
b3B0aW1pemVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVy
aW5nLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LWxlZ2FjeS1vcmRlcmluZy0yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3Bv
cnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0zLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtbGVnYWN5LW9yZGVyaW5nLTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTYuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
dmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTguaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5n
LTkuaHRtbDogQWRkZWQuCisKKzIwMTEtMDMtMDcgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2Vu
ICA8a2VubmV0aEB3ZWJraXQub3JnPgorCiAgICAgICAgIFVucmV2aWV3ZWQuCiAKICAgICAgICAg
QWRkIGV4cGVjdGVkIHJlc3VsdHMgdG8gdGhlIG5ldyB2aWV3cG9ydCB0ZXN0cwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmll
bmRseS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1oYW5kaGVsZGZyaWVuZGx5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi41MGRhOTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyIEBACit2aWV3cG9ydCBzaXplIDMyMHgzNTIgc2NhbGUgMS4wMDAwMDAgd2l0
aCBsaW1pdHMgWzEuMDAwMDAwLCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1NDgxMDcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5k
aGVsZGZyaWVuZGx5Lmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPGhlYWQ+CisgICAgPHRpdGxlPkhh
bmRoZWxkRnJpZW5kbHkgTWV0YSB3aXRoICJ0cnVlIi48L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9
IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9InRydWUiPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0
aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsi
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
bW9iaWxlb3B0aW1pemVkLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZGE5NDgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQt
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9ydCBzaXplIDMyMHgzNTIgc2Nh
bGUgMS4wMDAwMDAgd2l0aCBsaW1pdHMgWzEuMDAwMDAwLCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1p
emVkLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1v
YmlsZW9wdGltaXplZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZDZjZjBlNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0yLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPGhl
YWQ+CisgICAgPHRpdGxlPk1vYmlsZU9wdGltaXplZCBNZXRhIHdpdGggIjAiLjwvdGl0bGU+Cisg
ICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50PSIwIj4KKyAgICA8c2NyaXB0
PgorICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
Q29uZmlndXJhdGlvbkZvclZpZXdwb3J0KDE2MCwgMzIwLCA0ODAsIDMyMCwgMzUyKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCk7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjdlOGM2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxl
b3B0aW1pemVkLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAordmlld3BvcnQgc2l6ZSA0
ODB4NTI4IHNjYWxlIDEuMDAwMDAwIHdpdGggbGltaXRzIFswLjY2NjY2NywgNS4wMDAwMDBdCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1v
YmlsZW9wdGltaXplZC0zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmQwNTY2NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1sCkBAIC0wLDAgKzEs
MTMgQEAKKzxoZWFkPgorICAgIDx0aXRsZT5Nb2JpbGVPcHRpbWl6ZWQgTWV0YSB3aXRoICI0ODAi
LjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50PSI0ODAi
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIw
LCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92
aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBkYTk0OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LW1vYmlsZW9wdGltaXplZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9y
dCBzaXplIDMyMHgzNTIgc2NhbGUgMS4wMDAwMDAgd2l0aCBsaW1pdHMgWzEuMDAwMDAwLCA1LjAw
MDAwMF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1s
ZWdhY3ktbW9iaWxlb3B0aW1pemVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3Zp
ZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4xMGZjMzI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLmh0bWwKQEAgLTAsMCAr
MSwxMyBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmlsZU9wdGltaXplZCBNZXRhIHdpdGhvdXQg
Y29udGVudCIuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRl
bnQ9IiI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgw
LCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5YjQ4YjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAzOiBWaWV3cG9ydCB3aWR0aCBvciBoZWlnaHQgc2V0IHRvIHBoeXNpY2FsIGRldmljZSB3
aWR0aCwgdHJ5IHVzaW5nICJkZXZpY2Utd2lkdGgiIGNvbnN0YW50IGluc3RlYWQgZm9yIGZ1dHVy
ZSBjb21wYXRpYmlsaXR5Lgordmlld3BvcnQgc2l6ZSAzMDB4MzMwIHNjYWxlIDEuMDY2NjY3IHdp
dGggbGltaXRzIFsxLjA2NjY2NywgNS4wMDAwMDBdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWNjYTU4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS5odG1s
CkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDx0aXRsZT5WaWV3cG9ydCwgSGFuZGhlbGRG
cmllbmRseSBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPTMwMCI+CisgICAgPG1ldGEgbmFtZT0iSGFuZGhlbGRGcmllbmRseSIgY29udGVudD0i
dHJ1ZSI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgw
LCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTItZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiNjFhYTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy0yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSA0OiBWaWV3cG9ydCB3aWR0aCBvciBoZWlnaHQgc2V0IHRvIHBoeXNpY2FsIGRldmljZSB3
aWR0aCwgdHJ5IHVzaW5nICJkZXZpY2Utd2lkdGgiIGNvbnN0YW50IGluc3RlYWQgZm9yIGZ1dHVy
ZSBjb21wYXRpYmlsaXR5Lgordmlld3BvcnQgc2l6ZSAzMDB4MzMwIHNjYWxlIDEuMDY2NjY3IHdp
dGggbGltaXRzIFsxLjA2NjY2NywgNS4wMDAwMDBdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTIuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTIuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDMyNjYyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMi5odG1s
CkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDx0aXRsZT5IYW5kaGVsZEZyaWVuZGx5LCBW
aWV3cG9ydCBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iSGFuZGhlbGRGcmllbmRseSIg
Y29udGVudD0idHJ1ZSI+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PTMwMCI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgw
LCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0zLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5YjQ4YjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAzOiBWaWV3cG9ydCB3aWR0aCBvciBoZWlnaHQgc2V0IHRvIHBoeXNpY2FsIGRldmljZSB3
aWR0aCwgdHJ5IHVzaW5nICJkZXZpY2Utd2lkdGgiIGNvbnN0YW50IGluc3RlYWQgZm9yIGZ1dHVy
ZSBjb21wYXRpYmlsaXR5Lgordmlld3BvcnQgc2l6ZSAzMDB4MzMwIHNjYWxlIDEuMDY2NjY3IHdp
dGggbGltaXRzIFsxLjA2NjY2NywgNS4wMDAwMDBdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWE2N2MzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy5odG1s
CkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDx0aXRsZT5WaWV3cG9ydCwgTW9iaWxlT3B0
aW1pemVkIE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9MzAwIj4KKyAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjE3
NiI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAz
MjAsIDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy00Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy00Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZhOTAyNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTQuaHRtbApAQCAt
MCwwICsxLDE0IEBACis8aGVhZD4KKyAgICA8dGl0bGU+TW9iaWxlT3B0aW1pemVkLCBWaWV3cG9y
dCBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50
PSIxNzYiPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD0zMDAiPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAz
NTIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjdlOGM2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9ydCBzaXplIDQ4MHg1Mjggc2Nh
bGUgMS4wMDAwMDAgd2l0aCBsaW1pdHMgWzAuNjY2NjY3LCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
NS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZDlmYjMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy01Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+CisgICAgPHRpdGxlPkhhbmRo
ZWxkRnJpZW5kbHksIE1vYmlsZU9wdGltaXplZCBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFt
ZT0iSGFuZGhlbGRGcmllbmRseSIgY29udGVudD0idHJ1ZSI+CisgICAgPG1ldGEgbmFtZT0iTW9i
aWxlT3B0aW1pemVkIiBjb250ZW50PSI0ODAiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0
aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9y
Vmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5lYjdlOGM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
IEBACit2aWV3cG9ydCBzaXplIDQ4MHg1Mjggc2NhbGUgMS4wMDAwMDAgd2l0aCBsaW1pdHMgWzAu
NjY2NjY3LCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmFhZTEzNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02Lmh0bWwKQEAgLTAsMCArMSwx
NCBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmlsZU9wdGltaXplZCwgSGFuZGhlbGRGcmllbmRs
eSBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50
PSI0ODAiPgorICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9InRydWUi
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIw
LCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92
aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWI0OGIwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctNy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
MzogVmlld3BvcnQgd2lkdGggb3IgaGVpZ2h0IHNldCB0byBwaHlzaWNhbCBkZXZpY2Ugd2lkdGgs
IHRyeSB1c2luZyAiZGV2aWNlLXdpZHRoIiBjb25zdGFudCBpbnN0ZWFkIGZvciBmdXR1cmUgY29t
cGF0aWJpbGl0eS4KK3ZpZXdwb3J0IHNpemUgMzAweDMzMCBzY2FsZSAxLjA2NjY2NyB3aXRoIGxp
bWl0cyBbMS4wNjY2NjcsIDUuMDAwMDAwXQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU2YzdlNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTcuaHRtbApAQCAt
MCwwICsxLDE1IEBACis8aGVhZD4KKyAgICA8dGl0bGU+Vmlld3BvcnQsIE1vYmlsZU9wdGltaXpl
ZCwgSGFuZGhlbGRGcmllbmRseSBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoID0gMzAwIj4KKyAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6
ZWQiIGNvbnRlbnQ9IjQ4MCI+CisgICAgPG1ldGEgbmFtZT0iSGFuZGhlbGRGcmllbmRseSIgY29u
dGVudD0idHJ1ZSI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMy
MCwgNDgwLCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTgt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiNjFhYTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy04LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA0OiBWaWV3cG9ydCB3aWR0aCBvciBoZWlnaHQgc2V0IHRvIHBoeXNpY2FsIGRl
dmljZSB3aWR0aCwgdHJ5IHVzaW5nICJkZXZpY2Utd2lkdGgiIGNvbnN0YW50IGluc3RlYWQgZm9y
IGZ1dHVyZSBjb21wYXRpYmlsaXR5Lgordmlld3BvcnQgc2l6ZSAzMDB4MzMwIHNjYWxlIDEuMDY2
NjY3IHdpdGggbGltaXRzIFsxLjA2NjY2NywgNS4wMDAwMDBdCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTguaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTguaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Yjk4YmYxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
OC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzxoZWFkPgorICAgIDx0aXRsZT5Nb2JpbGVPcHRpbWl6
ZWQsIFZpZXdwb3J0LCBIYW5kaGVsZEZyaWVuZGx5IE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBu
YW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjQ4MCI+CisgICAgPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoID0gMzAwIj4KKyAgICA8bWV0YSBuYW1lPSJIYW5kaGVsZEZy
aWVuZGx5IiBjb250ZW50PSJ0cnVlIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiB0
ZXN0KCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlvbkZvclZpZXdw
b3J0KDE2MCwgMzIwLCA0ODAsIDMyMCwgMzUyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
b3JkZXJpbmctOS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uM2Y5NWVlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDU6IFZpZXdwb3J0IHdpZHRoIG9yIGhlaWdodCBzZXQgdG8g
cGh5c2ljYWwgZGV2aWNlIHdpZHRoLCB0cnkgdXNpbmcgImRldmljZS13aWR0aCIgY29uc3RhbnQg
aW5zdGVhZCBmb3IgZnV0dXJlIGNvbXBhdGliaWxpdHkuCit2aWV3cG9ydCBzaXplIDMwMHgzMzAg
c2NhbGUgMS4wNjY2Njcgd2l0aCBsaW1pdHMgWzEuMDY2NjY3LCA1LjAwMDAwMF0KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
OS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzYTcwNDAKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1vcmRlcmluZy05Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1v
YmlsZU9wdGltaXplZCwgSGFuZGhlbGRGcmllbmRseSwgVmlld3BvcnQgTWV0YS48L3RpdGxlPgor
ICAgIDxtZXRhIG5hbWU9Ik1vYmlsZU9wdGltaXplZCIgY29udGVudD0iNDgwIj4KKyAgICA8bWV0
YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0cnVlIj4KKyAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGggPSAzMDAiPgorICAgIDxzY3JpcHQ+CisgICAgICAg
IGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0
aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsi
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDc1YmRiNTkuLmEyMGNjNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0
NCBAQAorMjAxMS0wMy0wNyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wcm92ZSBoYW5kbGluZyBvZiBsZWdhY3kgdmlld3BvcnQgbWV0YSB0YWdzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTg3NAorCisgICAgICAg
IFdlIG5vdyBzdXBwb3J0IE1vYmlsZU9wdGltaXplZCBhbmQgSGFuZGhlbGRGcmllbmRseSBhcyB3
ZWxsLgorCisgICAgICAgIFdlIHNldCBpbml0aWFsLXNjYWxlIHRvIDEuMCBhbmQgd2lkdGggZXF1
YWwgdG8gZGV2aWNlLXdpZHRoCisgICAgICAgIGZvciBIYW5kaGVsZEZyaWVuZGx5IGFuZCBmb3Ig
TW9iaWxlT3B0aW1pemVkIGlmIHRoZSBjb250ZW50IGFyZ3VtZW50CisgICAgICAgIGlzIG1pc3Np
bmcgb3IgZXF1YWwgdG8gMC4gVGhpcyBmaXRzIHdpdGggaG93IFdQNyBoYW5kbGVzIGl0LgorCisg
ICAgICAgIFRoZSBwcmlvcml0aXppbmcgaXMgZG9uZSB0aGUgc2FtZSB3YXkgYXMgb24gV2luZG93
cyBQaG9uZSA3OgorCisgICAgICAgIEhhbmRoZWxkRnJpZW5kbHkKKyAgICAgICAgTW9iaWxlT3B0
aW1pemVkIChvdmVycmlkZXMgSGFuZGhlbGRGcmllbmRseSkKKyAgICAgICAgVmlld3BvcnQgKG92
ZXJyaWRlcyBib3RoIE1vYmlsZU9wdGltaXplZCBhbmQgSGFuZGhlbGRGcmllbmRseSkKKworICAg
ICAgICBUZXN0czogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRs
eS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2Jp
bGVvcHRpbWl6ZWQtMi5odG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdw
b3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0yLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNC5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy01Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTYuaHRtbAorICAgICAgICAgICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdh
Y3ktb3JkZXJpbmctNy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW9yZGVyaW5nLTkuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzTW9iaWxlT3B0aW1pemVkKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzSGFuZGhlbGRGcmllbmRseSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRhRWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MpOgorCiAyMDExLTAzLTA3ICBB
bnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBP
bGl2ZXIgSHVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDhkMTAxMWMuLmNiZTJlNmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjcwNywxMSArMjcwNyw2MiBAQCB2b2lkIERv
Y3VtZW50Ojpwcm9jZXNzQXJndW1lbnRzKGNvbnN0IFN0cmluZyYgZmVhdHVyZXMsIHZvaWQqIGRh
dGEsIEFyZ3VtZW50c0NhbAogICAgIH0KIH0KIAordm9pZCBEb2N1bWVudDo6cHJvY2Vzc01vYmls
ZU9wdGltaXplZChjb25zdCBTdHJpbmcmIGZlYXR1cmVzKQoreworICAgIHN0YXRpYyBWaWV3cG9y
dEFyZ3VtZW50czo6VHlwZSB0eXBlID0gVmlld3BvcnRBcmd1bWVudHM6Ok1vYmlsZU9wdGltaXpl
ZE1ldGE7CisKKyAgICAvLyBPbmx5IG92ZXJyaWRlIGlmIHNhbWUgdHlwZSwgb3IgaWYgbmV3IHR5
cGUgaGFzIGhpZ2hlciBwcmlvcml0eS4KKyAgICBpZiAobV92aWV3cG9ydEFyZ3VtZW50cy50eXBl
ID4gdHlwZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV92aWV3cG9ydEFyZ3VtZW50cyA9IFZp
ZXdwb3J0QXJndW1lbnRzKHR5cGUpOworICAgIG1fdmlld3BvcnRBcmd1bWVudHMuaW5pdGlhbFNj
YWxlID0gMS4wOworCisgICAgYm9vbCBvazsKKyAgICBtX3ZpZXdwb3J0QXJndW1lbnRzLndpZHRo
ID0gZmVhdHVyZXMudG9GbG9hdCgmb2spOworCisgICAgLy8gQW4gYWJzZW50IHZhbHVlIG9yIGEg
dmFsdWUgb2YgMCBtZWFucyB0YWh0IHRoZSBwYWdlIHdpZHRoIGlzIHRoZSBzYW1lIGFzCisgICAg
Ly8gdGhlIHNpemUgb2YgdGhlIHNjcmVlbi4gV2UgaGFuZGxlIGludmFsaWQgdmFsdWVzIHRoZSBz
YW1lIHdheS4KKyAgICBpZiAoZmVhdHVyZXMuaXNFbXB0eSgpIHx8IGZlYXR1cmVzID09ICIwIiB8
fCAhb2spCisgICAgICAgIG1fdmlld3BvcnRBcmd1bWVudHMud2lkdGggPSBWaWV3cG9ydEFyZ3Vt
ZW50czo6VmFsdWVEZXZpY2VXaWR0aDsKKworICAgIEZyYW1lKiBmcmFtZSA9IHRoaXMtPmZyYW1l
KCk7CisgICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgZnJhbWUtPnBhZ2UoKS0+dXBkYXRlVmlld3BvcnRBcmd1bWVudHMoKTsKK30KKwordm9p
ZCBEb2N1bWVudDo6cHJvY2Vzc0hhbmRoZWxkRnJpZW5kbHkoY29uc3QgU3RyaW5nJiBmZWF0dXJl
cykKK3sKKyAgICBzdGF0aWMgVmlld3BvcnRBcmd1bWVudHM6OlR5cGUgdHlwZSA9IFZpZXdwb3J0
QXJndW1lbnRzOjpIYW5kaGVsZEZyaWVuZGx5TWV0YTsKKyAgICBBU1NFUlQoIWZlYXR1cmVzLmlz
TnVsbCgpKTsKKworICAgIC8vIE9ubHkgb3ZlcnJpZGUgaWYgc2FtZSB0eXBlLCBvciBpZiBuZXcg
dHlwZSBoYXMgaGlnaGVyIHByaW9yaXR5LgorICAgIGlmIChmZWF0dXJlcyAhPSAidHJ1ZSIgfHwg
bV92aWV3cG9ydEFyZ3VtZW50cy50eXBlID4gdHlwZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV92aWV3cG9ydEFyZ3VtZW50cyA9IFZpZXdwb3J0QXJndW1lbnRzKHR5cGUpOworICAgIG1fdmll
d3BvcnRBcmd1bWVudHMuaW5pdGlhbFNjYWxlID0gMS4wOworICAgIG1fdmlld3BvcnRBcmd1bWVu
dHMud2lkdGggPSBWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVEZXZpY2VXaWR0aDsKKworICAgIEZy
YW1lKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPnBh
Z2UoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZnJhbWUtPnBhZ2UoKS0+dXBkYXRlVmlld3Bv
cnRBcmd1bWVudHMoKTsKK30KKwogdm9pZCBEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0KGNvbnN0
IFN0cmluZyYgZmVhdHVyZXMpCiB7CisgICAgc3RhdGljIFZpZXdwb3J0QXJndW1lbnRzOjpUeXBl
IHR5cGUgPSBWaWV3cG9ydEFyZ3VtZW50czo6Vmlld3BvcnRNZXRhOwogICAgIEFTU0VSVCghZmVh
dHVyZXMuaXNOdWxsKCkpOwogCi0gICAgbV92aWV3cG9ydEFyZ3VtZW50cyA9IFZpZXdwb3J0QXJn
dW1lbnRzKCk7CisgICAgLy8gT25seSBvdmVycmlkZSBpZiBzYW1lIHR5cGUsIG9yIGlmIG5ldyB0
eXBlIGhhcyBoaWdoZXIgcHJpb3JpdHkuCisgICAgaWYgKG1fdmlld3BvcnRBcmd1bWVudHMudHlw
ZSA+IHR5cGUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fdmlld3BvcnRBcmd1bWVudHMgPSBW
aWV3cG9ydEFyZ3VtZW50cyh0eXBlKTsKICAgICBwcm9jZXNzQXJndW1lbnRzKGZlYXR1cmVzLCAo
dm9pZCopJm1fdmlld3BvcnRBcmd1bWVudHMsICZzZXRWaWV3cG9ydEZlYXR1cmUpOwogCiAgICAg
RnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggZGIw
NGNjMS4uYTY1YmM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTgwNSw2ICs4MDUsOCBAQCBw
dWJsaWM6CiAgICAgICogQHBhcmFtIGNvbnRlbnQgVGhlIGhlYWRlciB2YWx1ZSAodmFsdWUgb2Yg
dGhlIG1ldGEgdGFnJ3MgImNvbnRlbnQiIGF0dHJpYnV0ZSkKICAgICAgKi8KICAgICB2b2lkIHBy
b2Nlc3NIdHRwRXF1aXYoY29uc3QgU3RyaW5nJiBlcXVpdiwgY29uc3QgU3RyaW5nJiBjb250ZW50
KTsKKyAgICB2b2lkIHByb2Nlc3NIYW5kaGVsZEZyaWVuZGx5KGNvbnN0IFN0cmluZyYgZmVhdHVy
ZXMpOworICAgIHZvaWQgcHJvY2Vzc01vYmlsZU9wdGltaXplZChjb25zdCBTdHJpbmcmIGZlYXR1
cmVzKTsKICAgICB2b2lkIHByb2Nlc3NWaWV3cG9ydChjb25zdCBTdHJpbmcmIGZlYXR1cmVzKTsK
IAogICAgIC8vIFJldHVybnMgdGhlIG93bmluZyBlbGVtZW50IGluIHRoZSBwYXJlbnQgZG9jdW1l
bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDMzOTM0NWMuLjMw
MDgwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCkBAIC01Nyw2ICs1
NywxNCBAQCBzdHJ1Y3QgVmlld3BvcnRBdHRyaWJ1dGVzIHsKIAogc3RydWN0IFZpZXdwb3J0QXJn
dW1lbnRzIHsKIAorICAgIGVudW0gVHlwZSB7CisgICAgICAgIC8vIFRoZXNlIGFyZSBvcmRlcmVk
IGluIGluY3JlYXNpbmcgaW1wb3J0YW5jZS4KKyAgICAgICAgSW1wbGljaXQsCisgICAgICAgIEhh
bmRoZWxkRnJpZW5kbHlNZXRhLAorICAgICAgICBNb2JpbGVPcHRpbWl6ZWRNZXRhLAorICAgICAg
ICBWaWV3cG9ydE1ldGEKKyAgICB9IHR5cGU7CisKICAgICBlbnVtIHsKICAgICAgICAgVmFsdWVB
dXRvID0gLTEsCiAgICAgICAgIFZhbHVlRGVza3RvcFdpZHRoID0gLTIsCkBAIC02OSw3ICs3Nywy
MCBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAgIH07CiAKICAgICBWaWV3cG9ydEFy
Z3VtZW50cygpCi0gICAgICAgIDogaW5pdGlhbFNjYWxlKFZhbHVlQXV0bykKKyAgICAgICAgOiB0
eXBlKEltcGxpY2l0KQorICAgICAgICAsIGluaXRpYWxTY2FsZShWYWx1ZUF1dG8pCisgICAgICAg
ICwgbWluaW11bVNjYWxlKFZhbHVlQXV0bykKKyAgICAgICAgLCBtYXhpbXVtU2NhbGUoVmFsdWVB
dXRvKQorICAgICAgICAsIHdpZHRoKFZhbHVlQXV0bykKKyAgICAgICAgLCBoZWlnaHQoVmFsdWVB
dXRvKQorICAgICAgICAsIHRhcmdldERlbnNpdHlEcGkoVmFsdWVBdXRvKQorICAgICAgICAsIHVz
ZXJTY2FsYWJsZShWYWx1ZUF1dG8pCisgICAgeworICAgIH0KKworICAgIFZpZXdwb3J0QXJndW1l
bnRzKFR5cGUgdHlwZSkKKyAgICAgICAgOiB0eXBlKHR5cGUpCisgICAgICAgICwgaW5pdGlhbFNj
YWxlKFZhbHVlQXV0bykKICAgICAgICAgLCBtaW5pbXVtU2NhbGUoVmFsdWVBdXRvKQogICAgICAg
ICAsIG1heGltdW1TY2FsZShWYWx1ZUF1dG8pCiAgICAgICAgICwgd2lkdGgoVmFsdWVBdXRvKQpA
QCAtODksNyArMTEwLDEwIEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgYm9vbCB1
c2VyU2NhbGFibGU7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgVmlld3BvcnRBcmd1bWVu
dHMmIG90aGVyKSBjb25zdAotICAgIHsKKyAgIHsKKyAgICAgICAgLy8gVXNlZCBmb3IgZmlndXJp
bmcgb3V0IHdoZXRoZXIgdG8gcmVzZXQgdGhlIHZpZXdwb3J0IG9yIG5vdCwKKyAgICAgICAgLy8g
dGh1cyB3ZSBhcmUgbm90IHRha2luZyB0eXBlIGludG8gYWNjb3VudCwgd2hpY2ggaXMgb25seSB1
c2VkCisgICAgICAgIC8vIGZvciBwcmlvcml0aXppbmcuCiAgICAgICAgIHJldHVybiBpbml0aWFs
U2NhbGUgPT0gb3RoZXIuaW5pdGlhbFNjYWxlCiAgICAgICAgICAgICAmJiBtaW5pbXVtU2NhbGUg
PT0gb3RoZXIubWluaW11bVNjYWxlCiAgICAgICAgICAgICAmJiBtYXhpbXVtU2NhbGUgPT0gb3Ro
ZXIubWF4aW11bVNjYWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRh
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAKaW5k
ZXggZTM5NjhhZi4uMDYzYzhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWV0YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50
LmNwcApAQCAtNjksNiArNjksMTAgQEAgdm9pZCBIVE1MTWV0YUVsZW1lbnQ6OnByb2Nlc3MoKQog
CiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUoKSwgInZpZXdwb3J0IikpCiAgICAgICAg
IGRvY3VtZW50KCktPnByb2Nlc3NWaWV3cG9ydChtX2NvbnRlbnQpOworICAgIGVsc2UgaWYgKGVx
dWFsSWdub3JpbmdDYXNlKG5hbWUoKSwgImhhbmRoZWxkZnJpZW5kbHkiKSkKKyAgICAgICAgZG9j
dW1lbnQoKS0+cHJvY2Vzc0hhbmRoZWxkRnJpZW5kbHkobV9jb250ZW50KTsKKyAgICBlbHNlIGlm
IChlcXVhbElnbm9yaW5nQ2FzZShuYW1lKCksICJtb2JpbGVvcHRpbWl6ZWQiKSkKKyAgICAgICAg
ZG9jdW1lbnQoKS0+cHJvY2Vzc01vYmlsZU9wdGltaXplZChtX2NvbnRlbnQpOwogCiAgICAgLy8g
R2V0IHRoZSBkb2N1bWVudCB0byBwcm9jZXNzIHRoZSB0YWcsIGJ1dCBvbmx5IGlmIHdlJ3JlIGFj
dHVhbGx5IHBhcnQgb2YgRE9NIHRyZWUgKGNoYW5naW5nIGEgbWV0YSB0YWcgd2hpbGUKICAgICAv
LyBpdCdzIG5vdCBpbiB0aGUgdHJlZSBzaG91bGRuJ3QgaGF2ZSBhbnkgZWZmZWN0IG9uIHRoZSBk
b2N1bWVudCkKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84942</attachid>
            <date>2011-03-07 06:40:52 -0800</date>
            <delta_ts>2012-05-29 14:46:26 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>0001-Improve-handling-of-legacy-viewport-meta-tags.patch</filename>
            <type>text/plain</type>
            <size>32325</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBlMzQ5ZWQ3YTRhMjBlZmFlYmM2Yjk0MjFiM2UwZmVmMWQwMDNiYTFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBNb24sIDI4IEZlYiAyMDExIDExOjQ1OjU2ICswMTAwClN1YmplY3Q6
IFtQQVRDSF0gSW1wcm92ZSBoYW5kbGluZyBvZiBsZWdhY3kgdmlld3BvcnQgbWV0YSB0YWdzCiBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4NzQKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL1dlYkNvcmU6CgpXZSBub3cgc3VwcG9ydCBNb2JpbGVP
cHRpbWl6ZWQgYW5kIEhhbmRoZWxkRnJpZW5kbHkgYXMgd2VsbC4KCldlIHNldCBpbml0aWFsLXNj
YWxlIHRvIDEuMCBhbmQgd2lkdGggZXF1YWwgdG8gZGV2aWNlLXdpZHRoCmZvciBIYW5kaGVsZEZy
aWVuZGx5IGFuZCBmb3IgTW9iaWxlT3B0aW1pemVkIGlmIHRoZSBjb250ZW50IGFyZ3VtZW50Cmlz
IG1pc3Npbmcgb3IgZXF1YWwgdG8gMC4gVGhpcyBmaXRzIHdpdGggaG93IFdQNyBoYW5kbGVzIGl0
LgoKVGhlIHByaW9yaXRpemluZyBpcyBkb25lIHRoZSBzYW1lIHdheSBhcyBvbiBXaW5kb3dzIFBo
b25lIDc6CgpIYW5kaGVsZEZyaWVuZGx5Ck1vYmlsZU9wdGltaXplZCAob3ZlcnJpZGVzIEhhbmRo
ZWxkRnJpZW5kbHkpClZpZXdwb3J0IChvdmVycmlkZXMgYm90aCBNb2JpbGVPcHRpbWl6ZWQgYW5k
IEhhbmRoZWxkRnJpZW5kbHkpCgpUZXN0czogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
aGFuZGhlbGRmcmllbmRseS5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1tb2JpbGVvcHRpbWl6ZWQtMi5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbAogICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctMS5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy0yLmh0bWwKICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTMuaHRtbAogICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3Jk
ZXJpbmctNC5odG1sCiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy01Lmh0bWwKICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTYu
aHRtbAogICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy5odG1s
CiAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWwKICAg
ICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTkuaHRtbAoKKiBkb20v
RG9jdW1lbnQuY3BwOgooV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NNb2JpbGVPcHRpbWl6ZWQp
OgooV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIYW5kaGVsZEZyaWVuZGx5KToKKFdlYkNvcmU6
OkRvY3VtZW50Ojpwcm9jZXNzVmlld3BvcnQpOgoqIGRvbS9Eb2N1bWVudC5oOgoqIGh0bWwvSFRN
TE1ldGFFbGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxNZXRhRWxlbWVudDo6cHJvY2Vzcyk6CgpM
YXlvdXRUZXN0czoKCkFkZCB0ZXN0cyBhbmQgZXhwZWN0ZWQgcmVzdWx0cy4KCiogZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS1leHBlY3RlZC50eHQ6IEFkZGVk
LgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJpZW5kbHkuaHRtbDog
QWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2Jp
bGVvcHRpbWl6ZWQtMi5odG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1tb2JpbGVvcHRpbWl6ZWQtMy1leHBlY3RlZC50eHQ6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC5odG1sOiBB
ZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS5o
dG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0yLWV4
cGVjdGVkLnR4dDogQWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctMi5odG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
b3JkZXJpbmctMy5odG1sOiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy00Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy01Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LW9yZGVyaW5nLTYtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LWxlZ2FjeS1vcmRlcmluZy02Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtbGVnYWN5LW9yZGVyaW5nLTctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBmYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWw6IEFkZGVkLgoqIGZhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBm
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05Lmh0bWw6IEFkZGVkLgotLS0K
IExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAz
NSArKysrKysrKysrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJpZW5kbHktZXhw
ZWN0ZWQudHh0ICB8ICAgIDIgKwogLi4uL3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVs
ZGZyaWVuZGx5Lmh0bWwgfCAgIDEzICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9w
dGltaXplZC0yLWV4cGVjdGVkLnR4dCB8ICAgIDIgKwogLi4uL3ZpZXdwb3J0LWxlZ2FjeS1tb2Jp
bGVvcHRpbWl6ZWQtMi5odG1sICAgICAgICAgfCAgIDEzICsrKysrCiAuLi4vdmlld3BvcnQtbGVn
YWN5LW1vYmlsZW9wdGltaXplZC0zLWV4cGVjdGVkLnR4dCB8ICAgIDIgKwogLi4uL3ZpZXdwb3J0
LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1sICAgICAgICAgfCAgIDEzICsrKysrCiAuLi4v
dmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC1leHBlY3RlZC50eHQgICB8ICAgIDIgKwog
Li4uL3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbCAgfCAgIDEz
ICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEtZXhwZWN0ZWQudHh0ICAgICAg
ICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEu
aHRtbCAgfCAgIDE0ICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTItZXhwZWN0
ZWQudHh0ICAgICAgICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTIuaHRtbCAgfCAgIDE0ICsrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVy
aW5nLTMtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMuaHRtbCAgfCAgIDE0ICsrKysrCiAuLi4vZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNC5odG1sICB8ICAgMTQgKysrKysKIC4uLi92
aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS1leHBlY3RlZC50eHQgICAgICAgIHwgICAgMiArCiAu
Li4vZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS5odG1sICB8ICAgMTQg
KysrKysKIC4uLi92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi1leHBlY3RlZC50eHQgICAgICAg
IHwgICAgMiArCiAuLi4vZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5o
dG1sICB8ICAgMTQgKysrKysKIC4uLi92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy1leHBlY3Rl
ZC50eHQgICAgICAgIHwgICAgMyArCiAuLi4vZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
b3JkZXJpbmctNy5odG1sICB8ICAgMTUgKysrKysrCiAuLi4vdmlld3BvcnQtbGVnYWN5LW9yZGVy
aW5nLTgtZXhwZWN0ZWQudHh0ICAgICAgICB8ICAgIDMgKwogLi4uL2Zhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW9yZGVyaW5nLTguaHRtbCAgfCAgIDE1ICsrKysrKwogLi4uL3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy05LWV4cGVjdGVkLnR4dCAgICAgICAgfCAgICAzICsKIC4uLi9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05Lmh0bWwgIHwgICAxNSArKysrKysK
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0
MSArKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgICAgICAg
ICAgICAgICAgICAgIHwgICA1MyArKysrKysrKysrKysrKysrKysrLQogU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmggICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIFNvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oICAgICAgICAgICAgIHwgICAyNiArKysrKysrKyst
CiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAgICAgICAgICAgICB8ICAg
IDQgKysKIDMxIGZpbGVzIGNoYW5nZWQsIDM3MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQt
bGVnYWN5LWhhbmRoZWxkZnJpZW5kbHktZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRs
eS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTItZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAx
MDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0
aW1pemVkLTIuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3Bv
cnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLWV4cGVjdGVkLnR4dAogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1v
YmlsZW9wdGltaXplZC0zLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtZXhwZWN0ZWQudHh0CiBj
cmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdh
Y3ktbW9iaWxlb3B0aW1pemVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLWV4cGVjdGVkLnR4dAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTEuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTItZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctMi5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0zLmh0
bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy00Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01LWV4cGVjdGVkLnR4dAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTYtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9k
ZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctNi5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03Lmh0
bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy04LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTguaHRtbAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTktZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOS5odG1sCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNj
NTM2NTYuLjk0ODNiNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0MCBAQAogMjAxMS0wMy0wNyAgS2VubmV0
aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wcm92ZSBoYW5kbGluZyBvZiBs
ZWdhY3kgdmlld3BvcnQgbWV0YSB0YWdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01NTg3NAorCisgICAgICAgIEFkZCB0ZXN0cyBhbmQgZXhwZWN0ZWQg
cmVzdWx0cy4KKworICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LWhhbmRo
ZWxkZnJpZW5kbHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVsZGZyaWVuZGx5Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0yLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9i
aWxlb3B0aW1pemVkLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVv
cHRpbWl6ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3Zp
ZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtbGVnYWN5LW9yZGVyaW5nLTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy01LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3kt
b3JkZXJpbmctNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92
aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
OS5odG1sOiBBZGRlZC4KKworMjAxMS0wMy0wNyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4g
IDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKICAgICAgICAgVW5yZXZpZXdlZC4KIAogICAgICAgICBB
ZGQgZXhwZWN0ZWQgcmVzdWx0cyB0byB0aGUgbmV3IHZpZXdwb3J0IHRlc3RzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVsZGZyaWVu
ZGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LWhhbmRoZWxkZnJpZW5kbHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjUwZGE5NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVsZGZyaWVuZGx5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIgQEAKK3ZpZXdwb3J0IHNpemUgMzIweDM1MiBzY2FsZSAxLjAwMDAwMCB3aXRo
IGxpbWl0cyBbMS4wMDAwMDAsIDUuMDAwMDAwXQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVsZGZyaWVuZGx5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVsZGZyaWVuZGx5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU0ODEwNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LWhhbmRo
ZWxkZnJpZW5kbHkuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aGVhZD4KKyAgICA8dGl0bGU+SGFu
ZGhlbGRGcmllbmRseSBNZXRhIHdpdGggInRydWUiLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0i
SGFuZGhlbGRGcmllbmRseSIgY29udGVudD0idHJ1ZSI+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
ZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRp
b25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1t
b2JpbGVvcHRpbWl6ZWQtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBkYTk0OAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0y
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3ZpZXdwb3J0IHNpemUgMzIweDM1MiBzY2Fs
ZSAxLjAwMDAwMCB3aXRoIGxpbWl0cyBbMS4wMDAwMDAsIDUuMDAwMDAwXQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6
ZWQtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9i
aWxlb3B0aW1pemVkLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k
NmNmMGU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTIuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aGVh
ZD4KKyAgICA8dGl0bGU+TW9iaWxlT3B0aW1pemVkIE1ldGEgd2l0aCAiMCIuPC90aXRsZT4KKyAg
ICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjAiPgorICAgIDxzY3JpcHQ+
CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBD
b25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViN2U4YzYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVv
cHRpbWl6ZWQtMy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9ydCBzaXplIDQ4
MHg1Mjggc2NhbGUgMS4wMDAwMDAgd2l0aCBsaW1pdHMgWzAuNjY2NjY3LCA1LjAwMDAwMF0KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9i
aWxlb3B0aW1pemVkLTMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQt
bGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZDA1NjY0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLmh0bWwKQEAgLTAsMCArMSwx
MyBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmlsZU9wdGltaXplZCBNZXRhIHdpdGggIjQ4MCIu
PC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjQ4MCI+
CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAs
IDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGRhOTQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdh
Y3ktbW9iaWxlb3B0aW1pemVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3ZpZXdwb3J0
IHNpemUgMzIweDM1MiBzY2FsZSAxLjAwMDAwMCB3aXRoIGxpbWl0cyBbMS4wMDAwMDAsIDUuMDAw
MDAwXQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjEwZmMzMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbApAQCAtMCwwICsx
LDEzIEBACis8aGVhZD4KKyAgICA8dGl0bGU+TW9iaWxlT3B0aW1pemVkIE1ldGEgd2l0aG91dCBj
b250ZW50Ii48L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9Ik1vYmlsZU9wdGltaXplZCIgY29udGVu
dD0iIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KDE2MCwgMzIwLCA0ODAs
IDMyMCwgMzUyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjliNDhiMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM6IFZpZXdwb3J0IHdpZHRoIG9yIGhlaWdodCBzZXQgdG8gcGh5c2ljYWwgZGV2aWNlIHdp
ZHRoLCB0cnkgdXNpbmcgImRldmljZS13aWR0aCIgY29uc3RhbnQgaW5zdGVhZCBmb3IgZnV0dXJl
IGNvbXBhdGliaWxpdHkuCit2aWV3cG9ydCBzaXplIDMwMHgzMzAgc2NhbGUgMS4wNjY2Njcgd2l0
aCBsaW1pdHMgWzEuMDY2NjY3LCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhY2NhNTgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLmh0bWwK
QEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+CisgICAgPHRpdGxlPlZpZXdwb3J0LCBIYW5kaGVsZEZy
aWVuZGx5IE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9MzAwIj4KKyAgICA8bWV0YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0
cnVlIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KDE2MCwgMzIwLCA0ODAs
IDMyMCwgMzUyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I2MWFhNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDQ6IFZpZXdwb3J0IHdpZHRoIG9yIGhlaWdodCBzZXQgdG8gcGh5c2ljYWwgZGV2aWNlIHdp
ZHRoLCB0cnkgdXNpbmcgImRldmljZS13aWR0aCIgY29uc3RhbnQgaW5zdGVhZCBmb3IgZnV0dXJl
IGNvbXBhdGliaWxpdHkuCit2aWV3cG9ydCBzaXplIDMwMHgzMzAgc2NhbGUgMS4wNjY2Njcgd2l0
aCBsaW1pdHMgWzEuMDY2NjY3LCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkMzI2NjIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0yLmh0bWwK
QEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+CisgICAgPHRpdGxlPkhhbmRoZWxkRnJpZW5kbHksIFZp
ZXdwb3J0IE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBj
b250ZW50PSJ0cnVlIj4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
MzAwIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KDE2MCwgMzIwLCA0ODAs
IDMyMCwgMzUyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjliNDhiMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDM6IFZpZXdwb3J0IHdpZHRoIG9yIGhlaWdodCBzZXQgdG8gcGh5c2ljYWwgZGV2aWNlIHdp
ZHRoLCB0cnkgdXNpbmcgImRldmljZS13aWR0aCIgY29uc3RhbnQgaW5zdGVhZCBmb3IgZnV0dXJl
IGNvbXBhdGliaWxpdHkuCit2aWV3cG9ydCBzaXplIDMwMHgzMzAgc2NhbGUgMS4wNjY2Njcgd2l0
aCBsaW1pdHMgWzEuMDY2NjY3LCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYTY3YzMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0zLmh0bWwK
QEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+CisgICAgPHRpdGxlPlZpZXdwb3J0LCBNb2JpbGVPcHRp
bWl6ZWQgTWV0YS48L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD0zMDAiPgorICAgIDxtZXRhIG5hbWU9Ik1vYmlsZU9wdGltaXplZCIgY29udGVudD0iMTc2
Ij4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KDE2MCwgMzIwLCA0ODAsIDMy
MCwgMzUyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmE5MDI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNC5odG1sCkBAIC0w
LDAgKzEsMTQgQEAKKzxoZWFkPgorICAgIDx0aXRsZT5Nb2JpbGVPcHRpbWl6ZWQsIFZpZXdwb3J0
IE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9
IjE3NiI+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTMwMCI+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAsIDM1
Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdw
b3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViN2U4YzYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3ZpZXdwb3J0IHNpemUgNDgweDUyOCBzY2Fs
ZSAxLjAwMDAwMCB3aXRoIGxpbWl0cyBbMC42NjY2NjcsIDUuMDAwMDAwXQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRkOWZiMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTUuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aGVhZD4KKyAgICA8dGl0bGU+SGFuZGhl
bGRGcmllbmRseSwgTW9iaWxlT3B0aW1pemVkIE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1l
PSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0cnVlIj4KKyAgICA8bWV0YSBuYW1lPSJNb2Jp
bGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjQ4MCI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rp
b24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JW
aWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy02LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LW9yZGVyaW5nLTYtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmViN2U4YzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdw
b3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIg
QEAKK3ZpZXdwb3J0IHNpemUgNDgweDUyOCBzY2FsZSAxLjAwMDAwMCB3aXRoIGxpbWl0cyBbMC42
NjY2NjcsIDUuMDAwMDAwXQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdw
b3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYWFlMTM2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTYuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8aGVhZD4KKyAgICA8dGl0bGU+TW9iaWxlT3B0aW1pemVkLCBIYW5kaGVsZEZyaWVuZGx5
IE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9
IjQ4MCI+CisgICAgPG1ldGEgbmFtZT0iSGFuZGhlbGRGcmllbmRseSIgY29udGVudD0idHJ1ZSI+
CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAs
IDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5YjQ4YjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy03LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAz
OiBWaWV3cG9ydCB3aWR0aCBvciBoZWlnaHQgc2V0IHRvIHBoeXNpY2FsIGRldmljZSB3aWR0aCwg
dHJ5IHVzaW5nICJkZXZpY2Utd2lkdGgiIGNvbnN0YW50IGluc3RlYWQgZm9yIGZ1dHVyZSBjb21w
YXRpYmlsaXR5Lgordmlld3BvcnQgc2l6ZSAzMDB4MzMwIHNjYWxlIDEuMDY2NjY3IHdpdGggbGlt
aXRzIFsxLjA2NjY2NywgNS4wMDAwMDBdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTcuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTZjN2U2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy5odG1sCkBAIC0w
LDAgKzEsMTUgQEAKKzxoZWFkPgorICAgIDx0aXRsZT5WaWV3cG9ydCwgTW9iaWxlT3B0aW1pemVk
LCBIYW5kaGVsZEZyaWVuZGx5IE1ldGEuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGggPSAzMDAiPgorICAgIDxtZXRhIG5hbWU9Ik1vYmlsZU9wdGltaXpl
ZCIgY29udGVudD0iNDgwIj4KKyAgICA8bWV0YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250
ZW50PSJ0cnVlIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAg
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KDE2MCwgMzIw
LCA0ODAsIDMyMCwgMzUyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I2MWFhNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LW9yZGVyaW5nLTgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDQ6IFZpZXdwb3J0IHdpZHRoIG9yIGhlaWdodCBzZXQgdG8gcGh5c2ljYWwgZGV2
aWNlIHdpZHRoLCB0cnkgdXNpbmcgImRldmljZS13aWR0aCIgY29uc3RhbnQgaW5zdGVhZCBmb3Ig
ZnV0dXJlIGNvbXBhdGliaWxpdHkuCit2aWV3cG9ydCBzaXplIDMwMHgzMzAgc2NhbGUgMS4wNjY2
Njcgd2l0aCBsaW1pdHMgWzEuMDY2NjY3LCA1LjAwMDAwMF0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViOThiZjEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04
Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmlsZU9wdGltaXpl
ZCwgVmlld3BvcnQsIEhhbmRoZWxkRnJpZW5kbHkgTWV0YS48L3RpdGxlPgorICAgIDxtZXRhIG5h
bWU9Ik1vYmlsZU9wdGltaXplZCIgY29udGVudD0iNDgwIj4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGggPSAzMDAiPgorICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJp
ZW5kbHkiIGNvbnRlbnQ9InRydWUiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3Bv
cnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy05LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li4zZjk1ZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgNTogVmlld3BvcnQgd2lkdGggb3IgaGVpZ2h0IHNldCB0byBw
aHlzaWNhbCBkZXZpY2Ugd2lkdGgsIHRyeSB1c2luZyAiZGV2aWNlLXdpZHRoIiBjb25zdGFudCBp
bnN0ZWFkIGZvciBmdXR1cmUgY29tcGF0aWJpbGl0eS4KK3ZpZXdwb3J0IHNpemUgMzAweDMzMCBz
Y2FsZSAxLjA2NjY2NyB3aXRoIGxpbWl0cyBbMS4wNjY2NjcsIDUuMDAwMDAwXQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmlu
Zy05Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNhNzA0MAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTkuaHRtbApAQCAtMCwwICsxLDE1IEBACis8aGVhZD4KKyAgICA8dGl0bGU+TW9i
aWxlT3B0aW1pemVkLCBIYW5kaGVsZEZyaWVuZGx5LCBWaWV3cG9ydCBNZXRhLjwvdGl0bGU+Cisg
ICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50PSI0ODAiPgorICAgIDxtZXRh
IG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9InRydWUiPgorICAgIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aCA9IDMwMCI+CisgICAgPHNjcmlwdD4KKyAgICAgICAg
ZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRp
b25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNzViZGI1OS4uYTIwY2M2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0
IEBACisyMDExLTAzLTA3ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXByb3ZlIGhhbmRsaW5nIG9mIGxlZ2FjeSB2aWV3cG9ydCBtZXRhIHRhZ3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1ODc0CisKKyAgICAgICAg
V2Ugbm93IHN1cHBvcnQgTW9iaWxlT3B0aW1pemVkIGFuZCBIYW5kaGVsZEZyaWVuZGx5IGFzIHdl
bGwuCisKKyAgICAgICAgV2Ugc2V0IGluaXRpYWwtc2NhbGUgdG8gMS4wIGFuZCB3aWR0aCBlcXVh
bCB0byBkZXZpY2Utd2lkdGgKKyAgICAgICAgZm9yIEhhbmRoZWxkRnJpZW5kbHkgYW5kIGZvciBN
b2JpbGVPcHRpbWl6ZWQgaWYgdGhlIGNvbnRlbnQgYXJndW1lbnQKKyAgICAgICAgaXMgbWlzc2lu
ZyBvciBlcXVhbCB0byAwLiBUaGlzIGZpdHMgd2l0aCBob3cgV1A3IGhhbmRsZXMgaXQuCisKKyAg
ICAgICAgVGhlIHByaW9yaXRpemluZyBpcyBkb25lIHRoZSBzYW1lIHdheSBhcyBvbiBXaW5kb3dz
IFBob25lIDc6CisKKyAgICAgICAgSGFuZGhlbGRGcmllbmRseQorICAgICAgICBNb2JpbGVPcHRp
bWl6ZWQgKG92ZXJyaWRlcyBIYW5kaGVsZEZyaWVuZGx5KQorICAgICAgICBWaWV3cG9ydCAob3Zl
cnJpZGVzIGJvdGggTW9iaWxlT3B0aW1pemVkIGFuZCBIYW5kaGVsZEZyaWVuZGx5KQorCisgICAg
ICAgIFRlc3RzOiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1oYW5kaGVsZGZyaWVuZGx5
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmls
ZW9wdGltaXplZC0yLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQt
bGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3Bv
cnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTIuaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy00Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5n
LTUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3Jk
ZXJpbmctNi5odG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1vcmRlcmluZy03Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQt
bGVnYWN5LW9yZGVyaW5nLTguaHRtbAorICAgICAgICAgICAgICAgZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktb3JkZXJpbmctOS5odG1sCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NNb2JpbGVPcHRpbWl6ZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnByb2Nlc3NIYW5kaGVsZEZyaWVuZGx5KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzVmlld3BvcnQpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTE1ldGFFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNZXRhRWxlbWVudDo6cHJvY2Vzcyk6CisKIDIwMTEtMDMtMDcgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9s
aXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggOGQxMDExYy4uZDg0NzJiNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0yNzA3LDExICsyNzA3LDYyIEBAIHZvaWQgRG9j
dW1lbnQ6OnByb2Nlc3NBcmd1bWVudHMoY29uc3QgU3RyaW5nJiBmZWF0dXJlcywgdm9pZCogZGF0
YSwgQXJndW1lbnRzQ2FsCiAgICAgfQogfQogCit2b2lkIERvY3VtZW50Ojpwcm9jZXNzTW9iaWxl
T3B0aW1pemVkKGNvbnN0IFN0cmluZyYgZmVhdHVyZXMpCit7CisgICAgc3RhdGljIFZpZXdwb3J0
QXJndW1lbnRzOjpUeXBlIHR5cGUgPSBWaWV3cG9ydEFyZ3VtZW50czo6TW9iaWxlT3B0aW1pemVk
TWV0YTsKKworICAgIC8vIE9ubHkgb3ZlcnJpZGUgaWYgc2FtZSB0eXBlLCBvciBpZiBuZXcgdHlw
ZSBoYXMgaGlnaGVyIHByaW9yaXR5LgorICAgIGlmIChtX3ZpZXdwb3J0QXJndW1lbnRzLnR5cGUg
PiB0eXBlKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3ZpZXdwb3J0QXJndW1lbnRzID0gVmll
d3BvcnRBcmd1bWVudHModHlwZSk7CisgICAgbV92aWV3cG9ydEFyZ3VtZW50cy5pbml0aWFsU2Nh
bGUgPSAxLjA7CisKKyAgICBib29sIG9rOworICAgIG1fdmlld3BvcnRBcmd1bWVudHMud2lkdGgg
PSBmZWF0dXJlcy50b0Zsb2F0KCZvayk7CisKKyAgICAvLyBBbiBhYnNlbnQgdmFsdWUgb3IgYSB2
YWx1ZSBvZiAwIG1lYW5zIHRoYXQgdGhlIHBhZ2Ugd2lkdGggaXMgdGhlIHNhbWUgYXMKKyAgICAv
LyB0aGUgc2l6ZSBvZiB0aGUgc2NyZWVuLiBXZSBoYW5kbGUgaW52YWxpZCB2YWx1ZXMgdGhlIHNh
bWUgd2F5LgorICAgIGlmIChmZWF0dXJlcy5pc0VtcHR5KCkgfHwgZmVhdHVyZXMgPT0gIjAiIHx8
ICFvaykKKyAgICAgICAgbV92aWV3cG9ydEFyZ3VtZW50cy53aWR0aCA9IFZpZXdwb3J0QXJndW1l
bnRzOjpWYWx1ZURldmljZVdpZHRoOworCisgICAgRnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUo
KTsKKyAgICBpZiAoIWZyYW1lIHx8ICFmcmFtZS0+cGFnZSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICBmcmFtZS0+cGFnZSgpLT51cGRhdGVWaWV3cG9ydEFyZ3VtZW50cygpOworfQorCit2b2lk
IERvY3VtZW50Ojpwcm9jZXNzSGFuZGhlbGRGcmllbmRseShjb25zdCBTdHJpbmcmIGZlYXR1cmVz
KQoreworICAgIHN0YXRpYyBWaWV3cG9ydEFyZ3VtZW50czo6VHlwZSB0eXBlID0gVmlld3BvcnRB
cmd1bWVudHM6OkhhbmRoZWxkRnJpZW5kbHlNZXRhOworICAgIEFTU0VSVCghZmVhdHVyZXMuaXNO
dWxsKCkpOworCisgICAgLy8gT25seSBvdmVycmlkZSBpZiBzYW1lIHR5cGUsIG9yIGlmIG5ldyB0
eXBlIGhhcyBoaWdoZXIgcHJpb3JpdHkuCisgICAgaWYgKCFlcXVhbElnbm9yaW5nQ2FzZShmZWF0
dXJlcywgInRydWUiKSB8fCBtX3ZpZXdwb3J0QXJndW1lbnRzLnR5cGUgPiB0eXBlKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX3ZpZXdwb3J0QXJndW1lbnRzID0gVmlld3BvcnRBcmd1bWVudHMo
dHlwZSk7CisgICAgbV92aWV3cG9ydEFyZ3VtZW50cy5pbml0aWFsU2NhbGUgPSAxLjA7CisgICAg
bV92aWV3cG9ydEFyZ3VtZW50cy53aWR0aCA9IFZpZXdwb3J0QXJndW1lbnRzOjpWYWx1ZURldmlj
ZVdpZHRoOworCisgICAgRnJhbWUqIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKKyAgICBpZiAoIWZy
YW1lIHx8ICFmcmFtZS0+cGFnZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBmcmFtZS0+cGFn
ZSgpLT51cGRhdGVWaWV3cG9ydEFyZ3VtZW50cygpOworfQorCiB2b2lkIERvY3VtZW50Ojpwcm9j
ZXNzVmlld3BvcnQoY29uc3QgU3RyaW5nJiBmZWF0dXJlcykKIHsKKyAgICBzdGF0aWMgVmlld3Bv
cnRBcmd1bWVudHM6OlR5cGUgdHlwZSA9IFZpZXdwb3J0QXJndW1lbnRzOjpWaWV3cG9ydE1ldGE7
CiAgICAgQVNTRVJUKCFmZWF0dXJlcy5pc051bGwoKSk7CiAKLSAgICBtX3ZpZXdwb3J0QXJndW1l
bnRzID0gVmlld3BvcnRBcmd1bWVudHMoKTsKKyAgICAvLyBPbmx5IG92ZXJyaWRlIGlmIHNhbWUg
dHlwZSwgb3IgaWYgbmV3IHR5cGUgaGFzIGhpZ2hlciBwcmlvcml0eS4KKyAgICBpZiAobV92aWV3
cG9ydEFyZ3VtZW50cy50eXBlID4gdHlwZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV92aWV3
cG9ydEFyZ3VtZW50cyA9IFZpZXdwb3J0QXJndW1lbnRzKHR5cGUpOwogICAgIHByb2Nlc3NBcmd1
bWVudHMoZmVhdHVyZXMsICh2b2lkKikmbV92aWV3cG9ydEFyZ3VtZW50cywgJnNldFZpZXdwb3J0
RmVhdHVyZSk7CiAKICAgICBGcmFtZSogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCBkYjA0Y2MxLi5hNjViYzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
ODA1LDYgKzgwNSw4IEBAIHB1YmxpYzoKICAgICAgKiBAcGFyYW0gY29udGVudCBUaGUgaGVhZGVy
IHZhbHVlICh2YWx1ZSBvZiB0aGUgbWV0YSB0YWcncyAiY29udGVudCIgYXR0cmlidXRlKQogICAg
ICAqLwogICAgIHZvaWQgcHJvY2Vzc0h0dHBFcXVpdihjb25zdCBTdHJpbmcmIGVxdWl2LCBjb25z
dCBTdHJpbmcmIGNvbnRlbnQpOworICAgIHZvaWQgcHJvY2Vzc0hhbmRoZWxkRnJpZW5kbHkoY29u
c3QgU3RyaW5nJiBmZWF0dXJlcyk7CisgICAgdm9pZCBwcm9jZXNzTW9iaWxlT3B0aW1pemVkKGNv
bnN0IFN0cmluZyYgZmVhdHVyZXMpOwogICAgIHZvaWQgcHJvY2Vzc1ZpZXdwb3J0KGNvbnN0IFN0
cmluZyYgZmVhdHVyZXMpOwogCiAgICAgLy8gUmV0dXJucyB0aGUgb3duaW5nIGVsZW1lbnQgaW4g
dGhlIHBhcmVudCBkb2N1bWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3
cG9ydEFyZ3VtZW50cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgK
aW5kZXggMzM5MzQ1Yy4uODAyZDJhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Zp
ZXdwb3J0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1l
bnRzLmgKQEAgLTU3LDYgKzU3LDE0IEBAIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0ZXMgewogCiBz
dHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogCisgICAgZW51bSBUeXBlIHsKKyAgICAgICAgLy8g
VGhlc2UgYXJlIG9yZGVyZWQgaW4gaW5jcmVhc2luZyBpbXBvcnRhbmNlLgorICAgICAgICBJbXBs
aWNpdCwKKyAgICAgICAgSGFuZGhlbGRGcmllbmRseU1ldGEsCisgICAgICAgIE1vYmlsZU9wdGlt
aXplZE1ldGEsCisgICAgICAgIFZpZXdwb3J0TWV0YQorICAgIH0gdHlwZTsKKwogICAgIGVudW0g
ewogICAgICAgICBWYWx1ZUF1dG8gPSAtMSwKICAgICAgICAgVmFsdWVEZXNrdG9wV2lkdGggPSAt
MiwKQEAgLTY5LDcgKzc3LDIwIEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgfTsK
IAogICAgIFZpZXdwb3J0QXJndW1lbnRzKCkKLSAgICAgICAgOiBpbml0aWFsU2NhbGUoVmFsdWVB
dXRvKQorICAgICAgICA6IHR5cGUoSW1wbGljaXQpCisgICAgICAgICwgaW5pdGlhbFNjYWxlKFZh
bHVlQXV0bykKKyAgICAgICAgLCBtaW5pbXVtU2NhbGUoVmFsdWVBdXRvKQorICAgICAgICAsIG1h
eGltdW1TY2FsZShWYWx1ZUF1dG8pCisgICAgICAgICwgd2lkdGgoVmFsdWVBdXRvKQorICAgICAg
ICAsIGhlaWdodChWYWx1ZUF1dG8pCisgICAgICAgICwgdGFyZ2V0RGVuc2l0eURwaShWYWx1ZUF1
dG8pCisgICAgICAgICwgdXNlclNjYWxhYmxlKFZhbHVlQXV0bykKKyAgICB7CisgICAgfQorCisg
ICAgVmlld3BvcnRBcmd1bWVudHMoVHlwZSB0eXBlKQorICAgICAgICA6IHR5cGUodHlwZSkKKyAg
ICAgICAgLCBpbml0aWFsU2NhbGUoVmFsdWVBdXRvKQogICAgICAgICAsIG1pbmltdW1TY2FsZShW
YWx1ZUF1dG8pCiAgICAgICAgICwgbWF4aW11bVNjYWxlKFZhbHVlQXV0bykKICAgICAgICAgLCB3
aWR0aChWYWx1ZUF1dG8pCkBAIC05MCw2ICsxMTEsOSBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVu
dHMgewogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFZpZXdwb3J0QXJndW1lbnRzJiBvdGhl
cikgY29uc3QKICAgICB7CisgICAgICAgIC8vIFVzZWQgZm9yIGZpZ3VyaW5nIG91dCB3aGV0aGVy
IHRvIHJlc2V0IHRoZSB2aWV3cG9ydCBvciBub3QsCisgICAgICAgIC8vIHRodXMgd2UgYXJlIG5v
dCB0YWtpbmcgdHlwZSBpbnRvIGFjY291bnQsIHdoaWNoIGlzIG9ubHkgdXNlZAorICAgICAgICAv
LyBmb3IgcHJpb3JpdGl6aW5nLgogICAgICAgICByZXR1cm4gaW5pdGlhbFNjYWxlID09IG90aGVy
LmluaXRpYWxTY2FsZQogICAgICAgICAgICAgJiYgbWluaW11bVNjYWxlID09IG90aGVyLm1pbmlt
dW1TY2FsZQogICAgICAgICAgICAgJiYgbWF4aW11bVNjYWxlID09IG90aGVyLm1heGltdW1TY2Fs
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCmluZGV4IGUzOTY4YWYuLjA2
M2M4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5jcHAKQEAgLTY5LDYg
KzY5LDEwIEBAIHZvaWQgSFRNTE1ldGFFbGVtZW50Ojpwcm9jZXNzKCkKIAogICAgIGlmIChlcXVh
bElnbm9yaW5nQ2FzZShuYW1lKCksICJ2aWV3cG9ydCIpKQogICAgICAgICBkb2N1bWVudCgpLT5w
cm9jZXNzVmlld3BvcnQobV9jb250ZW50KTsKKyAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lKCksICJoYW5kaGVsZGZyaWVuZGx5IikpCisgICAgICAgIGRvY3VtZW50KCktPnByb2Nl
c3NIYW5kaGVsZEZyaWVuZGx5KG1fY29udGVudCk7CisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UobmFtZSgpLCAibW9iaWxlb3B0aW1pemVkIikpCisgICAgICAgIGRvY3VtZW50KCktPnBy
b2Nlc3NNb2JpbGVPcHRpbWl6ZWQobV9jb250ZW50KTsKIAogICAgIC8vIEdldCB0aGUgZG9jdW1l
bnQgdG8gcHJvY2VzcyB0aGUgdGFnLCBidXQgb25seSBpZiB3ZSdyZSBhY3R1YWxseSBwYXJ0IG9m
IERPTSB0cmVlIChjaGFuZ2luZyBhIG1ldGEgdGFnIHdoaWxlCiAgICAgLy8gaXQncyBub3QgaW4g
dGhlIHRyZWUgc2hvdWxkbid0IGhhdmUgYW55IGVmZmVjdCBvbiB0aGUgZG9jdW1lbnQpCi0tIAox
LjcuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144626</attachid>
            <date>2012-05-29 14:46:34 -0700</date>
            <delta_ts>2012-06-01 11:24:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55874-20120529184627.patch</filename>
            <type>text/plain</type>
            <size>25592</size>
            <attacher name="Hugo Parente Lima">hugo.lima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlhNDUyMWJlMmY5MjEx
MjlmOWRmYzkyYjQxYmQzOTU5NDM2OWJiNS4uMWIwYThiZmYxZTRhNTQ5YWZmZGFlNWQxZDVmYmRj
Yzg5ZmMwMjE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA1LTI5ICBIdWdv
IFBhcmVudGUgTGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcHJv
dmUgaGFuZGxpbmcgb2YgbGVnYWN5IHZpZXdwb3J0IG1ldGEgdGFncworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU4NzQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBub3cgc3VwcG9ydCBNb2JpbGVPcHRp
bWl6ZWQgYW5kIEhhbmRoZWxkRnJpZW5kbHkgYXMgd2VsbC4KKworICAgICAgICBXZSBzZXQgd2lk
dGggZXF1YWwgdG8gZGV2aWNlLXdpZHRoIGZvciBIYW5kaGVsZEZyaWVuZGx5IGFuZAorICAgICAg
ICBmb3IgTW9iaWxlT3B0aW1pemVkLCB0aGUgY29udGVudCB2YWx1ZSBvZiBNb2JpbGVPcHRpbWl6
ZWQgaXMKKyAgICAgICAgaWdub3JlZCBhbmQgdGhlIGluaXRpYWwtc2NhbGUgc2V0IHRvIDEgdG8g
Zml0IEFuZHJvaWQgYmVoYXZpb3IuCisKKyAgICAgICAgVGhlIHByaW9yaXRpemluZyBpcyBkb25l
IHRoZSBzYW1lIHdheSBhcyBvbiBXaW5kb3dzIFBob25lIDc6CisKKyAgICAgICAgWEhUTUwgTW9i
aWxlIFByb2ZpbGUgZm91bmQKKyAgICAgICAgSGFuZGhlbGRGcmllbmRseQorICAgICAgICBNb2Jp
bGVPcHRpbWl6ZWQgKG92ZXJyaWRlcyBIYW5kaGVsZEZyaWVuZGx5KQorICAgICAgICBWaWV3cG9y
dCAob3ZlcnJpZGVzIGFsbCBhYm92ZSkKKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBieSBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KKworICAgICAgICBUZXN0czogZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS5odG1sCisgICAgICAgICAgICAgICBmYXN0
L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMi5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVv
cHRpbWl6ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdh
Y3ktb3JkZXJpbmctMS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy0yLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmll
d3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNC5odG1sCisgICAgICAgICAgICAgICBmYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTYuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTkuaHRt
bAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50OjpzZXREb2NUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojpwcm9jZXNzVmll
d3BvcnQpOiBBZGQgYW4gb3JpZ2luIHBhcmFtZXRlciB0bworICAgICAgICB0ZWxsIHdoYXQgaXMg
Y2hhbmdpbmcgdGhlIHZpZXdwb3J0LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAg
ICAoRG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAg
ICAqIGh0bWwvSFRNTE1ldGFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZXRh
RWxlbWVudDo6cHJvY2Vzcyk6CisKIDIwMTItMDUtMjkgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgU3R5bGVQcm9wZXJ0eVNldCBhIHZhcmlhYmxlLXNp
emVkIG9iamVjdCB0byByZWR1Y2UgbWVtb3J5IHVzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IDk0NDc4YTg3M2ZiNWE5OWIyNGQ0NzY4MTM1OWYwNDQ0ZTBiMzFlMDAuLmU5YjYwOGY1ZGUx
YTNjZWNkMGNhMTNjNDkzMGZlMDMwMjMyM2U5ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtNzgyLDcgKzc4Miw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldERvY1R5cGUoUGFzc1JlZlB0cjxE
b2N1bWVudFR5cGU+IGRvY1R5cGUpCiAjaWYgVVNFKExFR0FDWV9WSUVXUE9SVF9BREFQVElPTikK
ICAgICAgICAgQVNTRVJUKG1fdmlld3BvcnRBcmd1bWVudHMudHlwZSA9PSBWaWV3cG9ydEFyZ3Vt
ZW50czo6SW1wbGljaXQpOwogICAgICAgICBpZiAobV9kb2NUeXBlLT5wdWJsaWNJZCgpLnN0YXJ0
c1dpdGgoIi0vL3dhcGZvcnVtLy9kdGQgeGh0bWwgbW9iaWxlIDEuIiwgLyogY2FzZVNlbnNpdGl2
ZSAqLyBmYWxzZSkpCi0gICAgICAgICAgICBwcm9jZXNzVmlld3BvcnQoIndpZHRoPWRldmljZS13
aWR0aCwgaGVpZ2h0PWRldmljZS1oZWlnaHQsIGluaXRpYWwtc2NhbGU9MSIpOworICAgICAgICAg
ICAgcHJvY2Vzc1ZpZXdwb3J0KCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGhlaWdodD1kZXZpY2UtaGVp
Z2h0IiwgVmlld3BvcnRBcmd1bWVudHM6OlhIVE1MTW9iaWxlUHJvZmlsZSk7CiAjZW5kaWYKICAg
ICB9CiAgICAgLy8gRG9jdHlwZSBhZmZlY3RzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgc3R5
bGVzaGVldHMuCkBAIC0zMDM2LDExICszMDM2LDE0IEBAIHZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NB
cmd1bWVudHMoY29uc3QgU3RyaW5nJiBmZWF0dXJlcywgdm9pZCogZGF0YSwgQXJndW1lbnRzQ2Fs
CiAgICAgfQogfQogCi12b2lkIERvY3VtZW50Ojpwcm9jZXNzVmlld3BvcnQoY29uc3QgU3RyaW5n
JiBmZWF0dXJlcykKK3ZvaWQgRG9jdW1lbnQ6OnByb2Nlc3NWaWV3cG9ydChjb25zdCBTdHJpbmcm
IGZlYXR1cmVzLCBWaWV3cG9ydEFyZ3VtZW50czo6VHlwZSBvcmlnaW4pCiB7CiAgICAgQVNTRVJU
KCFmZWF0dXJlcy5pc051bGwoKSk7CiAKLSAgICBtX3ZpZXdwb3J0QXJndW1lbnRzID0gVmlld3Bv
cnRBcmd1bWVudHMoVmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0TWV0YSk7CisgICAgaWYgKG9y
aWdpbiA8IG1fdmlld3BvcnRBcmd1bWVudHMudHlwZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV92aWV3cG9ydEFyZ3VtZW50cyA9IFZpZXdwb3J0QXJndW1lbnRzKG9yaWdpbik7CiAgICAgcHJv
Y2Vzc0FyZ3VtZW50cyhmZWF0dXJlcywgKHZvaWQqKSZtX3ZpZXdwb3J0QXJndW1lbnRzLCAmc2V0
Vmlld3BvcnRGZWF0dXJlKTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0QXJndW1lbnRzKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IDQzYzVmNTc3NGNlNzBmNGQ1NTcxZjBlNzFhMDBlYTgwZTgzNjgx
M2EuLmYzOGExM2YzYmE1YmMwNGIzZjBmYjQzMTdmNGY2OGE0YzJjYjdhNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCkBAIC04MzQsNyArODM0LDcgQEAgcHVibGljOgogICAgICAqIEBwYXJhbSBjb250
ZW50IFRoZSBoZWFkZXIgdmFsdWUgKHZhbHVlIG9mIHRoZSBtZXRhIHRhZydzICJjb250ZW50IiBh
dHRyaWJ1dGUpCiAgICAgICovCiAgICAgdm9pZCBwcm9jZXNzSHR0cEVxdWl2KGNvbnN0IFN0cmlu
ZyYgZXF1aXYsIGNvbnN0IFN0cmluZyYgY29udGVudCk7Ci0gICAgdm9pZCBwcm9jZXNzVmlld3Bv
cnQoY29uc3QgU3RyaW5nJiBmZWF0dXJlcyk7CisgICAgdm9pZCBwcm9jZXNzVmlld3BvcnQoY29u
c3QgU3RyaW5nJiBmZWF0dXJlcywgVmlld3BvcnRBcmd1bWVudHM6OlR5cGUgb3JpZ2luKTsKICAg
ICB2b2lkIHVwZGF0ZVZpZXdwb3J0QXJndW1lbnRzKCk7CiAgICAgdm9pZCBwcm9jZXNzUmVmZXJy
ZXJQb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3kpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9y
dEFyZ3VtZW50cy5oCmluZGV4IDkyZTMxNzJmYTNmOGQzYzU4Yjc0ZTBmYWU0NTUwZjljOWIxNjZi
ODUuLjkzZTNiOGRlMzIxZDg2OWZmY2IwOTZjMWFhODJhNzY2ODg2MjM2MDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCkBAIC01Nyw3ICs1NywxMyBAQCBzdHJ1Y3QgVmll
d3BvcnRBdHRyaWJ1dGVzIHsKIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAKICAgICBlbnVt
IFR5cGUgeworICAgICAgICAvLyBUaGVzZSBhcmUgb3JkZXJlZCBpbiBpbmNyZWFzaW5nIGltcG9y
dGFuY2UuCiAgICAgICAgIEltcGxpY2l0LAorI2lmIFVTRShMRUdBQ1lfVklFV1BPUlRfQURBUFRJ
T04pCisgICAgICAgIFhIVE1MTW9iaWxlUHJvZmlsZSwKKyAgICAgICAgSGFuZGhlbGRGcmllbmRs
eU1ldGEsCisgICAgICAgIE1vYmlsZU9wdGltaXplZE1ldGEsCisjZW5kaWYKICAgICAgICAgVmll
d3BvcnRNZXRhCiAgICAgfSB0eXBlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZXRhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVu
dC5jcHAKaW5kZXggOGQ3YTFhM2EwYzg5OGUwMzczODk4YmQwNjNmMTJkMzExYjM4NzJhYi4uY2Yx
MTRmNjdhYjgzOWM0NGExYTIzNGU3ZDg0MTA5ODM5MDQ0MGE2ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWV0YUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1ldGFFbGVtZW50LmNwcApAQCAtNzIsMTAgKzcyLDE1IEBAIHZvaWQgSFRNTE1ldGFF
bGVtZW50Ojpwcm9jZXNzKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKG5hbWUoKSwgInZpZXdwb3J0IikpCi0gICAgICAgIGRvY3VtZW50KCktPnByb2Nlc3NW
aWV3cG9ydChjb250ZW50VmFsdWUpOwotCi0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUo
KSwgInJlZmVycmVyIikpCisgICAgICAgIGRvY3VtZW50KCktPnByb2Nlc3NWaWV3cG9ydChjb250
ZW50VmFsdWUsIFZpZXdwb3J0QXJndW1lbnRzOjpWaWV3cG9ydE1ldGEpOworICAgIGVsc2UgaWYg
KGVxdWFsSWdub3JpbmdDYXNlKG5hbWUoKSwgInJlZmVycmVyIikpCiAgICAgICAgIGRvY3VtZW50
KCktPnByb2Nlc3NSZWZlcnJlclBvbGljeShjb250ZW50VmFsdWUpOworI2lmIFVTRShMRUdBQ1lf
VklFV1BPUlRfQURBUFRJT04pCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSgp
LCAiaGFuZGhlbGRmcmllbmRseSIpICYmIGVxdWFsSWdub3JpbmdDYXNlKGNvbnRlbnRWYWx1ZSwg
InRydWUiKSkKKyAgICAgICAgZG9jdW1lbnQoKS0+cHJvY2Vzc1ZpZXdwb3J0KCJ3aWR0aD1kZXZp
Y2Utd2lkdGgiLCBWaWV3cG9ydEFyZ3VtZW50czo6SGFuZGhlbGRGcmllbmRseU1ldGEpOworICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUoKSwgIm1vYmlsZW9wdGltaXplZCIpKQor
ICAgICAgICBkb2N1bWVudCgpLT5wcm9jZXNzVmlld3BvcnQoIndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIiwgVmlld3BvcnRBcmd1bWVudHM6Ok1vYmlsZU9wdGltaXplZE1ldGEp
OworI2VuZGlmCiAKICAgICAvLyBHZXQgdGhlIGRvY3VtZW50IHRvIHByb2Nlc3MgdGhlIHRhZywg
YnV0IG9ubHkgaWYgd2UncmUgYWN0dWFsbHkgcGFydCBvZiBET00gdHJlZSAoY2hhbmdpbmcgYSBt
ZXRhIHRhZyB3aGlsZQogICAgIC8vIGl0J3Mgbm90IGluIHRoZSB0cmVlIHNob3VsZG4ndCBoYXZl
IGFueSBlZmZlY3Qgb24gdGhlIGRvY3VtZW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRmMDMzNjU3ZTlkMTE4MjdiMjg1
NDYxYWQ0N2MyZWZmMGZjYTg1N2MuLjcxMWM2YjQ2ODY3ZGYyZTc0YjMxZmE1Mjc5NzUzYTYzYjU0
Y2FlZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOSBAQAorMjAxMi0wNS0yOSAgSHVnbyBQYXJlbnRlIExp
bWEgIDxodWdvLmxpbWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBJbXByb3ZlIGhhbmRsaW5n
IG9mIGxlZ2FjeSB2aWV3cG9ydCBtZXRhIHRhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU1ODc0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGFuZCBleHBlY3RlZCByZXN1bHRzLgorCisg
ICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LWhhbmRoZWxkZnJpZW5kbHkuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQt
Mi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1t
b2JpbGVvcHRpbWl6ZWQtMy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmll
d3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW1vYmlsZW9wdGltaXplZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3Zp
ZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0yLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3Jk
ZXJpbmctMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy00LWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRl
cmluZy01LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktb3JkZXJpbmctNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdw
b3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdh
Y3ktb3JkZXJpbmctNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LWxlZ2FjeS1vcmRlcmluZy04LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctOS5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0yOSAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFl
bHdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZGluZyBWSVNUQSB0aW1lb3V0IGV4cGVjdGF0
aW9ucyB0byBhIG51bWJlciBvZiB2aWV3cG9ydCB0ZXN0cy4gQWxzbywgbmFycm93aW5nIG9wdGdy
b3VwLWNsaWNraW5nLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJpZW5kbHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWI0ODRiMWQyOGFmYjRkYjY0MDQwZjEwYWYzZWE2NDQyYzVkMzQ0
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQt
bGVnYWN5LWhhbmRoZWxkZnJpZW5kbHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAordmll
d3BvcnQgc2l6ZSAzMjB4MzUyIHNjYWxlIDEuMDAwMDAwIHdpdGggbGltaXRzIFsxLjAwMDAwMCwg
NS4wMDAwMDBdIGFuZCB1c2VyU2NhbGFibGUgLTEuMDAwMDAwCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJpZW5kbHkuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LWhhbmRoZWxkZnJp
ZW5kbHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTQ4MTA3YjVjNTAwZjQxYmQyYzE5MzhlNTA5ZjFiZjVm
OWY1MWFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktaGFuZGhlbGRmcmllbmRseS5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxoZWFk
PgorICAgIDx0aXRsZT5IYW5kaGVsZEZyaWVuZGx5IE1ldGEgd2l0aCAidHJ1ZSIuPC90aXRsZT4K
KyAgICA8bWV0YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0cnVlIj4KKyAgICA8
c2NyaXB0PgorICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQ29uZmlndXJhdGlvbkZvclZpZXdwb3J0KDE2MCwgMzIwLCA0ODAsIDMyMCwgMzUyKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJ0ZXN0KCk7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0yLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45YjQ4NGIxZDI4YWZiNGRiNjQwNDBmMTBhZjNlYTY0NDJjNWQz
NDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAor
dmlld3BvcnQgc2l6ZSAzMjB4MzUyIHNjYWxlIDEuMDAwMDAwIHdpdGggbGltaXRzIFsxLjAwMDAw
MCwgNS4wMDAwMDBdIGFuZCB1c2VyU2NhbGFibGUgLTEuMDAwMDAwCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC0y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVv
cHRpbWl6ZWQtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2Y2YwZTdlYjk2MzllOTM0OGI4OTk3NjgyYmEy
ODEyYmNmMzU2ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0
L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMi5odG1sCkBAIC0wLDAgKzEsMTMgQEAK
KzxoZWFkPgorICAgIDx0aXRsZT5Nb2JpbGVPcHRpbWl6ZWQgTWV0YSB3aXRoICIwIi48L3RpdGxl
PgorICAgIDxtZXRhIG5hbWU9Ik1vYmlsZU9wdGltaXplZCIgY29udGVudD0iMCI+CisgICAgPHNj
cmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAsIDM1Mik7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3Zp
ZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWI0ODRiMWQyOGFmYjRkYjY0MDQwZjEwYWYzZWE2NDQyYzVkMzQ0
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQt
bGVnYWN5LW1vYmlsZW9wdGltaXplZC0zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3Zp
ZXdwb3J0IHNpemUgMzIweDM1MiBzY2FsZSAxLjAwMDAwMCB3aXRoIGxpbWl0cyBbMS4wMDAwMDAs
IDUuMDAwMDAwXSBhbmQgdXNlclNjYWxhYmxlIC0xLjAwMDAwMAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQtMy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0
aW1pemVkLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZGQ3MDQyYmJhYWJjMDRkYThkZDQ5MDdkMDEwYjMy
OGQyYzllMmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLTMuaHRtbApAQCAtMCwwICsxLDE0IEBACis8
aGVhZD4KKyAgICA8dGl0bGU+TW9iaWxlT3B0aW1pemVkIE1ldGEgd2l0aCAiNDgwIi48L3RpdGxl
PgorICAgIDwhLS0gVGhlIGNvbnRlbnQgdmFsdWUgc2hvdWxkIGJlIGlnbm9yZWQgdG8gbWF0Y2gg
Y3VycmVudCBpbXBsZW1lbnRhdGlvbnMgLS0+CisgICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1p
emVkIiBjb250ZW50PSI0ODAiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3Qo
KSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQo
MTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW1vYmlsZW9wdGltaXplZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWI0ODRiMWQyOGFmYjRk
YjY0MDQwZjEwYWYzZWE2NDQyYzVkMzQ0NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW1vYmlsZW9wdGltaXplZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9ydCBzaXplIDMyMHgzNTIgc2NhbGUgMS4wMDAwMDAg
d2l0aCBsaW1pdHMgWzEuMDAwMDAwLCA1LjAwMDAwMF0gYW5kIHVzZXJTY2FsYWJsZSAtMS4wMDAw
MDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdh
Y3ktbW9iaWxlb3B0aW1pemVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LWxlZ2FjeS1tb2JpbGVvcHRpbWl6ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGZjMzI2ZDk2YTZk
MTZmNjNkMmFhYzY5NTllZTVjN2RhNjk1ZTZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktbW9iaWxlb3B0aW1pemVkLmh0bWwKQEAg
LTAsMCArMSwxMyBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmlsZU9wdGltaXplZCBNZXRhIHdp
dGhvdXQgY29udGVudCIuPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQi
IGNvbnRlbnQ9IiI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMy
MCwgNDgwLCAzMjAsIDM1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlMGQxMzgzYzc4MzQ4NWYxMmFmNWUyYWE3YTRiZjZj
ZGRlMjEyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3Zp
ZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3Zp
ZXdwb3J0IHNpemUgMzAweDMzMCBzY2FsZSAxLjA2NjY2NyB3aXRoIGxpbWl0cyBbMS4wNjY2Njcs
IDUuMDAwMDAwXSBhbmQgdXNlclNjYWxhYmxlIC0xLjAwMDAwMAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy0xLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2FjY2E1ODYyNDI4YTc2OTMxNjdmODNjMmRkMmQzZTA0MzhmNjkwZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTEuaHRtbApAQCAtMCwwICsxLDE0IEBACis8aGVhZD4KKyAgICA8dGl0bGU+Vmll
d3BvcnQsIEhhbmRoZWxkRnJpZW5kbHkgTWV0YS48L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD0zMDAiPgorICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJp
ZW5kbHkiIGNvbnRlbnQ9InRydWUiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3Bv
cnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTBkMTM4M2M3ODM0ODVmMTJhZjVl
MmFhN2E0YmY2Y2RkZTIxMmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92
aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyIEBACit2aWV3cG9ydCBzaXplIDMwMHgzMzAgc2NhbGUgMS4wNjY2Njcgd2l0aCBsaW1pdHMg
WzEuMDY2NjY3LCA1LjAwMDAwMF0gYW5kIHVzZXJTY2FsYWJsZSAtMS4wMDAwMDAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdkMzI2NjIzNmNkYWViMTQzM2ZhZmIxODFmNzQxN2ZlMjg0
MDk1M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LWxlZ2FjeS1vcmRlcmluZy0yLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+CisgICAg
PHRpdGxlPkhhbmRoZWxkRnJpZW5kbHksIFZpZXdwb3J0IE1ldGEuPC90aXRsZT4KKyAgICA8bWV0
YSBuYW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0cnVlIj4KKyAgICA8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9MzAwIj4KKyAgICA8c2NyaXB0PgorICAgICAgICBm
dW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ29uZmlndXJhdGlv
bkZvclZpZXdwb3J0KDE2MCwgMzIwLCA0ODAsIDMyMCwgMzUyKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9y
ZGVyaW5nLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmUwZDEzODNjNzgz
NDg1ZjEyYWY1ZTJhYTdhNGJmNmNkZGUyMTJjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMiBAQAordmlld3BvcnQgc2l6ZSAzMDB4MzMwIHNjYWxlIDEuMDY2NjY3IHdp
dGggbGltaXRzIFsxLjA2NjY2NywgNS4wMDAwMDBdIGFuZCB1c2VyU2NhbGFibGUgLTEuMDAwMDAw
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5
LW9yZGVyaW5nLTMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtbGVn
YWN5LW9yZGVyaW5nLTMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYWE2N2MzZGVkMTE0NGE1NTcwZjU0NzUw
MDI5Mzg0ZTdmMzcyOTc2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctMy5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxo
ZWFkPgorICAgIDx0aXRsZT5WaWV3cG9ydCwgTW9iaWxlT3B0aW1pemVkIE1ldGEuPC90aXRsZT4K
KyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9MzAwIj4KKyAgICA8bWV0
YSBuYW1lPSJNb2JpbGVPcHRpbWl6ZWQiIGNvbnRlbnQ9IjE3NiI+CisgICAgPHNjcmlwdD4KKyAg
ICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcENvbmZp
Z3VyYXRpb25Gb3JWaWV3cG9ydCgxNjAsIDMyMCwgNDgwLCAzMjAsIDM1Mik7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVz
dCgpOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxl
Z2FjeS1vcmRlcmluZy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQv
dmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlMGQx
MzgzYzc4MzQ4NWYxMmFmNWUyYWE3YTRiZjZjZGRlMjEyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy00LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK3ZpZXdwb3J0IHNpemUgMzAweDMzMCBzY2FsZSAxLjA2
NjY2NyB3aXRoIGxpbWl0cyBbMS4wNjY2NjcsIDUuMDAwMDAwXSBhbmQgdXNlclNjYWxhYmxlIC0x
LjAwMDAwMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0
LWxlZ2FjeS1vcmRlcmluZy00Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdw
b3J0LWxlZ2FjeS1vcmRlcmluZy00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGZhOTAyNGVmOGQ3ZWJjZWZi
YTBhYWVjZGE2MTYwYzk3YzczZWViNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvdmlld3BvcnQvdmlld3BvcnQtbGVnYWN5LW9yZGVyaW5nLTQuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8aGVhZD4KKyAgICA8dGl0bGU+TW9iaWxlT3B0aW1pemVkLCBWaWV3cG9ydCBNZXRhLjwv
dGl0bGU+CisgICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50PSIxNzYiPgor
ICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD0zMDAiPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktb3JkZXJpbmctNS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45YjQ4NGIxZDI4YWZiNGRiNjQwNDBmMTBhZjNlYTY0NDJjNWQzNDQ1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
NS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9ydCBzaXplIDMyMHgzNTIgc2Nh
bGUgMS4wMDAwMDAgd2l0aCBsaW1pdHMgWzEuMDAwMDAwLCA1LjAwMDAwMF0gYW5kIHVzZXJTY2Fs
YWJsZSAtMS4wMDAwMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0ZDlmYjNkYWE3
MjFkYWM3ODNhMDk5MzNjNmQ4MjcwODQ4ZDcyODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy01Lmh0bWwKQEAgLTAs
MCArMSwxNCBAQAorPGhlYWQ+CisgICAgPHRpdGxlPkhhbmRoZWxkRnJpZW5kbHksIE1vYmlsZU9w
dGltaXplZCBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iSGFuZGhlbGRGcmllbmRseSIg
Y29udGVudD0idHJ1ZSI+CisgICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50
PSI0ODAiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4
MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy02LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45YjQ4NGIxZDI4YWZiNGRiNjQwNDBmMTBhZjNlYTY0NDJjNWQz
NDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1sZWdhY3ktb3JkZXJpbmctNi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9y
dCBzaXplIDMyMHgzNTIgc2NhbGUgMS4wMDAwMDAgd2l0aCBsaW1pdHMgWzEuMDAwMDAwLCA1LjAw
MDAwMF0gYW5kIHVzZXJTY2FsYWJsZSAtMS4wMDAwMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFhZTEzNjhmZGJiOTYwNTFiMjUwYjk5ZmY3MDE1NmI2NmZkYjNmZjUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRl
cmluZy02Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmlsZU9w
dGltaXplZCwgSGFuZGhlbGRGcmllbmRseSBNZXRhLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0i
TW9iaWxlT3B0aW1pemVkIiBjb250ZW50PSI0ODAiPgorICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxk
RnJpZW5kbHkiIGNvbnRlbnQ9InRydWUiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9u
IHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmll
d3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
Ny1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2Fj
eS1vcmRlcmluZy03LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTBkMTM4M2M3ODM0ODVmMTJh
ZjVlMmFhN2E0YmY2Y2RkZTIxMmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctNy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyIEBACit2aWV3cG9ydCBzaXplIDMwMHgzMzAgc2NhbGUgMS4wNjY2Njcgd2l0aCBsaW1p
dHMgWzEuMDY2NjY3LCA1LjAwMDAwMF0gYW5kIHVzZXJTY2FsYWJsZSAtMS4wMDAwMDAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJp
bmctNy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3Jk
ZXJpbmctNy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NmM3ZTYzNTk1Njc2MjRjYTliMmIwYjhiNzY2YWUw
OTllZmI0NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3Zp
ZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy03Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGhlYWQ+Cisg
ICAgPHRpdGxlPlZpZXdwb3J0LCBNb2JpbGVPcHRpbWl6ZWQsIEhhbmRoZWxkRnJpZW5kbHkgTWV0
YS48L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aCA9IDMw
MCI+CisgICAgPG1ldGEgbmFtZT0iTW9iaWxlT3B0aW1pemVkIiBjb250ZW50PSI0ODAiPgorICAg
IDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRlbnQ9InRydWUiPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktb3JkZXJpbmctOC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Zp
ZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42ZTBkMTM4M2M3ODM0ODVmMTJhZjVlMmFhN2E0YmY2Y2RkZTIxMmMxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmct
OC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3cG9ydCBzaXplIDMwMHgzMzAgc2Nh
bGUgMS4wNjY2Njcgd2l0aCBsaW1pdHMgWzEuMDY2NjY3LCA1LjAwMDAwMF0gYW5kIHVzZXJTY2Fs
YWJsZSAtMS4wMDAwMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9y
dC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViOThiZjE0MWVl
ZTg2YmMzNWM0MTExNWEyNmI0NGQ3OTFhNDhiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy04Lmh0bWwKQEAgLTAs
MCArMSwxNSBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmlsZU9wdGltaXplZCwgVmlld3BvcnQs
IEhhbmRoZWxkRnJpZW5kbHkgTWV0YS48L3RpdGxlPgorICAgIDxtZXRhIG5hbWU9Ik1vYmlsZU9w
dGltaXplZCIgY29udGVudD0iNDgwIj4KKyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGggPSAzMDAiPgorICAgIDxtZXRhIG5hbWU9IkhhbmRoZWxkRnJpZW5kbHkiIGNvbnRl
bnQ9InRydWUiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAg
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoMTYwLCAzMjAs
IDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1vcmRlcmluZy05LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTBkMTM4M2M3ODM0ODVmMTJhZjVlMmFhN2E0YmY2Y2Rk
ZTIxMmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3
cG9ydC1sZWdhY3ktb3JkZXJpbmctOS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2aWV3
cG9ydCBzaXplIDMwMHgzMzAgc2NhbGUgMS4wNjY2Njcgd2l0aCBsaW1pdHMgWzEuMDY2NjY3LCA1
LjAwMDAwMF0gYW5kIHVzZXJTY2FsYWJsZSAtMS4wMDAwMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1sZWdhY3ktb3JkZXJpbmctOS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMzYTcwNDBiMDY4MDc5YmQwNTg4YmI1ZDNkMGFjZGYyZmZkZGNiNzYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LWxlZ2FjeS1v
cmRlcmluZy05Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPGhlYWQ+CisgICAgPHRpdGxlPk1vYmls
ZU9wdGltaXplZCwgSGFuZGhlbGRGcmllbmRseSwgVmlld3BvcnQgTWV0YS48L3RpdGxlPgorICAg
IDxtZXRhIG5hbWU9Ik1vYmlsZU9wdGltaXplZCIgY29udGVudD0iNDgwIj4KKyAgICA8bWV0YSBu
YW1lPSJIYW5kaGVsZEZyaWVuZGx5IiBjb250ZW50PSJ0cnVlIj4KKyAgICA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGggPSAzMDAiPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGZ1
bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDb25maWd1cmF0aW9u
Rm9yVmlld3BvcnQoMTYwLCAzMjAsIDQ4MCwgMzIwLCAzNTIpOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKTsiPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>