<?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>8351</bug_id>
          
          <creation_ts>2006-04-12 20:34:10 -0700</creation_ts>
          <short_desc>&lt;option&gt; element should be stylable</short_desc>
          <delta_ts>2023-05-30 12:45:48 -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>Forms</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=81882</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=256538</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=232233</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=240652</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=240771</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=255335</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>49169</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Richardson">channel200</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>akeerthi</cc>
    
    <cc>alexey.verlinger</cc>
    
    <cc>ap</cc>
    
    <cc>gavinp</cc>
    
    <cc>gordeon</cc>
    
    <cc>ian</cc>
    
    <cc>jab_creations</cc>
    
    <cc>jasneet</cc>
    
    <cc>karlcow</cc>
    
    <cc>kris</cc>
    
    <cc>Lordfate</cc>
    
    <cc>lvschie</cc>
    
    <cc>netdur</cc>
    
    <cc>oleg_smirnov</cc>
    
    <cc>pnormand</cc>
    
    <cc>priyajeet.hora</cc>
    
    <cc>robert</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkirchner</cc>
    
    <cc>tlock.chijin</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilsonpjunior</cc>
    
    <cc>zachlym</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>39084</commentid>
    <comment_count>0</comment_count>
    <who name="David Richardson">channel200</who>
    <bug_when>2006-04-12 20:34:10 -0700</bug_when>
    <thetext>The display:none style has no effect on &lt;option&gt; elements. This really should be fixed sooner rather than waiting for fully-styled form elements to implement. As it stands, dynamically-filtered &lt;select&gt; lists are needlessly complex.

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
        &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
	&lt;head&gt;
		&lt;title&gt;
			Annoying Deficiency
		&lt;/title&gt;
		&lt;meta name=&quot;generator&quot; content=&quot;BBEdit 8.2&quot; /&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;form method=&quot;get&quot;&gt;
		&lt;select size=&quot;2&quot;&gt;
			&lt;option label=&quot;Item1&quot; value=&quot;Item1&quot; style=&quot;display:none&quot;&gt;this item should be hidden!
			&lt;/option&gt;
			&lt;option label=&quot;Item2&quot; value=&quot;Item2&quot;&gt;Item2
			&lt;/option&gt;
		&lt;/select&gt;
	&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40678</commentid>
    <comment_count>1</comment_count>
      <attachid>8024</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-28 12:35:21 -0700</bug_when>
    <thetext>Created attachment 8024
test case

Same test case as an attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40681</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-04-28 12:38:59 -0700</bug_when>
    <thetext>The test case works in Firefox, but not in WinIE for me.

Please note that the titles of the options are displayed incorrectly in both stock Safari and ToT. This is highly related to bug 8398, but I have also noticed that the behavior in stock Safari depends on the parsing mode (i.e. the presence of a DOCTYPE). Probably worth a separate bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46779</commentid>
    <comment_count>3</comment_count>
      <attachid>8979</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-23 07:26:32 -0700</bug_when>
    <thetext>Created attachment 8979
First attempt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46780</commentid>
    <comment_count>4</comment_count>
      <attachid>8980</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-23 07:29:25 -0700</bug_when>
    <thetext>Created attachment 8980
First attempt

A simple fix for the problem :) It is really hard to catch display:none in a stylesheet
for this. First html4.css &quot;overwrites&quot; it, and checking this for each option would be costly.
Also I checked Firefox and it doesn&apos;t handle display:none on options when specified in a stylesheet.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46910</commentid>
    <comment_count>5</comment_count>
      <attachid>8979</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-23 20:52:57 -0700</bug_when>
    <thetext>Comment on attachment 8979
First attempt

Removing duplicate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46911</commentid>
    <comment_count>6</comment_count>
      <attachid>8980</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-23 21:04:17 -0700</bug_when>
    <thetext>Comment on attachment 8980
First attempt

Ideally this would not be done inside the renderer since the renderer is going away, but I suppose Adele can just consider it when re-implementing it.

It seems very strange to check the style attached to an object directly without doing any style resolution. If we are going to do it, we should not be converting it to a string. We should be getting the CSSValue object and then calling isPrimitiveValue(), casting to a CSSPrimitiveValue, calling getIdent() on it, and then checking against CSS_VAL_NONE.

Besides not doing any style resolution, it also seems strange to single out display:none and not implement any other properties, like visibility:hidden or other stranger display values.

I&apos;m going to review- this because at the very least we should use getPropertyCSSValue instead of getPropertyValue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47100</commentid>
    <comment_count>7</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-25 03:08:32 -0700</bug_when>
    <thetext>Hi Darin,
(In reply to comment #6)
&gt; (From update of attachment 8980 [edit])
&gt; Ideally this would not be done inside the renderer since the renderer is going
&gt; away, but I suppose Adele can just consider it when re-implementing it.

I do not know the exact plans, though I noticed the Deprecated bit ofcourse.

&gt; It seems very strange to check the style attached to an object directly without
&gt; doing any style resolution. If we are going to do it, we should not be

I was under the impression that style resolution could become very costly
when having selects with a lot of option items inside. If that is not the case, I
can give it a go, though I am not sure how the displa:none in the default html.css
will affect the outcome.
Also it seemed to me FF doesnt do full style resolution for options either.

&gt; converting it to a string. We should be getting the CSSValue object and then
&gt; calling isPrimitiveValue(), casting to a CSSPrimitiveValue, calling getIdent()
&gt; on it, and then checking against CSS_VAL_NONE.

Right, does seem better.

&gt; Besides not doing any style resolution, it also seems strange to single out
&gt; display:none and not implement any other properties, like visibility:hidden or
&gt; other stranger display values.

Well, that is not in the bug description :) Could be added, note that FF does insert
the item when having visibility:hidden, but gives it no title/label.

&gt; I&apos;m going to review- this because at the very least we should use
&gt; getPropertyCSSValue instead of getPropertyValue.

I&apos;ll attach a patch that does this. Please indicate how to go on with this bug fix, may
need chatting with Adele?
Cheers,

Rob.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47101</commentid>
    <comment_count>8</comment_count>
      <attachid>9015</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-06-25 03:09:32 -0700</bug_when>
    <thetext>Created attachment 9015
Improved patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47112</commentid>
    <comment_count>9</comment_count>
      <attachid>9015</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-25 09:58:44 -0700</bug_when>
    <thetext>Comment on attachment 9015
Improved patch

 #include &quot;DeprecatedRenderSelect.h&quot;
+#include &quot;CSSPropertyNames.h&quot;
+#include &quot;CSSValueKeywords.h&quot;
 
 #include &quot;HTMLNames.h&quot;

New includes should go with the other includes, sorted alphabetically, not up at the top with the file&apos;s own include and the config.h include.

+            if (listItems[listIndex]-&gt;style()) {
+                RefPtr&lt;CSSValue&gt; val = listItems[listIndex]-&gt;style()-&gt;getPropertyCSSValue(CSS_PROP_DISPLAY);
+                if (val &amp;&amp; val-&gt;isPrimitiveValue()) {
+                    if (static_cast&lt;CSSPrimitiveValue *&gt;(val.get())-&gt;getIdent() == CSS_VAL_NONE)
+                    continue;
+                }
+            }

Need to indent the continue statement one more tab stop. No space between CSSPrimitiveValue and the *.

This is a strange enough exception to the normal way style works that it needs a comment. It&apos;s also just complicated enough that a helper function might make it read clearly enough. I suggest this.

    static bool hasDisplayNoneStyle(StyledElement* e)
    {
        CSSStyleDeclaration* style = e-&gt;style();
        if (!style)
            return false;
        RefPtr&lt;CSSValue&gt; value = style-&gt;getPropertyCSSValue(CSS_PROP_DISPLAY);
        if (!value || !value-&gt;isPrimitiveValue())
            return false;
        return static_cast&lt;CSSPrimitiveValue *&gt;(value.get())-&gt;getIdent() == CSS_VAL_NONE;
    }

... then later on ...

            // Omit items with display:none style as a special case.
            // Eventually we probably want to make this work as a part of the style system,
            // but an explicit hack for this one style is a good thing for now.
            if (hasDisplayNoneStyle(listItems[listIndex]))
                continue;

We need a test for thisl either a manual or layout test. Maybe a select element with a size would work best, so we get the list box style and you can see the items in the pixel test.

&gt; I was under the impression that style resolution could become very costly when having selects with a lot of option items inside. If that is not the case, I can give it a go, though I am not sure how the display:none in the default html.css will affect the outcome.

I think it&apos;s unlikely that style resolution would be so slow we couldn&apos;t use it; we already do style resolution for everything else so I can&apos;t see why options would be so much worse. We would have to figure out what to do about the &quot;display: none&quot; in html4.css of course.

&gt; Also it seemed to me FF doesnt do full style resolution for options either.

Given this remark, the kinds of questions I have are:

    (1) Which styles does Firefox respect? You already said that it seems to do something for visibility:hidden as well as for display:none. Are there others?
    (2) Where did the idea to treat the styles this way come from? Did someone just think it would be a neat idea or does the CSS specification call for this behavior?
    (3) Has any other engine besides Gecko done this yet?

I&apos;d like to understand better the big picture so I know how this one change fits in. It&apos;s definitely not part of the normal way our style system works, so we need to understand why.

review- for the lack of a test case and partly because of the other issues I raise here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48762</commentid>
    <comment_count>10</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-07-08 00:49:32 -0700</bug_when>
    <thetext>Hi Darin,

(In reply to comment #9)
&gt; (From update of attachment 9015 [edit])
&gt; 
&gt; I&apos;d like to understand better the big picture so I know how this one change
&gt; fits in. It&apos;s definitely not part of the normal way our style system works, so
&gt; we need to understand why.
&gt; 
&gt; review- for the lack of a test case and partly because of the other issues I
&gt; raise here.
&gt; 

The discussion is very interesting, however because of the (nice!) new code for options
and optgroups by adele, my patch is getting outdated. So after discussing with adele on
irc we decide to wait for adele to cover this bug while fixing &lt;select&gt; lists. Ofcourse any
part of this patch can be reused if needed.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>41798</commentid>
    <comment_count>11</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-12-17 10:38:06 -0800</bug_when>
    <thetext>See also bug 11128</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83785</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-06-18 12:15:27 -0700</bug_when>
    <thetext>*** Bug 11128 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>167280</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-11-30 09:36:58 -0800</bug_when>
    <thetext>*** Bug 29074 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>397214</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-03 11:28:36 -0700</bug_when>
    <thetext>*** Bug 60039 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414353</commentid>
    <comment_count>15</comment_count>
    <who name="Tim Kirchner">tkirchner</who>
    <bug_when>2011-06-02 12:47:07 -0700</bug_when>
    <thetext>Besides simply removing duplicates, has there been any traction on this issue?

It&apos;s worth noting that if you apply the display:none; via a class, it&apos;s the same effect.  The web app I&apos;m working on actually programatically turns on/off a stylessheet (that contains such a class definition), which is how I stumbled across this bug.

Attaching another test case that demonstrates the issue, but using classes instead of inline styles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414354</commentid>
    <comment_count>16</comment_count>
      <attachid>95787</attachid>
    <who name="Tim Kirchner">tkirchner</who>
    <bug_when>2011-06-02 12:48:43 -0700</bug_when>
    <thetext>Created attachment 95787
Demonstrates the bug through use of classes to apply display:none</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422882</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-17 14:21:24 -0700</bug_when>
    <thetext>*** Bug 62900 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423065</commentid>
    <comment_count>18</comment_count>
    <who name="lvschie">lvschie</who>
    <bug_when>2011-06-18 00:24:05 -0700</bug_when>
    <thetext>All these &quot;marked duplicates&quot; date back to 2006. Ergo this bug has been there for 5 years now. Is there any chance of this getting fixed at all? 

It&apos;s all here, the proof, the fixes etc.

This makes creating dynamic lists so much easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856876</commentid>
    <comment_count>19</comment_count>
      <attachid>193498</attachid>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-18 00:39:52 -0700</bug_when>
    <thetext>Created attachment 193498
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856877</commentid>
    <comment_count>20</comment_count>
      <attachid>193498</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-18 00:40:37 -0700</bug_when>
    <thetext>Comment on attachment 193498
patch

Rejecting attachment 193498 from review queue.

oleg.smirnov@lge.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856880</commentid>
    <comment_count>21</comment_count>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-18 00:50:00 -0700</bug_when>
    <thetext>Let&apos;s fix it...so old issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856882</commentid>
    <comment_count>22</comment_count>
      <attachid>193499</attachid>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-18 00:55:45 -0700</bug_when>
    <thetext>Created attachment 193499
Patch for display:none style for PopupMenuItem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856971</commentid>
    <comment_count>23</comment_count>
      <attachid>193522</attachid>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-18 04:07:20 -0700</bug_when>
    <thetext>Created attachment 193522
Patch for display:none style for PopupMenuItem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856992</commentid>
    <comment_count>24</comment_count>
      <attachid>193530</attachid>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-18 04:44:17 -0700</bug_when>
    <thetext>Created attachment 193530
Patch for display:none style for PopupMenuItem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857028</commentid>
    <comment_count>25</comment_count>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-18 05:40:54 -0700</bug_when>
    <thetext>Hi folks,

Build for patch is failed for MAC and QT platforms.
This patch is correct as using PopupMenuStyle as main style for WebPopupItem*.
instead of several duplictate class members...

I can propagate this patch for other platforms too or only for GTK WK2.

What is better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857139</commentid>
    <comment_count>26</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-18 08:34:20 -0700</bug_when>
    <thetext>This bug was reported about Mac. I don&apos;t think that this patch addresses the issue on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857142</commentid>
    <comment_count>27</comment_count>
      <attachid>193530</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-18 08:37:51 -0700</bug_when>
    <thetext>Comment on attachment 193530
Patch for display:none style for PopupMenuItem

The right way to proceed with a Gtk only fix is to file two new bugs, one for cross-platform plumbing, and another for Gtk parts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857404</commentid>
    <comment_count>28</comment_count>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-18 12:15:18 -0700</bug_when>
    <thetext>Alexey, sure. I will separate patch on several parts. will prepare first part of patch patch for Gtk backend only for issue 81882. After as changes will be landed it can be posible to create patch for Mac backend, Efl and QT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859127</commentid>
    <comment_count>29</comment_count>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-03-20 00:42:38 -0700</bug_when>
    <thetext>Hi,
You can see attahced patch to GTK+WK2 issue: https://bugs.webkit.org/show_bug.cgi?id=81882

But Mac builds can not resolve linking symbols for new added code.
For example: _ZN6WebKit12WebPopupItemC2ENS0_4TypeERKN3WTF6StringERKN7WebCore14PopupMenuStyleES5_S5_bbb in WebPopupItem.o

Could can help me?
How can i reconfigure WebKit2.order file or similar as needed for Mac build?
I have no XCode.

After these changes build tree will be green for all platforms, an i can continue working for this issue and for all issues related to stuling of WebPopupItem.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888840</commentid>
    <comment_count>30</comment_count>
    <who name="Oleg Smirnov">oleg_smirnov</who>
    <bug_when>2013-05-14 07:58:50 -0700</bug_when>
    <thetext>My patch is prepared, but could anybody help me with Mac build?
What is wrong in linking stage?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>888879</commentid>
    <comment_count>31</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-05-14 09:32:08 -0700</bug_when>
    <thetext>Oleg, is your question about bug 81882? I&apos;m confused why you are asking it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178408</commentid>
    <comment_count>32</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2016-03-28 06:07:47 -0700</bug_when>
    <thetext>As of 2016/Mar/28, bug is still valid: Safari still displays the &lt;option&gt; that it is not suppose to.

Firefox 44 and Chrome 49 do not show the &lt;option&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204252</commentid>
    <comment_count>33</comment_count>
    <who name="indolering">zachlym</who>
    <bug_when>2016-06-21 12:17:23 -0700</bug_when>
    <thetext>This bug makes data-binding (ala Polymer) to lists very difficult.  A simple filtered list like the following:

	&lt;select&gt;
		&lt;option hidden=&quot;{{!advanced}}&quot;&gt;Advanced&lt;/option&gt;
		&lt;option&gt;Simple&lt;/option&gt;
	&lt;/select&gt;

Now requires setting up listeners to global variables and creating/destroying options manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546470</commentid>
    <comment_count>34</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-06-20 01:33:59 -0700</bug_when>
    <thetext>*** Bug 199011 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732640</commentid>
    <comment_count>35</comment_count>
    <who name="John A. Bilicki III">jab_creations</who>
    <bug_when>2021-02-23 12:00:45 -0800</bug_when>
    <thetext>We are moving to use optgroup for the states/provinces of each country we provide services for and simply removing class=&quot;hidden&quot; from the appropriate optgroup.

 - Blink 88 works.
 - Gecko 56 works.
 - Presto 12.5 fails.
 - Trident 18 works.
 - WebKit 14.0 fails.

Since Presto can&apos;t support some reasonably modern syntax we&apos;ve unofficially dropped support for Opera.

We simply don&apos;t have enough people or time to spend adding yet another script to fix browser bugs, especially ones from the mid-2000s. We&apos;d literally have to scan all of the optgroup elements and move them back and forth between the select elements (yes, plural) and a hidden container. Additionally unlike other systems the forms with the select elements only need to be filled out once in many scenarios further reducing the need to spend more time on scripting for bugs. Some of our users will encounter this nonetheless and we&apos;d appreciate a fix for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846086</commentid>
    <comment_count>36</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-25 10:40:08 -0800</bug_when>
    <thetext>&lt;rdar://problem/89481800&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899305</commentid>
    <comment_count>37</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-09-18 00:28:37 -0700</bug_when>
    <thetext>*** Bug 25623 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1955355</commentid>
    <comment_count>38</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2023-05-15 00:38:21 -0700</bug_when>
    <thetext>https://searchfox.org/wubkat/rev/c4edc10959902651c35cf3cc5e911c757513058e/Source/WebCore/html/HTMLOptionElement.h#75

    bool rendererIsNeeded(const RenderStyle&amp;) final { return false; }


Option is not stylable currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1955358</commentid>
    <comment_count>39</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2023-05-15 00:46:37 -0700</bug_when>
    <thetext>*** Bug 49341 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1955360</commentid>
    <comment_count>40</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2023-05-15 00:50:49 -0700</bug_when>
    <thetext>*** Bug 169039 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1955362</commentid>
    <comment_count>41</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2023-05-15 00:57:32 -0700</bug_when>
    <thetext>*** Bug 240215 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1955366</commentid>
    <comment_count>42</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2023-05-15 01:02:20 -0700</bug_when>
    <thetext>*** Bug 256538 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1958851</commentid>
    <comment_count>43</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-05-30 12:45:48 -0700</bug_when>
    <thetext>For &apos;display:non&apos; - https://src.chromium.org/viewvc/blink?view=revision&amp;revision=171457

^ Blink commit.

Following commit deleted, nonRendererStyle:

https://github.com/WebKit/WebKit/commit/bb21df0fe805253108e49f72f3d4027d763dd385

I am able to compile with HTMLOptionElement &amp; HTMLSelectElement parts but HTMLOptGroup would be easy as well. Only bit difficult (for me) would be &apos;RenderListBox&apos; changes.

Just wanted to share this as reference.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8024</attachid>
            <date>2006-04-28 12:35:21 -0700</date>
            <delta_ts>2006-04-28 12:35:21 -0700</delta_ts>
            <desc>test case</desc>
            <filename>hidden-option.html</filename>
            <type>text/html</type>
            <size>760</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIK
ICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0
ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KICAgICAgICA8
aGVhZD4KICAgICAgICAgICAgICAgIDx0aXRsZT4KICAgICAgICAgICAgICAgICAgICAgICAgQW5u
b3lpbmcgRGVmaWNpZW5jeQogICAgICAgICAgICAgICAgPC90aXRsZT4KICAgICAgICAgICAgICAg
IDxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iQkJFZGl0IDguMiIgLz4KICAgICAgICA8
L2hlYWQ+CiAgICAgICAgPGJvZHk+CiAgICAgICAgICAgICAgICA8Zm9ybSBtZXRob2Q9ImdldCI+
CiAgICAgICAgICAgICAgICA8c2VsZWN0IHNpemU9IjIiPgogICAgICAgICAgICAgICAgICAgICAg
ICA8b3B0aW9uIGxhYmVsPSJJdGVtMSBMYWJlbCIgdmFsdWU9Ikl0ZW0xIFZhbHVlIiBzdHlsZT0i
ZGlzcGxheTpub25lIj50aGlzIGl0ZW0gc2hvdWxkIGJlIGhpZGRlbiEKICAgICAgICAgICAgICAg
ICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gbGFiZWw9
Ikl0ZW0yIExhYmVsIiB2YWx1ZT0iSXRlbTIgVmFsdWUiPkl0ZW0yCiAgICAgICAgICAgICAgICAg
ICAgICAgIDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgPC9mb3Jt
Pgo8L2JvZHk+CjwvaHRtbD4KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8979</attachid>
            <date>2006-06-23 07:26:32 -0700</date>
            <delta_ts>2006-06-23 20:52:57 -0700</delta_ts>
            <desc>First attempt</desc>
            <filename>8351.diff</filename>
            <type>text/plain</type>
            <size>1716</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNDk4NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDYtMDYtMjMgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgaHR0
cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04MzUxOgorICAgICAg
ICBkaXNwbGF5Om5vbmUgaGFzIG5vIGVmZmVjdCBvbiA8b3B0aW9uPiBlbGVtZW50CisKKyAgICAg
ICAgU2ltcGxlIGNoZWNrIGZvciBzdHlsZT0iZGlzcGxheTpub25lIiBvbiBvcHRpb24gZWxlbWVu
dHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRGVwcmVjYXRlZFJlbmRlclNlbGVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkUmVuZGVyU2VsZWN0Ojp1cGRhdGVGcm9tRWxlbWVu
dCk6CisKIDIwMDYtMDYtMjIgIE1pdHogUGV0dGVsICA8b3BlbmRhcndpbi5vcmdAbWl0enBldHRl
bC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQuCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9EZXByZWNhdGVkUmVuZGVyU2VsZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9EZXByZWNhdGVkUmVuZGVyU2VsZWN0LmNwcAkocmV2aXNpb24gMTQ5ODYpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9EZXByZWNhdGVkUmVuZGVyU2VsZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGVw
cmVjYXRlZFJlbmRlclNlbGVjdC5oIgorI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKIAog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIK
QEAgLTExNCw2ICsxMTUsMTAgQEAgdm9pZCBEZXByZWNhdGVkUmVuZGVyU2VsZWN0Ojp1cGRhdGVG
cm9tRQogCiAgICAgICAgIGJvb2wgZ3JvdXBFbmFibGVkID0gdHJ1ZTsKICAgICAgICAgZm9yIChs
aXN0SW5kZXggPSAwOyBsaXN0SW5kZXggPCBpbnQobGlzdEl0ZW1zLnNpemUoKSk7IGxpc3RJbmRl
eCsrKSB7CisgICAgICAgICAgICBpZiAobGlzdEl0ZW1zW2xpc3RJbmRleF0tPnN0eWxlKCkgJiYK
KyAgICAgICAgICAgICAgICBsaXN0SXRlbXNbbGlzdEluZGV4XS0+c3R5bGUoKS0+Z2V0UHJvcGVy
dHlWYWx1ZShDU1NfUFJPUF9ESVNQTEFZKSA9PSAibm9uZSIpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisKICAgICAgICAgICAgIGlmIChsaXN0SXRlbXNbbGlzdEluZGV4XS0+aGFzVGFnTmFt
ZShvcHRncm91cFRhZykpIHsKICAgICAgICAgICAgICAgICBIVE1MT3B0R3JvdXBFbGVtZW50KiBv
cHRncm91cEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MT3B0R3JvdXBFbGVtZW50Kj4obGlzdEl0
ZW1zW2xpc3RJbmRleF0pOwogICAgICAgICAgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcgbGFiZWwg
PSBvcHRncm91cEVsZW1lbnQtPmdldEF0dHJpYnV0ZShsYWJlbEF0dHIpLmRlcHJlY2F0ZWRTdHJp
bmcoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8980</attachid>
            <date>2006-06-23 07:29:25 -0700</date>
            <delta_ts>2006-06-25 03:09:32 -0700</delta_ts>
            <desc>First attempt</desc>
            <filename>8351.diff</filename>
            <type>text/plain</type>
            <size>1716</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNDk4NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDYtMDYtMjMgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgaHR0
cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04MzUxOgorICAgICAg
ICBkaXNwbGF5Om5vbmUgaGFzIG5vIGVmZmVjdCBvbiA8b3B0aW9uPiBlbGVtZW50CisKKyAgICAg
ICAgU2ltcGxlIGNoZWNrIGZvciBzdHlsZT0iZGlzcGxheTpub25lIiBvbiBvcHRpb24gZWxlbWVu
dHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRGVwcmVjYXRlZFJlbmRlclNlbGVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkUmVuZGVyU2VsZWN0Ojp1cGRhdGVGcm9tRWxlbWVu
dCk6CisKIDIwMDYtMDYtMjIgIE1pdHogUGV0dGVsICA8b3BlbmRhcndpbi5vcmdAbWl0enBldHRl
bC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSHlhdHQuCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9EZXByZWNhdGVkUmVuZGVyU2VsZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9EZXByZWNhdGVkUmVuZGVyU2VsZWN0LmNwcAkocmV2aXNpb24gMTQ5ODYpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9EZXByZWNhdGVkUmVuZGVyU2VsZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGVw
cmVjYXRlZFJlbmRlclNlbGVjdC5oIgorI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKIAog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxPcHRHcm91cEVsZW1lbnQuaCIK
QEAgLTExNCw2ICsxMTUsMTAgQEAgdm9pZCBEZXByZWNhdGVkUmVuZGVyU2VsZWN0Ojp1cGRhdGVG
cm9tRQogCiAgICAgICAgIGJvb2wgZ3JvdXBFbmFibGVkID0gdHJ1ZTsKICAgICAgICAgZm9yIChs
aXN0SW5kZXggPSAwOyBsaXN0SW5kZXggPCBpbnQobGlzdEl0ZW1zLnNpemUoKSk7IGxpc3RJbmRl
eCsrKSB7CisgICAgICAgICAgICBpZiAobGlzdEl0ZW1zW2xpc3RJbmRleF0tPnN0eWxlKCkgJiYK
KyAgICAgICAgICAgICAgICBsaXN0SXRlbXNbbGlzdEluZGV4XS0+c3R5bGUoKS0+Z2V0UHJvcGVy
dHlWYWx1ZShDU1NfUFJPUF9ESVNQTEFZKSA9PSAibm9uZSIpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisKICAgICAgICAgICAgIGlmIChsaXN0SXRlbXNbbGlzdEluZGV4XS0+aGFzVGFnTmFt
ZShvcHRncm91cFRhZykpIHsKICAgICAgICAgICAgICAgICBIVE1MT3B0R3JvdXBFbGVtZW50KiBv
cHRncm91cEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MT3B0R3JvdXBFbGVtZW50Kj4obGlzdEl0
ZW1zW2xpc3RJbmRleF0pOwogICAgICAgICAgICAgICAgIERlcHJlY2F0ZWRTdHJpbmcgbGFiZWwg
PSBvcHRncm91cEVsZW1lbnQtPmdldEF0dHJpYnV0ZShsYWJlbEF0dHIpLmRlcHJlY2F0ZWRTdHJp
bmcoKTsK
</data>
<flag name="review"
          id="2649"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9015</attachid>
            <date>2006-06-25 03:09:32 -0700</date>
            <delta_ts>2010-06-10 19:44:31 -0700</delta_ts>
            <desc>Improved patch</desc>
            <filename>8351-2.diff</filename>
            <type>text/plain</type>
            <size>1958</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxNTAyNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDYtMDYtMjUgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgaHR0
cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD04MzUxOgorICAgICAg
ICBkaXNwbGF5Om5vbmUgaGFzIG5vIGVmZmVjdCBvbiA8b3B0aW9uPiBlbGVtZW50CisKKyAgICAg
ICAgU2ltcGxlIGNoZWNrIGZvciBzdHlsZT0iZGlzcGxheTpub25lIiBvbiBvcHRpb24gZWxlbWVu
dHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvRGVwcmVjYXRlZFJlbmRlclNlbGVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVkUmVuZGVyU2VsZWN0Ojp1cGRhdGVGcm9tRWxlbWVu
dCk6CisKIDIwMDYtMDYtMjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGtpbHplci5uZXQ+CiAK
ICAgICAgICAgQnVpbGQgZml4LiAgUmV2aWV3ZWQgYnkgTk9CT0RZLgpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvRGVwcmVjYXRlZFJlbmRlclNlbGVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvRGVwcmVjYXRlZFJlbmRlclNlbGVjdC5jcHAJKHJldmlzaW9uIDE1MDI1KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvRGVwcmVjYXRlZFJlbmRlclNlbGVjdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDYgKzI1LDggQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRlcHJlY2F0ZWRSZW5kZXJTZWxlY3QuaCIKKyNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CisjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgi
CiAjaW5jbHVkZSAiSFRNTE9wdEdyb3VwRWxlbWVudC5oIgpAQCAtMTE0LDYgKzExNiwxNCBAQCB2
b2lkIERlcHJlY2F0ZWRSZW5kZXJTZWxlY3Q6OnVwZGF0ZUZyb21FCiAKICAgICAgICAgYm9vbCBn
cm91cEVuYWJsZWQgPSB0cnVlOwogICAgICAgICBmb3IgKGxpc3RJbmRleCA9IDA7IGxpc3RJbmRl
eCA8IGludChsaXN0SXRlbXMuc2l6ZSgpKTsgbGlzdEluZGV4KyspIHsKKyAgICAgICAgICAgIGlm
IChsaXN0SXRlbXNbbGlzdEluZGV4XS0+c3R5bGUoKSkgeworICAgICAgICAgICAgICAgIFJlZlB0
cjxDU1NWYWx1ZT4gdmFsID0gbGlzdEl0ZW1zW2xpc3RJbmRleF0tPnN0eWxlKCktPmdldFByb3Bl
cnR5Q1NTVmFsdWUoQ1NTX1BST1BfRElTUExBWSk7CisgICAgICAgICAgICAgICAgaWYgKHZhbCAm
JiB2YWwtPmlzUHJpbWl0aXZlVmFsdWUoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoc3Rh
dGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUgKj4odmFsLmdldCgpKS0+Z2V0SWRlbnQoKSA9PSBD
U1NfVkFMX05PTkUpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgaWYgKGxpc3RJdGVtc1tsaXN0SW5k
ZXhdLT5oYXNUYWdOYW1lKG9wdGdyb3VwVGFnKSkgewogICAgICAgICAgICAgICAgIEhUTUxPcHRH
cm91cEVsZW1lbnQqIG9wdGdyb3VwRWxlbWVudCA9IHN0YXRpY19jYXN0PEhUTUxPcHRHcm91cEVs
ZW1lbnQqPihsaXN0SXRlbXNbbGlzdEluZGV4XSk7CiAgICAgICAgICAgICAgICAgRGVwcmVjYXRl
ZFN0cmluZyBsYWJlbCA9IG9wdGdyb3VwRWxlbWVudC0+Z2V0QXR0cmlidXRlKGxhYmVsQXR0ciku
ZGVwcmVjYXRlZFN0cmluZygpOwo=
</data>
<flag name="review"
          id="2671"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>95787</attachid>
            <date>2011-06-02 12:48:43 -0700</date>
            <delta_ts>2011-06-02 12:48:43 -0700</delta_ts>
            <desc>Demonstrates the bug through use of classes to apply display:none</desc>
            <filename>bug-page.html</filename>
            <type>text/html</type>
            <size>390</size>
            <attacher name="Tim Kirchner">tkirchner</attacher>
            
              <data encoding="base64">PGh0bWw+Cgo8aGVhZD4KICA8dGl0bGU+QnVnIFJlcHJvIFBhZ2U8L3RpdGxlPgogIDxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CiAgICAuc2hvdyB7fQogICAgLmhpZGUgeyBkaXNwbGF5OiBub25lOyB9
CiAgPC9zdHlsZT4KPC9oZWFkPgoKPGJvZHk+Cgo8Zm9ybT4KICA8c2VsZWN0IHNpemU9IjEiIG5h
bWU9InRlc3QiPgogICAgPG9wdGlvbiB2YWx1ZT0iMCI+LS0gU2VsZWN0IC0tPC9vcHRpb24+CiAg
ICA8b3B0aW9uIGNsYXNzPSJzaG93IiB2YWx1ZT0iMSI+VGhpcyBzaG91bGQgc2hvdyB1cDwvb3B0
aW9uPgogICAgPG9wdGlvbiBjbGFzcz0iaGlkZSIgdmFsdWU9IjIiPlRoaXMgc2hvdWxkIG5vdDwv
b3B0aW9uPgogIDwvc2VsZWN0Pgo8L2Zvcm0+Cgo8L2JvZHk+CgoKPC9odG1sPgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193498</attachid>
            <date>2013-03-18 00:39:52 -0700</date>
            <delta_ts>2013-03-18 04:07:20 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>18047</size>
            <attacher name="Oleg Smirnov">oleg_smirnov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmNjZiNDY2Li5mZTYwYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDMtMTcgIE9sZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisg
ICAgICAgIGRpc3BsYXk6bm9uZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5n
IHN1cHBvcnQgZm9yIFdlYlBvcG9wTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICBObyBuZXcg
dGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZTo6UG9wdXBNZW51U3R5bGUpOgorCiAyMDEz
LTAzLTE3ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSU5QVVRfTVVMVElQTEVfRklFTERTX1VJOiBTdGVwLXVwLy1kb3duIG9mIG1pbnV0ZS9z
ZWNvbmQvbWlsbGlzZWNvbmQgZmllbGRzIHNob3VsZCByZXNwZWN0IG1pbi9tYXggYXR0cmlidXRl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmgKaW5kZXggNjg5ZWQyOS4u
Y2FhYjQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVTdHlsZS5oCkBAIC0z
Nyw2ICszNywxNSBAQCBjbGFzcyBQb3B1cE1lbnVTdHlsZSB7CiBwdWJsaWM6CiAgICAgZW51bSBQ
b3B1cE1lbnVUeXBlIHsgU2VsZWN0UG9wdXAsIEF1dG9maWxsUG9wdXAgfTsKICAgICBlbnVtIEJh
Y2tncm91bmRDb2xvclR5cGUgeyBEZWZhdWx0QmFja2dyb3VuZENvbG9yLCBDdXN0b21CYWNrZ3Jv
dW5kQ29sb3IgfTsKKyAgICBQb3B1cE1lbnVTdHlsZSgpCisgICAgICAgIDogbV92aXNpYmxlKGZh
bHNlKQorICAgICAgICAsIG1faXNEaXNwbGF5Tm9uZShmYWxzZSkKKyAgICAgICAgLCBtX3RleHRE
aXJlY3Rpb24oUlRMKQorICAgICAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNl
KQorICAgICAgICAsIG1fYmFja2dyb3VuZENvbG9yVHlwZShEZWZhdWx0QmFja2dyb3VuZENvbG9y
KQorICAgICAgICAsIG1fbWVudVR5cGUoU2VsZWN0UG9wdXApCisgICAgeworICAgIH0KICAgICBQ
b3B1cE1lbnVTdHlsZShjb25zdCBDb2xvciYgZm9yZWdyb3VuZCwgY29uc3QgQ29sb3ImIGJhY2tn
cm91bmQsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgdmlzaWJsZSwgYm9vbCBpc0Rpc3BsYXlOb25l
LCBMZW5ndGggdGV4dEluZGVudCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBib29sIGhh
c1RleHREaXJlY3Rpb25PdmVycmlkZSwgQmFja2dyb3VuZENvbG9yVHlwZSBiYWNrZ3JvdW5kQ29s
b3JUeXBlID0gRGVmYXVsdEJhY2tncm91bmRDb2xvciwgUG9wdXBNZW51VHlwZSBtZW51VHlwZSA9
IFNlbGVjdFBvcHVwKQogICAgICAgICA6IG1fZm9yZWdyb3VuZENvbG9yKGZvcmVncm91bmQpCiAg
ICAgICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoYmFja2dyb3VuZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNGQy
MWMwLi5jYjhmYjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMDMtMTcgIE9s
ZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisgICAgICAgIGRpc3BsYXk6bm9u
ZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5nIHN1cHBvcnQgZm9yIFdlYlBv
cHVwTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQ
Qyk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlBvcHVwSXRlbS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbTo6V2ViUG9w
dXBJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBJdGVtOjplbmNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW06OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBv
cHVwSXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6Y3JlYXRlR3RrQWN0
aW9uRm9yTWVudUl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6
c2hvd1BvcHVwTWVudSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRl
bXMpOgorCiAyMDEzLTAzLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBJbnZhbGlkIGNoYXJzZXQgZW5jb2RpbmcgdXNpbmcgd2hl
biBzdWJzdGl0dXRpbmcgYSBtaXNzcGVsbGVkIHdvcmQgaW4gV2ViS2l0MgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCAxNmVkYzU0Li5m
OGM0YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcApAQCAtMzYsMTEgKzM2LDE1IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnU2Vzc2lv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxl
Q2hvb3Nlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRm9udC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Rm9udERlc2NyaXB0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lt
YWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZW5n
dGguaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1BvcHVwTWVudVN0eWxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgpAQCAtMjI1LDYgKzIyOSw1NSBAQCBib29sIEFyZ3VtZW50Q29kZXI8
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBBdQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8UG9wdXBNZW51
U3R5bGU+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQb3B1cE1lbnVT
dHlsZSYgcG9wdXBNZW51U3R5bGUpCit7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5m
b3JlZ3JvdW5kQ29sb3IoKTsKKyAgICBlbmNvZGVyIDw8IHBvcHVwTWVudVN0eWxlLmJhY2tncm91
bmRDb2xvcigpOworICAgIGVuY29kZXIgPDwgcG9wdXBNZW51U3R5bGUuZm9udCgpOworICAgIGVu
Y29kZXIgPDwgcG9wdXBNZW51U3R5bGUuaXNWaXNpYmxlKCk7CisgICAgZW5jb2RlciA8PCBwb3B1
cE1lbnVTdHlsZS5pc0Rpc3BsYXlOb25lKCk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHls
ZS50ZXh0SW5kZW50KCk7CisgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHBvcHVwTWVudVN0eWxlLnRl
eHREaXJlY3Rpb24oKSk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5oYXNUZXh0RGly
ZWN0aW9uT3ZlcnJpZGUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBvcHVwTWVudVN0eWxl
Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUG9wdXBNZW51U3R5bGUmIHBvcHVw
TWVudVN0eWxlKQoreworICAgIENvbG9yIGZvcmVncm91bmQ7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShmb3JlZ3JvdW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQ29sb3IgYmFj
a2dyb3VuZDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGJhY2tncm91bmQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBGb250IGZvbnQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShm
b250KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCBpc1Zpc2libGU7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShpc1Zpc2libGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBib29sIGlzRGlzcGxheU5vbmU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc0Rpc3Bs
YXlOb25lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoIHRleHRJbmRlbnQ7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0ZXh0SW5kZW50KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHRleHREaXJlY3Rpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBib29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHBvcHVwTWVudVN0eWxlID0gUG9wdXBNZW51U3R5bGUoZm9yZWdyb3VuZCwgYmFja2dyb3VuZCwg
Zm9udCwgaXNWaXNpYmxlLCBpc0Rpc3BsYXlOb25lLCB0ZXh0SW5kZW50LCB0ZXh0RGlyZWN0aW9u
LCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUpOworICAgIHJldHVybiB0cnVlOworfQogCiB2b2lk
IEFyZ3VtZW50Q29kZXI8UHJvdGVjdGlvblNwYWNlPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBzcGFjZSkKIHsKQEAgLTgyNCw2ICs4Nzcs
NDEgQEAgYm9vbCBBcmd1bWVudENvZGVyPEZpbGVDaG9vc2VyU2V0dGluZ3M+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBGaWxlQ2gKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9p
ZCBBcmd1bWVudENvZGVyPEZvbnQ+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBGb250JiBmb250KQoreworICAgIGVuY29kZXIgPDwgZm9udC5mb250RGVzY3JpcHRpb24o
KTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludD4oZm9udC5sZXR0ZXJTcGFjaW5nKCkp
OworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8aW50Pihmb250LndvcmRTcGFjaW5nKCkpOwor
fQorCitib29sIEFyZ3VtZW50Q29kZXI8Rm9udD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIEZvbnQmIGZvbnQpCit7CisgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjcmlwdGlw
dGlvbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZvbnREZXNjcmlwdGlwdGlvbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGludCBsZXR0ZXJTcGFjaW5nOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUobGV0dGVyU3BhY2luZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGludCB3b3JkU3BhY2luZzsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHdvcmRTcGFjaW5nKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9udCA9IEZvbnQoZm9udERlc2NyaXB0aXB0
aW9uLCBsZXR0ZXJTcGFjaW5nLCB3b3JkU3BhY2luZyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K3ZvaWQgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjplbmNvZGUoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sK
KyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIHN0eWxpbmcgdGhlIGZvbnQuCit9CisKK2Jv
b2wgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sKKyAgICBmb250
RGVzY3JpcHRpb24gPSBGb250RGVzY3JpcHRpb24oKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAog
dm9pZCBBcmd1bWVudENvZGVyPEdyYW1tYXJEZXRhaWw+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBHcmFtbWFyRGV0YWlsJiBkZXRhaWwpCiB7CkBAIC05MzMsNiArMTAy
MSwzMSBAQCBib29sIEFyZ3VtZW50Q29kZXI8S1VSTD46OmRlY29kZShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIEtVUkwmIHJlc3VsdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPExlbmd0aD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0
IExlbmd0aCYgbGVuZ3RoKQoreworICAgIGVuY29kZXIgPDwgbGVuZ3RoLnZhbHVlKCk7CisgICAg
ZW5jb2RlciA8PCBsZW5ndGgucXVpcmsoKTsKKyAgICBlbmNvZGVyLmVuY29kZUVudW0obGVuZ3Ro
LnR5cGUoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGVyLCBMZW5ndGgmIGxlbmd0aCkKK3sKKyAgICBmbG9hdCB2YWx1ZTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgYm9vbCBxdWlyazsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHF1aXJrKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoVHlwZSB0eXBlOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBsZW5ndGgg
PSBMZW5ndGgodmFsdWUsIHR5cGUsIHF1aXJrKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9p
ZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Pjo6ZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQmIHVzZXJTdHls
ZVNoZWV0KQogewogICAgIGVuY29kZXIgPDwgdXNlclN0eWxlU2hlZXQuc291cmNlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggY2FlOWQ5
YS4uYTEyYjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaApAQCAtMzUsNiArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q3JlZGVudGlhbDsKICAgICBjbGFzcyBDdXJzb3I7CiAgICAgY2xhc3MgRGF0YWJhc2VEZXRhaWxz
OworICAgIGNsYXNzIEZvbnQ7CisgICAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogICAgIGNsYXNz
IEZsb2F0UG9pbnQ7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEZsb2F0U2l6ZTsK
QEAgLTQ0LDcgKzQ2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFNpemU7
CiAgICAgY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Q7CiAgICAgY2xhc3MgS1VSTDsKKyAgICBjbGFz
cyBMZW5ndGg7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOworICAgIGNsYXNzIFBvcHVwTWVudVN0
eWxlOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVycm9y
OwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTc4LDYgKzgyLDE2IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtPiB7CiAgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkFmZmluZVRyYW5z
Zm9ybSYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpG
b250PiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdl
YkNvcmU6OkZvbnQmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwg
V2ViQ29yZTo6Rm9udCYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpGb250RGVzY3JpcHRpb24+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1l
bnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uJik7CisgICAgc3RhdGlj
IGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbiYp
OworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFBv
aW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiwgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwpAQCAtMTMzLDYgKzE0NywxMSBAQCB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
PiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2Rl
KEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlJik7CisgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlBvcHVwTWVudVN0
eWxlJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBy
b3RlY3Rpb25TcGFjZT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNv
ZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJik7CkBAIC0yNDgs
NiArMjY3LDExIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6S1VS
TD4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpL
VVJMJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Okxl
bmd0aD4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBX
ZWJDb3JlOjpMZW5ndGgmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiwgV2ViQ29yZTo6TGVuZ3RoJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFy
Z3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Jik7CiAgICAgc3Rh
dGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCmluZGV4IDg5NzExYWIuLmMw
Y2QwZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCkBAIC0yOSw2ICsy
OSw3IEBACiAKICNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkFyZ3VtZW50
cy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIApAQCAtMzYsMjggKzM3LDI0IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBX
ZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSgpCiAgICAgOiBtX3R5cGUoSXRlbSkKLSAgICAsIG1f
dGV4dERpcmVjdGlvbihMVFIpCi0gICAgLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZShmYWxz
ZSkKICAgICAsIG1faXNFbmFibGVkKHRydWUpCisgICAgLCBtX2lzTGFiZWwoZmFsc2UpCiAgICAg
LCBtX2lzU2VsZWN0ZWQoZmFsc2UpCiB7CiB9CiAKIFdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVt
KFR5cGUgdHlwZSkKICAgICA6IG1fdHlwZSh0eXBlKQotICAgICwgbV90ZXh0RGlyZWN0aW9uKExU
UikKLSAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNlKQogICAgICwgbV9pc0Vu
YWJsZWQodHJ1ZSkKICAgICAsIG1faXNMYWJlbChmYWxzZSkKICAgICAsIG1faXNTZWxlY3RlZChm
YWxzZSkKIHsKIH0KIAotV2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25z
dCBTdHJpbmcmIHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0
RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBh
Y2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNMYWJlbCwgYm9vbCBpc1Nl
bGVjdGVkKQorV2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25zdCBTdHJp
bmcmIHRleHQsIGNvbnN0IFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlJiBpdGVtU3R5bGUsIGNvbnN0
IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBp
c0VuYWJsZWQsIGJvb2wgaXNMYWJlbCwgYm9vbCBpc1NlbGVjdGVkKQogICAgIDogbV90eXBlKHR5
cGUpCiAgICAgLCBtX3RleHQodGV4dCkKLSAgICAsIG1fdGV4dERpcmVjdGlvbih0ZXh0RGlyZWN0
aW9uKQotICAgICwgbV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUoaGFzVGV4dERpcmVjdGlvbk92
ZXJyaWRlKQorICAgICwgbV9pdGVtU3R5bGUoaXRlbVN0eWxlKQogICAgICwgbV90b29sVGlwKHRv
b2xUaXApCiAgICAgLCBtX2FjY2Vzc2liaWxpdHlUZXh0KGFjY2Vzc2liaWxpdHlUZXh0KQogICAg
ICwgbV9pc0VuYWJsZWQoaXNFbmFibGVkKQpAQCAtNzAsOCArNjcsNyBAQCB2b2lkIFdlYlBvcHVw
SXRlbTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsK
ICAgICBlbmNvZGVyLmVuY29kZUVudW0obV90eXBlKTsKICAgICBlbmNvZGVyIDw8IG1fdGV4dDsK
LSAgICBlbmNvZGVyLmVuY29kZUVudW0obV90ZXh0RGlyZWN0aW9uKTsKLSAgICBlbmNvZGVyIDw8
IG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlOworICAgIGVuY29kZXIgPDwgbV9pdGVtU3R5bGU7
CiAgICAgZW5jb2RlciA8PCBtX3Rvb2xUaXA7CiAgICAgZW5jb2RlciA8PCBtX2FjY2Vzc2liaWxp
dHlUZXh0OwogICAgIGVuY29kZXIgPDwgbV9pc0VuYWJsZWQ7CkBAIC04OCwxMyArODQsOSBAQCBi
b29sIFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgV2ViUG9wdXBJdGVtJiBpdGVtKQogICAgIFN0cmluZyB0ZXh0OwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUodGV4dCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBUZXh0RGly
ZWN0aW9uIHRleHREaXJlY3Rpb247Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0odGV4dERp
cmVjdGlvbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGJvb2wgaGFzVGV4dERpcmVj
dGlvbk92ZXJyaWRlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzVGV4dERpcmVjdGlvbk92
ZXJyaWRlKSkKKyAgICBQb3B1cE1lbnVTdHlsZSBpdGVtU3R5bGU7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShpdGVtU3R5bGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBTdHJpbmcg
dG9vbFRpcDsKQEAgLTExNyw3ICsxMDksNyBAQCBib29sIFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgV2ViUG9wdXBJdGVtJiBpdGVtKQogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaXNTZWxlY3RlZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIGl0ZW0gPSBXZWJQb3B1cEl0ZW0odHlwZSwgdGV4dCwgdGV4dERpcmVjdGlvbiwgaGFz
VGV4dERpcmVjdGlvbk92ZXJyaWRlLCB0b29sVGlwLCBhY2Nlc3NpYmlsaXR5VGV4dCwgaXNFbmFi
bGVkLCBpc0xhYmVsLCBpc1NlbGVjdGVkKTsKKyAgICBpdGVtID0gV2ViUG9wdXBJdGVtKHR5cGUs
IHRleHQsIGl0ZW1TdHlsZSwgdG9vbFRpcCwgYWNjZXNzaWJpbGl0eVRleHQsIGlzRW5hYmxlZCwg
aXNMYWJlbCwgaXNTZWxlY3RlZCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQb3B1cEl0ZW0uaAppbmRleCA4ODRlZTllLi42ZWUwMTlhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlBvcHVwSXRlbS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFdlYlBvcHVw
SXRlbV9oCiAjZGVmaW5lIFdlYlBvcHVwSXRlbV9oCiAKKyNpbmNsdWRlICJQb3B1cE1lbnVTdHls
ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dERpcmVjdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCkBAIC00NCwxNSArNDUsMTQgQEAgc3RydWN0IFdlYlBvcHVwSXRl
bSB7CiAKICAgICBXZWJQb3B1cEl0ZW0oKTsKICAgICBXZWJQb3B1cEl0ZW0oVHlwZSk7Ci0gICAg
V2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgV2ViQ29yZTo6VGV4dERpcmVj
dGlvbiwgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRp
cCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wg
aXNMYWJlbCwgYm9vbCBpc1NlbGVjdGVkKTsKKyAgICBXZWJQb3B1cEl0ZW0oVHlwZSwgY29uc3Qg
U3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZSYgaXRlbVN0eWxlLCBj
b25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0cmluZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJv
b2wgaXNFbmFibGVkLCBib29sIGlzTGFiZWwsIGJvb2wgaXNTZWxlY3RlZCk7CiAKICAgICB2b2lk
IGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgV2ViUG9wdXBJdGVtJik7CiAKICAg
ICBUeXBlIG1fdHlwZTsKICAgICBTdHJpbmcgbV90ZXh0OwotICAgIFdlYkNvcmU6OlRleHREaXJl
Y3Rpb24gbV90ZXh0RGlyZWN0aW9uOwotICAgIGJvb2wgbV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJp
ZGU7CisgICAgV2ViQ29yZTo6UG9wdXBNZW51U3R5bGUgbV9pdGVtU3R5bGU7CiAgICAgU3RyaW5n
IG1fdG9vbFRpcDsKICAgICBTdHJpbmcgbV9hY2Nlc3NpYmlsaXR5VGV4dDsKICAgICBib29sIG1f
aXNFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQ
b3B1cE1lbnVQcm94eUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBv
cHVwTWVudVByb3h5R3RrLmNwcAppbmRleCBhNDE4MzlhLi43NTdhMWVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcApA
QCAtNTgsNiArNTgsNyBAQCBHdGtBY3Rpb24qIFdlYlBvcHVwTWVudVByb3h5R3RrOjpjcmVhdGVH
dGtBY3Rpb25Gb3JNZW51SXRlbShjb25zdCBXZWJQb3B1cEl0ZW0mCiAgICAgR3RrQWN0aW9uKiBh
Y3Rpb24gPSBndGtfYWN0aW9uX25ldyhhY3Rpb25OYW1lLmdldCgpLCBpdGVtLm1fdGV4dC51dGY4
KCkuZGF0YSgpLCBpdGVtLm1fdG9vbFRpcC51dGY4KCkuZGF0YSgpLCAwKTsKICAgICBnX29iamVj
dF9zZXRfZGF0YShHX09CSkVDVChhY3Rpb24pLCAicG9wdXAtbWVudS1hY3Rpb24taW5kZXgiLCBH
SU5UX1RPX1BPSU5URVIoaXRlbUluZGV4KSk7CiAgICAgZ19zaWduYWxfY29ubmVjdChhY3Rpb24s
ICJhY3RpdmF0ZSIsIEdfQ0FMTEJBQ0sobWVudUl0ZW1BY3RpdmF0ZWQpLCB0aGlzKTsKKyAgICBn
dGtfYWN0aW9uX3NldF92aXNpYmxlKGFjdGlvbiwgIWl0ZW0ubV9pdGVtU3R5bGUuaXNEaXNwbGF5
Tm9uZSgpKTsKICAgICBndGtfYWN0aW9uX3NldF9zZW5zaXRpdmUoYWN0aW9uLCBpdGVtLm1faXNF
bmFibGVkKTsKIAogICAgIHJldHVybiBhY3Rpb247CkBAIC02NSwxMCArNjYsMTEgQEAgR3RrQWN0
aW9uKiBXZWJQb3B1cE1lbnVQcm94eUd0azo6Y3JlYXRlR3RrQWN0aW9uRm9yTWVudUl0ZW0oY29u
c3QgV2ViUG9wdXBJdGVtJgogCiB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjpzaG93UG9wdXBN
ZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiwgZG91
YmxlIHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBj
b25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCkK
IHsKLSAgICBpZiAobV9wb3B1cCkKLSAgICAgICAgbV9wb3B1cC0+Y2xlYXIoKTsKLSAgICBlbHNl
CisgICAgaWYgKCFtX3BvcHVwKSB7CiAgICAgICAgIG1fcG9wdXAgPSBHdGtQb3B1cE1lbnU6OmNy
ZWF0ZSgpOworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KG1fcG9wdXAtPnBsYXRmb3JtTWVudSgp
LCAidW5tYXAiLCBHX0NBTExCQUNLKG1lbnVVbm1hcHBlZCksIHRoaXMpOworICAgIH0gZWxzZQor
ICAgICAgICBtX3BvcHVwLT5jbGVhcigpOwogCiAgICAgY29uc3QgaW50IHNpemUgPSBpdGVtcy5z
aXplKCk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKQEAgLTgzLDcgKzg1
LDYgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRS
ZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHQKICAgICBJbnRQb2ludCBtZW51UG9zaXRpb24g
PSBjb252ZXJ0V2lkZ2V0UG9pbnRUb1NjcmVlblBvaW50KG1fd2ViVmlldywgcmVjdC5sb2NhdGlv
bigpKTsKICAgICBtZW51UG9zaXRpb24ubW92ZSgwLCByZWN0LmhlaWdodCgpKTsKIAotICAgIGd1
bG9uZyB1bm1hcEhhbmRsZXIgPSBnX3NpZ25hbF9jb25uZWN0KG1fcG9wdXAtPnBsYXRmb3JtTWVu
dSgpLCAidW5tYXAiLCBHX0NBTExCQUNLKG1lbnVVbm1hcHBlZCksIHRoaXMpOwogICAgIG1fcG9w
dXAtPnBvcFVwKHJlY3Quc2l6ZSgpLCBtZW51UG9zaXRpb24sIHNpemUsIHNlbGVjdGVkSW5kZXgs
IG1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpID8gbV9jbGllbnQt
PmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCktPm5hdGl2ZUV2ZW50KCkgOiAwKTsK
IAogICAgIC8vIFBvcHVwTWVudSBjYW4gZmFpbCB0byBvcGVuIHdoZW4gdGhlcmUgaXMgbm8gbW91
c2UgZ3JhYi4KQEAgLTEwMyw4ICsxMDQsNiBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjpz
aG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dAogCiAg
ICAgbV9ydW5Mb29wLmNsZWFyKCk7CiAKLSAgICBnX3NpZ25hbF9oYW5kbGVyX2Rpc2Nvbm5lY3Qo
bV9wb3B1cC0+cGxhdGZvcm1NZW51KCksIHVubWFwSGFuZGxlcik7Ci0KICAgICBpZiAoIW1fY2xp
ZW50KQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAppbmRleCBkNGFmOTJmLi5i
ZjI5MWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBvcHVwTWVudS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCkBAIC04NywxMyArODcsOCBAQCBWZWN0b3I8V2Vi
UG9wdXBJdGVtPiBXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRlbXMoKQogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAgIGlmIChtX3BvcHVwQ2xpZW50LT5pdGVt
SXNTZXBhcmF0b3IoaSkpCiAgICAgICAgICAgICBpdGVtcy5hcHBlbmQoV2ViUG9wdXBJdGVtKFdl
YlBvcHVwSXRlbTo6U2VwYXJhdG9yKSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb250LgotICAgICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3Jv
dW5kIGNvbG9ycy4KLSAgICAgICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5IHRvIGN1c3RvbWl6
ZSB0ZXh0IGNvbG9yIHdoZW4gYW4gaXRlbSBpcyBoaWdobGlnaHRlZC4KLSAgICAgICAgICAgIFBv
cHVwTWVudVN0eWxlIGl0ZW1TdHlsZSA9IG1fcG9wdXBDbGllbnQtPml0ZW1TdHlsZShpKTsKLSAg
ICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0ZW0oV2ViUG9wdXBJdGVtOjpJdGVtLCBt
X3BvcHVwQ2xpZW50LT5pdGVtVGV4dChpKSwgaXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSwgaXRl
bVN0eWxlLmhhc1RleHREaXJlY3Rpb25PdmVycmlkZSgpLCBtX3BvcHVwQ2xpZW50LT5pdGVtVG9v
bFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxpdHlUZXh0KGkpLCBtX3BvcHVw
Q2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNMYWJlbChpKSwg
bV9wb3B1cENsaWVudC0+aXRlbUlzU2VsZWN0ZWQoaSkpKTsKLSAgICAgICAgfQorICAgICAgICBl
bHNlCisgICAgICAgICAgICBpdGVtcy5hcHBlbmQoV2ViUG9wdXBJdGVtKFdlYlBvcHVwSXRlbTo6
SXRlbSwgbV9wb3B1cENsaWVudC0+aXRlbVRleHQoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1TdHls
ZShpKSwgbV9wb3B1cENsaWVudC0+aXRlbVRvb2xUaXAoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1B
Y2Nlc3NpYmlsaXR5VGV4dChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUlzRW5hYmxlZChpKSwgbV9w
b3B1cENsaWVudC0+aXRlbUlzTGFiZWwoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1Jc1NlbGVjdGVk
KGkpKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGl0ZW1zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193499</attachid>
            <date>2013-03-18 00:55:45 -0700</date>
            <delta_ts>2013-03-18 04:07:20 -0700</delta_ts>
            <desc>Patch for display:none style for PopupMenuItem</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>18047</size>
            <attacher name="Oleg Smirnov">oleg_smirnov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmNjZiNDY2Li5mZTYwYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDMtMTcgIE9sZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisg
ICAgICAgIGRpc3BsYXk6bm9uZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5n
IHN1cHBvcnQgZm9yIFdlYlBvcG9wTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICBObyBuZXcg
dGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZTo6UG9wdXBNZW51U3R5bGUpOgorCiAyMDEz
LTAzLTE3ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSU5QVVRfTVVMVElQTEVfRklFTERTX1VJOiBTdGVwLXVwLy1kb3duIG9mIG1pbnV0ZS9z
ZWNvbmQvbWlsbGlzZWNvbmQgZmllbGRzIHNob3VsZCByZXNwZWN0IG1pbi9tYXggYXR0cmlidXRl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmgKaW5kZXggNjg5ZWQyOS4u
Y2FhYjQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVTdHlsZS5oCkBAIC0z
Nyw2ICszNywxNSBAQCBjbGFzcyBQb3B1cE1lbnVTdHlsZSB7CiBwdWJsaWM6CiAgICAgZW51bSBQ
b3B1cE1lbnVUeXBlIHsgU2VsZWN0UG9wdXAsIEF1dG9maWxsUG9wdXAgfTsKICAgICBlbnVtIEJh
Y2tncm91bmRDb2xvclR5cGUgeyBEZWZhdWx0QmFja2dyb3VuZENvbG9yLCBDdXN0b21CYWNrZ3Jv
dW5kQ29sb3IgfTsKKyAgICBQb3B1cE1lbnVTdHlsZSgpCisgICAgICAgIDogbV92aXNpYmxlKGZh
bHNlKQorICAgICAgICAsIG1faXNEaXNwbGF5Tm9uZShmYWxzZSkKKyAgICAgICAgLCBtX3RleHRE
aXJlY3Rpb24oUlRMKQorICAgICAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNl
KQorICAgICAgICAsIG1fYmFja2dyb3VuZENvbG9yVHlwZShEZWZhdWx0QmFja2dyb3VuZENvbG9y
KQorICAgICAgICAsIG1fbWVudVR5cGUoU2VsZWN0UG9wdXApCisgICAgeworICAgIH0KICAgICBQ
b3B1cE1lbnVTdHlsZShjb25zdCBDb2xvciYgZm9yZWdyb3VuZCwgY29uc3QgQ29sb3ImIGJhY2tn
cm91bmQsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgdmlzaWJsZSwgYm9vbCBpc0Rpc3BsYXlOb25l
LCBMZW5ndGggdGV4dEluZGVudCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBib29sIGhh
c1RleHREaXJlY3Rpb25PdmVycmlkZSwgQmFja2dyb3VuZENvbG9yVHlwZSBiYWNrZ3JvdW5kQ29s
b3JUeXBlID0gRGVmYXVsdEJhY2tncm91bmRDb2xvciwgUG9wdXBNZW51VHlwZSBtZW51VHlwZSA9
IFNlbGVjdFBvcHVwKQogICAgICAgICA6IG1fZm9yZWdyb3VuZENvbG9yKGZvcmVncm91bmQpCiAg
ICAgICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoYmFja2dyb3VuZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNGQy
MWMwLi5jYjhmYjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMDMtMTcgIE9s
ZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisgICAgICAgIGRpc3BsYXk6bm9u
ZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5nIHN1cHBvcnQgZm9yIFdlYlBv
cHVwTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQ
Qyk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlBvcHVwSXRlbS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbTo6V2ViUG9w
dXBJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBJdGVtOjplbmNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW06OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBv
cHVwSXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6Y3JlYXRlR3RrQWN0
aW9uRm9yTWVudUl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6
c2hvd1BvcHVwTWVudSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRl
bXMpOgorCiAyMDEzLTAzLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBJbnZhbGlkIGNoYXJzZXQgZW5jb2RpbmcgdXNpbmcgd2hl
biBzdWJzdGl0dXRpbmcgYSBtaXNzcGVsbGVkIHdvcmQgaW4gV2ViS2l0MgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCAxNmVkYzU0Li5m
OGM0YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcApAQCAtMzYsMTEgKzM2LDE1IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnU2Vzc2lv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxl
Q2hvb3Nlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRm9udC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Rm9udERlc2NyaXB0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lt
YWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZW5n
dGguaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1BvcHVwTWVudVN0eWxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgpAQCAtMjI1LDYgKzIyOSw1NSBAQCBib29sIEFyZ3VtZW50Q29kZXI8
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBBdQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8UG9wdXBNZW51
U3R5bGU+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQb3B1cE1lbnVT
dHlsZSYgcG9wdXBNZW51U3R5bGUpCit7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5m
b3JlZ3JvdW5kQ29sb3IoKTsKKyAgICBlbmNvZGVyIDw8IHBvcHVwTWVudVN0eWxlLmJhY2tncm91
bmRDb2xvcigpOworICAgIGVuY29kZXIgPDwgcG9wdXBNZW51U3R5bGUuZm9udCgpOworICAgIGVu
Y29kZXIgPDwgcG9wdXBNZW51U3R5bGUuaXNWaXNpYmxlKCk7CisgICAgZW5jb2RlciA8PCBwb3B1
cE1lbnVTdHlsZS5pc0Rpc3BsYXlOb25lKCk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHls
ZS50ZXh0SW5kZW50KCk7CisgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHBvcHVwTWVudVN0eWxlLnRl
eHREaXJlY3Rpb24oKSk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5oYXNUZXh0RGly
ZWN0aW9uT3ZlcnJpZGUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBvcHVwTWVudVN0eWxl
Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUG9wdXBNZW51U3R5bGUmIHBvcHVw
TWVudVN0eWxlKQoreworICAgIENvbG9yIGZvcmVncm91bmQ7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShmb3JlZ3JvdW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQ29sb3IgYmFj
a2dyb3VuZDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGJhY2tncm91bmQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBGb250IGZvbnQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShm
b250KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCBpc1Zpc2libGU7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShpc1Zpc2libGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBib29sIGlzRGlzcGxheU5vbmU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc0Rpc3Bs
YXlOb25lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoIHRleHRJbmRlbnQ7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0ZXh0SW5kZW50KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHRleHREaXJlY3Rpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBib29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHBvcHVwTWVudVN0eWxlID0gUG9wdXBNZW51U3R5bGUoZm9yZWdyb3VuZCwgYmFja2dyb3VuZCwg
Zm9udCwgaXNWaXNpYmxlLCBpc0Rpc3BsYXlOb25lLCB0ZXh0SW5kZW50LCB0ZXh0RGlyZWN0aW9u
LCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUpOworICAgIHJldHVybiB0cnVlOworfQogCiB2b2lk
IEFyZ3VtZW50Q29kZXI8UHJvdGVjdGlvblNwYWNlPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBzcGFjZSkKIHsKQEAgLTgyNCw2ICs4Nzcs
NDEgQEAgYm9vbCBBcmd1bWVudENvZGVyPEZpbGVDaG9vc2VyU2V0dGluZ3M+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBGaWxlQ2gKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9p
ZCBBcmd1bWVudENvZGVyPEZvbnQ+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBGb250JiBmb250KQoreworICAgIGVuY29kZXIgPDwgZm9udC5mb250RGVzY3JpcHRpb24o
KTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludD4oZm9udC5sZXR0ZXJTcGFjaW5nKCkp
OworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8aW50Pihmb250LndvcmRTcGFjaW5nKCkpOwor
fQorCitib29sIEFyZ3VtZW50Q29kZXI8Rm9udD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIEZvbnQmIGZvbnQpCit7CisgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjcmlwdGlw
dGlvbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZvbnREZXNjcmlwdGlwdGlvbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGludCBsZXR0ZXJTcGFjaW5nOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUobGV0dGVyU3BhY2luZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGludCB3b3JkU3BhY2luZzsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHdvcmRTcGFjaW5nKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9udCA9IEZvbnQoZm9udERlc2NyaXB0aXB0
aW9uLCBsZXR0ZXJTcGFjaW5nLCB3b3JkU3BhY2luZyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K3ZvaWQgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjplbmNvZGUoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sK
KyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIHN0eWxpbmcgdGhlIGZvbnQuCit9CisKK2Jv
b2wgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sKKyAgICBmb250
RGVzY3JpcHRpb24gPSBGb250RGVzY3JpcHRpb24oKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAog
dm9pZCBBcmd1bWVudENvZGVyPEdyYW1tYXJEZXRhaWw+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBHcmFtbWFyRGV0YWlsJiBkZXRhaWwpCiB7CkBAIC05MzMsNiArMTAy
MSwzMSBAQCBib29sIEFyZ3VtZW50Q29kZXI8S1VSTD46OmRlY29kZShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIEtVUkwmIHJlc3VsdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPExlbmd0aD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0
IExlbmd0aCYgbGVuZ3RoKQoreworICAgIGVuY29kZXIgPDwgbGVuZ3RoLnZhbHVlKCk7CisgICAg
ZW5jb2RlciA8PCBsZW5ndGgucXVpcmsoKTsKKyAgICBlbmNvZGVyLmVuY29kZUVudW0obGVuZ3Ro
LnR5cGUoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGVyLCBMZW5ndGgmIGxlbmd0aCkKK3sKKyAgICBmbG9hdCB2YWx1ZTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgYm9vbCBxdWlyazsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHF1aXJrKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoVHlwZSB0eXBlOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBsZW5ndGgg
PSBMZW5ndGgodmFsdWUsIHR5cGUsIHF1aXJrKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9p
ZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Pjo6ZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQmIHVzZXJTdHls
ZVNoZWV0KQogewogICAgIGVuY29kZXIgPDwgdXNlclN0eWxlU2hlZXQuc291cmNlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggY2FlOWQ5
YS4uYTEyYjI0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaApAQCAtMzUsNiArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q3JlZGVudGlhbDsKICAgICBjbGFzcyBDdXJzb3I7CiAgICAgY2xhc3MgRGF0YWJhc2VEZXRhaWxz
OworICAgIGNsYXNzIEZvbnQ7CisgICAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogICAgIGNsYXNz
IEZsb2F0UG9pbnQ7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEZsb2F0U2l6ZTsK
QEAgLTQ0LDcgKzQ2LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEludFNpemU7
CiAgICAgY2xhc3MgS2V5ZnJhbWVWYWx1ZUxpc3Q7CiAgICAgY2xhc3MgS1VSTDsKKyAgICBjbGFz
cyBMZW5ndGg7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOworICAgIGNsYXNzIFBvcHVwTWVudVN0
eWxlOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBjbGFzcyBSZXNvdXJjZUVycm9y
OwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTc4LDYgKzgyLDE2IEBAIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QWZmaW5lVHJhbnNmb3JtPiB7CiAgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkFmZmluZVRyYW5z
Zm9ybSYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpG
b250PiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdl
YkNvcmU6OkZvbnQmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwg
V2ViQ29yZTo6Rm9udCYpOworfTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpGb250RGVzY3JpcHRpb24+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1l
bnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uJik7CisgICAgc3RhdGlj
IGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbiYp
OworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpGbG9hdFBv
aW50PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiwgV2ViQ29yZTo6RmxvYXRQb2ludCYpOwpAQCAtMTMzLDYgKzE0NywxMSBAQCB0ZW1wbGF0
ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
PiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVu
dENvZGVyPFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlPiB7CisgICAgc3RhdGljIHZvaWQgZW5jb2Rl
KEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlJik7CisgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlBvcHVwTWVudVN0
eWxlJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlBy
b3RlY3Rpb25TcGFjZT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXIm
LCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNv
ZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJik7CkBAIC0yNDgs
NiArMjY3LDExIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6S1VS
TD4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpL
VVJMJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6Okxl
bmd0aD4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBX
ZWJDb3JlOjpMZW5ndGgmKTsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiwgV2ViQ29yZTo6TGVuZ3RoJik7Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFy
Z3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Jik7CiAgICAgc3Rh
dGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCmluZGV4IDg5NzExYWIuLmMw
Y2QwZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCkBAIC0yOSw2ICsy
OSw3IEBACiAKICNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkFyZ3VtZW50
cy5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIApAQCAtMzYsMjggKzM3LDI0IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBX
ZWJQb3B1cEl0ZW06OldlYlBvcHVwSXRlbSgpCiAgICAgOiBtX3R5cGUoSXRlbSkKLSAgICAsIG1f
dGV4dERpcmVjdGlvbihMVFIpCi0gICAgLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZShmYWxz
ZSkKICAgICAsIG1faXNFbmFibGVkKHRydWUpCisgICAgLCBtX2lzTGFiZWwoZmFsc2UpCiAgICAg
LCBtX2lzU2VsZWN0ZWQoZmFsc2UpCiB7CiB9CiAKIFdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVt
KFR5cGUgdHlwZSkKICAgICA6IG1fdHlwZSh0eXBlKQotICAgICwgbV90ZXh0RGlyZWN0aW9uKExU
UikKLSAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNlKQogICAgICwgbV9pc0Vu
YWJsZWQodHJ1ZSkKICAgICAsIG1faXNMYWJlbChmYWxzZSkKICAgICAsIG1faXNTZWxlY3RlZChm
YWxzZSkKIHsKIH0KIAotV2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25z
dCBTdHJpbmcmIHRleHQsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0
RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBh
Y2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNMYWJlbCwgYm9vbCBpc1Nl
bGVjdGVkKQorV2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25zdCBTdHJp
bmcmIHRleHQsIGNvbnN0IFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlJiBpdGVtU3R5bGUsIGNvbnN0
IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBp
c0VuYWJsZWQsIGJvb2wgaXNMYWJlbCwgYm9vbCBpc1NlbGVjdGVkKQogICAgIDogbV90eXBlKHR5
cGUpCiAgICAgLCBtX3RleHQodGV4dCkKLSAgICAsIG1fdGV4dERpcmVjdGlvbih0ZXh0RGlyZWN0
aW9uKQotICAgICwgbV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUoaGFzVGV4dERpcmVjdGlvbk92
ZXJyaWRlKQorICAgICwgbV9pdGVtU3R5bGUoaXRlbVN0eWxlKQogICAgICwgbV90b29sVGlwKHRv
b2xUaXApCiAgICAgLCBtX2FjY2Vzc2liaWxpdHlUZXh0KGFjY2Vzc2liaWxpdHlUZXh0KQogICAg
ICwgbV9pc0VuYWJsZWQoaXNFbmFibGVkKQpAQCAtNzAsOCArNjcsNyBAQCB2b2lkIFdlYlBvcHVw
SXRlbTo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsK
ICAgICBlbmNvZGVyLmVuY29kZUVudW0obV90eXBlKTsKICAgICBlbmNvZGVyIDw8IG1fdGV4dDsK
LSAgICBlbmNvZGVyLmVuY29kZUVudW0obV90ZXh0RGlyZWN0aW9uKTsKLSAgICBlbmNvZGVyIDw8
IG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlOworICAgIGVuY29kZXIgPDwgbV9pdGVtU3R5bGU7
CiAgICAgZW5jb2RlciA8PCBtX3Rvb2xUaXA7CiAgICAgZW5jb2RlciA8PCBtX2FjY2Vzc2liaWxp
dHlUZXh0OwogICAgIGVuY29kZXIgPDwgbV9pc0VuYWJsZWQ7CkBAIC04OCwxMyArODQsOSBAQCBi
b29sIFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2Rl
ciwgV2ViUG9wdXBJdGVtJiBpdGVtKQogICAgIFN0cmluZyB0ZXh0OwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUodGV4dCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBUZXh0RGly
ZWN0aW9uIHRleHREaXJlY3Rpb247Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0odGV4dERp
cmVjdGlvbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGJvb2wgaGFzVGV4dERpcmVj
dGlvbk92ZXJyaWRlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaGFzVGV4dERpcmVjdGlvbk92
ZXJyaWRlKSkKKyAgICBQb3B1cE1lbnVTdHlsZSBpdGVtU3R5bGU7CisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShpdGVtU3R5bGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBTdHJpbmcg
dG9vbFRpcDsKQEAgLTExNyw3ICsxMDksNyBAQCBib29sIFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENv
cmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgV2ViUG9wdXBJdGVtJiBpdGVtKQogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaXNTZWxlY3RlZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIGl0ZW0gPSBXZWJQb3B1cEl0ZW0odHlwZSwgdGV4dCwgdGV4dERpcmVjdGlvbiwgaGFz
VGV4dERpcmVjdGlvbk92ZXJyaWRlLCB0b29sVGlwLCBhY2Nlc3NpYmlsaXR5VGV4dCwgaXNFbmFi
bGVkLCBpc0xhYmVsLCBpc1NlbGVjdGVkKTsKKyAgICBpdGVtID0gV2ViUG9wdXBJdGVtKHR5cGUs
IHRleHQsIGl0ZW1TdHlsZSwgdG9vbFRpcCwgYWNjZXNzaWJpbGl0eVRleHQsIGlzRW5hYmxlZCwg
aXNMYWJlbCwgaXNTZWxlY3RlZCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQb3B1cEl0ZW0uaAppbmRleCA4ODRlZTllLi42ZWUwMTlhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlBvcHVwSXRlbS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFdlYlBvcHVw
SXRlbV9oCiAjZGVmaW5lIFdlYlBvcHVwSXRlbV9oCiAKKyNpbmNsdWRlICJQb3B1cE1lbnVTdHls
ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dERpcmVjdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCkBAIC00NCwxNSArNDUsMTQgQEAgc3RydWN0IFdlYlBvcHVwSXRl
bSB7CiAKICAgICBXZWJQb3B1cEl0ZW0oKTsKICAgICBXZWJQb3B1cEl0ZW0oVHlwZSk7Ci0gICAg
V2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgV2ViQ29yZTo6VGV4dERpcmVj
dGlvbiwgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRp
cCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wg
aXNMYWJlbCwgYm9vbCBpc1NlbGVjdGVkKTsKKyAgICBXZWJQb3B1cEl0ZW0oVHlwZSwgY29uc3Qg
U3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZSYgaXRlbVN0eWxlLCBj
b25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0cmluZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJv
b2wgaXNFbmFibGVkLCBib29sIGlzTGFiZWwsIGJvb2wgaXNTZWxlY3RlZCk7CiAKICAgICB2b2lk
IGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgV2ViUG9wdXBJdGVtJik7CiAKICAg
ICBUeXBlIG1fdHlwZTsKICAgICBTdHJpbmcgbV90ZXh0OwotICAgIFdlYkNvcmU6OlRleHREaXJl
Y3Rpb24gbV90ZXh0RGlyZWN0aW9uOwotICAgIGJvb2wgbV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJp
ZGU7CisgICAgV2ViQ29yZTo6UG9wdXBNZW51U3R5bGUgbV9pdGVtU3R5bGU7CiAgICAgU3RyaW5n
IG1fdG9vbFRpcDsKICAgICBTdHJpbmcgbV9hY2Nlc3NpYmlsaXR5VGV4dDsKICAgICBib29sIG1f
aXNFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQ
b3B1cE1lbnVQcm94eUd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBv
cHVwTWVudVByb3h5R3RrLmNwcAppbmRleCBhNDE4MzlhLi43NTdhMWVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcApA
QCAtNTgsNiArNTgsNyBAQCBHdGtBY3Rpb24qIFdlYlBvcHVwTWVudVByb3h5R3RrOjpjcmVhdGVH
dGtBY3Rpb25Gb3JNZW51SXRlbShjb25zdCBXZWJQb3B1cEl0ZW0mCiAgICAgR3RrQWN0aW9uKiBh
Y3Rpb24gPSBndGtfYWN0aW9uX25ldyhhY3Rpb25OYW1lLmdldCgpLCBpdGVtLm1fdGV4dC51dGY4
KCkuZGF0YSgpLCBpdGVtLm1fdG9vbFRpcC51dGY4KCkuZGF0YSgpLCAwKTsKICAgICBnX29iamVj
dF9zZXRfZGF0YShHX09CSkVDVChhY3Rpb24pLCAicG9wdXAtbWVudS1hY3Rpb24taW5kZXgiLCBH
SU5UX1RPX1BPSU5URVIoaXRlbUluZGV4KSk7CiAgICAgZ19zaWduYWxfY29ubmVjdChhY3Rpb24s
ICJhY3RpdmF0ZSIsIEdfQ0FMTEJBQ0sobWVudUl0ZW1BY3RpdmF0ZWQpLCB0aGlzKTsKKyAgICBn
dGtfYWN0aW9uX3NldF92aXNpYmxlKGFjdGlvbiwgIWl0ZW0ubV9pdGVtU3R5bGUuaXNEaXNwbGF5
Tm9uZSgpKTsKICAgICBndGtfYWN0aW9uX3NldF9zZW5zaXRpdmUoYWN0aW9uLCBpdGVtLm1faXNF
bmFibGVkKTsKIAogICAgIHJldHVybiBhY3Rpb247CkBAIC02NSwxMCArNjYsMTEgQEAgR3RrQWN0
aW9uKiBXZWJQb3B1cE1lbnVQcm94eUd0azo6Y3JlYXRlR3RrQWN0aW9uRm9yTWVudUl0ZW0oY29u
c3QgV2ViUG9wdXBJdGVtJgogCiB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjpzaG93UG9wdXBN
ZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiwgZG91
YmxlIHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgVmVjdG9yPFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBj
b25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCkK
IHsKLSAgICBpZiAobV9wb3B1cCkKLSAgICAgICAgbV9wb3B1cC0+Y2xlYXIoKTsKLSAgICBlbHNl
CisgICAgaWYgKCFtX3BvcHVwKSB7CiAgICAgICAgIG1fcG9wdXAgPSBHdGtQb3B1cE1lbnU6OmNy
ZWF0ZSgpOworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KG1fcG9wdXAtPnBsYXRmb3JtTWVudSgp
LCAidW5tYXAiLCBHX0NBTExCQUNLKG1lbnVVbm1hcHBlZCksIHRoaXMpOworICAgIH0gZWxzZQor
ICAgICAgICBtX3BvcHVwLT5jbGVhcigpOwogCiAgICAgY29uc3QgaW50IHNpemUgPSBpdGVtcy5z
aXplKCk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKQEAgLTgzLDcgKzg1
LDYgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6c2hvd1BvcHVwTWVudShjb25zdCBJbnRS
ZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHQKICAgICBJbnRQb2ludCBtZW51UG9zaXRpb24g
PSBjb252ZXJ0V2lkZ2V0UG9pbnRUb1NjcmVlblBvaW50KG1fd2ViVmlldywgcmVjdC5sb2NhdGlv
bigpKTsKICAgICBtZW51UG9zaXRpb24ubW92ZSgwLCByZWN0LmhlaWdodCgpKTsKIAotICAgIGd1
bG9uZyB1bm1hcEhhbmRsZXIgPSBnX3NpZ25hbF9jb25uZWN0KG1fcG9wdXAtPnBsYXRmb3JtTWVu
dSgpLCAidW5tYXAiLCBHX0NBTExCQUNLKG1lbnVVbm1hcHBlZCksIHRoaXMpOwogICAgIG1fcG9w
dXAtPnBvcFVwKHJlY3Quc2l6ZSgpLCBtZW51UG9zaXRpb24sIHNpemUsIHNlbGVjdGVkSW5kZXgs
IG1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNzZWRNb3VzZURvd25FdmVudCgpID8gbV9jbGllbnQt
PmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCktPm5hdGl2ZUV2ZW50KCkgOiAwKTsK
IAogICAgIC8vIFBvcHVwTWVudSBjYW4gZmFpbCB0byBvcGVuIHdoZW4gdGhlcmUgaXMgbm8gbW91
c2UgZ3JhYi4KQEAgLTEwMyw4ICsxMDQsNiBAQCB2b2lkIFdlYlBvcHVwTWVudVByb3h5R3RrOjpz
aG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJlY3Rpb24gdGV4dAogCiAg
ICAgbV9ydW5Mb29wLmNsZWFyKCk7CiAKLSAgICBnX3NpZ25hbF9oYW5kbGVyX2Rpc2Nvbm5lY3Qo
bV9wb3B1cC0+cGxhdGZvcm1NZW51KCksIHVubWFwSGFuZGxlcik7Ci0KICAgICBpZiAoIW1fY2xp
ZW50KQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcAppbmRleCBkNGFmOTJmLi5i
ZjI5MWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBvcHVwTWVudS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCkBAIC04NywxMyArODcsOCBAQCBWZWN0b3I8V2Vi
UG9wdXBJdGVtPiBXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRlbXMoKQogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAgIGlmIChtX3BvcHVwQ2xpZW50LT5pdGVt
SXNTZXBhcmF0b3IoaSkpCiAgICAgICAgICAgICBpdGVtcy5hcHBlbmQoV2ViUG9wdXBJdGVtKFdl
YlBvcHVwSXRlbTo6U2VwYXJhdG9yKSk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb250LgotICAgICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRoZSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3Jv
dW5kIGNvbG9ycy4KLSAgICAgICAgICAgIC8vIEZJWE1FOiBGaW5kIGEgd2F5IHRvIGN1c3RvbWl6
ZSB0ZXh0IGNvbG9yIHdoZW4gYW4gaXRlbSBpcyBoaWdobGlnaHRlZC4KLSAgICAgICAgICAgIFBv
cHVwTWVudVN0eWxlIGl0ZW1TdHlsZSA9IG1fcG9wdXBDbGllbnQtPml0ZW1TdHlsZShpKTsKLSAg
ICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0ZW0oV2ViUG9wdXBJdGVtOjpJdGVtLCBt
X3BvcHVwQ2xpZW50LT5pdGVtVGV4dChpKSwgaXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSwgaXRl
bVN0eWxlLmhhc1RleHREaXJlY3Rpb25PdmVycmlkZSgpLCBtX3BvcHVwQ2xpZW50LT5pdGVtVG9v
bFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxpdHlUZXh0KGkpLCBtX3BvcHVw
Q2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNMYWJlbChpKSwg
bV9wb3B1cENsaWVudC0+aXRlbUlzU2VsZWN0ZWQoaSkpKTsKLSAgICAgICAgfQorICAgICAgICBl
bHNlCisgICAgICAgICAgICBpdGVtcy5hcHBlbmQoV2ViUG9wdXBJdGVtKFdlYlBvcHVwSXRlbTo6
SXRlbSwgbV9wb3B1cENsaWVudC0+aXRlbVRleHQoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1TdHls
ZShpKSwgbV9wb3B1cENsaWVudC0+aXRlbVRvb2xUaXAoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1B
Y2Nlc3NpYmlsaXR5VGV4dChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUlzRW5hYmxlZChpKSwgbV9w
b3B1cENsaWVudC0+aXRlbUlzTGFiZWwoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1Jc1NlbGVjdGVk
KGkpKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGl0ZW1zOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193522</attachid>
            <date>2013-03-18 04:07:20 -0700</date>
            <delta_ts>2013-03-18 04:44:17 -0700</delta_ts>
            <desc>Patch for display:none style for PopupMenuItem</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>18242</size>
            <attacher name="Oleg Smirnov">oleg_smirnov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmNjZiNDY2Li5mZTYwYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDMtMTcgIE9sZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisg
ICAgICAgIGRpc3BsYXk6bm9uZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5n
IHN1cHBvcnQgZm9yIFdlYlBvcG9wTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICBObyBuZXcg
dGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZTo6UG9wdXBNZW51U3R5bGUpOgorCiAyMDEz
LTAzLTE3ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSU5QVVRfTVVMVElQTEVfRklFTERTX1VJOiBTdGVwLXVwLy1kb3duIG9mIG1pbnV0ZS9z
ZWNvbmQvbWlsbGlzZWNvbmQgZmllbGRzIHNob3VsZCByZXNwZWN0IG1pbi9tYXggYXR0cmlidXRl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmgKaW5kZXggNjg5ZWQyOS4u
Y2FhYjQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVTdHlsZS5oCkBAIC0z
Nyw2ICszNywxNSBAQCBjbGFzcyBQb3B1cE1lbnVTdHlsZSB7CiBwdWJsaWM6CiAgICAgZW51bSBQ
b3B1cE1lbnVUeXBlIHsgU2VsZWN0UG9wdXAsIEF1dG9maWxsUG9wdXAgfTsKICAgICBlbnVtIEJh
Y2tncm91bmRDb2xvclR5cGUgeyBEZWZhdWx0QmFja2dyb3VuZENvbG9yLCBDdXN0b21CYWNrZ3Jv
dW5kQ29sb3IgfTsKKyAgICBQb3B1cE1lbnVTdHlsZSgpCisgICAgICAgIDogbV92aXNpYmxlKGZh
bHNlKQorICAgICAgICAsIG1faXNEaXNwbGF5Tm9uZShmYWxzZSkKKyAgICAgICAgLCBtX3RleHRE
aXJlY3Rpb24oUlRMKQorICAgICAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNl
KQorICAgICAgICAsIG1fYmFja2dyb3VuZENvbG9yVHlwZShEZWZhdWx0QmFja2dyb3VuZENvbG9y
KQorICAgICAgICAsIG1fbWVudVR5cGUoU2VsZWN0UG9wdXApCisgICAgeworICAgIH0KICAgICBQ
b3B1cE1lbnVTdHlsZShjb25zdCBDb2xvciYgZm9yZWdyb3VuZCwgY29uc3QgQ29sb3ImIGJhY2tn
cm91bmQsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgdmlzaWJsZSwgYm9vbCBpc0Rpc3BsYXlOb25l
LCBMZW5ndGggdGV4dEluZGVudCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBib29sIGhh
c1RleHREaXJlY3Rpb25PdmVycmlkZSwgQmFja2dyb3VuZENvbG9yVHlwZSBiYWNrZ3JvdW5kQ29s
b3JUeXBlID0gRGVmYXVsdEJhY2tncm91bmRDb2xvciwgUG9wdXBNZW51VHlwZSBtZW51VHlwZSA9
IFNlbGVjdFBvcHVwKQogICAgICAgICA6IG1fZm9yZWdyb3VuZENvbG9yKGZvcmVncm91bmQpCiAg
ICAgICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoYmFja2dyb3VuZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNGQy
MWMwLi5jYjhmYjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMDMtMTcgIE9s
ZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisgICAgICAgIGRpc3BsYXk6bm9u
ZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5nIHN1cHBvcnQgZm9yIFdlYlBv
cHVwTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQ
Qyk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlBvcHVwSXRlbS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbTo6V2ViUG9w
dXBJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBJdGVtOjplbmNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW06OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBv
cHVwSXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6Y3JlYXRlR3RrQWN0
aW9uRm9yTWVudUl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6
c2hvd1BvcHVwTWVudSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRl
bXMpOgorCiAyMDEzLTAzLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBJbnZhbGlkIGNoYXJzZXQgZW5jb2RpbmcgdXNpbmcgd2hl
biBzdWJzdGl0dXRpbmcgYSBtaXNzcGVsbGVkIHdvcmQgaW4gV2ViS2l0MgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCAxNmVkYzU0Li5m
OGM0YTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcApAQCAtMzYsMTEgKzM2LDE1IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnU2Vzc2lv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxl
Q2hvb3Nlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRm9udC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Rm9udERlc2NyaXB0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lt
YWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZW5n
dGguaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1BvcHVwTWVudVN0eWxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgpAQCAtMjI1LDYgKzIyOSw1NSBAQCBib29sIEFyZ3VtZW50Q29kZXI8
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBBdQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8UG9wdXBNZW51
U3R5bGU+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQb3B1cE1lbnVT
dHlsZSYgcG9wdXBNZW51U3R5bGUpCit7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5m
b3JlZ3JvdW5kQ29sb3IoKTsKKyAgICBlbmNvZGVyIDw8IHBvcHVwTWVudVN0eWxlLmJhY2tncm91
bmRDb2xvcigpOworICAgIGVuY29kZXIgPDwgcG9wdXBNZW51U3R5bGUuZm9udCgpOworICAgIGVu
Y29kZXIgPDwgcG9wdXBNZW51U3R5bGUuaXNWaXNpYmxlKCk7CisgICAgZW5jb2RlciA8PCBwb3B1
cE1lbnVTdHlsZS5pc0Rpc3BsYXlOb25lKCk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHls
ZS50ZXh0SW5kZW50KCk7CisgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHBvcHVwTWVudVN0eWxlLnRl
eHREaXJlY3Rpb24oKSk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5oYXNUZXh0RGly
ZWN0aW9uT3ZlcnJpZGUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBvcHVwTWVudVN0eWxl
Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUG9wdXBNZW51U3R5bGUmIHBvcHVw
TWVudVN0eWxlKQoreworICAgIENvbG9yIGZvcmVncm91bmQ7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShmb3JlZ3JvdW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQ29sb3IgYmFj
a2dyb3VuZDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGJhY2tncm91bmQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBGb250IGZvbnQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShm
b250KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCBpc1Zpc2libGU7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShpc1Zpc2libGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBib29sIGlzRGlzcGxheU5vbmU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc0Rpc3Bs
YXlOb25lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoIHRleHRJbmRlbnQ7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0ZXh0SW5kZW50KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHRleHREaXJlY3Rpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBib29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHBvcHVwTWVudVN0eWxlID0gUG9wdXBNZW51U3R5bGUoZm9yZWdyb3VuZCwgYmFja2dyb3VuZCwg
Zm9udCwgaXNWaXNpYmxlLCBpc0Rpc3BsYXlOb25lLCB0ZXh0SW5kZW50LCB0ZXh0RGlyZWN0aW9u
LCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUpOworICAgIHJldHVybiB0cnVlOworfQogCiB2b2lk
IEFyZ3VtZW50Q29kZXI8UHJvdGVjdGlvblNwYWNlPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBzcGFjZSkKIHsKQEAgLTgyNCw2ICs4Nzcs
NDEgQEAgYm9vbCBBcmd1bWVudENvZGVyPEZpbGVDaG9vc2VyU2V0dGluZ3M+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBGaWxlQ2gKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9p
ZCBBcmd1bWVudENvZGVyPEZvbnQ+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBGb250JiBmb250KQoreworICAgIGVuY29kZXIgPDwgZm9udC5mb250RGVzY3JpcHRpb24o
KTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludD4oZm9udC5sZXR0ZXJTcGFjaW5nKCkp
OworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8aW50Pihmb250LndvcmRTcGFjaW5nKCkpOwor
fQorCitib29sIEFyZ3VtZW50Q29kZXI8Rm9udD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIEZvbnQmIGZvbnQpCit7CisgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjcmlwdGlw
dGlvbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZvbnREZXNjcmlwdGlwdGlvbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGludCBsZXR0ZXJTcGFjaW5nOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUobGV0dGVyU3BhY2luZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGludCB3b3JkU3BhY2luZzsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHdvcmRTcGFjaW5nKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9udCA9IEZvbnQoZm9udERlc2NyaXB0aXB0
aW9uLCBsZXR0ZXJTcGFjaW5nLCB3b3JkU3BhY2luZyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K3ZvaWQgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjplbmNvZGUoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sK
KyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIHN0eWxpbmcgdGhlIGZvbnQuCit9CisKK2Jv
b2wgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sKKyAgICBmb250
RGVzY3JpcHRpb24gPSBGb250RGVzY3JpcHRpb24oKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAog
dm9pZCBBcmd1bWVudENvZGVyPEdyYW1tYXJEZXRhaWw+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBHcmFtbWFyRGV0YWlsJiBkZXRhaWwpCiB7CkBAIC05MzMsNiArMTAy
MSwzMSBAQCBib29sIEFyZ3VtZW50Q29kZXI8S1VSTD46OmRlY29kZShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIEtVUkwmIHJlc3VsdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBBcmd1
bWVudENvZGVyPExlbmd0aD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0
IExlbmd0aCYgbGVuZ3RoKQoreworICAgIGVuY29kZXIgPDwgbGVuZ3RoLnZhbHVlKCk7CisgICAg
ZW5jb2RlciA8PCBsZW5ndGgucXVpcmsoKTsKKyAgICBlbmNvZGVyLmVuY29kZUVudW0obGVuZ3Ro
LnR5cGUoKSk7Cit9CisKK2Jvb2wgQXJndW1lbnRDb2RlcjxMZW5ndGg+OjpkZWNvZGUoQXJndW1l
bnREZWNvZGVyJiBkZWNvZGVyLCBMZW5ndGgmIGxlbmd0aCkKK3sKKyAgICBmbG9hdCB2YWx1ZTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgYm9vbCBxdWlyazsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHF1aXJrKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoVHlwZSB0eXBlOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBsZW5ndGgg
PSBMZW5ndGgodmFsdWUsIHR5cGUsIHF1aXJrKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9p
ZCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Pjo6ZW5jb2RlKEFyZ3VtZW50
RW5jb2RlciYgZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6VXNlclN0eWxlU2hlZXQmIHVzZXJTdHls
ZVNoZWV0KQogewogICAgIGVuY29kZXIgPDwgdXNlclN0eWxlU2hlZXQuc291cmNlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggY2FlOWQ5
YS4uYzgwZmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaApAQCAtMzUsNiArMzUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3Mg
Q3JlZGVudGlhbDsKICAgICBjbGFzcyBDdXJzb3I7CiAgICAgY2xhc3MgRGF0YWJhc2VEZXRhaWxz
OworICAgIGNsYXNzIEZvbnQ7CisgICAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwogICAgIGNsYXNz
IEZsb2F0UG9pbnQ7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEZsb2F0U2l6ZTsK
QEAgLTQ1LDYgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEtleWZyYW1l
VmFsdWVMaXN0OwogICAgIGNsYXNzIEtVUkw7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOworICAg
IGNsYXNzIFBvcHVwTWVudVN0eWxlOwogICAgIGNsYXNzIFByb3RlY3Rpb25TcGFjZTsKICAgICBj
bGFzcyBSZXNvdXJjZUVycm9yOwogICAgIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTU4LDYg
KzYxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0cnVjdCBEcmFnU2Vzc2lvbjsKICAg
ICBzdHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKICAgICBzdHJ1Y3QgR3JhbW1hckRldGFpbDsK
KyAgICBzdHJ1Y3QgTGVuZ3RoOwogICAgIHN0cnVjdCBNaW1lQ2xhc3NJbmZvOwogICAgIHN0cnVj
dCBQbHVnaW5JbmZvOwogICAgIHN0cnVjdCBUZXh0Q2hlY2tpbmdSZXN1bHQ7CkBAIC03OCw2ICs4
MiwxNiBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkFmZmluZVRy
YW5zZm9ybT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJD
b3JlOjpBZmZpbmVUcmFuc2Zvcm0mKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6Rm9udD4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpGb250Jik7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkZvbnQmKTsKK307CisKK3RlbXBsYXRlPD4gc3RydWN0
IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uPiB7CisgICAgc3RhdGljIHZv
aWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkZvbnREZXNjcmlwdGlv
biYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpG
b250RGVzY3JpcHRpb24mKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8
V2ViQ29yZTo6RmxvYXRQb2ludD4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVu
Y29kZXImLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CiAgICAgc3RhdGljIGJvb2wgZGVj
b2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKQEAgLTEzMyw2ICsx
NDcsMTEgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29k
ZXImLCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogfTsKIAordGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZT4geworICAgIHN0
YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpQb3B1cE1l
bnVTdHlsZSYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJD
b3JlOjpQb3B1cE1lbnVTdHlsZSYpOworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2U+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
QXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJik7CiAgICAg
c3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlByb3RlY3Rpb25T
cGFjZSYpOwpAQCAtMjQ4LDYgKzI2NywxMSBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENv
ZGVyPFdlYkNvcmU6OktVUkw+IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNv
ZGVyJiwgV2ViQ29yZTo6S1VSTCYpOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRD
b2RlcjxXZWJDb3JlOjpMZW5ndGg+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRF
bmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6TGVuZ3RoJik7CisgICAgc3RhdGljIGJvb2wgZGVjb2Rl
KEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6Okxlbmd0aCYpOworfTsKKwogdGVtcGxhdGU8PiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpVc2VyU3R5bGVTaGVldD4gewogICAgIHN0YXRp
YyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpVc2VyU3R5bGVT
aGVldCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBXZWJDb3Jl
OjpVc2VyU3R5bGVTaGVldCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlBvcHVwSXRlbS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcApp
bmRleCA4OTcxMWFiLi5jMGNkMGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUG9wdXBJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVt
LmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNp
bmNsdWRlICJBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTM2LDI4ICszNywyNCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogV2ViUG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oKQogICAgIDogbV90eXBl
KEl0ZW0pCi0gICAgLCBtX3RleHREaXJlY3Rpb24oTFRSKQotICAgICwgbV9oYXNUZXh0RGlyZWN0
aW9uT3ZlcnJpZGUoZmFsc2UpCiAgICAgLCBtX2lzRW5hYmxlZCh0cnVlKQorICAgICwgbV9pc0xh
YmVsKGZhbHNlKQogICAgICwgbV9pc1NlbGVjdGVkKGZhbHNlKQogewogfQogCiBXZWJQb3B1cEl0
ZW06OldlYlBvcHVwSXRlbShUeXBlIHR5cGUpCiAgICAgOiBtX3R5cGUodHlwZSkKLSAgICAsIG1f
dGV4dERpcmVjdGlvbihMVFIpCi0gICAgLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZShmYWxz
ZSkKICAgICAsIG1faXNFbmFibGVkKHRydWUpCiAgICAgLCBtX2lzTGFiZWwoZmFsc2UpCiAgICAg
LCBtX2lzU2VsZWN0ZWQoZmFsc2UpCiB7CiB9CiAKLVdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVt
KFR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rp
b24sIGJvb2wgaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlLCBjb25zdCBTdHJpbmcmIHRvb2xUaXAs
IGNvbnN0IFN0cmluZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJvb2wgaXNFbmFibGVkLCBib29sIGlz
TGFiZWwsIGJvb2wgaXNTZWxlY3RlZCkKK1dlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKFR5cGUg
dHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZSYg
aXRlbVN0eWxlLCBjb25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0cmluZyYgYWNjZXNzaWJp
bGl0eVRleHQsIGJvb2wgaXNFbmFibGVkLCBib29sIGlzTGFiZWwsIGJvb2wgaXNTZWxlY3RlZCkK
ICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV90ZXh0KHRleHQpCi0gICAgLCBtX3RleHREaXJl
Y3Rpb24odGV4dERpcmVjdGlvbikKLSAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGhh
c1RleHREaXJlY3Rpb25PdmVycmlkZSkKKyAgICAsIG1faXRlbVN0eWxlKGl0ZW1TdHlsZSkKICAg
ICAsIG1fdG9vbFRpcCh0b29sVGlwKQogICAgICwgbV9hY2Nlc3NpYmlsaXR5VGV4dChhY2Nlc3Np
YmlsaXR5VGV4dCkKICAgICAsIG1faXNFbmFibGVkKGlzRW5hYmxlZCkKQEAgLTcwLDggKzY3LDcg
QEAgdm9pZCBXZWJQb3B1cEl0ZW06OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKG1fdHlwZSk7CiAgICAgZW5j
b2RlciA8PCBtX3RleHQ7Ci0gICAgZW5jb2Rlci5lbmNvZGVFbnVtKG1fdGV4dERpcmVjdGlvbik7
Ci0gICAgZW5jb2RlciA8PCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKKyAgICBlbmNvZGVy
IDw8IG1faXRlbVN0eWxlOwogICAgIGVuY29kZXIgPDwgbV90b29sVGlwOwogICAgIGVuY29kZXIg
PDwgbV9hY2Nlc3NpYmlsaXR5VGV4dDsKICAgICBlbmNvZGVyIDw8IG1faXNFbmFibGVkOwpAQCAt
ODgsMTMgKzg0LDkgQEAgYm9vbCBXZWJQb3B1cEl0ZW06OmRlY29kZShDb3JlSVBDOjpBcmd1bWVu
dERlY29kZXImIGRlY29kZXIsIFdlYlBvcHVwSXRlbSYgaXRlbSkKICAgICBTdHJpbmcgdGV4dDsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgCi0gICAgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uOwotICAgIGlmICghZGVjb2Rlci5k
ZWNvZGVFbnVtKHRleHREaXJlY3Rpb24pKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBi
b29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhh
c1RleHREaXJlY3Rpb25PdmVycmlkZSkpCisgICAgUG9wdXBNZW51U3R5bGUgaXRlbVN0eWxlOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoaXRlbVN0eWxlKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgU3RyaW5nIHRvb2xUaXA7CkBAIC0xMTcsNyArMTA5LDcgQEAgYm9vbCBXZWJQb3B1
cEl0ZW06OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFdlYlBvcHVw
SXRlbSYgaXRlbSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGlzU2VsZWN0ZWQpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKLSAgICBpdGVtID0gV2ViUG9wdXBJdGVtKHR5cGUsIHRleHQsIHRl
eHREaXJlY3Rpb24sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSwgdG9vbFRpcCwgYWNjZXNzaWJp
bGl0eVRleHQsIGlzRW5hYmxlZCwgaXNMYWJlbCwgaXNTZWxlY3RlZCk7CisgICAgaXRlbSA9IFdl
YlBvcHVwSXRlbSh0eXBlLCB0ZXh0LCBpdGVtU3R5bGUsIHRvb2xUaXAsIGFjY2Vzc2liaWxpdHlU
ZXh0LCBpc0VuYWJsZWQsIGlzTGFiZWwsIGlzU2VsZWN0ZWQpOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmgKaW5kZXggODg0ZWU5ZS4uZWNlNGVh
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaApAQCAtMjYsNiArMjYsNyBAQAog
I2lmbmRlZiBXZWJQb3B1cEl0ZW1faAogI2RlZmluZSBXZWJQb3B1cEl0ZW1faAogCisjaW5jbHVk
ZSA8V2ViQ29yZS9Qb3B1cE1lbnVTdHlsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dERpcmVj
dGlvbi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC00NCwxNSArNDUs
MTQgQEAgc3RydWN0IFdlYlBvcHVwSXRlbSB7CiAKICAgICBXZWJQb3B1cEl0ZW0oKTsKICAgICBX
ZWJQb3B1cEl0ZW0oVHlwZSk7Ci0gICAgV2ViUG9wdXBJdGVtKFR5cGUsIGNvbnN0IFN0cmluZyYg
dGV4dCwgV2ViQ29yZTo6VGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJp
ZGUsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4
dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNMYWJlbCwgYm9vbCBpc1NlbGVjdGVkKTsKKyAgICBX
ZWJQb3B1cEl0ZW0oVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpQb3B1
cE1lbnVTdHlsZSYgaXRlbVN0eWxlLCBjb25zdCBTdHJpbmcmIHRvb2xUaXAsIGNvbnN0IFN0cmlu
ZyYgYWNjZXNzaWJpbGl0eVRleHQsIGJvb2wgaXNFbmFibGVkLCBib29sIGlzTGFiZWwsIGJvb2wg
aXNTZWxlY3RlZCk7CiAKICAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIm
KSBjb25zdDsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
JiwgV2ViUG9wdXBJdGVtJik7CiAKICAgICBUeXBlIG1fdHlwZTsKICAgICBTdHJpbmcgbV90ZXh0
OwotICAgIFdlYkNvcmU6OlRleHREaXJlY3Rpb24gbV90ZXh0RGlyZWN0aW9uOwotICAgIGJvb2wg
bV9oYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGU7CisgICAgV2ViQ29yZTo6UG9wdXBNZW51U3R5bGUg
bV9pdGVtU3R5bGU7CiAgICAgU3RyaW5nIG1fdG9vbFRpcDsKICAgICBTdHJpbmcgbV9hY2Nlc3Np
YmlsaXR5VGV4dDsKICAgICBib29sIG1faXNFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2d0ay9XZWJQb3B1cE1lbnVQcm94eUd0ay5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVByb3h5R3RrLmNwcAppbmRleCBhNDE4Mzlh
Li43NTdhMWVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBv
cHVwTWVudVByb3h5R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dl
YlBvcHVwTWVudVByb3h5R3RrLmNwcApAQCAtNTgsNiArNTgsNyBAQCBHdGtBY3Rpb24qIFdlYlBv
cHVwTWVudVByb3h5R3RrOjpjcmVhdGVHdGtBY3Rpb25Gb3JNZW51SXRlbShjb25zdCBXZWJQb3B1
cEl0ZW0mCiAgICAgR3RrQWN0aW9uKiBhY3Rpb24gPSBndGtfYWN0aW9uX25ldyhhY3Rpb25OYW1l
LmdldCgpLCBpdGVtLm1fdGV4dC51dGY4KCkuZGF0YSgpLCBpdGVtLm1fdG9vbFRpcC51dGY4KCku
ZGF0YSgpLCAwKTsKICAgICBnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChhY3Rpb24pLCAicG9w
dXAtbWVudS1hY3Rpb24taW5kZXgiLCBHSU5UX1RPX1BPSU5URVIoaXRlbUluZGV4KSk7CiAgICAg
Z19zaWduYWxfY29ubmVjdChhY3Rpb24sICJhY3RpdmF0ZSIsIEdfQ0FMTEJBQ0sobWVudUl0ZW1B
Y3RpdmF0ZWQpLCB0aGlzKTsKKyAgICBndGtfYWN0aW9uX3NldF92aXNpYmxlKGFjdGlvbiwgIWl0
ZW0ubV9pdGVtU3R5bGUuaXNEaXNwbGF5Tm9uZSgpKTsKICAgICBndGtfYWN0aW9uX3NldF9zZW5z
aXRpdmUoYWN0aW9uLCBpdGVtLm1faXNFbmFibGVkKTsKIAogICAgIHJldHVybiBhY3Rpb247CkBA
IC02NSwxMCArNjYsMTEgQEAgR3RrQWN0aW9uKiBXZWJQb3B1cE1lbnVQcm94eUd0azo6Y3JlYXRl
R3RrQWN0aW9uRm9yTWVudUl0ZW0oY29uc3QgV2ViUG9wdXBJdGVtJgogCiB2b2lkIFdlYlBvcHVw
TWVudVByb3h5R3RrOjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3QsIFRleHREaXJl
Y3Rpb24gdGV4dERpcmVjdGlvbiwgZG91YmxlIHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgVmVjdG9y
PFdlYlBvcHVwSXRlbT4mIGl0ZW1zLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmIGRhdGEs
IGludDMyX3Qgc2VsZWN0ZWRJbmRleCkKIHsKLSAgICBpZiAobV9wb3B1cCkKLSAgICAgICAgbV9w
b3B1cC0+Y2xlYXIoKTsKLSAgICBlbHNlCisgICAgaWYgKCFtX3BvcHVwKSB7CiAgICAgICAgIG1f
cG9wdXAgPSBHdGtQb3B1cE1lbnU6OmNyZWF0ZSgpOworICAgICAgICBnX3NpZ25hbF9jb25uZWN0
KG1fcG9wdXAtPnBsYXRmb3JtTWVudSgpLCAidW5tYXAiLCBHX0NBTExCQUNLKG1lbnVVbm1hcHBl
ZCksIHRoaXMpOworICAgIH0gZWxzZQorICAgICAgICBtX3BvcHVwLT5jbGVhcigpOwogCiAgICAg
Y29uc3QgaW50IHNpemUgPSBpdGVtcy5zaXplKCk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBz
aXplOyBpKyspIHsKQEAgLTgzLDcgKzg1LDYgQEAgdm9pZCBXZWJQb3B1cE1lbnVQcm94eUd0azo6
c2hvd1BvcHVwTWVudShjb25zdCBJbnRSZWN0JiByZWN0LCBUZXh0RGlyZWN0aW9uIHRleHQKICAg
ICBJbnRQb2ludCBtZW51UG9zaXRpb24gPSBjb252ZXJ0V2lkZ2V0UG9pbnRUb1NjcmVlblBvaW50
KG1fd2ViVmlldywgcmVjdC5sb2NhdGlvbigpKTsKICAgICBtZW51UG9zaXRpb24ubW92ZSgwLCBy
ZWN0LmhlaWdodCgpKTsKIAotICAgIGd1bG9uZyB1bm1hcEhhbmRsZXIgPSBnX3NpZ25hbF9jb25u
ZWN0KG1fcG9wdXAtPnBsYXRmb3JtTWVudSgpLCAidW5tYXAiLCBHX0NBTExCQUNLKG1lbnVVbm1h
cHBlZCksIHRoaXMpOwogICAgIG1fcG9wdXAtPnBvcFVwKHJlY3Quc2l6ZSgpLCBtZW51UG9zaXRp
b24sIHNpemUsIHNlbGVjdGVkSW5kZXgsIG1fY2xpZW50LT5jdXJyZW50bHlQcm9jZXNzZWRNb3Vz
ZURvd25FdmVudCgpID8gbV9jbGllbnQtPmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50
KCktPm5hdGl2ZUV2ZW50KCkgOiAwKTsKIAogICAgIC8vIFBvcHVwTWVudSBjYW4gZmFpbCB0byBv
cGVuIHdoZW4gdGhlcmUgaXMgbm8gbW91c2UgZ3JhYi4KQEAgLTEwMyw4ICsxMDQsNiBAQCB2b2lk
IFdlYlBvcHVwTWVudVByb3h5R3RrOjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3Qs
IFRleHREaXJlY3Rpb24gdGV4dAogCiAgICAgbV9ydW5Mb29wLmNsZWFyKCk7CiAKLSAgICBnX3Np
Z25hbF9oYW5kbGVyX2Rpc2Nvbm5lY3QobV9wb3B1cC0+cGxhdGZvcm1NZW51KCksIHVubWFwSGFu
ZGxlcik7Ci0KICAgICBpZiAoIW1fY2xpZW50KQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBN
ZW51LmNwcAppbmRleCBkNGFmOTJmLi5iZjI5MWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCkBAIC04
NywxMyArODcsOCBAQCBWZWN0b3I8V2ViUG9wdXBJdGVtPiBXZWJQb3B1cE1lbnU6OnBvcHVsYXRl
SXRlbXMoKQogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAg
IGlmIChtX3BvcHVwQ2xpZW50LT5pdGVtSXNTZXBhcmF0b3IoaSkpCiAgICAgICAgICAgICBpdGVt
cy5hcHBlbmQoV2ViUG9wdXBJdGVtKFdlYlBvcHVwSXRlbTo6U2VwYXJhdG9yKSk7Ci0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRo
ZSBmb250LgotICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzdHlsaW5nIHRo
ZSBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycy4KLSAgICAgICAgICAgIC8vIEZJWE1F
OiBGaW5kIGEgd2F5IHRvIGN1c3RvbWl6ZSB0ZXh0IGNvbG9yIHdoZW4gYW4gaXRlbSBpcyBoaWdo
bGlnaHRlZC4KLSAgICAgICAgICAgIFBvcHVwTWVudVN0eWxlIGl0ZW1TdHlsZSA9IG1fcG9wdXBD
bGllbnQtPml0ZW1TdHlsZShpKTsKLSAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0
ZW0oV2ViUG9wdXBJdGVtOjpJdGVtLCBtX3BvcHVwQ2xpZW50LT5pdGVtVGV4dChpKSwgaXRlbVN0
eWxlLnRleHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLmhhc1RleHREaXJlY3Rpb25PdmVycmlkZSgp
LCBtX3BvcHVwQ2xpZW50LT5pdGVtVG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vz
c2liaWxpdHlUZXh0KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVw
Q2xpZW50LT5pdGVtSXNMYWJlbChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUlzU2VsZWN0ZWQoaSkp
KTsKLSAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICBpdGVtcy5hcHBlbmQoV2Vi
UG9wdXBJdGVtKFdlYlBvcHVwSXRlbTo6SXRlbSwgbV9wb3B1cENsaWVudC0+aXRlbVRleHQoaSks
IG1fcG9wdXBDbGllbnQtPml0ZW1TdHlsZShpKSwgbV9wb3B1cENsaWVudC0+aXRlbVRvb2xUaXAo
aSksIG1fcG9wdXBDbGllbnQtPml0ZW1BY2Nlc3NpYmlsaXR5VGV4dChpKSwgbV9wb3B1cENsaWVu
dC0+aXRlbUlzRW5hYmxlZChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUlzTGFiZWwoaSksIG1fcG9w
dXBDbGllbnQtPml0ZW1Jc1NlbGVjdGVkKGkpKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGl0ZW1z
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193530</attachid>
            <date>2013-03-18 04:44:17 -0700</date>
            <delta_ts>2013-03-18 08:37:51 -0700</delta_ts>
            <desc>Patch for display:none style for PopupMenuItem</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>18322</size>
            <attacher name="Oleg Smirnov">oleg_smirnov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmNjZiNDY2Li5mZTYwYWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTMtMDMtMTcgIE9sZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisg
ICAgICAgIGRpc3BsYXk6bm9uZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5n
IHN1cHBvcnQgZm9yIFdlYlBvcG9wTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICBObyBuZXcg
dGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpQb3B1cE1lbnVTdHlsZTo6UG9wdXBNZW51U3R5bGUpOgorCiAyMDEz
LTAzLTE3ICBLdW5paGlrbyBTYWthbW90byAgPGtzYWthbW90b0BjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSU5QVVRfTVVMVElQTEVfRklFTERTX1VJOiBTdGVwLXVwLy1kb3duIG9mIG1pbnV0ZS9z
ZWNvbmQvbWlsbGlzZWNvbmQgZmllbGRzIHNob3VsZCByZXNwZWN0IG1pbi9tYXggYXR0cmlidXRl
cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudVN0eWxlLmgKaW5kZXggNjg5ZWQyOS4u
Y2FhYjQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51U3R5
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVTdHlsZS5oCkBAIC0z
Nyw2ICszNywxNSBAQCBjbGFzcyBQb3B1cE1lbnVTdHlsZSB7CiBwdWJsaWM6CiAgICAgZW51bSBQ
b3B1cE1lbnVUeXBlIHsgU2VsZWN0UG9wdXAsIEF1dG9maWxsUG9wdXAgfTsKICAgICBlbnVtIEJh
Y2tncm91bmRDb2xvclR5cGUgeyBEZWZhdWx0QmFja2dyb3VuZENvbG9yLCBDdXN0b21CYWNrZ3Jv
dW5kQ29sb3IgfTsKKyAgICBQb3B1cE1lbnVTdHlsZSgpCisgICAgICAgIDogbV92aXNpYmxlKGZh
bHNlKQorICAgICAgICAsIG1faXNEaXNwbGF5Tm9uZShmYWxzZSkKKyAgICAgICAgLCBtX3RleHRE
aXJlY3Rpb24oUlRMKQorICAgICAgICAsIG1faGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNl
KQorICAgICAgICAsIG1fYmFja2dyb3VuZENvbG9yVHlwZShEZWZhdWx0QmFja2dyb3VuZENvbG9y
KQorICAgICAgICAsIG1fbWVudVR5cGUoU2VsZWN0UG9wdXApCisgICAgeworICAgIH0KICAgICBQ
b3B1cE1lbnVTdHlsZShjb25zdCBDb2xvciYgZm9yZWdyb3VuZCwgY29uc3QgQ29sb3ImIGJhY2tn
cm91bmQsIGNvbnN0IEZvbnQmIGZvbnQsIGJvb2wgdmlzaWJsZSwgYm9vbCBpc0Rpc3BsYXlOb25l
LCBMZW5ndGggdGV4dEluZGVudCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBib29sIGhh
c1RleHREaXJlY3Rpb25PdmVycmlkZSwgQmFja2dyb3VuZENvbG9yVHlwZSBiYWNrZ3JvdW5kQ29s
b3JUeXBlID0gRGVmYXVsdEJhY2tncm91bmRDb2xvciwgUG9wdXBNZW51VHlwZSBtZW51VHlwZSA9
IFNlbGVjdFBvcHVwKQogICAgICAgICA6IG1fZm9yZWdyb3VuZENvbG9yKGZvcmVncm91bmQpCiAg
ICAgICAgICwgbV9iYWNrZ3JvdW5kQ29sb3IoYmFja2dyb3VuZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyNGQy
MWMwLi5jYjhmYjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTMtMDMtMTcgIE9s
ZWcgU21pcm5vdiAgPG9sZWcuc21pcm5vdkBsZ2UuY29tPgorCisgICAgICAgIGRpc3BsYXk6bm9u
ZSBoYXMgbm8gZWZmZWN0IG9uIDxvcHRpb24+IGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgzNTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzdHlsaW5nIHN1cHBvcnQgZm9yIFdlYlBv
cHVwTWVudSBpdGVtIGluIFdLMi4KKworICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwOgorICAgICAgICAoQ29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQ
Qyk6CisgICAgICAgIChDb3JlSVBDOjo6OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogU2hhcmVk
L1dlYlBvcHVwSXRlbS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwSXRlbTo6V2ViUG9w
dXBJdGVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBJdGVtOjplbmNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQb3B1cEl0ZW06OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL1dlYlBv
cHVwSXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6Y3JlYXRlR3RrQWN0
aW9uRm9yTWVudUl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVQcm94eUd0azo6
c2hvd1BvcHVwTWVudSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnU6OnBvcHVsYXRlSXRl
bXMpOgorCiAyMDEzLTAzLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBJbnZhbGlkIGNoYXJzZXQgZW5jb2RpbmcgdXNpbmcgd2hl
biBzdWJzdGl0dXRpbmcgYSBtaXNzcGVsbGVkIHdvcmQgaW4gV2ViS2l0MgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCAxNmVkYzU0Li5h
ZDE5OWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcApAQCAtMzYsMTEgKzM2LDE1IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnU2Vzc2lv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxl
Q2hvb3Nlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRm9udC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
Rm9udERlc2NyaXB0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lt
YWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MZW5n
dGguaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1BvcHVwTWVudVN0eWxlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jl
c291cmNlUmVxdWVzdC5oPgpAQCAtMjI1LDYgKzIyOSw1NSBAQCBib29sIEFyZ3VtZW50Q29kZXI8
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBBdQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEFyZ3VtZW50Q29kZXI8UG9wdXBNZW51
U3R5bGU+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBQb3B1cE1lbnVT
dHlsZSYgcG9wdXBNZW51U3R5bGUpCit7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5m
b3JlZ3JvdW5kQ29sb3IoKTsKKyAgICBlbmNvZGVyIDw8IHBvcHVwTWVudVN0eWxlLmJhY2tncm91
bmRDb2xvcigpOworICAgIGVuY29kZXIgPDwgcG9wdXBNZW51U3R5bGUuZm9udCgpOworICAgIGVu
Y29kZXIgPDwgcG9wdXBNZW51U3R5bGUuaXNWaXNpYmxlKCk7CisgICAgZW5jb2RlciA8PCBwb3B1
cE1lbnVTdHlsZS5pc0Rpc3BsYXlOb25lKCk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHls
ZS50ZXh0SW5kZW50KCk7CisgICAgZW5jb2Rlci5lbmNvZGVFbnVtKHBvcHVwTWVudVN0eWxlLnRl
eHREaXJlY3Rpb24oKSk7CisgICAgZW5jb2RlciA8PCBwb3B1cE1lbnVTdHlsZS5oYXNUZXh0RGly
ZWN0aW9uT3ZlcnJpZGUoKTsKK30KKworYm9vbCBBcmd1bWVudENvZGVyPFBvcHVwTWVudVN0eWxl
Pjo6ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUG9wdXBNZW51U3R5bGUmIHBvcHVw
TWVudVN0eWxlKQoreworICAgIENvbG9yIGZvcmVncm91bmQ7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShmb3JlZ3JvdW5kKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQ29sb3IgYmFj
a2dyb3VuZDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGJhY2tncm91bmQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBGb250IGZvbnQ7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShm
b250KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYm9vbCBpc1Zpc2libGU7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShpc1Zpc2libGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBib29sIGlzRGlzcGxheU5vbmU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpc0Rpc3Bs
YXlOb25lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgTGVuZ3RoIHRleHRJbmRlbnQ7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh0ZXh0SW5kZW50KSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGVFbnVtKHRleHREaXJlY3Rpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBib29sIGhhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IHBvcHVwTWVudVN0eWxlID0gUG9wdXBNZW51U3R5bGUoZm9yZWdyb3VuZCwgYmFja2dyb3VuZCwg
Zm9udCwgaXNWaXNpYmxlLCBpc0Rpc3BsYXlOb25lLCB0ZXh0SW5kZW50LCB0ZXh0RGlyZWN0aW9u
LCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUpOworICAgIHJldHVybiB0cnVlOworfQogCiB2b2lk
IEFyZ3VtZW50Q29kZXI8UHJvdGVjdGlvblNwYWNlPjo6ZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYg
ZW5jb2RlciwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBzcGFjZSkKIHsKQEAgLTgyNCw2ICs4Nzcs
NDEgQEAgYm9vbCBBcmd1bWVudENvZGVyPEZpbGVDaG9vc2VyU2V0dGluZ3M+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBGaWxlQ2gKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9p
ZCBBcmd1bWVudENvZGVyPEZvbnQ+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBj
b25zdCBGb250JiBmb250KQoreworICAgIGVuY29kZXIgPDwgZm9udC5mb250RGVzY3JpcHRpb24o
KTsKKyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGludD4oZm9udC5sZXR0ZXJTcGFjaW5nKCkp
OworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8aW50Pihmb250LndvcmRTcGFjaW5nKCkpOwor
fQorCitib29sIEFyZ3VtZW50Q29kZXI8Rm9udD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIEZvbnQmIGZvbnQpCit7CisgICAgRm9udERlc2NyaXB0aW9uIGZvbnREZXNjcmlwdGlw
dGlvbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZvbnREZXNjcmlwdGlwdGlvbikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGludCBsZXR0ZXJTcGFjaW5nOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUobGV0dGVyU3BhY2luZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IGludCB3b3JkU3BhY2luZzsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHdvcmRTcGFjaW5nKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9udCA9IEZvbnQoZm9udERlc2NyaXB0aXB0
aW9uLCBsZXR0ZXJTcGFjaW5nLCB3b3JkU3BhY2luZyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisK
K3ZvaWQgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjplbmNvZGUoQXJndW1lbnRFbmNv
ZGVyJiBlbmNvZGVyLCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sK
KyAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIHN0eWxpbmcgdGhlIGZvbnQuCit9CisKK2Jv
b2wgQXJndW1lbnRDb2RlcjxGb250RGVzY3JpcHRpb24+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbikKK3sKKyAgICBmb250
RGVzY3JpcHRpb24gPSBGb250RGVzY3JpcHRpb24oKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAog
dm9pZCBBcmd1bWVudENvZGVyPEdyYW1tYXJEZXRhaWw+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBHcmFtbWFyRGV0YWlsJiBkZXRhaWwpCiB7CkBAIC05MzMsNiArMTAy
MSwzMyBAQCBib29sIEFyZ3VtZW50Q29kZXI8S1VSTD46OmRlY29kZShBcmd1bWVudERlY29kZXIm
IGRlY29kZXIsIEtVUkwmIHJlc3VsdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmICFVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1MpCit2b2lkIEFyZ3VtZW50Q29kZXI8TGVuZ3RoPjo6ZW5jb2Rl
KEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgTGVuZ3RoJiBsZW5ndGgpCit7CisgICAg
ZW5jb2RlciA8PCBsZW5ndGgudmFsdWUoKTsKKyAgICBlbmNvZGVyIDw8IGxlbmd0aC5xdWlyaygp
OworICAgIGVuY29kZXIuZW5jb2RlRW51bShsZW5ndGgudHlwZSgpKTsKK30KKworYm9vbCBBcmd1
bWVudENvZGVyPExlbmd0aD46OmRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIExlbmd0
aCYgbGVuZ3RoKQoreworICAgIGZsb2F0IHZhbHVlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
dmFsdWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIHF1aXJrOworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocXVpcmspKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBM
ZW5ndGhUeXBlIHR5cGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0odHlwZSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGxlbmd0aCA9IExlbmd0aCh2YWx1ZSwgdHlwZSwgcXVp
cmspOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKIHZvaWQgQXJndW1lbnRDb2RlcjxX
ZWJDb3JlOjpVc2VyU3R5bGVTaGVldD46OmVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIs
IGNvbnN0IFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0JiB1c2VyU3R5bGVTaGVldCkKIHsKICAgICBl
bmNvZGVyIDw8IHVzZXJTdHlsZVNoZWV0LnNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCmluZGV4IGNhZTlkOWEuLjQ5MTYzYjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTM1LDYg
KzM1LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENyZWRlbnRpYWw7CiAgICAg
Y2xhc3MgQ3Vyc29yOwogICAgIGNsYXNzIERhdGFiYXNlRGV0YWlsczsKKyAgICBjbGFzcyBGb250
OworICAgIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKICAgICBjbGFzcyBGbG9hdFBvaW50OwogICAg
IGNsYXNzIEZsb2F0UmVjdDsKICAgICBjbGFzcyBGbG9hdFNpemU7CkBAIC00NSw2ICs0Nyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBLZXlmcmFtZVZhbHVlTGlzdDsKICAgICBj
bGFzcyBLVVJMOwogICAgIGNsYXNzIE5vdGlmaWNhdGlvbjsKKyAgICBjbGFzcyBQb3B1cE1lbnVT
dHlsZTsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xhc3MgUmVzb3VyY2VFcnJv
cjsKICAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CkBAIC01OCw2ICs2MSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBzdHJ1Y3QgRHJhZ1Nlc3Npb247CiAgICAgc3RydWN0IEZpbGVDaG9v
c2VyU2V0dGluZ3M7CiAgICAgc3RydWN0IEdyYW1tYXJEZXRhaWw7CisgICAgc3RydWN0IExlbmd0
aDsKICAgICBzdHJ1Y3QgTWltZUNsYXNzSW5mbzsKICAgICBzdHJ1Y3QgUGx1Z2luSW5mbzsKICAg
ICBzdHJ1Y3QgVGV4dENoZWNraW5nUmVzdWx0OwpAQCAtNzgsNiArODIsMTYgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpBZmZpbmVUcmFuc2Zvcm0+IHsKICAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6QWZmaW5lVHJhbnNm
b3JtJik7CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZv
bnQ+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2Vi
Q29yZTo6Rm9udCYpOworICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImLCBX
ZWJDb3JlOjpGb250Jik7Cit9OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdl
YkNvcmU6OkZvbnREZXNjcmlwdGlvbj4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShBcmd1bWVu
dEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpGb250RGVzY3JpcHRpb24mKTsKKyAgICBzdGF0aWMg
Ym9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uJik7
Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkZsb2F0UG9p
bnQ+IHsKICAgICBzdGF0aWMgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYpOwogICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29k
ZXImLCBXZWJDb3JlOjpGbG9hdFBvaW50Jik7CkBAIC0xMzMsNiArMTQ3LDExIEBAIHRlbXBsYXRl
PD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2U+
IHsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6QXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UG9wdXBNZW51U3R5bGU+IHsKKyAgICBzdGF0aWMgdm9pZCBlbmNvZGUo
QXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6UG9wdXBNZW51U3R5bGUmKTsKKyAgICBz
dGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2ViQ29yZTo6UG9wdXBNZW51U3R5
bGUmKTsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UHJv
dGVjdGlvblNwYWNlPiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYs
IGNvbnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYpOwogICAgIHN0YXRpYyBib29sIGRlY29k
ZShBcmd1bWVudERlY29kZXImLCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKTsKQEAgLTI0OCw2
ICsyNjcsMTMgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpLVVJM
PiB7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OktV
UkwmKTsKIH07CiAKKyNpZiAhVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQordGVtcGxhdGU8PiBz
dHJ1Y3QgQXJndW1lbnRDb2RlcjxXZWJDb3JlOjpMZW5ndGg+IHsKKyAgICBzdGF0aWMgdm9pZCBl
bmNvZGUoQXJndW1lbnRFbmNvZGVyJiwgY29uc3QgV2ViQ29yZTo6TGVuZ3RoJik7CisgICAgc3Rh
dGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYsIFdlYkNvcmU6Okxlbmd0aCYpOworfTsK
KyNlbmRpZgorCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OlVzZXJT
dHlsZVNoZWV0PiB7CiAgICAgc3RhdGljIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIGNv
bnN0IFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Jik7CiAgICAgc3RhdGljIGJvb2wgZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciYsIFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0Jik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQb3B1cEl0ZW0uY3BwCmluZGV4IDg5NzExYWIuLmMwY2QwZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRl
ICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgorI2luY2x1ZGUgIldl
YkNvcmVBcmd1bWVudENvZGVycy5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAt
MzYsMjggKzM3LDI0IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJQb3B1cEl0ZW06OldlYlBv
cHVwSXRlbSgpCiAgICAgOiBtX3R5cGUoSXRlbSkKLSAgICAsIG1fdGV4dERpcmVjdGlvbihMVFIp
Ci0gICAgLCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZShmYWxzZSkKICAgICAsIG1faXNFbmFi
bGVkKHRydWUpCisgICAgLCBtX2lzTGFiZWwoZmFsc2UpCiAgICAgLCBtX2lzU2VsZWN0ZWQoZmFs
c2UpCiB7CiB9CiAKIFdlYlBvcHVwSXRlbTo6V2ViUG9wdXBJdGVtKFR5cGUgdHlwZSkKICAgICA6
IG1fdHlwZSh0eXBlKQotICAgICwgbV90ZXh0RGlyZWN0aW9uKExUUikKLSAgICAsIG1faGFzVGV4
dERpcmVjdGlvbk92ZXJyaWRlKGZhbHNlKQogICAgICwgbV9pc0VuYWJsZWQodHJ1ZSkKICAgICAs
IG1faXNMYWJlbChmYWxzZSkKICAgICAsIG1faXNTZWxlY3RlZChmYWxzZSkKIHsKIH0KIAotV2Vi
UG9wdXBJdGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIFRl
eHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiwgYm9vbCBoYXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUs
IGNvbnN0IFN0cmluZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwg
Ym9vbCBpc0VuYWJsZWQsIGJvb2wgaXNMYWJlbCwgYm9vbCBpc1NlbGVjdGVkKQorV2ViUG9wdXBJ
dGVtOjpXZWJQb3B1cEl0ZW0oVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFdl
YkNvcmU6OlBvcHVwTWVudVN0eWxlJiBpdGVtU3R5bGUsIGNvbnN0IFN0cmluZyYgdG9vbFRpcCwg
Y29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJsZWQsIGJvb2wgaXNM
YWJlbCwgYm9vbCBpc1NlbGVjdGVkKQogICAgIDogbV90eXBlKHR5cGUpCiAgICAgLCBtX3RleHQo
dGV4dCkKLSAgICAsIG1fdGV4dERpcmVjdGlvbih0ZXh0RGlyZWN0aW9uKQotICAgICwgbV9oYXNU
ZXh0RGlyZWN0aW9uT3ZlcnJpZGUoaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKQorICAgICwgbV9p
dGVtU3R5bGUoaXRlbVN0eWxlKQogICAgICwgbV90b29sVGlwKHRvb2xUaXApCiAgICAgLCBtX2Fj
Y2Vzc2liaWxpdHlUZXh0KGFjY2Vzc2liaWxpdHlUZXh0KQogICAgICwgbV9pc0VuYWJsZWQoaXNF
bmFibGVkKQpAQCAtNzAsOCArNjcsNyBAQCB2b2lkIFdlYlBvcHVwSXRlbTo6ZW5jb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyLmVuY29k
ZUVudW0obV90eXBlKTsKICAgICBlbmNvZGVyIDw8IG1fdGV4dDsKLSAgICBlbmNvZGVyLmVuY29k
ZUVudW0obV90ZXh0RGlyZWN0aW9uKTsKLSAgICBlbmNvZGVyIDw8IG1faGFzVGV4dERpcmVjdGlv
bk92ZXJyaWRlOworICAgIGVuY29kZXIgPDwgbV9pdGVtU3R5bGU7CiAgICAgZW5jb2RlciA8PCBt
X3Rvb2xUaXA7CiAgICAgZW5jb2RlciA8PCBtX2FjY2Vzc2liaWxpdHlUZXh0OwogICAgIGVuY29k
ZXIgPDwgbV9pc0VuYWJsZWQ7CkBAIC04OCwxMyArODQsOSBAQCBib29sIFdlYlBvcHVwSXRlbTo6
ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgV2ViUG9wdXBJdGVtJiBp
dGVtKQogICAgIFN0cmluZyB0ZXh0OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGV4dCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rp
b247Ci0gICAgaWYgKCFkZWNvZGVyLmRlY29kZUVudW0odGV4dERpcmVjdGlvbikpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIGJvb2wgaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlOwotICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKSkKKyAgICBQb3B1
cE1lbnVTdHlsZSBpdGVtU3R5bGU7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpdGVtU3R5bGUp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBTdHJpbmcgdG9vbFRpcDsKQEAgLTExNyw3
ICsxMDksNyBAQCBib29sIFdlYlBvcHVwSXRlbTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgV2ViUG9wdXBJdGVtJiBpdGVtKQogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaXNTZWxlY3RlZCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGl0ZW0gPSBXZWJQ
b3B1cEl0ZW0odHlwZSwgdGV4dCwgdGV4dERpcmVjdGlvbiwgaGFzVGV4dERpcmVjdGlvbk92ZXJy
aWRlLCB0b29sVGlwLCBhY2Nlc3NpYmlsaXR5VGV4dCwgaXNFbmFibGVkLCBpc0xhYmVsLCBpc1Nl
bGVjdGVkKTsKKyAgICBpdGVtID0gV2ViUG9wdXBJdGVtKHR5cGUsIHRleHQsIGl0ZW1TdHlsZSwg
dG9vbFRpcCwgYWNjZXNzaWJpbGl0eVRleHQsIGlzRW5hYmxlZCwgaXNMYWJlbCwgaXNTZWxlY3Rl
ZCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQb3B1cEl0ZW0uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0u
aAppbmRleCA4ODRlZTllLi5lY2U0ZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvV2ViUG9wdXBJdGVtLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRl
bS5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIFdlYlBvcHVwSXRlbV9oCiAjZGVmaW5lIFdl
YlBvcHVwSXRlbV9oCiAKKyNpbmNsdWRlIDxXZWJDb3JlL1BvcHVwTWVudVN0eWxlLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9UZXh0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKQEAgLTQ0LDE1ICs0NSwxNCBAQCBzdHJ1Y3QgV2ViUG9wdXBJdGVtIHsKIAogICAg
IFdlYlBvcHVwSXRlbSgpOwogICAgIFdlYlBvcHVwSXRlbShUeXBlKTsKLSAgICBXZWJQb3B1cEl0
ZW0oVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uLCBib29s
IGhhc1RleHREaXJlY3Rpb25PdmVycmlkZSwgY29uc3QgU3RyaW5nJiB0b29sVGlwLCBjb25zdCBT
dHJpbmcmIGFjY2Vzc2liaWxpdHlUZXh0LCBib29sIGlzRW5hYmxlZCwgYm9vbCBpc0xhYmVsLCBi
b29sIGlzU2VsZWN0ZWQpOworICAgIFdlYlBvcHVwSXRlbShUeXBlLCBjb25zdCBTdHJpbmcmIHRl
eHQsIGNvbnN0IFdlYkNvcmU6OlBvcHVwTWVudVN0eWxlJiBpdGVtU3R5bGUsIGNvbnN0IFN0cmlu
ZyYgdG9vbFRpcCwgY29uc3QgU3RyaW5nJiBhY2Nlc3NpYmlsaXR5VGV4dCwgYm9vbCBpc0VuYWJs
ZWQsIGJvb2wgaXNMYWJlbCwgYm9vbCBpc1NlbGVjdGVkKTsKIAogICAgIHZvaWQgZW5jb2RlKENv
cmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIGRlY29kZShD
b3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBXZWJQb3B1cEl0ZW0mKTsKIAogICAgIFR5cGUgbV90
eXBlOwogICAgIFN0cmluZyBtX3RleHQ7Ci0gICAgV2ViQ29yZTo6VGV4dERpcmVjdGlvbiBtX3Rl
eHREaXJlY3Rpb247Ci0gICAgYm9vbCBtX2hhc1RleHREaXJlY3Rpb25PdmVycmlkZTsKKyAgICBX
ZWJDb3JlOjpQb3B1cE1lbnVTdHlsZSBtX2l0ZW1TdHlsZTsKICAgICBTdHJpbmcgbV90b29sVGlw
OwogICAgIFN0cmluZyBtX2FjY2Vzc2liaWxpdHlUZXh0OwogICAgIGJvb2wgbV9pc0VuYWJsZWQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlBvcHVwTWVudVBy
b3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJv
eHlHdGsuY3BwCmluZGV4IGE0MTgzOWEuLjc1N2ExZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViUG9wdXBNZW51UHJveHlHdGsuY3BwCkBAIC01OCw2ICs1
OCw3IEBAIEd0a0FjdGlvbiogV2ViUG9wdXBNZW51UHJveHlHdGs6OmNyZWF0ZUd0a0FjdGlvbkZv
ck1lbnVJdGVtKGNvbnN0IFdlYlBvcHVwSXRlbSYKICAgICBHdGtBY3Rpb24qIGFjdGlvbiA9IGd0
a19hY3Rpb25fbmV3KGFjdGlvbk5hbWUuZ2V0KCksIGl0ZW0ubV90ZXh0LnV0ZjgoKS5kYXRhKCks
IGl0ZW0ubV90b29sVGlwLnV0ZjgoKS5kYXRhKCksIDApOwogICAgIGdfb2JqZWN0X3NldF9kYXRh
KEdfT0JKRUNUKGFjdGlvbiksICJwb3B1cC1tZW51LWFjdGlvbi1pbmRleCIsIEdJTlRfVE9fUE9J
TlRFUihpdGVtSW5kZXgpKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KGFjdGlvbiwgImFjdGl2YXRl
IiwgR19DQUxMQkFDSyhtZW51SXRlbUFjdGl2YXRlZCksIHRoaXMpOworICAgIGd0a19hY3Rpb25f
c2V0X3Zpc2libGUoYWN0aW9uLCAhaXRlbS5tX2l0ZW1TdHlsZS5pc0Rpc3BsYXlOb25lKCkpOwog
ICAgIGd0a19hY3Rpb25fc2V0X3NlbnNpdGl2ZShhY3Rpb24sIGl0ZW0ubV9pc0VuYWJsZWQpOwog
CiAgICAgcmV0dXJuIGFjdGlvbjsKQEAgLTY1LDEwICs2NiwxMSBAQCBHdGtBY3Rpb24qIFdlYlBv
cHVwTWVudVByb3h5R3RrOjpjcmVhdGVHdGtBY3Rpb25Gb3JNZW51SXRlbShjb25zdCBXZWJQb3B1
cEl0ZW0mCiAKIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6OnNob3dQb3B1cE1lbnUoY29uc3Qg
SW50UmVjdCYgcmVjdCwgVGV4dERpcmVjdGlvbiB0ZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNj
YWxlRmFjdG9yLCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYgaXRlbXMsIGNvbnN0IFBsYXRm
b3JtUG9wdXBNZW51RGF0YSYgZGF0YSwgaW50MzJfdCBzZWxlY3RlZEluZGV4KQogewotICAgIGlm
IChtX3BvcHVwKQotICAgICAgICBtX3BvcHVwLT5jbGVhcigpOwotICAgIGVsc2UKKyAgICBpZiAo
IW1fcG9wdXApIHsKICAgICAgICAgbV9wb3B1cCA9IEd0a1BvcHVwTWVudTo6Y3JlYXRlKCk7Cisg
ICAgICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9wb3B1cC0+cGxhdGZvcm1NZW51KCksICJ1bm1hcCIs
IEdfQ0FMTEJBQ0sobWVudVVubWFwcGVkKSwgdGhpcyk7CisgICAgfSBlbHNlCisgICAgICAgIG1f
cG9wdXAtPmNsZWFyKCk7CiAKICAgICBjb25zdCBpbnQgc2l6ZSA9IGl0ZW1zLnNpemUoKTsKICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7IGkrKykgewpAQCAtODMsNyArODUsNiBAQCB2b2lk
IFdlYlBvcHVwTWVudVByb3h5R3RrOjpzaG93UG9wdXBNZW51KGNvbnN0IEludFJlY3QmIHJlY3Qs
IFRleHREaXJlY3Rpb24gdGV4dAogICAgIEludFBvaW50IG1lbnVQb3NpdGlvbiA9IGNvbnZlcnRX
aWRnZXRQb2ludFRvU2NyZWVuUG9pbnQobV93ZWJWaWV3LCByZWN0LmxvY2F0aW9uKCkpOwogICAg
IG1lbnVQb3NpdGlvbi5tb3ZlKDAsIHJlY3QuaGVpZ2h0KCkpOwogCi0gICAgZ3Vsb25nIHVubWFw
SGFuZGxlciA9IGdfc2lnbmFsX2Nvbm5lY3QobV9wb3B1cC0+cGxhdGZvcm1NZW51KCksICJ1bm1h
cCIsIEdfQ0FMTEJBQ0sobWVudVVubWFwcGVkKSwgdGhpcyk7CiAgICAgbV9wb3B1cC0+cG9wVXAo
cmVjdC5zaXplKCksIG1lbnVQb3NpdGlvbiwgc2l6ZSwgc2VsZWN0ZWRJbmRleCwgbV9jbGllbnQt
PmN1cnJlbnRseVByb2Nlc3NlZE1vdXNlRG93bkV2ZW50KCkgPyBtX2NsaWVudC0+Y3VycmVudGx5
UHJvY2Vzc2VkTW91c2VEb3duRXZlbnQoKS0+bmF0aXZlRXZlbnQoKSA6IDApOwogCiAgICAgLy8g
UG9wdXBNZW51IGNhbiBmYWlsIHRvIG9wZW4gd2hlbiB0aGVyZSBpcyBubyBtb3VzZSBncmFiLgpA
QCAtMTAzLDggKzEwNCw2IEBAIHZvaWQgV2ViUG9wdXBNZW51UHJveHlHdGs6OnNob3dQb3B1cE1l
bnUoY29uc3QgSW50UmVjdCYgcmVjdCwgVGV4dERpcmVjdGlvbiB0ZXh0CiAKICAgICBtX3J1bkxv
b3AuY2xlYXIoKTsKIAotICAgIGdfc2lnbmFsX2hhbmRsZXJfZGlzY29ubmVjdChtX3BvcHVwLT5w
bGF0Zm9ybU1lbnUoKSwgdW5tYXBIYW5kbGVyKTsKLQogICAgIGlmICghbV9jbGllbnQpCiAgICAg
ICAgIHJldHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwCmluZGV4IGQ0YWY5MmYuLmJmMjkxZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9w
dXBNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBvcHVwTWVudS5jcHAKQEAgLTg3LDEzICs4Nyw4IEBAIFZlY3RvcjxXZWJQb3B1cEl0ZW0+
IFdlYlBvcHVwTWVudTo6cG9wdWxhdGVJdGVtcygpCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBzaXplOyArK2kpIHsKICAgICAgICAgaWYgKG1fcG9wdXBDbGllbnQtPml0ZW1Jc1NlcGFyYXRv
cihpKSkKICAgICAgICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0ZW0oV2ViUG9wdXBJdGVt
OjpTZXBhcmF0b3IpKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogQWRk
IHN1cHBvcnQgZm9yIHN0eWxpbmcgdGhlIGZvbnQuCi0gICAgICAgICAgICAvLyBGSVhNRTogQWRk
IHN1cHBvcnQgZm9yIHN0eWxpbmcgdGhlIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3Jz
LgotICAgICAgICAgICAgLy8gRklYTUU6IEZpbmQgYSB3YXkgdG8gY3VzdG9taXplIHRleHQgY29s
b3Igd2hlbiBhbiBpdGVtIGlzIGhpZ2hsaWdodGVkLgotICAgICAgICAgICAgUG9wdXBNZW51U3R5
bGUgaXRlbVN0eWxlID0gbV9wb3B1cENsaWVudC0+aXRlbVN0eWxlKGkpOwotICAgICAgICAgICAg
aXRlbXMuYXBwZW5kKFdlYlBvcHVwSXRlbShXZWJQb3B1cEl0ZW06Okl0ZW0sIG1fcG9wdXBDbGll
bnQtPml0ZW1UZXh0KGkpLCBpdGVtU3R5bGUudGV4dERpcmVjdGlvbigpLCBpdGVtU3R5bGUuaGFz
VGV4dERpcmVjdGlvbk92ZXJyaWRlKCksIG1fcG9wdXBDbGllbnQtPml0ZW1Ub29sVGlwKGkpLCBt
X3BvcHVwQ2xpZW50LT5pdGVtQWNjZXNzaWJpbGl0eVRleHQoaSksIG1fcG9wdXBDbGllbnQtPml0
ZW1Jc0VuYWJsZWQoaSksIG1fcG9wdXBDbGllbnQtPml0ZW1Jc0xhYmVsKGkpLCBtX3BvcHVwQ2xp
ZW50LT5pdGVtSXNTZWxlY3RlZChpKSkpOwotICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGl0ZW1zLmFwcGVuZChXZWJQb3B1cEl0ZW0oV2ViUG9wdXBJdGVtOjpJdGVtLCBtX3Bv
cHVwQ2xpZW50LT5pdGVtVGV4dChpKSwgbV9wb3B1cENsaWVudC0+aXRlbVN0eWxlKGkpLCBtX3Bv
cHVwQ2xpZW50LT5pdGVtVG9vbFRpcChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUFjY2Vzc2liaWxp
dHlUZXh0KGkpLCBtX3BvcHVwQ2xpZW50LT5pdGVtSXNFbmFibGVkKGkpLCBtX3BvcHVwQ2xpZW50
LT5pdGVtSXNMYWJlbChpKSwgbV9wb3B1cENsaWVudC0+aXRlbUlzU2VsZWN0ZWQoaSkpKTsKICAg
ICB9CiAKICAgICByZXR1cm4gaXRlbXM7Cg==
</data>
<flag name="review"
          id="215082"
          type_id="1"
          status="-"
          setter="ap"
    />
    <flag name="commit-queue"
          id="215083"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>