<?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>125182</bug_id>
          
          <creation_ts>2013-12-03 14:13:49 -0800</creation_ts>
          <short_desc>[GTK][WK2] Fix WebKit2 build after API::Client changes</short_desc>
          <delta_ts>2013-12-04 10:55:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>125206</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>125173</blocked>
    
    <blocked>125206</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nick Diego Yamane (diegoyam)">nick.diego</reporter>
          <assigned_to name="Nick Diego Yamane (diegoyam)">nick.diego</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>luiz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>thiago.lacerda</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>956087</commentid>
    <comment_count>0</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 14:13:49 -0800</bug_when>
    <thetext>[GTK][EFL][WK2] Fix WebKit2 build after r160028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956088</commentid>
    <comment_count>1</comment_count>
      <attachid>218338</attachid>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 14:15:29 -0800</bug_when>
    <thetext>Created attachment 218338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956125</commentid>
    <comment_count>2</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 14:38:20 -0800</bug_when>
    <thetext>It&apos;s still failing due to changes from bug 125178.

../../Source/WebKit2/Shared/API/c/WKDeclarationSpecifiers.h:49:48: error: missing binary operator before token &quot;(&quot;
 #if defined(__has_extension) &amp;&amp; __has_extension(enumerator_attributes) &amp;&amp; __has_extension(attribute_unavailable_with_message)
                                                ^
../../Source/WebKit2/Shared/API/c/WKDeclarationSpecifiers.h:55:48: error: missing binary operator before token &quot;(&quot;
 #if defined(__has_extension) &amp;&amp; __has_extension(enumerator_attributes) &amp;&amp; __has_extension(attribute_unavailable_with_message)
                                                ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956129</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-03 14:41:39 -0800</bug_when>
    <thetext>You can probably try something like

#ifndef __has_extension
#define __has_extension(x) 0
#endif</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956131</commentid>
    <comment_count>4</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 14:44:27 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; You can probably try something like
&gt; 
&gt; #ifndef __has_extension
&gt; #define __has_extension(x) 0
&gt; #endif

From bug 116352, it looks like we should use &quot;__has_feature&quot; instead of &quot;__has_extension&quot;. So should we add #ifndef to the WKDeclarationSpecifiers.h or to use &quot;__has_feature&quot; which already is properly handled in Compiler.h ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956140</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-03 14:53:34 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; You can probably try something like
&gt; &gt; 
&gt; &gt; #ifndef __has_extension
&gt; &gt; #define __has_extension(x) 0
&gt; &gt; #endif
&gt; 
&gt; From bug 116352, it looks like we should use &quot;__has_feature&quot; instead of &quot;__has_extension&quot;. So should we add #ifndef to the WKDeclarationSpecifiers.h or to use &quot;__has_feature&quot; which already is properly handled in Compiler.h ?

This is in the API headers so we can’t use ifdefs from Compiler.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956148</commentid>
    <comment_count>6</comment_count>
      <attachid>218349</attachid>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 15:04:29 -0800</bug_when>
    <thetext>Created attachment 218349
Patch

Also adding fix after r160036</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956175</commentid>
    <comment_count>7</comment_count>
      <attachid>218354</attachid>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 15:28:45 -0800</bug_when>
    <thetext>Created attachment 218354
Patch

Renaming APIClient to API::Client</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956178</commentid>
    <comment_count>8</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-03 15:34:32 -0800</bug_when>
    <thetext>*** Bug 125187 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956179</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-03 15:38:49 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=218354) [details]
&gt; Patch
&gt; 
&gt; Renaming APIClient to API::Client

EFL build is still broken with this patch, some error log:

/home/oszi/WebKit/Source/WebKit2/UIProcess/efl/WebUIPopupMenuClient.h:41:112: error: wrong number of template arguments (2, should be 1)
/home/oszi/WebKit/Source/WebKit2/Shared/APIClient.h:36:42: error: provided for &apos;template&lt;class ClientInterface&gt; class API::Client&apos;
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956182</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-03 15:40:54 -0800</bug_when>
    <thetext>It seems you will need similar changes to http://trac.webkit.org/changeset/159988</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956185</commentid>
    <comment_count>11</comment_count>
      <attachid>218354</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-03 15:44:22 -0800</bug_when>
    <thetext>Comment on attachment 218354
Patch

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

&gt; Source/WebKit2/Shared/API/c/WKDeclarationSpecifiers.h:49
&gt; +#ifndef __has_extension

Hey nick, maybe would be cleaner to do some workaround like I did in https://bugs.webkit.org/show_bug.cgi?id=125187, instead of adding some code that does nothing.
What do you think? Ossy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956188</commentid>
    <comment_count>12</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 15:48:01 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; Created an attachment (id=218354) [details] [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Renaming APIClient to API::Client
&gt; 
&gt; EFL build is still broken with this patch, some error log:
&gt; 
&gt; /home/oszi/WebKit/Source/WebKit2/UIProcess/efl/WebUIPopupMenuClient.h:41:112: error: wrong number of template arguments (2, should be 1)
&gt; /home/oszi/WebKit/Source/WebKit2/Shared/APIClient.h:36:42: error: provided for &apos;template&lt;class ClientInterface&gt; class API::Client&apos;
&gt; ...

Yeah, the changes needed are less trivial I thought initially. ClientTraits was reimplemented..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956189</commentid>
    <comment_count>13</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 15:48:28 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; It seems you will need similar changes to http://trac.webkit.org/changeset/159988

Hmm, I&apos;ll take a look at it. thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956191</commentid>
    <comment_count>14</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 15:49:59 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 218354 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218354&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/Shared/API/c/WKDeclarationSpecifiers.h:49
&gt; &gt; +#ifndef __has_extension
&gt; 
&gt; Hey nick, maybe would be cleaner to do some workaround like I did in https://bugs.webkit.org/show_bug.cgi?id=125187, instead of adding some code that does nothing.
&gt; What do you think? Ossy?

Hmm, good. But that&apos;s still not enough to solve the build issues :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956199</commentid>
    <comment_count>15</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 15:59:33 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #10)
&gt; &gt; It seems you will need similar changes to http://trac.webkit.org/changeset/159988
&gt; 
&gt; Hmm, I&apos;ll take a look at it. thanks.

Hey Ossy, you&apos;re right. We&apos;ll have to do similar things to that patch to get it working!

So we&apos;ll need lots of changes to get the following classes working according to the new API::Client implementation:

* WebBatteryProvider
* WebNetworkInfoProvider
* WebTextCheckerClient
* WebVibrationProvider
* efl/WebUIPopupMenuClient
* gtk/WebFullScreenClientGtk
* gtk/WebInspectorClientGtk
* soup/WebSoupRequestManagerClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956200</commentid>
    <comment_count>16</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-12-03 16:09:17 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #11)
&gt; &gt; (From update of attachment 218354 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218354&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/Shared/API/c/WKDeclarationSpecifiers.h:49
&gt; &gt; &gt; +#ifndef __has_extension
&gt; &gt; 
&gt; &gt; Hey nick, maybe would be cleaner to do some workaround like I did in https://bugs.webkit.org/show_bug.cgi?id=125187, instead of adding some code that does nothing.
&gt; &gt; What do you think? Ossy?
&gt; 
&gt; Hmm, good. But that&apos;s still not enough to solve the build issues :)

I know, it is just for that specific part of the code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956246</commentid>
    <comment_count>17</comment_count>
      <attachid>218373</attachid>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 18:44:28 -0800</bug_when>
    <thetext>Created attachment 218373
Patch

Moving to the new API::Client</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956247</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-03 18:46:54 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956250</commentid>
    <comment_count>19</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 18:58:52 -0800</bug_when>
    <thetext>FYI, EFL will be addressed in bug 125206.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956251</commentid>
    <comment_count>20</comment_count>
      <attachid>218373</attachid>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-03 19:11:44 -0800</bug_when>
    <thetext>Comment on attachment 218373
Patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFullscreenClient.cpp:48
&gt; +    WKViewSetFullScreenClientGtk(toAPI(WEBKIT_WEB_VIEW_BASE(webView)), reinterpret_cast&lt;WKFullScreenClientGtkBase*&gt;(&amp;wkFullScreenClient));

I&apos;m not sure if that&apos;s the right thing to do here :(

@andersca, could you help us on this?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitTextChecker.cpp:110
&gt; +    WKTextCheckerSetClient(reinterpret_cast&lt;WKTextCheckerClientBase*&gt;(&amp;wkTextCheckerClient));

ditto.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp:332
&gt; +    WKInspectorSetInspectorClientGtk(toAPI(webInspector), reinterpret_cast&lt;WKInspectorClientGtkBase*&gt;(&amp;wkInspectorClientGtk));

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956301</commentid>
    <comment_count>21</comment_count>
      <attachid>218373</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-04 00:37:43 -0800</bug_when>
    <thetext>Comment on attachment 218373
Patch

The build is still broken with this patch :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956302</commentid>
    <comment_count>22</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-04 00:42:12 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; FYI, EFL will be addressed in bug 125206.

What happened? This bug was to fix EFL and GTK too originally.
Why do we have two separated bug report now? And there isn&apos;t
any patch with r? in the other bug report. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956333</commentid>
    <comment_count>23</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-12-04 02:56:27 -0800</bug_when>
    <thetext>This seems to have been made obsolete by the patch on the other bug.

*** This bug has been marked as a duplicate of bug 125206 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956434</commentid>
    <comment_count>24</comment_count>
      <attachid>218373</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-12-04 10:28:40 -0800</bug_when>
    <thetext>Comment on attachment 218373
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFullscreenClient.cpp:48
&gt;&gt; +    WKViewSetFullScreenClientGtk(toAPI(WEBKIT_WEB_VIEW_BASE(webView)), reinterpret_cast&lt;WKFullScreenClientGtkBase*&gt;(&amp;wkFullScreenClient));
&gt; 
&gt; I&apos;m not sure if that&apos;s the right thing to do here :(
&gt; 
&gt; @andersca, could you help us on this?

This should just be &amp;wkFullScreenClient.base.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp:332
&gt;&gt; +    WKInspectorSetInspectorClientGtk(toAPI(webInspector), reinterpret_cast&lt;WKInspectorClientGtkBase*&gt;(&amp;wkInspectorClientGtk));
&gt; 
&gt; ditto.

Same thing here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956455</commentid>
    <comment_count>25</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-12-04 10:55:39 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 218373 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218373&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFullscreenClient.cpp:48
&gt; &gt;&gt; +    WKViewSetFullScreenClientGtk(toAPI(WEBKIT_WEB_VIEW_BASE(webView)), reinterpret_cast&lt;WKFullScreenClientGtkBase*&gt;(&amp;wkFullScreenClient));
&gt; &gt; 
&gt; &gt; I&apos;m not sure if that&apos;s the right thing to do here :(
&gt; &gt; 
&gt; &gt; @andersca, could you help us on this?
&gt; 
&gt; This should just be &amp;wkFullScreenClient.base.
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp:332
&gt; &gt;&gt; +    WKInspectorSetInspectorClientGtk(toAPI(webInspector), reinterpret_cast&lt;WKInspectorClientGtkBase*&gt;(&amp;wkInspectorClientGtk));
&gt; &gt; 
&gt; &gt; ditto.
&gt; 
&gt; Same thing here.

Ok, thanks.
It will be fixed in bug 125231.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218338</attachid>
            <date>2013-12-03 14:15:29 -0800</date>
            <delta_ts>2013-12-03 15:04:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125182-20131203182723.patch</filename>
            <type>text/plain</type>
            <size>1833</size>
            <attacher name="Nick Diego Yamane (diegoyam)">nick.diego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTRmMjJlMTdkNGQ4ZTky
NWZkNmU1YzQzNGIzMDgwYzQ2ZDdhNjcwMS4uZGZhOTc4YjE4NTU5OWY0MzNlZTM0YjE1ODQ1YmVi
NjAxZTVlYTc0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTEyLTAzICBOaWNr
IERpZWdvIFlhbWFuZSAgPG5pY2sueWFtYW5lQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW0dU
S11bRUZMXVtXSzJdIEZpeCBXZWJLaXQyIGJ1aWxkIGFmdGVyIHIxNjAwMjgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTE4MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFQSUNsaWVudFRyYWl0cy5oIGFu
ZCAuY3BwIGhhcyBiZWVuIHJlbW92ZWQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorCiAyMDEzLTEyLTAzICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRGVwcmVjYXRlIFdLTm90aWZpY2F0
aW9uUHJvdmlkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggZTIwYTllNWE0NDU5YTA3MjJmOWEy
MDA2YjBiZDk5YWM3NzAwMDRiZC4uMmZmOTYyNjk0ZWU3NDhjMjMzOGI1YmU3NzljNzViMGY5OTZm
OGQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTE4MCw3ICsxODAsNiBAQCBzZXQoV2ViS2l0
Ml9TT1VSQ0VTCiAgICAgUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKIAog
ICAgIFNoYXJlZC9BUElBcnJheS5jcHAKLSAgICBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAog
ICAgIFNoYXJlZC9BUElPYmplY3QuY3BwCiAgICAgU2hhcmVkL0FjdGl2aXR5QXNzZXJ0aW9uLmNw
cAogICAgIFNoYXJlZC9DYWNoZU1vZGVsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggZjQ0NWNlZGYxODVjZWY0ZGE5NGE2NDM3YjQyOWYxOTc1NmM4NGZjNS4uMzk4MDFhMDBh
ZjVhYTdkNDA4NWMwNDVmYzA3ZTg1OTQxMDJlYzYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0zMjUsOCArMzI1LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJQXJyYXkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
QXJyYXkuaCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudC5oIFwKLQlTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSUNsaWVudFRyYWl0cy5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvY2Fp
cm8vV0tJbWFnZUNhaXJvLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL2NhaXJv
L1dLSW1hZ2VDYWlyby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dLQmFz
ZUd0ay5oIFwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218349</attachid>
            <date>2013-12-03 15:04:29 -0800</date>
            <delta_ts>2013-12-03 15:28:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125182-20131203191623.patch</filename>
            <type>text/plain</type>
            <size>2731</size>
            <attacher name="Nick Diego Yamane (diegoyam)">nick.diego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTRmMjJlMTdkNGQ4ZTky
NWZkNmU1YzQzNGIzMDgwYzQ2ZDdhNjcwMS4uMGY4NjAyM2Y1MzYyNTY3NTQ1MWE2OGM1OGM3ZTU3
ODM1M2Y5MWUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTEyLTAzICBOaWNr
IERpZWdvIFlhbWFuZSAgPG5pY2sueWFtYW5lQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW0dU
S11bRUZMXVtXSzJdIEZpeCBXZWJLaXQyIGJ1aWxkIGFmdGVyIHIxNjAwMjgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTE4MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IFJl
bW92ZWQgQVBJQ2xpZW50VHJhaXRzLmNwcAorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
IERpdHRvLgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0RlY2xhcmF0aW9uU3BlY2lmaWVycy5o
OiBXb3JrYXJvdW5kIGZvciB3aGVuIGNvbXBpbGVyIGRvZXNuJ3QKKyAgICAgICAgc3VwcG9ydCAg
X19oYXNfZXh0ZW5zaW9uLgorCiAyMDEzLTEyLTAzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNj
YUBhcHBsZS5jb20+CiAKICAgICAgICAgRGVwcmVjYXRlIFdLTm90aWZpY2F0aW9uUHJvdmlkZXIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggZTIwYTllNWE0NDU5YTA3MjJmOWEyMDA2YjBiZDk5YWM3
NzAwMDRiZC4uMmZmOTYyNjk0ZWU3NDhjMjMzOGI1YmU3NzljNzViMGY5OTZmOGQwZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIv
Q01ha2VMaXN0cy50eHQKQEAgLTE4MCw3ICsxODAsNiBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAg
ICAgUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKIAogICAgIFNoYXJlZC9B
UElBcnJheS5jcHAKLSAgICBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAogICAgIFNoYXJlZC9B
UElPYmplY3QuY3BwCiAgICAgU2hhcmVkL0FjdGl2aXR5QXNzZXJ0aW9uLmNwcAogICAgIFNoYXJl
ZC9DYWNoZU1vZGVsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZjQ0NWNl
ZGYxODVjZWY0ZGE5NGE2NDM3YjQyOWYxOTc1NmM4NGZjNS4uMzk4MDFhMDBhZjVhYTdkNDA4NWMw
NDVmYzA3ZTg1OTQxMDJlYzYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0z
MjUsOCArMzI1LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJQXJyYXkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQXJyYXkuaCBcCiAJ
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudC5oIFwKLQlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVu
dFRyYWl0cy5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvY2Fpcm8vV0tJbWFnZUNh
aXJvLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL2NhaXJvL1dLSW1hZ2VDYWly
by5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dLQmFzZUd0ay5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RlY2xhcmF0aW9uU3BlY2lm
aWVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVjbGFyYXRpb25TcGVjaWZp
ZXJzLmgKaW5kZXggMDcwYzI4Yzg0YmU1ZWQxOWQ5NDM3ZGViMDMwZDA2ODVkYTU0OTZhZS4uYjVk
OGYxM2NiYzE3NjY0NGZjZTRmNDk1OTg0NDFmOWM4Mjg3MTE2ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmgKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmgKQEAgLTQy
LDEwICs0MiwxNCBAQAogI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKICNkZWZpbmUgV0tfSU5MSU5F
IHN0YXRpYyBfX2lubGluZV9fCiAjZWxzZQotI2RlZmluZSBXS19JTkxJTkUgc3RhdGljICAgIAor
I2RlZmluZSBXS19JTkxJTkUgc3RhdGljCiAjZW5kaWYKICNlbmRpZiAvKiAhZGVmaW5lZChXS19J
TkxJTkUpICovCiAKKyNpZm5kZWYgX19oYXNfZXh0ZW5zaW9uCisjZGVmaW5lIF9faGFzX2V4dGVu
c2lvbih4KSAwCisjZW5kaWYKKwogI2lmIGRlZmluZWQoX19oYXNfZXh0ZW5zaW9uKSAmJiBfX2hh
c19leHRlbnNpb24oZW51bWVyYXRvcl9hdHRyaWJ1dGVzKSAmJiBfX2hhc19leHRlbnNpb24oYXR0
cmlidXRlX3VuYXZhaWxhYmxlX3dpdGhfbWVzc2FnZSkKICNkZWZpbmUgV0tfREVQUkVDQVRFRCht
ZXNzYWdlKSBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKG1lc3NhZ2UpKSkKICNlbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218354</attachid>
            <date>2013-12-03 15:28:45 -0800</date>
            <delta_ts>2013-12-03 18:44:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125182-20131203194040.patch</filename>
            <type>text/plain</type>
            <size>10040</size>
            <attacher name="Nick Diego Yamane (diegoyam)">nick.diego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTRmMjJlMTdkNGQ4ZTky
NWZkNmU1YzQzNGIzMDgwYzQ2ZDdhNjcwMS4uYjIwOGQ4YzUzOGE2N2ZmMmJkZjI5Zjc2OWRjZWNi
ZmJiMjgxMTM5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTEyLTAzICBOaWNr
IERpZWdvIFlhbWFuZSAgPG5pY2sueWFtYW5lQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW0dU
S11bRUZMXVtXSzJdIEZpeCBXZWJLaXQyIGJ1aWxkIGFmdGVyIHIxNjAwMjgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTE4MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IFJl
bW92ZWQgQVBJQ2xpZW50VHJhaXRzLmNwcAorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
IERpdHRvLgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0RlY2xhcmF0aW9uU3BlY2lmaWVycy5o
OiBXb3JrYXJvdW5kIGZvciB3aGVuIGNvbXBpbGVyIGRvZXNuJ3QKKyAgICAgICAgc3VwcG9ydCAg
X19oYXNfZXh0ZW5zaW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L1dlYlZpZXdDbGllbnQuaDogQVBJQ2xpZW50IC0+IEFQSTo6Q2xpZW50LgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNz
L1dlYk5ldHdvcmtJbmZvUHJvdmlkZXIuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlRleHRDaGVja2VyQ2xpZW50Lmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJWaWJy
YXRpb25Qcm92aWRlci5oOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYlVJUG9w
dXBNZW51Q2xpZW50Lmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViRnVsbFNj
cmVlbkNsaWVudEd0ay5oOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYkluc3Bl
Y3RvckNsaWVudEd0ay5oOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3Mvc291cC9XZWJTb3Vw
UmVxdWVzdE1hbmFnZXJDbGllbnQuaDogRGl0dG8uCisKIDIwMTMtMTItMDMgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBEZXByZWNhdGUgV0tOb3RpZmlj
YXRpb25Qcm92aWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCBlMjBhOWU1YTQ0NTlhMDcyMmY5
YTIwMDZiMGJkOTlhYzc3MDAwNGJkLi4yZmY5NjI2OTRlZTc0OGMyMzM4YjViZTc3OWM3NWIwZjk5
NmY4ZDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMTgwLDcgKzE4MCw2IEBAIHNldChXZWJL
aXQyX1NPVVJDRVMKICAgICBQbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcAog
CiAgICAgU2hhcmVkL0FQSUFycmF5LmNwcAotICAgIFNoYXJlZC9BUElDbGllbnRUcmFpdHMuY3Bw
CiAgICAgU2hhcmVkL0FQSU9iamVjdC5jcHAKICAgICBTaGFyZWQvQWN0aXZpdHlBc3NlcnRpb24u
Y3BwCiAgICAgU2hhcmVkL0NhY2hlTW9kZWwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUubGlzdC5h
bQppbmRleCBmNDQ1Y2VkZjE4NWNlZjRkYTk0YTY0MzdiNDI5ZjE5NzU2Yzg0ZmM1Li4zOTgwMWEw
MGFmNWFhN2Q0MDg1YzA0NWZjMDdlODU5NDEwMmVjNjE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KQEAgLTMyNSw4ICszMjUsNiBAQCB3ZWJraXQyX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUElBcnJheS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UElBcnJheS5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50LmggXAotCVNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUElDbGllbnRUcmFpdHMuY3BwIFwKLQlTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJQ2xpZW50VHJhaXRzLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9j
YWlyby9XS0ltYWdlQ2Fpcm8uY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvY2Fp
cm8vV0tJbWFnZUNhaXJvLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9ndGsvV0tC
YXNlR3RrLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVj
bGFyYXRpb25TcGVjaWZpZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEZWNs
YXJhdGlvblNwZWNpZmllcnMuaAppbmRleCAwNzBjMjhjODRiZTVlZDE5ZDk0MzdkZWIwMzBkMDY4
NWRhNTQ5NmFlLi5iNWQ4ZjEzY2JjMTc2NjQ0ZmNlNGY0OTU5ODQ0MWY5YzgyODcxMTZlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEZWNsYXJhdGlvblNwZWNpZmll
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEZWNsYXJhdGlvblNwZWNp
ZmllcnMuaApAQCAtNDIsMTAgKzQyLDE0IEBACiAjZWxpZiBkZWZpbmVkKF9fR05VQ19fKQogI2Rl
ZmluZSBXS19JTkxJTkUgc3RhdGljIF9faW5saW5lX18KICNlbHNlCi0jZGVmaW5lIFdLX0lOTElO
RSBzdGF0aWMgICAgCisjZGVmaW5lIFdLX0lOTElORSBzdGF0aWMKICNlbmRpZgogI2VuZGlmIC8q
ICFkZWZpbmVkKFdLX0lOTElORSkgKi8KIAorI2lmbmRlZiBfX2hhc19leHRlbnNpb24KKyNkZWZp
bmUgX19oYXNfZXh0ZW5zaW9uKHgpIDAKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChfX2hhc19leHRl
bnNpb24pICYmIF9faGFzX2V4dGVuc2lvbihlbnVtZXJhdG9yX2F0dHJpYnV0ZXMpICYmIF9faGFz
X2V4dGVuc2lvbihhdHRyaWJ1dGVfdW5hdmFpbGFibGVfd2l0aF9tZXNzYWdlKQogI2RlZmluZSBX
S19ERVBSRUNBVEVEKG1lc3NhZ2UpIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQobWVzc2FnZSkp
KQogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaAppbmRleCA1MTk3OWU5YzdhMDBmODI5ZmU2
NzkxNDI0NDZmMDQwODQwMmRkNDU1Li5mMGUwMTc2OThlNTg4ZWI2YjM0MWM1NTJjY2QxMTgyNzJl
M2NmNmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNz
IFdlYlZpZXc7CiBjbGFzcyBOYXRpdmVXZWJUb3VjaEV2ZW50OwogI2VuZGlmCiAKLWNsYXNzIFdl
YlZpZXdDbGllbnQ6IHB1YmxpYyBBUElDbGllbnQ8V0tWaWV3Q2xpZW50LCBrV0tWaWV3Q2xpZW50
Q3VycmVudFZlcnNpb24+IHsKK2NsYXNzIFdlYlZpZXdDbGllbnQ6IHB1YmxpYyBBUEk6OkNsaWVu
dDxXS1ZpZXdDbGllbnQsIGtXS1ZpZXdDbGllbnRDdXJyZW50VmVyc2lvbj4gewogcHVibGljOgog
ICAgIHZvaWQgdmlld05lZWRzRGlzcGxheShXZWJWaWV3KiwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYpOwogICAgIHZvaWQgZGlkQ2hhbmdlQ29udGVudHNTaXplKFdlYlZpZXcqLCBjb25zdCBXZWJD
b3JlOjpJbnRTaXplJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
QmF0dGVyeVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVBy
b3ZpZGVyLmgKaW5kZXggZjU5OTA2OGM5NDJlODBjNGIwYTI5N2VhNDYyM2RlYTQ4YTZjNjRiMi4u
NmU0MTgzMmUwNWQxNjgyODc4NWQ1YWZhNmJkNTRmODAxYzFlZDA4NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaApAQCAtMzYsNyArMzYsNyBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTsKIAotY2xh
c3MgV2ViQmF0dGVyeVByb3ZpZGVyIDogcHVibGljIEFQSUNsaWVudDxXS0JhdHRlcnlQcm92aWRl
ciwga1dLQmF0dGVyeVByb3ZpZGVyQ3VycmVudFZlcnNpb24+IHsKK2NsYXNzIFdlYkJhdHRlcnlQ
cm92aWRlciA6IHB1YmxpYyBBUEk6OkNsaWVudDxXS0JhdHRlcnlQcm92aWRlciwga1dLQmF0dGVy
eVByb3ZpZGVyQ3VycmVudFZlcnNpb24+IHsKIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VXBkYXRp
bmcoV2ViQmF0dGVyeU1hbmFnZXJQcm94eSopOwogICAgIHZvaWQgc3RvcFVwZGF0aW5nKFdlYkJh
dHRlcnlNYW5hZ2VyUHJveHkqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJOZXR3b3JrSW5mb1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
TmV0d29ya0luZm9Qcm92aWRlci5oCmluZGV4IGY3MjA1ZDA1YjA4NjZmMTUzYjMzYzk2NTM4OTdl
NTgwNzViZjNlYTkuLjdlYzU3MWM0ZGM1NzExMmU2MzQ2Y2QyM2UxNWMwNzllN2RiZjUwNmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJOZXR3b3JrSW5mb1Byb3ZpZGVy
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk5ldHdvcmtJbmZvUHJvdmlkZXIu
aApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViTmV0d29y
a0luZm9NYW5hZ2VyUHJveHk7CiAKLWNsYXNzIFdlYk5ldHdvcmtJbmZvUHJvdmlkZXIgOiBwdWJs
aWMgQVBJQ2xpZW50PFdLTmV0d29ya0luZm9Qcm92aWRlciwga1dLTmV0d29ya0luZm9Qcm92aWRl
ckN1cnJlbnRWZXJzaW9uPiB7CitjbGFzcyBXZWJOZXR3b3JrSW5mb1Byb3ZpZGVyIDogcHVibGlj
IEFQSTo6Q2xpZW50PFdLTmV0d29ya0luZm9Qcm92aWRlciwga1dLTmV0d29ya0luZm9Qcm92aWRl
ckN1cnJlbnRWZXJzaW9uPiB7CiBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFVwZGF0aW5nKFdlYk5l
dHdvcmtJbmZvTWFuYWdlclByb3h5Kik7CiAgICAgdm9pZCBzdG9wVXBkYXRpbmcoV2ViTmV0d29y
a0luZm9NYW5hZ2VyUHJveHkqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJUZXh0Q2hlY2tlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlRl
eHRDaGVja2VyQ2xpZW50LmgKaW5kZXggYjY1MDAzZDExNWU5NjVlOWQyNjc2ZTE4ZDVlMTdhZjBi
MThhN2I5ZS4uYTdjODlkNDg3NGI2ODA3OTk2MDZhMDc2MDM5OTFhMmY5MjExYzM2MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlRleHRDaGVja2VyQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlRleHRDaGVja2VyQ2xpZW50LmgKQEAgLTM2
LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIAot
Y2xhc3MgV2ViVGV4dENoZWNrZXJDbGllbnQgOiBwdWJsaWMgQVBJQ2xpZW50PFdLVGV4dENoZWNr
ZXJDbGllbnQsIGtXS1RleHRDaGVja2VyQ2xpZW50Q3VycmVudFZlcnNpb24+IHsKK2NsYXNzIFdl
YlRleHRDaGVja2VyQ2xpZW50IDogcHVibGljIEFQSTo6Q2xpZW50PFdLVGV4dENoZWNrZXJDbGll
bnQsIGtXS1RleHRDaGVja2VyQ2xpZW50Q3VycmVudFZlcnNpb24+IHsKIHB1YmxpYzoKICAgICBi
b29sIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nQWxsb3dlZCgpOwogICAgIGJvb2wgY29udGludW91
c1NwZWxsQ2hlY2tpbmdFbmFibGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJWaWJyYXRpb25Qcm92aWRlci5oCmluZGV4IDM2MTU5ZGU4MzQyZjU2Yzc5ZTZhZjMyZDc5YzVk
NmZlZjJmM2JkNDguLjBmNGMzYWE0NWEzOTU4ODBjZDZjNGUxMzExNjliMDQ0ZjE2MzliODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92aWRlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJWaWJyYXRpb25Qcm92aWRlci5oCkBA
IC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJWaWJyYXRpb25Q
cm94eTsKIAotY2xhc3MgV2ViVmlicmF0aW9uUHJvdmlkZXIgOiBwdWJsaWMgQVBJQ2xpZW50PFdL
VmlicmF0aW9uUHJvdmlkZXIsIGtXS1ZpYnJhdGlvblByb3ZpZGVyQ3VycmVudFZlcnNpb24+IHsK
K2NsYXNzIFdlYlZpYnJhdGlvblByb3ZpZGVyIDogcHVibGljIEFQSTo6Q2xpZW50PFdLVmlicmF0
aW9uUHJvdmlkZXIsIGtXS1ZpYnJhdGlvblByb3ZpZGVyQ3VycmVudFZlcnNpb24+IHsKIHB1Ymxp
YzoKICAgICB2b2lkIHZpYnJhdGUoV2ViVmlicmF0aW9uUHJveHkqLCB1aW50MzJfdCB2aWJyYXRp
b25UaW1lKTsKICAgICB2b2lkIGNhbmNlbFZpYnJhdGlvbihXZWJWaWJyYXRpb25Qcm94eSopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJVSVBvcHVwTWVudUNs
aWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJVSVBvcHVwTWVudUNsaWVu
dC5oCmluZGV4IDI1OTMyZThiZWM3OTk3ZmZjMjlhMWE3MzA5MGJmY2UwM2YwNmY2MzIuLmYyYTU2
ZjQzNTQwZGQ5ZWRjNWMwMGY0YmYyODYzMDVkZDczNDc0ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVUlQb3B1cE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlVJUG9wdXBNZW51Q2xpZW50LmgKQEAgLTM4LDcgKzM4
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJQYWdlUHJveHk7CiBjbGFzcyBXZWJQ
b3B1cE1lbnVQcm94eTsKIAotY2xhc3MgV2ViVUlQb3B1cE1lbnVDbGllbnQgOiBwdWJsaWMgQVBJ
Q2xpZW50PFdLUGFnZVVJUG9wdXBNZW51Q2xpZW50LCBrV0tQYWdlVUlQb3B1cE1lbnVDbGllbnRD
dXJyZW50VmVyc2lvbj4geworY2xhc3MgV2ViVUlQb3B1cE1lbnVDbGllbnQgOiBwdWJsaWMgQVBJ
OjpDbGllbnQ8V0tQYWdlVUlQb3B1cE1lbnVDbGllbnQsIGtXS1BhZ2VVSVBvcHVwTWVudUNsaWVu
dEN1cnJlbnRWZXJzaW9uPiB7CiBwdWJsaWM6CiAgICAgdm9pZCBzaG93UG9wdXBNZW51KFdlYlBh
Z2VQcm94eSosIFdlYlBvcHVwTWVudVByb3h5KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIFdl
YkNvcmU6OlRleHREaXJlY3Rpb24sIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFZlY3Rv
cjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJfdCBzZWxlY3RlZEluZGV4KTsKICAgICB2b2lk
IGhpZGVQb3B1cE1lbnUoV2ViUGFnZVByb3h5Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYkZ1bGxTY3JlZW5DbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9ndGsvV2ViRnVsbFNjcmVlbkNsaWVudEd0ay5oCmluZGV4IDg2YjFkYTI4ZDE5
MGFiODhiZDE1NjhiZGI0N2M4MWZjOTZlOWUzN2UuLjBjODQ4ZmVhYmM2ZDIyMzFjZDcxOWYxN2Vi
MmUzZjlmMGY4ZTQ3YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsv
V2ViRnVsbFNjcmVlbkNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViRnVsbFNjcmVlbkNsaWVudEd0ay5oCkBAIC0zNSw3ICszNSw3IEBAIGNsYXNzIE9iamVj
dDsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNsYXNzIFdlYkZ1bGxTY3JlZW5DbGllbnRHdGsg
OiBwdWJsaWMgQVBJQ2xpZW50PFdLRnVsbFNjcmVlbkNsaWVudEd0aywga1dLRnVsbFNjcmVlbkNs
aWVudEd0a0N1cnJlbnRWZXJzaW9uPiB7CitjbGFzcyBXZWJGdWxsU2NyZWVuQ2xpZW50R3RrIDog
cHVibGljIEFQSTo6Q2xpZW50PFdLRnVsbFNjcmVlbkNsaWVudEd0aywga1dLRnVsbFNjcmVlbkNs
aWVudEd0a0N1cnJlbnRWZXJzaW9uPiB7CiBwdWJsaWM6CiAgICAgYm9vbCB3aWxsRW50ZXJGdWxs
U2NyZWVuKCk7CiAgICAgYm9vbCB3aWxsRXhpdEZ1bGxTY3JlZW4oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yQ2xpZW50R3RrLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvckNsaWVudEd0ay5oCmluZGV4IGQw
NmVhZDU1NDA1MjRhNGEyMGIzYWU4OTNhOWZmOTAwYzZjNjgzNjguLjZmZGJhYzQwZGU0MzFhODE0
MTlkMjI0ZDNjY2M2ODFmZTI0YjM1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsvV2ViSW5zcGVjdG9yQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JDbGllbnRHdGsuaApAQCAtMzksNyArMzksNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViSW5zcGVjdG9yUHJveHk7CiAKLWNsYXNzIFdlYklu
c3BlY3RvckNsaWVudEd0ayA6IHB1YmxpYyBBUElDbGllbnQ8V0tJbnNwZWN0b3JDbGllbnRHdGss
IGtXS0luc3BlY3RvckNsaWVudEd0a0N1cnJlbnRWZXJzaW9uPiB7CitjbGFzcyBXZWJJbnNwZWN0
b3JDbGllbnRHdGsgOiBwdWJsaWMgQVBJOjpDbGllbnQ8V0tJbnNwZWN0b3JDbGllbnRHdGssIGtX
S0luc3BlY3RvckNsaWVudEd0a0N1cnJlbnRWZXJzaW9uPiB7CiBwdWJsaWM6CiAgICAgYm9vbCBv
cGVuV2luZG93KFdlYkluc3BlY3RvclByb3h5Kik7CiAgICAgdm9pZCBkaWRDbG9zZShXZWJJbnNw
ZWN0b3JQcm94eSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAv
V2ViU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
c291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQuaAppbmRleCA2MGIzNDkzN2Y4ZTZiZjYz
YmIzY2UwMzdkMzRmNjU0NTRhMjg3MDI0Li42YmE4NGQxZTYwMDkzYWU3ZmFiOGE5OTI0MjNkYWIz
ZTY0N2FjNjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJT
b3VwUmVxdWVzdE1hbmFnZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
c291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQuaApAQCAtMjksNyArMjksNyBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5OwogY2xhc3Mg
V2ViVVJMOwogCi1jbGFzcyBXZWJTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQgOiBwdWJsaWMgQVBJ
Q2xpZW50PFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50LCBrV0tTb3VwUmVxdWVzdE1hbmFnZXJD
bGllbnRDdXJyZW50VmVyc2lvbj4geworY2xhc3MgV2ViU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50
IDogcHVibGljIEFQSTo6Q2xpZW50PFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50LCBrV0tTb3Vw
UmVxdWVzdE1hbmFnZXJDbGllbnRDdXJyZW50VmVyc2lvbj4gewogcHVibGljOgogICAgIGJvb2wg
ZGlkUmVjZWl2ZVVSSVJlcXVlc3QoV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkqLCBXZWJVUkwq
LCBXZWJQYWdlUHJveHkqLCB1aW50NjRfdCByZXF1ZXN0SUQpOwogICAgIHZvaWQgZGlkRmFpbFRv
TG9hZFVSSVJlcXVlc3QoV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkqLCB1aW50NjRfdCByZXF1
ZXN0SUQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218373</attachid>
            <date>2013-12-03 18:44:28 -0800</date>
            <delta_ts>2013-12-04 10:28:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125182-20131203225622.patch</filename>
            <type>text/plain</type>
            <size>50321</size>
            <attacher name="Nick Diego Yamane (diegoyam)">nick.diego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2M0MWZhNTVhNzljM2Mz
MWVhNTZjOGM5OGIzNGFkYjU1YTc5M2MwMy4uNzI4Yzc1OGE3MTZkYmM4NTY4ZjQwZTBiZmQ5YmRh
MDgxYThlODEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEzLTEyLTAzICBOaWNr
IERpZWdvIFlhbWFuZSAgPG5pY2sueWFtYW5lQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW0dU
S11bV0syXSBGaXggV2ViS2l0MiBidWlsZCBhZnRlciByMTYwMDI4CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxODIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBSZW1vdmVk
IEFQSUNsaWVudFRyYWl0cy5jcHAKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0
by4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaDogV29y
a2Fyb3VuZCBmb3Igd2hlbiBjb21waWxlciBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgIF9faGFz
X2V4dGVuc2lvbi4KKworICAgICAgICBVcGRhdGVkIHRoZSBBUEk6OkNsaWVudCBjaGlsZCBjbGFz
c2VzIHRvIHVzZSB0aGUgbmV3IHRlbXBsYXRlLWJhc2VkIGltcGxlbWVudGF0aW9uCisgICAgICAg
IG9mIEFQSTo6Q2xpZW50VHJhaXRzIGFuZCBpdHMgcmVzcGVjdGl2ZSBDIEFQSSBmaWxlcy4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0JhdHRlcnlNYW5hZ2VyLmNwcDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9XS1RleHRDaGVja2VyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tU
ZXh0Q2hlY2tlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9ndGsvV0tGdWxsU2NyZWVu
Q2xpZW50R3RrLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvZ3RrL1dLRnVsbFNjcmVl
bkNsaWVudEd0ay5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9ndGsvV0tJbnNwZWN0b3JD
bGllbnRHdGsuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9ndGsvV0tJbnNwZWN0b3JD
bGllbnRHdGsuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mvc291cC9XS1NvdXBSZXF1ZXN0
TWFuYWdlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL3NvdXAvV0tTb3VwUmVxdWVz
dE1hbmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGdWxsc2NyZWVu
Q2xpZW50LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRSZXF1ZXN0TWFu
YWdlckNsaWVudC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENo
ZWNrZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkluc3BlY3Rv
ci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3Bw
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5jcHA6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmF0
dGVyeVByb3ZpZGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYk5ldHdvcmtJbmZvUHJvdmlkZXIuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViVGV4dENoZWNrZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJU
ZXh0Q2hlY2tlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJUZXh0Q2hlY2tlckNsaWVudC5j
cHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlRleHRDaGVja2VyQ2xpZW50Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlZpYnJhdGlvblByb3ZpZGVyLmg6CisgICAgICAgICogVUlQcm9jZXNz
L2VmbC9XZWJVSVBvcHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2Vi
RnVsbFNjcmVlbkNsaWVudEd0ay5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJGdWxs
U2NyZWVuQ2xpZW50R3RrLmg6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JD
bGllbnRHdGsuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yQ2xpZW50
R3RrLmg6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHA6
CisgICAgICAgICogVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eS5j
cHA6CisgICAgICAgICogVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHku
aDoKKwogMjAxMy0xMi0wMyAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgog
CiAgICAgICAgIFBhZ2VPdmVybGF5Q2xpZW50SW1wbCBzaG91bGQgYmUgYSBwcm9wZXIgQVBJOjpD
bGllbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggZTIwYTllNWE0NDU5YTA3MjJmOWEyMDA2YjBi
ZDk5YWM3NzAwMDRiZC4uMmZmOTYyNjk0ZWU3NDhjMjMzOGI1YmU3NzljNzViMGY5OTZmOGQwZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTE4MCw3ICsxODAsNiBAQCBzZXQoV2ViS2l0Ml9TT1VS
Q0VTCiAgICAgUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAKIAogICAgIFNo
YXJlZC9BUElBcnJheS5jcHAKLSAgICBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAogICAgIFNo
YXJlZC9BUElPYmplY3QuY3BwCiAgICAgU2hhcmVkL0FjdGl2aXR5QXNzZXJ0aW9uLmNwcAogICAg
IFNoYXJlZC9DYWNoZU1vZGVsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
ZjQ0NWNlZGYxODVjZWY0ZGE5NGE2NDM3YjQyOWYxOTc1NmM4NGZjNS4uMzk4MDFhMDBhZjVhYTdk
NDA4NWMwNDVmYzA3ZTg1OTQxMDJlYzYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC0zMjUsOCArMzI1LDYgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJQXJyYXkuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQXJyYXku
aCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudC5oIFwKLQlTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcCBcCi0JU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SUNsaWVudFRyYWl0cy5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvY2Fpcm8vV0tJ
bWFnZUNhaXJvLmNwcCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL2NhaXJvL1dLSW1h
Z2VDYWlyby5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dLQmFzZUd0ay5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RlY2xhcmF0aW9u
U3BlY2lmaWVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVjbGFyYXRpb25T
cGVjaWZpZXJzLmgKaW5kZXggMDcwYzI4Yzg0YmU1ZWQxOWQ5NDM3ZGViMDMwZDA2ODVkYTU0OTZh
ZS4uYjVkOGYxM2NiYzE3NjY0NGZjZTRmNDk1OTg0NDFmOWM4Mjg3MTE2ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmgK
QEAgLTQyLDEwICs0MiwxNCBAQAogI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKICNkZWZpbmUgV0tf
SU5MSU5FIHN0YXRpYyBfX2lubGluZV9fCiAjZWxzZQotI2RlZmluZSBXS19JTkxJTkUgc3RhdGlj
ICAgIAorI2RlZmluZSBXS19JTkxJTkUgc3RhdGljCiAjZW5kaWYKICNlbmRpZiAvKiAhZGVmaW5l
ZChXS19JTkxJTkUpICovCiAKKyNpZm5kZWYgX19oYXNfZXh0ZW5zaW9uCisjZGVmaW5lIF9faGFz
X2V4dGVuc2lvbih4KSAwCisjZW5kaWYKKwogI2lmIGRlZmluZWQoX19oYXNfZXh0ZW5zaW9uKSAm
JiBfX2hhc19leHRlbnNpb24oZW51bWVyYXRvcl9hdHRyaWJ1dGVzKSAmJiBfX2hhc19leHRlbnNp
b24oYXR0cmlidXRlX3VuYXZhaWxhYmxlX3dpdGhfbWVzc2FnZSkKICNkZWZpbmUgV0tfREVQUkVD
QVRFRChtZXNzYWdlKSBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKG1lc3NhZ2UpKSkKICNlbHNl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdl
ci5jcHAKaW5kZXggNzkwNDI4MzhlYmE4ZDkzMGVlOTYwYWE2NTNiNjVjYmNmMzgwY2FiZi4uYTlh
Y2ZhMGE0Y2VlODc3ZWFhNWRiNzc2MDUxNTBhMWU3MjY1MmI4NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhdHRlcnlNYW5hZ2VyLmNwcApAQCAtNDQsNyAr
NDQsNyBAQCBXS1R5cGVJRCBXS0JhdHRlcnlNYW5hZ2VyR2V0VHlwZUlEKCkKICNlbmRpZgogfQog
Ci12b2lkIFdLQmF0dGVyeU1hbmFnZXJTZXRQcm92aWRlcihXS0JhdHRlcnlNYW5hZ2VyUmVmIGJh
dHRlcnlNYW5hZ2VyLCBjb25zdCBXS0JhdHRlcnlQcm92aWRlciogcHJvdmlkZXIpCit2b2lkIFdL
QmF0dGVyeU1hbmFnZXJTZXRQcm92aWRlcihXS0JhdHRlcnlNYW5hZ2VyUmVmIGJhdHRlcnlNYW5h
Z2VyLCBjb25zdCBXS0JhdHRlcnlQcm92aWRlckJhc2UqIHByb3ZpZGVyKQogewogI2lmIEVOQUJM
RShCQVRURVJZX1NUQVRVUykKICAgICB0b0ltcGwoYmF0dGVyeU1hbmFnZXIpLT5pbml0aWFsaXpl
UHJvdmlkZXIocHJvdmlkZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0JhdHRlcnlNYW5hZ2VyLmgKaW5kZXggNzEyY2JmYjRjYWExZWIzNTVjYTJkNWZjNGZhYjJl
MzkwNWZhNDllNS4uNzViM2VhZmVjNmMwYjMyZTc5MmJjOTMyMzI3ZmY1MmUwYWM1OTdjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmF0dGVyeU1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYXR0ZXJ5TWFuYWdlci5o
CkBAIC0zNiwxOSArMzYsMjEgQEAgZXh0ZXJuICJDIiB7CiB0eXBlZGVmIHZvaWQgKCpXS0JhdHRl
cnlQcm92aWRlclN0YXJ0VXBkYXRpbmdDYWxsYmFjaykoV0tCYXR0ZXJ5TWFuYWdlclJlZiBiYXR0
ZXJ5TWFuYWdlciwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0Jh
dHRlcnlQcm92aWRlclN0b3BVcGRhdGluZ0NhbGxiYWNrKShXS0JhdHRlcnlNYW5hZ2VyUmVmIGJh
dHRlcnlNYW5hZ2VyLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAotc3RydWN0IFdLQmF0dGVy
eVByb3ZpZGVyIHsKK3R5cGVkZWYgc3RydWN0IFdLQmF0dGVyeVByb3ZpZGVyQmFzZSB7CiAgICAg
aW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2ZXJzaW9uOwogICAgIGNvbnN0IHZvaWQgKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKK30gV0tCYXR0
ZXJ5UHJvdmlkZXJCYXNlOworCit0eXBlZGVmIHN0cnVjdCBXS0JhdHRlcnlQcm92aWRlclYwIHsK
KyAgICBXS0JhdHRlcnlQcm92aWRlckJhc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJhc2U7CisKICAgICBXS0JhdHRlcnlQcm92aWRlclN0YXJ0VXBkYXRp
bmdDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VXBkYXRpbmc7CiAg
ICAgV0tCYXR0ZXJ5UHJvdmlkZXJTdG9wVXBkYXRpbmdDYWxsYmFjayAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzdG9wVXBkYXRpbmc7Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tCYXR0ZXJ5
UHJvdmlkZXIgV0tCYXR0ZXJ5UHJvdmlkZXI7Ci0KLWVudW0geyBrV0tCYXR0ZXJ5UHJvdmlkZXJD
dXJyZW50VmVyc2lvbiA9IDAgfTsKK30gV0tCYXR0ZXJ5UHJvdmlkZXJWMDsKIAogV0tfRVhQT1JU
IFdLVHlwZUlEIFdLQmF0dGVyeU1hbmFnZXJHZXRUeXBlSUQoKTsKIAotV0tfRVhQT1JUIHZvaWQg
V0tCYXR0ZXJ5TWFuYWdlclNldFByb3ZpZGVyKFdLQmF0dGVyeU1hbmFnZXJSZWYgYmF0dGVyeU1h
bmFnZXIsIGNvbnN0IFdLQmF0dGVyeVByb3ZpZGVyKiBwcm92aWRlcik7CitXS19FWFBPUlQgdm9p
ZCBXS0JhdHRlcnlNYW5hZ2VyU2V0UHJvdmlkZXIoV0tCYXR0ZXJ5TWFuYWdlclJlZiBiYXR0ZXJ5
TWFuYWdlciwgY29uc3QgV0tCYXR0ZXJ5UHJvdmlkZXJCYXNlKiBwcm92aWRlcik7CiAKIFdLX0VY
UE9SVCB2b2lkIFdLQmF0dGVyeU1hbmFnZXJQcm92aWRlckRpZENoYW5nZUJhdHRlcnlTdGF0dXMo
V0tCYXR0ZXJ5TWFuYWdlclJlZiBiYXR0ZXJ5TWFuYWdlciwgV0tTdHJpbmdSZWYgZXZlbnRUeXBl
LCBXS0JhdHRlcnlTdGF0dXNSZWYgc3RhdHVzKTsKIFdLX0VYUE9SVCB2b2lkIFdLQmF0dGVyeU1h
bmFnZXJQcm92aWRlclVwZGF0ZUJhdHRlcnlTdGF0dXMoV0tCYXR0ZXJ5TWFuYWdlclJlZiBiYXR0
ZXJ5TWFuYWdlciwgV0tCYXR0ZXJ5U3RhdHVzUmVmIHN0YXR1cyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hlY2tlci5jcHAKaW5kZXggMzMyOWRhMmU2ZWFk
ZWJjOTg3OGEzYzFmNjA5NTFkOTlkMWM0MDViMi4uMmRhOTRkZmMyMDAzOWJmMDE4NzEzYmE1YWRh
YzA2MzM1N2RkMDdmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLVGV4dENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1RleHRDaGVja2VyLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogCi12b2lkIFdLVGV4dENoZWNrZXJTZXRDbGllbnQoY29uc3QgV0tUZXh0Q2hlY2tlckNs
aWVudCogd2tDbGllbnQpCit2b2lkIFdLVGV4dENoZWNrZXJTZXRDbGllbnQoY29uc3QgV0tUZXh0
Q2hlY2tlckNsaWVudEJhc2UqIHdrQ2xpZW50KQogewogICAgIGlmICh3a0NsaWVudCAmJiB3a0Ns
aWVudC0+dmVyc2lvbikKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNrZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS1RleHRDaGVja2VyLmgKaW5kZXggNmEwNWVkOThhZDA3M2MwNGJmNGUyYmQz
ODc3YzhiMzVmOTYwZjg2My4uYWY3MmM3NWI3ZGYzMjFjOTQxOTA1NTMxNjQ1MGRjZjRhYjBiNzk4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLVGV4dENoZWNr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tUZXh0Q2hlY2tlci5o
CkBAIC01MCw5ICs1MCwxNCBAQCB0eXBlZGVmIFdLQXJyYXlSZWYgKCpXS1RleHRDaGVja2VyR3Vl
c3Nlc0ZvcldvcmQpKHVpbnQ2NF90IHRhZywgV0tTdHJpbmdSZWYgd29yZAogdHlwZWRlZiB2b2lk
ICgqV0tUZXh0Q2hlY2tlckxlYXJuV29yZCkodWludDY0X3QgdGFnLCBXS1N0cmluZ1JlZiB3b3Jk
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLVGV4dENoZWNrZXJJ
Z25vcmVXb3JkKSh1aW50NjRfdCB0YWcsIFdLU3RyaW5nUmVmIHdvcmQsIGNvbnN0IHZvaWQgKmNs
aWVudEluZm8pOwogCi1zdHJ1Y3QgV0tUZXh0Q2hlY2tlckNsaWVudCB7Cit0eXBlZGVmIHN0cnVj
dCBXS1RleHRDaGVja2VyQ2xpZW50QmFzZSB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsK
ICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworfSBXS1RleHRDaGVja2VyQ2xpZW50QmFz
ZTsKKwordHlwZWRlZiBzdHJ1Y3QgV0tUZXh0Q2hlY2tlckNsaWVudFYwIHsKKyAgICBXS1RleHRD
aGVja2VyQ2xpZW50QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBiYXNlOworCiAgICAgV0tUZXh0Q2hlY2tlckNvbnRpbm91c1NwZWxsQ2hlY2tpbmdB
bGxvd2VkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludW91c1NwZWxsQ2hlY2tp
bmdBbGxvd2VkOwogICAgIFdLVGV4dENoZWNrZXJDb250aW5vdXNTcGVsbENoZWNraW5nRW5hYmxl
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5h
YmxlZDsKICAgICBXS1RleHRDaGVja2VyU2V0Q29udGlub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWQ7CkBAIC02OSwxMiArNzQsOSBAQCBzdHJ1Y3QgV0tUZXh0Q2hlY2tlckNsaWVudCB7CiAgICAg
V0tUZXh0Q2hlY2tlckd1ZXNzZXNGb3JXb3JkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ3Vlc3Nlc0ZvcldvcmQ7CiAgICAgV0tUZXh0Q2hlY2tlckxlYXJuV29y
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhcm5X
b3JkOwogICAgIFdLVGV4dENoZWNrZXJJZ25vcmVXb3JkICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZVdvcmQ7Ci19OwotdHlwZWRlZiBzdHJ1Y3Qg
V0tUZXh0Q2hlY2tlckNsaWVudCBXS1RleHRDaGVja2VyQ2xpZW50OwotCi1lbnVtIHsga1dLVGV4
dENoZWNrZXJDbGllbnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK30gV0tUZXh0Q2hlY2tlckNsaWVu
dFYwOwogCi1XS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2VyU2V0Q2xpZW50KGNvbnN0IFdLVGV4
dENoZWNrZXJDbGllbnQqIGNsaWVudCk7CitXS19FWFBPUlQgdm9pZCBXS1RleHRDaGVja2VyU2V0
Q2xpZW50KGNvbnN0IFdLVGV4dENoZWNrZXJDbGllbnRCYXNlKiBjbGllbnQpOwogCiBXS19FWFBP
UlQgdm9pZCBXS1RleHRDaGVja2VyQ29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkU3RhdGVD
aGFuZ2VkKGJvb2wpOwogV0tfRVhQT1JUIHZvaWQgV0tUZXh0Q2hlY2tlckdyYW1tYXJDaGVja2lu
Z0VuYWJsZWRTdGF0ZUNoYW5nZWQoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvZ3RrL1dLRnVsbFNjcmVlbkNsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLRnVsbFNjcmVlbkNsaWVudEd0ay5jcHAKaW5kZXgg
MmIyOWEyYjc2ZDk0ZGNhZmYzNmZkZmNmZDhlOTgwYjM2YzYzMzkzNi4uY2ZjYTY4Njk0ZWUzNTA2
NzQ0N2Q0OGU2YWMyY2IzMGE2MmI4NDRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL2d0ay9XS0Z1bGxTY3JlZW5DbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tGdWxsU2NyZWVuQ2xpZW50R3RrLmNwcApAQCAt
MzEsNyArMzEsNyBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCi12b2lkIFdLVmlld1Nl
dEZ1bGxTY3JlZW5DbGllbnRHdGsoV0tWaWV3UmVmIHZpZXdSZWYsIGNvbnN0IFdLRnVsbFNjcmVl
bkNsaWVudEd0ayogd2tDbGllbnQpCit2b2lkIFdLVmlld1NldEZ1bGxTY3JlZW5DbGllbnRHdGso
V0tWaWV3UmVmIHZpZXdSZWYsIGNvbnN0IFdLRnVsbFNjcmVlbkNsaWVudEd0a0Jhc2UqIHdrQ2xp
ZW50KQogewogICAgIHdlYmtpdFdlYlZpZXdCYXNlSW5pdGlhbGl6ZUZ1bGxTY3JlZW5DbGllbnQo
dG9JbXBsKHZpZXdSZWYpLCB3a0NsaWVudCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLRnVsbFNjcmVlbkNsaWVudEd0ay5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS0Z1bGxTY3JlZW5DbGllbnRHdGsuaAppbmRleCBh
OGM5MjE2NmIxOGFlMzZkZjI5NDJiN2I2ZGM0MzhlOWJjOGRiOWEyLi5hMjkyZGRhMTFhNmEyZWQ4
ZTRkODNmNWEwMjdmZTU3N2QwYTM2YTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvZ3RrL1dLRnVsbFNjcmVlbkNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tGdWxsU2NyZWVuQ2xpZW50R3RrLmgKQEAgLTM1LDE3
ICszNSwxOSBAQCBleHRlcm4gIkMiIHsKIHR5cGVkZWYgYm9vbCAoKldLRnVsbFNjcmVlbkNsaWVu
dEd0a1dpbGxFbnRlckZ1bGxTY3JlZW5DYWxsYmFjaykoY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
CiB0eXBlZGVmIGJvb2wgKCpXS0Z1bGxTY3JlZW5DbGllbnRHdGtXaWxsRXhpdEZ1bGxTY3JlZW5D
YWxsYmFjaykoY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKLXN0cnVjdCBXS0Z1bGxTY3JlZW5D
bGllbnRHdGsgewordHlwZWRlZiBzdHJ1Y3QgV0tGdWxsU2NyZWVuQ2xpZW50R3RrQmFzZSB7CiAg
ICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNp
b247CiAgICAgY29uc3Qgdm9pZCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNsaWVudEluZm87Cit9IFdLRnVsbFNjcmVlbkNsaWVudEd0a0Jhc2U7CisKK3R5cGVkZWYgc3Ry
dWN0IFdLRnVsbFNjcmVlbkNsaWVudEd0a1YwIHsKKyAgICBXS0Z1bGxTY3JlZW5DbGllbnRHdGtC
YXNlICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTsKKwogICAgIFdLRnVsbFNjcmVlbkNsaWVu
dEd0a1dpbGxFbnRlckZ1bGxTY3JlZW5DYWxsYmFjayB3aWxsRW50ZXJGdWxsU2NyZWVuOwogICAg
IFdLRnVsbFNjcmVlbkNsaWVudEd0a1dpbGxFeGl0RnVsbFNjcmVlbkNhbGxiYWNrICB3aWxsRXhp
dEZ1bGxTY3JlZW47Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tGdWxsU2NyZWVuQ2xpZW50R3RrIFdL
RnVsbFNjcmVlbkNsaWVudEd0azsKLQotZW51bSB7IGtXS0Z1bGxTY3JlZW5DbGllbnRHdGtDdXJy
ZW50VmVyc2lvbiA9IDAgfTsKK30gV0tGdWxsU2NyZWVuQ2xpZW50R3RrVjA7CiAKLVdLX0VYUE9S
VCB2b2lkIFdLVmlld1NldEZ1bGxTY3JlZW5DbGllbnRHdGsoV0tWaWV3UmVmIHZpZXdSZWYsIGNv
bnN0IFdLRnVsbFNjcmVlbkNsaWVudEd0ayogY2xpZW50KTsKK1dLX0VYUE9SVCB2b2lkIFdLVmll
d1NldEZ1bGxTY3JlZW5DbGllbnRHdGsoV0tWaWV3UmVmIHZpZXdSZWYsIGNvbnN0IFdLRnVsbFNj
cmVlbkNsaWVudEd0a0Jhc2UqIGNsaWVudCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS0luc3BlY3RvckNs
aWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLSW5zcGVj
dG9yQ2xpZW50R3RrLmNwcAppbmRleCBjOWQ3NzdjNGQ1NjVkMDUwNzUwNWUyYTA3YTRmOTY0MGY2
ZTNjYmU1Li5kOTUyMzk0MDZiM2I4N2JlMzZiZDZlYmUyMDIyYTE1ZjExMjQ3ZjI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLSW5zcGVjdG9yQ2xpZW50
R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLSW5zcGVj
dG9yQ2xpZW50R3RrLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwogCi12b2lkIFdLSW5zcGVjdG9yU2V0SW5zcGVjdG9yQ2xpZW50R3RrKFdLSW5zcGVjdG9y
UmVmIGluc3BlY3RvclJlZiwgY29uc3QgV0tJbnNwZWN0b3JDbGllbnRHdGsqIHdrQ2xpZW50KQor
dm9pZCBXS0luc3BlY3RvclNldEluc3BlY3RvckNsaWVudEd0ayhXS0luc3BlY3RvclJlZiBpbnNw
ZWN0b3JSZWYsIGNvbnN0IFdLSW5zcGVjdG9yQ2xpZW50R3RrQmFzZSogd2tDbGllbnQpCiB7CiAg
ICAgdG9JbXBsKGluc3BlY3RvclJlZiktPmluaXRpYWxpemVJbnNwZWN0b3JDbGllbnRHdGsod2tD
bGllbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0
ay9XS0luc3BlY3RvckNsaWVudEd0ay5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L2d0ay9XS0luc3BlY3RvckNsaWVudEd0ay5oCmluZGV4IDg2NWUxOWFlMzM2MmM5OWMyZmY0YTEw
M2E3ODgzNmIyOWZiOTM3NTIuLjljY2FlZmRiMTBmMjBkNjMwMDJhNjFmZjNkZGVjNzFkYTAzNGU4
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tJbnNw
ZWN0b3JDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3Rr
L1dLSW5zcGVjdG9yQ2xpZW50R3RrLmgKQEAgLTM3LDkgKzM3LDE0IEBAIHR5cGVkZWYgdm9pZCAo
KldLSW5zcGVjdG9yQ2xpZW50R3RrSW5zcGVjdG9yRGlkQ2xvc2VDYWxsYmFjaykoV0tJbnNwZWN0
b3JSZWYgaW5zCiB0eXBlZGVmIHZvaWQgKCpXS0luc3BlY3RvckNsaWVudEd0a0luc3BlY3RlZFVS
TENoYW5nZWRDYWxsYmFjaykoV0tJbnNwZWN0b3JSZWYgaW5zcGVjdG9yLCBXS1N0cmluZ1JlZiB1
cmwsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tJbnNwZWN0b3JD
bGllbnRHdGtEaWRDaGFuZ2VBdHRhY2hlZEhlaWdodENhbGxiYWNrKShXS0luc3BlY3RvclJlZiBp
bnNwZWN0b3IsIHVuc2lnbmVkIGhlaWdodCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKLXN0
cnVjdCBXS0luc3BlY3RvckNsaWVudEd0ayB7Cit0eXBlZGVmIHN0cnVjdCBXS0luc3BlY3RvckNs
aWVudEd0a0Jhc2UgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB2ZXJzaW9uOwogICAgIGNvbnN0IHZvaWQqICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJbmZvOworfSBXS0luc3BlY3RvckNsaWVudEd0
a0Jhc2U7CisKK3R5cGVkZWYgc3RydWN0IFdLSW5zcGVjdG9yQ2xpZW50R3RrVjAgeworICAgIFdL
SW5zcGVjdG9yQ2xpZW50R3RrQmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOwor
CiAgICAgV0tJbnNwZWN0b3JDbGllbnRHdGtJbnNwZWN0b3JDYWxsYmFjayAgICAgICAgICAgICAg
IG9wZW5XaW5kb3c7CiAgICAgV0tJbnNwZWN0b3JDbGllbnRHdGtJbnNwZWN0b3JEaWRDbG9zZUNh
bGxiYWNrICAgICAgIGRpZENsb3NlOwogICAgIFdLSW5zcGVjdG9yQ2xpZW50R3RrSW5zcGVjdG9y
Q2FsbGJhY2sgICAgICAgICAgICAgICBicmluZ1RvRnJvbnQ7CkBAIC00NywxMiArNTIsOSBAQCBz
dHJ1Y3QgV0tJbnNwZWN0b3JDbGllbnRHdGsgewogICAgIFdLSW5zcGVjdG9yQ2xpZW50R3RrSW5z
cGVjdG9yQ2FsbGJhY2sgICAgICAgICAgICAgICBhdHRhY2g7CiAgICAgV0tJbnNwZWN0b3JDbGll
bnRHdGtJbnNwZWN0b3JDYWxsYmFjayAgICAgICAgICAgICAgIGRldGFjaDsKICAgICBXS0luc3Bl
Y3RvckNsaWVudEd0a0RpZENoYW5nZUF0dGFjaGVkSGVpZ2h0Q2FsbGJhY2sgZGlkQ2hhbmdlQXR0
YWNoZWRIZWlnaHQ7Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tJbnNwZWN0b3JDbGllbnRHdGsgV0tJ
bnNwZWN0b3JDbGllbnRHdGs7Ci0KLWVudW0geyBrV0tJbnNwZWN0b3JDbGllbnRHdGtDdXJyZW50
VmVyc2lvbiA9IDAgfTsKK30gV0tJbnNwZWN0b3JDbGllbnRHdGtWMDsKIAotV0tfRVhQT1JUIHZv
aWQgV0tJbnNwZWN0b3JTZXRJbnNwZWN0b3JDbGllbnRHdGsoV0tJbnNwZWN0b3JSZWYgaW5zcGVj
dG9yUmVmLCBjb25zdCBXS0luc3BlY3RvckNsaWVudEd0ayogY2xpZW50KTsKK1dLX0VYUE9SVCB2
b2lkIFdLSW5zcGVjdG9yU2V0SW5zcGVjdG9yQ2xpZW50R3RrKFdLSW5zcGVjdG9yUmVmIGluc3Bl
Y3RvclJlZiwgY29uc3QgV0tJbnNwZWN0b3JDbGllbnRHdGtCYXNlKiBjbGllbnQpOwogCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9zb3VwL1dLU291cFJlcXVlc3RNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9zb3VwL1dLU291cFJlcXVlc3RNYW5hZ2VyLmNwcAppbmRleCAxY2JmNzY1NTQ4
YTA3ZDdjOTBjOTBhMzQ3YjVjMmNjY2U3YWQxOGFkLi5lY2ZmMjhjODVkMWU3YTdmMmQxYjcyNzdi
ZWNkMjRmNGRiY2IzM2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0Mvc291cC9XS1NvdXBSZXF1ZXN0TWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL3NvdXAvV0tTb3VwUmVxdWVzdE1hbmFnZXIuY3BwCkBAIC0zNiw3ICszNiw3
IEBAIFdLVHlwZUlEIFdLU291cFJlcXVlc3RNYW5hZ2VyR2V0VHlwZUlEKCkKICAgICByZXR1cm4g
dG9BUEkoV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6OkFQSVR5cGUpOwogfQogCi12b2lkIFdL
U291cFJlcXVlc3RNYW5hZ2VyU2V0Q2xpZW50KFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmIHNvdXBS
ZXF1ZXN0TWFuYWdlclJlZiwgY29uc3QgV0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQqIHdrQ2xp
ZW50KQordm9pZCBXS1NvdXBSZXF1ZXN0TWFuYWdlclNldENsaWVudChXS1NvdXBSZXF1ZXN0TWFu
YWdlclJlZiBzb3VwUmVxdWVzdE1hbmFnZXJSZWYsIGNvbnN0IFdLU291cFJlcXVlc3RNYW5hZ2Vy
Q2xpZW50QmFzZSogd2tDbGllbnQpCiB7CiAgICAgdG9JbXBsKHNvdXBSZXF1ZXN0TWFuYWdlclJl
ZiktPmluaXRpYWxpemVDbGllbnQod2tDbGllbnQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL3NvdXAvV0tTb3VwUmVxdWVzdE1hbmFnZXIuaCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9zb3VwL1dLU291cFJlcXVlc3RNYW5hZ2VyLmgKaW5k
ZXggNjg5MmRlNGJmNmFlYjRjNDlhNTZmNGRlZGRmNTRhYzU5ZDY2YjY3Ny4uYmU4YzBiNWJlOWM3
ZTM2ZTA5ZjkwYjM5ODY2ZDFmZjU5ZTZiMGEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL3NvdXAvV0tTb3VwUmVxdWVzdE1hbmFnZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mvc291cC9XS1NvdXBSZXF1ZXN0TWFuYWdlci5oCkBAIC0z
NSwxOSArMzUsMjEgQEAgZXh0ZXJuICJDIiB7CiB0eXBlZGVmIHZvaWQgKCpXS1NvdXBSZXF1ZXN0
TWFuYWdlckRpZFJlY2VpdmVVUklSZXF1ZXN0Q2FsbGJhY2spKFdLU291cFJlcXVlc3RNYW5hZ2Vy
UmVmIHNvdXBSZXF1ZXN0TWFuYWdlclJlZiwgV0tVUkxSZWYgdXJsUmVmLCBXS1BhZ2VSZWYgcGFn
ZVJlZiwgdWludDY0X3QgcmVxdWVzdElELCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVk
ZWYgdm9pZCAoKldLU291cFJlcXVlc3RNYW5hZ2VyRGlkRmFpbFRvTG9hZFVSSVJlcXVlc3RDYWxs
YmFjaykoV0tTb3VwUmVxdWVzdE1hbmFnZXJSZWYgc291cFJlcXVlc3RNYW5hZ2VyUmVmLCB1aW50
NjRfdCByZXF1ZXN0SUQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCi1zdHJ1Y3QgV0tTb3Vw
UmVxdWVzdE1hbmFnZXJDbGllbnQgewordHlwZWRlZiBzdHJ1Y3QgV0tTb3VwUmVxdWVzdE1hbmFn
ZXJDbGllbnRCYXNlIHsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVyc2lvbjsKICAgICBjb25zdCB2b2lkKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SW5mbzsKK30gV0tTb3VwUmVxdWVzdE1hbmFn
ZXJDbGllbnRCYXNlOworCit0eXBlZGVmIHN0cnVjdCBXS1NvdXBSZXF1ZXN0TWFuYWdlckNsaWVu
dFYwIHsKKyAgICBXS1NvdXBSZXF1ZXN0TWFuYWdlckNsaWVudEJhc2UgICAgICAgICAgICAgICAg
ICAgICAgYmFzZTsKKwogICAgIFdLU291cFJlcXVlc3RNYW5hZ2VyRGlkUmVjZWl2ZVVSSVJlcXVl
c3RDYWxsYmFjayAgICBkaWRSZWNlaXZlVVJJUmVxdWVzdDsKICAgICBXS1NvdXBSZXF1ZXN0TWFu
YWdlckRpZEZhaWxUb0xvYWRVUklSZXF1ZXN0Q2FsbGJhY2sgZGlkRmFpbFRvTG9hZFVSSVJlcXVl
c3Q7Ci19OwotdHlwZWRlZiBzdHJ1Y3QgV0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQgV0tTb3Vw
UmVxdWVzdE1hbmFnZXJDbGllbnQ7Ci0KLWVudW0geyBrV0tTb3VwUmVxdWVzdE1hbmFnZXJDbGll
bnRDdXJyZW50VmVyc2lvbiA9IDAgfTsKK30gV0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnRWMDsK
IAogV0tfRVhQT1JUIFdLVHlwZUlEIFdLU291cFJlcXVlc3RNYW5hZ2VyR2V0VHlwZUlEKCk7CiAK
LVdLX0VYUE9SVCB2b2lkIFdLU291cFJlcXVlc3RNYW5hZ2VyU2V0Q2xpZW50KFdLU291cFJlcXVl
c3RNYW5hZ2VyUmVmLCBjb25zdCBXS1NvdXBSZXF1ZXN0TWFuYWdlckNsaWVudCogY2xpZW50KTsK
K1dLX0VYUE9SVCB2b2lkIFdLU291cFJlcXVlc3RNYW5hZ2VyU2V0Q2xpZW50KFdLU291cFJlcXVl
c3RNYW5hZ2VyUmVmLCBjb25zdCBXS1NvdXBSZXF1ZXN0TWFuYWdlckNsaWVudEJhc2UqIGNsaWVu
dCk7CiBXS19FWFBPUlQgdm9pZCBXS1NvdXBSZXF1ZXN0TWFuYWdlclJlZ2lzdGVyVVJJU2NoZW1l
KFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmLCBXS1N0cmluZ1JlZiBzY2hlbWVSZWYpOwogV0tfRVhQ
T1JUIHZvaWQgV0tTb3VwUmVxdWVzdE1hbmFnZXJEaWRIYW5kbGVVUklSZXF1ZXN0KFdLU291cFJl
cXVlc3RNYW5hZ2VyUmVmLCBXS0RhdGFSZWYsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIFdLU3Ry
aW5nUmVmIG1pbWVUeXBlUmVmLCB1aW50NjRfdCByZXF1ZXN0SUQpOwogV0tfRVhQT1JUIHZvaWQg
V0tTb3VwUmVxdWVzdE1hbmFnZXJEaWRSZWNlaXZlVVJJUmVxdWVzdERhdGEoV0tTb3VwUmVxdWVz
dE1hbmFnZXJSZWYsIFdLRGF0YVJlZiwgdWludDY0X3QgcmVxdWVzdElEKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZ1bGxzY3JlZW5DbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RnVsbHNjcmVlbkNs
aWVudC5jcHAKaW5kZXggNzViNTFlMjVkMmRkYjlhZGFhNThhYmJjOTMxYWUxM2Q2MDViMmMyZi4u
ZTBkYjk4ZWY1MDUwZGVjNTUzZWViNjYxNzMwYmYzZWZjYjE5NjZhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RnVsbHNjcmVlbkNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RnVsbHNjcmVlbkNs
aWVudC5jcHAKQEAgLTM3LDEyICszNywxNCBAQCBzdGF0aWMgYm9vbCB3aWxsRXhpdEZ1bGxTY3Jl
ZW4oY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIAogdm9pZCBhdHRhY2hGdWxsU2NyZWVuQ2xpZW50
VG9WaWV3KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcpCiB7Ci0gICAgV0tGdWxsU2NyZWVuQ2xpZW50
R3RrIHdrRnVsbFNjcmVlbkNsaWVudCA9IHsKLSAgICAgICAga1dLRnVsbFNjcmVlbkNsaWVudEd0
a0N1cnJlbnRWZXJzaW9uLAotICAgICAgICB3ZWJWaWV3LCAvLyBjbGllbnRJbmZvCisgICAgV0tG
dWxsU2NyZWVuQ2xpZW50R3RrVjAgd2tGdWxsU2NyZWVuQ2xpZW50ID0geworICAgICAgICB7Cisg
ICAgICAgICAgICAwLCAvLyB2ZXJzaW9uCisgICAgICAgICAgICB3ZWJWaWV3LCAvLyBjbGllbnRJ
bmZvCisgICAgICAgIH0sCiAgICAgICAgIHdpbGxFbnRlckZ1bGxTY3JlZW4sCiAgICAgICAgIHdp
bGxFeGl0RnVsbFNjcmVlbgogICAgIH07Ci0gICAgV0tWaWV3U2V0RnVsbFNjcmVlbkNsaWVudEd0
ayh0b0FQSShXRUJLSVRfV0VCX1ZJRVdfQkFTRSh3ZWJWaWV3KSksICZ3a0Z1bGxTY3JlZW5DbGll
bnQpOworICAgIFdLVmlld1NldEZ1bGxTY3JlZW5DbGllbnRHdGsodG9BUEkoV0VCS0lUX1dFQl9W
SUVXX0JBU0Uod2ViVmlldykpLCByZWludGVycHJldF9jYXN0PFdLRnVsbFNjcmVlbkNsaWVudEd0
a0Jhc2UqPigmd2tGdWxsU2NyZWVuQ2xpZW50KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFJlcXVlc3RNYW5hZ2VyQ2xp
ZW50LmNwcAppbmRleCAzYmIyNDM0Y2U4ZjIxZTM5NGMzZTJlZWYwZmI4Mjc2ZmEwYTdkZTNkLi44
MWEwNzc3MWIxOGRkNTI4ZTEyOWI2Y2MyMGU3OWEwYzc5NjhmNzlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRSZXF1ZXN0TWFuYWdlckNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UmVxdWVzdE1h
bmFnZXJDbGllbnQuY3BwCkBAIC00MCwxMiArNDAsMTQgQEAgc3RhdGljIHZvaWQgZGlkRmFpbFRv
TG9hZFVSSVJlcXVlc3QoV0tTb3VwUmVxdWVzdE1hbmFnZXJSZWYsIHVpbnQ2NF90IHJlcXVlc3RJ
RCwKIAogdm9pZCBhdHRhY2hSZXF1ZXN0TWFuYWdlckNsaWVudFRvQ29udGV4dChXZWJLaXRXZWJD
b250ZXh0KiB3ZWJDb250ZXh0KQogewotICAgIFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50IHdr
UmVxdWVzdE1hbmFnZXJDbGllbnQgPSB7Ci0gICAgICAgIGtXS1NvdXBSZXF1ZXN0TWFuYWdlckNs
aWVudEN1cnJlbnRWZXJzaW9uLAotICAgICAgICB3ZWJDb250ZXh0LCAvLyBjbGllbnRJbmZvCisg
ICAgV0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnRWMCB3a1JlcXVlc3RNYW5hZ2VyQ2xpZW50ID0g
eworICAgICAgICB7CisgICAgICAgICAgICAwLCAvLyB2ZXJzaW9uCisgICAgICAgICAgICB3ZWJD
b250ZXh0IC8vIGNsaWVudEluZm8KKyAgICAgICAgfSwKICAgICAgICAgZGlkUmVjZWl2ZVVSSVJl
cXVlc3QsCiAgICAgICAgIGRpZEZhaWxUb0xvYWRVUklSZXF1ZXN0CiAgICAgfTsKLSAgICBXS1Nv
dXBSZXF1ZXN0TWFuYWdlclNldENsaWVudCh0b0FQSSh3ZWJraXRXZWJDb250ZXh0R2V0UmVxdWVz
dE1hbmFnZXIod2ViQ29udGV4dCkpLCAmd2tSZXF1ZXN0TWFuYWdlckNsaWVudCk7CisgICAgV0tT
b3VwUmVxdWVzdE1hbmFnZXJTZXRDbGllbnQodG9BUEkod2Via2l0V2ViQ29udGV4dEdldFJlcXVl
c3RNYW5hZ2VyKHdlYkNvbnRleHQpKSwgcmVpbnRlcnByZXRfY2FzdDxXS1NvdXBSZXF1ZXN0TWFu
YWdlckNsaWVudEJhc2UqPigmd2tSZXF1ZXN0TWFuYWdlckNsaWVudCkpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRUZXh0Q2hlY2tlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRUZXh0Q2hlY2tlci5j
cHAKaW5kZXggODllNzQ2ZDQ3ZTVmYzY1ZTFlNzQ4NGNkMGM2YTA1MjJhYzA4NDY0My4uMjY3YmZk
ZWI1M2JjMzQ2ZDM1M2ZiZjkyZDQyZGMwM2Y3MzVlZjhmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFRleHRDaGVja2VyLmNwcApAQCAtODUs
OSArODUsMTEgQEAgV2ViS2l0VGV4dENoZWNrZXI6OldlYktpdFRleHRDaGVja2VyKCkKICAgICA6
IG1fdGV4dENoZWNrZXIoV2ViQ29yZTo6VGV4dENoZWNrZXJFbmNoYW50OjpjcmVhdGUoKSkKICAg
ICAsIG1fc3BlbGxDaGVja2luZ0VuYWJsZWQoZmFsc2UpCiB7Ci0gICAgV0tUZXh0Q2hlY2tlckNs
aWVudCB3a1RleHRDaGVja2VyQ2xpZW50ID0gewotICAgICAgICBrV0tUZXh0Q2hlY2tlckNsaWVu
dEN1cnJlbnRWZXJzaW9uLAotICAgICAgICB0aGlzLCAvLyBjbGllbnRJbmZvCisgICAgV0tUZXh0
Q2hlY2tlckNsaWVudFYwIHdrVGV4dENoZWNrZXJDbGllbnQgPSB7CisgICAgICAgIHsKKyAgICAg
ICAgICAgIDAsIC8vIHZlcnNpb24KKyAgICAgICAgICAgIHRoaXMsIC8vIGNsaWVudEluZm8KKyAg
ICAgICAgfSwKICAgICAgICAgMCwgLy8gY29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkCiAg
ICAgICAgIGNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZENhbGxiYWNrLAogICAgICAgICBz
ZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjaywKQEAgLTEwNSw3ICsxMDcs
NyBAQCBXZWJLaXRUZXh0Q2hlY2tlcjo6V2ViS2l0VGV4dENoZWNrZXIoKQogICAgICAgICBsZWFy
bldvcmRDYWxsYmFjaywKICAgICAgICAgaWdub3JlV29yZENhbGxiYWNrLAogICAgIH07Ci0gICAg
V0tUZXh0Q2hlY2tlclNldENsaWVudCgmd2tUZXh0Q2hlY2tlckNsaWVudCk7CisgICAgV0tUZXh0
Q2hlY2tlclNldENsaWVudChyZWludGVycHJldF9jYXN0PFdLVGV4dENoZWNrZXJDbGllbnRCYXNl
Kj4oJndrVGV4dENoZWNrZXJDbGllbnQpKTsKIH0KIAogdm9pZCBXZWJLaXRUZXh0Q2hlY2tlcjo6
Y2hlY2tTcGVsbGluZ09mU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIG1pc3NwZWxs
aW5nTG9jYXRpb24sIGludCYgbWlzc3BlbGxpbmdMZW5ndGgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJJbnNwZWN0b3IuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViSW5zcGVjdG9yLmNwcAppbmRleCAz
ODM5YWQzZTIzZWZmNTQ2NTZkMWQxOTI3MzVlMmNlZGNlZWRmMDViLi5iYmFiYWNhZWUxZDg5MmIz
ZWM2ZWFkOTQxMTliZmZlY2YyMzQwMjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkluc3BlY3Rvci5jcHAKQEAgLTMxNiw5ICszMTYs
MTEgQEAgV2ViS2l0V2ViSW5zcGVjdG9yKiB3ZWJraXRXZWJJbnNwZWN0b3JDcmVhdGUoV2ViSW5z
cGVjdG9yUHJveHkqIHdlYkluc3BlY3RvcikKICAgICBXZWJLaXRXZWJJbnNwZWN0b3IqIGluc3Bl
Y3RvciA9IFdFQktJVF9XRUJfSU5TUEVDVE9SKGdfb2JqZWN0X25ldyhXRUJLSVRfVFlQRV9XRUJf
SU5TUEVDVE9SLCBOVUxMKSk7CiAgICAgaW5zcGVjdG9yLT5wcml2LT53ZWJJbnNwZWN0b3IgPSB3
ZWJJbnNwZWN0b3I7CiAKLSAgICBXS0luc3BlY3RvckNsaWVudEd0ayB3a0luc3BlY3RvckNsaWVu
dEd0ayA9IHsKLSAgICAgICAga1dLSW5zcGVjdG9yQ2xpZW50R3RrQ3VycmVudFZlcnNpb24sCi0g
ICAgICAgIGluc3BlY3RvciwgLy8gY2xpZW50SW5mbworICAgIFdLSW5zcGVjdG9yQ2xpZW50R3Rr
VjAgd2tJbnNwZWN0b3JDbGllbnRHdGsgPSB7CisgICAgICAgIHsKKyAgICAgICAgICAgIDAsIC8v
IHZlcnNpb24KKyAgICAgICAgICAgIGluc3BlY3RvciwgLy8gY2xpZW50SW5mbworICAgICAgICB9
LAogICAgICAgICBvcGVuV2luZG93LAogICAgICAgICBkaWRDbG9zZSwKICAgICAgICAgYnJpbmdU
b0Zyb250LApAQCAtMzI3LDcgKzMyOSw3IEBAIFdlYktpdFdlYkluc3BlY3Rvciogd2Via2l0V2Vi
SW5zcGVjdG9yQ3JlYXRlKFdlYkluc3BlY3RvclByb3h5KiB3ZWJJbnNwZWN0b3IpCiAgICAgICAg
IGRldGFjaCwKICAgICAgICAgZGlkQ2hhbmdlQXR0YWNoZWRIZWlnaHQKICAgICB9OwotICAgIFdL
SW5zcGVjdG9yU2V0SW5zcGVjdG9yQ2xpZW50R3RrKHRvQVBJKHdlYkluc3BlY3RvciksICZ3a0lu
c3BlY3RvckNsaWVudEd0ayk7CisgICAgV0tJbnNwZWN0b3JTZXRJbnNwZWN0b3JDbGllbnRHdGso
dG9BUEkod2ViSW5zcGVjdG9yKSwgcmVpbnRlcnByZXRfY2FzdDxXS0luc3BlY3RvckNsaWVudEd0
a0Jhc2UqPigmd2tJbnNwZWN0b3JDbGllbnRHdGspKTsKIAogICAgIHJldHVybiBpbnNwZWN0b3I7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3QmFzZS5jcHAKaW5kZXggMzk0YzAwNWYxMmM4ZjE2ZDQzYzJmN2Y5MjAzMDBmMGNkODQ0
M2VlMC4uNzVmNTc5NmMzNTg5ODA5MWZhMDc3NTE3MjY3MzA5YTRmZjU5ODNkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcApAQCAtMTA0NSw3ICsxMDQ1LDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZUV4aXRGdWxs
U2NyZWVuKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSkKICNlbmRpZgogfQog
Ci12b2lkIHdlYmtpdFdlYlZpZXdCYXNlSW5pdGlhbGl6ZUZ1bGxTY3JlZW5DbGllbnQoV2ViS2l0
V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlLCBjb25zdCBXS0Z1bGxTY3JlZW5DbGllbnRH
dGsqIHdrQ2xpZW50KQordm9pZCB3ZWJraXRXZWJWaWV3QmFzZUluaXRpYWxpemVGdWxsU2NyZWVu
Q2xpZW50KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSwgY29uc3QgV0tGdWxs
U2NyZWVuQ2xpZW50R3RrQmFzZSogd2tDbGllbnQpCiB7CiAgICAgd2Via2l0V2ViVmlld0Jhc2Ut
PnByaXYtPmZ1bGxTY3JlZW5DbGllbnQuaW5pdGlhbGl6ZSh3a0NsaWVudCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZVBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdC
YXNlUHJpdmF0ZS5oCmluZGV4IDdkMTJhYzAxY2YxNDgwZmIzNmI2NGY0ZDM3NGNiNDViM2I0OGFm
N2YuLjI5YmIxNDViMDFiNzg0ZDI2OWE5ZGMyNDljMjFjZWI2MGE4NTcyODUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlUHJpdmF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdC
YXNlUHJpdmF0ZS5oCkBAIC00NCw3ICs0NCw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTdGFy
dERyYWcoV2ViS2l0V2ViVmlld0Jhc2UqLCBjb25zdCBXZWJDb3JlOjpEcmFnRGF0YSYsIFBhCiB2
b2lkIHdlYmtpdFdlYlZpZXdCYXNlQ2hpbGRNb3ZlUmVzaXplKFdlYktpdFdlYlZpZXdCYXNlKiwg
R3RrV2lkZ2V0KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogdm9pZCB3ZWJraXRXZWJWaWV3
QmFzZUVudGVyRnVsbFNjcmVlbihXZWJLaXRXZWJWaWV3QmFzZSopOwogdm9pZCB3ZWJraXRXZWJW
aWV3QmFzZUV4aXRGdWxsU2NyZWVuKFdlYktpdFdlYlZpZXdCYXNlKik7Ci12b2lkIHdlYmtpdFdl
YlZpZXdCYXNlSW5pdGlhbGl6ZUZ1bGxTY3JlZW5DbGllbnQoV2ViS2l0V2ViVmlld0Jhc2UqLCBj
b25zdCBXS0Z1bGxTY3JlZW5DbGllbnRHdGsqKTsKK3ZvaWQgd2Via2l0V2ViVmlld0Jhc2VJbml0
aWFsaXplRnVsbFNjcmVlbkNsaWVudChXZWJLaXRXZWJWaWV3QmFzZSosIGNvbnN0IFdLRnVsbFNj
cmVlbkNsaWVudEd0a0Jhc2UqKTsKIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VTZXRJbnNwZWN0b3JW
aWV3SGVpZ2h0KFdlYktpdFdlYlZpZXdCYXNlKiwgdW5zaWduZWQgaGVpZ2h0KTsKIHZvaWQgd2Vi
a2l0V2ViVmlld0Jhc2VTZXRBY3RpdmVDb250ZXh0TWVudVByb3h5KFdlYktpdFdlYlZpZXdCYXNl
KiwgV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5R3RrKik7CiBXZWJLaXQ6OldlYkNvbnRleHRN
ZW51UHJveHlHdGsqIHdlYmtpdFdlYlZpZXdCYXNlR2V0QWN0aXZlQ29udGV4dE1lbnVQcm94eShX
ZWJLaXRXZWJWaWV3QmFzZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvV2ViVmlld0NsaWVudC5oCmluZGV4IDUxOTc5ZTlj
N2EwMGY4MjlmZTY3OTE0MjQ0NmYwNDA4NDAyZGQ0NTUuLjgwOTU2NDEzNTA5MDNkNDAwOTcwMjE2
OTlhZmJlZDFmN2FjNmUyYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3Q2xpZW50LmgKQEAgLTQ3LDcgKzQ3
LDcgQEAgY2xhc3MgV2ViVmlldzsKIGNsYXNzIE5hdGl2ZVdlYlRvdWNoRXZlbnQ7CiAjZW5kaWYK
IAotY2xhc3MgV2ViVmlld0NsaWVudDogcHVibGljIEFQSUNsaWVudDxXS1ZpZXdDbGllbnQsIGtX
S1ZpZXdDbGllbnRDdXJyZW50VmVyc2lvbj4geworY2xhc3MgV2ViVmlld0NsaWVudDogcHVibGlj
IEFQSTo6Q2xpZW50PFdLVmlld0NsaWVudD4gewogcHVibGljOgogICAgIHZvaWQgdmlld05lZWRz
RGlzcGxheShXZWJWaWV3KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZvaWQgZGlk
Q2hhbmdlQ29udGVudHNTaXplKFdlYlZpZXcqLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5j
cHAKaW5kZXggYjgxMmU3NWFiMmI5OWY0YjliMGMzOWIwY2NiOTcxY2RjZDc1YzI0My4uZjgyOWFj
MWMzNmZmMDU4OGJkMDQzZTkyMTA0N2E5ZjJhYjM5YmIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmNwcApAQCAtNTUsNyArNTUs
NyBAQCBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5Ojp+V2ViQmF0dGVyeU1hbmFnZXJQcm94eSgpCiB7
CiB9CiAKLXZvaWQgV2ViQmF0dGVyeU1hbmFnZXJQcm94eTo6aW5pdGlhbGl6ZVByb3ZpZGVyKGNv
bnN0IFdLQmF0dGVyeVByb3ZpZGVyKiBwcm92aWRlcikKK3ZvaWQgV2ViQmF0dGVyeU1hbmFnZXJQ
cm94eTo6aW5pdGlhbGl6ZVByb3ZpZGVyKGNvbnN0IFdLQmF0dGVyeVByb3ZpZGVyQmFzZSogcHJv
dmlkZXIpCiB7CiAgICAgbV9wcm92aWRlci5pbml0aWFsaXplKHByb3ZpZGVyKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeU1hbmFnZXJQcm94eS5oCmluZGV4
IGQyNTZlOWU2M2QxMDQ3YjMzZmViYjYxM2FjMGIxYWM1ZTI5MjA3NzQuLmQ2YmQzMGQwYzgyMGNm
MzNiMGQ2NDEwY2RjYzIzODRkMDRhMjRjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJCYXR0ZXJ5TWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkJhdHRlcnlNYW5hZ2VyUHJveHkuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViQmF0dGVyeU1hbmFnZXJQcm94eT4gY3JlYXRlKFdl
YkNvbnRleHQqKTsKICAgICB2aXJ0dWFsIH5XZWJCYXR0ZXJ5TWFuYWdlclByb3h5KCk7CiAKLSAg
ICB2b2lkIGluaXRpYWxpemVQcm92aWRlcihjb25zdCBXS0JhdHRlcnlQcm92aWRlciopOworICAg
IHZvaWQgaW5pdGlhbGl6ZVByb3ZpZGVyKGNvbnN0IFdLQmF0dGVyeVByb3ZpZGVyQmFzZSopOwog
CiAgICAgdm9pZCBwcm92aWRlckRpZENoYW5nZUJhdHRlcnlTdGF0dXMoY29uc3QgV1RGOjpBdG9t
aWNTdHJpbmcmLCBXZWJCYXR0ZXJ5U3RhdHVzKik7CiAgICAgdm9pZCBwcm92aWRlclVwZGF0ZUJh
dHRlcnlTdGF0dXMoV2ViQmF0dGVyeVN0YXR1cyopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmNwcAppbmRleCA4Mjg0MTYwMWRjNDY2YzQ0NWZjNDUz
MGE4YTRlMDYyYTNlMzY1MjZmLi4yOGVlZDk3YWU5MjdjYzVlOWIwZGMzNmZlYTBlMzY0MGI1MzRm
MDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVByb3Zp
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVy
LmNwcApAQCAtMzgsNyArMzgsNyBAQCB2b2lkIFdlYkJhdHRlcnlQcm92aWRlcjo6c3RhcnRVcGRh
dGluZyhXZWJCYXR0ZXJ5TWFuYWdlclByb3h5KiBiYXR0ZXJ5TWFuYWdlcikKICAgICBpZiAoIW1f
Y2xpZW50LnN0YXJ0VXBkYXRpbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LnN0
YXJ0VXBkYXRpbmcodG9BUEkoYmF0dGVyeU1hbmFnZXIpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsK
KyAgICBtX2NsaWVudC5zdGFydFVwZGF0aW5nKHRvQVBJKGJhdHRlcnlNYW5hZ2VyKSwgbV9jbGll
bnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAogdm9pZCBXZWJCYXR0ZXJ5UHJvdmlkZXI6OnN0b3BV
cGRhdGluZyhXZWJCYXR0ZXJ5TWFuYWdlclByb3h5KiBiYXR0ZXJ5TWFuYWdlcikKQEAgLTQ2LDcg
KzQ2LDcgQEAgdm9pZCBXZWJCYXR0ZXJ5UHJvdmlkZXI6OnN0b3BVcGRhdGluZyhXZWJCYXR0ZXJ5
TWFuYWdlclByb3h5KiBiYXR0ZXJ5TWFuYWdlcikKICAgICBpZiAoIW1fY2xpZW50LnN0b3BVcGRh
dGluZykKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQuc3RvcFVwZGF0aW5nKHRvQVBJ
KGJhdHRlcnlNYW5hZ2VyKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuc3Rv
cFVwZGF0aW5nKHRvQVBJKGJhdHRlcnlNYW5hZ2VyKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQmF0dGVyeVByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQmF0dGVyeVByb3ZpZGVyLmgKaW5kZXggZjU5OTA2OGM5NDJlODBjNGIwYTI5N2VhNDYy
M2RlYTQ4YTZjNjRiMi4uYTFkYmEwMTVlZTM2M2YxYTM4MmRhNWRmNjQwM2FlNTU5YmI2Njg1NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhdHRlcnlQcm92aWRlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYXR0ZXJ5UHJvdmlkZXIuaApAQCAt
MzIsMTEgKzMyLDE3IEBACiAjaW5jbHVkZSAiV0tCYXR0ZXJ5TWFuYWdlci5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAKK25hbWVzcGFjZSBBUEkgewordGVtcGxhdGU8PiBzdHJ1Y3QgQ2xp
ZW50VHJhaXRzPFdLQmF0dGVyeVByb3ZpZGVyQmFzZT4geworICAgIHR5cGVkZWYgc3RkOjp0dXBs
ZTxXS0JhdHRlcnlQcm92aWRlclYwPiBWZXJzaW9uczsKK307Cit9CisKIG5hbWVzcGFjZSBXZWJL
aXQgewogCiBjbGFzcyBXZWJCYXR0ZXJ5TWFuYWdlclByb3h5OwogCi1jbGFzcyBXZWJCYXR0ZXJ5
UHJvdmlkZXIgOiBwdWJsaWMgQVBJQ2xpZW50PFdLQmF0dGVyeVByb3ZpZGVyLCBrV0tCYXR0ZXJ5
UHJvdmlkZXJDdXJyZW50VmVyc2lvbj4geworY2xhc3MgV2ViQmF0dGVyeVByb3ZpZGVyIDogcHVi
bGljIEFQSTo6Q2xpZW50PFdLQmF0dGVyeVByb3ZpZGVyQmFzZT4gewogcHVibGljOgogICAgIHZv
aWQgc3RhcnRVcGRhdGluZyhXZWJCYXR0ZXJ5TWFuYWdlclByb3h5Kik7CiAgICAgdm9pZCBzdG9w
VXBkYXRpbmcoV2ViQmF0dGVyeU1hbmFnZXJQcm94eSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCBjMzM2Nzg5YzVkNjI2NGI0ODE1OThlYWE3
MDU4NzA3MzI5YmYxMTJiLi5mNTBjYjJkOTZkYzM1N2RkMzQ4MDZlMDBiNzE5N2ZiNTJkZWI3YzRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaApAQCAt
MTA2LDcgKzEwNiw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKEdUSykKICAgICBHdGtXaWRn
ZXQqIGluc3BlY3RvclZpZXcoKSBjb25zdCB7IHJldHVybiBtX2luc3BlY3RvclZpZXc7IH07Ci0g
ICAgdm9pZCBpbml0aWFsaXplSW5zcGVjdG9yQ2xpZW50R3RrKGNvbnN0IFdLSW5zcGVjdG9yQ2xp
ZW50R3RrKik7CisgICAgdm9pZCBpbml0aWFsaXplSW5zcGVjdG9yQ2xpZW50R3RrKGNvbnN0IFdL
SW5zcGVjdG9yQ2xpZW50R3RrQmFzZSopOwogI2VuZGlmCiAKICAgICB2b2lkIHNob3dDb25zb2xl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmV0d29ya0luZm9Q
cm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk5ldHdvcmtJbmZvUHJvdmlk
ZXIuaAppbmRleCBmNzIwNWQwNWIwODY2ZjE1M2IzM2M5NjUzODk3ZTU4MDc1YmYzZWE5Li5lMjE3
Mzg5NTI5MTQ4YmE0NzA5Mzk3YTc5YjA3NTc5ZjQ2NGQyODcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmV0d29ya0luZm9Qcm92aWRlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJOZXR3b3JrSW5mb1Byb3ZpZGVyLmgKQEAgLTM2LDcgKzM2LDcg
QEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYk5ldHdvcmtJbmZvTWFuYWdlclByb3h5
OwogCi1jbGFzcyBXZWJOZXR3b3JrSW5mb1Byb3ZpZGVyIDogcHVibGljIEFQSUNsaWVudDxXS05l
dHdvcmtJbmZvUHJvdmlkZXIsIGtXS05ldHdvcmtJbmZvUHJvdmlkZXJDdXJyZW50VmVyc2lvbj4g
eworY2xhc3MgV2ViTmV0d29ya0luZm9Qcm92aWRlciA6IHB1YmxpYyBBUEk6OkNsaWVudDxXS05l
dHdvcmtJbmZvUHJvdmlkZXI+IHsKIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoV2Vi
TmV0d29ya0luZm9NYW5hZ2VyUHJveHkqKTsKICAgICB2b2lkIHN0b3BVcGRhdGluZyhXZWJOZXR3
b3JrSW5mb01hbmFnZXJQcm94eSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlRleHRDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJUZXh0
Q2hlY2tlci5jcHAKaW5kZXggZWY2YTNjNjIxMWRiMGJiZTk5NmM2M2M2NDk5NjIwZWZiMzExMzcx
MS4uOTM0YzU4OTQxNTY2MTMwNmEzMmUxYmZjYzQ3NGVjNTExYWE4N2RhYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlRleHRDaGVja2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViVGV4dENoZWNrZXIuY3BwCkBAIC00Myw3ICs0Myw3IEBAIFdl
YlRleHRDaGVja2VyOjpXZWJUZXh0Q2hlY2tlcigpCiB7CiB9CiAKLXZvaWQgV2ViVGV4dENoZWNr
ZXI6OnNldENsaWVudChjb25zdCBXS1RleHRDaGVja2VyQ2xpZW50KiBjbGllbnQpCit2b2lkIFdl
YlRleHRDaGVja2VyOjpzZXRDbGllbnQoY29uc3QgV0tUZXh0Q2hlY2tlckNsaWVudEJhc2UqIGNs
aWVudCkKIHsKICAgICBtX2NsaWVudC5pbml0aWFsaXplKGNsaWVudCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVGV4dENoZWNrZXIuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJUZXh0Q2hlY2tlci5oCmluZGV4IGViZjQxODA1NGJhZDY0MjgwODEw
NTM1ZTViNmQwNzVlZjRlZDg5ZDEuLjU1YTQ4ODk3ZWYwN2FkYzM2NmM3NmM3OTFkMzNmODA0YTll
NGNmZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJUZXh0Q2hlY2tl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJUZXh0Q2hlY2tlci5oCkBAIC0z
OSw3ICszOSw3IEBAIGNsYXNzIFdlYlRleHRDaGVja2VyIDogcHVibGljIEFQSTo6VHlwZWRPYmpl
Y3Q8QVBJOjpPYmplY3Q6OlR5cGU6OlRleHRDaGVja2VyPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFdlYlRleHRDaGVja2VyKiBzaGFyZWQoKTsKIAotICAgIHZvaWQgc2V0Q2xpZW50KGNvbnN0IFdL
VGV4dENoZWNrZXJDbGllbnQqKTsKKyAgICB2b2lkIHNldENsaWVudChjb25zdCBXS1RleHRDaGVj
a2VyQ2xpZW50QmFzZSopOwogICAgIFdlYlRleHRDaGVja2VyQ2xpZW50JiBjbGllbnQoKSB7IHJl
dHVybiBtX2NsaWVudDsgfQogCiAgICAgdm9pZCBjb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWRTdGF0ZUNoYW5nZWQoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViVGV4dENoZWNrZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlRleHRDaGVja2VyQ2xpZW50LmNwcAppbmRleCBjZGI4ODIwOWFiZGNmNWUzZmYzOWMyZDY2YjY4
YjIxMjY1NWZkMGI5Li4yNTUzNjBiMTFjYzAzMGQ5MzAyYWI1ZTA1NzdmYTVjYTViZTIxNzBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVGV4dENoZWNrZXJDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJUZXh0Q2hlY2tlckNsaWVudC5j
cHAKQEAgLTQwLDcgKzQwLDcgQEAgYm9vbCBXZWJUZXh0Q2hlY2tlckNsaWVudDo6Y29udGludW91
c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKCkKICAgICBpZiAoIW1fY2xpZW50LmNvbnRpbnVvdXNTcGVs
bENoZWNraW5nQWxsb3dlZCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIG1f
Y2xpZW50LmNvbnRpbnVvdXNTcGVsbENoZWNraW5nQWxsb3dlZChtX2NsaWVudC5jbGllbnRJbmZv
KTsKKyAgICByZXR1cm4gbV9jbGllbnQuY29udGludW91c1NwZWxsQ2hlY2tpbmdBbGxvd2VkKG1f
Y2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKIGJvb2wgV2ViVGV4dENoZWNrZXJDbGllbnQ6
OmNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpCkBAIC00OCw3ICs0OCw3IEBAIGJvb2wg
V2ViVGV4dENoZWNrZXJDbGllbnQ6OmNvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCgpCiAg
ICAgaWYgKCFtX2NsaWVudC5jb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBtX2NsaWVudC5jb250aW51b3VzU3BlbGxDaGVj
a2luZ0VuYWJsZWQobV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgcmV0dXJuIG1fY2xpZW50LmNv
bnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZChtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwog
fQogCiB2b2lkIFdlYlRleHRDaGVja2VyQ2xpZW50OjpzZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQoYm9vbCBlbmFibGVkKQpAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFdlYlRleHRDaGVj
a2VyQ2xpZW50OjpzZXRDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCBlbmFibGVk
KQogICAgIGlmICghbV9jbGllbnQuc2V0Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC5zZXRDb250aW51b3VzU3BlbGxDaGVja2lu
Z0VuYWJsZWQoZW5hYmxlZCwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuc2V0
Q29udGludW91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGVuYWJsZWQsIG1fY2xpZW50LmJhc2UuY2xp
ZW50SW5mbyk7CiB9CiAKIGJvb2wgV2ViVGV4dENoZWNrZXJDbGllbnQ6OmdyYW1tYXJDaGVja2lu
Z0VuYWJsZWQoKQpAQCAtNjQsNyArNjQsNyBAQCBib29sIFdlYlRleHRDaGVja2VyQ2xpZW50Ojpn
cmFtbWFyQ2hlY2tpbmdFbmFibGVkKCkKICAgICBpZiAoIW1fY2xpZW50LmdyYW1tYXJDaGVja2lu
Z0VuYWJsZWQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBtX2NsaWVudC5n
cmFtbWFyQ2hlY2tpbmdFbmFibGVkKG1fY2xpZW50LmNsaWVudEluZm8pOworICAgIHJldHVybiBt
X2NsaWVudC5ncmFtbWFyQ2hlY2tpbmdFbmFibGVkKG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CiB9CiAKIHZvaWQgV2ViVGV4dENoZWNrZXJDbGllbnQ6OnNldEdyYW1tYXJDaGVja2luZ0VuYWJs
ZWQoYm9vbCBlbmFibGVkKQpAQCAtNzIsNyArNzIsNyBAQCB2b2lkIFdlYlRleHRDaGVja2VyQ2xp
ZW50OjpzZXRHcmFtbWFyQ2hlY2tpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBpZiAoIW1f
Y2xpZW50LnNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fY2xpZW50LnNldEdyYW1tYXJDaGVja2luZ0VuYWJsZWQoZW5hYmxlZCwgbV9jbGllbnQuY2xp
ZW50SW5mbyk7CisgICAgbV9jbGllbnQuc2V0R3JhbW1hckNoZWNraW5nRW5hYmxlZChlbmFibGVk
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCiB1aW50NjRfdCBXZWJUZXh0Q2hlY2tl
ckNsaWVudDo6dW5pcXVlU3BlbGxEb2N1bWVudFRhZyhXZWJQYWdlUHJveHkqIHBhZ2UpCkBAIC04
MCw3ICs4MCw3IEBAIHVpbnQ2NF90IFdlYlRleHRDaGVja2VyQ2xpZW50Ojp1bmlxdWVTcGVsbERv
Y3VtZW50VGFnKFdlYlBhZ2VQcm94eSogcGFnZSkKICAgICBpZiAoIW1fY2xpZW50LnVuaXF1ZVNw
ZWxsRG9jdW1lbnRUYWcpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1fY2xpZW50
LnVuaXF1ZVNwZWxsRG9jdW1lbnRUYWcodG9BUEkocGFnZSksIG1fY2xpZW50LmNsaWVudEluZm8p
OworICAgIHJldHVybiBtX2NsaWVudC51bmlxdWVTcGVsbERvY3VtZW50VGFnKHRvQVBJKHBhZ2Up
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCiB2b2lkIFdlYlRleHRDaGVja2VyQ2xp
ZW50OjpjbG9zZVNwZWxsRG9jdW1lbnRXaXRoVGFnKHVpbnQ2NF90IHRhZykKQEAgLTg4LDcgKzg4
LDcgQEAgdm9pZCBXZWJUZXh0Q2hlY2tlckNsaWVudDo6Y2xvc2VTcGVsbERvY3VtZW50V2l0aFRh
Zyh1aW50NjRfdCB0YWcpCiAgICAgaWYgKCFtX2NsaWVudC5jbG9zZVNwZWxsRG9jdW1lbnRXaXRo
VGFnKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC5jbG9zZVNwZWxsRG9jdW1lbnRX
aXRoVGFnKHRhZywgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuY2xvc2VTcGVs
bERvY3VtZW50V2l0aFRhZyh0YWcsIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKIHZv
aWQgV2ViVGV4dENoZWNrZXJDbGllbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyh1aW50NjRfdCB0
YWcsIGNvbnN0IFN0cmluZyYgdGV4dCwgaW50MzJfdCYgbWlzc3BlbGxpbmdMb2NhdGlvbiwgaW50
MzJfdCYgbWlzc3BlbGxpbmdMZW5ndGgpCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgV2ViVGV4dENo
ZWNrZXJDbGllbnQ6OmNoZWNrU3BlbGxpbmdPZlN0cmluZyh1aW50NjRfdCB0YWcsIGNvbnN0IFN0
cmluZyYgdGV4CiAgICAgaWYgKCFtX2NsaWVudC5jaGVja1NwZWxsaW5nT2ZTdHJpbmcpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LmNoZWNrU3BlbGxpbmdPZlN0cmluZyh0YWcsIHRv
QVBJKHRleHQuaW1wbCgpKSwgJm1pc3NwZWxsaW5nTG9jYXRpb24sICZtaXNzcGVsbGluZ0xlbmd0
aCwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuY2hlY2tTcGVsbGluZ09mU3Ry
aW5nKHRhZywgdG9BUEkodGV4dC5pbXBsKCkpLCAmbWlzc3BlbGxpbmdMb2NhdGlvbiwgJm1pc3Nw
ZWxsaW5nTGVuZ3RoLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCiB2b2lkIFdlYlRl
eHRDaGVja2VyQ2xpZW50OjpjaGVja0dyYW1tYXJPZlN0cmluZyh1aW50NjRfdCB0YWcsIGNvbnN0
IFN0cmluZyYgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkdyYW1tYXJEZXRhaWw+JiBncmFtbWFyRGV0
YWlscywgaW50MzJfdCYgYmFkR3JhbW1hckxvY2F0aW9uLCBpbnQzMl90JiBiYWRHcmFtbWFyTGVu
Z3RoKQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgV2ViVGV4dENoZWNrZXJDbGllbnQ6OmNoZWNr
R3JhbW1hck9mU3RyaW5nKHVpbnQ2NF90IHRhZywgY29uc3QgU3RyaW5nJiB0ZXh0CiAgICAgICAg
IHJldHVybjsKIAogICAgIFdLQXJyYXlSZWYgd2tHcmFtbWFyRGV0YWlsc1JlZiA9IDA7Ci0gICAg
bV9jbGllbnQuY2hlY2tHcmFtbWFyT2ZTdHJpbmcodGFnLCB0b0FQSSh0ZXh0LmltcGwoKSksICZ3
a0dyYW1tYXJEZXRhaWxzUmVmLCAmYmFkR3JhbW1hckxvY2F0aW9uLCAmYmFkR3JhbW1hckxlbmd0
aCwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuY2hlY2tHcmFtbWFyT2ZTdHJp
bmcodGFnLCB0b0FQSSh0ZXh0LmltcGwoKSksICZ3a0dyYW1tYXJEZXRhaWxzUmVmLCAmYmFkR3Jh
bW1hckxvY2F0aW9uLCAmYmFkR3JhbW1hckxlbmd0aCwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZv
KTsKIAogICAgIFJlZlB0cjxBUEk6OkFycmF5PiB3a0dyYW1tYXJEZXRhaWxzID0gYWRvcHRSZWYo
dG9JbXBsKHdrR3JhbW1hckRldGFpbHNSZWYpKTsKICAgICBzaXplX3QgbnVtR3JhbW1hckRldGFp
bHMgPSB3a0dyYW1tYXJEZXRhaWxzLT5zaXplKCk7CkBAIC0xMjQsNyArMTI0LDcgQEAgYm9vbCBX
ZWJUZXh0Q2hlY2tlckNsaWVudDo6c3BlbGxpbmdVSUlzU2hvd2luZygpCiAgICAgaWYgKCFtX2Ns
aWVudC5zcGVsbGluZ1VJSXNTaG93aW5nKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBy
ZXR1cm4gbV9jbGllbnQuc3BlbGxpbmdVSUlzU2hvd2luZyhtX2NsaWVudC5jbGllbnRJbmZvKTsK
KyAgICByZXR1cm4gbV9jbGllbnQuc3BlbGxpbmdVSUlzU2hvd2luZyhtX2NsaWVudC5iYXNlLmNs
aWVudEluZm8pOwogfQogCiB2b2lkIFdlYlRleHRDaGVja2VyQ2xpZW50Ojp0b2dnbGVTcGVsbGlu
Z1VJSXNTaG93aW5nKCkKQEAgLTEzMiw3ICsxMzIsNyBAQCB2b2lkIFdlYlRleHRDaGVja2VyQ2xp
ZW50Ojp0b2dnbGVTcGVsbGluZ1VJSXNTaG93aW5nKCkKICAgICBpZiAoIW1fY2xpZW50LnRvZ2ds
ZVNwZWxsaW5nVUlJc1Nob3dpbmcpCiAgICAgICAgIHJldHVybjsKIAotICAgIHJldHVybiBtX2Ns
aWVudC50b2dnbGVTcGVsbGluZ1VJSXNTaG93aW5nKG1fY2xpZW50LmNsaWVudEluZm8pOworICAg
IHJldHVybiBtX2NsaWVudC50b2dnbGVTcGVsbGluZ1VJSXNTaG93aW5nKG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CiB9CiAKIHZvaWQgV2ViVGV4dENoZWNrZXJDbGllbnQ6OnVwZGF0ZVNwZWxs
aW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQodWludDY0X3QgdGFnLCBjb25zdCBTdHJpbmcmIG1pc3Nw
ZWxsZWRXb3JkKQpAQCAtMTQwLDcgKzE0MCw3IEBAIHZvaWQgV2ViVGV4dENoZWNrZXJDbGllbnQ6
OnVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQodWludDY0X3QgdGFnLCBjb25zCiAg
ICAgaWYgKCFtX2NsaWVudC51cGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxsZWRXb3JkKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC51cGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxs
ZWRXb3JkKHRhZywgdG9BUEkobWlzc3BlbGxlZFdvcmQuaW1wbCgpKSwgbV9jbGllbnQuY2xpZW50
SW5mbyk7CisgICAgbV9jbGllbnQudXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCh0
YWcsIHRvQVBJKG1pc3NwZWxsZWRXb3JkLmltcGwoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7CiB9CiAKIHZvaWQgV2ViVGV4dENoZWNrZXJDbGllbnQ6OnVwZGF0ZVNwZWxsaW5nVUlXaXRo
R3JhbW1hclN0cmluZyh1aW50NjRfdCB0YWcsIGNvbnN0IFN0cmluZyYgYmFkR3JhbW1hclBocmFz
ZSwgY29uc3QgV2ViQ29yZTo6R3JhbW1hckRldGFpbCYgZ3JhbW1hckRldGFpbCkKQEAgLTE0OCw3
ICsxNDgsNyBAQCB2b2lkIFdlYlRleHRDaGVja2VyQ2xpZW50Ojp1cGRhdGVTcGVsbGluZ1VJV2l0
aEdyYW1tYXJTdHJpbmcodWludDY0X3QgdGFnLCBjb25zdAogICAgIGlmICghbV9jbGllbnQudXBk
YXRlU3BlbGxpbmdVSVdpdGhHcmFtbWFyU3RyaW5nKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X2NsaWVudC51cGRhdGVTcGVsbGluZ1VJV2l0aEdyYW1tYXJTdHJpbmcodGFnLCB0b0FQSShiYWRH
cmFtbWFyUGhyYXNlLmltcGwoKSksIHRvQVBJKGdyYW1tYXJEZXRhaWwpLCBtX2NsaWVudC5jbGll
bnRJbmZvKTsKKyAgICBtX2NsaWVudC51cGRhdGVTcGVsbGluZ1VJV2l0aEdyYW1tYXJTdHJpbmco
dGFnLCB0b0FQSShiYWRHcmFtbWFyUGhyYXNlLmltcGwoKSksIHRvQVBJKGdyYW1tYXJEZXRhaWwp
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCiB2b2lkIFdlYlRleHRDaGVja2VyQ2xp
ZW50OjpndWVzc2VzRm9yV29yZCh1aW50NjRfdCB0YWcsIGNvbnN0IFN0cmluZyYgd29yZCwgVmVj
dG9yPFN0cmluZz4mIGd1ZXNzZXMpCkBAIC0xNTYsNyArMTU2LDcgQEAgdm9pZCBXZWJUZXh0Q2hl
Y2tlckNsaWVudDo6Z3Vlc3Nlc0ZvcldvcmQodWludDY0X3QgdGFnLCBjb25zdCBTdHJpbmcmIHdv
cmQsIFZlY3QKICAgICBpZiAoIW1fY2xpZW50Lmd1ZXNzZXNGb3JXb3JkKQogICAgICAgICByZXR1
cm47CiAKLSAgICBSZWZQdHI8QVBJOjpBcnJheT4gd2tHdWVzc2VzID0gYWRvcHRSZWYodG9JbXBs
KG1fY2xpZW50Lmd1ZXNzZXNGb3JXb3JkKHRhZywgdG9BUEkod29yZC5pbXBsKCkpLCBtX2NsaWVu
dC5jbGllbnRJbmZvKSkpOworICAgIFJlZlB0cjxBUEk6OkFycmF5PiB3a0d1ZXNzZXMgPSBhZG9w
dFJlZih0b0ltcGwobV9jbGllbnQuZ3Vlc3Nlc0ZvcldvcmQodGFnLCB0b0FQSSh3b3JkLmltcGwo
KSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbykpKTsKICAgICBzaXplX3QgbnVtR3Vlc3NlcyA9
IHdrR3Vlc3Nlcy0+c2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtR3Vlc3Nl
czsgKytpKQogICAgICAgICBndWVzc2VzLmFwcGVuZCh3a0d1ZXNzZXMtPmF0PFdlYlN0cmluZz4o
aSktPnN0cmluZygpKTsKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIFdlYlRleHRDaGVja2VyQ2xp
ZW50OjpsZWFybldvcmQodWludDY0X3QgdGFnLCBjb25zdCBTdHJpbmcmIHdvcmQpCiAgICAgaWYg
KCFtX2NsaWVudC5sZWFybldvcmQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50Lmxl
YXJuV29yZCh0YWcsIHRvQVBJKHdvcmQuaW1wbCgpKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cisg
ICAgbV9jbGllbnQubGVhcm5Xb3JkKHRhZywgdG9BUEkod29yZC5pbXBsKCkpLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogfQogCiB2b2lkIFdlYlRleHRDaGVja2VyQ2xpZW50OjppZ25vcmVX
b3JkKHVpbnQ2NF90IHRhZywgY29uc3QgU3RyaW5nJiB3b3JkKQpAQCAtMTc1LDcgKzE3NSw3IEBA
IHZvaWQgV2ViVGV4dENoZWNrZXJDbGllbnQ6Omlnbm9yZVdvcmQodWludDY0X3QgdGFnLCBjb25z
dCBTdHJpbmcmIHdvcmQpCiAgICAgaWYgKCFtX2NsaWVudC5pZ25vcmVXb3JkKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBtX2NsaWVudC5pZ25vcmVXb3JkKHRhZywgdG9BUEkod29yZC5pbXBsKCkp
LCBtX2NsaWVudC5jbGllbnRJbmZvKTsKKyAgICBtX2NsaWVudC5pZ25vcmVXb3JkKHRhZywgdG9B
UEkod29yZC5pbXBsKCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJU
ZXh0Q2hlY2tlckNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlRleHRDaGVj
a2VyQ2xpZW50LmgKaW5kZXggYjY1MDAzZDExNWU5NjVlOWQyNjc2ZTE4ZDVlMTdhZjBiMThhN2I5
ZS4uNDkyNzVmZmZjZTk3NmEzMTUwMzY2MDUyMDczNjEwNTc2MTk3MDM4YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlRleHRDaGVja2VyQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlRleHRDaGVja2VyQ2xpZW50LmgKQEAgLTMyLDExICsz
MiwxNyBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCituYW1lc3BhY2UgQVBJIHsKK3RlbXBsYXRlPD4gc3RydWN0IENsaWVudFRyYWl0czxXS1Rl
eHRDaGVja2VyQ2xpZW50QmFzZT4geworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1RleHRDaGVj
a2VyQ2xpZW50VjA+IFZlcnNpb25zOworfTsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNs
YXNzIFdlYlBhZ2VQcm94eTsKIAotY2xhc3MgV2ViVGV4dENoZWNrZXJDbGllbnQgOiBwdWJsaWMg
QVBJQ2xpZW50PFdLVGV4dENoZWNrZXJDbGllbnQsIGtXS1RleHRDaGVja2VyQ2xpZW50Q3VycmVu
dFZlcnNpb24+IHsKK2NsYXNzIFdlYlRleHRDaGVja2VyQ2xpZW50IDogcHVibGljIEFQSTo6Q2xp
ZW50PFdLVGV4dENoZWNrZXJDbGllbnRCYXNlPiB7CiBwdWJsaWM6CiAgICAgYm9vbCBjb250aW51
b3VzU3BlbGxDaGVja2luZ0FsbG93ZWQoKTsKICAgICBib29sIGNvbnRpbnVvdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlZp
YnJhdGlvblByb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9u
UHJvdmlkZXIuaAppbmRleCAzNjE1OWRlODM0MmY1NmM3OWU2YWYzMmQ3OWM1ZDZmZWYyZjNiZDQ4
Li42OTkxYmQxNzBlODcwZjhmMDg2ZGFmMzY1NjIyMTU4ZjVkZjgzMWZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVmlicmF0aW9uUHJvdmlkZXIuaApAQCAtMzYsNyArMzYs
NyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViVmlicmF0aW9uUHJveHk7CiAKLWNs
YXNzIFdlYlZpYnJhdGlvblByb3ZpZGVyIDogcHVibGljIEFQSUNsaWVudDxXS1ZpYnJhdGlvblBy
b3ZpZGVyLCBrV0tWaWJyYXRpb25Qcm92aWRlckN1cnJlbnRWZXJzaW9uPiB7CitjbGFzcyBXZWJW
aWJyYXRpb25Qcm92aWRlciA6IHB1YmxpYyBBUEk6OkNsaWVudDxXS1ZpYnJhdGlvblByb3ZpZGVy
PiB7CiBwdWJsaWM6CiAgICAgdm9pZCB2aWJyYXRlKFdlYlZpYnJhdGlvblByb3h5KiwgdWludDMy
X3QgdmlicmF0aW9uVGltZSk7CiAgICAgdm9pZCBjYW5jZWxWaWJyYXRpb24oV2ViVmlicmF0aW9u
UHJveHkqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVUlQ
b3B1cE1lbnVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViVUlQb3B1
cE1lbnVDbGllbnQuaAppbmRleCAyNTkzMmU4YmVjNzk5N2ZmYzI5YTFhNzMwOTBiZmNlMDNmMDZm
NjMyLi41YmQwMWNkODUxOTlmODg5ZTA0N2E5ZDJhMjYwOTY2ZDE2YjY3ZTkwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1dlYlVJUG9wdXBNZW51Q2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9XZWJVSVBvcHVwTWVudUNsaWVudC5oCkBA
IC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUGFnZVByb3h5Owog
Y2xhc3MgV2ViUG9wdXBNZW51UHJveHk7CiAKLWNsYXNzIFdlYlVJUG9wdXBNZW51Q2xpZW50IDog
cHVibGljIEFQSUNsaWVudDxXS1BhZ2VVSVBvcHVwTWVudUNsaWVudCwga1dLUGFnZVVJUG9wdXBN
ZW51Q2xpZW50Q3VycmVudFZlcnNpb24+IHsKK2NsYXNzIFdlYlVJUG9wdXBNZW51Q2xpZW50IDog
cHVibGljIEFQSTo6Q2xpZW50PFdLUGFnZVVJUG9wdXBNZW51Q2xpZW50PiB7CiBwdWJsaWM6CiAg
ICAgdm9pZCBzaG93UG9wdXBNZW51KFdlYlBhZ2VQcm94eSosIFdlYlBvcHVwTWVudVByb3h5Kiwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIFdlYkNvcmU6OlRleHREaXJlY3Rpb24sIGRvdWJsZSBw
YWdlU2NhbGVGYWN0b3IsIGNvbnN0IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiBpdGVtcywgaW50MzJf
dCBzZWxlY3RlZEluZGV4KTsKICAgICB2b2lkIGhpZGVQb3B1cE1lbnUoV2ViUGFnZVByb3h5Kik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkZ1bGxTY3JlZW5D
bGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJGdWxsU2NyZWVu
Q2xpZW50R3RrLmNwcAppbmRleCBiYTIyNDg1ZTFkMWE0ODA3YWEzOTNjNTc3MzE1MTcyZWEyMzRk
ZDQ2Li45OGM1Y2RhMWNkZmIzMzA5ODMzNDBlYTk4NmU5ZDNlOTU0MzE5ZTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkZ1bGxTY3JlZW5DbGllbnRHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViRnVsbFNjcmVlbkNsaWVudEd0
ay5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgYm9vbCBXZWJGdWxsU2NyZWVuQ2xpZW50R3RrOjp3aWxs
RW50ZXJGdWxsU2NyZWVuKCkKICAgICBpZiAoIW1fY2xpZW50LndpbGxFbnRlckZ1bGxTY3JlZW4p
CiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmV0dXJuIG1fY2xpZW50LndpbGxFbnRlckZ1
bGxTY3JlZW4obV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgcmV0dXJuIG1fY2xpZW50LndpbGxF
bnRlckZ1bGxTY3JlZW4obV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAogYm9vbCBXZWJG
dWxsU2NyZWVuQ2xpZW50R3RrOjp3aWxsRXhpdEZ1bGxTY3JlZW4oKQpAQCAtNDQsNyArNDQsNyBA
QCBib29sIFdlYkZ1bGxTY3JlZW5DbGllbnRHdGs6OndpbGxFeGl0RnVsbFNjcmVlbigpCiAgICAg
aWYgKCFtX2NsaWVudC53aWxsRXhpdEZ1bGxTY3JlZW4pCiAgICAgICAgIHJldHVybiB0cnVlOwog
Ci0gICAgcmV0dXJuIG1fY2xpZW50LndpbGxFeGl0RnVsbFNjcmVlbihtX2NsaWVudC5jbGllbnRJ
bmZvKTsKKyAgICByZXR1cm4gbV9jbGllbnQud2lsbEV4aXRGdWxsU2NyZWVuKG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJGdWxsU2NyZWVuQ2xpZW50R3RrLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkZ1bGxTY3JlZW5DbGllbnRHdGsuaAppbmRl
eCA4NmIxZGEyOGQxOTBhYjg4YmQxNTY4YmRiNDdjODFmYzk2ZTllMzdlLi4zOGQxM2ViNGE0ZWEw
OTE1YTJiNDk3MmQ0Y2ExNmZiYzgzYzg4Y2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZ3RrL1dlYkZ1bGxTY3JlZW5DbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYkZ1bGxTY3JlZW5DbGllbnRHdGsuaApAQCAtMzEsMTEgKzMxLDE1
IEBACiAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgT2JqZWN0OworCit0ZW1wbGF0ZTw+IHN0cnVj
dCBDbGllbnRUcmFpdHM8V0tGdWxsU2NyZWVuQ2xpZW50R3RrQmFzZT4geworICAgIHR5cGVkZWYg
c3RkOjp0dXBsZTxXS0Z1bGxTY3JlZW5DbGllbnRHdGtWMD4gVmVyc2lvbnM7Cit9OwogfQogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViRnVsbFNjcmVlbkNsaWVudEd0ayA6IHB1Ymxp
YyBBUElDbGllbnQ8V0tGdWxsU2NyZWVuQ2xpZW50R3RrLCBrV0tGdWxsU2NyZWVuQ2xpZW50R3Rr
Q3VycmVudFZlcnNpb24+IHsKK2NsYXNzIFdlYkZ1bGxTY3JlZW5DbGllbnRHdGsgOiBwdWJsaWMg
QVBJOjpDbGllbnQ8V0tGdWxsU2NyZWVuQ2xpZW50R3RrQmFzZT4gewogcHVibGljOgogICAgIGJv
b2wgd2lsbEVudGVyRnVsbFNjcmVlbigpOwogICAgIGJvb2wgd2lsbEV4aXRGdWxsU2NyZWVuKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvckNs
aWVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvckNs
aWVudEd0ay5jcHAKaW5kZXggNDQ4ZjQyMzc4M2IyNTUwOGM0OTk5MTk0YzQ0OTA1MTJjZGVjOGQ2
NC4uNWFmZGQ1YjExMjA2YjcyODM2OGY2M2ZlMmJjNmU2NzM3NjRjMGViNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JDbGllbnRHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yQ2xpZW50R3RrLmNw
cApAQCAtMzYsNDkgKzM2LDQ5IEBAIGJvb2wgV2ViSW5zcGVjdG9yQ2xpZW50R3RrOjpvcGVuV2lu
ZG93KFdlYkluc3BlY3RvclByb3h5KiBpbnNwZWN0b3IpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5v
cGVuV2luZG93KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIG1fY2xpZW50Lm9w
ZW5XaW5kb3codG9BUEkoaW5zcGVjdG9yKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgcmV0
dXJuIG1fY2xpZW50Lm9wZW5XaW5kb3codG9BUEkoaW5zcGVjdG9yKSwgbV9jbGllbnQuYmFzZS5j
bGllbnRJbmZvKTsKIH0KIAogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnRHdGs6OmRpZENsb3NlKFdl
Ykluc3BlY3RvclByb3h5KiBpbnNwZWN0b3IpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5kaWRDbG9z
ZSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY2xpZW50LmRpZENsb3NlKHRvQVBJKGluc3BlY3Rv
ciksIG1fY2xpZW50LmNsaWVudEluZm8pOworICAgIG1fY2xpZW50LmRpZENsb3NlKHRvQVBJKGlu
c3BlY3RvciksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKIGJvb2wgV2ViSW5zcGVj
dG9yQ2xpZW50R3RrOjpicmluZ1RvRnJvbnQoV2ViSW5zcGVjdG9yUHJveHkqIGluc3BlY3RvcikK
IHsKICAgICBpZiAoIW1fY2xpZW50LmJyaW5nVG9Gcm9udCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIHJldHVybiBtX2NsaWVudC5icmluZ1RvRnJvbnQodG9BUEkoaW5zcGVjdG9yKSwgbV9j
bGllbnQuY2xpZW50SW5mbyk7CisgICAgcmV0dXJuIG1fY2xpZW50LmJyaW5nVG9Gcm9udCh0b0FQ
SShpbnNwZWN0b3IpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCiB2b2lkIFdlYklu
c3BlY3RvckNsaWVudEd0azo6aW5zcGVjdGVkVVJMQ2hhbmdlZChXZWJJbnNwZWN0b3JQcm94eSog
aW5zcGVjdG9yLCBjb25zdCBTdHJpbmcmIHVybCkKIHsKICAgICBpZiAoIW1fY2xpZW50Lmluc3Bl
Y3RlZFVSTENoYW5nZWQpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2NsaWVudC5pbnNwZWN0ZWRV
UkxDaGFuZ2VkKHRvQVBJKGluc3BlY3RvciksIHRvQVBJKHVybC5pbXBsKCkpLCBtX2NsaWVudC5j
bGllbnRJbmZvKTsKKyAgICBtX2NsaWVudC5pbnNwZWN0ZWRVUkxDaGFuZ2VkKHRvQVBJKGluc3Bl
Y3RvciksIHRvQVBJKHVybC5pbXBsKCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQog
CiBib29sIFdlYkluc3BlY3RvckNsaWVudEd0azo6YXR0YWNoKFdlYkluc3BlY3RvclByb3h5KiBp
bnNwZWN0b3IpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5hdHRhY2gpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICByZXR1cm4gbV9jbGllbnQuYXR0YWNoKHRvQVBJKGluc3BlY3RvciksIG1fY2xp
ZW50LmNsaWVudEluZm8pOworICAgIHJldHVybiBtX2NsaWVudC5hdHRhY2godG9BUEkoaW5zcGVj
dG9yKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAogYm9vbCBXZWJJbnNwZWN0b3JD
bGllbnRHdGs6OmRldGFjaChXZWJJbnNwZWN0b3JQcm94eSogaW5zcGVjdG9yKQogewogICAgIGlm
ICghbV9jbGllbnQuZGV0YWNoKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIG1f
Y2xpZW50LmRldGFjaCh0b0FQSShpbnNwZWN0b3IpLCBtX2NsaWVudC5jbGllbnRJbmZvKTsKKyAg
ICByZXR1cm4gbV9jbGllbnQuZGV0YWNoKHRvQVBJKGluc3BlY3RvciksIG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CiB9CiAKIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50R3RrOjpkaWRDaGFuZ2VB
dHRhY2hlZEhlaWdodChXZWJJbnNwZWN0b3JQcm94eSogaW5zcGVjdG9yLCB1bnNpZ25lZCBoZWln
aHQpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5kaWRDaGFuZ2VBdHRhY2hlZEhlaWdodCkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1fY2xpZW50LmRpZENoYW5nZUF0dGFjaGVkSGVpZ2h0KHRvQVBJKGlu
c3BlY3RvciksIGhlaWdodCwgbV9jbGllbnQuY2xpZW50SW5mbyk7CisgICAgbV9jbGllbnQuZGlk
Q2hhbmdlQXR0YWNoZWRIZWlnaHQodG9BUEkoaW5zcGVjdG9yKSwgaGVpZ2h0LCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yQ2xpZW50R3RrLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvckNsaWVudEd0ay5oCmluZGV4
IGQwNmVhZDU1NDA1MjRhNGEyMGIzYWU4OTNhOWZmOTAwYzZjNjgzNjguLmIzMGI5NDVjY2FkYTEy
ZDQzNDdkOWQyNTExZTk3MzI5MTg2YTEwZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JDbGllbnRHdGsuaApAQCAtMzMsMTMgKzMzLDE3IEBA
CiAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgT2JqZWN0OworCit0ZW1wbGF0ZTw+IHN0cnVjdCBD
bGllbnRUcmFpdHM8V0tJbnNwZWN0b3JDbGllbnRHdGtCYXNlPiB7CisgICAgdHlwZWRlZiBzdGQ6
OnR1cGxlPFdLSW5zcGVjdG9yQ2xpZW50R3RrVjA+IFZlcnNpb25zOworfTsKIH0KIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkluc3BlY3RvclByb3h5OwogCi1jbGFzcyBXZWJJbnNw
ZWN0b3JDbGllbnRHdGsgOiBwdWJsaWMgQVBJQ2xpZW50PFdLSW5zcGVjdG9yQ2xpZW50R3RrLCBr
V0tJbnNwZWN0b3JDbGllbnRHdGtDdXJyZW50VmVyc2lvbj4geworY2xhc3MgV2ViSW5zcGVjdG9y
Q2xpZW50R3RrIDogcHVibGljIEFQSTo6Q2xpZW50PFdLSW5zcGVjdG9yQ2xpZW50R3RrQmFzZT4g
ewogcHVibGljOgogICAgIGJvb2wgb3BlbldpbmRvdyhXZWJJbnNwZWN0b3JQcm94eSopOwogICAg
IHZvaWQgZGlkQ2xvc2UoV2ViSW5zcGVjdG9yUHJveHkqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKaW5kZXggZTNkMDdj
MjYzZGEzNWFiNDIzYTkyM2YwMWI0N2UxNGJmMTgxMzIwNi4uOTg3YTk5MmM0ZDY3ZWJhYTAxNmIw
ZmYwMzVkNDQxYWE3MmE1MmZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGlj
IHZvaWQgaW5zcGVjdG9yVmlld0Rlc3Ryb3llZChHdGtXaWRnZXQqLCBncG9pbnRlciB1c2VyRGF0
YSkKICAgICBpbnNwZWN0b3JQcm94eS0+Y2xvc2UoKTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0b3JQ
cm94eTo6aW5pdGlhbGl6ZUluc3BlY3RvckNsaWVudEd0ayhjb25zdCBXS0luc3BlY3RvckNsaWVu
dEd0ayogaW5zcGVjdG9yQ2xpZW50KQordm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6aW5pdGlhbGl6
ZUluc3BlY3RvckNsaWVudEd0ayhjb25zdCBXS0luc3BlY3RvckNsaWVudEd0a0Jhc2UqIGluc3Bl
Y3RvckNsaWVudCkKIHsKICAgICBtX2NsaWVudC5pbml0aWFsaXplKGluc3BlY3RvckNsaWVudCk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVx
dWVzdE1hbmFnZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2Vi
U291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50LmNwcAppbmRleCBjNWQ3ZTNiZjcxNzlkNDRlNDk1OGNh
NDBlZWM3MjBkNzJlZjRhNDhkLi4yYmIwMzk3YThlYTE0MjI4YTYyNmJmYmE4Njg1YTlmODA2Yjk3
MDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVx
dWVzdE1hbmFnZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3Vw
L1dlYlNvdXBSZXF1ZXN0TWFuYWdlckNsaWVudC5jcHAKQEAgLTI5LDE0ICsyOSwxNCBAQCBib29s
IFdlYlNvdXBSZXF1ZXN0TWFuYWdlckNsaWVudDo6ZGlkUmVjZWl2ZVVSSVJlcXVlc3QoV2ViU291
cFJlcXVlc3RNYW5hZ2VyUHJveAogICAgIGlmICghbV9jbGllbnQuZGlkUmVjZWl2ZVVSSVJlcXVl
c3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1fY2xpZW50LmRpZFJlY2VpdmVVUklS
ZXF1ZXN0KHRvQVBJKHNvdXBSZXF1ZXN0TWFuYWdlciksIHRvQVBJKHVybCksIHRvQVBJKGluaXRp
YWluZ1BhZ2UpLCByZXF1ZXN0SUQsIG1fY2xpZW50LmNsaWVudEluZm8pOworICAgIG1fY2xpZW50
LmRpZFJlY2VpdmVVUklSZXF1ZXN0KHRvQVBJKHNvdXBSZXF1ZXN0TWFuYWdlciksIHRvQVBJKHVy
bCksIHRvQVBJKGluaXRpYWluZ1BhZ2UpLCByZXF1ZXN0SUQsIG1fY2xpZW50LmJhc2UuY2xpZW50
SW5mbyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQgV2ViU291cFJlcXVlc3RNYW5hZ2Vy
Q2xpZW50OjpkaWRGYWlsVG9Mb2FkVVJJUmVxdWVzdChXZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94
eSogc291cFJlcXVlc3RNYW5hZ2VyLCB1aW50NjRfdCByZXF1ZXN0SUQpCiB7CiAgICAgaWYgKG1f
Y2xpZW50LmRpZEZhaWxUb0xvYWRVUklSZXF1ZXN0KQotICAgICAgICBtX2NsaWVudC5kaWRGYWls
VG9Mb2FkVVJJUmVxdWVzdCh0b0FQSShzb3VwUmVxdWVzdE1hbmFnZXIpLCByZXF1ZXN0SUQsIG1f
Y2xpZW50LmNsaWVudEluZm8pOworICAgICAgICBtX2NsaWVudC5kaWRGYWlsVG9Mb2FkVVJJUmVx
dWVzdCh0b0FQSShzb3VwUmVxdWVzdE1hbmFnZXIpLCByZXF1ZXN0SUQsIG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJDbGll
bnQuaAppbmRleCA2MGIzNDkzN2Y4ZTZiZjYzYmIzY2UwMzdkMzRmNjU0NTRhMjg3MDI0Li43MThk
ZWJlNzU2NmQ1NDE1OGY4YjZiOGRmNGVlNGJlZWU5MmMwNDJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJDbGll
bnQuaApAQCAtMjQsMTIgKzI0LDE4IEBACiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVk
ZSAiV0tTb3VwUmVxdWVzdE1hbmFnZXIuaCIKIAorbmFtZXNwYWNlIEFQSSB7Cit0ZW1wbGF0ZTw+
IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnRCYXNlPiB7Cisg
ICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50VjA+IFZlcnNp
b25zOworfTsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYlNvdXBSZXF1ZXN0
TWFuYWdlclByb3h5OwogY2xhc3MgV2ViVVJMOwogCi1jbGFzcyBXZWJTb3VwUmVxdWVzdE1hbmFn
ZXJDbGllbnQgOiBwdWJsaWMgQVBJQ2xpZW50PFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50LCBr
V0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnRDdXJyZW50VmVyc2lvbj4geworY2xhc3MgV2ViU291
cFJlcXVlc3RNYW5hZ2VyQ2xpZW50IDogcHVibGljIEFQSTo6Q2xpZW50PFdLU291cFJlcXVlc3RN
YW5hZ2VyQ2xpZW50QmFzZT4gewogcHVibGljOgogICAgIGJvb2wgZGlkUmVjZWl2ZVVSSVJlcXVl
c3QoV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkqLCBXZWJVUkwqLCBXZWJQYWdlUHJveHkqLCB1
aW50NjRfdCByZXF1ZXN0SUQpOwogICAgIHZvaWQgZGlkRmFpbFRvTG9hZFVSSVJlcXVlc3QoV2Vi
U291cFJlcXVlc3RNYW5hZ2VyUHJveHkqLCB1aW50NjRfdCByZXF1ZXN0SUQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5h
Z2VyUHJveHkuY3BwCmluZGV4IDVlYzMwYTliZTQyMTI2MzdmYTRkZDIzNmE3OTAyYjI2MzI1OTRi
MTkuLjBmNDQ5Y2JmZjQwMTQ2Y2E0NjFiMzIwMWZiZWE0NWEzMDYwOWI5NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlclByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJv
eHk6On5XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eSgpCiB7CiB9CiAKLXZvaWQgV2ViU291cFJl
cXVlc3RNYW5hZ2VyUHJveHk6OmluaXRpYWxpemVDbGllbnQoY29uc3QgV0tTb3VwUmVxdWVzdE1h
bmFnZXJDbGllbnQqIGNsaWVudCkKK3ZvaWQgV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHk6Omlu
aXRpYWxpemVDbGllbnQoY29uc3QgV0tTb3VwUmVxdWVzdE1hbmFnZXJDbGllbnRCYXNlKiBjbGll
bnQpCiB7CiAgICAgbV9jbGllbnQuaW5pdGlhbGl6ZShjbGllbnQpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlclBy
b3h5LmgKaW5kZXggYWMyODU1NTliZGU2NTY4ZDk5YTI2NGE3NWQ0MTA4YjI4MTdkM2M5My4uODBk
ZDc2NDczMzljMmI1MWIxY2JmZTQ5YTgxODQyNDJiMzQxYmI4NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94
eS5oCkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJT
b3VwUmVxdWVzdE1hbmFnZXJQcm94eT4gY3JlYXRlKFdlYkNvbnRleHQqKTsKICAgICB2aXJ0dWFs
IH5XZWJTb3VwUmVxdWVzdE1hbmFnZXJQcm94eSgpOwogCi0gICAgdm9pZCBpbml0aWFsaXplQ2xp
ZW50KGNvbnN0IFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50Kik7CisgICAgdm9pZCBpbml0aWFs
aXplQ2xpZW50KGNvbnN0IFdLU291cFJlcXVlc3RNYW5hZ2VyQ2xpZW50QmFzZSopOwogCiAgICAg
dm9pZCByZWdpc3RlclVSSVNjaGVtZShjb25zdCBTdHJpbmcmIHNjaGVtZSk7CiAgICAgdm9pZCBk
aWRIYW5kbGVVUklSZXF1ZXN0KGNvbnN0IFdlYkRhdGEqLCB1aW50NjRfdCBjb250ZW50TGVuZ3Ro
LCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50NjRfdCByZXF1ZXN0SUQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>