<?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>36006</bug_id>
          
          <creation_ts>2010-03-11 03:00:57 -0800</creation_ts>
          <short_desc>Multiselect popups - rendering</short_desc>
          <delta_ts>2010-05-07 00:39:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>36177</dependson>
          <blocked>35784</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Luiz Agostini">luiz</reporter>
          <assigned_to name="Luiz Agostini">luiz</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>koivisto</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>198535</commentid>
    <comment_count>0</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-11 03:00:57 -0800</bug_when>
    <thetext>Adding a compile time flag that forces all &lt;select&gt; elements to use popups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198541</commentid>
    <comment_count>1</comment_count>
      <attachid>50483</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-11 03:29:40 -0800</bug_when>
    <thetext>Created attachment 50483
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198577</commentid>
    <comment_count>2</comment_count>
      <attachid>50483</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-11 06:03:38 -0800</bug_when>
    <thetext>Comment on attachment 50483
patch

We talked about this in IRC:

Please use the theme stylesheet mechanism for special appearances. No need for nasty hacks in RenderStyle and SelectElement.

Eliminate SELECT_ALWAYS_USE_POPUP_MENU ifdef, switch this based on current style (Maemo5Style in this case)

Casting to WebComboStyleOption is bit nasty. If QStyleOptionComplex is insufficient for passing everything, it would be better to subclass it and use that subclass everywhere in webkit Qt theme, not just in special case of combo box.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198935</commentid>
    <comment_count>3</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-11 22:44:58 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 50483 [details])
&gt; We talked about this in IRC:

Very nice talk in IRC. A lot of things got more clear now. Thanks.

&gt; Please use the theme stylesheet mechanism for special appearances. No need for
&gt; nasty hacks in RenderStyle and SelectElement.

For sure theme stylesheet mechanism is much better than making changes in core classes. However I could not find how to avoid changes in SelectElement. IMHO it is really needed.

&gt; Eliminate SELECT_ALWAYS_USE_POPUP_MENU ifdef, switch this based on current
&gt; style (Maemo5Style in this case)

I don&apos;t want to make this changes enabled in maemo5 right now because if an special popup implementation is not supplied for &lt;select multiple&gt; then it makes &lt;select multiple&gt; == &lt;select&gt;.

I am thinking about making this patch completely independent of maemo5 and create a new bug about maemo5 theme. The patch about maemo5 theme would then enable multiselect popup, provide the special multiple popup implementation and make some other theme improvements.

What do you think?

&gt; Casting to WebComboStyleOption is bit nasty. If QStyleOptionComplex is
&gt; insufficient for passing everything, it would be better to subclass it and use
&gt; that subclass everywhere in webkit Qt theme, not just in special case of combo
&gt; box.

Again you are right. However casting is quite common in QStyle and its subclasses implementations.

QStyleOptionComboBox is an specialization of QStyleOptionComplex used for comboboxes. It is then not possible avoid special cases for combo boxes because at least QStyleOptionComboBox is needed. WebComboStyleOption subclasses QStyleOptionComboBox. With this approach I got:

  1 - QStyle subclasses that are aware of WebComboStyleOption can easily get the information needed to render special combos.
  2 - special combo rendering naturally falls back to normal combo rendering in QStyle subclasses that are not aware of WebComboStyleOption.

Do you think it is really too nasty?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199545</commentid>
    <comment_count>4</comment_count>
      <attachid>50683</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-14 22:57:11 -0700</bug_when>
    <thetext>Created attachment 50683
Rendering</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199549</commentid>
    <comment_count>5</comment_count>
      <attachid>50686</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-14 23:41:47 -0700</bug_when>
    <thetext>Created attachment 50686
SelectElement x Popup communication</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199833</commentid>
    <comment_count>6</comment_count>
      <attachid>50683</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-15 14:30:19 -0700</bug_when>
    <thetext>Comment on attachment 50683
Rendering


&gt; +++ b/WebCore/css/themeQtNoListboxes.css
&gt; @@ -0,0 +1,41 @@

&gt; + *     * Neither the name of Google Inc. nor the names of its
&gt; + * contributors may be used to endorse or promote products derived from
&gt; + * this software without specific prior written permission.

why are you adding the above Google expection?


&gt; +/* These styles override other user-agent styles for Qt Maemo5. */

This isn&apos;t actually Maemo5 specific right, could very well be used for Symbian as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199996</commentid>
    <comment_count>7</comment_count>
      <attachid>50683</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-15 21:49:08 -0700</bug_when>
    <thetext>Comment on attachment 50683
Rendering

 
&gt; Adding a compile time flag that when used do:
&gt; 
&gt; * force all &lt;select&gt; elements to use popups.
&gt; * adjust Qt rendering of the new combo elements.
&gt; * provide information to QStyle objects to differentiate beetwing normal combos and
&gt;   the new multiselect combos.

I guess other platforms might want to use something similar, so maybe it is a better idea to introduce a generic flag and combine it with PLATFORM(QT) if needed?

ENABLE_NO_LISTBOXES also doesn&apos;t sound very Qt dependent, and from looking at the code it isn&apos;t so I would suggest you refrase yourself a bit in the ChangeLog.

Also I dislike the name;  Enabling a disabler sounds strange to me :-) or maybe find a better name. ENABLE(TOUCHABLE_SELECTORS) maybe?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199997</commentid>
    <comment_count>8</comment_count>
      <attachid>50686</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-15 21:52:36 -0700</bug_when>
    <thetext>Comment on attachment 50686
SelectElement x Popup communication


&gt;  void SelectElement::updateListBoxSelection(SelectElementData&amp; data, Element* element, bool deselectOtherOptions)
&gt; +void SelectElement::listboxClickHandler(SelectElementData&amp; data, Element* element, int listIndex,

The existing methods uses listBox and not listbox in their names (notice the b), please fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199998</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-15 21:54:55 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 50686 [details])
&gt; 
&gt; &gt;  void SelectElement::updateListBoxSelection(SelectElementData&amp; data, Element* element, bool deselectOtherOptions)
&gt; &gt; +void SelectElement::listboxClickHandler(SelectElementData&amp; data, Element* element, int listIndex,
&gt; 
&gt; The existing methods uses listBox and not listbox in their names (notice the
&gt; b), please fix.

Also, it sound be called SelectElement::listBoxClickEventHandler for consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199999</commentid>
    <comment_count>10</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-15 21:55:55 -0700</bug_when>
    <thetext>&gt; Also, it sound be called SelectElement::listBoxClickEventHandler for
&gt; consistency.

*should* not sound, obviously :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200003</commentid>
    <comment_count>11</comment_count>
      <attachid>50686</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-15 22:01:53 -0700</bug_when>
    <thetext>Comment on attachment 50686
SelectElement x Popup communication

&gt; +    virtual void listboxClick(int listIndex, bool multi, bool shift, bool fireOnChange = true);

Is click really the right terminology here? it sounds very mouse dependent. What about listBoxItemChange? (notice the listbox vs. listBox again)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200084</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-16 03:00:37 -0700</bug_when>
    <thetext>I already asked Luiz to do the SelectElement refactoring in a separate patch, here: https://bugs.webkit.org/show_bug.cgi?id=36124</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200389</commentid>
    <comment_count>13</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 13:15:43 -0700</bug_when>
    <thetext>the dependency was created just to be sure that the patches will get in the commit queue in proper order avoiding patch applying problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>200421</commentid>
    <comment_count>14</comment_count>
      <attachid>50835</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-16 14:03:24 -0700</bug_when>
    <thetext>Created attachment 50835
patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201365</commentid>
    <comment_count>15</comment_count>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-18 10:11:43 -0700</bug_when>
    <thetext>Removing the [Qt] as this doesn&apos;t only touch Qt code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201451</commentid>
    <comment_count>16</comment_count>
      <attachid>51067</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-18 11:53:48 -0700</bug_when>
    <thetext>Created attachment 51067
patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201463</commentid>
    <comment_count>17</comment_count>
      <attachid>51067</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-03-18 12:25:28 -0700</bug_when>
    <thetext>Comment on attachment 51067
patch 2

&gt; #if PLATFORM(QT) &amp;&amp; ENABLE(TOUCHABLE_SELECTORS)

Don&apos;t include the Qt platform ifdef.  That should not be necessary.  Just use ENABLE(TOUCHABLE_SELECTORS) by itself.  The point of ENABLE is to let you define it on the platforms that use it and then platform ifdef gets hidden in the cross-platform code.

I don&apos;t like the term &quot;TOUCHABLE_SELECTORS&quot; since it&apos;s not clear that we&apos;re talking about multiple select boxes.  Really this feature is about collapsing list boxes in the page and using an external popup to make your choices.

I think NO_LISTBOX_RENDERING would be more clear, as per your suggestion on IRC.

The rest of the patch looks fine to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201581</commentid>
    <comment_count>18</comment_count>
      <attachid>51101</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-18 15:01:57 -0700</bug_when>
    <thetext>Created attachment 51101
patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201892</commentid>
    <comment_count>19</comment_count>
      <attachid>51101</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2010-03-19 09:29:16 -0700</bug_when>
    <thetext>Comment on attachment 51101
patch 3

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202145</commentid>
    <comment_count>20</comment_count>
      <attachid>51101</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-19 19:35:07 -0700</bug_when>
    <thetext>Comment on attachment 51101
patch 3

Clearing flags on attachment: 51101

Committed r56292: &lt;http://trac.webkit.org/changeset/56292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202146</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-19 19:35:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222220</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-07 00:38:27 -0700</bug_when>
    <thetext>Revision r56292 cherry-picked into qtwebkit-2.0 with commit b7bd94e99c8b3211e081275da66de05f454f56cf</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50483</attachid>
            <date>2010-03-11 03:29:40 -0800</date>
            <delta_ts>2010-03-14 22:57:11 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Multiselect-popups.patch</filename>
            <type>text/plain</type>
            <size>15148</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAyMjY0MjdmNGQ4YTYzYzAxNTJmNWI4ZTJmNGNhMmRjMzM2ZTA2NzNkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTEgTWFyIDIwMTAgMDg6MjA6NTAgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBwb3B1cHMKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNjAwNgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpBZGRpbmcgYSBjb21w
aWxlIHRpbWUgZmxhZyB0aGF0IHdoZW4gdXNlZCBkbzoKCiogZm9yY2UgYWxsIDxzZWxlY3Q+IGVs
ZW1lbnRzIHRvIHVzZSBwb3B1cHMuCiogYWRqdXN0IFF0IHJlbmRlcmluZyBvZiB0aGUgbmV3IGNv
bWJvIGVsZW1lbnRzLgoqIGNyZWF0ZSBhIGRpZmZlcmVudCBsb29rIHRvIDxzZWxlY3QgbXVsdGlw
bGU+IGVsZW1lbnRzIChRdCBvbmx5KS4KCiogV2ViQ29yZS5wcm86CiogZG9tL1NlbGVjdEVsZW1l
bnQuaDoKKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnREYXRhOjp1c2VzTWVudUxpc3QpOgoqIHBsYXRm
b3JtL3F0L01hZW1vNVN0eWxlLmNwcDogQWRkZWQuCihXZWJDb3JlOjpNYWVtbzVTdHlsZTo6TWFl
bW81U3R5bGUpOgooV2ViQ29yZTo6TWFlbW81U3R5bGU6OmRyYXdNdWx0aUNvbWJvQnV0dG9uKToK
KFdlYkNvcmU6Ok1hZW1vNVN0eWxlOjpkcmF3Q29tcGxleENvbnRyb2wpOgoqIHBsYXRmb3JtL3F0
L01hZW1vNVN0eWxlLmg6IEFkZGVkLgoqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgoo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVRdCk6CihXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjpxU3R5bGUpOgooV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0TWVudUxpc3RT
dHlsZSk6CihXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0KToKKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3RCdXR0b24pOgoqIHBsYXRmb3JtL3F0L1dlYkNv
bWJvU3R5bGVPcHRpb24uaDogQWRkZWQuCihXZWJDb3JlOjpXZWJDb21ib1N0eWxlT3B0aW9uOjpX
ZWJDb21ib1N0eWxlT3B0aW9uKToKKFdlYkNvcmU6OldlYkNvbWJvU3R5bGVPcHRpb246Om11bHRp
cGxlKToKKFdlYkNvcmU6OldlYkNvbWJvU3R5bGVPcHRpb246OmNoZWNrTXVsdGlwbGUpOgoqIHJl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgooV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmFw
cGVhcmFuY2UpOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
IHwgICAzNCArKysrKysrKysrKysrKysKIFdlYkNvcmUvV2ViQ29yZS5wcm8gICAgICAgICAgICAg
ICAgICAgICAgIHwgICAgMyArCiBXZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmggICAgICAgICAg
ICAgICB8ICAgMTAgKysrKy0KIFdlYkNvcmUvcGxhdGZvcm0vcXQvTWFlbW81U3R5bGUuY3BwICAg
ICAgIHwgICA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9y
bS9xdC9NYWVtbzVTdHlsZS5oICAgICAgICAgfCAgIDQ4ICsrKysrKysrKysrKysrKysrKysrKwog
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCAgICAgfCAgIDE2ICsrKysrKy0K
IFdlYkNvcmUvcGxhdGZvcm0vcXQvV2ViQ29tYm9TdHlsZU9wdGlvbi5oIHwgICA1OSArKysrKysr
KysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aCAgICAgfCAgIDEwICsrKystCiA4IGZpbGVzIGNoYW5nZWQsIDI0MCBpbnNlcnRpb25zKCspLCA1
IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvcGxhdGZvcm0vcXQvTWFl
bW81U3R5bGUuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9wbGF0Zm9ybS9xdC9NYWVt
bzVTdHlsZS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9wbGF0Zm9ybS9xdC9XZWJDb21i
b1N0eWxlT3B0aW9uLmgKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDNhZWJmOGYuLjBkODE2NjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDMt
MTEgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTXVsdGlzZWxlY3QgcG9w
dXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAw
NgorCisgICAgICAgIEFkZGluZyBhIGNvbXBpbGUgdGltZSBmbGFnIHRoYXQgd2hlbiB1c2VkIGRv
OgorCisgICAgICAgICogZm9yY2UgYWxsIDxzZWxlY3Q+IGVsZW1lbnRzIHRvIHVzZSBwb3B1cHMu
CisgICAgICAgICogYWRqdXN0IFF0IHJlbmRlcmluZyBvZiB0aGUgbmV3IGNvbWJvIGVsZW1lbnRz
LgorICAgICAgICAqIGNyZWF0ZSBhIGRpZmZlcmVudCBsb29rIHRvIDxzZWxlY3QgbXVsdGlwbGU+
IGVsZW1lbnRzIChRdCBvbmx5KS4KKworICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAq
IGRvbS9TZWxlY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50RGF0
YTo6dXNlc01lbnVMaXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9NYWVtbzVTdHlsZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWFlbW81U3R5bGU6Ok1hZW1vNVN0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1hZW1vNVN0eWxlOjpkcmF3TXVsdGlDb21ib0J1dHRvbik6CisgICAg
ICAgIChXZWJDb3JlOjpNYWVtbzVTdHlsZTo6ZHJhd0NvbXBsZXhDb250cm9sKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9NYWVtbzVTdHlsZS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OlJl
bmRlclRoZW1lUXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cVN0eWxlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdE1lbnVMaXN0U3R5bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9XZWJDb21ib1N0eWxlT3B0aW9uLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViQ29tYm9TdHlsZU9wdGlvbjo6V2ViQ29tYm9TdHlsZU9wdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJDb21ib1N0eWxlT3B0aW9uOjptdWx0aXBsZSk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJDb21ib1N0eWxlT3B0aW9uOjpjaGVja011bHRpcGxlKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZs
YWdzOjphcHBlYXJhbmNlKToKKwogMjAxMC0wMy0xMCAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNs
b0Bsb2lzbG8tbWFjYm9va3Byby5sb2NhbD4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBG
ZWxkbWFuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KaW5kZXggZGUwYmYwMS4uYjc2MzhlZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnBybworKysgYi9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xNTc3LDYgKzE1NzcsOCBAQCBIRUFE
RVJTICs9IFwKICAgICBwbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oIFwKICAgICBwbGF0Zm9ybS9x
dC9RV2ViUGFnZUNsaWVudC5oIFwKICAgICBwbGF0Zm9ybS9xdC9RdEFic3RyYWN0V2ViUG9wdXAu
aCBcCisgICAgcGxhdGZvcm0vcXQvV2ViQ29tYm9TdHlsZU9wdGlvbi5oIFwKKyAgICBwbGF0Zm9y
bS9xdC9NYWVtbzVTdHlsZS5oIFwKICAgICBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggXAog
ICAgIHBsYXRmb3JtL3F0L1Njcm9sbGJhclRoZW1lUXQuaCBcCiAgICAgcGxhdGZvcm0vU2Nyb2xs
YmFyLmggXApAQCAtMjA0OCw2ICsyMDUwLDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0v
cXQvUGxhdGZvcm1Ub3VjaFBvaW50UXQuY3BwIFwKICAgICBwbGF0Zm9ybS9xdC9Qb3B1cE1lbnVR
dC5jcHAgXAogICAgIHBsYXRmb3JtL3F0L1F0QWJzdHJhY3RXZWJQb3B1cC5jcHAgXAorICAgIHBs
YXRmb3JtL3F0L01hZW1vNVN0eWxlLmNwcCBcCiAgICAgcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVR
dC5jcHAgXAogICAgIHBsYXRmb3JtL3F0L1Njcm9sbGJhclF0LmNwcCBcCiAgICAgcGxhdGZvcm0v
cXQvU2Nyb2xsYmFyVGhlbWVRdC5jcHAgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0
RWxlbWVudC5oIGIvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oCmluZGV4IDY4OTFjMjIuLjlm
OTIzNGEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaAorKysgYi9XZWJD
b3JlL2RvbS9TZWxlY3RFbGVtZW50LmgKQEAgLTEsNCArMSw1IEBACiAvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4K
ICAqIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLiAoaHR0cC8vd3d3LnRvcmNobW9iaWxlLmNvbS8pCiAgKgogICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMTE0LDcg
KzExNSwxNCBAQCBwdWJsaWM6CiAgICAgaW50IHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7
IH0KICAgICB2b2lkIHNldFNpemUoaW50IHZhbHVlKSB7IG1fc2l6ZSA9IHZhbHVlOyB9CiAKLSAg
ICBib29sIHVzZXNNZW51TGlzdCgpIGNvbnN0IHsgcmV0dXJuICFtX211bHRpcGxlICYmIG1fc2l6
ZSA8PSAxOyB9CisgICAgYm9vbCB1c2VzTWVudUxpc3QoKSBjb25zdAorICAgIHsKKyAgICAjaWZk
ZWYgU0VMRUNUX0FMV0FZU19VU0VfUE9QVVBfTUVOVQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAjZWxzZQorICAgICAgICByZXR1cm4gIW1fbXVsdGlwbGUgJiYgbV9zaXplIDw9IDE7CisgICAg
I2VuZGlmCisgICAgfQogCiAgICAgaW50IGxhc3RPbkNoYW5nZUluZGV4KCkgY29uc3QgeyByZXR1
cm4gbV9sYXN0T25DaGFuZ2VJbmRleDsgfQogICAgIHZvaWQgc2V0TGFzdE9uQ2hhbmdlSW5kZXgo
aW50IHZhbHVlKSB7IG1fbGFzdE9uQ2hhbmdlSW5kZXggPSB2YWx1ZTsgfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9NYWVtbzVTdHlsZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0
L01hZW1vNVN0eWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODI0
NWE3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9NYWVtbzVTdHlsZS5j
cHAKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTWFlbW81U3R5bGUuaCIKKworI2luY2x1ZGUgIldlYkNvbWJvU3R5bGVP
cHRpb24uaCIKKworI2luY2x1ZGUgPFFEZWJ1Zz4KKyNpbmNsdWRlIDxRUGFpbnRlcj4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitNYWVtbzVTdHlsZTo6TWFlbW81U3R5bGUoKQoreworfQorCit2
b2lkIE1hZW1vNVN0eWxlOjpkcmF3TXVsdGlDb21ib0J1dHRvbihjb25zdCBRU3R5bGVPcHRpb25D
b21ib0JveCogY21iLCBRUGFpbnRlciogcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFFXaWRnZXQqIHdpZGdldCkgY29uc3QKK3sKKyAgICBRUmVjdCByZWN0
ID0gcHJveHkoKS0+c3ViQ29udHJvbFJlY3QoQ0NfQ29tYm9Cb3gsIGNtYiwgU0NfQ29tYm9Cb3hB
cnJvdywgd2lkZ2V0KTsKKyAgICBRUGFsZXR0ZSBwYWwoY21iLT5wYWxldHRlKTsKKyAgICBwYWwu
c2V0Q29sb3IoUVBhbGV0dGU6OkJ1dHRvbiwgY21iLT5wYWxldHRlLmxpZ2h0KCkuY29sb3IoKSk7
CisgICAgcGFsLnNldENvbG9yKFFQYWxldHRlOjpMaWdodCwgY21iLT5wYWxldHRlLmJ1dHRvbigp
LmNvbG9yKCkpOworICAgIHFEcmF3V2luQnV0dG9uKHAsIHJlY3QsIHBhbCwgZmFsc2UsCisgICAg
ICAgICAgICAgICAgICAgJmNtYi0+cGFsZXR0ZS5icnVzaChRUGFsZXR0ZTo6QnV0dG9uKSk7Cit9
CisKK3ZvaWQgTWFlbW81U3R5bGU6OmRyYXdDb21wbGV4Q29udHJvbChDb21wbGV4Q29udHJvbCBj
b250cm9sLCBjb25zdCBRU3R5bGVPcHRpb25Db21wbGV4KiBvcHRpb24sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUVBhaW50ZXIqIHBhaW50ZXIsIGNvbnN0IFFXaWRnZXQq
IHdpZGdldCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKGNvbnRyb2wpIHsKKyAgICBjYXNlIENDX0Nv
bWJvQm94OiB7CisgICAgICAgIGNvbnN0IFdlYkNvbWJvU3R5bGVPcHRpb24qIG9yaWcgPSBzdGF0
aWNfY2FzdDxjb25zdCBXZWJDb21ib1N0eWxlT3B0aW9uICo+KG9wdGlvbik7CisgICAgICAgIGlm
IChvcmlnICYmIG9yaWctPm11bHRpcGxlKCkpIHsKKyAgICAgICAgICAgIFFTdHlsZU9wdGlvbkNv
bWJvQm94IGNvbWJvID0gKm9yaWc7CisgICAgICAgICAgICBjb21iby5zdWJDb250cm9scyAmPSB+
UVN0eWxlOjpTQ19Db21ib0JveEFycm93OworICAgICAgICAgICAgUVdpbmRvd3NTdHlsZTo6ZHJh
d0NvbXBsZXhDb250cm9sKFFTdHlsZTo6Q0NfQ29tYm9Cb3gsICZjb21ibywgcGFpbnRlciwgd2lk
Z2V0KTsKKyAgICAgICAgICAgIGRyYXdNdWx0aUNvbWJvQnV0dG9uKG9yaWcsIHBhaW50ZXIsIHdp
ZGdldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICBkZWZhdWx0
OgorICAgICAgICBRV2luZG93c1N0eWxlOjpkcmF3Q29tcGxleENvbnRyb2woY29udHJvbCwgb3B0
aW9uLCBwYWludGVyLCB3aWRnZXQpOworICAgIH0KK30KKworfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9NYWVtbzVTdHlsZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9NYWVtbzVT
dHlsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4OTUwYjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L01hZW1vNVN0eWxlLmgKQEAgLTAsMCAr
MSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIE1hZW1vNVN0eWxlX2gKKyNkZWZp
bmUgTWFlbW81U3R5bGVfaAorCisjaW5jbHVkZSA8UVdpbmRvd3NTdHlsZT4KKworUVRfQkVHSU5f
TkFNRVNQQUNFCitjbGFzcyBRU3R5bGVPcHRpb25Db21ib0JveDsKK2NsYXNzIFFQYWludGVyOwor
Y2xhc3MgUVdpZGdldDsKK1FUX0VORF9OQU1FU1BBQ0UKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBNYWVtbzVTdHlsZSA6IHB1YmxpYyBRV2luZG93c1N0eWxlIHsKK3B1YmxpYzoKKyAg
ICBNYWVtbzVTdHlsZSgpOworCisgICAgdmlydHVhbCB2b2lkIGRyYXdDb21wbGV4Q29udHJvbChD
b21wbGV4Q29udHJvbCBjb250cm9sLCBjb25zdCBRU3R5bGVPcHRpb25Db21wbGV4KiBvcHRpb24s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRUGFpbnRlciogcGFpbnRlciwg
Y29uc3QgUVdpZGdldCogd2lkZ2V0ID0gMCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgdm9pZCBk
cmF3TXVsdGlDb21ib0J1dHRvbihjb25zdCBRU3R5bGVPcHRpb25Db21ib0JveCosIFFQYWludGVy
KiwgY29uc3QgUVdpZGdldCopIGNvbnN0OworCit9OworCit9CisKKyNlbmRpZiAvLyBNYWVtbzVT
dHlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKaW5kZXggYWY1ODM1Ni4uYWUy
ODFlNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCkBAIC0xLDcgKzEsNyBA
QAogLyoKICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KICAqCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRp
YXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTAgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKgogICogQ29weXJpZ2h0IChDKSAy
MDA2IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KICAqICAgICAgICAgICAgICAgMjAwNiBEaXJr
IE11ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4KQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJI
VE1MSW5wdXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIk1hZW1vNVN0eWxlLmgiCiAjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUVdlYlBhZ2VDbGll
bnQuaCIKQEAgLTUxLDYgKzUyLDcgQEAKICNpbmNsdWRlICJUaW1lUmFuZ2VzLmgiCiAjaW5jbHVk
ZSAiU2Nyb2xsYmFyVGhlbWVRdC5oIgogI2luY2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgi
CisjaW5jbHVkZSAiV2ViQ29tYm9TdHlsZU9wdGlvbi5oIgogI2luY2x1ZGUgInF3ZWJwYWdlLmgi
CiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CkBAIC0xNDEsNyArMTQzLDExIEBAIFJlbmRlclRo
ZW1lUXQ6OlJlbmRlclRoZW1lUXQoUGFnZSogcGFnZSkKICAgICBtX2J1dHRvbkZvbnRQaXhlbFNp
emUgPSBmb250SW5mby5waXhlbFNpemUoKTsKICNlbmRpZgogCisjaWZkZWYgU0VMRUNUX0FMV0FZ
U19VU0VfUE9QVVBfTUVOVQorICAgIG1fZmFsbGJhY2tTdHlsZSA9IG5ldyBNYWVtbzVTdHlsZTsK
KyNlbHNlCiAgICAgbV9mYWxsYmFja1N0eWxlID0gUVN0eWxlRmFjdG9yeTo6Y3JlYXRlKFFMYXRp
bjFTdHJpbmcoIndpbmRvd3MiKSk7CisjZW5kaWYKIH0KIAogUmVuZGVyVGhlbWVRdDo6flJlbmRl
clRoZW1lUXQoKQpAQCAtMTU5LDYgKzE2NSw4IEBAIFFTdHlsZSogUmVuZGVyVGhlbWVRdDo6cVN0
eWxlKCkgY29uc3QKIHsKICNpZmRlZiBRX1dTX01BRU1PXzUKICAgICByZXR1cm4gZmFsbGJhY2tT
dHlsZSgpOworI2VsaWYgU0VMRUNUX0FMV0FZU19VU0VfUE9QVVBfTUVOVQorICAgIHJldHVybiBm
YWxsYmFja1N0eWxlKCk7CiAjZW5kaWYKIAogICAgIGlmIChtX3BhZ2UpIHsKQEAgLTU0NCw2ICs1
NTIsOCBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEFyZWEoUmVuZGVyT2JqZWN0KiBv
LCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbwogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFk
anVzdE1lbnVMaXN0U3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwg
RWxlbWVudCopIGNvbnN0CiB7CisgICAgc3R5bGUtPnNldEJveEFsaWduKEJDRU5URVIpOworCiAg
ICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAKICAgICAvLyBIZWlnaHQgaXMgbG9ja2VkIHRvIGF1
dG8uCkBAIC01NzgsNyArNTg4LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0
KFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8KICAgICBpZiAo
IXAuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIFFTdHlsZU9wdGlvbkNv
bWJvQm94IG9wdDsKKyAgICBXZWJDb21ib1N0eWxlT3B0aW9uIG9wdChvKTsKICAgICBpZiAocC53
aWRnZXQpCiAgICAgICAgIG9wdC5pbml0RnJvbShwLndpZGdldCk7CiAgICAgaW5pdGlhbGl6ZUNv
bW1vblFTdHlsZU9wdGlvbnMob3B0LCBvKTsKQEAgLTYxOCw3ICs2MjgsNyBAQCBib29sIFJlbmRl
clRoZW1lUXQ6OnBhaW50TWVudUxpc3RCdXR0b24oUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5k
ZXJPYmplY3Q6OlBhaQogICAgIGlmICghcC5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCi0gICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0aW9uOworICAgIFdlYkNvbWJvU3R5bGVP
cHRpb24gb3B0aW9uKG8pOwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0aW9uLmluaXRG
cm9tKHAud2lkZ2V0KTsKICAgICBpbml0aWFsaXplQ29tbW9uUVN0eWxlT3B0aW9ucyhvcHRpb24s
IG8pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9XZWJDb21ib1N0eWxlT3B0aW9u
LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1dlYkNvbWJvU3R5bGVPcHRpb24uaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzFiMmFjCi0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9XZWJDb21ib1N0eWxlT3B0aW9uLmgKQEAgLTAsMCArMSw1OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1
YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFdlYkNvbWJvU3R5bGVPcHRpb25faAorI2RlZmlu
ZSBXZWJDb21ib1N0eWxlT3B0aW9uX2gKKworI2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50Lmgi
CisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisKKyNpbmNsdWRlIDxRU3R5bGVPcHRpb24+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVuZGVyT2JqZWN0OworCitjbGFzcyBXZWJD
b21ib1N0eWxlT3B0aW9uIDogcHVibGljIFFTdHlsZU9wdGlvbkNvbWJvQm94IHsKK3B1YmxpYzoK
KyAgICBXZWJDb21ib1N0eWxlT3B0aW9uKFJlbmRlck9iamVjdCogbykKKyAgICAgICAgOiBRU3R5
bGVPcHRpb25Db21ib0JveCgpCisgICAgI2lmZGVmIFNFTEVDVF9BTFdBWVNfVVNFX1BPUFVQX01F
TlUKKyAgICAgICAgLCBtX211bHRpcGxlKGNoZWNrTXVsdGlwbGUobykpCisgICAgI2Vsc2UKKyAg
ICAgICAgLCBtX211bHRpcGxlKGZhbHNlKQorICAgICNlbmRpZgorICAgIHsKKyAgICB9CisKKyAg
ICBib29sIG11bHRpcGxlKCkgY29uc3QgeyByZXR1cm4gbV9tdWx0aXBsZTsgfQorCitwcml2YXRl
OgorICAgIGNvbnN0IGJvb2wgbV9tdWx0aXBsZTsKKworICAgIGJvb2wgY2hlY2tNdWx0aXBsZShS
ZW5kZXJPYmplY3QqIG8pCisgICAgeworICAgICAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0
ID0gbyA/IHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4oby0+bm9kZSgpKSA6IDA7Cisg
ICAgICAgIHJldHVybiBzZWxlY3QgPyBzZWxlY3QtPm11bHRpcGxlKCkgOiBmYWxzZTsKKyAgICB9
Cit9OworCit9CisKKyNlbmRpZiAvLyBXZWJDb21ib1N0eWxlT3B0aW9uX2gKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDZlYzA1MzQuLmZiNzY2MmMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNjExLDcgKzYxMSwxNSBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgQ29sb3ImIHRleHRGaWxsQ29sb3IoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJp
dGVkRGF0YS0+dGV4dEZpbGxDb2xvcjsgfQogICAgIENvbG9yU3BhY2UgY29sb3JTcGFjZSgpIGNv
bnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PENvbG9yU3BhY2U+KHJhcmVJbmhlcml0ZWREYXRhLT5j
b2xvclNwYWNlKTsgfQogICAgIGZsb2F0IG9wYWNpdHkoKSBjb25zdCB7IHJldHVybiByYXJlTm9u
SW5oZXJpdGVkRGF0YS0+b3BhY2l0eTsgfQotICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UoKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxDb250cm9sUGFydD4ocmFyZU5vbkluaGVyaXRlZERh
dGEtPm1fYXBwZWFyYW5jZSk7IH0KKyAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlKCkgY29uc3QK
KyAgICB7CisjaWZkZWYgU0VMRUNUX0FMV0FZU19VU0VfUE9QVVBfTUVOVQorICAgICAgICBDb250
cm9sUGFydCByZXN1bHQgPSBzdGF0aWNfY2FzdDxDb250cm9sUGFydD4ocmFyZU5vbkluaGVyaXRl
ZERhdGEtPm1fYXBwZWFyYW5jZSk7CisgICAgICAgIHJldHVybiByZXN1bHQgPT0gTGlzdGJveFBh
cnQgPyBNZW51bGlzdFBhcnQgOiByZXN1bHQ7CisjZWxzZQorICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Q29udHJvbFBhcnQ+KHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2FwcGVhcmFuY2UpOwor
I2VuZGlmCisgICAgfQogICAgIEVCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxFQm94QWxpZ25tZW50PihyYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZmxleGli
bGVCb3gtPmFsaWduKTsgfQogICAgIEVCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3Qg
eyByZXR1cm4gc3RhdGljX2Nhc3Q8RUJveERpcmVjdGlvbj4oaW5oZXJpdGVkX2ZsYWdzLl9ib3hf
ZGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSB7IHJldHVybiByYXJlTm9uSW5oZXJp
dGVkRGF0YS0+ZmxleGlibGVCb3gtPmZsZXg7IH0KLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50683</attachid>
            <date>2010-03-14 22:57:11 -0700</date>
            <delta_ts>2010-03-16 14:03:24 -0700</delta_ts>
            <desc>Rendering</desc>
            <filename>0001-Multiselect-popups.patch</filename>
            <type>text/plain</type>
            <size>12076</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAwMjRmZTdlNjU2MzljM2E2NGQ4OTAwODMyNTQ4NTQxZjJlYmY2YzNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IE1vbiwgMTUgTWFyIDIwMTAgMDI6NTE6MTUgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBwb3B1cHMKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNjAwNgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpBZGRpbmcgYSBjb21w
aWxlIHRpbWUgZmxhZyB0aGF0IHdoZW4gdXNlZCBkbzoKCiogZm9yY2UgYWxsIDxzZWxlY3Q+IGVs
ZW1lbnRzIHRvIHVzZSBwb3B1cHMuCiogYWRqdXN0IFF0IHJlbmRlcmluZyBvZiB0aGUgbmV3IGNv
bWJvIGVsZW1lbnRzLgoqIHByb3ZpZGUgaW5mb3JtYXRpb24gdG8gUVN0eWxlIG9iamVjdHMgdG8g
ZGlmZmVyZW50aWF0ZSBiZWV0d2luZyBub3JtYWwgY29tYm9zIGFuZAogIHRoZSBuZXcgbXVsdGlz
ZWxlY3QgY29tYm9zLgoKKiBXZWJDb3JlLnByaToKKiBXZWJDb3JlLnBybzoKKiBjc3MvdGhlbWVR
dE5vTGlzdGJveGVzLmNzczogQWRkZWQuCiogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKFdlYkNvcmU6
OlNlbGVjdEVsZW1lbnREYXRhOjp1c2VzTWVudUxpc3QpOgoqIHBsYXRmb3JtL3F0L1F0U3R5bGVP
cHRpb25XZWJDb21ib0JveC5oOiBBZGRlZC4KKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21i
b0JveDo6UXRTdHlsZU9wdGlvbldlYkNvbWJvQm94KToKKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25X
ZWJDb21ib0JveDo6bXVsdGlwbGUpOgooV2ViQ29yZTo6UXRTdHlsZU9wdGlvbldlYkNvbWJvQm94
OjpjaGVja011bHRpcGxlKToKKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXQ6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQpOgooV2ViQ29yZTo6UmVu
ZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdCk6CihXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWlu
dE1lbnVMaXN0QnV0dG9uKToKKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0Lmg6Ci0tLQogV2Vi
Q29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjkgKysrKysr
KysrKysrCiBXZWJDb3JlL1dlYkNvcmUucHJpICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgNCArKwogV2ViQ29yZS9XZWJDb3JlLnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAgIDEgKwogV2ViQ29yZS9jc3MvdGhlbWVRdE5vTGlzdGJveGVzLmNzcyAgICAgICAgICAgICB8
ICAgNDEgKysrKysrKysrKysrKysrKwogV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oICAgICAg
ICAgICAgICAgICAgICB8ICAgMTEgKysrKy0KIFdlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9w
dGlvbldlYkNvbWJvQm94LmggfCAgIDU5ICsrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCAgICAgICAgICB8ICAgMTcgKysrKysrLQog
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggICAgICAgICAgICB8ICAgIDQgKy0K
IDggZmlsZXMgY2hhbmdlZCwgMTYxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9jc3MvdGhlbWVRdE5vTGlzdGJveGVzLmNzcwogY3JlYXRl
IG1vZGUgMTAwNjQ0IFdlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94
LmgKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDY1YzAwNjguLmY5MDA1OTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTAtMDMtMTQgIEx1aXogQWdv
c3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTXVsdGlzZWxlY3QgcG9wdXBzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAwNgorCisgICAgICAg
IEFkZGluZyBhIGNvbXBpbGUgdGltZSBmbGFnIHRoYXQgd2hlbiB1c2VkIGRvOgorCisgICAgICAg
ICogZm9yY2UgYWxsIDxzZWxlY3Q+IGVsZW1lbnRzIHRvIHVzZSBwb3B1cHMuCisgICAgICAgICog
YWRqdXN0IFF0IHJlbmRlcmluZyBvZiB0aGUgbmV3IGNvbWJvIGVsZW1lbnRzLgorICAgICAgICAq
IHByb3ZpZGUgaW5mb3JtYXRpb24gdG8gUVN0eWxlIG9iamVjdHMgdG8gZGlmZmVyZW50aWF0ZSBi
ZWV0d2luZyBub3JtYWwgY29tYm9zIGFuZAorICAgICAgICAgIHRoZSBuZXcgbXVsdGlzZWxlY3Qg
Y29tYm9zLgorCisgICAgICAgICogV2ViQ29yZS5wcmk6CisgICAgICAgICogV2ViQ29yZS5wcm86
CisgICAgICAgICogY3NzL3RoZW1lUXROb0xpc3Rib3hlcy5jc3M6IEFkZGVkLgorICAgICAgICAq
IGRvbS9TZWxlY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50RGF0
YTo6dXNlc01lbnVMaXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2Vi
Q29tYm9Cb3guaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpRdFN0eWxlT3B0aW9uV2ViQ29t
Ym9Cb3g6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveCk6CisgICAgICAgIChXZWJDb3JlOjpRdFN0
eWxlT3B0aW9uV2ViQ29tYm9Cb3g6Om11bHRpcGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlF0U3R5
bGVPcHRpb25XZWJDb21ib0JveDo6Y2hlY2tNdWx0aXBsZSk6CisgICAgICAgICogcGxhdGZvcm0v
cXQvUmVuZGVyVGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0Ojpl
eHRyYURlZmF1bHRTdHlsZVNoZWV0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6
OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRN
ZW51TGlzdEJ1dHRvbik6CisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgor
CiAyMDEwLTAzLTAyICBFcmljIFVocmhhbmUgIDxlcmljdUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUu
cHJpIGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCBmYzc5ZjhkLi5iNzgzMWNiIDEwMDY0NAot
LS0gYS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTE5
OSw2ICsxOTksMTAgQEAgU1RZTEVTSEVFVFNfRU1CRUQgPSBcCiAgICAgJCRQV0QvY3NzL21lZGlh
Q29udHJvbHMuY3NzIFwKICAgICAkJFBXRC9jc3MvbWVkaWFDb250cm9sc1F0LmNzcwogCitjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfTk9fTElTVEJPWEVTPTEpIHsKKyAgICBTVFlMRVNIRUVUU19F
TUJFRCArPSAkJFBXRC9jc3MvdGhlbWVRdE5vTGlzdGJveGVzLmNzcworfQorCiBJRExfQklORElO
R1MgKz0gXAogICAgIGNzcy9Db3VudGVyLmlkbCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmlk
bCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBy
bwppbmRleCBkNjQwNmUzLi4wMDA5ZDc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJv
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTE1NjYsNiArMTU2Niw3IEBAIEhFQURFUlMg
Kz0gXAogICAgIHBsYXRmb3JtL3F0L0NsaXBib2FyZFF0LmggXAogICAgIHBsYXRmb3JtL3F0L1FX
ZWJQYWdlQ2xpZW50LmggXAogICAgIHBsYXRmb3JtL3F0L1F0QWJzdHJhY3RXZWJQb3B1cC5oIFwK
KyAgICBwbGF0Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaCBcCiAgICAgcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5oIFwKICAgICBwbGF0Zm9ybS9xdC9TY3JvbGxiYXJUaGVtZVF0
LmggXAogICAgIHBsYXRmb3JtL1Njcm9sbGJhci5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L3RoZW1lUXROb0xpc3Rib3hlcy5jc3MgYi9XZWJDb3JlL2Nzcy90aGVtZVF0Tm9MaXN0Ym94ZXMu
Y3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyZjU5MWEKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2Nzcy90aGVtZVF0Tm9MaXN0Ym94ZXMuY3NzCkBAIC0wLDAgKzEs
NDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworLyogVGhlc2Ugc3R5bGVzIG92ZXJyaWRlIG90aGVyIHVzZXItYWdl
bnQgc3R5bGVzIGZvciBRdCBNYWVtbzUuICovCisKK3NlbGVjdFtzaXplXSwKK3NlbGVjdFttdWx0
aXBsZV0sCitzZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6
IG1lbnVsaXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgYm9yZGVyOiAx
cHggc29saWQ7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7CisgICAgd2hpdGUtc3Bh
Y2U6IHByZTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaCBiL1dl
YkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaAppbmRleCA2ODkxYzIyLi4wZDlkYWZlIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2VsZWN0
RWxlbWVudC5oCkBAIC0xLDQgKzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHAvL3d3
dy50b3JjaG1vYmlsZS5jb20vKQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTk1LDYgKzk2LDcgQEAgcHJvdGVj
dGVkOgogICAgIHN0YXRpYyB2b2lkIGluc2VydGVkSW50b1RyZWUoU2VsZWN0RWxlbWVudERhdGEm
LCBFbGVtZW50Kik7CiAgICAgc3RhdGljIHZvaWQgYWNjZXNzS2V5U2V0U2VsZWN0ZWRJbmRleChT
ZWxlY3RFbGVtZW50RGF0YSYsIEVsZW1lbnQqLCBpbnQgaW5kZXgpOwogICAgIHN0YXRpYyB1bnNp
Z25lZCBvcHRpb25Db3VudChjb25zdCBTZWxlY3RFbGVtZW50RGF0YSYsIGNvbnN0IEVsZW1lbnQq
KTsKKwogIAogcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBtZW51TGlzdERlZmF1bHRFdmVudEhh
bmRsZXIoU2VsZWN0RWxlbWVudERhdGEmLCBFbGVtZW50KiwgRXZlbnQqLCBIVE1MRm9ybUVsZW1l
bnQqKTsKQEAgLTExNCw3ICsxMTYsMTQgQEAgcHVibGljOgogICAgIGludCBzaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9zaXplOyB9CiAgICAgdm9pZCBzZXRTaXplKGludCB2YWx1ZSkgeyBtX3NpemUg
PSB2YWx1ZTsgfQogCi0gICAgYm9vbCB1c2VzTWVudUxpc3QoKSBjb25zdCB7IHJldHVybiAhbV9t
dWx0aXBsZSAmJiBtX3NpemUgPD0gMTsgfQorICAgIGJvb2wgdXNlc01lbnVMaXN0KCkgY29uc3QK
KyAgICB7CisjaWYgUExBVEZPUk0oUVQpICYmIEVOQUJMRShOT19MSVNUQk9YRVMpCisgICAgICAg
IHJldHVybiB0cnVlOworI2Vsc2UKKyAgICAgICAgcmV0dXJuICFtX211bHRpcGxlICYmIG1fc2l6
ZSA8PSAxOworI2VuZGlmCisgICAgfQogCiAgICAgaW50IGxhc3RPbkNoYW5nZUluZGV4KCkgY29u
c3QgeyByZXR1cm4gbV9sYXN0T25DaGFuZ2VJbmRleDsgfQogICAgIHZvaWQgc2V0TGFzdE9uQ2hh
bmdlSW5kZXgoaW50IHZhbHVlKSB7IG1fbGFzdE9uQ2hhbmdlSW5kZXggPSB2YWx1ZTsgfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaCBi
L1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIwZjI2MgotLS0gL2Rldi9udWxsCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94LmgKQEAgLTAsMCArMSw1
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIFF0U3R5bGVPcHRpb25XZWJDb21ib0Jv
eF9oCisjZGVmaW5lIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveF9oCisKKyNpbmNsdWRlICJIVE1M
U2VsZWN0RWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorCisjaW5jbHVkZSA8
UVN0eWxlT3B0aW9uPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJlbmRlck9iamVj
dDsKKworY2xhc3MgUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94IDogcHVibGljIFFTdHlsZU9wdGlv
bkNvbWJvQm94IHsKK3B1YmxpYzoKKyAgICBRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3goUmVuZGVy
T2JqZWN0KiBvKQorICAgICAgICA6IFFTdHlsZU9wdGlvbkNvbWJvQm94KCkKKyAgICAjaWYgRU5B
QkxFKE5PX0xJU1RCT1hFUykKKyAgICAgICAgLCBtX211bHRpcGxlKGNoZWNrTXVsdGlwbGUobykp
CisgICAgI2Vsc2UKKyAgICAgICAgLCBtX211bHRpcGxlKGZhbHNlKQorICAgICNlbmRpZgorICAg
IHsKKyAgICB9CisKKyAgICBib29sIG11bHRpcGxlKCkgY29uc3QgeyByZXR1cm4gbV9tdWx0aXBs
ZTsgfQorCitwcml2YXRlOgorICAgIGJvb2wgbV9tdWx0aXBsZTsKKworICAgIGJvb2wgY2hlY2tN
dWx0aXBsZShSZW5kZXJPYmplY3QqIG8pCisgICAgeworICAgICAgICBIVE1MU2VsZWN0RWxlbWVu
dCogc2VsZWN0ID0gbyA/IHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4oby0+bm9kZSgp
KSA6IDA7CisgICAgICAgIHJldHVybiBzZWxlY3QgPyBzZWxlY3QtPm11bHRpcGxlKCkgOiBmYWxz
ZTsKKyAgICB9Cit9OworCit9CisKKyNlbmRpZiAvLyBRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3hf
aApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKaW5kZXggYWY1ODM1Ni4uMDMzMmM3
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCkBAIC0xLDcgKzEsNyBAQAog
LyoKICAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KICAqCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTAgTm9raWEgQ29ycG9yYXRp
b24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA2
IFphY2sgUnVzaW4gPHphY2tAa2RlLm9yZz4KICAqICAgICAgICAgICAgICAgMjAwNiBEaXJrIE11
ZWxsZXIgPG11ZWxsZXJAa2RlLm9yZz4KQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIK
KyNpbmNsdWRlICJRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaCIKICNpbmNsdWRlICJRV2ViUGFn
ZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgogI2luY2x1ZGUgIlJlbmRlclNsaWRl
ci5oIgpAQCAtMTcxLDYgKzE3MiwxNiBAQCBRU3R5bGUqIFJlbmRlclRoZW1lUXQ6OnFTdHlsZSgp
IGNvbnN0CiAgICAgcmV0dXJuIFFBcHBsaWNhdGlvbjo6c3R5bGUoKTsKIH0KIAorU3RyaW5nIFJl
bmRlclRoZW1lUXQ6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKQoreworI2lmIEVOQUJMRShOT19M
SVNUQk9YRVMpCisgICAgcmV0dXJuIFJlbmRlclRoZW1lOjpleHRyYURlZmF1bHRTdHlsZVNoZWV0
KCkgKworICAgICAgICAgICBTdHJpbmcodGhlbWVRdE5vTGlzdGJveGVzVXNlckFnZW50U3R5bGVT
aGVldCwgc2l6ZW9mKHRoZW1lUXROb0xpc3Rib3hlc1VzZXJBZ2VudFN0eWxlU2hlZXQpKTsKKyNl
bHNlCisgICAgcmV0dXJuIFJlbmRlclRoZW1lOjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCk7Cisj
ZW5kaWYKK30KKwogYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRl
clN0eWxlKikgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTU3OCw3ICs1ODksNyBAQCBi
b29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBS
ZW5kZXJPYmplY3Q6OlBhaW50SW5mbwogICAgIGlmICghcC5pc1ZhbGlkKCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCi0gICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0OworICAgIFF0U3R5bGVP
cHRpb25XZWJDb21ib0JveCBvcHQobyk7CiAgICAgaWYgKHAud2lkZ2V0KQogICAgICAgICBvcHQu
aW5pdEZyb20ocC53aWRnZXQpOwogICAgIGluaXRpYWxpemVDb21tb25RU3R5bGVPcHRpb25zKG9w
dCwgbyk7CkBAIC02MTgsNyArNjI5LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVM
aXN0QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWkKICAgICBp
ZiAoIXAuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIFFTdHlsZU9wdGlv
bkNvbWJvQm94IG9wdGlvbjsKKyAgICBRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3ggb3B0aW9uKG8p
OwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0aW9uLmluaXRGcm9tKHAud2lkZ2V0KTsK
ICAgICBpbml0aWFsaXplQ29tbW9uUVN0eWxlT3B0aW9ucyhvcHRpb24sIG8pOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggYi9XZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuaAppbmRleCA4YTIyZGYxLi5hZTc0ZDhkIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuaApAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgdGhlbWUgaW1wbGVtZW50YXRpb24gZm9yIGZvcm0gY29udHJvbHMgaW4gV2Vi
Q29yZS4KICAqCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIE5va2lh
IENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtNDUsNiArNDUsOCBAQCBwcml2YXRlOgogcHVibGljOgogICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoUGFnZSopOwogCisgICAgU3RyaW5nIGV4dHJhRGVm
YXVsdFN0eWxlU2hlZXQoKTsKKwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0hvdmVyKGNvbnN0
IFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXNSaW5n
KGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkgY29uc3Q7CiAKLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="33884"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50686</attachid>
            <date>2010-03-14 23:41:47 -0700</date>
            <delta_ts>2010-03-16 14:03:24 -0700</delta_ts>
            <desc>SelectElement x Popup communication</desc>
            <filename>0001-Multiselect-popups.patch</filename>
            <type>text/plain</type>
            <size>18840</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAxYzQzNTY1NzA2MzJiODlmOTQ2M2U3MWE3N2QzMWJkYzI2MTZlY2RhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IE1vbiwgMTUgTWFyIDIwMTAgMDM6Mzg6MzMgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBwb3B1cHMKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNjAwNgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpTbWFsbCByZWZhY3Rv
cmluZyBhbmQgZmV3IGNoYW5nZXMgdG8gU2VsZWN0RWxlbWVudCBhbmQgc29tZSBvdGhlciBjbGFz
c2VzIHRvIG1ha2UKZmVhc2libGUgdGhlIHVzZSBvZiBwb3B1cHMgd2l0aCA8c2VsZWN0IG11bHRp
cGxlPiBlbGVtZW50cy4gVGhpcyBwYXRjaCBleHRlbmRzIHRoZQpjb21tdW5pY2F0aW9uIG1lY2hh
bmlzbSBiZXR3ZWVuIHRoZSBwb3B1cHMgYW5kIFNlbGVjdEVsZW1lbnQuCgoqIGRvbS9TZWxlY3RF
bGVtZW50LmNwcDoKKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rp
b24pOgooV2ViQ29yZTo6U2VsZWN0RWxlbWVudDo6bGlzdEJveE9uQ2hhbmdlKToKKFdlYkNvcmU6
OlNlbGVjdEVsZW1lbnQ6Omxpc3Rib3hDbGlja0hhbmRsZXIpOgooV2ViQ29yZTo6U2VsZWN0RWxl
bWVudDo6bGlzdEJveERlZmF1bHRFdmVudEhhbmRsZXIpOgoqIGRvbS9TZWxlY3RFbGVtZW50Lmg6
CiogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVu
dDo6bGlzdEJveFBvcHVwQ2xpY2spOgoqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKiBwbGF0
Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaDoKKiBwbGF0Zm9ybS9xdC9RdEFic3RyYWN0V2ViUG9wdXAu
Y3BwOgooV2ViQ29yZTo6UXRBYnN0cmFjdFdlYlBvcHVwOjppdGVtQ2xpY2spOgoqIHBsYXRmb3Jt
L3F0L1F0QWJzdHJhY3RXZWJQb3B1cC5oOgoqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6dmFsdWVDaGFuZ2VkKToKKFdlYkNvcmU6OlJlbmRl
ck1lbnVMaXN0OjpsaXN0Ym94Q2xpY2spOgoqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgot
LS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjkgKysr
KysrKysKIFdlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwICAgICAgICAgICAgICB8ICAgOTcg
KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5o
ICAgICAgICAgICAgICAgIHwgICAgNSArKwogV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmNwcCAgICAgICAgIHwgICAxMiArKysrCiBXZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aCAgICAgICAgICAgfCAgICAzICsKIFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50Lmgg
ICAgICAgICB8ICAgIDYgKysKIFdlYkNvcmUvcGxhdGZvcm0vcXQvUXRBYnN0cmFjdFdlYlBvcHVw
LmNwcCB8ICAgMTEgKysrLQogV2ViQ29yZS9wbGF0Zm9ybS9xdC9RdEFic3RyYWN0V2ViUG9wdXAu
aCAgIHwgICAgNCArLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwICAgICAg
IHwgICAxNSArKysrLQogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaCAgICAgICAg
IHwgICAgNSArLQogMTAgZmlsZXMgY2hhbmdlZCwgMTM3IGluc2VydGlvbnMoKyksIDUwIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZjkwMDU5Mi4uZmFmY2ExZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTUsNiArNSwzNSBAQAogICAgICAgICBNdWx0aXNl
bGVjdCBwb3B1cHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2MDA2CiAKKyAgICAgICAgU21hbGwgcmVmYWN0b3JpbmcgYW5kIGZldyBjaGFuZ2VzIHRv
IFNlbGVjdEVsZW1lbnQgYW5kIHNvbWUgb3RoZXIgY2xhc3NlcyB0byBtYWtlCisgICAgICAgIGZl
YXNpYmxlIHRoZSB1c2Ugb2YgcG9wdXBzIHdpdGggPHNlbGVjdCBtdWx0aXBsZT4gZWxlbWVudHMu
IFRoaXMgcGF0Y2ggZXh0ZW5kcyB0aGUKKyAgICAgICAgY29tbXVuaWNhdGlvbiBtZWNoYW5pc20g
YmV0d2VlbiB0aGUgcG9wdXBzIGFuZCBTZWxlY3RFbGVtZW50LgorCisgICAgICAgICogZG9tL1Nl
bGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0RWxlbWVudDo6dXBkYXRl
TGlzdEJveFNlbGVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50OjpsaXN0
Qm94T25DaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0RWxlbWVudDo6bGlzdGJveENs
aWNrSGFuZGxlcik6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RFbGVtZW50OjpsaXN0Qm94RGVm
YXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgICogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxT
ZWxlY3RFbGVtZW50OjpsaXN0Qm94UG9wdXBDbGljayk6CisgICAgICAgICogaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L1F0QWJzdHJhY3RXZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpRdEFic3RyYWN0V2ViUG9wdXA6Oml0ZW1DbGljayk6CisgICAgICAgICogcGxhdGZvcm0v
cXQvUXRBYnN0cmFjdFdlYlBvcHVwLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0Ojp2YWx1ZUNoYW5nZWQp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWVudUxpc3Q6Omxpc3Rib3hDbGljayk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0Lmg6CisKKzIwMTAtMDMtMTQgIEx1aXogQWdv
c3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTXVsdGlzZWxlY3QgcG9wdXBzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAwNgorCiAgICAgICAg
IEFkZGluZyBhIGNvbXBpbGUgdGltZSBmbGFnIHRoYXQgd2hlbiB1c2VkIGRvOgogCiAgICAgICAg
ICogZm9yY2UgYWxsIDxzZWxlY3Q+IGVsZW1lbnRzIHRvIHVzZSBwb3B1cHMuCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmNwcCBiL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1l
bnQuY3BwCmluZGV4IDhiOGE4ZWYuLjQ5YWRhZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL1Nl
bGVjdEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuY3BwCkBAIC0x
LDQgKzEsNSBAQAogLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2gg
TW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUu
Y29tLykKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0xNTAsNyArMTUxLDcgQEAgdm9pZCBTZWxlY3RFbGVtZW50
OjpzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgaW50
IGluZGUKIAogdm9pZCBTZWxlY3RFbGVtZW50Ojp1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKFNlbGVj
dEVsZW1lbnREYXRhJiBkYXRhLCBFbGVtZW50KiBlbGVtZW50LCBib29sIGRlc2VsZWN0T3RoZXJP
cHRpb25zKQogewotICAgIEFTU0VSVChlbGVtZW50LT5yZW5kZXJlcigpICYmIGVsZW1lbnQtPnJl
bmRlcmVyKCktPmlzTGlzdEJveCgpKTsKKyAgICBBU1NFUlQoZWxlbWVudC0+cmVuZGVyZXIoKSAm
JiAoZWxlbWVudC0+cmVuZGVyZXIoKS0+aXNMaXN0Qm94KCkgfHwgZGF0YS5tdWx0aXBsZSgpKSk7
CiAgICAgQVNTRVJUKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoKSA+PSAwKTsKIAog
ICAgIHVuc2lnbmVkIHN0YXJ0ID0gbWluKGRhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgo
KSwgZGF0YS5hY3RpdmVTZWxlY3Rpb25FbmRJbmRleCgpKTsKQEAgLTE3Niw3ICsxNzcsNyBAQCB2
b2lkIFNlbGVjdEVsZW1lbnQ6OnVwZGF0ZUxpc3RCb3hTZWxlY3Rpb24oU2VsZWN0RWxlbWVudERh
dGEmIGRhdGEsIEVsZW1lbnQqIGVsZQogCiB2b2lkIFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hPbkNo
YW5nZShTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudCogZWxlbWVudCkKIHsKLSAgICBB
U1NFUlQoIWRhdGEudXNlc01lbnVMaXN0KCkpOworICAgIEFTU0VSVCghZGF0YS51c2VzTWVudUxp
c3QoKSB8fCBkYXRhLm11bHRpcGxlKCkpOwogCiAgICAgVmVjdG9yPGJvb2w+JiBsYXN0T25DaGFu
Z2VTZWxlY3Rpb24gPSBkYXRhLmxhc3RPbkNoYW5nZVNlbGVjdGlvbigpOyAKICAgICBjb25zdCBW
ZWN0b3I8RWxlbWVudCo+JiBpdGVtcyA9IGRhdGEubGlzdEl0ZW1zKGVsZW1lbnQpOwpAQCAtNjU5
LDYgKzY2MCw1MiBAQCB2b2lkIFNlbGVjdEVsZW1lbnQ6Om1lbnVMaXN0RGVmYXVsdEV2ZW50SGFu
ZGxlcihTZWxlY3RFbGVtZW50RGF0YSYgZGF0YSwgRWxlbWVudAogICAgIH0KIH0KIAordm9pZCBT
ZWxlY3RFbGVtZW50OjpsaXN0Ym94Q2xpY2tIYW5kbGVyKFNlbGVjdEVsZW1lbnREYXRhJiBkYXRh
LCBFbGVtZW50KiBlbGVtZW50LCBpbnQgbGlzdEluZGV4LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGJvb2wgbXVsdGksIGJvb2wgc2hpZnQpCit7CisgICAgaWYgKGxp
c3RJbmRleCA+PSAwKSB7CisgICAgICAgIC8vIFNhdmUgdGhlIHNlbGVjdGlvbiBzbyBpdCBjYW4g
YmUgY29tcGFyZWQgdG8gdGhlIG5ldyBzZWxlY3Rpb24gd2hlbiBkaXNwYXRjaGluZyBjaGFuZ2Ug
ZXZlbnRzIGR1cmluZyBtb3VzZXVwLCBvciBhZnRlciBhdXRvc2Nyb2xsIGZpbmlzaGVzLgorICAg
ICAgICBzYXZlTGFzdFNlbGVjdGlvbihkYXRhLCBlbGVtZW50KTsKKworICAgICAgICBkYXRhLnNl
dEFjdGl2ZVNlbGVjdGlvblN0YXRlKHRydWUpOworCisgICAgICAgIGJvb2wgc2hpZnRTZWxlY3Qg
PSBkYXRhLm11bHRpcGxlKCkgJiYgc2hpZnQ7CisgICAgICAgIGJvb2wgbXVsdGlTZWxlY3QgPSBk
YXRhLm11bHRpcGxlKCkgJiYgbXVsdGkgJiYgIXNoaWZ0OworCisgICAgICAgIEVsZW1lbnQqIGNs
aWNrZWRFbGVtZW50ID0gZGF0YS5saXN0SXRlbXMoZWxlbWVudClbbGlzdEluZGV4XTsKKyAgICAg
ICAgT3B0aW9uRWxlbWVudCogb3B0aW9uID0gdG9PcHRpb25FbGVtZW50KGNsaWNrZWRFbGVtZW50
KTsKKyAgICAgICAgaWYgKG9wdGlvbikgeworICAgICAgICAgICAgLy8gS2VlcCB0cmFjayBvZiB3
aGV0aGVyIGFuIGFjdGl2ZSBzZWxlY3Rpb24gKGxpa2UgZHVyaW5nIGRyYWcgc2VsZWN0aW9uKSwg
c2hvdWxkIHNlbGVjdCBvciBkZXNlbGVjdAorICAgICAgICAgICAgaWYgKG9wdGlvbi0+c2VsZWN0
ZWQoKSAmJiBtdWx0aSkKKyAgICAgICAgICAgICAgICBkYXRhLnNldEFjdGl2ZVNlbGVjdGlvblN0
YXRlKGZhbHNlKTsKKworICAgICAgICAgICAgaWYgKCFkYXRhLmFjdGl2ZVNlbGVjdGlvblN0YXRl
KCkpCisgICAgICAgICAgICAgICAgb3B0aW9uLT5zZXRTZWxlY3RlZFN0YXRlKGZhbHNlKTsKKyAg
ICAgICAgfQorCisgICAgICAgIC8vIElmIHdlJ3JlIG5vdCBpbiBhbnkgc3BlY2lhbCBtdWx0aXBs
ZSBzZWxlY3Rpb24gbW9kZSwgdGhlbiBkZXNlbGVjdCBhbGwgb3RoZXIgaXRlbXMsIGV4Y2x1ZGlu
ZyB0aGUgY2xpY2tlZCBvcHRpb24uCisgICAgICAgIC8vIElmIG5vIG9wdGlvbiB3YXMgY2xpY2tl
ZCwgdGhlbiB0aGlzIHdpbGwgZGVzZWxlY3QgYWxsIGl0ZW1zIGluIHRoZSBsaXN0LgorICAgICAg
ICBpZiAoIXNoaWZ0U2VsZWN0ICYmICFtdWx0aVNlbGVjdCkKKyAgICAgICAgICAgIGRlc2VsZWN0
SXRlbXMoZGF0YSwgZWxlbWVudCwgY2xpY2tlZEVsZW1lbnQpOworCisgICAgICAgIC8vIElmIHRo
ZSBhbmNob3IgaGFzbid0IGJlZW4gc2V0LCBhbmQgd2UncmUgZG9pbmcgYSBzaW5nbGUgc2VsZWN0
aW9uIG9yIGEgc2hpZnQgc2VsZWN0aW9uLCB0aGVuIGluaXRpYWxpemUgdGhlIGFuY2hvciB0byB0
aGUgZmlyc3Qgc2VsZWN0ZWQgaW5kZXguCisgICAgICAgIGlmIChkYXRhLmFjdGl2ZVNlbGVjdGlv
bkFuY2hvckluZGV4KCkgPCAwICYmICFtdWx0aVNlbGVjdCkKKyAgICAgICAgICAgIHNldEFjdGl2
ZVNlbGVjdGlvbkFuY2hvckluZGV4KGRhdGEsIGVsZW1lbnQsIHNlbGVjdGVkSW5kZXgoZGF0YSwg
ZWxlbWVudCkpOworCisgICAgICAgIC8vIFNldCB0aGUgc2VsZWN0aW9uIHN0YXRlIG9mIHRoZSBj
bGlja2VkIG9wdGlvbgorICAgICAgICBpZiAob3B0aW9uICYmICFjbGlja2VkRWxlbWVudC0+ZGlz
YWJsZWQoKSkKKyAgICAgICAgICAgIG9wdGlvbi0+c2V0U2VsZWN0ZWRTdGF0ZSh0cnVlKTsKKwor
ICAgICAgICAvLyBJZiB0aGVyZSB3YXMgbm8gc2VsZWN0ZWRJbmRleCgpIGZvciB0aGUgcHJldmlv
dXMgaW5pdGlhbGl6YXRpb24sIG9yCisgICAgICAgIC8vIElmIHdlJ3JlIGRvaW5nIGEgc2luZ2xl
IHNlbGVjdGlvbiwgb3IgYSBtdWx0aXBsZSBzZWxlY3Rpb24gKHVzaW5nIGNtZCBvciBjdHJsKSwg
dGhlbiBpbml0aWFsaXplIHRoZSBhbmNob3IgaW5kZXggdG8gdGhlIGxpc3RJbmRleCB0aGF0IGp1
c3QgZ290IGNsaWNrZWQuCisgICAgICAgIGlmIChsaXN0SW5kZXggPj0gMCAmJiAoZGF0YS5hY3Rp
dmVTZWxlY3Rpb25BbmNob3JJbmRleCgpIDwgMCB8fCAhc2hpZnRTZWxlY3QpKQorICAgICAgICAg
ICAgc2V0QWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoZGF0YSwgZWxlbWVudCwgbGlzdEluZGV4
KTsKKworICAgICAgICBzZXRBY3RpdmVTZWxlY3Rpb25FbmRJbmRleChkYXRhLCBsaXN0SW5kZXgp
OworICAgICAgICB1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKGRhdGEsIGVsZW1lbnQsICFtdWx0aVNl
bGVjdCk7CisgICAgfQorfQorCiB2b2lkIFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZl
bnRIYW5kbGVyKFNlbGVjdEVsZW1lbnREYXRhJiBkYXRhLCBFbGVtZW50KiBlbGVtZW50LCBFdmVu
dCogZXZlbnQsIEhUTUxGb3JtRWxlbWVudCogaHRtbEZvcm0pCiB7CiAgICAgY29uc3QgVmVjdG9y
PEVsZW1lbnQqPiYgbGlzdEl0ZW1zID0gZGF0YS5saXN0SXRlbXMoZWxlbWVudCk7CkBAIC02NzEs
NTMgKzcxOCwxMSBAQCB2b2lkIFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hEZWZhdWx0RXZlbnRIYW5k
bGVyKFNlbGVjdEVsZW1lbnREYXRhJiBkYXRhLCBFbGVtZW50KgogICAgICAgICBJbnRQb2ludCBs
b2NhbE9mZnNldCA9IHJvdW5kZWRJbnRQb2ludChlbGVtZW50LT5yZW5kZXJlcigpLT5hYnNvbHV0
ZVRvTG9jYWwobW91c2VFdmVudC0+YWJzb2x1dGVMb2NhdGlvbigpLCBmYWxzZSwgdHJ1ZSkpOwog
ICAgICAgICBpbnQgbGlzdEluZGV4ID0gdG9SZW5kZXJMaXN0Qm94KGVsZW1lbnQtPnJlbmRlcmVy
KCkpLT5saXN0SW5kZXhBdE9mZnNldChsb2NhbE9mZnNldC54KCksIGxvY2FsT2Zmc2V0LnkoKSk7
CiAgICAgICAgIGlmIChsaXN0SW5kZXggPj0gMCkgewotICAgICAgICAgICAgLy8gU2F2ZSB0aGUg
c2VsZWN0aW9uIHNvIGl0IGNhbiBiZSBjb21wYXJlZCB0byB0aGUgbmV3IHNlbGVjdGlvbiB3aGVu
IGRpc3BhdGNoaW5nIGNoYW5nZSBldmVudHMgZHVyaW5nIG1vdXNldXAsIG9yIGFmdGVyIGF1dG9z
Y3JvbGwgZmluaXNoZXMuCi0gICAgICAgICAgICBzYXZlTGFzdFNlbGVjdGlvbihkYXRhLCBlbGVt
ZW50KTsKLQotICAgICAgICAgICAgZGF0YS5zZXRBY3RpdmVTZWxlY3Rpb25TdGF0ZSh0cnVlKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgYm9vbCBtdWx0aVNlbGVjdEtleVByZXNzZWQgPSBm
YWxzZTsKICNpZiBQTEFURk9STShNQUMpIHx8IChQTEFURk9STShDSFJPTUlVTSkgJiYgT1MoREFS
V0lOKSkKLSAgICAgICAgICAgIG11bHRpU2VsZWN0S2V5UHJlc3NlZCA9IG1vdXNlRXZlbnQtPm1l
dGFLZXkoKTsKKyAgICAgICAgICAgIGxpc3Rib3hDbGlja0hhbmRsZXIoZGF0YSwgZWxlbWVudCwg
bGlzdEluZGV4LCBtb3VzZUV2ZW50LT5tZXRhS2V5KCksIG1vdXNlRXZlbnQtPnNoaWZ0S2V5KCkp
OwogI2Vsc2UKLSAgICAgICAgICAgIG11bHRpU2VsZWN0S2V5UHJlc3NlZCA9IG1vdXNlRXZlbnQt
PmN0cmxLZXkoKTsKKyAgICAgICAgICAgIGxpc3Rib3hDbGlja0hhbmRsZXIoZGF0YSwgZWxlbWVu
dCwgbGlzdEluZGV4LCBtb3VzZUV2ZW50LT5jdHJsS2V5KCksIG1vdXNlRXZlbnQtPnNoaWZ0S2V5
KCkpOwogI2VuZGlmCi0KLSAgICAgICAgICAgIGJvb2wgc2hpZnRTZWxlY3QgPSBkYXRhLm11bHRp
cGxlKCkgJiYgbW91c2VFdmVudC0+c2hpZnRLZXkoKTsKLSAgICAgICAgICAgIGJvb2wgbXVsdGlT
ZWxlY3QgPSBkYXRhLm11bHRpcGxlKCkgJiYgbXVsdGlTZWxlY3RLZXlQcmVzc2VkICYmICFtb3Vz
ZUV2ZW50LT5zaGlmdEtleSgpOwotCi0gICAgICAgICAgICBFbGVtZW50KiBjbGlja2VkRWxlbWVu
dCA9IGxpc3RJdGVtc1tsaXN0SW5kZXhdOyAgICAgICAgICAgIAotICAgICAgICAgICAgT3B0aW9u
RWxlbWVudCogb3B0aW9uID0gdG9PcHRpb25FbGVtZW50KGNsaWNrZWRFbGVtZW50KTsKLSAgICAg
ICAgICAgIGlmIChvcHRpb24pIHsKLSAgICAgICAgICAgICAgICAvLyBLZWVwIHRyYWNrIG9mIHdo
ZXRoZXIgYW4gYWN0aXZlIHNlbGVjdGlvbiAobGlrZSBkdXJpbmcgZHJhZyBzZWxlY3Rpb24pLCBz
aG91bGQgc2VsZWN0IG9yIGRlc2VsZWN0Ci0gICAgICAgICAgICAgICAgaWYgKG9wdGlvbi0+c2Vs
ZWN0ZWQoKSAmJiBtdWx0aVNlbGVjdEtleVByZXNzZWQpCi0gICAgICAgICAgICAgICAgICAgIGRh
dGEuc2V0QWN0aXZlU2VsZWN0aW9uU3RhdGUoZmFsc2UpOwotCi0gICAgICAgICAgICAgICAgaWYg
KCFkYXRhLmFjdGl2ZVNlbGVjdGlvblN0YXRlKCkpCi0gICAgICAgICAgICAgICAgICAgIG9wdGlv
bi0+c2V0U2VsZWN0ZWRTdGF0ZShmYWxzZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIC8vIElmIHdlJ3JlIG5vdCBpbiBhbnkgc3BlY2lhbCBtdWx0aXBsZSBzZWxl
Y3Rpb24gbW9kZSwgdGhlbiBkZXNlbGVjdCBhbGwgb3RoZXIgaXRlbXMsIGV4Y2x1ZGluZyB0aGUg
Y2xpY2tlZCBvcHRpb24uCi0gICAgICAgICAgICAvLyBJZiBubyBvcHRpb24gd2FzIGNsaWNrZWQs
IHRoZW4gdGhpcyB3aWxsIGRlc2VsZWN0IGFsbCBpdGVtcyBpbiB0aGUgbGlzdC4KLSAgICAgICAg
ICAgIGlmICghc2hpZnRTZWxlY3QgJiYgIW11bHRpU2VsZWN0KQotICAgICAgICAgICAgICAgIGRl
c2VsZWN0SXRlbXMoZGF0YSwgZWxlbWVudCwgY2xpY2tlZEVsZW1lbnQpOwotCi0gICAgICAgICAg
ICAvLyBJZiB0aGUgYW5jaG9yIGhhc24ndCBiZWVuIHNldCwgYW5kIHdlJ3JlIGRvaW5nIGEgc2lu
Z2xlIHNlbGVjdGlvbiBvciBhIHNoaWZ0IHNlbGVjdGlvbiwgdGhlbiBpbml0aWFsaXplIHRoZSBh
bmNob3IgdG8gdGhlIGZpcnN0IHNlbGVjdGVkIGluZGV4LgotICAgICAgICAgICAgaWYgKGRhdGEu
YWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoKSA8IDAgJiYgIW11bHRpU2VsZWN0KQotICAgICAg
ICAgICAgICAgIHNldEFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KGRhdGEsIGVsZW1lbnQsIHNl
bGVjdGVkSW5kZXgoZGF0YSwgZWxlbWVudCkpOwotCi0gICAgICAgICAgICAvLyBTZXQgdGhlIHNl
bGVjdGlvbiBzdGF0ZSBvZiB0aGUgY2xpY2tlZCBvcHRpb24KLSAgICAgICAgICAgIGlmIChvcHRp
b24gJiYgIWNsaWNrZWRFbGVtZW50LT5kaXNhYmxlZCgpKQotICAgICAgICAgICAgICAgIG9wdGlv
bi0+c2V0U2VsZWN0ZWRTdGF0ZSh0cnVlKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgLy8g
SWYgdGhlcmUgd2FzIG5vIHNlbGVjdGVkSW5kZXgoKSBmb3IgdGhlIHByZXZpb3VzIGluaXRpYWxp
emF0aW9uLCBvcgotICAgICAgICAgICAgLy8gSWYgd2UncmUgZG9pbmcgYSBzaW5nbGUgc2VsZWN0
aW9uLCBvciBhIG11bHRpcGxlIHNlbGVjdGlvbiAodXNpbmcgY21kIG9yIGN0cmwpLCB0aGVuIGlu
aXRpYWxpemUgdGhlIGFuY2hvciBpbmRleCB0byB0aGUgbGlzdEluZGV4IHRoYXQganVzdCBnb3Qg
Y2xpY2tlZC4KLSAgICAgICAgICAgIGlmIChsaXN0SW5kZXggPj0gMCAmJiAoZGF0YS5hY3RpdmVT
ZWxlY3Rpb25BbmNob3JJbmRleCgpIDwgMCB8fCAhc2hpZnRTZWxlY3QpKQotICAgICAgICAgICAg
ICAgIHNldEFjdGl2ZVNlbGVjdGlvbkFuY2hvckluZGV4KGRhdGEsIGVsZW1lbnQsIGxpc3RJbmRl
eCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIHNldEFjdGl2ZVNlbGVjdGlvbkVuZEluZGV4
KGRhdGEsIGxpc3RJbmRleCk7Ci0gICAgICAgICAgICB1cGRhdGVMaXN0Qm94U2VsZWN0aW9uKGRh
dGEsIGVsZW1lbnQsICFtdWx0aVNlbGVjdCk7Ci0KICAgICAgICAgICAgIGlmIChGcmFtZSogZnJh
bWUgPSBlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpKQogICAgICAgICAgICAgICAgIGZyYW1l
LT5ldmVudEhhbmRsZXIoKS0+c2V0TW91c2VEb3duTWF5U3RhcnRBdXRvc2Nyb2xsKCk7CiAKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaCBiL1dlYkNvcmUvZG9tL1NlbGVj
dEVsZW1lbnQuaAppbmRleCAwZDlkYWZlLi43M2U1ZjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Rv
bS9TZWxlY3RFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oCkBAIC02
MSw2ICs2MSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2VsZWN0ZWRJbmRleChp
bnQgaW5kZXgsIGJvb2wgZGVzZWxlY3QgPSB0cnVlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNl
dFNlbGVjdGVkSW5kZXhCeVVzZXIoaW50IGluZGV4LCBib29sIGRlc2VsZWN0ID0gdHJ1ZSwgYm9v
bCBmaXJlT25DaGFuZ2VOb3cgPSBmYWxzZSkgPSAwOwogCisgICAgdmlydHVhbCB2b2lkIGxpc3RC
b3hQb3B1cENsaWNrKGludCBsaXN0SW5kZXgsIGJvb2wgbXVsdGksIGJvb2wgc2hpZnQsIGJvb2wg
ZmlyZUV2ZW50cyA9IHRydWUpID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflNlbGVj
dEVsZW1lbnQoKSB7IH0KIApAQCAtOTcsNiArOTksOSBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGlj
IHZvaWQgYWNjZXNzS2V5U2V0U2VsZWN0ZWRJbmRleChTZWxlY3RFbGVtZW50RGF0YSYsIEVsZW1l
bnQqLCBpbnQgaW5kZXgpOwogICAgIHN0YXRpYyB1bnNpZ25lZCBvcHRpb25Db3VudChjb25zdCBT
ZWxlY3RFbGVtZW50RGF0YSYsIGNvbnN0IEVsZW1lbnQqKTsKIAorICAgIHN0YXRpYyB2b2lkIGxp
c3Rib3hDbGlja0hhbmRsZXIoU2VsZWN0RWxlbWVudERhdGEmIGRhdGEsIEVsZW1lbnQqIGVsZW1l
bnQsIGludCBsaXN0SW5kZXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIG11bHRpLCBib29sIHNoaWZ0KTsKKwogIAogcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBt
ZW51TGlzdERlZmF1bHRFdmVudEhhbmRsZXIoU2VsZWN0RWxlbWVudERhdGEmLCBFbGVtZW50Kiwg
RXZlbnQqLCBIVE1MRm9ybUVsZW1lbnQqKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmlu
ZGV4IDUwNjM5ZTkuLjI1OGZlMjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAt
MSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgogICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMg
S25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlz
dG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDIwMDEgRGlyayBNdWVsbGVy
IChtdWVsbGVyQGtkZS5vcmcpCkBAIC05Nyw2ICs5OCwxNyBAQCB2b2lkIEhUTUxTZWxlY3RFbGVt
ZW50OjpzZXRTZWxlY3RlZEluZGV4QnlVc2VyKGludCBvcHRpb25JbmRleCwgYm9vbCBkZXNlbGVj
dCwgYgogICAgIFNlbGVjdEVsZW1lbnQ6OnNldFNlbGVjdGVkSW5kZXgobV9kYXRhLCB0aGlzLCBv
cHRpb25JbmRleCwgZGVzZWxlY3QsIGZpcmVPbkNoYW5nZU5vdywgdHJ1ZSk7CiB9CiAKK3ZvaWQg
SFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RCb3hQb3B1cENsaWNrKGludCBsaXN0SW5kZXgsIGJvb2wg
bXVsdGksIGJvb2wgc2hpZnQsIGJvb2wgZmlyZUV2ZW50cykKK3sKKyAgICBpZiAoIW11bHRpcGxl
KCkpCisgICAgICAgIHNldFNlbGVjdGVkSW5kZXhCeVVzZXIobGlzdEluZGV4LCB0cnVlLCBmaXJl
RXZlbnRzKTsKKyAgICBlbHNlIHsKKyAgICAgICAgbGlzdGJveENsaWNrSGFuZGxlcihtX2RhdGEs
IHRoaXMsIGxpc3RJbmRleCwgbXVsdGksIHNoaWZ0KTsKKyAgICAgICAgaWYgKGZpcmVFdmVudHMp
CisgICAgICAgICAgICBsaXN0Qm94T25DaGFuZ2UoKTsKKyAgICB9Cit9CisKIGludCBIVE1MU2Vs
ZWN0RWxlbWVudDo6YWN0aXZlU2VsZWN0aW9uU3RhcnRMaXN0SW5kZXgoKSBjb25zdAogewogICAg
IGlmIChtX2RhdGEuYWN0aXZlU2VsZWN0aW9uQW5jaG9ySW5kZXgoKSA+PSAwKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuaAppbmRleCAwYTIwNTBlLi5mZWMxOTM1IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuaApAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgogICogQ29weXJpZ2h0IChD
KSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDE5OTkg
QW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDIwMDAg
RGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCkBAIC04MCw2ICs4MSw4IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgc2Nyb2xsVG9TZWxlY3Rpb24oKTsKIAorICAgIHZvaWQgbGlzdEJveFBvcHVw
Q2xpY2soaW50IGxpc3RJbmRleCwgYm9vbCBtdWx0aSwgYm9vbCBzaGlmdCwgYm9vbCBmaXJlRXZl
bnRzID0gdHJ1ZSk7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCBpbnQgdGFnUHJpb3JpdHkoKSBj
b25zdCB7IHJldHVybiA2OyB9CiAgICAgdmlydHVhbCBib29sIGNoZWNrRFREKGNvbnN0IE5vZGUq
IG5ld0NoaWxkKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50
LmggYi9XZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCmluZGV4IDY5ZmRiODkuLjc0
MjMwNTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaApAQCAtMSw0ICsxLDUgQEAKIC8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJz
aWRpYXJ5KC1pZXMpLgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMu
CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgpAQCAtNjQsNiArNjUsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxTY3JvbGxiYXI+IGNyZWF0ZVNjcm9sbGJhcihTY3JvbGxiYXJDbGllbnQqLCBTY3Jv
bGxiYXJPcmllbnRhdGlvbiwgU2Nyb2xsYmFyQ29udHJvbFNpemUpID0gMDsKIH07CiAKK2NsYXNz
IExpc3RQb3B1cENsaWVudCA6IHB1YmxpYyBQb3B1cE1lbnVDbGllbnQgeworcHVibGljOgorICAg
IHZpcnR1YWwgdm9pZCBsaXN0Ym94Q2xpY2soaW50IGxpc3RJbmRleCwgYm9vbCBtdWx0aSwgYm9v
bCBzaGlmdCwgYm9vbCBmaXJlRXZlbnRzID0gdHJ1ZSkgPSAwOworfTsKKwogfQogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRBYnN0cmFjdFdlYlBvcHVwLmNwcCBi
L1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRBYnN0cmFjdFdlYlBvcHVwLmNwcAppbmRleCBmNjQyODdk
Li41MTE1MTZiIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1F0QWJzdHJhY3RXZWJQ
b3B1cC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RdEFic3RyYWN0V2ViUG9wdXAuY3Bw
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtNDgsNiArNDgsMTUgQEAgdm9pZCBRdEFic3RyYWN0V2ViUG9wdXA6
OnZhbHVlQ2hhbmdlZChpbnQgaW5kZXgpCiAgICAgbV9wb3B1cENsaWVudC0+dmFsdWVDaGFuZ2Vk
KGluZGV4KTsKIH0KIAordm9pZCBRdEFic3RyYWN0V2ViUG9wdXA6Oml0ZW1DbGljayhpbnQgaW5k
ZXgsIGJvb2wgbXVsdGksIGJvb2wgc2hpZnQpCit7CisgICAgTGlzdFBvcHVwQ2xpZW50KiBjbGll
bnQgPSBzdGF0aWNfY2FzdDxMaXN0UG9wdXBDbGllbnQqPihtX3BvcHVwQ2xpZW50KTsKKyAgICBp
ZiAoY2xpZW50KQorICAgICAgICBjbGllbnQtPmxpc3Rib3hDbGljayhpbmRleCwgbXVsdGksIHNo
aWZ0KTsKKyAgICBlbHNlCisgICAgICAgIHZhbHVlQ2hhbmdlZChpbmRleCk7Cit9CisKIFF0QWJz
dHJhY3RXZWJQb3B1cDo6SXRlbVR5cGUgUXRBYnN0cmFjdFdlYlBvcHVwOjppdGVtVHlwZShpbnQg
aWR4KSBjb25zdAogewogICAgIGlmIChtX3BvcHVwQ2xpZW50LT5pdGVtSXNTZXBhcmF0b3IoaWR4
KSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRBYnN0cmFjdFdlYlBvcHVwLmgg
Yi9XZWJDb3JlL3BsYXRmb3JtL3F0L1F0QWJzdHJhY3RXZWJQb3B1cC5oCmluZGV4IDkzYjQxMjIu
LjI2OGRjMWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRBYnN0cmFjdFdlYlBv
cHVwLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RdEFic3RyYWN0V2ViUG9wdXAuaApAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKgogICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKQEAgLTU0LDYgKzU0LDggQEAgcHVibGljOgogICAgIHZvaWQgcG9wdXBEaWRIaWRl
KCk7CiAgICAgdm9pZCB2YWx1ZUNoYW5nZWQoaW50IGluZGV4KTsKIAorICAgIHZvaWQgaXRlbUNs
aWNrKGludCBpbmRleCwgYm9vbCBtdWx0aSwgYm9vbCBzaGlmdCk7CisKICAgICBRRm9udCBmb250
KCkgeyByZXR1cm4gbV9wb3B1cENsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnQoKTsgfQog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3Qu
Y3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IDVhZGNiOWEu
LmZkMTI1YzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNw
cAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKQEAgLTEsNiArMSw3
IEBACiAvKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIHNlbGVjdCBlbGVtZW50IHJlbmRl
cmVyIGluIFdlYkNvcmUuCiAgKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4KICAqIENvcHlyaWdodCAoQykgMjAwNiwg
MjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KiAgICAgICAgICAgICAgIDIwMDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29tLykKICAqCkBAIC0zMDQsMTEgKzMwNSwyMyBA
QCB2b2lkIFJlbmRlck1lbnVMaXN0Ojp2YWx1ZUNoYW5nZWQodW5zaWduZWQgbGlzdEluZGV4LCBi
b29sIGZpcmVPbkNoYW5nZSkKICAgICBEb2N1bWVudCogZG9jID0gc3RhdGljX2Nhc3Q8RWxlbWVu
dCo+KG5vZGUoKSktPmRvY3VtZW50KCk7CiAgICAgaWYgKCFkb2MgfHwgZG9jICE9IGRvYy0+ZnJh
bWUoKS0+ZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgU2VsZWN0RWxl
bWVudCogc2VsZWN0ID0gdG9TZWxlY3RFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihub2Rl
KCkpKTsKICAgICBzZWxlY3QtPnNldFNlbGVjdGVkSW5kZXhCeVVzZXIoc2VsZWN0LT5saXN0VG9P
cHRpb25JbmRleChsaXN0SW5kZXgpLCB0cnVlLCBmaXJlT25DaGFuZ2UpOwogfQogCit2b2lkIFJl
bmRlck1lbnVMaXN0OjpsaXN0Ym94Q2xpY2soaW50IGxpc3RJbmRleCwgYm9vbCBtdWx0aSwgYm9v
bCBzaGlmdCwgYm9vbCBmaXJlT25DaGFuZ2UpCit7CisgICAgLy8gQ2hlY2sgdG8gZW5zdXJlIGEg
cGFnZSBuYXZpZ2F0aW9uIGhhcyBub3Qgb2NjdXJyZWQgd2hpbGUKKyAgICAvLyB0aGUgcG9wdXAg
d2FzIHVwLgorICAgIERvY3VtZW50KiBkb2MgPSBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obm9kZSgp
KS0+ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvYyB8fCBkb2MgIT0gZG9jLT5mcmFtZSgpLT5kb2N1
bWVudCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBTZWxlY3RFbGVtZW50KiBzZWxlY3QgPSB0
b1NlbGVjdEVsZW1lbnQoc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG5vZGUoKSkpOworICAgIHNlbGVj
dC0+bGlzdEJveFBvcHVwQ2xpY2soc2VsZWN0LT5saXN0VG9PcHRpb25JbmRleChsaXN0SW5kZXgp
LCBtdWx0aSwgc2hpZnQsIGZpcmVPbkNoYW5nZSk7Cit9CisKIHZvaWQgUmVuZGVyTWVudUxpc3Q6
OmRpZFNldFNlbGVjdGVkSW5kZXgoKQogewogICAgIGludCBpbmRleCA9IHNlbGVjdGVkSW5kZXgo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmggYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCmluZGV4IGYzYzFiNTUuLjQ2NmU5ZjUgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgc2VsZWN0IGVsZW1lbnQgcmVuZGVyZXIgaW4gV2ViQ29yZS4K
ICAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBz
dWJzaWRpYXJ5KC1pZXMpLgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0z
Nyw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIFBvcHVwTWVudTsKIGNsYXNz
IFJlbmRlclRleHQ7CiAKLWNsYXNzIFJlbmRlck1lbnVMaXN0IDogcHVibGljIFJlbmRlckZsZXhp
YmxlQm94LCBwcml2YXRlIFBvcHVwTWVudUNsaWVudCB7CitjbGFzcyBSZW5kZXJNZW51TGlzdCA6
IHB1YmxpYyBSZW5kZXJGbGV4aWJsZUJveCwgcHJpdmF0ZSBMaXN0UG9wdXBDbGllbnQgewogcHVi
bGljOgogICAgIFJlbmRlck1lbnVMaXN0KEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJN
ZW51TGlzdCgpOwpAQCAtOTcsNiArOTgsOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgSG9zdFdp
bmRvdyogaG9zdFdpbmRvdygpIGNvbnN0OwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxi
YXI+IGNyZWF0ZVNjcm9sbGJhcihTY3JvbGxiYXJDbGllbnQqLCBTY3JvbGxiYXJPcmllbnRhdGlv
biwgU2Nyb2xsYmFyQ29udHJvbFNpemUpOwogCisgICAgdmlydHVhbCB2b2lkIGxpc3Rib3hDbGlj
ayhpbnQgbGlzdEluZGV4LCBib29sIG11bHRpLCBib29sIHNoaWZ0LCBib29sIGZpcmVPbkNoYW5n
ZSA9IHRydWUpOworCiAgICAgdmlydHVhbCBib29sIGhhc0xpbmVJZkVtcHR5KCkgY29uc3QgeyBy
ZXR1cm4gdHJ1ZTsgfQogCiAgICAgQ29sb3IgaXRlbUJhY2tncm91bmRDb2xvcih1bnNpZ25lZCBs
aXN0SW5kZXgpIGNvbnN0OwotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50835</attachid>
            <date>2010-03-16 14:03:24 -0700</date>
            <delta_ts>2010-03-18 11:53:48 -0700</delta_ts>
            <desc>patch 1</desc>
            <filename>0001-Qt-Multiselect-popups-rendering.patch</filename>
            <type>text/plain</type>
            <size>11023</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSA0Njc5ZGRkNGZkMWQ3YjI2NThlY2FlZmJkZGVkYjlkMjAzZTg4ODI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMTYgTWFyIDIwMTAgMTc6MjE6NTkgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBbUXRdIE11bHRpc2VsZWN0IHBvcHVwcyAtIHJlbmRlcmluZwogaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MDA2CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KClRoZSBvYmplY3RpdmUgb2YgdGhpcyBwYXRjaCBpcyB0byBjcmVhdGUgYSBjb21waWxlIHRp
bWUgZmxhZyB0aGF0IGNhbiBiZSB1c2VkCnRvIGZvcmNlIGFsbCA8c2VsZWN0PiBlbGVtZW50cyB0
byBiZSByZW5kZXJlZCBhcyBtZW51IGxpc3RzLgpUaGVtZSBzdHlsZXNoZWV0IG1lY2hhbmlzbSBo
YXMgYmVlbiB1c2VkIHRvIGNoYW5nZSB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgZWxlbWVudHMuCkNs
YXNzIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvIHByb3Zp
ZGUgdG8gUVN0eWxlIG9iamVjdHMKdGhlIG5lZWRlZCBpbmZvcm1hdGlvbiB0byByZW5kZXIgPHNl
bGVjdCBtdWx0aXBsZT4gY29tYm9ib3hlcy4KCiogV2ViQ29yZS5wcmk6CiogV2ViQ29yZS5wcm86
CiogY3NzL3RoZW1lUXROb0xpc3Rib3hlcy5jc3M6IEFkZGVkLgooc2VsZWN0W3NpemVdW211bHRp
cGxlXSk6CiogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnREYXRh
Ojp1c2VzTWVudUxpc3QpOgoqIHBsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5o
OiBBZGRlZC4KKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6UXRTdHlsZU9wdGlv
bldlYkNvbWJvQm94KToKKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6bXVsdGlw
bGUpOgooV2ViQ29yZTo6UXRTdHlsZU9wdGlvbldlYkNvbWJvQm94OjpjaGVja011bHRpcGxlKToK
KiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6
OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQpOgooV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRN
ZW51TGlzdCk6CihXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKToK
KiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0Lmg6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMjkgKysrKysrKysrKysrCiBXZWJDb3JlL1dl
YkNvcmUucHJpICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKwogV2ViQ29yZS9X
ZWJDb3JlLnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogV2ViQ29yZS9j
c3MvdGhlbWVRdE5vTGlzdGJveGVzLmNzcyAgICAgICAgICAgICB8ICAgMzYgKysrKysrKysrKysr
KysKIFdlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaCAgICAgICAgICAgICAgICAgICAgfCAgICA5
ICsrKy0KIFdlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94LmggfCAg
IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcCAgICAgICAgICB8ICAgMTYgKysrKysrLQogV2ViQ29yZS9wbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVF0LmggICAgICAgICAgICB8ICAgIDIgKwogOCBmaWxlcyBjaGFuZ2VkLCAxNTQg
aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3Jl
L2Nzcy90aGVtZVF0Tm9MaXN0Ym94ZXMuY3NzCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9w
bGF0Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaAoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2ViZDI2NC4uYjlhMmIyZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTIsNiArMiwzNSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisg
ICAgICAgIFtRdF0gTXVsdGlzZWxlY3QgcG9wdXBzIC0gcmVuZGVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAwNgorCisgICAgICAgIFRoZSBv
YmplY3RpdmUgb2YgdGhpcyBwYXRjaCBpcyB0byBjcmVhdGUgYSBjb21waWxlIHRpbWUgZmxhZyB0
aGF0IGNhbiBiZSB1c2VkCisgICAgICAgIHRvIGZvcmNlIGFsbCA8c2VsZWN0PiBlbGVtZW50cyB0
byBiZSByZW5kZXJlZCBhcyBtZW51IGxpc3RzLgorICAgICAgICBUaGVtZSBzdHlsZXNoZWV0IG1l
Y2hhbmlzbSBoYXMgYmVlbiB1c2VkIHRvIGNoYW5nZSB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgZWxl
bWVudHMuCisgICAgICAgIENsYXNzIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCBoYXMgYmVlbiBp
bnRyb2R1Y2VkIHRvIHByb3ZpZGUgdG8gUVN0eWxlIG9iamVjdHMKKyAgICAgICAgdGhlIG5lZWRl
ZCBpbmZvcm1hdGlvbiB0byByZW5kZXIgPHNlbGVjdCBtdWx0aXBsZT4gY29tYm9ib3hlcy4KKwor
ICAgICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAq
IGNzcy90aGVtZVF0Tm9MaXN0Ym94ZXMuY3NzOiBBZGRlZC4KKyAgICAgICAgKHNlbGVjdFtzaXpl
XVttdWx0aXBsZV0pOgorICAgICAgICAqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpTZWxlY3RFbGVtZW50RGF0YTo6dXNlc01lbnVMaXN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3g6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveCk6
CisgICAgICAgIChXZWJDb3JlOjpRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3g6Om11bHRpcGxlKToK
KyAgICAgICAgKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6Y2hlY2tNdWx0aXBs
ZSk6CisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgICogcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorCisyMDEwLTAzLTE2ICBMdWl6IEFnb3N0aW5pICA8bHVp
ei5hZ29zdGluaUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCiAgICAgICAgIFtRdF0gTXVsdGlzZWxlY3QgUG9wdXAgLSBQb3B1cE1lbnVDbGll
bnQgZXh0ZW5zaW9uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zNjE3OAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJpIGIvV2ViQ29yZS9X
ZWJDb3JlLnByaQppbmRleCA2YWFiM2VjLi41NDdhZmIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dl
YkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIwOCw2ICsyMDgsMTAgQEAg
U1RZTEVTSEVFVFNfRU1CRUQgPSBcCiAgICAgJCRQV0QvY3NzL21lZGlhQ29udHJvbHMuY3NzIFwK
ICAgICAkJFBXRC9jc3MvbWVkaWFDb250cm9sc1F0LmNzcwogCitjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfVE9VQ0hBQkxFX1NFTEVDVE9SUz0xKSB7CisgICAgU1RZTEVTSEVFVFNfRU1CRUQgKz0g
JCRQV0QvY3NzL3RoZW1lUXROb0xpc3Rib3hlcy5jc3MKK30KKwogSURMX0JJTkRJTkdTICs9IFwK
ICAgICBjc3MvQ291bnRlci5pZGwgXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXgg
OTllMDI1OS4uYzdiNTYxMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9X
ZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0xNjgsNiArMTY4LDcgQEAgZGVmaW5lVGVzdChhZGRFeHRy
YUNvbXBpbGVyKSB7CiAKICAgICByZXR1cm4odHJ1ZSkKIH0KKwogaW5jbHVkZShXZWJDb3JlLnBy
aSkKIAogSU5DTFVERVBBVEggPSBcCkBAIC0xNTkxLDYgKzE1OTIsNyBAQCBIRUFERVJTICs9IFwK
ICAgICBwbGF0Zm9ybS9xdC9DbGlwYm9hcmRRdC5oIFwKICAgICBwbGF0Zm9ybS9xdC9RV2ViUGFn
ZUNsaWVudC5oIFwKICAgICBwbGF0Zm9ybS9xdC9RdEFic3RyYWN0V2ViUG9wdXAuaCBcCisgICAg
cGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94LmggXAogICAgIHBsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuaCBcCiAgICAgcGxhdGZvcm0vcXQvU2Nyb2xsYmFyVGhlbWVRdC5oIFwK
ICAgICBwbGF0Zm9ybS9TY3JvbGxiYXIuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy90aGVt
ZVF0Tm9MaXN0Ym94ZXMuY3NzIGIvV2ViQ29yZS9jc3MvdGhlbWVRdE5vTGlzdGJveGVzLmNzcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzVlNDRhCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViQ29yZS9jc3MvdGhlbWVRdE5vTGlzdGJveGVzLmNzcwpAQCAtMCwwICsxLDM2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitzZWxlY3Rbc2l6ZV0s
CitzZWxlY3RbbXVsdGlwbGVdLAorc2VsZWN0W3NpemVdW211bHRpcGxlXSB7CisgICAgLXdlYmtp
dC1hcHBlYXJhbmNlOiBtZW51bGlzdDsKKyAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyOwor
ICAgIGJvcmRlcjogMXB4IHNvbGlkOworICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4Owor
ICAgIHdoaXRlLXNwYWNlOiBwcmU7Cit9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2RvbS9TZWxlY3RF
bGVtZW50LmggYi9XZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmgKaW5kZXggY2IwNDcxMC4uODU5
ZGE4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oCisrKyBiL1dlYkNv
cmUvZG9tL1NlbGVjdEVsZW1lbnQuaApAQCAtMTIwLDcgKzEyMCwxNCBAQCBwdWJsaWM6CiAgICAg
aW50IHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KICAgICB2b2lkIHNldFNpemUoaW50
IHZhbHVlKSB7IG1fc2l6ZSA9IHZhbHVlOyB9CiAKLSAgICBib29sIHVzZXNNZW51TGlzdCgpIGNv
bnN0IHsgcmV0dXJuICFtX211bHRpcGxlICYmIG1fc2l6ZSA8PSAxOyB9CisgICAgYm9vbCB1c2Vz
TWVudUxpc3QoKSBjb25zdAorICAgIHsKKyNpZiBQTEFURk9STShRVCkgJiYgRU5BQkxFKFRPVUNI
QUJMRV9TRUxFQ1RPUlMpCisgICAgICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICAgICAgcmV0
dXJuICFtX211bHRpcGxlICYmIG1fc2l6ZSA8PSAxOworI2VuZGlmCisgICAgfQogCiAgICAgaW50
IGxhc3RPbkNoYW5nZUluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9sYXN0T25DaGFuZ2VJbmRleDsg
fQogICAgIHZvaWQgc2V0TGFzdE9uQ2hhbmdlSW5kZXgoaW50IHZhbHVlKSB7IG1fbGFzdE9uQ2hh
bmdlSW5kZXggPSB2YWx1ZTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RdFN0
eWxlT3B0aW9uV2ViQ29tYm9Cb3guaCBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlv
bldlYkNvbWJvQm94LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUxOTI2
MwotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldl
YkNvbWJvQm94LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVm
IFF0U3R5bGVPcHRpb25XZWJDb21ib0JveF9oCisjZGVmaW5lIFF0U3R5bGVPcHRpb25XZWJDb21i
b0JveF9oCisKKyNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRl
ck9iamVjdC5oIgorCisjaW5jbHVkZSA8UVN0eWxlT3B0aW9uPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFJlbmRlck9iamVjdDsKKworY2xhc3MgUXRTdHlsZU9wdGlvbldlYkNvbWJv
Qm94IDogcHVibGljIFFTdHlsZU9wdGlvbkNvbWJvQm94IHsKK3B1YmxpYzoKKyAgICBRdFN0eWxl
T3B0aW9uV2ViQ29tYm9Cb3goUmVuZGVyT2JqZWN0KiBvKQorICAgICAgICA6IFFTdHlsZU9wdGlv
bkNvbWJvQm94KCkKKyAgICAjaWYgRU5BQkxFKFRPVUNIQUJMRV9TRUxFQ1RPUlMpCisgICAgICAg
ICwgbV9tdWx0aXBsZShjaGVja011bHRpcGxlKG8pKQorICAgICNlbHNlCisgICAgICAgICwgbV9t
dWx0aXBsZShmYWxzZSkKKyAgICAjZW5kaWYKKyAgICB7CisgICAgfQorCisgICAgYm9vbCBtdWx0
aXBsZSgpIGNvbnN0IHsgcmV0dXJuIG1fbXVsdGlwbGU7IH0KKworcHJpdmF0ZToKKyAgICBib29s
IG1fbXVsdGlwbGU7CisKKyAgICBib29sIGNoZWNrTXVsdGlwbGUoUmVuZGVyT2JqZWN0KiBvKQor
ICAgIHsKKyAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCA9IG8gPyBzdGF0aWNfY2Fz
dDxIVE1MU2VsZWN0RWxlbWVudCo+KG8tPm5vZGUoKSkgOiAwOworICAgICAgICByZXR1cm4gc2Vs
ZWN0ID8gc2VsZWN0LT5tdWx0aXBsZSgpIDogZmFsc2U7CisgICAgfQorfTsKKworfQorCisjZW5k
aWYgLy8gUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94X2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRo
ZW1lUXQuY3BwCmluZGV4IDhmZTY1M2EuLjliNDdlZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5k
ZXJUaGVtZVF0LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgog
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUg
IlF0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oIgogI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaWYgRU5BQkxFKFBST0dSRVNTX1RBRykKQEAgLTE4
MCw2ICsxODEsMTcgQEAgUVN0eWxlKiBSZW5kZXJUaGVtZVF0OjpxU3R5bGUoKSBjb25zdAogICAg
IHJldHVybiBRQXBwbGljYXRpb246OnN0eWxlKCk7CiB9CiAKK1N0cmluZyBSZW5kZXJUaGVtZVF0
OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKK3sKKyNpZiBFTkFCTEUoVE9VQ0hBQkxFX1NFTEVD
VE9SUykKKyAgICByZXR1cm4gUmVuZGVyVGhlbWU6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKSAr
CisgICAgICAgICAgIFN0cmluZyh0aGVtZVF0Tm9MaXN0Ym94ZXNVc2VyQWdlbnRTdHlsZVNoZWV0
LAorICAgICAgICAgICAgICAgICAgc2l6ZW9mKHRoZW1lUXROb0xpc3Rib3hlc1VzZXJBZ2VudFN0
eWxlU2hlZXQpKTsKKyNlbHNlCisgICAgcmV0dXJuIFJlbmRlclRoZW1lOjpleHRyYURlZmF1bHRT
dHlsZVNoZWV0KCk7CisjZW5kaWYKK30KKwogYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0hv
dmVyKGNvbnN0IFJlbmRlclN0eWxlKikgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTU4
Nyw3ICs1OTksNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QoUmVuZGVyT2Jq
ZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbwogICAgIGlmICghcC5pc1ZhbGlk
KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0
OworICAgIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCBvcHQobyk7CiAgICAgaWYgKHAud2lkZ2V0
KQogICAgICAgICBvcHQuaW5pdEZyb20ocC53aWRnZXQpOwogICAgIGluaXRpYWxpemVDb21tb25R
U3R5bGVPcHRpb25zKG9wdCwgbyk7CkBAIC02MjcsNyArNjM5LDcgQEAgYm9vbCBSZW5kZXJUaGVt
ZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2Jq
ZWN0OjpQYWkKICAgICBpZiAoIXAuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAot
ICAgIFFTdHlsZU9wdGlvbkNvbWJvQm94IG9wdGlvbjsKKyAgICBRdFN0eWxlT3B0aW9uV2ViQ29t
Ym9Cb3ggb3B0aW9uKG8pOwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0aW9uLmluaXRG
cm9tKHAud2lkZ2V0KTsKICAgICBpbml0aWFsaXplQ29tbW9uUVN0eWxlT3B0aW9ucyhvcHRpb24s
IG8pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggYi9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAppbmRleCA1YzBlNTNmLi5mOGRlMWUw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaApAQCAtNDUsNiArNDUsOCBAQCBwcml2
YXRlOgogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUo
UGFnZSopOwogCisgICAgU3RyaW5nIGV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKTsKKwogICAgIHZp
cnR1YWwgYm9vbCBzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXNSaW5nKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkg
Y29uc3Q7CiAKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51067</attachid>
            <date>2010-03-18 11:53:48 -0700</date>
            <delta_ts>2010-03-18 15:01:57 -0700</delta_ts>
            <desc>patch 2</desc>
            <filename>0001-Multiselect-popups-rendering.patch</filename>
            <type>text/plain</type>
            <size>11077</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSAxMGI2OTY4ZGY3MGQ4NTUzYzEzYjY1NmMxZGRkNjdlNzdmNjkwYzQ3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTggTWFyIDIwMTAgMTU6NTE6MDEgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBwb3B1cHMgLSByZW5kZXJpbmcKIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAwNgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpU
aGUgb2JqZWN0aXZlIG9mIHRoaXMgcGF0Y2ggaXMgdG8gY3JlYXRlIGEgY29tcGlsZSB0aW1lIGZs
YWcgdGhhdCBjYW4gYmUgdXNlZAp0byBmb3JjZSBhbGwgPHNlbGVjdD4gZWxlbWVudHMgdG8gYmUg
cmVuZGVyZWQgYXMgbWVudSBsaXN0cy4KClRoZW1lIHN0eWxlc2hlZXQgbWVjaGFuaXNtIGhhcyBi
ZWVuIHVzZWQgdG8gY2hhbmdlIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBlbGVtZW50cy4KCkNsYXNz
IFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvIHByb3ZpZGUg
dG8gUVN0eWxlIG9iamVjdHMKdGhlIG5lZWRlZCBpbmZvcm1hdGlvbiB0byByZW5kZXIgPHNlbGVj
dCBtdWx0aXBsZT4gY29tYm9ib3hlcy4KCiogV2ViQ29yZS5wcmk6CiogV2ViQ29yZS5wcm86Ciog
Y3NzL3RoZW1lUXRUb3VjaGFibGVTZWxlY3RvcnMuY3NzOiBBZGRlZC4KKHNlbGVjdFtzaXplXVtt
dWx0aXBsZV0pOgoqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CihXZWJDb3JlOjpTZWxlY3RFbGVtZW50
RGF0YTo6dXNlc01lbnVMaXN0KToKKiBwbGF0Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9C
b3guaDogQWRkZWQuCihXZWJDb3JlOjpRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3g6OlF0U3R5bGVP
cHRpb25XZWJDb21ib0JveCk6CihXZWJDb3JlOjpRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3g6Om11
bHRpcGxlKToKKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6Y2hlY2tNdWx0aXBs
ZSk6CiogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJUaGVt
ZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KToKKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBh
aW50TWVudUxpc3QpOgooV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRv
bik6CiogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9n
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMxICsrKysrKysrKysrKwogV2ViQ29y
ZS9XZWJDb3JlLnByaSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKysKIFdlYkNv
cmUvV2ViQ29yZS5wcm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIFdlYkNv
cmUvY3NzL3RoZW1lUXRUb3VjaGFibGVTZWxlY3RvcnMuY3NzICAgICAgfCAgIDM2ICsrKysrKysr
KysrKysrCiBXZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmggICAgICAgICAgICAgICAgICAgIHwg
ICAgOSArKystCiBXZWJDb3JlL3BsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5o
IHwgICA1OSArKysrKysrKysrKysrKysrKysrKysrKysKIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5jcHAgICAgICAgICAgfCAgIDE2ICsrKysrKy0KIFdlYkNvcmUvcGxhdGZvcm0v
cXQvUmVuZGVyVGhlbWVRdC5oICAgICAgICAgICAgfCAgICAyICsKIDggZmlsZXMgY2hhbmdlZCwg
MTU2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2Vi
Q29yZS9jc3MvdGhlbWVRdFRvdWNoYWJsZVNlbGVjdG9ycy5jc3MKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBXZWJDb3JlL3BsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oCgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1OThhNzY5
Li4zMzVlOGQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMiw2ICsyLDM3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCiAKKyAgICAgICAgTXVsdGlzZWxlY3QgcG9wdXBzIC0gcmVuZGVyaW5nCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAwNgorCisgICAgICAg
IFRoZSBvYmplY3RpdmUgb2YgdGhpcyBwYXRjaCBpcyB0byBjcmVhdGUgYSBjb21waWxlIHRpbWUg
ZmxhZyB0aGF0IGNhbiBiZSB1c2VkCisgICAgICAgIHRvIGZvcmNlIGFsbCA8c2VsZWN0PiBlbGVt
ZW50cyB0byBiZSByZW5kZXJlZCBhcyBtZW51IGxpc3RzLgorCisgICAgICAgIFRoZW1lIHN0eWxl
c2hlZXQgbWVjaGFuaXNtIGhhcyBiZWVuIHVzZWQgdG8gY2hhbmdlIHRoZSBhcHBlYXJhbmNlIG9m
IHRoZSBlbGVtZW50cy4KKworICAgICAgICBDbGFzcyBRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3gg
aGFzIGJlZW4gaW50cm9kdWNlZCB0byBwcm92aWRlIHRvIFFTdHlsZSBvYmplY3RzCisgICAgICAg
IHRoZSBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcmVuZGVyIDxzZWxlY3QgbXVsdGlwbGU+IGNvbWJv
Ym94ZXMuCisKKyAgICAgICAgKiBXZWJDb3JlLnByaToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoK
KyAgICAgICAgKiBjc3MvdGhlbWVRdFRvdWNoYWJsZVNlbGVjdG9ycy5jc3M6IEFkZGVkLgorICAg
ICAgICAoc2VsZWN0W3NpemVdW211bHRpcGxlXSk6CisgICAgICAgICogZG9tL1NlbGVjdEVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnREYXRhOjp1c2VzTWVudUxpc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6UXRTdHlsZU9w
dGlvbldlYkNvbWJvQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21i
b0JveDo6bXVsdGlwbGUpOgorICAgICAgICAoV2ViQ29yZTo6UXRTdHlsZU9wdGlvbldlYkNvbWJv
Qm94OjpjaGVja011bHRpcGxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmV4dHJhRGVmYXVsdFN0eWxl
U2hlZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0Lmg6CisKKzIwMTAtMDMtMTggIEx1
aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgTXVsdGlzZWxlY3QgUG9wdXAgLSBQ
b3B1cE1lbnVDbGllbnQgZXh0ZW5zaW9uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zNjE3OAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJp
IGIvV2ViQ29yZS9XZWJDb3JlLnByaQppbmRleCA2YWFiM2VjLi5hZGQ4Mzk3IDEwMDY0NAotLS0g
YS9XZWJDb3JlL1dlYkNvcmUucHJpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKQEAgLTIwOCw2
ICsyMDgsMTAgQEAgU1RZTEVTSEVFVFNfRU1CRUQgPSBcCiAgICAgJCRQV0QvY3NzL21lZGlhQ29u
dHJvbHMuY3NzIFwKICAgICAkJFBXRC9jc3MvbWVkaWFDb250cm9sc1F0LmNzcwogCitjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfVE9VQ0hBQkxFX1NFTEVDVE9SUz0xKSB7CisgICAgU1RZTEVTSEVF
VFNfRU1CRUQgKz0gJCRQV0QvY3NzL3RoZW1lUXRUb3VjaGFibGVTZWxlY3RvcnMuY3NzCit9CisK
IElETF9CSU5ESU5HUyArPSBcCiAgICAgY3NzL0NvdW50ZXIuaWRsIFwKICAgICBjc3MvQ1NTQ2hh
cnNldFJ1bGUuaWRsIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IDk5ZTAyNTkuLmM3YjU2MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
V2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMTY4LDYgKzE2OCw3IEBA
IGRlZmluZVRlc3QoYWRkRXh0cmFDb21waWxlcikgewogCiAgICAgcmV0dXJuKHRydWUpCiB9CisK
IGluY2x1ZGUoV2ViQ29yZS5wcmkpCiAKIElOQ0xVREVQQVRIID0gXApAQCAtMTU5MSw2ICsxNTky
LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vcXQvQ2xpcGJvYXJkUXQuaCBcCiAgICAg
cGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaCBcCiAgICAgcGxhdGZvcm0vcXQvUXRBYnN0cmFj
dFdlYlBvcHVwLmggXAorICAgIHBsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5o
IFwKICAgICBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggXAogICAgIHBsYXRmb3JtL3F0L1Nj
cm9sbGJhclRoZW1lUXQuaCBcCiAgICAgcGxhdGZvcm0vU2Nyb2xsYmFyLmggXApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvdGhlbWVRdFRvdWNoYWJsZVNlbGVjdG9ycy5jc3MgYi9XZWJDb3JlL2Nz
cy90aGVtZVF0VG91Y2hhYmxlU2VsZWN0b3JzLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40YzVlNDRhCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvdGhlbWVR
dFRvdWNoYWJsZVNlbGVjdG9ycy5jc3MKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworc2VsZWN0W3NpemVdLAorc2VsZWN0W211bHRpcGxl
XSwKK3NlbGVjdFtzaXplXVttdWx0aXBsZV0geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVu
dWxpc3Q7CisgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjsKKyAgICBib3JkZXI6IDFweCBz
b2xpZDsKKyAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDsKKyAgICB3aGl0ZS1zcGFjZTog
cHJlOworfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVudC5oIGIvV2ViQ29y
ZS9kb20vU2VsZWN0RWxlbWVudC5oCmluZGV4IDIzMzczOTYuLmQ1YTFiNTYgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaAorKysgYi9XZWJDb3JlL2RvbS9TZWxlY3RFbGVt
ZW50LmgKQEAgLTEyMCw3ICsxMjAsMTQgQEAgcHVibGljOgogICAgIGludCBzaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9zaXplOyB9CiAgICAgdm9pZCBzZXRTaXplKGludCB2YWx1ZSkgeyBtX3NpemUg
PSB2YWx1ZTsgfQogCi0gICAgYm9vbCB1c2VzTWVudUxpc3QoKSBjb25zdCB7IHJldHVybiAhbV9t
dWx0aXBsZSAmJiBtX3NpemUgPD0gMTsgfQorICAgIGJvb2wgdXNlc01lbnVMaXN0KCkgY29uc3QK
KyAgICB7CisjaWYgUExBVEZPUk0oUVQpICYmIEVOQUJMRShUT1VDSEFCTEVfU0VMRUNUT1JTKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgICAgIHJldHVybiAhbV9tdWx0aXBsZSAm
JiBtX3NpemUgPD0gMTsKKyNlbmRpZgorICAgIH0KIAogICAgIGludCBsYXN0T25DaGFuZ2VJbmRl
eCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdE9uQ2hhbmdlSW5kZXg7IH0KICAgICB2b2lkIHNldExh
c3RPbkNoYW5nZUluZGV4KGludCB2YWx1ZSkgeyBtX2xhc3RPbkNoYW5nZUluZGV4ID0gdmFsdWU7
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldlYkNvbWJv
Qm94LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1MTkyNjMKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oCkBAIC0w
LDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2lmbmRlZiBRdFN0eWxlT3B0aW9uV2Vi
Q29tYm9Cb3hfaAorI2RlZmluZSBRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3hfaAorCisjaW5jbHVk
ZSAiSFRNTFNlbGVjdEVsZW1lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKworI2lu
Y2x1ZGUgPFFTdHlsZU9wdGlvbj4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5k
ZXJPYmplY3Q7CisKK2NsYXNzIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCA6IHB1YmxpYyBRU3R5
bGVPcHRpb25Db21ib0JveCB7CitwdWJsaWM6CisgICAgUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94
KFJlbmRlck9iamVjdCogbykKKyAgICAgICAgOiBRU3R5bGVPcHRpb25Db21ib0JveCgpCisgICAg
I2lmIEVOQUJMRShUT1VDSEFCTEVfU0VMRUNUT1JTKQorICAgICAgICAsIG1fbXVsdGlwbGUoY2hl
Y2tNdWx0aXBsZShvKSkKKyAgICAjZWxzZQorICAgICAgICAsIG1fbXVsdGlwbGUoZmFsc2UpCisg
ICAgI2VuZGlmCisgICAgeworICAgIH0KKworICAgIGJvb2wgbXVsdGlwbGUoKSBjb25zdCB7IHJl
dHVybiBtX211bHRpcGxlOyB9CisKK3ByaXZhdGU6CisgICAgYm9vbCBtX211bHRpcGxlOworCisg
ICAgYm9vbCBjaGVja011bHRpcGxlKFJlbmRlck9iamVjdCogbykKKyAgICB7CisgICAgICAgIEhU
TUxTZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBvID8gc3RhdGljX2Nhc3Q8SFRNTFNlbGVjdEVsZW1l
bnQqPihvLT5ub2RlKCkpIDogMDsKKyAgICAgICAgcmV0dXJuIHNlbGVjdCA/IHNlbGVjdC0+bXVs
dGlwbGUoKSA6IGZhbHNlOworICAgIH0KK307CisKK30KKworI2VuZGlmIC8vIFF0U3R5bGVPcHRp
b25XZWJDb21ib0JveF9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRo
ZW1lUXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAppbmRleCA4
ZmU2NTNhLi5kMTM3MGVhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRo
ZW1lUXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKQEAg
LTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJRdFN0eWxlT3B0aW9uV2Vi
Q29tYm9Cb3guaCIKICNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlbmRl
ckJveC5oIgogI2lmIEVOQUJMRShQUk9HUkVTU19UQUcpCkBAIC0xODAsNiArMTgxLDE3IEBAIFFT
dHlsZSogUmVuZGVyVGhlbWVRdDo6cVN0eWxlKCkgY29uc3QKICAgICByZXR1cm4gUUFwcGxpY2F0
aW9uOjpzdHlsZSgpOwogfQogCitTdHJpbmcgUmVuZGVyVGhlbWVRdDo6ZXh0cmFEZWZhdWx0U3R5
bGVTaGVldCgpCit7CisjaWYgRU5BQkxFKFRPVUNIQUJMRV9TRUxFQ1RPUlMpCisgICAgcmV0dXJu
IFJlbmRlclRoZW1lOjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkgKworICAgICAgICAgICBTdHJp
bmcodGhlbWVRdFRvdWNoYWJsZVNlbGVjdG9yc1VzZXJBZ2VudFN0eWxlU2hlZXQsCisgICAgICAg
ICAgICAgICAgICBzaXplb2YodGhlbWVRdFRvdWNoYWJsZVNlbGVjdG9yc1VzZXJBZ2VudFN0eWxl
U2hlZXQpKTsKKyNlbHNlCisgICAgcmV0dXJuIFJlbmRlclRoZW1lOjpleHRyYURlZmF1bHRTdHls
ZVNoZWV0KCk7CisjZW5kaWYKK30KKwogYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0hvdmVy
KGNvbnN0IFJlbmRlclN0eWxlKikgY29uc3QKIHsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTU4Nyw3
ICs1OTksNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QoUmVuZGVyT2JqZWN0
KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbwogICAgIGlmICghcC5pc1ZhbGlkKCkp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0Owor
ICAgIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCBvcHQobyk7CiAgICAgaWYgKHAud2lkZ2V0KQog
ICAgICAgICBvcHQuaW5pdEZyb20ocC53aWRnZXQpOwogICAgIGluaXRpYWxpemVDb21tb25RU3R5
bGVPcHRpb25zKG9wdCwgbyk7CkBAIC02MjcsNyArNjM5LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0
OjpwYWludE1lbnVMaXN0QnV0dG9uKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0
OjpQYWkKICAgICBpZiAoIXAuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IFFTdHlsZU9wdGlvbkNvbWJvQm94IG9wdGlvbjsKKyAgICBRdFN0eWxlT3B0aW9uV2ViQ29tYm9C
b3ggb3B0aW9uKG8pOwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0aW9uLmluaXRGcm9t
KHAud2lkZ2V0KTsKICAgICBpbml0aWFsaXplQ29tbW9uUVN0eWxlT3B0aW9ucyhvcHRpb24sIG8p
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggYi9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAppbmRleCA1YzBlNTNmLi5mOGRlMWUwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaApAQCAtNDUsNiArNDUsOCBAQCBwcml2YXRl
OgogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBjcmVhdGUoUGFn
ZSopOwogCisgICAgU3RyaW5nIGV4dHJhRGVmYXVsdFN0eWxlU2hlZXQoKTsKKwogICAgIHZpcnR1
YWwgYm9vbCBzdXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHN1cHBvcnRzRm9jdXNSaW5nKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkgY29u
c3Q7CiAKLS0gCjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51101</attachid>
            <date>2010-03-18 15:01:57 -0700</date>
            <delta_ts>2010-03-19 19:35:07 -0700</delta_ts>
            <desc>patch 3</desc>
            <filename>0001-Multiselect-popups-rendering.patch</filename>
            <type>text/plain</type>
            <size>10820</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSBhOTBkYzY0MWY3YzllNjIxMzA0NTAwYjY0YWUxZjM3N2VhZTMwMGM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFRodSwgMTggTWFyIDIwMTAgMTk6MDA6MTMgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBNdWx0aXNlbGVjdCBwb3B1cHMgLSByZW5kZXJpbmcKIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNjAwNgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpU
aGUgb2JqZWN0aXZlIG9mIHRoaXMgcGF0Y2ggaXMgdG8gY3JlYXRlIGEgY29tcGlsZSB0aW1lIGZs
YWcgdGhhdCBjYW4gYmUgdXNlZAp0byBmb3JjZSBhbGwgPHNlbGVjdD4gZWxlbWVudHMgdG8gYmUg
cmVuZGVyZWQgYXMgbWVudSBsaXN0cy4KClRoZW1lIHN0eWxlc2hlZXQgbWVjaGFuaXNtIGhhcyBi
ZWVuIHVzZWQgdG8gY2hhbmdlIHRoZSBhcHBlYXJhbmNlIG9mIHRoZSBlbGVtZW50cy4KCkNsYXNz
IFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCBoYXMgYmVlbiBpbnRyb2R1Y2VkIHRvIHByb3ZpZGUg
dG8gUVN0eWxlIG9iamVjdHMKdGhlIG5lZWRlZCBpbmZvcm1hdGlvbiB0byByZW5kZXIgPHNlbGVj
dCBtdWx0aXBsZT4gY29tYm9ib3hlcy4KCiogV2ViQ29yZS5wcmk6CiogV2ViQ29yZS5wcm86Ciog
Y3NzL3RoZW1lUXROb0xpc3Rib3hlcy5jc3M6IEFkZGVkLgooc2VsZWN0W3NpemVdW211bHRpcGxl
XSk6CiogZG9tL1NlbGVjdEVsZW1lbnQuaDoKKFdlYkNvcmU6OlNlbGVjdEVsZW1lbnREYXRhOjp1
c2VzTWVudUxpc3QpOgoqIHBsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oOiBB
ZGRlZC4KKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6UXRTdHlsZU9wdGlvbldl
YkNvbWJvQm94KToKKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6bXVsdGlwbGUp
OgooV2ViQ29yZTo6UXRTdHlsZU9wdGlvbldlYkNvbWJvQm94OjpjaGVja011bHRpcGxlKToKKiBw
bGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmV4
dHJhRGVmYXVsdFN0eWxlU2hlZXQpOgooV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51
TGlzdCk6CihXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKToKKiBw
bGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0Lmg6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzEgKysrKysrKysrKysrCiBXZWJDb3JlL1dlYkNv
cmUucHJpICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArKwogV2ViQ29yZS9XZWJD
b3JlLnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogV2ViQ29yZS9jc3Mv
dGhlbWVRdE5vTGlzdGJveGVzLmNzcyAgICAgICAgICAgICB8ICAgMzYgKysrKysrKysrKysrKysK
IFdlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaCAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsr
Ky0KIFdlYkNvcmUvcGxhdGZvcm0vcXQvUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94LmggfCAgIDU5
ICsrKysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0LmNwcCAgICAgICAgICB8ICAgMTYgKysrKysrLQogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5k
ZXJUaGVtZVF0LmggICAgICAgICAgICB8ICAgIDIgKwogOCBmaWxlcyBjaGFuZ2VkLCAxNTUgaW5z
ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJDb3JlL2Nz
cy90aGVtZVF0Tm9MaXN0Ym94ZXMuY3NzCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViQ29yZS9wbGF0
Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaAoKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI0YWFiNy4uZDJkY2E4NyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxMC0wMy0xOCAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNdWx0aXNlbGVjdCBwb3B1cHMgLSByZW5kZXJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MDA2CisKKyAgICAgICAgVGhlIG9iamVjdGl2
ZSBvZiB0aGlzIHBhdGNoIGlzIHRvIGNyZWF0ZSBhIGNvbXBpbGUgdGltZSBmbGFnIHRoYXQgY2Fu
IGJlIHVzZWQKKyAgICAgICAgdG8gZm9yY2UgYWxsIDxzZWxlY3Q+IGVsZW1lbnRzIHRvIGJlIHJl
bmRlcmVkIGFzIG1lbnUgbGlzdHMuCisKKyAgICAgICAgVGhlbWUgc3R5bGVzaGVldCBtZWNoYW5p
c20gaGFzIGJlZW4gdXNlZCB0byBjaGFuZ2UgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIGVsZW1lbnRz
LgorCisgICAgICAgIENsYXNzIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveCBoYXMgYmVlbiBpbnRy
b2R1Y2VkIHRvIHByb3ZpZGUgdG8gUVN0eWxlIG9iamVjdHMKKyAgICAgICAgdGhlIG5lZWRlZCBp
bmZvcm1hdGlvbiB0byByZW5kZXIgPHNlbGVjdCBtdWx0aXBsZT4gY29tYm9ib3hlcy4KKworICAg
ICAgICAqIFdlYkNvcmUucHJpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIGNz
cy90aGVtZVF0Tm9MaXN0Ym94ZXMuY3NzOiBBZGRlZC4KKyAgICAgICAgKHNlbGVjdFtzaXplXVtt
dWx0aXBsZV0pOgorICAgICAgICAqIGRvbS9TZWxlY3RFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpTZWxlY3RFbGVtZW50RGF0YTo6dXNlc01lbnVMaXN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3g6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveCk6Cisg
ICAgICAgIChXZWJDb3JlOjpRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3g6Om11bHRpcGxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlF0U3R5bGVPcHRpb25XZWJDb21ib0JveDo6Y2hlY2tNdWx0aXBsZSk6
CisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgICogcGxhdGZvcm0v
cXQvUmVuZGVyVGhlbWVRdC5oOgorCiAyMDEwLTAzLTE4ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xh
emtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYnVpbGQgZml4LgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnByaSBiL1dlYkNvcmUvV2ViQ29yZS5wcmkKaW5kZXgg
NmFhYjNlYy4uMDk5NjVjNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9X
ZWJDb3JlL1dlYkNvcmUucHJpCkBAIC0yMDgsNiArMjA4LDEwIEBAIFNUWUxFU0hFRVRTX0VNQkVE
ID0gXAogICAgICQkUFdEL2Nzcy9tZWRpYUNvbnRyb2xzLmNzcyBcCiAgICAgJCRQV0QvY3NzL21l
ZGlhQ29udHJvbHNRdC5jc3MKIAorY29udGFpbnMoREVGSU5FUywgRU5BQkxFX05PX0xJU1RCT1hf
UkVOREVSSU5HPTEpIHsKKyAgICBTVFlMRVNIRUVUU19FTUJFRCArPSAkJFBXRC9jc3MvdGhlbWVR
dE5vTGlzdGJveGVzLmNzcworfQorCiBJRExfQklORElOR1MgKz0gXAogICAgIGNzcy9Db3VudGVy
LmlkbCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA5OWUwMjU5Li41NDgxMzkx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5w
cm8KQEAgLTE1OTEsNiArMTU5MSw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL3F0L0Ns
aXBib2FyZFF0LmggXAogICAgIHBsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmggXAogICAgIHBs
YXRmb3JtL3F0L1F0QWJzdHJhY3RXZWJQb3B1cC5oIFwKKyAgICBwbGF0Zm9ybS9xdC9RdFN0eWxl
T3B0aW9uV2ViQ29tYm9Cb3guaCBcCiAgICAgcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oIFwK
ICAgICBwbGF0Zm9ybS9xdC9TY3JvbGxiYXJUaGVtZVF0LmggXAogICAgIHBsYXRmb3JtL1Njcm9s
bGJhci5oIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL3RoZW1lUXROb0xpc3Rib3hlcy5jc3Mg
Yi9XZWJDb3JlL2Nzcy90aGVtZVF0Tm9MaXN0Ym94ZXMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjRjNWU0NGEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy90
aGVtZVF0Tm9MaXN0Ym94ZXMuY3NzCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK3NlbGVjdFtzaXplXSwKK3NlbGVjdFttdWx0aXBsZV0s
CitzZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVs
aXN0OworICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7CisgICAgYm9yZGVyOiAxcHggc29s
aWQ7CisgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7CisgICAgd2hpdGUtc3BhY2U6IHBy
ZTsKK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL1NlbGVjdEVsZW1lbnQuaCBiL1dlYkNvcmUv
ZG9tL1NlbGVjdEVsZW1lbnQuaAppbmRleCAyMzM3Mzk2Li5kY2I2ODc5IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2RvbS9TZWxlY3RFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9kb20vU2VsZWN0RWxlbWVu
dC5oCkBAIC0xMjAsNyArMTIwLDE0IEBAIHB1YmxpYzoKICAgICBpbnQgc2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2l6ZTsgfQogICAgIHZvaWQgc2V0U2l6ZShpbnQgdmFsdWUpIHsgbV9zaXplID0g
dmFsdWU7IH0KIAotICAgIGJvb2wgdXNlc01lbnVMaXN0KCkgY29uc3QgeyByZXR1cm4gIW1fbXVs
dGlwbGUgJiYgbV9zaXplIDw9IDE7IH0KKyAgICBib29sIHVzZXNNZW51TGlzdCgpIGNvbnN0Cisg
ICAgeworI2lmIEVOQUJMRShOT19MSVNUQk9YX1JFTkRFUklORykKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisjZWxzZQorICAgICAgICByZXR1cm4gIW1fbXVsdGlwbGUgJiYgbV9zaXplIDw9IDE7Cisj
ZW5kaWYKKyAgICB9CiAKICAgICBpbnQgbGFzdE9uQ2hhbmdlSW5kZXgoKSBjb25zdCB7IHJldHVy
biBtX2xhc3RPbkNoYW5nZUluZGV4OyB9CiAgICAgdm9pZCBzZXRMYXN0T25DaGFuZ2VJbmRleChp
bnQgdmFsdWUpIHsgbV9sYXN0T25DaGFuZ2VJbmRleCA9IHZhbHVlOyB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1F0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4yOWM4MjIwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9RdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3guaApAQCAtMCwwICsxLDU5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKS4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKgorICovCisKKyNpZm5kZWYgUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94X2gKKyNkZWZp
bmUgUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94X2gKKworI2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVt
ZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisKKyNpbmNsdWRlIDxRU3R5bGVPcHRp
b24+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVuZGVyT2JqZWN0OworCitjbGFz
cyBRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3ggOiBwdWJsaWMgUVN0eWxlT3B0aW9uQ29tYm9Cb3gg
eworcHVibGljOgorICAgIFF0U3R5bGVPcHRpb25XZWJDb21ib0JveChSZW5kZXJPYmplY3QqIG8p
CisgICAgICAgIDogUVN0eWxlT3B0aW9uQ29tYm9Cb3goKQorICAgICNpZiBFTkFCTEUoTk9fTElT
VEJPWF9SRU5ERVJJTkcpCisgICAgICAgICwgbV9tdWx0aXBsZShjaGVja011bHRpcGxlKG8pKQor
ICAgICNlbHNlCisgICAgICAgICwgbV9tdWx0aXBsZShmYWxzZSkKKyAgICAjZW5kaWYKKyAgICB7
CisgICAgfQorCisgICAgYm9vbCBtdWx0aXBsZSgpIGNvbnN0IHsgcmV0dXJuIG1fbXVsdGlwbGU7
IH0KKworcHJpdmF0ZToKKyAgICBib29sIG1fbXVsdGlwbGU7CisKKyAgICBib29sIGNoZWNrTXVs
dGlwbGUoUmVuZGVyT2JqZWN0KiBvKQorICAgIHsKKyAgICAgICAgSFRNTFNlbGVjdEVsZW1lbnQq
IHNlbGVjdCA9IG8gPyBzdGF0aWNfY2FzdDxIVE1MU2VsZWN0RWxlbWVudCo+KG8tPm5vZGUoKSkg
OiAwOworICAgICAgICByZXR1cm4gc2VsZWN0ID8gc2VsZWN0LT5tdWx0aXBsZSgpIDogZmFsc2U7
CisgICAgfQorfTsKKworfQorCisjZW5kaWYgLy8gUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94X2gK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAgYi9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCmluZGV4IDY1M2M5NDYuLmZhMjEwYTkg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcApAQCAtNDQsNiArNDQsNyBAQAog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlF0U3R5bGVPcHRpb25XZWJDb21ib0JveC5oIgogI2lu
Y2x1ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaWYgRU5B
QkxFKFBST0dSRVNTX1RBRykKQEAgLTE3Nyw2ICsxNzgsMTcgQEAgUVN0eWxlKiBSZW5kZXJUaGVt
ZVF0OjpxU3R5bGUoKSBjb25zdAogICAgIHJldHVybiBRQXBwbGljYXRpb246OnN0eWxlKCk7CiB9
CiAKK1N0cmluZyBSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKK3sKKyNp
ZiBFTkFCTEUoTk9fTElTVEJPWF9SRU5ERVJJTkcpCisgICAgcmV0dXJuIFJlbmRlclRoZW1lOjpl
eHRyYURlZmF1bHRTdHlsZVNoZWV0KCkgKworICAgICAgICAgICBTdHJpbmcodGhlbWVRdE5vTGlz
dGJveGVzVXNlckFnZW50U3R5bGVTaGVldCwKKyAgICAgICAgICAgICAgICAgIHNpemVvZih0aGVt
ZVF0Tm9MaXN0Ym94ZXNVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisjZWxzZQorICAgIHJldHVybiBS
ZW5kZXJUaGVtZTo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgpOworI2VuZGlmCit9CisKIGJvb2wg
UmVuZGVyVGhlbWVRdDo6c3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSopIGNvbnN0CiB7
CiAgICAgcmV0dXJuIHRydWU7CkBAIC01ODQsNyArNTk2LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0
OjpwYWludE1lbnVMaXN0KFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWlu
dEluZm8KICAgICBpZiAoIXAuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IFFTdHlsZU9wdGlvbkNvbWJvQm94IG9wdDsKKyAgICBRdFN0eWxlT3B0aW9uV2ViQ29tYm9Cb3gg
b3B0KG8pOwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0LmluaXRGcm9tKHAud2lkZ2V0
KTsKICAgICBpbml0aWFsaXplQ29tbW9uUVN0eWxlT3B0aW9ucyhvcHQsIG8pOwpAQCAtNjI0LDcg
KzYzNiw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbihSZW5kZXJP
YmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpCiAgICAgaWYgKCFwLmlzVmFsaWQoKSkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHRpb247
CisgICAgUXRTdHlsZU9wdGlvbldlYkNvbWJvQm94IG9wdGlvbihvKTsKICAgICBpZiAocC53aWRn
ZXQpCiAgICAgICAgIG9wdGlvbi5pbml0RnJvbShwLndpZGdldCk7CiAgICAgaW5pdGlhbGl6ZUNv
bW1vblFTdHlsZU9wdGlvbnMob3B0aW9uLCBvKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0
LmgKaW5kZXggZmNkYWQyOS4uNzM2ZTZkNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9SZW5kZXJUaGVtZVF0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0
LmgKQEAgLTQ1LDYgKzQ1LDggQEAgcHJpdmF0ZToKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxSZW5kZXJUaGVtZT4gY3JlYXRlKFBhZ2UqKTsKIAorICAgIFN0cmluZyBleHRyYURlZmF1
bHRTdHlsZVNoZWV0KCk7CisKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNIb3Zlcihjb25zdCBS
ZW5kZXJTdHlsZSopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZvY3VzUmluZyhj
b25zdCBSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0OwogCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>