<?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>32196</bug_id>
          
          <creation_ts>2009-12-06 11:47:36 -0800</creation_ts>
          <short_desc>Make it possible to distinguish between NPAPI plugins and Application plugins</short_desc>
          <delta_ts>2022-06-23 18:24:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Robert Hogan">robert</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>jwieczorek</cc>
    
    <cc>kent.hansen</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mcrha</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>169108</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-12-06 11:47:36 -0800</bug_when>
    <thetext>The purpose of disabling plugins is to prevent the execution of third-party code
that may be untrustworthy. Qt plugins are implemented by the client rather than
loaded from an external source, so the client should have the opportunity to
consider them separately from other plugins.

This patch permits the client&apos;s reimplementation of QWebPage::createPlugin() to
decide whether or not to create a Qt plugin, even when pluginsEnabled is false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169109</commentid>
    <comment_count>1</comment_count>
      <attachid>44363</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-12-06 11:59:12 -0800</bug_when>
    <thetext>Created attachment 44363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169110</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-06 12:02:06 -0800</bug_when>
    <thetext>Attachment 44363 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/loader/FrameLoader.cpp:107:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/loader/FrameLoader.cpp:1263:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/loader/FrameLoader.cpp:1266:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/loader/FrameLoader.cpp:1268:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/platform/MIMETypeRegistry.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169667</commentid>
    <comment_count>3</comment_count>
      <attachid>44363</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-08 07:21:05 -0800</bug_when>
    <thetext>Comment on attachment 44363
Patch

This patch should be written in a more platform-independent fashion with fewer #if statements.

&gt; +#include &lt;wtf/Platform.h&gt;

There&apos;s no need to add this include. Platform.h is already included, as you can tell from the use of the #if ENABLE in the file. It&apos;s almost never necessary to add new includes of Platform.h.

&gt; -        if (!settings || !settings-&gt;arePluginsEnabled() || 
&gt; +        if (!settings ||
&gt; +#if PLATFORM(QT)
&gt; +           // Qt clients &apos;disable&apos; Qt plugins by not implementing them
&gt; +           (!settings-&gt;arePluginsEnabled() &amp;&amp; !MIMETypeRegistry::isQtPluginMIMEType(mimeType)) ||
&gt; +#else
&gt; +           !settings-&gt;arePluginsEnabled() ||
&gt; +#endif

Instead of calling this isQtPluginMIMEType, it should be isClientPluginMIMEType and should be called on all platforms. On non-Qt ones it can just return false.

&gt; +#include &lt;wtf/Platform.h&gt;

No need for this.

&gt; +#if PLATFORM(QT)
&gt; +    // Check to see if a mime type is a valid Java applet mime type
&gt; +    static bool isQtPluginMIMEType(const String&amp; mimeType);
&gt; +#endif

Comment here is wrong (copied from Java).

Then we need versions of isClientPluginMIMEType that return false on all the non-Qt platforms.

I&apos;m not sure &quot;client plug-in&quot; is the best name for this concept, so you can use a better one if you can think of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171093</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-12-12 02:29:52 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 44363 [details])
&gt; This patch should be written in a more platform-independent fashion with fewer
&gt; #if statements.
&gt; 
&gt; 
&gt; Then we need versions of isClientPluginMIMEType that return false on all the
&gt; non-Qt platforms.
&gt; 
&gt; I&apos;m not sure &quot;client plug-in&quot; is the best name for this concept, so you can use
&gt; a better one if you can think of it.

Is &apos;isNativePluginMIMEType&apos; OK?

Not sure about the unit tests to add - should I make the test available to all platforms?  Or is it ok to just add it for Qt? My sense is that I need to add it for all platforms but this means changes to nearly all the DRTs to add support for a WebKitPluginsEnabled preference.

My related reservation is adding so much code for platforms I can&apos;t compile myself - so the patch will only be tested on gtk and qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171836</commentid>
    <comment_count>5</comment_count>
      <attachid>44873</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-12-15 05:59:20 -0800</bug_when>
    <thetext>Created attachment 44873
Patch

Updated patch. Have only been able to test on qt and gtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171839</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-15 06:02:46 -0800</bug_when>
    <thetext>Attachment 44873 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/loader/FrameLoader.cpp:1264:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
WebCore/loader/FrameLoader.cpp:1267:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171843</commentid>
    <comment_count>7</comment_count>
      <attachid>44875</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2009-12-15 06:14:33 -0800</bug_when>
    <thetext>Created attachment 44875
Updated per stylebot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171844</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-15 06:18:40 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44875 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182370</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-19 12:22:04 -0800</bug_when>
    <thetext>Hmm, this is a slight change in behaviour. Jakub, do you think that would be a problem for Arora?

Tor Arne, what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182384</commentid>
    <comment_count>10</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-01-19 12:43:31 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Hmm, this is a slight change in behaviour. Jakub, do you think that would be a
&gt; problem for Arora?

This change shouldn&apos;t have any effect on Arora AFAICS. The only Qt plugin that is implemented in Arora is the substitution for Flash, which would not be affected by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182387</commentid>
    <comment_count>11</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-01-19 12:52:41 -0800</bug_when>
    <thetext>While I&apos;m here, my suggestions with regard to patch:

&gt; +bool MIMETypeRegistry::isNativePluginMIMEType(const String&amp; mimeType)
&gt; +{
&gt; +    UNUSED_PARAM(mimeType);
&gt; +    return false;
&gt; +}

I believe UNUSED_PARAM is supposed to only be used in C code. In C++ you can omit the parameter name in the signature.

&gt; index 0000000..05afae4
&gt; --- /dev/null
&gt; +++ b/LayoutTests/platform/qt/plugins/native-plugin-plugins-disabled-expected.txt
&gt; @@ -0,0 +1,20 @@
&gt; +layer at (0,0) size 800x600
&gt; +  RenderView at (0,0) size 800x600
&gt; +layer at (0,0) size 800x600
&gt; +  RenderBlock {HTML} at (0,0) size 800x600
&gt; +    RenderBody {BODY} at (8,8) size 784x584
&gt; +      RenderBlock {DIV} at (0,0) size 784x34
&gt; +        RenderText {#text} at (0,14) size 80x20
&gt; +          text run at (0,14) width 80: &quot;QT Plugin: &quot;
&gt; +        RenderPartObject {OBJECT} at (80,0) size 300x30 [QT: geometry: {at (88,8) size 300x30} isHidden: 0 isSelfVisible: 1 isParentVisible: 1 mask: {at (0,0) size 300x30} ] 
&gt; +        RenderText {#text} at (0,0) size 0x0
&gt; +      RenderBlock {DIV} at (0,34) size 784x34
&gt; +        RenderText {#text} at (0,14) size 133x20
&gt; +          text run at (0,14) width 133: &quot;QT Styled Widget: &quot;
&gt; +        RenderPartObject {OBJECT} at (133,0) size 300x30 [QT: geometry: {at (0,0) size 300x30} isHidden: 1 isSelfVisible: 1 isParentVisible: 1 mask: {at (0,0) size 0x0} ] 
&gt; +        RenderText {#text} at (0,0) size 0x0
&gt; +      RenderBlock {DIV} at (0,68) size 784x104
&gt; +        RenderText {#text} at (0,84) size 133x20
&gt; +          text run at (0,84) width 133: &quot;Third-party plugin: &quot;
&gt; +        RenderPartObject {EMBED} at (133,0) size 100x100
&gt; +        RenderText {#text} at (0,0) size 0x0

I am not entirely sure but I think it should be possible to write a text-only test, which somehow makes use of the JSC&lt;-&gt;QObject bindings. Like reading some properties or calling some slot?

&gt; +    // Check to see if a mime type is a native plugin implemented by the
&gt; +    // client (e.g. a QT Plugin).
&gt; +    static bool isNativePluginMIMEType(const String&amp; mimeType);
&gt; +

&gt; +&lt;!-- qt plugin widget: will be created --&gt;
&gt; +&lt;div&gt;
&gt; +QT Plugin:
&gt; +&lt;object type=&quot;application/x-qt-plugin&quot; classid=&quot;QProgressBar&quot; name=&quot;progressbar1&quot; height=30&gt;&lt;/object&gt;
&gt; +&lt;/div&gt;

QT -&gt; Qt. :) This can be especially confusing for people more familliar with QuickTime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182733</commentid>
    <comment_count>12</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-01-20 04:00:01 -0800</bug_when>
    <thetext>Seems fine to me, but as Jakub says, remove the name of the unused param instead, and all references to the toolkit Qt should be upper-case &apos;Q&apos; and lower-case &apos;t&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183116</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-21 01:10:47 -0800</bug_when>
    <thetext>Removed the [Qt] tag as this touches cross-platform code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183119</commentid>
    <comment_count>14</comment_count>
      <attachid>44875</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-01-21 01:13:46 -0800</bug_when>
    <thetext>Comment on attachment 44875
Updated per stylebot

I agree with Jakub and Tor Arne. I&apos;m okay with the concept, but I think &quot;isNativePluginMIMEType()&quot; is a bit confusing, as usually &quot;native&quot; refers to &quot;native code&quot; in this context (I would say).

Maybe a better way to distinguish between the two cases here is using application provided plugins and system provided plugins?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>192522</commentid>
    <comment_count>15</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-02-22 10:47:57 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; 
&gt; I am not entirely sure but I think it should be possible to write a text-only
&gt; test, which somehow makes use of the JSC&lt;-&gt;QObject bindings. Like reading some
&gt; properties or calling some slot?
&gt; 

A text-only test would definitely be preferable but I&apos;ve drawn a blank on implementing it - the test needs to detect the fact that an NPAPI plugin has not been created but a Qt one has been created when pluginsEnabled is false. I can&apos;t find any way of detecting that an NPAPI plugin has not been created in text-only mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193827</commentid>
    <comment_count>16</comment_count>
      <attachid>49515</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-02-25 12:20:33 -0800</bug_when>
    <thetext>Created attachment 49515
Updated Patch

Updated per all comments. As noted before, have not been able to come up with text-only test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198031</commentid>
    <comment_count>17</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-10 06:27:02 -0800</bug_when>
    <thetext>
Please follow the QtWebKit bug reporting guidelines when reporting bugs.

See http://trac.webkit.org/wiki/QtWebKitBugs

Specifically:

  - The &apos;QtWebKit&apos; component should only be used for bugs/features in the
    public QtWebKit API layer, not to signify that the bug is specific to
    the Qt port of WebKit

      http://trac.webkit.org/wiki/QtWebKitBugs#Component

  - Add the keyword &apos;Qt&apos; to signal that it&apos;s a Qt-related bug

      http://trac.webkit.org/wiki/QtWebKitBugs#Keywords</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202325</commentid>
    <comment_count>18</comment_count>
      <attachid>49515</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-21 14:59:44 -0700</bug_when>
    <thetext>Comment on attachment 49515
Updated Patch

An alternative would be to change the signature of allowPlugins() to allowPlugin(bool, const String&amp; mimeType)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202791</commentid>
    <comment_count>19</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-03-22 15:16:08 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 49515 [details])
&gt; An alternative would be to change the signature of allowPlugins() to
&gt; allowPlugin(bool, const String&amp; mimeType)

Yes, m_client-&gt;allowPlugins() certainly seems to be hanging around waiting for someone to make it do something! Since the decision is mimeType related though, it seems consistent to put it in MIMETypeRegistry just like isJavaAppletMIMEType().

P.S. The patch is a little stale against trunk so I may ask you to rs the rebased version if I have to move things around.

Also, I hope Ossy can check my pixel results are near enough to reality on the buildbot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202816</commentid>
    <comment_count>20</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-22 16:03:12 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; &gt; (From update of attachment 49515 [details] [details])
&gt; &gt; An alternative would be to change the signature of allowPlugins() to
&gt; &gt; allowPlugin(bool, const String&amp; mimeType)
&gt; 
&gt; Yes, m_client-&gt;allowPlugins() certainly seems to be hanging around waiting for
&gt; someone to make it do something! Since the decision is mimeType related though,
&gt; it seems consistent to put it in MIMETypeRegistry just like
&gt; isJavaAppletMIMEType().

Right. No problem with your current approach, was just a thought :)

&gt; P.S. The patch is a little stale against trunk so I may ask you to rs the
&gt; rebased version if I have to move things around.

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203370</commentid>
    <comment_count>21</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-24 03:04:50 -0700</bug_when>
    <thetext>&gt; Also, I hope Ossy can check my pixel results are near enough to reality on the
&gt; buildbot.

Unfortunately I can&apos;t apply your patch, could you rebase it? 

Hunk #1 FAILED at 1277.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/loader/FrameLoader.cpp.rej
Hunk #1 FAILED at 169.
1 out of 1 hunk FAILED -- saving rejects to file WebKitTools/DumpRenderTree/qt/DumpRenderTreeQt.cpp.rej
Hunk #1 FAILED at 457.
1 out of 1 hunk FAILED -- saving rejects to file WebKitTools/DumpRenderTree/qt/LayoutTestControllerQt.cpp.rej</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203514</commentid>
    <comment_count>22</comment_count>
      <attachid>51531</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-03-24 11:33:17 -0700</bug_when>
    <thetext>Created attachment 51531
Rebased Patch

Doh! Ossy: here you go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203746</commentid>
    <comment_count>23</comment_count>
      <attachid>51531</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-24 19:53:32 -0700</bug_when>
    <thetext>Comment on attachment 51531
Rebased Patch

r=me.  Mostly based off of hausmann&apos;s previous review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203838</commentid>
    <comment_count>24</comment_count>
      <attachid>51531</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-24 23:49:34 -0700</bug_when>
    <thetext>Comment on attachment 51531
Rebased Patch

Rejecting patch 51531 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/build-webkit&apos;, &apos;--debug&apos;]&quot; exit_code: 1
Last 500 characters of output:
ects/CommitQueue/WebCore/platform/mac/DragDataMac.mm -o /Users/eseidel/Projects/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/i386/DragDataMac.o
** BUILD FAILED **

The following build commands failed:
WebCore:
	Distributed-CompileC /Users/eseidel/Projects/CommitQueue/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/i386/FrameLoader.o /Users/eseidel/Projects/CommitQueue/WebCore/loader/FrameLoader.cpp normal i386 c++ com.apple.compilers.gcc.4_2
(1 failure)


Full output: http://webkit-commit-queue.appspot.com/results/1288030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203994</commentid>
    <comment_count>25</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-03-25 04:34:34 -0700</bug_when>
    <thetext>Please remove the last parenthesis from WebCore/loader/FrameLoader.cpp at line 1281. ;) Otherwise it works for me without any pixel differences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205570</commentid>
    <comment_count>26</comment_count>
      <attachid>49515</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-29 11:37:18 -0700</bug_when>
    <thetext>Comment on attachment 49515
Updated Patch

Cleared Simon Hausmann&apos;s review+ from obsolete attachment 49515 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207353</commentid>
    <comment_count>27</comment_count>
      <attachid>52327</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-01 13:30:28 -0700</bug_when>
    <thetext>Created attachment 52327
Updated Patch

OK, this is the result of my attempts to address the observations of ap and abarth on the mailing list.

I&apos;ve removed the check added to MimeTypeRegistry.

I&apos;ve added a client-&gt;isPlugin(mimetype) function that ports can implement to specify that a given mimetype should not be considered a plugin when plugins are disabled.

The reasons I have not used client-&gt;allowPlugins() or frameloader-&gt;allowPlugins() are:

- the check should only be made during requestObject(); 
- allowPlugins() is used elsewhere in WebCore where the mimetype is not available; 
- allowPlugins() is called in situations where client-implemented plugins such as Qt plugins are not relevant (e.g. DOMImplementation where a file could be opened with a plugin, Page.cpp where it is getting data from the plugin);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207411</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-01 14:36:42 -0700</bug_when>
    <thetext>+ virtual bool isPlugin(const String&amp;) { return true; }

It&apos;s not really the case that, by default, every MIME type is a plugin.

I still think we want to pass the MIME type information with the allowPlugins() call.  That will like clients selectively disable plugins by MIME types.  Responding to your points:

- the check should only be made during requestObject(); 

Ok.

- allowPlugins() is used elsewhere in WebCore where the mimetype is not
available; 

We could pass something like the null string here to indicate that we&apos;re asking about plugins in general and not about a particular plugin.  Alternatively, we could have two versions of this call, one that provides a MIME type and one that doesn&apos;t.

- allowPlugins() is called in situations where client-implemented plugins such
as Qt plugins are not relevant (e.g. DOMImplementation where a file could be
opened with a plugin, Page.cpp where it is getting data from the plugin);

I guess I&apos;m not really sure how a client-implemented plugin differs from a normal plugin.  Is the point that you want to selectively disable most plugins but keep some subset (the client-implemented ones) enabled at all times?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207413</commentid>
    <comment_count>29</comment_count>
      <attachid>52327</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-01 14:38:11 -0700</bug_when>
    <thetext>Comment on attachment 52327
Updated Patch

Removing from review queue while we discuss the design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207440</commentid>
    <comment_count>30</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-01 15:24:34 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; + virtual bool isPlugin(const String&amp;) { return true; }
&gt; 
&gt; It&apos;s not really the case that, by default, every MIME type is a plugin.
&gt; 
&gt; I still think we want to pass the MIME type information with the allowPlugins()
&gt; call.  That will like clients selectively disable plugins by MIME types. 
&gt; Responding to your points:
&gt; 
&gt; - the check should only be made during requestObject(); 
&gt; 
&gt; Ok.
&gt; 
&gt; - allowPlugins() is used elsewhere in WebCore where the mimetype is not
&gt; available; 
&gt; 
&gt; We could pass something like the null string here to indicate that we&apos;re asking
&gt; about plugins in general and not about a particular plugin.  Alternatively, we
&gt; could have two versions of this call, one that provides a MIME type and one
&gt; that doesn&apos;t.
&gt; 

Either of those are fine by me, I guess I just wanted to confine my change to the one case where it applied. I also had a vague notion that altering the signature of allowPlugins() to conform to just one use case, and calling it with null strings most of the time, would be frowned upon. 

&gt; - allowPlugins() is called in situations where client-implemented plugins such
&gt; as Qt plugins are not relevant (e.g. DOMImplementation where a file could be
&gt; opened with a plugin, Page.cpp where it is getting data from the plugin);
&gt; 
&gt; I guess I&apos;m not really sure how a client-implemented plugin differs from a
&gt; normal plugin.  Is the point that you want to selectively disable most plugins
&gt; but keep some subset (the client-implemented ones) enabled at all times?

Yes, exactly. Qt plugins can be as simple as push-buttons or as complex as forms but WebCore just needs to know that they can be created even when third-party plugins are disabled. After that, it can forget about them.

(If I&apos;m wrong on this point, hopefully Simon or someone else can correct me.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207475</commentid>
    <comment_count>31</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-04-01 16:32:29 -0700</bug_when>
    <thetext>&gt; Either of those are fine by me, I guess I just wanted to confine my change to
&gt; the one case where it applied. I also had a vague notion that altering the
&gt; signature of allowPlugins() to conform to just one use case, and calling it
&gt; with null strings most of the time, would be frowned upon. 

There&apos;s also the other use case of wanting to enable Flash on YouTube but disable Flash everywhere else.  I think that use case is strong enough to make the allowPlugins API slightly more complicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207834</commentid>
    <comment_count>32</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-02 05:49:14 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; 
&gt; There&apos;s also the other use case of wanting to enable Flash on YouTube but
&gt; disable Flash everywhere else.  I think that use case is strong enough to make
&gt; the allowPlugins API slightly more complicated.

Possibly just my own ignorance here but I don&apos;t think adding the mimetype to allowPlugins() will assist with that.  

So should I just go ahead and add the mimetype to the allowPlugins() signature and call it with null strings wherever it is unavailable? It looks like that&apos;s the way to go..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853249</commentid>
    <comment_count>33</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2013-03-12 02:52:42 -0700</bug_when>
    <thetext>It&apos;ll be nice to have it for Gtk+ widget &quot;plugins&quot; too, thus one would be able to disable all but widget plugins (useful for Evolution mail client, where it&apos;s not intended to run Java or Flash in a message preview/composer). Main concern is also about loading of the plugins, because it&apos;ll be good to not load those disallowed at all, which may speed up load time (application start), as a side effect. Please think of this as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1877624</commentid>
    <comment_count>34</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-06-23 04:10:00 -0700</bug_when>
    <thetext>NPAPI Plugin support has been removed from Safari 14 onward (and for JAVA, it was dropped in 12). Further, Webkit Plugin is not support since Safari 5.1 (based on below link).

Can this be marked as &quot;RESOLVED WONTFIX&quot;? If I am wrong, please ignore my comment. Thanks!

Link - https://developer.apple.com/library/archive/documentation/InternetWeb/Conceptual/WebKit_PluginProgTopic/WebKitPluginTopics.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44363</attachid>
            <date>2009-12-06 11:59:12 -0800</date>
            <delta_ts>2009-12-15 05:59:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Allow-plugins-of-type-x-qt-plugin-and-x-qt-styled-wi.patch</filename>
            <type>text/plain</type>
            <size>12637</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSAyZTk2N2VhZWMxMDQyMGExZDRjNjJiYWZhNTFlN2ZlMzljNDVmZjliIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFN1biwgNiBEZWMgMjAwOSAxOTozNTozNiArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIEFs
bG93IHBsdWdpbnMgb2YgdHlwZSB4LXF0LXBsdWdpbiBhbmQgeC1xdC1zdHlsZWQtd2lkZ2V0IHdo
ZW4gcGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCiBUaGUgcHVycG9zZSBvZiBkaXNhYmxpbmcgcGx1
Z2lucyBpcyB0byBwcmV2ZW50IHRoZSBleGVjdXRpb24gb2YgdGhpcmQtcGFydHkgY29kZQogdGhh
dCBtYXkgYmUgdW50cnVzdHdvcnRoeS4gUXQgcGx1Z2lucyBhcmUgaW1wbGVtZW50ZWQgYnkgdGhl
IGNsaWVudCByYXRoZXIgdGhhbgogbG9hZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzbyB0
aGUgY2xpZW50IHNob3VsZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bwogY29uc2lkZXIgdGhlbSBz
ZXBhcmF0ZWx5IGZyb20gb3RoZXIgcGx1Z2lucy4KClRoaXMgcGF0Y2ggcGVybWl0cyB0aGUgY2xp
ZW50J3MgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1Z2luKCkgdG8KZGVj
aWRlIHdoZXRoZXIgb3Igbm90IHRvIGNyZWF0ZSBhIFF0IHBsdWdpbiwgZXZlbiB3aGVuIHBsdWdp
bnNFbmFibGVkIGlzIGZhbHNlLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMyMTk2Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDIxICsrKysrKysrKysrKysrKysKIExheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvU2tpcHBlZCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogLi4ucXQtcXdpZGdldC1w
bHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQgfCAgIDIzICsrKysrKysrKysrKysr
KysrKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgICAgICAgICAgICAgICAgICAg
fCAgICAxICsKIC4uLi9xdC1xd2lkZ2V0LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwgICAg
ICAgIHwgICAyNSArKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIzICsrKysrKysrKysrKysrKysrKwogV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwICAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsr
KysrKy0KIFdlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oICAgICAgICAgICAgICAg
IHwgICAgNiArKysrCiBXZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAg
ICAgICAgICB8ICAgIDYgKysrKwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDE4ICsrKysrKysrKysrKysrCiAuLi4vRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgICB8ICAgIDIgKwogMTIgZmlsZXMgY2hhbmdl
ZCwgMTM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvcGx1Z2lucy9xdC1xd2lkZ2V0LXBsdWdpbi1wbHVnaW5z
LWRpc2FibGVkLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3Bs
dWdpbnMvcXQtcXdpZGdldC1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVi
YjJlYzAuLmUxNzhkZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAwOS0xMi0wNiAgUm9iZXJ0
IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBwbHVnaW5zIG9mIHR5cGUgeC1xdC1wbHVn
aW4gYW5kIHgtcXQtc3R5bGVkLXdpZGdldCB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgor
ICAgICAgICBUaGUgcHVycG9zZSBvZiBkaXNhYmxpbmcgcGx1Z2lucyBpcyB0byBwcmV2ZW50IHRo
ZSBleGVjdXRpb24gb2YgdGhpcmQtcGFydHkgY29kZQorICAgICAgICB0aGF0IG1heSBiZSB1bnRy
dXN0d29ydGh5LiBRdCBwbHVnaW5zIGFyZSBpbXBsZW1lbnRlZCBieSB0aGUgY2xpZW50IHJhdGhl
ciB0aGFuCisgICAgICAgIGxvYWRlZCBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZSwgc28gdGhlIGNs
aWVudCBzaG91bGQgaGF2ZSB0aGUgb3Bwb3J0dW5pdHkgdG8KKyAgICAgICAgY29uc2lkZXIgdGhl
bSBzZXBhcmF0ZWx5IGZyb20gb3RoZXIgcGx1Z2lucy4KKyAgICAgICAgCisgICAgICAgIFRoaXMg
cGF0Y2ggcGVybWl0cyB0aGUgY2xpZW50J3MgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6
Y3JlYXRlUGx1Z2luKCkgdG8KKyAgICAgICAgZGVjaWRlIHdoZXRoZXIgb3Igbm90IHRvIGNyZWF0
ZSBhIFF0IHBsdWdpbiwgZXZlbiB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAg
ICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMTk2
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9wbHVnaW5zL3F0LXF3aWRnZXQtcGx1
Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vU2tpcHBlZDoKKyAgICAgICAgKiBwbHVnaW5zL3F0LXF3aWRnZXQtcGx1Z2luLXBs
dWdpbnMtZGlzYWJsZWQuaHRtbDogQWRkZWQuCisKIDIwMDktMTItMDUgIE1hY2llaiBTdGFjaG93
aWFrICA8bWpzQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggN2YxNjFjZS4uMTliMWM3NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKQEAgLTM2MzgsNiArMzYzOCw3IEBAIHBsdWdpbnMvdGhyb3ctb24t
ZGVhbGxvYy5odG1sCiBwbHVnaW5zL3VuZGVmaW5lZC1wcm9wZXJ0eS1jcmFzaC5odG1sCiAjICAg
VGhlc2UgdGVzdCByZXF1aXJlIFF0IFdpZGdldHMKIHBsdWdpbnMvcXQtcXdpZGdldC1wbHVnaW4u
aHRtbAorcGx1Z2lucy9xdC1xd2lkZ2V0LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwKICMg
ICBUZXN0cyBmYWlsaW5nCiBwbHVnaW5zL2VtYmVkLWF0dHJpYnV0ZXMtc2V0dGluZy5odG1sCiBw
bHVnaW5zL2dldC11cmwtd2l0aC1ibGFuay10YXJnZXQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZAppbmRleCA1Y2E5YzZiLi5kNGI2OTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZApA
QCAtMTA4LDYgKzEwOCw3IEBAIHBsdWdpbnMvcmVsb2FkcGx1Z2lucy1uby1wYWdlcy5odG1sCiAK
ICMgVGhlc2UgdGVzdCByZXF1aXJlIFF0IFdpZGdldHMKIHBsdWdpbnMvcXQtcXdpZGdldC1wbHVn
aW4uaHRtbAorcGx1Z2lucy9xdC1xd2lkZ2V0LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwK
IAogIyBUaGlzIHRlc3QgcmVxdWlyZXMgb2dnIGNvZGVjcwogbWVkaWEvbWVkaWEtY2FuLXBsYXkt
b2dnLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L3BsdWdpbnMvcXQt
cXdpZGdldC1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL3F0LXF3aWRnZXQtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMDE2NDIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL3F0LXF3
aWRnZXQtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNp
emUgNzg0eDEwNAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0OHgy
MAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4OiAiSW1hZ2U6IgorICAgICAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICg0OCwxNikgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVySW1hZ2Ug
e0lNR30gYXQgKDAsMjApIHNpemUgODB4ODAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg4MCw4NCkgc2l6ZSA0eDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDgwLDg0KSB3aWR0aCA0
OiAiICIKKyAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMTA0KSBzaXplIDc4NHgzNAorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMTQpIHNpemUgMTIzeDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MTQpIHdpZHRoIDEyMzogIlFUIHByb2dyZXNzIGJhcjogIgorICAgICAgICBSZW5kZXJQYXJ0T2Jq
ZWN0IHtPQkpFQ1R9IGF0ICgxMjMsMCkgc2l6ZSAzMDB4MzAgW1FUOiBnZW9tZXRyeToge2F0ICgx
MzEsMTEyKSBzaXplIDMwMHgzMH0gaXNIaWRkZW46IDAgaXNTZWxmVmlzaWJsZTogMSBpc1BhcmVu
dFZpc2libGU6IDEgbWFzazoge2F0ICgwLDApIHNpemUgMzAweDMwfSBdIAorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDEzOCkgc2l6ZSA3ODR4MTA0CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCw4NCkgc2l6ZSAxMzN4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw4NCkgd2lkdGggMTMz
OiAiVGhpcmQtcGFydHkgcGx1Z2luOiAiCisgICAgICAgIFJlbmRlclBhcnRPYmplY3Qge0VNQkVE
fSBhdCAoMTMzLDApIHNpemUgMTAweDEwMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggYzVkZTc1NC4uNDM0
ZjkxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTcwNSw2ICs3MDUsNyBAQCBwbHVn
aW5zL3JlbG9hZHBsdWdpbnMtbm8tcGFnZXMuaHRtbAogCiAjIFRoZXNlIHRlc3RzIHJlcXVpcmUg
UXQgV2lkZ2V0cwogcGx1Z2lucy9xdC1xd2lkZ2V0LXBsdWdpbi5odG1sCitwbHVnaW5zL3F0LXF3
aWRnZXQtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQuaHRtbAogCiAjIEZhaWx1cmUgaW50cm9kdWNl
ZCBieSBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC81MTQyOQogIyBoYW1hamkgd2ls
bCBsb29rIGludG8gdGhpcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvcXQtcXdp
ZGdldC1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9x
dC1xd2lkZ2V0LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uY2MzNzk5ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsdWdpbnMvcXQtcXdpZGdldC1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sCkBAIC0wLDAg
KzEsMjUgQEAKKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRQbHVnaW5zRW5hYmxlZCIsIGZhbHNlKTsKKyAgICB9Cis8L3Njcmlw
dD4KK0ltYWdlOjxici8+CisgPGltZyBzcmM9InFyYzovd2Via2l0L2luc3BlY3Rvci9JbWFnZXMv
bGFyZ2VyUmVzb3VyY2VzQnV0dG9uR2x5cGgucG5nIiB3aWR0aD0iODAiIGhlaWdodD0iODAiLz4K
KyA8YnIvPgorCis8IS0tIHF0IHBsdWdpbiB3aWRnZXQ6IHdpbGwgYmUgY3JlYXRlZCAtLT4KKzxk
aXY+CitRVCBwcm9ncmVzcyBiYXI6Cis8b2JqZWN0IHR5cGU9ImFwcGxpY2F0aW9uL3gtcXQtcGx1
Z2luIiBjbGFzc2lkPSJRUHJvZ3Jlc3NCYXIiIG5hbWU9InByb2dyZXNzYmFyMSIgaGVpZ2h0PTMw
Pjwvb2JqZWN0PgorPC9kaXY+CisKKzwhLS0gdGhpcmQgcGFydHkgcGx1Z2luIHdpZGdldDogd2ls
bCBub3QgYmUgY3JlYXRlZCAtLT4KKzxkaXY+CitUaGlyZC1wYXJ0eSBwbHVnaW46Cis8ZW1iZWQg
bmFtZT0icGxnIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiB3aWR0
aD0xMDAgaGVpZ2h0PTEwMD48L2VtYmVkPgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODJm
NTI4NS4uZmUzZmQzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAwOS0xMi0wNiAgUm9iZXJ0IEhvZ2FuICA8
cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBbGxvdyBwbHVnaW5zIG9mIHR5cGUgeC1xdC1wbHVnaW4gYW5kIHgt
cXQtc3R5bGVkLXdpZGdldCB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAgICBU
aGUgcHVycG9zZSBvZiBkaXNhYmxpbmcgcGx1Z2lucyBpcyB0byBwcmV2ZW50IHRoZSBleGVjdXRp
b24gb2YgdGhpcmQtcGFydHkgY29kZQorICAgICAgICB0aGF0IG1heSBiZSB1bnRydXN0d29ydGh5
LiBRdCBwbHVnaW5zIGFyZSBpbXBsZW1lbnRlZCBieSB0aGUgY2xpZW50IHJhdGhlciB0aGFuCisg
ICAgICAgIGxvYWRlZCBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZSwgc28gdGhlIGNsaWVudCBzaG91
bGQgaGF2ZSB0aGUgb3Bwb3J0dW5pdHkgdG8KKyAgICAgICAgY29uc2lkZXIgdGhlbSBzZXBhcmF0
ZWx5IGZyb20gb3RoZXIgcGx1Z2lucy4KKyAgICAgICAgCisgICAgICAgIFRoaXMgcGF0Y2ggcGVy
bWl0cyB0aGUgY2xpZW50J3MgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1
Z2luKCkgdG8KKyAgICAgICAgZGVjaWRlIHdoZXRoZXIgb3Igbm90IHRvIGNyZWF0ZSBhIFF0IHBs
dWdpbiwgZXZlbiB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAgICAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMTk2CisKKyAgICAg
ICAgVGVzdDogcGx1Z2lucy9xdC1xd2lkZ2V0LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwK
KworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCk6CisgICAgICAgICogcGxhdGZvcm0vTUlNRVR5cGVS
ZWdpc3RyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc1F0UGx1Z2luTUlNRVR5cGUp
OgorCiAyMDA5LTEyLTA2ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5k
ZXggMjA0N2M4ZC4uNzhhNzRhZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTA0LDYgKzEw
NCw3IEBACiAjaW5jbHVkZSAiWFNTQXVkaXRvci5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZv
cm0uaD4KIAogCiAjaWYgRU5BQkxFKFNWRykKQEAgLTEyNTksNyArMTI2MCwxMyBAQCBib29sIEZy
YW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0KFJlbmRlclBhcnQqIHJlbmRlcmVyLCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgQQogICAgIGJvb2wgdXNlRmFsbGJhY2s7CiAgICAgaWYgKHNob3VsZFVz
ZVBsdWdpbihjb21wbGV0ZWRVUkwsIG1pbWVUeXBlLCByZW5kZXJlci0+aGFzRmFsbGJhY2tDb250
ZW50KCksIHVzZUZhbGxiYWNrKSkgewogICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2Zy
YW1lLT5zZXR0aW5ncygpOwotICAgICAgICBpZiAoIXNldHRpbmdzIHx8ICFzZXR0aW5ncy0+YXJl
UGx1Z2luc0VuYWJsZWQoKSB8fCAKKyAgICAgICAgaWYgKCFzZXR0aW5ncyB8fAorI2lmIFBMQVRG
T1JNKFFUKQorICAgICAgICAgICAvLyBRdCBjbGllbnRzICdkaXNhYmxlJyBRdCBwbHVnaW5zIGJ5
IG5vdCBpbXBsZW1lbnRpbmcgdGhlbQorICAgICAgICAgICAoIXNldHRpbmdzLT5hcmVQbHVnaW5z
RW5hYmxlZCgpICYmICFNSU1FVHlwZVJlZ2lzdHJ5Ojppc1F0UGx1Z2luTUlNRVR5cGUobWltZVR5
cGUpKSB8fAorI2Vsc2UKKyAgICAgICAgICAgIXNldHRpbmdzLT5hcmVQbHVnaW5zRW5hYmxlZCgp
IHx8CisjZW5kaWYKICAgICAgICAgICAgICghc2V0dGluZ3MtPmlzSmF2YUVuYWJsZWQoKSAmJiBN
SU1FVHlwZVJlZ2lzdHJ5Ojppc0phdmFBcHBsZXRNSU1FVHlwZShtaW1lVHlwZSkpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAoaXNTYW5kYm94ZWQoU2FuZGJveFBsdWdp
bnMpKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmggYi9X
ZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaAppbmRleCA4ODAxYWMxLi5lNjE3MmU1
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaAorKysgYi9X
ZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaApAQCAtMzAsNiArMzAsNyBAQAogI2lu
Y2x1ZGUgIlN0cmluZ0hhc2guaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC02Nyw2ICs2OCwxMSBAQCBwdWJsaWM6CiAgICAgLy8gQ2hlY2sgdG8gc2Vl
IGlmIGEgbWltZSB0eXBlIGlzIGEgdmFsaWQgSmF2YSBhcHBsZXQgbWltZSB0eXBlCiAgICAgc3Rh
dGljIGJvb2wgaXNKYXZhQXBwbGV0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAK
KyNpZiBQTEFURk9STShRVCkKKyAgICAvLyBDaGVjayB0byBzZWUgaWYgYSBtaW1lIHR5cGUgaXMg
YSB2YWxpZCBKYXZhIGFwcGxldCBtaW1lIHR5cGUKKyAgICBzdGF0aWMgYm9vbCBpc1F0UGx1Z2lu
TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBI
YXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGlj
IEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygpOwog
ICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9y
RW5jb2RpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdp
c3RyeVF0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcApp
bmRleCAyMmNlZTZmLi5lODE5MDJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L01J
TUVUeXBlUmVnaXN0cnlRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJl
Z2lzdHJ5UXQuY3BwCkBAIC04Miw0ICs4MiwxMCBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6
Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiAgICAgcmV0dXJuICJh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iOwogfQogCitib29sIE1JTUVUeXBlUmVnaXN0cnk6Omlz
UXRQbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHJldHVybiBt
aW1lVHlwZS5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi94LXF0LXBsdWdpbiIsIGZhbHNlKQorICAg
ICAgICB8fCBtaW1lVHlwZS5zdGFydHNXaXRoKCJhcHBsaWNhdGlvbi94LXF0LXN0eWxlZC13aWRn
ZXQiLCBmYWxzZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA5NzIwM2RlLi5hYjY3MDBmIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjEgQEAKKzIwMDktMTItMDYgIFJvYmVydCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dh
bi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWxsb3cgcGx1Z2lucyBvZiB0eXBlIHgtcXQtcGx1Z2luIGFuZCB4LXF0LXN0eWxlZC13aWRnZXQg
d2hlbiBwbHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KKyAgICAgICAgVGhlIHB1cnBvc2Ugb2YgZGlz
YWJsaW5nIHBsdWdpbnMgaXMgdG8gcHJldmVudCB0aGUgZXhlY3V0aW9uIG9mIHRoaXJkLXBhcnR5
IGNvZGUKKyAgICAgICAgdGhhdCBtYXkgYmUgdW50cnVzdHdvcnRoeS4gUXQgcGx1Z2lucyBhcmUg
aW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudCByYXRoZXIgdGhhbgorICAgICAgICBsb2FkZWQgZnJv
bSBhbiBleHRlcm5hbCBzb3VyY2UsIHNvIHRoZSBjbGllbnQgc2hvdWxkIGhhdmUgdGhlIG9wcG9y
dHVuaXR5IHRvCisgICAgICAgIGNvbnNpZGVyIHRoZW0gc2VwYXJhdGVseSBmcm9tIG90aGVyIHBs
dWdpbnMuCisgICAgICAgIAorICAgICAgICBUaGlzIHBhdGNoIHBlcm1pdHMgdGhlIGNsaWVudCdz
IHJlaW1wbGVtZW50YXRpb24gb2YgUVdlYlBhZ2U6OmNyZWF0ZVBsdWdpbigpIHRvCisgICAgICAg
IGRlY2lkZSB3aGV0aGVyIG9yIG5vdCB0byBjcmVhdGUgYSBRdCBwbHVnaW4sIGV2ZW4gd2hlbiBw
bHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE5NgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKwogMjAwOS0xMi0wNSAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRy
b2xsZXJRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmNwcAppbmRleCAwZWE1NjMyLi4yN2RmNDdlIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcApA
QCAtMzYyLDQgKzM2Miw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJl
ZmVyZW5jZShjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBRVmFyaWFuCiAgICAgICAgIHNldHRp
bmdzLT5zZXRGb250U2l6ZShRV2ViU2V0dGluZ3M6OkRlZmF1bHRGb250U2l6ZSwgdmFsdWUudG9J
bnQoKSk7CiAgICAgZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVu
Y2VLZXkiKQogICAgICAgICBRV2ViU2V0dGluZ3M6OnNldE1heGltdW1QYWdlc0luQ2FjaGUodmFs
dWUudG9JbnQoKSk7CisgICAgZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0UGx1Z2luc0VuYWJsZWQi
KQorICAgICAgICBzZXR0aW5ncy0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6UGx1Z2luc0Vu
YWJsZWQsIHZhbHVlLnRvQm9vbCgpKTsKIH0KLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="26197"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44873</attachid>
            <date>2009-12-15 05:59:20 -0800</date>
            <delta_ts>2009-12-15 06:14:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Allow-plugins-implemented-by-the-client-such-as-mime.patch</filename>
            <type>text/plain</type>
            <size>22677</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBkYWQyMjYzM2U5OTU4YjllNTQ1ZWVhZGJkZDU4YTI1NjkzNDhiOWIwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFN1biwgNiBEZWMgMjAwOSAxOTozNTozNiArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIEFs
bG93IHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudCwgc3VjaCBhcyBtaW1ldHlwZSAn
eC1xdC1wbHVnaW4nLAogd2hlbiBwbHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KClRoZSBwdXJwb3Nl
IG9mIGRpc2FibGluZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhlIGV4ZWN1dGlvbiBvZiB0aGly
ZC1wYXJ0eSBjb2RlCnRoYXQgbWF5IGJlIHVudHJ1c3R3b3J0aHkuIFF0IHBsdWdpbnMgYXJlIGlt
cGxlbWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVyIHRoYW4KbG9hZGVkIGZyb20gYW4gZXh0ZXJu
YWwgc291cmNlLCBzbyB0aGUgY2xpZW50IHNob3VsZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bwpj
b25zaWRlciB0aGVtIHNlcGFyYXRlbHkgZnJvbSBvdGhlciBwbHVnaW5zLgoKQWRkIGEgZnVuY3Rp
b24gTWltZVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHRoYXQgV2ViS2l0
CnVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgpIHRvIGRldGVybWlu
ZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAp0byBsb2FkIGEgcGx1Z2luLiBJZiBpc05hdGl2ZVBsdWdp
bk1JTUVUeXBlKCkgcmV0dXJucyB0cnVlLCBXZWJLaXQgd2lsbCBsb2FkCnRoZSBwbHVnaW4gZXZl
biBpZiBhcmVQbHVnaW5zRW5hYmxlZCgpIGlzIGZhbHNlLgoKQ3VycmVudGx5LCBvbmx5IFF0IGhh
cyBuYXRpdmVseSBpbXBsZW1lbnRlZCBwbHVnaW5zOiB0aGVzZSB1c2UgdGhlIG1pbWV0eXBlCid4
LXF0LXBsdWdpbicgYW5kICd4LXF0LXN0eWxlZC13aWRnZXQnLiBUaGlzIHBhdGNoIHBlcm1pdHMg
UXQgY2xpZW50cycKcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1Z2luKCkg
dG8gZGVjaWRlIHdoZXRoZXIgb3Igbm90CnRvIGNyZWF0ZSBhIFF0IHBsdWdpbiwgZXZlbiB3aGVu
IGFyZVBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgoKRm9yIGFsbCBwbGF0Zm9ybXMgYXBhcnQgZnJv
bSBRdCwgaXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHJldHVybnMgZmFsc2UuCgpodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKLS0tCiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzAgKysrKysrKysrKysrCiAu
Li4vbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dCAgICB8ICAgMjAg
KysrKysrKysKIC4uLi9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0
ICAgIHwgICAyMCArKysrKysrKwogLi4uL3BsdWdpbnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRp
c2FibGVkLmh0bWwgICAgfCAgIDM0ICsrKysrKysrKysrKysrCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDggKysrKysrKysrKysrKysrKysr
KysKIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCAgICAgICAgICAgICAgICAgICAgIHwg
ICAgNSArKy0KIFdlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oICAgICAgICAgICAg
ICAgIHwgICAgNCArKwogLi4uL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJv
bWl1bS5jcHAgfCAgICA4ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3Ry
eUd0ay5jcHAgICAgICAgfCAgICA4ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlw
ZVJlZ2lzdHJ5SGFpa3UuY3BwICAgfCAgICA3ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlN
RVR5cGVSZWdpc3RyeU1hYy5tbSAgICAgICAgfCAgICA2ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9x
dC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwICAgICAgICAgfCAgICA2ICsrKwogV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAgICAgICAgfCAgICA3ICsrKwogV2ViQ29y
ZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2UuY3BwICAgfCAgICA4ICsrKwog
V2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwICAgICAgICAgfCAgICA4
ICsrKwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDMzICsrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHAgIHwgICAgMSArCiAuLi4vRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRl
c3RDb250cm9sbGVyR3RrLmNwcCB8ICAgIDMgKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAgMiArCiAxOSBmaWxlcyBjaGFuZ2VkLCAyNTYg
aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1l
eHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbHVnaW5zL25hdGl2
ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1s
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGI5MmMyMWEuLjYzODI4NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0x
Mi0xNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBwbHVnaW5zIGltcGxl
bWVudGVkIGJ5IHRoZSBjbGllbnQsIHN1Y2ggYXMgbWltZXR5cGUgJ3gtcXQtcGx1Z2luJywKKyAg
ICAgICAgd2hlbiBwbHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KKyAgICAgICAgCisgICAgICAgIFRo
ZSBwdXJwb3NlIG9mIGRpc2FibGluZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhlIGV4ZWN1dGlv
biBvZiB0aGlyZC1wYXJ0eSBjb2RlCisgICAgICAgIHRoYXQgbWF5IGJlIHVudHJ1c3R3b3J0aHku
IFF0IHBsdWdpbnMgYXJlIGltcGxlbWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVyIHRoYW4KKyAg
ICAgICAgbG9hZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzbyB0aGUgY2xpZW50IHNob3Vs
ZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb25zaWRlciB0aGVtIHNlcGFyYXRl
bHkgZnJvbSBvdGhlciBwbHVnaW5zLgorICAgICAgICAKKyAgICAgICAgQWRkIGEgZnVuY3Rpb24g
TWltZVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHRoYXQgV2ViS2l0Cisg
ICAgICAgIHVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgpIHRvIGRl
dGVybWluZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAorICAgICAgICB0byBsb2FkIGEgcGx1Z2luLiBJ
ZiBpc05hdGl2ZVBsdWdpbk1JTUVUeXBlKCkgcmV0dXJucyB0cnVlLCBXZWJLaXQgd2lsbCBsb2Fk
CisgICAgICAgIHRoZSBwbHVnaW4gZXZlbiBpZiBhcmVQbHVnaW5zRW5hYmxlZCgpIGlzIGZhbHNl
LgorICAgICAgICAKKyAgICAgICAgQ3VycmVudGx5LCBvbmx5IFF0IGhhcyBuYXRpdmVseSBpbXBs
ZW1lbnRlZCBwbHVnaW5zOiB0aGVzZSB1c2UgdGhlIG1pbWV0eXBlCisgICAgICAgICd4LXF0LXBs
dWdpbicgYW5kICd4LXF0LXN0eWxlZC13aWRnZXQnLiBUaGlzIHBhdGNoIHBlcm1pdHMgUXQgY2xp
ZW50cycKKyAgICAgICAgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1Z2lu
KCkgdG8gZGVjaWRlIHdoZXRoZXIgb3Igbm90CisgICAgICAgIHRvIGNyZWF0ZSBhIFF0IHBsdWdp
biwgZXZlbiB3aGVuIGFyZVBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAgICAKKyAgICAg
ICAgRm9yIGFsbCBwbGF0Zm9ybXMgYXBhcnQgZnJvbSBRdCwgaXNOYXRpdmVQbHVnaW5NSU1FVHlw
ZSgpIHJldHVybnMgZmFsc2UuCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKKworICAgICAgICAqIHBsYXRmb3JtL3F0L3BsdWdp
bnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGx1Z2lucy9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNh
YmxlZC5odG1sOiBBZGRlZC4KKwogMjAwOS0xMi0xNSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91dCByNTIxNDAuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lu
cy1kaXNhYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5z
L25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDVhZmFlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L3BsdWdpbnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgzNAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMTQpIHNpemUgODB4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNCkgd2lk
dGggODA6ICJRVCBQbHVnaW46ICIKKyAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7T0JKRUNUfSBh
dCAoODAsMCkgc2l6ZSAzMDB4MzAgW1FUOiBnZW9tZXRyeToge2F0ICg4OCw4KSBzaXplIDMwMHgz
MH0gaXNIaWRkZW46IDAgaXNTZWxmVmlzaWJsZTogMSBpc1BhcmVudFZpc2libGU6IDEgbWFzazog
e2F0ICgwLDApIHNpemUgMzAweDMwfSBdIAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDM0KSBzaXplIDc4
NHgzNAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTQpIHNpemUgMTMzeDIwCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTQpIHdpZHRoIDEzMzogIlFUIFN0eWxlZCBXaWRnZXQ6
ICIKKyAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7T0JKRUNUfSBhdCAoMTMzLDApIHNpemUgMzAw
eDMwIFtRVDogZ2VvbWV0cnk6IHthdCAoMCwwKSBzaXplIDMwMHgzMH0gaXNIaWRkZW46IDEgaXNT
ZWxmVmlzaWJsZTogMSBpc1BhcmVudFZpc2libGU6IDEgbWFzazoge2F0ICgwLDApIHNpemUgMHgw
fSBdIAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDY4KSBzaXplIDc4NHgxMDQKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDg0KSBzaXplIDEzM3gyMAorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDg0KSB3aWR0aCAxMzM6ICJUaGlyZC1wYXJ0eSBwbHVnaW46ICIKKyAgICAgICAgUmVuZGVy
UGFydE9iamVjdCB7RU1CRUR9IGF0ICgxMzMsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGx1Z2lucy9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGx1Z2lucy9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjNTE3ODUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNh
YmxlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MzUKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDE1KSBzaXplIDc1eDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUp
IHdpZHRoIDc1OiAiUVQgUGx1Z2luOiAiCisgICAgICAgIFJlbmRlclBhcnRPYmplY3Qge09CSkVD
VH0gYXQgKDc1LDApIHNpemUgMzAweDMwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzUpIHNpemUgNzg0
eDM1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxNSkgc2l6ZSAxMjR4MjAKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNSkgd2lkdGggMTI0OiAiUVQgU3R5bGVkIFdpZGdldDog
IgorICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0IHtPQkpFQ1R9IGF0ICgxMjQsMCkgc2l6ZSAzMDB4
MzAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCw3MCkgc2l6ZSA3ODR4MTA1CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCw4NSkgc2l6ZSAxMjR4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCw4NSkgd2lkdGggMTI0OiAiVGhpcmQtcGFydHkgcGx1Z2luOiAiCisgICAgICAgIFJlbmRlclBh
cnRPYmplY3Qge0VNQkVEfSBhdCAoMTI0LDApIHNpemUgMTAweDEwMAorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
dWdpbnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZTQwNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sCkBAIC0wLDAg
KzEsMzQgQEAKKzwhLS0gTmF0aXZlIHBsdWdpbnMgYXJlIHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkg
dGhlIFdlYktpdCBjbGllbnQsIGFzIG9wcG9zZWQgdG8KKyAgICAgdGhpcmQtcGFydHkgcGx1Z2lu
cyBzdWNoIGFzIEZsYXNoLiBDbGllbnQtaW1wbGVtZW50ZWQgcGx1Z2lucyBhcmUgZXhlbXB0ZWQK
KyAgICAgZnJvbSB0aGUgcGx1Z2luc0VuYWJsZWQgY2hlY2sgYXMgaXQgaXMgdGhlIGNsaWVudCB0
aGF0IGltcGxpY2l0bHkgZGVjaWRlcworICAgICB3aGV0aGVyIG9yIG5vdCB0aGV5IGVuYWJsZWQg
d2hlbiBpdCBjaG9vc2VzIHdoZXRoZXIgdG8gaW1wbGVtZW50IHRoZW0gb3Igbm90LgorCisgICAg
IEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIG9ubHkgUXQgY2xpZW50cyBjYW4gaW1wbGVtZW50IHRo
ZWlyIG93biBwbHVnaW5zLiAtLT4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRQbHVnaW5zRW5hYmxlZCIsIGZhbHNlKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKworPCEtLSBxdCBwbHVnaW4gd2lkZ2V0OiB3aWxsIGJlIGNyZWF0ZWQg
LS0+Cis8ZGl2PgorUVQgUGx1Z2luOgorPG9iamVjdCB0eXBlPSJhcHBsaWNhdGlvbi94LXF0LXBs
dWdpbiIgY2xhc3NpZD0iUVByb2dyZXNzQmFyIiBuYW1lPSJwcm9ncmVzc2JhcjEiIGhlaWdodD0z
MD48L29iamVjdD4KKzwvZGl2PgorCis8IS0tIHF0IHN0eWxlZCB3aWRnZXQ6IHdpbGwgYmUgY3Jl
YXRlZCAtLT4KKzxkaXY+CitRVCBTdHlsZWQgV2lkZ2V0OgorPG9iamVjdCB0eXBlPSJhcHBsaWNh
dGlvbi94LXF0LXN0eWxlZC13aWRnZXQiIGNsYXNzaWQ9IlFQcm9ncmVzc0JhciIgbmFtZT0icHJv
Z3Jlc3NiYXIxIiBoZWlnaHQ9MzA+PC9vYmplY3Q+Cis8L2Rpdj4KKworPCEtLSB0aGlyZCBwYXJ0
eSBwbHVnaW4gd2lkZ2V0OiB3aWxsIG5vdCBiZSBjcmVhdGVkIC0tPgorPGRpdj4KK1RoaXJkLXBh
cnR5IHBsdWdpbjoKKzxlbWJlZCBuYW1lPSJwbGciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0
LXRlc3QtbmV0c2NhcGUiIHdpZHRoPTEwMCBoZWlnaHQ9MTAwPjwvZW1iZWQ+Cis8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBlNWYzYmQ3Li4zMTUyN2U5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDA5LTEy
LTE1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHBsdWdpbnMgaW1wbGVt
ZW50ZWQgYnkgdGhlIGNsaWVudCwgc3VjaCBhcyBtaW1ldHlwZSAneC1xdC1wbHVnaW4nLAorICAg
ICAgICB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAgICAKKyAgICAgICAgVGhl
IHB1cnBvc2Ugb2YgZGlzYWJsaW5nIHBsdWdpbnMgaXMgdG8gcHJldmVudCB0aGUgZXhlY3V0aW9u
IG9mIHRoaXJkLXBhcnR5IGNvZGUKKyAgICAgICAgdGhhdCBtYXkgYmUgdW50cnVzdHdvcnRoeS4g
UXQgcGx1Z2lucyBhcmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudCByYXRoZXIgdGhhbgorICAg
ICAgICBsb2FkZWQgZnJvbSBhbiBleHRlcm5hbCBzb3VyY2UsIHNvIHRoZSBjbGllbnQgc2hvdWxk
IGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNvbnNpZGVyIHRoZW0gc2VwYXJhdGVs
eSBmcm9tIG90aGVyIHBsdWdpbnMuCisgICAgICAgIAorICAgICAgICBBZGQgYSBmdW5jdGlvbiBN
aW1lVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKCkgdGhhdCBXZWJLaXQKKyAg
ICAgICAgdXNlcyBpbiBjb25qdW5jdGlvbiB3aXRoIGFyZVBsdWdpbnNFbmFibGVkKCkgdG8gZGV0
ZXJtaW5lIGlmIGl0IHNob3VsZCBhdHRlbXB0CisgICAgICAgIHRvIGxvYWQgYSBwbHVnaW4uIElm
IGlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoKSByZXR1cm5zIHRydWUsIFdlYktpdCB3aWxsIGxvYWQK
KyAgICAgICAgdGhlIHBsdWdpbiBldmVuIGlmIGFyZVBsdWdpbnNFbmFibGVkKCkgaXMgZmFsc2Uu
CisgICAgICAgIAorICAgICAgICBDdXJyZW50bHksIG9ubHkgUXQgaGFzIG5hdGl2ZWx5IGltcGxl
bWVudGVkIHBsdWdpbnM6IHRoZXNlIHVzZSB0aGUgbWltZXR5cGUKKyAgICAgICAgJ3gtcXQtcGx1
Z2luJyBhbmQgJ3gtcXQtc3R5bGVkLXdpZGdldCcuIFRoaXMgcGF0Y2ggcGVybWl0cyBRdCBjbGll
bnRzJworICAgICAgICByZWltcGxlbWVudGF0aW9uIG9mIFFXZWJQYWdlOjpjcmVhdGVQbHVnaW4o
KSB0byBkZWNpZGUgd2hldGhlciBvciBub3QKKyAgICAgICAgdG8gY3JlYXRlIGEgUXQgcGx1Z2lu
LCBldmVuIHdoZW4gYXJlUGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCisgICAgICAgIAorICAgICAg
ICBGb3IgYWxsIHBsYXRmb3JtcyBhcGFydCBmcm9tIFF0LCBpc05hdGl2ZVBsdWdpbk1JTUVUeXBl
KCkgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE5NgorCisgICAgICAgIFRlc3Q6IHBsdWdpbnMvbmF0aXZl
LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpN
SU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5
cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0v
d2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVS
ZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vd2lu
Y2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBl
UmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL3d4
L01pbWVUeXBlUmVnaXN0cnlXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lz
dHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKwogMjAwOS0xMi0xNSAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMzE2M2VjZi4uZGFmMjQ0OCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTI2MSw3ICsxMjYxLDEwIEBAIGJvb2wgRnJhbWVMb2Fk
ZXI6OnJlcXVlc3RPYmplY3QoUmVuZGVyUGFydCogcmVuZGVyZXIsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBBCiAgICAgYm9vbCB1c2VGYWxsYmFjazsKICAgICBpZiAoc2hvdWxkVXNlUGx1Z2lu
KGNvbXBsZXRlZFVSTCwgbWltZVR5cGUsIHJlbmRlcmVyLT5oYXNGYWxsYmFja0NvbnRlbnQoKSwg
dXNlRmFsbGJhY2spKSB7CiAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUtPnNl
dHRpbmdzKCk7Ci0gICAgICAgIGlmICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5hcmVQbHVnaW5z
RW5hYmxlZCgpIHx8IAorICAgICAgICBpZiAoIXNldHRpbmdzIHx8CisgICAgICAgICAgICAvLyBO
YXRpdmUgcGx1Z2lucyBhcmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudC4gVGhlIGNsaWVudCBk
aXNhYmxlcyBzdWNoIHBsdWdpbnMgYnkKKyAgICAgICAgICAgIC8vIG5vdCBpbXBsZW1lbnRpbmcg
dGhlbS4KKyAgICAgICAgICAgICghc2V0dGluZ3MtPmFyZVBsdWdpbnNFbmFibGVkKCkgJiYgIU1J
TUVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUobWltZVR5cGUpKSB8fAogICAg
ICAgICAgICAgKCFzZXR0aW5ncy0+aXNKYXZhRW5hYmxlZCgpICYmIE1JTUVUeXBlUmVnaXN0cnk6
OmlzSmF2YUFwcGxldE1JTUVUeXBlKG1pbWVUeXBlKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIGlmIChpc1NhbmRib3hlZChTYW5kYm94UGx1Z2lucykpCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
TUlNRVR5cGVSZWdpc3RyeS5oCmluZGV4IDg4MDFhYzEuLjhiZjg3OGYgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
TUlNRVR5cGVSZWdpc3RyeS5oCkBAIC02Nyw2ICs2NywxMCBAQCBwdWJsaWM6CiAgICAgLy8gQ2hl
Y2sgdG8gc2VlIGlmIGEgbWltZSB0eXBlIGlzIGEgdmFsaWQgSmF2YSBhcHBsZXQgbWltZSB0eXBl
CiAgICAgc3RhdGljIGJvb2wgaXNKYXZhQXBwbGV0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSk7CiAKKyAgICAvLyBDaGVjayB0byBzZWUgaWYgYSBtaW1lIHR5cGUgaXMgYSBuYXRpdmUg
cGx1Z2luIGltcGxlbWVudGVkIGJ5IHRoZQorICAgIC8vIGNsaWVudCAoZS5nLiBhIFFUIFBsdWdp
bikuCisgICAgc3RhdGljIGJvb2wgaXNOYXRpdmVQbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcm
IG1pbWVUeXBlKTsKKwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZElt
YWdlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVk
SW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygpOwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdl
dFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2RpbmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcAppbmRleCBm
ZjBiZTgyLi5iZjY5ZGMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL01J
TUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwCkBAIC0zNiw2ICszNiw4IEBACiAjaW5jbHVk
ZSAiTWVkaWFQbGF5ZXIuaCIKICNpbmNsdWRlICJQbHVnaW5EYXRhQ2hyb21pdW0uaCIKIAorI2lu
Y2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgorCiAvLyBOT1RFOiBVbmxpa2Ugb3RoZXIgcG9ydHMs
IHdlIGRvbid0IHVzZSB0aGUgc2hhcmVkIGltcGxlbWVudGF0aW9uIGJpdHMgaW4KIC8vIE1JTUVU
eXBlUmVnaXN0cnkuY3BwLiAgSW5zdGVhZCwgd2UgbmVlZCB0byByb3V0ZSBtb3N0IGZ1bmN0aW9u
cyB2aWEgdGhlCiAvLyBDaHJvbWl1bUJyaWRnZSB0byB0aGUgZW1iZWRkZXIuCkBAIC0xMzAsNiAr
MTMyLDEyIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNZWRpYU1JTUVUeXBlRm9yRXh0
ZW5zaW9uKGNvbnN0IFN0cmluZyYpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitib29sIE1J
TUVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSkKK3sKKyAgICBVTlVTRURfUEFSQU0obWltZVR5cGUpOworICAgIHJldHVybiBmYWxzZTsK
K30KKwogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZHVtbXlIYXNoU2V0KCkKIHsKICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01JTUVU
eXBlUmVnaXN0cnlHdGsuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3Ry
eUd0ay5jcHAKaW5kZXggOGFmYjYwZi4uMTRhYjgwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAKKyNpbmNsdWRlIDx3dGYv
VW51c2VkUGFyYW0uaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRXh0ZW5zaW9u
TWFwIHsKQEAgLTczLDQgKzc1LDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1F
VHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gU3RyaW5nKCk7
CiB9CiAKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIFVOVVNFRF9QQVJBTShtaW1lVHlwZSk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1
L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L01JTUVU
eXBlUmVnaXN0cnlIYWlrdS5jcHAKaW5kZXggNTlhZTE5YS4uMWQ5OTY0ZiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcApAQCAtMzAsNiAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9V
bnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgRXh0ZW5zaW9uTWFw
IHsKQEAgLTcxLDUgKzcyLDExIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlw
ZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICAvLyB1bmtub3duLCBsZXQncyBq
dXN0IGFzc3VtZSBwbGFpbiB0ZXh0CiAgICAgcmV0dXJuICJ0ZXh0L3BsYWluIjsKIH0KKworYm9v
bCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYg
bWltZVR5cGUpCit7CisgICAgVU5VU0VEX1BBUkFNKG1pbWVUeXBlKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9N
SU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCmluZGV4IDdkNDM1MDUuLjNmM2I3MTUgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0KKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbQpAQCAtNTYsNCArNTYsMTAgQEAg
U3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldFByZWZlcnJlZEV4dGVuc2lvbkZvck1JTUVUeXBl
KGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICByZXR1cm4gd2tHZXRQcmVmZXJyZWRFeHRlbnNpb25G
b3JNSU1FVHlwZSh0eXBlKTsKIH0KIAorYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBs
dWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgVU5VU0VEX1BBUkFN
KG1pbWVUeXBlKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
cXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcAppbmRleCAyMmNlZTZmLi5iNTNjMWU1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCkBAIC04Miw0ICs4MiwxMCBA
QCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3Qg
U3RyaW5nICZleHQpCiAgICAgcmV0dXJuICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iOwogfQog
Citib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSkKK3sKKyAgICByZXR1cm4gbWltZVR5cGUuc3RhcnRzV2l0aCgiYXBwbGlj
YXRpb24veC1xdC1wbHVnaW4iLCBmYWxzZSkKKyAgICAgICAgfHwgbWltZVR5cGUuc3RhcnRzV2l0
aCgiYXBwbGljYXRpb24veC1xdC1zdHlsZWQtd2lkZ2V0IiwgZmFsc2UpOworfQorCiB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCmluZGV4IDY4ODU0MDIu
LjRkMzQyYjUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0
cnlXaW4uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4u
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxzaGx3YXBpLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgCiB7CkBAIC0xMDMsNCArMTA0LDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCitib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5
cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKK3sKKyAgICBVTlVTRURfUEFSQU0obWltZVR5cGUp
OworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2UuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW5j
ZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2UuY3BwCmluZGV4IDJlY2RlNDguLmJkY2NjNzEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNlLmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5jZS5jcHAKQEAg
LTMwLDYgKzMwLDggQEAKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjaW5jbHVkZSA8d2lucmVnLmg+
CiAKKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBzdGF0aWMgU3RyaW5nIG1pbWVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5z
aW9uKQpAQCAtMTMyLDQgKzEzNCwxMCBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlN
RVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiAgICAgcmV0dXJuIHJlc3VsdC5p
c0VtcHR5KCkgPyAidW5rbm93bi91bmtub3duIiA6IHJlc3VsdDsKIH0KIAorYm9vbCBNSU1FVHlw
ZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
Cit7CisgICAgVU5VU0VEX1BBUkFNKG1pbWVUeXBlKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNw
cCBiL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcAppbmRleCA2MDFj
ZDlmLi4xM2NiNTMwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3d4L01pbWVUeXBlUmVn
aXN0cnlXeC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3gu
Y3BwCkBAIC0yOCw2ICsyOCw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTUlN
RVR5cGVSZWdpc3RyeS5oIgogCisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IEV4dGVuc2lvbk1hcCB7CkBAIC03MCw0ICs3MiwxMCBA
QCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3Qg
U3RyaW5nICZleHQpCiAgICAgcmV0dXJuICJ0ZXh0L3BsYWluIjsKIH0KIAorYm9vbCBNSU1FVHlw
ZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUp
Cit7CisgICAgVU5VU0VEX1BBUkFNKG1pbWVUeXBlKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IH0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5n
ZUxvZwppbmRleCAzMzc4OTZkLi5hMzAzY2FjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMDkt
MTItMTUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgcGx1Z2lucyBpbXBs
ZW1lbnRlZCBieSB0aGUgY2xpZW50LCBzdWNoIGFzIG1pbWV0eXBlICd4LXF0LXBsdWdpbicsCisg
ICAgICAgIHdoZW4gcGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCisgICAgICAgIAorICAgICAgICBU
aGUgcHVycG9zZSBvZiBkaXNhYmxpbmcgcGx1Z2lucyBpcyB0byBwcmV2ZW50IHRoZSBleGVjdXRp
b24gb2YgdGhpcmQtcGFydHkgY29kZQorICAgICAgICB0aGF0IG1heSBiZSB1bnRydXN0d29ydGh5
LiBRdCBwbHVnaW5zIGFyZSBpbXBsZW1lbnRlZCBieSB0aGUgY2xpZW50IHJhdGhlciB0aGFuCisg
ICAgICAgIGxvYWRlZCBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZSwgc28gdGhlIGNsaWVudCBzaG91
bGQgaGF2ZSB0aGUgb3Bwb3J0dW5pdHkgdG8KKyAgICAgICAgY29uc2lkZXIgdGhlbSBzZXBhcmF0
ZWx5IGZyb20gb3RoZXIgcGx1Z2lucy4KKyAgICAgICAgCisgICAgICAgIEFkZCBhIGZ1bmN0aW9u
IE1pbWVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoKSB0aGF0IFdlYktpdAor
ICAgICAgICB1c2VzIGluIGNvbmp1bmN0aW9uIHdpdGggYXJlUGx1Z2luc0VuYWJsZWQoKSB0byBk
ZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGF0dGVtcHQKKyAgICAgICAgdG8gbG9hZCBhIHBsdWdpbi4g
SWYgaXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHJldHVybnMgdHJ1ZSwgV2ViS2l0IHdpbGwgbG9h
ZAorICAgICAgICB0aGUgcGx1Z2luIGV2ZW4gaWYgYXJlUGx1Z2luc0VuYWJsZWQoKSBpcyBmYWxz
ZS4KKyAgICAgICAgCisgICAgICAgIEN1cnJlbnRseSwgb25seSBRdCBoYXMgbmF0aXZlbHkgaW1w
bGVtZW50ZWQgcGx1Z2luczogdGhlc2UgdXNlIHRoZSBtaW1ldHlwZQorICAgICAgICAneC1xdC1w
bHVnaW4nIGFuZCAneC1xdC1zdHlsZWQtd2lkZ2V0Jy4gVGhpcyBwYXRjaCBwZXJtaXRzIFF0IGNs
aWVudHMnCisgICAgICAgIHJlaW1wbGVtZW50YXRpb24gb2YgUVdlYlBhZ2U6OmNyZWF0ZVBsdWdp
bigpIHRvIGRlY2lkZSB3aGV0aGVyIG9yIG5vdAorICAgICAgICB0byBjcmVhdGUgYSBRdCBwbHVn
aW4sIGV2ZW4gd2hlbiBhcmVQbHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KKyAgICAgICAgCisgICAg
ICAgIEZvciBhbGwgcGxhdGZvcm1zIGFwYXJ0IGZyb20gUXQsIGlzTmF0aXZlUGx1Z2luTUlNRVR5
cGUoKSByZXR1cm5zIGZhbHNlLgorICAgICAgICAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMTk2CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9n
dGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVu
dFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9s
bGVyR3RrLmNwcDoKKyAgICAgICAgKGNvcHlXZWJTZXR0aW5nS2V5KToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorCiAyMDA5LTEyLTE1ICBBZGFt
IEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJl
bmRlclRyZWUuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJU
cmVlLmNwcAppbmRleCBmZDFlM2M2Li5kODMwMGZkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTMzMyw2ICszMzMsNyBAQCBz
dGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICAgICAgICAg
ICAgICAgImRlZmF1bHQtZm9udC1zaXplIiwgMTYsCiAgICAgICAgICAgICAgICAgICJkZWZhdWx0
LW1vbm9zcGFjZS1mb250LXNpemUiLCAxMywKICAgICAgICAgICAgICAgICAgIm1pbmltdW0tZm9u
dC1zaXplIiwgMSwKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1wbHVnaW5zIiwgVFJVRSwKICAg
ICAgICAgICAgICAgICAgTlVMTCk7CiAKICAgICB3ZWJraXRfd2ViX2ZyYW1lX2NsZWFyX21haW5f
ZnJhbWVfbmFtZShtYWluRnJhbWUpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggNmU5NGMxYy4u
NTAyNzBkZCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91
dFRlc3RDb250cm9sbGVyR3RrLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCkBAIC02NCwxMCArNjQsMTEgQEAgc3RhdGlj
IGdjaGFyKiBjb3B5V2ViU2V0dGluZ0tleShnY2hhciogcHJlZmVyZW5jZUtleSkKIAogICAgIGlm
ICgha2V5VGFibGUpIHsKICAgICAgICAgLy8gSWYgeW91IGFkZCBhIHByZWYgaGVyZSwgbWFrZSBz
dXJlIHlvdSByZXNldCB0aGUgdmFsdWUgaW4KLSAgICAgICAgLy8gRHVtcFJlbmRlclRyZWU6OnJl
c2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZy4KKyAgICAgICAgLy8gRHVt
cFJlbmRlclRyZWU6OnJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMuCiAgICAgICAgIGtl
eVRhYmxlID0gZ19oYXNoX3RhYmxlX25ldyhnX3N0cl9oYXNoLCBnX3N0cl9lcXVhbCk7CiAgICAg
ICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJXZWJLaXRKYXZhU2Ny
aXB0RW5hYmxlZCIpLCBnX3N0cmR1cCgiZW5hYmxlLXNjcmlwdHMiKSk7CiAgICAgICAgIGdfaGFz
aF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJXZWJLaXREZWZhdWx0Rm9udFNpemUi
KSwgZ19zdHJkdXAoImRlZmF1bHQtZm9udC1zaXplIikpOworICAgICAgICBnX2hhc2hfdGFibGVf
aW5zZXJ0KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0UGx1Z2luc0VuYWJsZWQiKSwgZ19zdHJk
dXAoImVuYWJsZS1wbHVnaW5zIikpOwogICAgIH0KIAogICAgIHJldHVybiBnX3N0cmR1cChzdGF0
aWNfY2FzdDxnY2hhcio+KGdfaGFzaF90YWJsZV9sb29rdXAoa2V5VGFibGUsIHByZWZlcmVuY2VL
ZXkpKSk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IDRkMDUwMjQuLmNiNzdiNTQgMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwCkBAIC0zNjgsNCArMzY4LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3Zl
cnJpZGVQcmVmZXJlbmNlKGNvbnN0IFFTdHJpbmcmIG5hbWUsIGNvbnN0IFFWYXJpYW4KICAgICAg
ICAgc2V0dGluZ3MtPnNldEZvbnRTaXplKFFXZWJTZXR0aW5nczo6RGVmYXVsdEZvbnRTaXplLCB2
YWx1ZS50b0ludCgpKTsKICAgICBlbHNlIGlmIChuYW1lID09ICJXZWJLaXRVc2VzUGFnZUNhY2hl
UHJlZmVyZW5jZUtleSIpCiAgICAgICAgIFFXZWJTZXR0aW5nczo6c2V0TWF4aW11bVBhZ2VzSW5D
YWNoZSh2YWx1ZS50b0ludCgpKTsKKyAgICBlbHNlIGlmIChuYW1lID09ICJXZWJLaXRQbHVnaW5z
RW5hYmxlZCIpCisgICAgICAgIHNldHRpbmdzLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpQ
bHVnaW5zRW5hYmxlZCwgdmFsdWUudG9Cb29sKCkpOwogfQotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44875</attachid>
            <date>2009-12-15 06:14:33 -0800</date>
            <delta_ts>2010-02-25 12:20:33 -0800</delta_ts>
            <desc>Updated per stylebot</desc>
            <filename>0001-Allow-plugins-implemented-by-the-client-such-as-mime.patch</filename>
            <type>text/plain</type>
            <size>22799</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBkNWJhNWYzZjFkNDcxN2Y3MGIyZmIxYWMwYWM2NjE3NTg2ZDFmYjc5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFN1biwgNiBEZWMgMjAwOSAxOTozNTozNiArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIEFs
bG93IHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudCwgc3VjaCBhcyBtaW1ldHlwZSAn
eC1xdC1wbHVnaW4nLAogd2hlbiBwbHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KClRoZSBwdXJwb3Nl
IG9mIGRpc2FibGluZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhlIGV4ZWN1dGlvbiBvZiB0aGly
ZC1wYXJ0eSBjb2RlCnRoYXQgbWF5IGJlIHVudHJ1c3R3b3J0aHkuIFF0IHBsdWdpbnMgYXJlIGlt
cGxlbWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVyIHRoYW4KbG9hZGVkIGZyb20gYW4gZXh0ZXJu
YWwgc291cmNlLCBzbyB0aGUgY2xpZW50IHNob3VsZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bwpj
b25zaWRlciB0aGVtIHNlcGFyYXRlbHkgZnJvbSBvdGhlciBwbHVnaW5zLgoKQWRkIGEgZnVuY3Rp
b24gTWltZVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHRoYXQgV2ViS2l0
CnVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgpIHRvIGRldGVybWlu
ZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAp0byBsb2FkIGEgcGx1Z2luLiBJZiBpc05hdGl2ZVBsdWdp
bk1JTUVUeXBlKCkgcmV0dXJucyB0cnVlLCBXZWJLaXQgd2lsbCBsb2FkCnRoZSBwbHVnaW4gZXZl
biBpZiBhcmVQbHVnaW5zRW5hYmxlZCgpIGlzIGZhbHNlLgoKQ3VycmVudGx5LCBvbmx5IFF0IGhh
cyBuYXRpdmVseSBpbXBsZW1lbnRlZCBwbHVnaW5zOiB0aGVzZSB1c2UgdGhlIG1pbWV0eXBlCid4
LXF0LXBsdWdpbicgYW5kICd4LXF0LXN0eWxlZC13aWRnZXQnLiBUaGlzIHBhdGNoIHBlcm1pdHMg
UXQgY2xpZW50cycKcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1Z2luKCkg
dG8gZGVjaWRlIHdoZXRoZXIgb3Igbm90CnRvIGNyZWF0ZSBhIFF0IHBsdWdpbiwgZXZlbiB3aGVu
IGFyZVBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgoKRm9yIGFsbCBwbGF0Zm9ybXMgYXBhcnQgZnJv
bSBRdCwgaXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHJldHVybnMgZmFsc2UuCgpodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKLS0tCiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMzAgKysrKysrKysrKysrCiAu
Li4vbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dCAgICB8ICAgMjAg
KysrKysrKysKIC4uLi9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0
ICAgIHwgICAyMCArKysrKysrKwogLi4uL3BsdWdpbnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRp
c2FibGVkLmh0bWwgICAgfCAgIDM0ICsrKysrKysrKysrKysrCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNDggKysrKysrKysrKysrKysrKysr
KysKIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCAgICAgICAgICAgICAgICAgICAgIHwg
ICAgNyArKy0KIFdlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oICAgICAgICAgICAg
ICAgIHwgICAgNCArKwogLi4uL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJv
bWl1bS5jcHAgfCAgICA4ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3Ry
eUd0ay5jcHAgICAgICAgfCAgICA4ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlw
ZVJlZ2lzdHJ5SGFpa3UuY3BwICAgfCAgICA3ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlN
RVR5cGVSZWdpc3RyeU1hYy5tbSAgICAgICAgfCAgICA2ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS9x
dC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwICAgICAgICAgfCAgICA2ICsrKwogV2ViQ29yZS9wbGF0
Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAgICAgICAgfCAgICA3ICsrKwogV2ViQ29y
ZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2UuY3BwICAgfCAgICA4ICsrKwog
V2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwICAgICAgICAgfCAgICA4
ICsrKwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDMzICsrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHAgIHwgICAgMSArCiAuLi4vRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRl
c3RDb250cm9sbGVyR3RrLmNwcCB8ICAgIDMgKy0KIC4uLi9EdW1wUmVuZGVyVHJlZS9xdC9MYXlv
dXRUZXN0Q29udHJvbGxlclF0LmNwcCAgIHwgICAgMiArCiAxOSBmaWxlcyBjaGFuZ2VkLCAyNTcg
aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1l
eHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbHVnaW5zL25hdGl2
ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1s
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGI5MmMyMWEuLjYzODI4NWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAwOS0x
Mi0xNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBwbHVnaW5zIGltcGxl
bWVudGVkIGJ5IHRoZSBjbGllbnQsIHN1Y2ggYXMgbWltZXR5cGUgJ3gtcXQtcGx1Z2luJywKKyAg
ICAgICAgd2hlbiBwbHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KKyAgICAgICAgCisgICAgICAgIFRo
ZSBwdXJwb3NlIG9mIGRpc2FibGluZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhlIGV4ZWN1dGlv
biBvZiB0aGlyZC1wYXJ0eSBjb2RlCisgICAgICAgIHRoYXQgbWF5IGJlIHVudHJ1c3R3b3J0aHku
IFF0IHBsdWdpbnMgYXJlIGltcGxlbWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVyIHRoYW4KKyAg
ICAgICAgbG9hZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzbyB0aGUgY2xpZW50IHNob3Vs
ZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb25zaWRlciB0aGVtIHNlcGFyYXRl
bHkgZnJvbSBvdGhlciBwbHVnaW5zLgorICAgICAgICAKKyAgICAgICAgQWRkIGEgZnVuY3Rpb24g
TWltZVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHRoYXQgV2ViS2l0Cisg
ICAgICAgIHVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgpIHRvIGRl
dGVybWluZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAorICAgICAgICB0byBsb2FkIGEgcGx1Z2luLiBJ
ZiBpc05hdGl2ZVBsdWdpbk1JTUVUeXBlKCkgcmV0dXJucyB0cnVlLCBXZWJLaXQgd2lsbCBsb2Fk
CisgICAgICAgIHRoZSBwbHVnaW4gZXZlbiBpZiBhcmVQbHVnaW5zRW5hYmxlZCgpIGlzIGZhbHNl
LgorICAgICAgICAKKyAgICAgICAgQ3VycmVudGx5LCBvbmx5IFF0IGhhcyBuYXRpdmVseSBpbXBs
ZW1lbnRlZCBwbHVnaW5zOiB0aGVzZSB1c2UgdGhlIG1pbWV0eXBlCisgICAgICAgICd4LXF0LXBs
dWdpbicgYW5kICd4LXF0LXN0eWxlZC13aWRnZXQnLiBUaGlzIHBhdGNoIHBlcm1pdHMgUXQgY2xp
ZW50cycKKyAgICAgICAgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1Z2lu
KCkgdG8gZGVjaWRlIHdoZXRoZXIgb3Igbm90CisgICAgICAgIHRvIGNyZWF0ZSBhIFF0IHBsdWdp
biwgZXZlbiB3aGVuIGFyZVBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAgICAKKyAgICAg
ICAgRm9yIGFsbCBwbGF0Zm9ybXMgYXBhcnQgZnJvbSBRdCwgaXNOYXRpdmVQbHVnaW5NSU1FVHlw
ZSgpIHJldHVybnMgZmFsc2UuCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKKworICAgICAgICAqIHBsYXRmb3JtL3F0L3BsdWdp
bnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGx1Z2lucy9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNh
YmxlZC5odG1sOiBBZGRlZC4KKwogMjAwOS0xMi0xNSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgTm8gcmV2aWV3LCByb2xsaW5nIG91dCByNTIxNDAuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lu
cy1kaXNhYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5z
L25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDVhZmFlNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3F0L3BsdWdpbnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVk
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgzNAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMTQpIHNpemUgODB4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNCkgd2lk
dGggODA6ICJRVCBQbHVnaW46ICIKKyAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7T0JKRUNUfSBh
dCAoODAsMCkgc2l6ZSAzMDB4MzAgW1FUOiBnZW9tZXRyeToge2F0ICg4OCw4KSBzaXplIDMwMHgz
MH0gaXNIaWRkZW46IDAgaXNTZWxmVmlzaWJsZTogMSBpc1BhcmVudFZpc2libGU6IDEgbWFzazog
e2F0ICgwLDApIHNpemUgMzAweDMwfSBdIAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDM0KSBzaXplIDc4
NHgzNAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTQpIHNpemUgMTMzeDIwCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTQpIHdpZHRoIDEzMzogIlFUIFN0eWxlZCBXaWRnZXQ6
ICIKKyAgICAgICAgUmVuZGVyUGFydE9iamVjdCB7T0JKRUNUfSBhdCAoMTMzLDApIHNpemUgMzAw
eDMwIFtRVDogZ2VvbWV0cnk6IHthdCAoMCwwKSBzaXplIDMwMHgzMH0gaXNIaWRkZW46IDEgaXNT
ZWxmVmlzaWJsZTogMSBpc1BhcmVudFZpc2libGU6IDEgbWFzazoge2F0ICgwLDApIHNpemUgMHgw
fSBdIAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDY4KSBzaXplIDc4NHgxMDQKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDg0KSBzaXplIDEzM3gyMAorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDg0KSB3aWR0aCAxMzM6ICJUaGlyZC1wYXJ0eSBwbHVnaW46ICIKKyAgICAgICAgUmVuZGVy
UGFydE9iamVjdCB7RU1CRUR9IGF0ICgxMzMsMCkgc2l6ZSAxMDB4MTAwCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGx1Z2lucy9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGx1Z2lucy9uYXRpdmUtcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjNTE3ODUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNh
YmxlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MzUKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDE1KSBzaXplIDc1eDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUp
IHdpZHRoIDc1OiAiUVQgUGx1Z2luOiAiCisgICAgICAgIFJlbmRlclBhcnRPYmplY3Qge09CSkVD
VH0gYXQgKDc1LDApIHNpemUgMzAweDMwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzUpIHNpemUgNzg0
eDM1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxNSkgc2l6ZSAxMjR4MjAKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNSkgd2lkdGggMTI0OiAiUVQgU3R5bGVkIFdpZGdldDog
IgorICAgICAgICBSZW5kZXJQYXJ0T2JqZWN0IHtPQkpFQ1R9IGF0ICgxMjQsMCkgc2l6ZSAzMDB4
MzAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCw3MCkgc2l6ZSA3ODR4MTA1CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCw4NSkgc2l6ZSAxMjR4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCw4NSkgd2lkdGggMTI0OiAiVGhpcmQtcGFydHkgcGx1Z2luOiAiCisgICAgICAgIFJlbmRlclBh
cnRPYmplY3Qge0VNQkVEfSBhdCAoMTI0LDApIHNpemUgMTAweDEwMAorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
dWdpbnMvbmF0aXZlLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZTQwNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbHVnaW5zL25hdGl2ZS1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sCkBAIC0wLDAg
KzEsMzQgQEAKKzwhLS0gTmF0aXZlIHBsdWdpbnMgYXJlIHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkg
dGhlIFdlYktpdCBjbGllbnQsIGFzIG9wcG9zZWQgdG8KKyAgICAgdGhpcmQtcGFydHkgcGx1Z2lu
cyBzdWNoIGFzIEZsYXNoLiBDbGllbnQtaW1wbGVtZW50ZWQgcGx1Z2lucyBhcmUgZXhlbXB0ZWQK
KyAgICAgZnJvbSB0aGUgcGx1Z2luc0VuYWJsZWQgY2hlY2sgYXMgaXQgaXMgdGhlIGNsaWVudCB0
aGF0IGltcGxpY2l0bHkgZGVjaWRlcworICAgICB3aGV0aGVyIG9yIG5vdCB0aGV5IGVuYWJsZWQg
d2hlbiBpdCBjaG9vc2VzIHdoZXRoZXIgdG8gaW1wbGVtZW50IHRoZW0gb3Igbm90LgorCisgICAg
IEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIG9ubHkgUXQgY2xpZW50cyBjYW4gaW1wbGVtZW50IHRo
ZWlyIG93biBwbHVnaW5zLiAtLT4KKzxodG1sPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRQbHVnaW5zRW5hYmxlZCIsIGZhbHNlKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKworPCEtLSBxdCBwbHVnaW4gd2lkZ2V0OiB3aWxsIGJlIGNyZWF0ZWQg
LS0+Cis8ZGl2PgorUVQgUGx1Z2luOgorPG9iamVjdCB0eXBlPSJhcHBsaWNhdGlvbi94LXF0LXBs
dWdpbiIgY2xhc3NpZD0iUVByb2dyZXNzQmFyIiBuYW1lPSJwcm9ncmVzc2JhcjEiIGhlaWdodD0z
MD48L29iamVjdD4KKzwvZGl2PgorCis8IS0tIHF0IHN0eWxlZCB3aWRnZXQ6IHdpbGwgYmUgY3Jl
YXRlZCAtLT4KKzxkaXY+CitRVCBTdHlsZWQgV2lkZ2V0OgorPG9iamVjdCB0eXBlPSJhcHBsaWNh
dGlvbi94LXF0LXN0eWxlZC13aWRnZXQiIGNsYXNzaWQ9IlFQcm9ncmVzc0JhciIgbmFtZT0icHJv
Z3Jlc3NiYXIxIiBoZWlnaHQ9MzA+PC9vYmplY3Q+Cis8L2Rpdj4KKworPCEtLSB0aGlyZCBwYXJ0
eSBwbHVnaW4gd2lkZ2V0OiB3aWxsIG5vdCBiZSBjcmVhdGVkIC0tPgorPGRpdj4KK1RoaXJkLXBh
cnR5IHBsdWdpbjoKKzxlbWJlZCBuYW1lPSJwbGciIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0
LXRlc3QtbmV0c2NhcGUiIHdpZHRoPTEwMCBoZWlnaHQ9MTAwPjwvZW1iZWQ+Cis8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBlNWYzYmQ3Li4zMTUyN2U5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDA5LTEy
LTE1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHBsdWdpbnMgaW1wbGVt
ZW50ZWQgYnkgdGhlIGNsaWVudCwgc3VjaCBhcyBtaW1ldHlwZSAneC1xdC1wbHVnaW4nLAorICAg
ICAgICB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAgICAKKyAgICAgICAgVGhl
IHB1cnBvc2Ugb2YgZGlzYWJsaW5nIHBsdWdpbnMgaXMgdG8gcHJldmVudCB0aGUgZXhlY3V0aW9u
IG9mIHRoaXJkLXBhcnR5IGNvZGUKKyAgICAgICAgdGhhdCBtYXkgYmUgdW50cnVzdHdvcnRoeS4g
UXQgcGx1Z2lucyBhcmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudCByYXRoZXIgdGhhbgorICAg
ICAgICBsb2FkZWQgZnJvbSBhbiBleHRlcm5hbCBzb3VyY2UsIHNvIHRoZSBjbGllbnQgc2hvdWxk
IGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNvbnNpZGVyIHRoZW0gc2VwYXJhdGVs
eSBmcm9tIG90aGVyIHBsdWdpbnMuCisgICAgICAgIAorICAgICAgICBBZGQgYSBmdW5jdGlvbiBN
aW1lVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKCkgdGhhdCBXZWJLaXQKKyAg
ICAgICAgdXNlcyBpbiBjb25qdW5jdGlvbiB3aXRoIGFyZVBsdWdpbnNFbmFibGVkKCkgdG8gZGV0
ZXJtaW5lIGlmIGl0IHNob3VsZCBhdHRlbXB0CisgICAgICAgIHRvIGxvYWQgYSBwbHVnaW4uIElm
IGlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoKSByZXR1cm5zIHRydWUsIFdlYktpdCB3aWxsIGxvYWQK
KyAgICAgICAgdGhlIHBsdWdpbiBldmVuIGlmIGFyZVBsdWdpbnNFbmFibGVkKCkgaXMgZmFsc2Uu
CisgICAgICAgIAorICAgICAgICBDdXJyZW50bHksIG9ubHkgUXQgaGFzIG5hdGl2ZWx5IGltcGxl
bWVudGVkIHBsdWdpbnM6IHRoZXNlIHVzZSB0aGUgbWltZXR5cGUKKyAgICAgICAgJ3gtcXQtcGx1
Z2luJyBhbmQgJ3gtcXQtc3R5bGVkLXdpZGdldCcuIFRoaXMgcGF0Y2ggcGVybWl0cyBRdCBjbGll
bnRzJworICAgICAgICByZWltcGxlbWVudGF0aW9uIG9mIFFXZWJQYWdlOjpjcmVhdGVQbHVnaW4o
KSB0byBkZWNpZGUgd2hldGhlciBvciBub3QKKyAgICAgICAgdG8gY3JlYXRlIGEgUXQgcGx1Z2lu
LCBldmVuIHdoZW4gYXJlUGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCisgICAgICAgIAorICAgICAg
ICBGb3IgYWxsIHBsYXRmb3JtcyBhcGFydCBmcm9tIFF0LCBpc05hdGl2ZVBsdWdpbk1JTUVUeXBl
KCkgcmV0dXJucyBmYWxzZS4KKyAgICAgICAgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE5NgorCisgICAgICAgIFRlc3Q6IHBsdWdpbnMvbmF0aXZl
LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCk6
CisgICAgICAgICogcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TUlNRVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpN
SU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5
cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0v
d2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TUlNRVR5cGVS
ZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vd2lu
Y2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBl
UmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL3d4
L01pbWVUeXBlUmVnaXN0cnlXeC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lz
dHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVUeXBlKToKKwogMjAwOS0xMi0xNSAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVs
IEZlbGRtYW4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMzE2M2VjZi4uZWM5OGY4MiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTI2MSw4ICsxMjYxLDExIEBAIGJvb2wgRnJhbWVMb2Fk
ZXI6OnJlcXVlc3RPYmplY3QoUmVuZGVyUGFydCogcmVuZGVyZXIsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBBCiAgICAgYm9vbCB1c2VGYWxsYmFjazsKICAgICBpZiAoc2hvdWxkVXNlUGx1Z2lu
KGNvbXBsZXRlZFVSTCwgbWltZVR5cGUsIHJlbmRlcmVyLT5oYXNGYWxsYmFja0NvbnRlbnQoKSwg
dXNlRmFsbGJhY2spKSB7CiAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZnJhbWUtPnNl
dHRpbmdzKCk7Ci0gICAgICAgIGlmICghc2V0dGluZ3MgfHwgIXNldHRpbmdzLT5hcmVQbHVnaW5z
RW5hYmxlZCgpIHx8IAotICAgICAgICAgICAgKCFzZXR0aW5ncy0+aXNKYXZhRW5hYmxlZCgpICYm
IE1JTUVUeXBlUmVnaXN0cnk6OmlzSmF2YUFwcGxldE1JTUVUeXBlKG1pbWVUeXBlKSkpCisgICAg
ICAgIGlmICghc2V0dGluZ3MKKyAgICAgICAgICAgIC8vIE5hdGl2ZSBwbHVnaW5zIGFyZSBpbXBs
ZW1lbnRlZCBieSB0aGUgY2xpZW50LiBUaGUgY2xpZW50IGRpc2FibGVzIHN1Y2ggcGx1Z2lucyBi
eQorICAgICAgICAgICAgLy8gbm90IGltcGxlbWVudGluZyB0aGVtLgorICAgICAgICAgICAgfHwg
KCFzZXR0aW5ncy0+YXJlUGx1Z2luc0VuYWJsZWQoKSAmJiAhTUlNRVR5cGVSZWdpc3RyeTo6aXNO
YXRpdmVQbHVnaW5NSU1FVHlwZShtaW1lVHlwZSkpCisgICAgICAgICAgICB8fCAoIXNldHRpbmdz
LT5pc0phdmFFbmFibGVkKCkgJiYgTUlNRVR5cGVSZWdpc3RyeTo6aXNKYXZhQXBwbGV0TUlNRVR5
cGUobWltZVR5cGUpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgaWYgKGlz
U2FuZGJveGVkKFNhbmRib3hQbHVnaW5zKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggODgwMWFjMS4uOGJmODc4ZiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKQEAgLTY3LDYgKzY3LDEwIEBAIHB1YmxpYzoKICAg
ICAvLyBDaGVjayB0byBzZWUgaWYgYSBtaW1lIHR5cGUgaXMgYSB2YWxpZCBKYXZhIGFwcGxldCBt
aW1lIHR5cGUKICAgICBzdGF0aWMgYm9vbCBpc0phdmFBcHBsZXRNSU1FVHlwZShjb25zdCBTdHJp
bmcmIG1pbWVUeXBlKTsKIAorICAgIC8vIENoZWNrIHRvIHNlZSBpZiBhIG1pbWUgdHlwZSBpcyBh
IG5hdGl2ZSBwbHVnaW4gaW1wbGVtZW50ZWQgYnkgdGhlCisgICAgLy8gY2xpZW50IChlLmcuIGEg
UVQgUGx1Z2luKS4KKyAgICBzdGF0aWMgYm9vbCBpc05hdGl2ZVBsdWdpbk1JTUVUeXBlKGNvbnN0
IFN0cmluZyYgbWltZVR5cGUpOworCiAgICAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3Vw
cG9ydGVkSW1hZ2VNSU1FVHlwZXMoKTsKICAgICBzdGF0aWMgSGFzaFNldDxTdHJpbmc+JiBnZXRT
dXBwb3J0ZWRJbWFnZVJlc291cmNlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGljIEhhc2hTZXQ8U3Ry
aW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNGb3JFbmNvZGluZygpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3Bw
CmluZGV4IGZmMGJlODIuLmJmNjlkYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAKQEAgLTM2LDYgKzM2LDggQEAK
ICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgogI2luY2x1ZGUgIlBsdWdpbkRhdGFDaHJvbWl1bS5o
IgogCisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CisKIC8vIE5PVEU6IFVubGlrZSBvdGhl
ciBwb3J0cywgd2UgZG9uJ3QgdXNlIHRoZSBzaGFyZWQgaW1wbGVtZW50YXRpb24gYml0cyBpbgog
Ly8gTUlNRVR5cGVSZWdpc3RyeS5jcHAuICBJbnN0ZWFkLCB3ZSBuZWVkIHRvIHJvdXRlIG1vc3Qg
ZnVuY3Rpb25zIHZpYSB0aGUKIC8vIENocm9taXVtQnJpZGdlIHRvIHRoZSBlbWJlZGRlci4KQEAg
LTEzMCw2ICsxMzIsMTIgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1lZGlhTUlNRVR5
cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJikKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAK
K2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZShjb25zdCBTdHJp
bmcmIG1pbWVUeXBlKQoreworICAgIFVOVVNFRF9QQVJBTShtaW1lVHlwZSk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCiBzdGF0aWMgSGFzaFNldDxTdHJpbmc+JiBkdW1teUhhc2hTZXQoKQogewog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlw
ZVJlZ2lzdHJ5R3RrLmNwcAppbmRleCA4YWZiNjBmLi4xNGFiODBmIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcApAQCAtMjgsNiArMjgsOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIKIAorI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBF
eHRlbnNpb25NYXAgewpAQCAtNzMsNCArNzUsMTAgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6
OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAgIHJldHVybiBT
dHJpbmcoKTsKIH0KIAorYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc05hdGl2ZVBsdWdpbk1JTUVU
eXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgVU5VU0VEX1BBUkFNKG1pbWVUeXBl
KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZv
cm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vaGFp
a3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcAppbmRleCA1OWFlMTlhLi4xZDk5NjRmIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwCkBA
IC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCisjaW5jbHVk
ZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBFeHRl
bnNpb25NYXAgewpAQCAtNzEsNSArNzIsMTEgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6Omdl
dE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAgIC8vIHVua25vd24s
IGxldCdzIGp1c3QgYXNzdW1lIHBsYWluIHRleHQKICAgICByZXR1cm4gInRleHQvcGxhaW4iOwog
fQorCitib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoY29uc3Qg
U3RyaW5nJiBtaW1lVHlwZSkKK3sKKyAgICBVTlVTRURfUEFSQU0obWltZVR5cGUpOworICAgIHJl
dHVybiBmYWxzZTsKK30KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbSBiL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0KaW5kZXggN2Q0MzUwNS4uM2YzYjcxNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbQorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCkBAIC01Niw0ICs1
NiwxMCBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9y
TUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQogICAgIHJldHVybiB3a0dldFByZWZlcnJlZEV4
dGVuc2lvbkZvck1JTUVUeXBlKHR5cGUpOwogfQogCitib29sIE1JTUVUeXBlUmVnaXN0cnk6Omlz
TmF0aXZlUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKK3sKKyAgICBVTlVT
RURfUEFSQU0obWltZVR5cGUpOworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCmluZGV4IDIyY2VlNmYuLmI1M2MxZTUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAKQEAgLTgyLDQg
KzgyLDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lv
bihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gImFwcGxpY2F0aW9uL29jdGV0LXN0cmVh
bSI7CiB9CiAKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZShj
b25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIHJldHVybiBtaW1lVHlwZS5zdGFydHNXaXRo
KCJhcHBsaWNhdGlvbi94LXF0LXBsdWdpbiIsIGZhbHNlKQorICAgICAgICB8fCBtaW1lVHlwZS5z
dGFydHNXaXRoKCJhcHBsaWNhdGlvbi94LXF0LXN0eWxlZC13aWRnZXQiLCBmYWxzZSk7Cit9CisK
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4u
Y3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAKaW5kZXgg
Njg4NTQwMi4uNGQzNDJiNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTUlNRVR5
cGVSZWdpc3RyeVdpbi5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTUlNRVR5cGVSZWdp
c3RyeVdpbi5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPHNobHdhcGkuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSAKIHsKQEAgLTEwMyw0ICsxMDQsMTAgQEAgU3RyaW5nIE1JTUVUeXBl
UmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVn
aW5NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQoreworICAgIFVOVVNFRF9QQVJBTSht
aW1lVHlwZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5jZS5jcHAgYi9XZWJDb3JlL3BsYXRm
b3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5jZS5jcHAKaW5kZXggMmVjZGU0OC4uYmRjY2M3
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2lu
Y2UuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNl
LmNwcApAQCAtMzAsNiArMzAsOCBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNpbmNsdWRlIDx3
aW5yZWcuaD4KIAorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHN0YXRpYyBTdHJpbmcgbWltZVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5n
JiBleHRlbnNpb24pCkBAIC0xMzIsNCArMTM0LDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4g
cmVzdWx0LmlzRW1wdHkoKSA/ICJ1bmtub3duL3Vua25vd24iIDogcmVzdWx0OwogfQogCitib29s
IE1JTUVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSkKK3sKKyAgICBVTlVTRURfUEFSQU0obWltZVR5cGUpOworICAgIHJldHVybiBmYWxz
ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lz
dHJ5V3guY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwCmlu
ZGV4IDYwMWNkOWYuLjEzY2I1MzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd3gvTWlt
ZVR5cGVSZWdpc3RyeVd4LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3d4L01pbWVUeXBlUmVn
aXN0cnlXeC5jcHAKQEAgLTI4LDYgKzI4LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAKKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4K
KwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRXh0ZW5zaW9uTWFwIHsKQEAgLTcwLDQg
KzcyLDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lv
bihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gInRleHQvcGxhaW4iOwogfQogCitib29s
IE1JTUVUeXBlUmVnaXN0cnk6OmlzTmF0aXZlUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBt
aW1lVHlwZSkKK3sKKyAgICBVTlVTRURfUEFSQU0obWltZVR5cGUpOworICAgIHJldHVybiBmYWxz
ZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDMzNzg5NmQuLmEzMDNjYWMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBA
QAorMjAwOS0xMi0xNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJvYmVydGhvZ2FuLm5ldD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbGxvdyBwbHVn
aW5zIGltcGxlbWVudGVkIGJ5IHRoZSBjbGllbnQsIHN1Y2ggYXMgbWltZXR5cGUgJ3gtcXQtcGx1
Z2luJywKKyAgICAgICAgd2hlbiBwbHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KKyAgICAgICAgCisg
ICAgICAgIFRoZSBwdXJwb3NlIG9mIGRpc2FibGluZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhl
IGV4ZWN1dGlvbiBvZiB0aGlyZC1wYXJ0eSBjb2RlCisgICAgICAgIHRoYXQgbWF5IGJlIHVudHJ1
c3R3b3J0aHkuIFF0IHBsdWdpbnMgYXJlIGltcGxlbWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVy
IHRoYW4KKyAgICAgICAgbG9hZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzbyB0aGUgY2xp
ZW50IHNob3VsZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb25zaWRlciB0aGVt
IHNlcGFyYXRlbHkgZnJvbSBvdGhlciBwbHVnaW5zLgorICAgICAgICAKKyAgICAgICAgQWRkIGEg
ZnVuY3Rpb24gTWltZVR5cGVSZWdpc3RyeTo6aXNOYXRpdmVQbHVnaW5NSU1FVHlwZSgpIHRoYXQg
V2ViS2l0CisgICAgICAgIHVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxl
ZCgpIHRvIGRldGVybWluZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAorICAgICAgICB0byBsb2FkIGEg
cGx1Z2luLiBJZiBpc05hdGl2ZVBsdWdpbk1JTUVUeXBlKCkgcmV0dXJucyB0cnVlLCBXZWJLaXQg
d2lsbCBsb2FkCisgICAgICAgIHRoZSBwbHVnaW4gZXZlbiBpZiBhcmVQbHVnaW5zRW5hYmxlZCgp
IGlzIGZhbHNlLgorICAgICAgICAKKyAgICAgICAgQ3VycmVudGx5LCBvbmx5IFF0IGhhcyBuYXRp
dmVseSBpbXBsZW1lbnRlZCBwbHVnaW5zOiB0aGVzZSB1c2UgdGhlIG1pbWV0eXBlCisgICAgICAg
ICd4LXF0LXBsdWdpbicgYW5kICd4LXF0LXN0eWxlZC13aWRnZXQnLiBUaGlzIHBhdGNoIHBlcm1p
dHMgUXQgY2xpZW50cycKKyAgICAgICAgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3Jl
YXRlUGx1Z2luKCkgdG8gZGVjaWRlIHdoZXRoZXIgb3Igbm90CisgICAgICAgIHRvIGNyZWF0ZSBh
IFF0IHBsdWdpbiwgZXZlbiB3aGVuIGFyZVBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorICAgICAg
ICAKKyAgICAgICAgRm9yIGFsbCBwbGF0Zm9ybXMgYXBhcnQgZnJvbSBRdCwgaXNOYXRpdmVQbHVn
aW5NSU1FVHlwZSgpIHJldHVybnMgZmFsc2UuCisgICAgICAgIAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9D
b25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVz
dENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoY29weVdlYlNldHRpbmdLZXkpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAg
ICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSk6CisKIDIwMDktMTIt
MTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVt
cFJlbmRlclRyZWUuY3BwCmluZGV4IGZkMWUzYzYuLmQ4MzAwZmQgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMzMzLDYgKzMz
Myw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAg
ICAgICAgICAgICAgICAiZGVmYXVsdC1mb250LXNpemUiLCAxNiwKICAgICAgICAgICAgICAgICAg
ImRlZmF1bHQtbW9ub3NwYWNlLWZvbnQtc2l6ZSIsIDEzLAogICAgICAgICAgICAgICAgICAibWlu
aW11bS1mb250LXNpemUiLCAxLAorICAgICAgICAgICAgICAgICAiZW5hYmxlLXBsdWdpbnMiLCBU
UlVFLAogICAgICAgICAgICAgICAgICBOVUxMKTsKIAogICAgIHdlYmtpdF93ZWJfZnJhbWVfY2xl
YXJfbWFpbl9mcmFtZV9uYW1lKG1haW5GcmFtZSk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAppbmRleCA2
ZTk0YzFjLi41MDI3MGRkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTY0LDEwICs2NCwxMSBA
QCBzdGF0aWMgZ2NoYXIqIGNvcHlXZWJTZXR0aW5nS2V5KGdjaGFyKiBwcmVmZXJlbmNlS2V5KQog
CiAgICAgaWYgKCFrZXlUYWJsZSkgewogICAgICAgICAvLyBJZiB5b3UgYWRkIGEgcHJlZiBoZXJl
LCBtYWtlIHN1cmUgeW91IHJlc2V0IHRoZSB2YWx1ZSBpbgotICAgICAgICAvLyBEdW1wUmVuZGVy
VHJlZTo6cmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nLgorICAgICAg
ICAvLyBEdW1wUmVuZGVyVHJlZTo6cmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcy4KICAg
ICAgICAga2V5VGFibGUgPSBnX2hhc2hfdGFibGVfbmV3KGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFs
KTsKICAgICAgICAgZ19oYXNoX3RhYmxlX2luc2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktp
dEphdmFTY3JpcHRFbmFibGVkIiksIGdfc3RyZHVwKCJlbmFibGUtc2NyaXB0cyIpKTsKICAgICAg
ICAgZ19oYXNoX3RhYmxlX2luc2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdERlZmF1bHRG
b250U2l6ZSIpLCBnX3N0cmR1cCgiZGVmYXVsdC1mb250LXNpemUiKSk7CisgICAgICAgIGdfaGFz
aF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJXZWJLaXRQbHVnaW5zRW5hYmxlZCIp
LCBnX3N0cmR1cCgiZW5hYmxlLXBsdWdpbnMiKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGdfc3Ry
ZHVwKHN0YXRpY19jYXN0PGdjaGFyKj4oZ19oYXNoX3RhYmxlX2xvb2t1cChrZXlUYWJsZSwgcHJl
ZmVyZW5jZUtleSkpKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggNGQwNTAyNC4uY2I3N2I1NCAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENv
bnRyb2xsZXJRdC5jcHAKQEAgLTM2OCw0ICszNjgsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpvdmVycmlkZVByZWZlcmVuY2UoY29uc3QgUVN0cmluZyYgbmFtZSwgY29uc3QgUVZhcmlh
bgogICAgICAgICBzZXR0aW5ncy0+c2V0Rm9udFNpemUoUVdlYlNldHRpbmdzOjpEZWZhdWx0Rm9u
dFNpemUsIHZhbHVlLnRvSW50KCkpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gIldlYktpdFVzZXNQ
YWdlQ2FjaGVQcmVmZXJlbmNlS2V5IikKICAgICAgICAgUVdlYlNldHRpbmdzOjpzZXRNYXhpbXVt
UGFnZXNJbkNhY2hlKHZhbHVlLnRvSW50KCkpOworICAgIGVsc2UgaWYgKG5hbWUgPT0gIldlYktp
dFBsdWdpbnNFbmFibGVkIikKKyAgICAgICAgc2V0dGluZ3MtPnNldEF0dHJpYnV0ZShRV2ViU2V0
dGluZ3M6OlBsdWdpbnNFbmFibGVkLCB2YWx1ZS50b0Jvb2woKSk7CiB9Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="26798"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49515</attachid>
            <date>2010-02-25 12:20:33 -0800</date>
            <delta_ts>2010-03-29 11:37:18 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Allow-plugins-implemented-by-the-application-such-as.patch</filename>
            <type>text/plain</type>
            <size>23038</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA1Njc2NGZkZTZlYWRjMDdjYmJjMzdiYTBkM2Q5MzMwYTVmMmMzNzhjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFdlZCwgMjQgRmViIDIwMTAgMjA6MTc6NDMgKzAwMDAKU3ViamVjdDogW1BBVENIXSBB
bGxvdyBwbHVnaW5zIGltcGxlbWVudGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiwgc3VjaCBhcyBtaW1l
dHlwZSAneC1xdC1wbHVnaW4nLAogIHdoZW4gcGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCgpUaGUg
cHVycG9zZSBvZiBkaXNhYmxpbmcgcGx1Z2lucyBpcyB0byBwcmV2ZW50IHRoZSBleGVjdXRpb24g
b2YgdGhpcmQtcGFydHkgY29kZQp0aGF0IG1heSBiZSB1bnRydXN0d29ydGh5LiBRdCBwbHVnaW5z
IGFyZSBpbXBsZW1lbnRlZCBieSB0aGUgY2xpZW50IHJhdGhlciB0aGFuCmxvYWRlZCBmcm9tIGFu
IGV4dGVybmFsIHNvdXJjZSwgc28gdGhlIGNsaWVudCBzaG91bGQgaGF2ZSB0aGUgb3Bwb3J0dW5p
dHkgdG8KY29uc2lkZXIgdGhlbSBzZXBhcmF0ZWx5IGZyb20gb3RoZXIgcGx1Z2lucy4KCkFkZCBh
IGZ1bmN0aW9uIE1pbWVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSgp
IHRoYXQgV2ViS2l0CnVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgp
IHRvIGRldGVybWluZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAp0byBsb2FkIGEgcGx1Z2luLiBJZiBp
c0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoKSByZXR1cm5zIHRydWUsIFdlYktpdCB3aWxsIGxv
YWQKdGhlIHBsdWdpbiBldmVuIGlmIGFyZVBsdWdpbnNFbmFibGVkKCkgaXMgZmFsc2UuCgpDdXJy
ZW50bHksIG9ubHkgUXQgaGFzIGFwcGxpY2F0aW9uLWltcGxlbWVudGVkIHBsdWdpbnM6IHRoZXNl
IHVzZSB0aGUgbWltZXR5cGUKJ3gtcXQtcGx1Z2luJyBhbmQgJ3gtcXQtc3R5bGVkLXdpZGdldCcu
IFRoaXMgcGF0Y2ggcGVybWl0cyBRdCBjbGllbnRzJwpyZWltcGxlbWVudGF0aW9uIG9mIFFXZWJQ
YWdlOjpjcmVhdGVQbHVnaW4oKSB0byBkZWNpZGUgd2hldGhlciBvciBub3QKdG8gY3JlYXRlIGEg
UXQgcGx1Z2luLCBldmVuIHdoZW4gYXJlUGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCgpGb3IgYWxs
IHBsYXRmb3JtcyBhcGFydCBmcm9tIFF0LCBpc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoKSBy
ZXR1cm5zIGZhbHNlLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTk2Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDMwICsrKysrKysrKysrKwogLi4ucHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNh
YmxlZC1leHBlY3RlZC50eHQgfCAgIDIwICsrKysrKysrCiAuLi5wcGxpY2F0aW9uLXBsdWdpbi1w
bHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dCB8ICAgMjAgKysrKysrKysKIC4uLi9hcHBsaWNh
dGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sICAgICAgIHwgICAzNCArKysrKysrKysr
KysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDQ4ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDYgKystCiBXZWJDb3JlL3BsYXRmb3JtL01JTUVU
eXBlUmVnaXN0cnkuaCAgICAgICAgICAgICAgICB8ICAgIDQgKysKIC4uLi9wbGF0Zm9ybS9jaHJv
bWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwIHwgICAgNSArKwogV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAgICAgICAgfCAgICA1ICsrCiBXZWJDb3Jl
L3BsYXRmb3JtL2hhaWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAgICB8ICAgIDUgKysKIFdl
YkNvcmUvcGxhdGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0gICAgICAgIHwgICAgNSAr
KwogV2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwICAgICAgICAgfCAg
ICA2ICsrKwogV2ViQ29yZS9wbGF0Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdpbi5jcHAgICAg
ICAgfCAgICA1ICsrCiBXZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5j
ZS5jcHAgICB8ICAgIDUgKysKIFdlYkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4
LmNwcCAgICAgICAgIHwgICAgNSArKwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfCAgIDM1ICsrKysrKysrKysrKysrCiBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwICB8ICAgIDEgKwogLi4uL0R1bXBSZW5k
ZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAgfCAgICAzICstCiBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCB8ICAgIDEgKwogLi4u
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwICAgfCAgICAyICsK
IDIwIGZpbGVzIGNoYW5nZWQsIDI0MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3Jl
YXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L3BsdWdpbnMvYXBwbGljYXRp
b24tcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvcGx1Z2lucy9hcHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxl
ZC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbHVnaW5zL2Fw
cGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwKCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTE4Yzk1My4u
Y2RiYThjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEwLTAyLTI1ICBSb2JlcnQgSG9nYW4g
IDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFsbG93IHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkgdGhlIGFwcGxp
Y2F0aW9uLCBzdWNoIGFzIG1pbWV0eXBlICd4LXF0LXBsdWdpbicsCisgICAgICAgICB3aGVuIHBs
dWdpbnNFbmFibGVkIGlzIGZhbHNlLgorCisgICAgICAgIFRoZSBwdXJwb3NlIG9mIGRpc2FibGlu
ZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlyZC1wYXJ0eSBjb2Rl
CisgICAgICAgIHRoYXQgbWF5IGJlIHVudHJ1c3R3b3J0aHkuIFF0IHBsdWdpbnMgYXJlIGltcGxl
bWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVyIHRoYW4KKyAgICAgICAgbG9hZGVkIGZyb20gYW4g
ZXh0ZXJuYWwgc291cmNlLCBzbyB0aGUgY2xpZW50IHNob3VsZCBoYXZlIHRoZSBvcHBvcnR1bml0
eSB0bworICAgICAgICBjb25zaWRlciB0aGVtIHNlcGFyYXRlbHkgZnJvbSBvdGhlciBwbHVnaW5z
LgorCisgICAgICAgIEFkZCBhIGZ1bmN0aW9uIE1pbWVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRp
b25QbHVnaW5NSU1FVHlwZSgpIHRoYXQgV2ViS2l0CisgICAgICAgIHVzZXMgaW4gY29uanVuY3Rp
b24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgpIHRvIGRldGVybWluZSBpZiBpdCBzaG91bGQgYXR0
ZW1wdAorICAgICAgICB0byBsb2FkIGEgcGx1Z2luLiBJZiBpc0FwcGxpY2F0aW9uUGx1Z2luTUlN
RVR5cGUoKSByZXR1cm5zIHRydWUsIFdlYktpdCB3aWxsIGxvYWQKKyAgICAgICAgdGhlIHBsdWdp
biBldmVuIGlmIGFyZVBsdWdpbnNFbmFibGVkKCkgaXMgZmFsc2UuCisKKyAgICAgICAgQ3VycmVu
dGx5LCBvbmx5IFF0IGhhcyBhcHBsaWNhdGlvbi1pbXBsZW1lbnRlZCBwbHVnaW5zOiB0aGVzZSB1
c2UgdGhlIG1pbWV0eXBlCisgICAgICAgICd4LXF0LXBsdWdpbicgYW5kICd4LXF0LXN0eWxlZC13
aWRnZXQnLiBUaGlzIHBhdGNoIHBlcm1pdHMgUXQgY2xpZW50cycKKyAgICAgICAgcmVpbXBsZW1l
bnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1Z2luKCkgdG8gZGVjaWRlIHdoZXRoZXIgb3Ig
bm90CisgICAgICAgIHRvIGNyZWF0ZSBhIFF0IHBsdWdpbiwgZXZlbiB3aGVuIGFyZVBsdWdpbnNF
bmFibGVkIGlzIGZhbHNlLgorCisgICAgICAgIEZvciBhbGwgcGxhdGZvcm1zIGFwYXJ0IGZyb20g
UXQsIGlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSgpIHJldHVybnMgZmFsc2UuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMTk2CisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9wbHVnaW5zL2FwcGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2Fi
bGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGx1Z2lucy9hcHBsaWNhdGlvbi1w
bHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBs
dWdpbnMvYXBwbGljYXRpb24tcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQuaHRtbDogQWRkZWQuCisK
IDIwMTAtMDItMjUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogZXZhbHVhdGUtb24taG92ZXIgZG9lcyBub3Qgd29yayBvbiBI
VE1MIGZpbGVzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvcGx1Z2lucy9h
cHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL2FwcGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2Fi
bGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzIy
MTkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvcGx1Z2lucy9h
cHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxv
Y2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0
ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSA3ODR4MzQKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE0KSBzaXplIDc0eDIw
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTQpIHdpZHRoIDc0OiAiUXQgUGx1Z2luOiAiCisg
ICAgICAgIFJlbmRlckVtYmVkZGVkT2JqZWN0IHtPQkpFQ1R9IGF0ICg3NCwwKSBzaXplIDMwMHgz
MCBbUVQ6IGdlb21ldHJ5OiB7YXQgKDgyLDgpIHNpemUgMzAweDMwfSBpc0hpZGRlbjogMCBpc1Nl
bGZWaXNpYmxlOiAxIGlzUGFyZW50VmlzaWJsZTogMSBtYXNrOiB7YXQgKDAsMCkgc2l6ZSAzMDB4
MzB9IF0gCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzQpIHNpemUgNzg0eDM0CisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwxNCkgc2l6ZSAxMjd4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwxNCkgd2lkdGggMTI3OiAiUXQgU3R5bGVkIFdpZGdldDogIgorICAgICAgICBSZW5kZXJF
bWJlZGRlZE9iamVjdCB7T0JKRUNUfSBhdCAoMTI3LDApIHNpemUgMzAweDMwIFtRVDogZ2VvbWV0
cnk6IHthdCAoMCwwKSBzaXplIDMwMHgzMH0gaXNIaWRkZW46IDEgaXNTZWxmVmlzaWJsZTogMSBp
c1BhcmVudFZpc2libGU6IDEgbWFzazoge2F0ICgwLDApIHNpemUgMHgwfSBdIAorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDY4KSBzaXplIDc4NHgxMDQKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDg0KSBzaXplIDEzM3gyMAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDg0KSB3aWR0aCAx
MzM6ICJUaGlyZC1wYXJ0eSBwbHVnaW46ICIKKyAgICAgICAgUmVuZGVyRW1iZWRkZWRPYmplY3Qg
e0VNQkVEfSBhdCAoMTMzLDApIHNpemUgMTAweDEwMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvYXBw
bGljYXRpb24tcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGx1Z2lucy9hcHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM2NmM3NAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvYXBwbGljYXRpb24tcGx1Z2luLXBsdWdpbnMt
ZGlzYWJsZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDM1CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwxNSkgc2l6ZSA2OXgyMAorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDE1KSB3aWR0aCA2OTogIlF0IFBsdWdpbjogIgorICAgICAgICBSZW5kZXJFbWJlZGRlZE9iamVj
dCB7T0JKRUNUfSBhdCAoNjksMCkgc2l6ZSAzMDB4MzAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNSkg
c2l6ZSA3ODR4MzUKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE1KSBzaXplIDEx
OHgyMAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE1KSB3aWR0aCAxMTg6ICJRdCBTdHlsZWQg
V2lkZ2V0OiAiCisgICAgICAgIFJlbmRlckVtYmVkZGVkT2JqZWN0IHtPQkpFQ1R9IGF0ICgxMTgs
MCkgc2l6ZSAzMDB4MzAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw3MCkgc2l6ZSA3ODR4MTA1CisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw4NSkgc2l6ZSAxMjR4MjAKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCw4NSkgd2lkdGggMTI0OiAiVGhpcmQtcGFydHkgcGx1Z2luOiAiCisgICAg
ICAgIFJlbmRlckVtYmVkZGVkT2JqZWN0IHtFTUJFRH0gYXQgKDEyNCwwKSBzaXplIDEwMHgxMDAK
KyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbHVnaW5zL2FwcGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2FwcGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRp
c2FibGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZjYjgyYwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvYXBwbGljYXRpb24tcGx1Z2lu
LXBsdWdpbnMtZGlzYWJsZWQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IS0tIEFwcGxpY2F0aW9u
IHBsdWdpbnMgYXJlIHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkgdGhlIFdlYktpdCBjbGllbnQsIGFz
IG9wcG9zZWQgdG8KKyAgICAgdGhpcmQtcGFydHkgcGx1Z2lucyBzdWNoIGFzIEZsYXNoLiBBcHBs
aWNhdGlvbiBwbHVnaW5zIGFyZSBleGVtcHRlZAorICAgICBmcm9tIHRoZSBwbHVnaW5zRW5hYmxl
ZCBjaGVjayBhcyBpdCBpcyB0aGUgY2xpZW50IHRoYXQgaW1wbGljaXRseSBkZWNpZGVzCisgICAg
IHdoZXRoZXIgb3Igbm90IHRoZXkgZW5hYmxlZCB3aGVuIGl0IGNob29zZXMgd2hldGhlciB0byBp
bXBsZW1lbnQgdGhlbSBvciBub3QuCisKKyAgICAgQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgb25s
eSBRdCBjbGllbnRzIGNhbiBpbXBsZW1lbnQgdGhlaXIgb3duIHBsdWdpbnMuIC0tPgorPGh0bWw+
Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFBsdWdpbnNFbmFibGVkIiwgZmFsc2UpOworICAgIH0KKzwvc2NyaXB0PgorCis8IS0tIHF0IHBs
dWdpbiB3aWRnZXQ6IHdpbGwgYmUgY3JlYXRlZCAtLT4KKzxkaXY+CitRdCBQbHVnaW46Cis8b2Jq
ZWN0IHR5cGU9ImFwcGxpY2F0aW9uL3gtcXQtcGx1Z2luIiBjbGFzc2lkPSJRUHJvZ3Jlc3NCYXIi
IG5hbWU9InByb2dyZXNzYmFyMSIgaGVpZ2h0PTMwPjwvb2JqZWN0PgorPC9kaXY+CisKKzwhLS0g
cXQgc3R5bGVkIHdpZGdldDogd2lsbCBiZSBjcmVhdGVkIC0tPgorPGRpdj4KK1F0IFN0eWxlZCBX
aWRnZXQ6Cis8b2JqZWN0IHR5cGU9ImFwcGxpY2F0aW9uL3gtcXQtc3R5bGVkLXdpZGdldCIgY2xh
c3NpZD0iUVByb2dyZXNzQmFyIiBuYW1lPSJwcm9ncmVzc2JhcjEiIGhlaWdodD0zMD48L29iamVj
dD4KKzwvZGl2PgorCis8IS0tIHRoaXJkIHBhcnR5IHBsdWdpbiB3aWRnZXQ6IHdpbGwgbm90IGJl
IGNyZWF0ZWQgLS0+Cis8ZGl2PgorVGhpcmQtcGFydHkgcGx1Z2luOgorPGVtYmVkIG5hbWU9InBs
ZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9MTAwIGhl
aWdodD0xMDA+PC9lbWJlZD4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGExYmRlYzAuLjEy
NzU5ZDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTAtMDItMjUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEBy
b2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWxsb3cgcGx1Z2lucyBpbXBsZW1lbnRlZCBieSB0aGUgYXBwbGljYXRpb24sIHN1
Y2ggYXMgbWltZXR5cGUgJ3gtcXQtcGx1Z2luJywKKyAgICAgICAgIHdoZW4gcGx1Z2luc0VuYWJs
ZWQgaXMgZmFsc2UuCisKKyAgICAgICAgVGhlIHB1cnBvc2Ugb2YgZGlzYWJsaW5nIHBsdWdpbnMg
aXMgdG8gcHJldmVudCB0aGUgZXhlY3V0aW9uIG9mIHRoaXJkLXBhcnR5IGNvZGUKKyAgICAgICAg
dGhhdCBtYXkgYmUgdW50cnVzdHdvcnRoeS4gUXQgcGx1Z2lucyBhcmUgaW1wbGVtZW50ZWQgYnkg
dGhlIGNsaWVudCByYXRoZXIgdGhhbgorICAgICAgICBsb2FkZWQgZnJvbSBhbiBleHRlcm5hbCBz
b3VyY2UsIHNvIHRoZSBjbGllbnQgc2hvdWxkIGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvCisgICAg
ICAgIGNvbnNpZGVyIHRoZW0gc2VwYXJhdGVseSBmcm9tIG90aGVyIHBsdWdpbnMuCisKKyAgICAg
ICAgQWRkIGEgZnVuY3Rpb24gTWltZVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1J
TUVUeXBlKCkgdGhhdCBXZWJLaXQKKyAgICAgICAgdXNlcyBpbiBjb25qdW5jdGlvbiB3aXRoIGFy
ZVBsdWdpbnNFbmFibGVkKCkgdG8gZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBhdHRlbXB0CisgICAg
ICAgIHRvIGxvYWQgYSBwbHVnaW4uIElmIGlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSgpIHJl
dHVybnMgdHJ1ZSwgV2ViS2l0IHdpbGwgbG9hZAorICAgICAgICB0aGUgcGx1Z2luIGV2ZW4gaWYg
YXJlUGx1Z2luc0VuYWJsZWQoKSBpcyBmYWxzZS4KKworICAgICAgICBDdXJyZW50bHksIG9ubHkg
UXQgaGFzIGFwcGxpY2F0aW9uLWltcGxlbWVudGVkIHBsdWdpbnM6IHRoZXNlIHVzZSB0aGUgbWlt
ZXR5cGUKKyAgICAgICAgJ3gtcXQtcGx1Z2luJyBhbmQgJ3gtcXQtc3R5bGVkLXdpZGdldCcuIFRo
aXMgcGF0Y2ggcGVybWl0cyBRdCBjbGllbnRzJworICAgICAgICByZWltcGxlbWVudGF0aW9uIG9m
IFFXZWJQYWdlOjpjcmVhdGVQbHVnaW4oKSB0byBkZWNpZGUgd2hldGhlciBvciBub3QKKyAgICAg
ICAgdG8gY3JlYXRlIGEgUXQgcGx1Z2luLCBldmVuIHdoZW4gYXJlUGx1Z2luc0VuYWJsZWQgaXMg
ZmFsc2UuCisKKyAgICAgICAgRm9yIGFsbCBwbGF0Zm9ybXMgYXBhcnQgZnJvbSBRdCwgaXNBcHBs
aWNhdGlvblBsdWdpbk1JTUVUeXBlKCkgcmV0dXJucyBmYWxzZS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKKworICAgICAgICBUZXN0OiBw
bHVnaW5zL2FwcGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwKKworICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRl
cjo6cmVxdWVzdE9iamVjdCk6CisgICAgICAgICogcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5o
OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1
Z2luTUlNRVR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3Rr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25Q
bHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3Ry
eUhhaWt1LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGlj
YXRpb25QbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL01JTUVUeXBlUmVn
aXN0cnlNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxp
Y2F0aW9uUGx1Z2luTUlNRVR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL3F0L01JTUVUeXBlUmVn
aXN0cnlRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxp
Y2F0aW9uUGx1Z2luTUlNRVR5cGUpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NSU1FVHlwZVJl
Z2lzdHJ5V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzQXBw
bGljYXRpb25QbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vd2luY2UvTUlNRVR5
cGVSZWdpc3RyeVdpbmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6
OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vd3gvTWlt
ZVR5cGVSZWdpc3RyeVd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6
OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSk6CisKIDIwMTAtMDItMjUgIEd1c3Rhdm8gTm9y
b25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAg
UnViYmVyLXN0YW1wZWQgYnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGVi
Y2ExY2IuLjU5YWNiNGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNw
cAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTEyNzcsNyArMTI3Nywx
MSBAQCBib29sIEZyYW1lTG9hZGVyOjpyZXF1ZXN0T2JqZWN0KFJlbmRlclBhcnQqIHJlbmRlcmVy
LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQQogICAgIGJvb2wgdXNlRmFsbGJhY2s7CiAgICAg
aWYgKHNob3VsZFVzZVBsdWdpbihjb21wbGV0ZWRVUkwsIG1pbWVUeXBlLCByZW5kZXJlci0+aGFz
RmFsbGJhY2tDb250ZW50KCksIHVzZUZhbGxiYWNrKSkgewogICAgICAgICBTZXR0aW5ncyogc2V0
dGluZ3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpOwotICAgICAgICBpZiAoIW1fY2xpZW50LT5hbGxv
d1BsdWdpbnMoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmFyZVBsdWdpbnNFbmFibGVkKCkpCisgICAg
ICAgIGlmICgoIW1fY2xpZW50LT5hbGxvd1BsdWdpbnMoc2V0dGluZ3MgJiYgc2V0dGluZ3MtPmFy
ZVBsdWdpbnNFbmFibGVkKCkpCisgICAgICAgICAgICAgIC8vIEFwcGxpY2F0aW9uIHBsdWdpbnMg
YXJlIHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkgdGhlIHVzZXIgYWdlbnQsIGZvciBleGFtcGxlIFF0
IHBsdWdpbnMsCisgICAgICAgICAgICAgIC8vIGFzIG9wcG9zZWQgdG8gdGhpcmQtcGFydHkgY29k
ZSBzdWNoIGFzIGZsYXNoLiBUaGUgdXNlciBhZ2VudCBkZWNpZGVzIHdoZXRoZXIgb3Igbm90IHRo
ZXkgYXJlCisgICAgICAgICAgICAgIC8vIHBlcm1pdHRlZCwgcmF0aGVyIHRoYW4gV2ViS2l0Lgor
ICAgICAgICAgICAgICAmJiAhTUlNRVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1J
TUVUeXBlKG1pbWVUeXBlKSkKICAgICAgICAgICAgIHx8ICghc2V0dGluZ3MtPmlzSmF2YUVuYWJs
ZWQoKSAmJiBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0phdmFBcHBsZXRNSU1FVHlwZShtaW1lVHlwZSkp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAoaXNEb2N1bWVudFNhbmRi
b3hlZChTYW5kYm94UGx1Z2lucykpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL01JTUVU
eXBlUmVnaXN0cnkuaCBiL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCmluZGV4
IDg4MDFhYzEuLjI3YzJjM2EgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVS
ZWdpc3RyeS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oCkBAIC02
Nyw2ICs2NywxMCBAQCBwdWJsaWM6CiAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIGEgbWltZSB0eXBl
IGlzIGEgdmFsaWQgSmF2YSBhcHBsZXQgbWltZSB0eXBlCiAgICAgc3RhdGljIGJvb2wgaXNKYXZh
QXBwbGV0TUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAKKyAgICAvLyBDaGVjayB0
byBzZWUgaWYgYSBtaW1lIHR5cGUgaXMgYSBwbHVnaW4gaW1wbGVtZW50ZWQgYnkgdGhlCisgICAg
Ly8gYnJvd3NlciAoZS5nLiBhIFF0IFBsdWdpbikuCisgICAgc3RhdGljIGJvb2wgaXNBcHBsaWNh
dGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOworCiAgICAgc3RhdGlj
IEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXMoKTsKICAgICBzdGF0
aWMgSGFzaFNldDxTdHJpbmc+JiBnZXRTdXBwb3J0ZWRJbWFnZVJlc291cmNlTUlNRVR5cGVzKCk7
CiAgICAgc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VNSU1FVHlwZXNG
b3JFbmNvZGluZygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9NSU1F
VHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9NSU1F
VHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwCmluZGV4IGZmMGJlODIuLjc1YzhjYWMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNw
cAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1
bS5jcHAKQEAgLTEzMCw2ICsxMzAsMTEgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1l
ZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJikKICAgICByZXR1cm4gU3RyaW5n
KCk7CiB9CiAKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVU
eXBlKGNvbnN0IFN0cmluZyYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBzdGF0aWMgSGFz
aFNldDxTdHJpbmc+JiBkdW1teUhhc2hTZXQoKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5j
cHAgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcAppbmRleCA4
YWZiNjBmLi44ZmMzMDIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlw
ZVJlZ2lzdHJ5R3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lz
dHJ5R3RrLmNwcApAQCAtNzMsNCArNzMsOSBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0
TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiAgICAgcmV0dXJuIFN0cmlu
ZygpOwogfQogCitib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1F
VHlwZShjb25zdCBTdHJpbmcmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwIGIv
V2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwCmluZGV4IDU5
YWUxOWEuLmNmYTYxM2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5
cGVSZWdpc3RyeUhhaWt1LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2hhaWt1L01JTUVUeXBl
UmVnaXN0cnlIYWlrdS5jcHAKQEAgLTcxLDUgKzcxLDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lz
dHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICAvLyB1
bmtub3duLCBsZXQncyBqdXN0IGFzc3VtZSBwbGFpbiB0ZXh0CiAgICAgcmV0dXJuICJ0ZXh0L3Bs
YWluIjsKIH0KKworYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlN
RVR5cGUoY29uc3QgU3RyaW5nJikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01JTUVUeXBl
UmVnaXN0cnlNYWMubW0gYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFj
Lm1tCmluZGV4IDdkNDM1MDUuLjgyMzQ4ZTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlN
RVR5cGVSZWdpc3RyeU1hYy5tbQpAQCAtNTYsNCArNTYsOSBAQCBTdHJpbmcgTUlNRVR5cGVSZWdp
c3RyeTo6Z2V0UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5cGUoY29uc3QgU3RyaW5nJiB0eXBl
KQogICAgIHJldHVybiB3a0dldFByZWZlcnJlZEV4dGVuc2lvbkZvck1JTUVUeXBlKHR5cGUpOwog
fQogCitib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShj
b25zdCBTdHJpbmcmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCmluZGV4IDIyY2VlNmYuLjQxNjFmODEgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAKQEAgLTgyLDQgKzgy
LDEwIEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihj
b25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7
CiB9CiAKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBl
KGNvbnN0IFN0cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuIG1pbWVUeXBlLnN0YXJ0c1dp
dGgoImFwcGxpY2F0aW9uL3gtcXQtcGx1Z2luIiwgZmFsc2UpCisgICAgICAgIHx8IG1pbWVUeXBl
LnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL3gtcXQtc3R5bGVkLXdpZGdldCIsIGZhbHNlKTsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdp
bi5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcAppbmRl
eCA2ODg1NDAyLi45ODA3NDJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1F
VHlwZVJlZ2lzdHJ5V2luLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJl
Z2lzdHJ5V2luLmNwcApAQCAtMTAzLDQgKzEwMyw5IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5
OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCitib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5N
SU1FVHlwZShjb25zdCBTdHJpbmcmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2UuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2UuY3BwCmluZGV4
IGI2ZWFkOWIuLjllMWJlY2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlN
RVR5cGVSZWdpc3RyeVdpbmNlLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01JTUVU
eXBlUmVnaXN0cnlXaW5jZS5jcHAKQEAgLTEzMyw0ICsxMzMsOSBAQCBTdHJpbmcgTUlNRVR5cGVS
ZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nICZleHQpCiAgICAg
cmV0dXJuIHJlc3VsdC5pc0VtcHR5KCkgPyAidW5rbm93bi91bmtub3duIiA6IHJlc3VsdDsKIH0K
IAorYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoY29u
c3QgU3RyaW5nJikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcAppbmRleCA2MDFjZDlmLi5lN2NjMGUyIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3d4L01pbWVUeXBlUmVnaXN0cnlXeC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3BwCkBAIC03MCw0ICs3MCw5
IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25z
dCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gInRleHQvcGxhaW4iOwogfQogCitib29sIE1JTUVU
eXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQ0ZjE4NzkuLmY1OTI0NTIgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzOCBAQAorMjAxMC0wMi0yNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHJv
YmVydGhvZ2FuLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBbGxvdyBwbHVnaW5zIGltcGxlbWVudGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiwgc3Vj
aCBhcyBtaW1ldHlwZSAneC1xdC1wbHVnaW4nLAorICAgICAgICAgd2hlbiBwbHVnaW5zRW5hYmxl
ZCBpcyBmYWxzZS4KKworICAgICAgICBUaGUgcHVycG9zZSBvZiBkaXNhYmxpbmcgcGx1Z2lucyBp
cyB0byBwcmV2ZW50IHRoZSBleGVjdXRpb24gb2YgdGhpcmQtcGFydHkgY29kZQorICAgICAgICB0
aGF0IG1heSBiZSB1bnRydXN0d29ydGh5LiBRdCBwbHVnaW5zIGFyZSBpbXBsZW1lbnRlZCBieSB0
aGUgY2xpZW50IHJhdGhlciB0aGFuCisgICAgICAgIGxvYWRlZCBmcm9tIGFuIGV4dGVybmFsIHNv
dXJjZSwgc28gdGhlIGNsaWVudCBzaG91bGQgaGF2ZSB0aGUgb3Bwb3J0dW5pdHkgdG8KKyAgICAg
ICAgY29uc2lkZXIgdGhlbSBzZXBhcmF0ZWx5IGZyb20gb3RoZXIgcGx1Z2lucy4KKworICAgICAg
ICBBZGQgYSBmdW5jdGlvbiBNaW1lVHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlN
RVR5cGUoKSB0aGF0IFdlYktpdAorICAgICAgICB1c2VzIGluIGNvbmp1bmN0aW9uIHdpdGggYXJl
UGx1Z2luc0VuYWJsZWQoKSB0byBkZXRlcm1pbmUgaWYgaXQgc2hvdWxkIGF0dGVtcHQKKyAgICAg
ICAgdG8gbG9hZCBhIHBsdWdpbi4gSWYgaXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKCkgcmV0
dXJucyB0cnVlLCBXZWJLaXQgd2lsbCBsb2FkCisgICAgICAgIHRoZSBwbHVnaW4gZXZlbiBpZiBh
cmVQbHVnaW5zRW5hYmxlZCgpIGlzIGZhbHNlLgorCisgICAgICAgIEN1cnJlbnRseSwgb25seSBR
dCBoYXMgYXBwbGljYXRpb24taW1wbGVtZW50ZWQgcGx1Z2luczogdGhlc2UgdXNlIHRoZSBtaW1l
dHlwZQorICAgICAgICAneC1xdC1wbHVnaW4nIGFuZCAneC1xdC1zdHlsZWQtd2lkZ2V0Jy4gVGhp
cyBwYXRjaCBwZXJtaXRzIFF0IGNsaWVudHMnCisgICAgICAgIHJlaW1wbGVtZW50YXRpb24gb2Yg
UVdlYlBhZ2U6OmNyZWF0ZVBsdWdpbigpIHRvIGRlY2lkZSB3aGV0aGVyIG9yIG5vdAorICAgICAg
ICB0byBjcmVhdGUgYSBRdCBwbHVnaW4sIGV2ZW4gd2hlbiBhcmVQbHVnaW5zRW5hYmxlZCBpcyBm
YWxzZS4KKworICAgICAgICBGb3IgYWxsIHBsYXRmb3JtcyBhcGFydCBmcm9tIFF0LCBpc0FwcGxp
Y2F0aW9uUGx1Z2luTUlNRVR5cGUoKSByZXR1cm5zIGZhbHNlLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE5NgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNU
b0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRU
ZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgIChjb3B5V2ViU2V0dGluZ0tleSk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorCiAyMDEwLTAyLTI1ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUu
Y3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApp
bmRleCBhMmZjNzliLi5mN2U3MzgzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTMzNSw2ICszMzUsNyBAQCBzdGF0aWMgdm9p
ZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICAgICAgICAgICAgICAgImVu
YWJsZS1wYWdlLWNhY2hlIiwgRkFMU0UsCiAgICAgICAgICAgICAgICAgICJhdXRvLXJlc2l6ZS13
aW5kb3ciLCBUUlVFLAogICAgICAgICAgICAgICAgICAiZW5hYmxlLWphdmEtYXBwbGV0IiwgRkFM
U0UsCisgICAgICAgICAgICAgICAgICJlbmFibGUtcGx1Z2lucyIsIFRSVUUsCiAgICAgICAgICAg
ICAgICAgIE5VTEwpOwogCiAgICAgd2Via2l0X3dlYl9mcmFtZV9jbGVhcl9tYWluX2ZyYW1lX25h
bWUobWFpbkZyYW1lKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDU2OGVlOGQuLjIzY2FjZTcg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29u
dHJvbGxlckd0ay5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91
dFRlc3RDb250cm9sbGVyR3RrLmNwcApAQCAtNjYsMTIgKzY2LDEzIEBAIHN0YXRpYyBnY2hhciog
Y29weVdlYlNldHRpbmdLZXkoZ2NoYXIqIHByZWZlcmVuY2VLZXkpCiAKICAgICBpZiAoIWtleVRh
YmxlKSB7CiAgICAgICAgIC8vIElmIHlvdSBhZGQgYSBwcmVmIGhlcmUsIG1ha2Ugc3VyZSB5b3Ug
cmVzZXQgdGhlIHZhbHVlIGluCi0gICAgICAgIC8vIER1bXBSZW5kZXJUcmVlOjpyZXNldFdlYlZp
ZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcuCisgICAgICAgIC8vIER1bXBSZW5kZXJU
cmVlOjpyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzLgogICAgICAgICBrZXlUYWJsZSA9
IGdfaGFzaF90YWJsZV9uZXcoZ19zdHJfaGFzaCwgZ19zdHJfZXF1YWwpOwogICAgICAgICBnX2hh
c2hfdGFibGVfaW5zZXJ0KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0SmF2YVNjcmlwdEVuYWJs
ZWQiKSwgZ19zdHJkdXAoImVuYWJsZS1zY3JpcHRzIikpOwogICAgICAgICBnX2hhc2hfdGFibGVf
aW5zZXJ0KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0RGVmYXVsdEZvbnRTaXplIiksIGdfc3Ry
ZHVwKCJkZWZhdWx0LWZvbnQtc2l6ZSIpKTsKICAgICAgICAgZ19oYXNoX3RhYmxlX2luc2VydChr
ZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdEVuYWJsZUNhcmV0QnJvd3NpbmciKSwgZ19zdHJkdXAo
ImVuYWJsZS1jYXJldC1icm93c2luZyIpKTsKICAgICAgICAgZ19oYXNoX3RhYmxlX2luc2VydChr
ZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJlbmNlS2V5IiksIGdf
c3RyZHVwKCJlbmFibGUtcGFnZS1jYWNoZSIpKTsKKyAgICAgICAgZ19oYXNoX3RhYmxlX2luc2Vy
dChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdFBsdWdpbnNFbmFibGVkIiksIGdfc3RyZHVwKCJl
bmFibGUtcGx1Z2lucyIpKTsKICAgICB9CiAKICAgICByZXR1cm4gZ19zdHJkdXAoc3RhdGljX2Nh
c3Q8Z2NoYXIqPihnX2hhc2hfdGFibGVfbG9va3VwKGtleVRhYmxlLCBwcmVmZXJlbmNlS2V5KSkp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRy
ZWVRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcAppbmRleCBlMTZmOWJmLi4zMTkyNDAzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtMTY5LDYgKzE2OSw3IEBAIHZv
aWQgV2ViUGFnZTo6cmVzZXRTZXR0aW5ncygpCiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1
dGUoUVdlYlNldHRpbmdzOjpMaW5rc0luY2x1ZGVkSW5Gb2N1c0NoYWluKTsKICAgICBzZXR0aW5n
cygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZCk7CiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdz
OjpMb2NhbENvbnRlbnRDYW5BY2Nlc3NSZW1vdGVVcmxzKTsKKyAgICBzZXR0aW5ncygpLT5yZXNl
dEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlBsdWdpbnNFbmFibGVkKTsKIAogICAgIC8vIGdsb2Jh
bFNldHRpbmdzIG11c3QgYmUgcmVzZXQgZXhwbGljaXRseS4KICAgICBtX2RydC0+bGF5b3V0VGVz
dENvbnRyb2xsZXIoKS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOwpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNw
cAppbmRleCBhMjZiYzNkLi44YTQ4MTE4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAorKysgYi9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcApAQCAtNDU3LDYgKzQ1
Nyw4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZShjb25z
dCBRU3RyaW5nJiBuYW1lLCBjb25zdCBRVmFyaWFuCiAgICAgICAgIHNldHRpbmdzLT5zZXRGb250
U2l6ZShRV2ViU2V0dGluZ3M6OkRlZmF1bHRGb250U2l6ZSwgdmFsdWUudG9JbnQoKSk7CiAgICAg
ZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiKQogICAg
ICAgICBRV2ViU2V0dGluZ3M6OnNldE1heGltdW1QYWdlc0luQ2FjaGUodmFsdWUudG9JbnQoKSk7
CisgICAgZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0UGx1Z2luc0VuYWJsZWQiKQorICAgICAgICBz
ZXR0aW5ncy0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6UGx1Z2luc0VuYWJsZWQsIHZhbHVl
LnRvQm9vbCgpKTsKICAgICBlbHNlCiAgICAgICAgIHByaW50ZigiRVJST1I6IExheW91dFRlc3RD
b250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UoKSBkb2VzIG5vdCBzdXBwb3J0IHRoZSAnJXMn
IHByZWZlcmVuY2VcbiIsCiAgICAgICAgICAgICBuYW1lLnRvTGF0aW4xKCkuZGF0YSgpKTsKLS0g
CjEuNi4zLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51531</attachid>
            <date>2010-03-24 11:33:17 -0700</date>
            <delta_ts>2010-04-01 14:30:28 -0700</delta_ts>
            <desc>Rebased Patch</desc>
            <filename>0001-Allow-plugins-implemented-by-the-application-such-as.patch</filename>
            <type>text/plain</type>
            <size>22844</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA2Y2M0YzBjNzEwZDRlMmM1MWM3NjAyNzUyZTY2MTEwZGExN2QxODc4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+
CkRhdGU6IFdlZCwgMjQgRmViIDIwMTAgMjA6MTc6NDMgKzAwMDAKU3ViamVjdDogW1BBVENIXSBB
bGxvdyBwbHVnaW5zIGltcGxlbWVudGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiwgc3VjaCBhcyBtaW1l
dHlwZSAneC1xdC1wbHVnaW4nLAogIHdoZW4gcGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCgpUaGUg
cHVycG9zZSBvZiBkaXNhYmxpbmcgcGx1Z2lucyBpcyB0byBwcmV2ZW50IHRoZSBleGVjdXRpb24g
b2YgdGhpcmQtcGFydHkgY29kZQp0aGF0IG1heSBiZSB1bnRydXN0d29ydGh5LiBRdCBwbHVnaW5z
IGFyZSBpbXBsZW1lbnRlZCBieSB0aGUgY2xpZW50IHJhdGhlciB0aGFuCmxvYWRlZCBmcm9tIGFu
IGV4dGVybmFsIHNvdXJjZSwgc28gdGhlIGNsaWVudCBzaG91bGQgaGF2ZSB0aGUgb3Bwb3J0dW5p
dHkgdG8KY29uc2lkZXIgdGhlbSBzZXBhcmF0ZWx5IGZyb20gb3RoZXIgcGx1Z2lucy4KCkFkZCBh
IGZ1bmN0aW9uIE1pbWVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSgp
IHRoYXQgV2ViS2l0CnVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgp
IHRvIGRldGVybWluZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAp0byBsb2FkIGEgcGx1Z2luLiBJZiBp
c0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoKSByZXR1cm5zIHRydWUsIFdlYktpdCB3aWxsIGxv
YWQKdGhlIHBsdWdpbiBldmVuIGlmIGFyZVBsdWdpbnNFbmFibGVkKCkgaXMgZmFsc2UuCgpDdXJy
ZW50bHksIG9ubHkgUXQgaGFzIGFwcGxpY2F0aW9uLWltcGxlbWVudGVkIHBsdWdpbnM6IHRoZXNl
IHVzZSB0aGUgbWltZXR5cGUKJ3gtcXQtcGx1Z2luJyBhbmQgJ3gtcXQtc3R5bGVkLXdpZGdldCcu
IFRoaXMgcGF0Y2ggcGVybWl0cyBRdCBjbGllbnRzJwpyZWltcGxlbWVudGF0aW9uIG9mIFFXZWJQ
YWdlOjpjcmVhdGVQbHVnaW4oKSB0byBkZWNpZGUgd2hldGhlciBvciBub3QKdG8gY3JlYXRlIGEg
UXQgcGx1Z2luLCBldmVuIHdoZW4gYXJlUGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCgpGb3IgYWxs
IHBsYXRmb3JtcyBhcGFydCBmcm9tIFF0LCBpc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoKSBy
ZXR1cm5zIGZhbHNlLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMy
MTk2Ci0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgIDMwICsrKysrKysrKysrKwogLi4ucHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNh
YmxlZC1leHBlY3RlZC50eHQgfCAgIDIwICsrKysrKysrCiAuLi5wcGxpY2F0aW9uLXBsdWdpbi1w
bHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dCB8ICAgMjAgKysrKysrKysKIC4uLi9hcHBsaWNh
dGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sICAgICAgIHwgICAzNCArKysrKysrKysr
KysrKwogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDQ4ICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAgICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKysKIFdlYkNvcmUvcGxhdGZvcm0vTUlNRVR5
cGVSZWdpc3RyeS5oICAgICAgICAgICAgICAgIHwgICAgNCArKwogLi4uL3BsYXRmb3JtL2Nocm9t
aXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAgfCAgICA1ICsrCiBXZWJDb3JlL3BsYXRm
b3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcCAgICAgICB8ICAgIDUgKysKIFdlYkNvcmUv
cGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcCAgIHwgICAgNSArKwogV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbSAgICAgICAgfCAgICA1ICsr
CiBXZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAgICAgICAgICB8ICAg
IDYgKysrCiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcCAgICAg
ICB8ICAgIDUgKysKIFdlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNl
LmNwcCAgIHwgICAgNSArKwogV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3gu
Y3BwICAgICAgICAgfCAgICA1ICsrCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMzUgKysrKysrKysrKysrKysKIFdlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgIHwgICAgMSArCiAuLi4vRHVtcFJlbmRl
clRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCB8ICAgIDMgKy0KIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIHwgICAgMiArCiAuLi4v
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAgICB8ICAgIDIgKwog
MjAgZmlsZXMgY2hhbmdlZCwgMjQzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvcGx1Z2lucy9hcHBsaWNhdGlv
bi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9wbHVnaW5zL2FwcGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVk
LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsdWdpbnMvYXBw
bGljYXRpb24tcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQuaHRtbAoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2YjZjMzI0Li44
NmVmZDc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMDItMjUgIFJvYmVydCBIb2dhbiAg
PHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWxsb3cgcGx1Z2lucyBpbXBsZW1lbnRlZCBieSB0aGUgYXBwbGlj
YXRpb24sIHN1Y2ggYXMgbWltZXR5cGUgJ3gtcXQtcGx1Z2luJywKKyAgICAgICAgIHdoZW4gcGx1
Z2luc0VuYWJsZWQgaXMgZmFsc2UuCisKKyAgICAgICAgVGhlIHB1cnBvc2Ugb2YgZGlzYWJsaW5n
IHBsdWdpbnMgaXMgdG8gcHJldmVudCB0aGUgZXhlY3V0aW9uIG9mIHRoaXJkLXBhcnR5IGNvZGUK
KyAgICAgICAgdGhhdCBtYXkgYmUgdW50cnVzdHdvcnRoeS4gUXQgcGx1Z2lucyBhcmUgaW1wbGVt
ZW50ZWQgYnkgdGhlIGNsaWVudCByYXRoZXIgdGhhbgorICAgICAgICBsb2FkZWQgZnJvbSBhbiBl
eHRlcm5hbCBzb3VyY2UsIHNvIHRoZSBjbGllbnQgc2hvdWxkIGhhdmUgdGhlIG9wcG9ydHVuaXR5
IHRvCisgICAgICAgIGNvbnNpZGVyIHRoZW0gc2VwYXJhdGVseSBmcm9tIG90aGVyIHBsdWdpbnMu
CisKKyAgICAgICAgQWRkIGEgZnVuY3Rpb24gTWltZVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlv
blBsdWdpbk1JTUVUeXBlKCkgdGhhdCBXZWJLaXQKKyAgICAgICAgdXNlcyBpbiBjb25qdW5jdGlv
biB3aXRoIGFyZVBsdWdpbnNFbmFibGVkKCkgdG8gZGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBhdHRl
bXB0CisgICAgICAgIHRvIGxvYWQgYSBwbHVnaW4uIElmIGlzQXBwbGljYXRpb25QbHVnaW5NSU1F
VHlwZSgpIHJldHVybnMgdHJ1ZSwgV2ViS2l0IHdpbGwgbG9hZAorICAgICAgICB0aGUgcGx1Z2lu
IGV2ZW4gaWYgYXJlUGx1Z2luc0VuYWJsZWQoKSBpcyBmYWxzZS4KKworICAgICAgICBDdXJyZW50
bHksIG9ubHkgUXQgaGFzIGFwcGxpY2F0aW9uLWltcGxlbWVudGVkIHBsdWdpbnM6IHRoZXNlIHVz
ZSB0aGUgbWltZXR5cGUKKyAgICAgICAgJ3gtcXQtcGx1Z2luJyBhbmQgJ3gtcXQtc3R5bGVkLXdp
ZGdldCcuIFRoaXMgcGF0Y2ggcGVybWl0cyBRdCBjbGllbnRzJworICAgICAgICByZWltcGxlbWVu
dGF0aW9uIG9mIFFXZWJQYWdlOjpjcmVhdGVQbHVnaW4oKSB0byBkZWNpZGUgd2hldGhlciBvciBu
b3QKKyAgICAgICAgdG8gY3JlYXRlIGEgUXQgcGx1Z2luLCBldmVuIHdoZW4gYXJlUGx1Z2luc0Vu
YWJsZWQgaXMgZmFsc2UuCisKKyAgICAgICAgRm9yIGFsbCBwbGF0Zm9ybXMgYXBhcnQgZnJvbSBR
dCwgaXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKCkgcmV0dXJucyBmYWxzZS4KKworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKKworICAgICAg
ICAqIHBsYXRmb3JtL3F0L3BsdWdpbnMvYXBwbGljYXRpb24tcGx1Z2luLXBsdWdpbnMtZGlzYWJs
ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL2FwcGxpY2F0aW9uLXBs
dWdpbi1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGx1
Z2lucy9hcHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxlZC5odG1sOiBBZGRlZC4KKwog
MjAxMC0wMy0yMyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvcGx1Z2lucy9hcHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9wbHVnaW5zL2FwcGxpY2F0
aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4yNzIyMTkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvcGx1Z2lucy9hcHBsaWNhdGlvbi1wbHVnaW4tcGx1Z2lucy1kaXNhYmxl
ZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAor
ICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MzQKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDE0KSBzaXplIDc0eDIwCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTQpIHdp
ZHRoIDc0OiAiUXQgUGx1Z2luOiAiCisgICAgICAgIFJlbmRlckVtYmVkZGVkT2JqZWN0IHtPQkpF
Q1R9IGF0ICg3NCwwKSBzaXplIDMwMHgzMCBbUVQ6IGdlb21ldHJ5OiB7YXQgKDgyLDgpIHNpemUg
MzAweDMwfSBpc0hpZGRlbjogMCBpc1NlbGZWaXNpYmxlOiAxIGlzUGFyZW50VmlzaWJsZTogMSBt
YXNrOiB7YXQgKDAsMCkgc2l6ZSAzMDB4MzB9IF0gCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzQpIHNp
emUgNzg0eDM0CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxNCkgc2l6ZSAxMjd4
MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNCkgd2lkdGggMTI3OiAiUXQgU3R5bGVkIFdp
ZGdldDogIgorICAgICAgICBSZW5kZXJFbWJlZGRlZE9iamVjdCB7T0JKRUNUfSBhdCAoMTI3LDAp
IHNpemUgMzAweDMwIFtRVDogZ2VvbWV0cnk6IHthdCAoMCwwKSBzaXplIDMwMHgzMH0gaXNIaWRk
ZW46IDEgaXNTZWxmVmlzaWJsZTogMSBpc1BhcmVudFZpc2libGU6IDEgbWFzazoge2F0ICgwLDAp
IHNpemUgMHgwfSBdIAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDY4KSBzaXplIDc4NHgxMDQKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDg0KSBzaXplIDEzM3gyMAorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDg0KSB3aWR0aCAxMzM6ICJUaGlyZC1wYXJ0eSBwbHVnaW46ICIKKyAgICAg
ICAgUmVuZGVyRW1iZWRkZWRPYmplY3Qge0VNQkVEfSBhdCAoMTMzLDApIHNpemUgMTAweDEwMAor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsdWdpbnMvYXBwbGljYXRpb24tcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9hcHBsaWNhdGlvbi1wbHVnaW4tcGx1
Z2lucy1kaXNhYmxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uNTM2NmM3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvYXBw
bGljYXRpb24tcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUg
Nzg0eDM1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxNSkgc2l6ZSA2OXgyMAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE1KSB3aWR0aCA2OTogIlF0IFBsdWdpbjogIgorICAg
ICAgICBSZW5kZXJFbWJlZGRlZE9iamVjdCB7T0JKRUNUfSBhdCAoNjksMCkgc2l6ZSAzMDB4MzAK
KyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwzNSkgc2l6ZSA3ODR4MzUKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDE1KSBzaXplIDExOHgyMAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE1
KSB3aWR0aCAxMTg6ICJRdCBTdHlsZWQgV2lkZ2V0OiAiCisgICAgICAgIFJlbmRlckVtYmVkZGVk
T2JqZWN0IHtPQkpFQ1R9IGF0ICgxMTgsMCkgc2l6ZSAzMDB4MzAKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCw3MCkgc2l6ZSA3ODR4MTA1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw4NSkg
c2l6ZSAxMjR4MjAKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw4NSkgd2lkdGggMTI0OiAiVGhp
cmQtcGFydHkgcGx1Z2luOiAiCisgICAgICAgIFJlbmRlckVtYmVkZGVkT2JqZWN0IHtFTUJFRH0g
YXQgKDEyNCwwKSBzaXplIDEwMHgxMDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL2FwcGxpY2F0aW9u
LXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2FwcGxp
Y2F0aW9uLXBsdWdpbi1wbHVnaW5zLWRpc2FibGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNDZjYjgyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
dWdpbnMvYXBwbGljYXRpb24tcGx1Z2luLXBsdWdpbnMtZGlzYWJsZWQuaHRtbApAQCAtMCwwICsx
LDM0IEBACis8IS0tIEFwcGxpY2F0aW9uIHBsdWdpbnMgYXJlIHBsdWdpbnMgaW1wbGVtZW50ZWQg
YnkgdGhlIFdlYktpdCBjbGllbnQsIGFzIG9wcG9zZWQgdG8KKyAgICAgdGhpcmQtcGFydHkgcGx1
Z2lucyBzdWNoIGFzIEZsYXNoLiBBcHBsaWNhdGlvbiBwbHVnaW5zIGFyZSBleGVtcHRlZAorICAg
ICBmcm9tIHRoZSBwbHVnaW5zRW5hYmxlZCBjaGVjayBhcyBpdCBpcyB0aGUgY2xpZW50IHRoYXQg
aW1wbGljaXRseSBkZWNpZGVzCisgICAgIHdoZXRoZXIgb3Igbm90IHRoZXkgZW5hYmxlZCB3aGVu
IGl0IGNob29zZXMgd2hldGhlciB0byBpbXBsZW1lbnQgdGhlbSBvciBub3QuCisKKyAgICAgQXQg
dGhlIHRpbWUgb2Ygd3JpdGluZywgb25seSBRdCBjbGllbnRzIGNhbiBpbXBsZW1lbnQgdGhlaXIg
b3duIHBsdWdpbnMuIC0tPgorPGh0bWw+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFBsdWdpbnNFbmFibGVkIiwgZmFsc2UpOworICAgIH0K
Kzwvc2NyaXB0PgorCis8IS0tIHF0IHBsdWdpbiB3aWRnZXQ6IHdpbGwgYmUgY3JlYXRlZCAtLT4K
KzxkaXY+CitRdCBQbHVnaW46Cis8b2JqZWN0IHR5cGU9ImFwcGxpY2F0aW9uL3gtcXQtcGx1Z2lu
IiBjbGFzc2lkPSJRUHJvZ3Jlc3NCYXIiIG5hbWU9InByb2dyZXNzYmFyMSIgaGVpZ2h0PTMwPjwv
b2JqZWN0PgorPC9kaXY+CisKKzwhLS0gcXQgc3R5bGVkIHdpZGdldDogd2lsbCBiZSBjcmVhdGVk
IC0tPgorPGRpdj4KK1F0IFN0eWxlZCBXaWRnZXQ6Cis8b2JqZWN0IHR5cGU9ImFwcGxpY2F0aW9u
L3gtcXQtc3R5bGVkLXdpZGdldCIgY2xhc3NpZD0iUVByb2dyZXNzQmFyIiBuYW1lPSJwcm9ncmVz
c2JhcjEiIGhlaWdodD0zMD48L29iamVjdD4KKzwvZGl2PgorCis8IS0tIHRoaXJkIHBhcnR5IHBs
dWdpbiB3aWRnZXQ6IHdpbGwgbm90IGJlIGNyZWF0ZWQgLS0+Cis8ZGl2PgorVGhpcmQtcGFydHkg
cGx1Z2luOgorPGVtYmVkIG5hbWU9InBsZyIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVz
dC1uZXRzY2FwZSIgd2lkdGg9MTAwIGhlaWdodD0xMDA+PC9lbWJlZD4KKzwvZGl2PgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDUzNmRiMWMuLjllZGMzYmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMTAtMDItMjUg
IFJvYmVydCBIb2dhbiAgPHJvYmVydEByb2JlcnRob2dhbi5uZXQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgcGx1Z2lucyBpbXBsZW1lbnRl
ZCBieSB0aGUgYXBwbGljYXRpb24sIHN1Y2ggYXMgbWltZXR5cGUgJ3gtcXQtcGx1Z2luJywKKyAg
ICAgICAgIHdoZW4gcGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCisKKyAgICAgICAgVGhlIHB1cnBv
c2Ugb2YgZGlzYWJsaW5nIHBsdWdpbnMgaXMgdG8gcHJldmVudCB0aGUgZXhlY3V0aW9uIG9mIHRo
aXJkLXBhcnR5IGNvZGUKKyAgICAgICAgdGhhdCBtYXkgYmUgdW50cnVzdHdvcnRoeS4gUXQgcGx1
Z2lucyBhcmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudCByYXRoZXIgdGhhbgorICAgICAgICBs
b2FkZWQgZnJvbSBhbiBleHRlcm5hbCBzb3VyY2UsIHNvIHRoZSBjbGllbnQgc2hvdWxkIGhhdmUg
dGhlIG9wcG9ydHVuaXR5IHRvCisgICAgICAgIGNvbnNpZGVyIHRoZW0gc2VwYXJhdGVseSBmcm9t
IG90aGVyIHBsdWdpbnMuCisKKyAgICAgICAgQWRkIGEgZnVuY3Rpb24gTWltZVR5cGVSZWdpc3Ry
eTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKCkgdGhhdCBXZWJLaXQKKyAgICAgICAgdXNl
cyBpbiBjb25qdW5jdGlvbiB3aXRoIGFyZVBsdWdpbnNFbmFibGVkKCkgdG8gZGV0ZXJtaW5lIGlm
IGl0IHNob3VsZCBhdHRlbXB0CisgICAgICAgIHRvIGxvYWQgYSBwbHVnaW4uIElmIGlzQXBwbGlj
YXRpb25QbHVnaW5NSU1FVHlwZSgpIHJldHVybnMgdHJ1ZSwgV2ViS2l0IHdpbGwgbG9hZAorICAg
ICAgICB0aGUgcGx1Z2luIGV2ZW4gaWYgYXJlUGx1Z2luc0VuYWJsZWQoKSBpcyBmYWxzZS4KKwor
ICAgICAgICBDdXJyZW50bHksIG9ubHkgUXQgaGFzIGFwcGxpY2F0aW9uLWltcGxlbWVudGVkIHBs
dWdpbnM6IHRoZXNlIHVzZSB0aGUgbWltZXR5cGUKKyAgICAgICAgJ3gtcXQtcGx1Z2luJyBhbmQg
J3gtcXQtc3R5bGVkLXdpZGdldCcuIFRoaXMgcGF0Y2ggcGVybWl0cyBRdCBjbGllbnRzJworICAg
ICAgICByZWltcGxlbWVudGF0aW9uIG9mIFFXZWJQYWdlOjpjcmVhdGVQbHVnaW4oKSB0byBkZWNp
ZGUgd2hldGhlciBvciBub3QKKyAgICAgICAgdG8gY3JlYXRlIGEgUXQgcGx1Z2luLCBldmVuIHdo
ZW4gYXJlUGx1Z2luc0VuYWJsZWQgaXMgZmFsc2UuCisKKyAgICAgICAgRm9yIGFsbCBwbGF0Zm9y
bXMgYXBhcnQgZnJvbSBRdCwgaXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKCkgcmV0dXJucyBm
YWxzZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzIxOTYKKworICAgICAgICBUZXN0OiBwbHVnaW5zL2FwcGxpY2F0aW9uLXBsdWdpbi1wbHVnaW5z
LWRpc2FibGVkLmh0bWwKKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVxdWVzdE9iamVjdCk6CisgICAgICAgICogcGxh
dGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL01J
TUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNSU1FVHlwZVJl
Z2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1JTUVUeXBl
UmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICogcGxhdGZv
cm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1J
TUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSk6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpN
SU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUpOgorICAgICAgICAq
IHBsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
SU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUpOgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSk6CisgICAgICAg
ICogcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1JTUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSk6CisK
IDIwMTAtMDMtMjIgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
MDMyM2U5Ny4uNmZlMTAxZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTI3NSw2ICsxMjc1
LDEwIEBAIGJvb2wgRnJhbWVMb2FkZXI6OnJlcXVlc3RPYmplY3QoUmVuZGVyRW1iZWRkZWRPYmpl
Y3QqIHJlbmRlcmVyLCBjb25zdCBTdHJpbmcmIHVyCiAgICAgaWYgKHNob3VsZFVzZVBsdWdpbihj
b21wbGV0ZWRVUkwsIG1pbWVUeXBlLCByZW5kZXJlci0+aGFzRmFsbGJhY2tDb250ZW50KCksIHVz
ZUZhbGxiYWNrKSkgewogICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2ZyYW1lLT5zZXR0
aW5ncygpOwogICAgICAgICBpZiAoIWFsbG93UGx1Z2lucyhBYm91dFRvSW5zdGFudGlhdGVQbHVn
aW4pCisgICAgICAgICAgICAgLy8gQXBwbGljYXRpb24gcGx1Z2lucyBhcmUgcGx1Z2lucyBpbXBs
ZW1lbnRlZCBieSB0aGUgdXNlciBhZ2VudCwgZm9yIGV4YW1wbGUgUXQgcGx1Z2lucywKKyAgICAg
ICAgICAgICAvLyBhcyBvcHBvc2VkIHRvIHRoaXJkLXBhcnR5IGNvZGUgc3VjaCBhcyBmbGFzaC4g
VGhlIHVzZXIgYWdlbnQgZGVjaWRlcyB3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZQorICAgICAgICAg
ICAgIC8vIHBlcm1pdHRlZCwgcmF0aGVyIHRoYW4gV2ViS2l0LgorICAgICAgICAgICAgICYmICFN
SU1FVHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUobWltZVR5cGUpKQog
ICAgICAgICAgICAgfHwgKCFzZXR0aW5ncy0+aXNKYXZhRW5hYmxlZCgpICYmIE1JTUVUeXBlUmVn
aXN0cnk6OmlzSmF2YUFwcGxldE1JTUVUeXBlKG1pbWVUeXBlKSkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIGlmIChpc0RvY3VtZW50U2FuZGJveGVkKFNhbmRib3hQbHVnaW5z
KSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKaW5kZXggODgwMWFjMS4uMjdjMmMzYSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lzdHJ5LmgKQEAgLTY3LDYgKzY3LDEwIEBAIHB1Ymxp
YzoKICAgICAvLyBDaGVjayB0byBzZWUgaWYgYSBtaW1lIHR5cGUgaXMgYSB2YWxpZCBKYXZhIGFw
cGxldCBtaW1lIHR5cGUKICAgICBzdGF0aWMgYm9vbCBpc0phdmFBcHBsZXRNSU1FVHlwZShjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKTsKIAorICAgIC8vIENoZWNrIHRvIHNlZSBpZiBhIG1pbWUgdHlw
ZSBpcyBhIHBsdWdpbiBpbXBsZW1lbnRlZCBieSB0aGUKKyAgICAvLyBicm93c2VyIChlLmcuIGEg
UXQgUGx1Z2luKS4KKyAgICBzdGF0aWMgYm9vbCBpc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICBzdGF0aWMgSGFzaFNldDxTdHJpbmc+JiBn
ZXRTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlcygpOwogICAgIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4m
IGdldFN1cHBvcnRlZEltYWdlUmVzb3VyY2VNSU1FVHlwZXMoKTsKICAgICBzdGF0aWMgSGFzaFNl
dDxTdHJpbmc+JiBnZXRTdXBwb3J0ZWRJbWFnZU1JTUVUeXBlc0ZvckVuY29kaW5nKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1
bS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1
bS5jcHAKaW5kZXggZmYwYmU4Mi4uNzVjOGNhYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcApAQCAtMTMwLDYgKzEz
MCwxMSBAQCBTdHJpbmcgTUlNRVR5cGVSZWdpc3RyeTo6Z2V0TWVkaWFNSU1FVHlwZUZvckV4dGVu
c2lvbihjb25zdCBTdHJpbmcmKQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorYm9vbCBNSU1F
VHlwZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJikK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHN0YXRpYyBIYXNoU2V0PFN0cmluZz4mIGR1bW15
SGFzaFNldCgpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwCmluZGV4IDhhZmI2MGYuLjhmYzMwMjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwCisr
KyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwCkBAIC03Myw0
ICs3Myw5IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lv
bihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK2Jvb2wgTUlN
RVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2hhaWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2hh
aWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAKaW5kZXggNTlhZTE5YS4uY2ZhNjEzZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcApA
QCAtNzEsNSArNzEsMTAgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9y
RXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAgIC8vIHVua25vd24sIGxldCdzIGp1c3Qg
YXNzdW1lIHBsYWluIHRleHQKICAgICByZXR1cm4gInRleHQvcGxhaW4iOwogfQorCitib29sIE1J
TUVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcm
KQoreworICAgIHJldHVybiBmYWxzZTsKK30KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbSBiL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0KaW5kZXggN2Q0MzUwNS4u
ODIzNDhlMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3Ry
eU1hYy5tbQorKysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1t
CkBAIC01Niw0ICs1Niw5IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQcmVmZXJyZWRF
eHRlbnNpb25Gb3JNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgcmV0dXJuIHdrR2V0
UHJlZmVycmVkRXh0ZW5zaW9uRm9yTUlNRVR5cGUodHlwZSk7CiB9CiAKK2Jvb2wgTUlNRVR5cGVS
ZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYpCit7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0
L01JTUVUeXBlUmVnaXN0cnlRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVn
aXN0cnlRdC5jcHAKaW5kZXggMjJjZWU2Zi4uNDE2MWY4MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
cXQvTUlNRVR5cGVSZWdpc3RyeVF0LmNwcApAQCAtODIsNCArODIsMTAgQEAgU3RyaW5nIE1JTUVU
eXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQog
ICAgIHJldHVybiAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjsKIH0KIAorYm9vbCBNSU1FVHlw
ZVJlZ2lzdHJ5Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSkKK3sKKyAgICByZXR1cm4gbWltZVR5cGUuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1x
dC1wbHVnaW4iLCBmYWxzZSkKKyAgICAgICAgfHwgbWltZVR5cGUuc3RhcnRzV2l0aCgiYXBwbGlj
YXRpb24veC1xdC1zdHlsZWQtd2lkZ2V0IiwgZmFsc2UpOworfQorCiB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCmluZGV4IDY4ODU0MDIuLjk4MDc0MmEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCkBAIC0x
MDMsNCArMTAzLDkgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0
ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK2Jvb2wg
TUlNRVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmlu
ZyYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5jZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3Jt
L3dpbmNlL01JTUVUeXBlUmVnaXN0cnlXaW5jZS5jcHAKaW5kZXggYjZlYWQ5Yi4uOWUxYmVjZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2Uu
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNlLmNw
cApAQCAtMTMzLDQgKzEzMyw5IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlw
ZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gcmVzdWx0LmlzRW1w
dHkoKSA/ICJ1bmtub3duL3Vua25vd24iIDogcmVzdWx0OwogfQogCitib29sIE1JTUVUeXBlUmVn
aXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93eC9N
aW1lVHlwZVJlZ2lzdHJ5V3guY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lz
dHJ5V3guY3BwCmluZGV4IDYwMWNkOWYuLmU3Y2MwZTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxh
dGZvcm0vd3gvTWltZVR5cGVSZWdpc3RyeVd4LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3d4
L01pbWVUeXBlUmVnaXN0cnlXeC5jcHAKQEAgLTcwLDQgKzcwLDkgQEAgU3RyaW5nIE1JTUVUeXBl
UmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAg
IHJldHVybiAidGV4dC9wbGFpbiI7CiB9CiAKK2Jvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNBcHBs
aWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYpCit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCiB9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKaW5kZXggMDIyODdmNi4uYTA2MmEyYyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBA
CisyMDEwLTAyLTI1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAcm9iZXJ0aG9nYW4ubmV0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IHBsdWdp
bnMgaW1wbGVtZW50ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLCBzdWNoIGFzIG1pbWV0eXBlICd4LXF0
LXBsdWdpbicsCisgICAgICAgICB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorCisgICAg
ICAgIFRoZSBwdXJwb3NlIG9mIGRpc2FibGluZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhlIGV4
ZWN1dGlvbiBvZiB0aGlyZC1wYXJ0eSBjb2RlCisgICAgICAgIHRoYXQgbWF5IGJlIHVudHJ1c3R3
b3J0aHkuIFF0IHBsdWdpbnMgYXJlIGltcGxlbWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVyIHRo
YW4KKyAgICAgICAgbG9hZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzbyB0aGUgY2xpZW50
IHNob3VsZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb25zaWRlciB0aGVtIHNl
cGFyYXRlbHkgZnJvbSBvdGhlciBwbHVnaW5zLgorCisgICAgICAgIEFkZCBhIGZ1bmN0aW9uIE1p
bWVUeXBlUmVnaXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZSgpIHRoYXQgV2ViS2l0
CisgICAgICAgIHVzZXMgaW4gY29uanVuY3Rpb24gd2l0aCBhcmVQbHVnaW5zRW5hYmxlZCgpIHRv
IGRldGVybWluZSBpZiBpdCBzaG91bGQgYXR0ZW1wdAorICAgICAgICB0byBsb2FkIGEgcGx1Z2lu
LiBJZiBpc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoKSByZXR1cm5zIHRydWUsIFdlYktpdCB3
aWxsIGxvYWQKKyAgICAgICAgdGhlIHBsdWdpbiBldmVuIGlmIGFyZVBsdWdpbnNFbmFibGVkKCkg
aXMgZmFsc2UuCisKKyAgICAgICAgQ3VycmVudGx5LCBvbmx5IFF0IGhhcyBhcHBsaWNhdGlvbi1p
bXBsZW1lbnRlZCBwbHVnaW5zOiB0aGVzZSB1c2UgdGhlIG1pbWV0eXBlCisgICAgICAgICd4LXF0
LXBsdWdpbicgYW5kICd4LXF0LXN0eWxlZC13aWRnZXQnLiBUaGlzIHBhdGNoIHBlcm1pdHMgUXQg
Y2xpZW50cycKKyAgICAgICAgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1
Z2luKCkgdG8gZGVjaWRlIHdoZXRoZXIgb3Igbm90CisgICAgICAgIHRvIGNyZWF0ZSBhIFF0IHBs
dWdpbiwgZXZlbiB3aGVuIGFyZVBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorCisgICAgICAgIEZv
ciBhbGwgcGxhdGZvcm1zIGFwYXJ0IGZyb20gUXQsIGlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlw
ZSgpIHJldHVybnMgZmFsc2UuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMyMTk2CisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJl
bmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNw
cDoKKyAgICAgICAgKGNvcHlXZWJTZXR0aW5nS2V5KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlBhZ2U6OnJl
c2V0U2V0dGluZ3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJl
ZmVyZW5jZSk6CisKIDIwMTAtMDMtMjMgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NA
bm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFu
c2VuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5k
ZXJUcmVlLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJl
ZS5jcHAKaW5kZXggOWY3MTM4Ny4uMDI5NjM2NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC0zMzYsNiArMzM2LDcgQEAgc3Rh
dGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgICAgICAgICAg
ICAgICJlbmFibGUtcGFnZS1jYWNoZSIsIEZBTFNFLAogICAgICAgICAgICAgICAgICAiYXV0by1y
ZXNpemUtd2luZG93IiwgVFJVRSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS1qYXZhLWFwcGxl
dCIsIEZBTFNFLAorICAgICAgICAgICAgICAgICAiZW5hYmxlLXBsdWdpbnMiLCBUUlVFLAogICAg
ICAgICAgICAgICAgICBOVUxMKTsKIAogICAgIHdlYmtpdF93ZWJfZnJhbWVfY2xlYXJfbWFpbl9m
cmFtZV9uYW1lKG1haW5GcmFtZSk7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAppbmRleCA0YWE1YTUzLi4y
MzcxODc5IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0
VGVzdENvbnRyb2xsZXJHdGsuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKQEAgLTY2LDEyICs2NiwxMyBAQCBzdGF0aWMg
Z2NoYXIqIGNvcHlXZWJTZXR0aW5nS2V5KGdjaGFyKiBwcmVmZXJlbmNlS2V5KQogCiAgICAgaWYg
KCFrZXlUYWJsZSkgewogICAgICAgICAvLyBJZiB5b3UgYWRkIGEgcHJlZiBoZXJlLCBtYWtlIHN1
cmUgeW91IHJlc2V0IHRoZSB2YWx1ZSBpbgotICAgICAgICAvLyBEdW1wUmVuZGVyVHJlZTo6cmVz
ZXRXZWJWaWV3VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nLgorICAgICAgICAvLyBEdW1w
UmVuZGVyVHJlZTo6cmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcy4KICAgICAgICAga2V5
VGFibGUgPSBnX2hhc2hfdGFibGVfbmV3KGdfc3RyX2hhc2gsIGdfc3RyX2VxdWFsKTsKICAgICAg
ICAgZ19oYXNoX3RhYmxlX2luc2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdEphdmFTY3Jp
cHRFbmFibGVkIiksIGdfc3RyZHVwKCJlbmFibGUtc2NyaXB0cyIpKTsKICAgICAgICAgZ19oYXNo
X3RhYmxlX2luc2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdERlZmF1bHRGb250U2l6ZSIp
LCBnX3N0cmR1cCgiZGVmYXVsdC1mb250LXNpemUiKSk7CiAgICAgICAgIGdfaGFzaF90YWJsZV9p
bnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJXZWJLaXRFbmFibGVDYXJldEJyb3dzaW5nIiksIGdf
c3RyZHVwKCJlbmFibGUtY2FyZXQtYnJvd3NpbmciKSk7CiAgICAgICAgIGdfaGFzaF90YWJsZV9p
bnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtl
eSIpLCBnX3N0cmR1cCgiZW5hYmxlLXBhZ2UtY2FjaGUiKSk7CisgICAgICAgIGdfaGFzaF90YWJs
ZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJXZWJLaXRQbHVnaW5zRW5hYmxlZCIpLCBnX3N0
cmR1cCgiZW5hYmxlLXBsdWdpbnMiKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGdfc3RyZHVwKHN0
YXRpY19jYXN0PGdjaGFyKj4oZ19oYXNoX3RhYmxlX2xvb2t1cChrZXlUYWJsZSwgcHJlZmVyZW5j
ZUtleSkpKTsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5jcHAKaW5kZXggZWJhZmM1MS4uNjVjY2ZlOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIGIvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTE4OCw2ICsxODgs
OCBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogICAgIHNldHRpbmdzKCktPnJlc2V0
QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6TGlua3NJbmNsdWRlZEluRm9jdXNDaGFpbik7CiAgICAg
c2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpPZmZsaW5lV2ViQXBwbGlj
YXRpb25DYWNoZUVuYWJsZWQpOwogICAgIHNldHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJT
ZXR0aW5nczo6TG9jYWxDb250ZW50Q2FuQWNjZXNzUmVtb3RlVXJscyk7CisgICAgc2V0dGluZ3Mo
KS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpQbHVnaW5zRW5hYmxlZCk7CisKICAgICBt
X2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoZmFs
c2UpOwogCiAgICAgLy8gZ2xvYmFsU2V0dGluZ3MgbXVzdCBiZSByZXNldCBleHBsaWNpdGx5Lgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRy
b2xsZXJRdC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmNwcAppbmRleCA3MDg3OTI0Li4wOThlYjVkIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcApA
QCAtNDc1LDYgKzQ3NSw4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJl
ZmVyZW5jZShjb25zdCBRU3RyaW5nJiBuYW1lLCBjb25zdCBRVmFyaWFuCiAgICAgICAgIFFXZWJT
ZXR0aW5nczo6c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSh2YWx1ZS50b0ludCgpKTsKICAgICBlbHNl
IGlmIChuYW1lID09ICJXZWJLaXRFbmFibGVDYXJldEJyb3dzaW5nIikKICAgICAgICAgc2V0Q2Fy
ZXRCcm93c2luZ0VuYWJsZWQodmFsdWUudG9Cb29sKCkpOworICAgIGVsc2UgaWYgKG5hbWUgPT0g
IldlYktpdFBsdWdpbnNFbmFibGVkIikKKyAgICAgICAgc2V0dGluZ3MtPnNldEF0dHJpYnV0ZShR
V2ViU2V0dGluZ3M6OlBsdWdpbnNFbmFibGVkLCB2YWx1ZS50b0Jvb2woKSk7CiAgICAgZWxzZQog
ICAgICAgICBwcmludGYoIkVSUk9SOiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVm
ZXJlbmNlKCkgZG9lcyBub3Qgc3VwcG9ydCB0aGUgJyVzJyBwcmVmZXJlbmNlXG4iLAogICAgICAg
ICAgICAgbmFtZS50b0xhdGluMSgpLmRhdGEoKSk7Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="commit-queue"
          id="34857"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52327</attachid>
            <date>2010-04-01 13:30:28 -0700</date>
            <delta_ts>2010-06-11 10:41:44 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Allow-ports-to-whitelist-plugins-by-mimetype-even-wh.patch</filename>
            <type>text/plain</type>
            <size>13015</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA0YWNhYWYzNTdkMTk3ZDQyMzUyZmFmMzVmNGYwY2ZmOGE3MDFmOTM2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBXZWQsIDMxIE1hciAyMDEwIDIyOjIyOjQ2ICswMTAwClN1YmplY3Q6IFtQQVRDSF0gQWxsb3cg
cG9ydHMgdG8gd2hpdGVsaXN0IHBsdWdpbnMgYnkgbWltZXR5cGUgZXZlbiB3aGVuIHBsdWdpbnMg
YXJlIGRpc2FibGVkLgoKVGhlIHB1cnBvc2Ugb2YgZGlzYWJsaW5nIHBsdWdpbnMgaXMgdG8gcHJl
dmVudCB0aGUgZXhlY3V0aW9uIG9mIHRoaXJkLXBhcnR5CmNvZGUgdGhhdCBtYXkgYmUgdW50cnVz
dHdvcnRoeS4gUXQgcGx1Z2lucyBhcmUgaW1wbGVtZW50ZWQgYnkgdGhlIGNsaWVudCByYXRoZXIg
dGhhbgpsb2FkZWQgZnJvbSBhbiBleHRlcm5hbCBzb3VyY2UsIHNvIHRoZSBjbGllbnQgc2hvdWxk
IGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvCmNvbnNpZGVyIHRoZW0gc2VwYXJhdGVseSBmcm9tIG90
aGVyIHBsdWdpbnMuCgpUaGlzIHBhdGNoIHBlcm1pdHMgdGhlIGNsaWVudCdzIHJlaW1wbGVtZW50
YXRpb24gb2YgUVdlYlBhZ2U6OmNyZWF0ZVBsdWdpbigpIHRvCmRlY2lkZSB3aGV0aGVyIG9yIG5v
dCB0byBjcmVhdGUgYSBRdCBwbHVnaW4sIGV2ZW4gd2hlbiBwbHVnaW5zRW5hYmxlZCBpcyBmYWxz
ZS4KClRoaXMgaXMgYSByZXZpc2VkIGltcGxlbWVudGF0aW9uIG9mIHRoZSBjaGFuZ2VzIGluIHI1
NjY2MS4KCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjE5NgotLS0K
IFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAz
NCArKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwICAg
ICAgICAgICAgICAgICAgICAgfCAgICA2ICstLS0KIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
Q2xpZW50LmggICAgICAgICAgICAgICAgIHwgICAgMSArCiBXZWJDb3JlL3BsYXRmb3JtL01JTUVU
eXBlUmVnaXN0cnkuaCAgICAgICAgICAgICAgICB8ICAgIDQgLS0KIFdlYkNvcmUvcGxhdGZvcm0v
YnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHAgICAgIHwgICAgNSAtLS0KIC4uLi9wbGF0Zm9y
bS9jaHJvbWl1bS9NSU1FVHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwIHwgICAgNSAtLS0KIFdlYkNv
cmUvcGxhdGZvcm0vZ3RrL01JTUVUeXBlUmVnaXN0cnlHdGsuY3BwICAgICAgIHwgICAgNSAtLS0K
IFdlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcCAgIHwgICAg
NCAtLQogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbSAgICAgICAg
fCAgICA1IC0tLQogV2ViQ29yZS9wbGF0Zm9ybS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwICAg
ICAgICAgfCAgICA2IC0tLQogV2ViQ29yZS9wbGF0Zm9ybS93aW4vTUlNRVR5cGVSZWdpc3RyeVdp
bi5jcHAgICAgICAgfCAgICA1IC0tLQogV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJl
Z2lzdHJ5V2luY2UuY3BwICAgfCAgICA1IC0tLQogV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlw
ZVJlZ2lzdHJ5V3guY3BwICAgICAgICAgfCAgICA1IC0tLQogV2ViS2l0L3F0L0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIyICsrKysrKysrKysrKysKIFdlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCAgIHwgICAgNiArKysK
IFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmggICAgIHwgICAg
MiArCiAxNiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDE2ZjEyM2EuLjgwMjUwMTMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTAtMDQtMDEgIFJvYmVydCBIb2dh
biAgPHJvYmVydEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsbG93IHBvcnRzIHRvIHdoaXRlbGlzdCBwbHVnaW5zIGJ5IG1pbWV0
eXBlIGV2ZW4gd2hlbiBwbHVnaW5zIGFyZSBkaXNhYmxlZC4KKworICAgICAgICBUaGUgcHVycG9z
ZSBvZiBkaXNhYmxpbmcgcGx1Z2lucyBpcyB0byBwcmV2ZW50IHRoZSBleGVjdXRpb24gb2YgdGhp
cmQtcGFydHkKKyAgICAgICAgY29kZSB0aGF0IG1heSBiZSB1bnRydXN0d29ydGh5LiBRdCBwbHVn
aW5zIGFyZSBpbXBsZW1lbnRlZCBieSB0aGUgY2xpZW50IHJhdGhlciB0aGFuCisgICAgICAgIGxv
YWRlZCBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZSwgc28gdGhlIGNsaWVudCBzaG91bGQgaGF2ZSB0
aGUgb3Bwb3J0dW5pdHkgdG8KKyAgICAgICAgY29uc2lkZXIgdGhlbSBzZXBhcmF0ZWx5IGZyb20g
b3RoZXIgcGx1Z2lucy4KKworICAgICAgICBUaGlzIHBhdGNoIHBlcm1pdHMgdGhlIGNsaWVudCdz
IHJlaW1wbGVtZW50YXRpb24gb2YgUVdlYlBhZ2U6OmNyZWF0ZVBsdWdpbigpIHRvCisgICAgICAg
IGRlY2lkZSB3aGV0aGVyIG9yIG5vdCB0byBjcmVhdGUgYSBRdCBwbHVnaW4sIGV2ZW4gd2hlbiBw
bHVnaW5zRW5hYmxlZCBpcyBmYWxzZS4KKworICAgICAgICBUaGlzIGlzIGEgcmV2aXNlZCBpbXBs
ZW1lbnRhdGlvbiBvZiB0aGUgY2hhbmdlcyBpbiByNTY2NjEgYW5kIGlzIGNvdmVyZWQgYnkgdGhl
IHNhbWUKKyAgICAgICAgdGVzdHMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMyMTk2CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlcXVlc3RPYmplY3QpOgorICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVM
b2FkZXJDbGllbnQ6OmlzUGx1Z2luKToKKyAgICAgICAgKiBwbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNw
cDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHA6CisgICAg
ICAgICogcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3RyeUhhaWt1LmNwcDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbToKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9NSU1F
VHlwZVJlZ2lzdHJ5V2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJl
Z2lzdHJ5V2luY2UuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3d4L01pbWVUeXBlUmVnaXN0cnlX
eC5jcHA6CisKIDIwMTAtMDMtMzEgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0
aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCmluZGV4IDI0OThkZWUuLjViMDhmYTIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5jcHAKQEAgLTEyODQsMTEgKzEyODQsNyBAQCBib29sIEZyYW1lTG9hZGVyOjpyZXF1ZXN0T2Jq
ZWN0KFJlbmRlckVtYmVkZGVkT2JqZWN0KiByZW5kZXJlciwgY29uc3QgU3RyaW5nJiB1cgogICAg
IGJvb2wgdXNlRmFsbGJhY2s7CiAgICAgaWYgKHNob3VsZFVzZVBsdWdpbihjb21wbGV0ZWRVUkws
IG1pbWVUeXBlLCByZW5kZXJlci0+aGFzRmFsbGJhY2tDb250ZW50KCksIHVzZUZhbGxiYWNrKSkg
ewogICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpOwotICAg
ICAgICBpZiAoKCFhbGxvd1BsdWdpbnMoQWJvdXRUb0luc3RhbnRpYXRlUGx1Z2luKQotICAgICAg
ICAgICAgIC8vIEFwcGxpY2F0aW9uIHBsdWdpbnMgYXJlIHBsdWdpbnMgaW1wbGVtZW50ZWQgYnkg
dGhlIHVzZXIgYWdlbnQsIGZvciBleGFtcGxlIFF0IHBsdWdpbnMsCi0gICAgICAgICAgICAgLy8g
YXMgb3Bwb3NlZCB0byB0aGlyZC1wYXJ0eSBjb2RlIHN1Y2ggYXMgZmxhc2guIFRoZSB1c2VyIGFn
ZW50IGRlY2lkZXMgd2hldGhlciBvciBub3QgdGhleSBhcmUKLSAgICAgICAgICAgICAvLyBwZXJt
aXR0ZWQsIHJhdGhlciB0aGFuIFdlYktpdC4KLSAgICAgICAgICAgICAmJiAhTUlNRVR5cGVSZWdp
c3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKG1pbWVUeXBlKSkKKyAgICAgICAgaWYg
KChtX2NsaWVudC0+aXNQbHVnaW4obWltZVR5cGUpICYmICFhbGxvd1BsdWdpbnMoQWJvdXRUb0lu
c3RhbnRpYXRlUGx1Z2luKSkKICAgICAgICAgICAgIHx8ICghc2V0dGluZ3MtPmlzSmF2YUVuYWJs
ZWQoKSAmJiBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0phdmFBcHBsZXRNSU1FVHlwZShtaW1lVHlwZSkp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAoaXNEb2N1bWVudFNhbmRi
b3hlZChTYW5kYm94UGx1Z2lucykpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlckNsaWVudC5oIGIvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCBh
MGRmOTFlLi5jMThmMDVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNs
aWVudC5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTI2Niw2
ICsyNjYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBhbGxv
d0phdmFTY3JpcHQoYm9vbCBlbmFibGVkUGVyU2V0dGluZ3MpIHsgcmV0dXJuIGVuYWJsZWRQZXJT
ZXR0aW5nczsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dQbHVnaW5zKGJvb2wgZW5hYmxl
ZFBlclNldHRpbmdzKSB7IHJldHVybiBlbmFibGVkUGVyU2V0dGluZ3M7IH0KICAgICAgICAgdmly
dHVhbCBib29sIGFsbG93SW1hZ2VzKGJvb2wgZW5hYmxlZFBlclNldHRpbmdzKSB7IHJldHVybiBl
bmFibGVkUGVyU2V0dGluZ3M7IH0KKyAgICAgICAgdmlydHVhbCBib29sIGlzUGx1Z2luKGNvbnN0
IFN0cmluZyYpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgICAgICAvLyBUaGlzIGNhbGxiYWNrIG5v
dGlmaWVzIHRoZSBjbGllbnQgdGhhdCB0aGUgZnJhbWUgd2FzIGFib3V0IHRvIHJ1bgogICAgICAg
ICAvLyBKYXZhU2NyaXB0IGJ1dCBkaWQgbm90IGJlY2F1c2UgYWxsb3dKYXZhU2NyaXB0IHJldHVy
bmVkIGZhbHNlLiBXZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9NSU1FVHlwZVJlZ2lz
dHJ5LmggYi9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaAppbmRleCAyN2MyYzNh
Li44ODAxYWMxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnku
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL01JTUVUeXBlUmVnaXN0cnkuaApAQCAtNjcsMTAgKzY3
LDYgQEAgcHVibGljOgogICAgIC8vIENoZWNrIHRvIHNlZSBpZiBhIG1pbWUgdHlwZSBpcyBhIHZh
bGlkIEphdmEgYXBwbGV0IG1pbWUgdHlwZQogICAgIHN0YXRpYyBib29sIGlzSmF2YUFwcGxldE1J
TUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpOwogCi0gICAgLy8gQ2hlY2sgdG8gc2VlIGlm
IGEgbWltZSB0eXBlIGlzIGEgcGx1Z2luIGltcGxlbWVudGVkIGJ5IHRoZQotICAgIC8vIGJyb3dz
ZXIgKGUuZy4gYSBRdCBQbHVnaW4pLgotICAgIHN0YXRpYyBib29sIGlzQXBwbGljYXRpb25QbHVn
aW5NSU1FVHlwZShjb25zdCBTdHJpbmcmIG1pbWVUeXBlKTsKLQogICAgIHN0YXRpYyBIYXNoU2V0
PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzKCk7CiAgICAgc3RhdGljIEhhc2hT
ZXQ8U3RyaW5nPiYgZ2V0U3VwcG9ydGVkSW1hZ2VSZXNvdXJjZU1JTUVUeXBlcygpOwogICAgIHN0
YXRpYyBIYXNoU2V0PFN0cmluZz4mIGdldFN1cHBvcnRlZEltYWdlTUlNRVR5cGVzRm9yRW5jb2Rp
bmcoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYnJldy9NSU1FVHlwZVJlZ2lzdHJ5
QnJldy5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2JyZXcvTUlNRVR5cGVSZWdpc3RyeUJyZXcuY3Bw
CmluZGV4IDBhNTM4YzIuLmQxOTQxMTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYnJl
dy9NSU1FVHlwZVJlZ2lzdHJ5QnJldy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9icmV3L01J
TUVUeXBlUmVnaXN0cnlCcmV3LmNwcApAQCAtNzYsMTAgKzc2LDUgQEAgU3RyaW5nIE1JTUVUeXBl
UmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAg
IHJldHVybiAidGV4dC9wbGFpbiI7CiB9CiAKLWJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNBcHBs
aWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYpCi17Ci0gICAgcmV0dXJuIGZhbHNl
OwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcCBiL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcAppbmRleCAyM2Y3OTI2
Li43N2RlZGE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBl
UmVnaXN0cnlDaHJvbWl1bS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9NSU1F
VHlwZVJlZ2lzdHJ5Q2hyb21pdW0uY3BwCkBAIC0xMzAsMTEgKzEzMCw2IEBAIFN0cmluZyBNSU1F
VHlwZVJlZ2lzdHJ5OjpnZXRNZWRpYU1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYp
CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCi1ib29sIE1JTUVUeXBlUmVnaXN0cnk6OmlzQXBw
bGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmKQotewotICAgIHJldHVybiBmYWxz
ZTsKLX0KLQogc3RhdGljIEhhc2hTZXQ8U3RyaW5nPiYgZHVtbXlIYXNoU2V0KCkKIHsKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL01J
TUVUeXBlUmVnaXN0cnlHdGsuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdp
c3RyeUd0ay5jcHAKaW5kZXggOGZjMzAyMC4uOGFmYjYwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvTUlNRVR5cGVSZWdpc3RyeUd0ay5jcHAKQEAgLTczLDkgKzczLDQgQEAgU3RyaW5nIE1J
TUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0
KQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAotYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5Ojppc0Fw
cGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJikKLXsKLSAgICByZXR1cm4gZmFs
c2U7Ci19Ci0KIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVS
ZWdpc3RyeUhhaWt1LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vaGFpa3UvTUlNRVR5cGVSZWdpc3Ry
eUhhaWt1LmNwcAppbmRleCBjZmE2MTNkLi5kODcwNjA0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2hhaWt1L01JTUVUeXBlUmVnaXN0cnlIYWlrdS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9oYWlrdS9NSU1FVHlwZVJlZ2lzdHJ5SGFpa3UuY3BwCkBAIC03Miw5ICs3Miw1IEBAIFN0
cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVuc2lvbihjb25zdCBTdHJp
bmcgJmV4dCkKICAgICByZXR1cm4gInRleHQvcGxhaW4iOwogfQogCi1ib29sIE1JTUVUeXBlUmVn
aXN0cnk6OmlzQXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmKQotewotICAg
IHJldHVybiBmYWxzZTsKLX0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbSBiL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL01JTUVUeXBlUmVnaXN0cnlNYWMubW0KaW5kZXggODIzNDhlMC4uN2Q0MzUwNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTUlNRVR5cGVSZWdpc3RyeU1hYy5tbQor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL21hYy9NSU1FVHlwZVJlZ2lzdHJ5TWFjLm1tCkBAIC01Niw5
ICs1Niw0IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQcmVmZXJyZWRFeHRlbnNpb25G
b3JNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgcmV0dXJuIHdrR2V0UHJlZmVycmVk
RXh0ZW5zaW9uRm9yTUlNRVR5cGUodHlwZSk7CiB9CiAKLWJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6
aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYpCi17Ci0gICAgcmV0dXJu
IGZhbHNlOwotfQotCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBl
UmVnaXN0cnlRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L01JTUVUeXBlUmVnaXN0cnlRdC5j
cHAKaW5kZXggNDE2MWY4MS4uMjJjZWU2ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9NSU1FVHlwZVJlZ2lzdHJ5UXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvTUlNRVR5
cGVSZWdpc3RyeVF0LmNwcApAQCAtODIsMTAgKzgyLDQgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0
cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAgIHJldHVy
biAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjsKIH0KIAotYm9vbCBNSU1FVHlwZVJlZ2lzdHJ5
Ojppc0FwcGxpY2F0aW9uUGx1Z2luTUlNRVR5cGUoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSkKLXsK
LSAgICByZXR1cm4gbWltZVR5cGUuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1xdC1wbHVnaW4i
LCBmYWxzZSkKLSAgICAgICAgfHwgbWltZVR5cGUuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1x
dC1zdHlsZWQtd2lkZ2V0IiwgZmFsc2UpOwotfQotCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9NSU1FVHlwZVJlZ2lzdHJ5V2luLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vd2lu
L01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCmluZGV4IDk4MDc0MmEuLjY4ODU0MDIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vd2luL01JTUVUeXBlUmVnaXN0cnlXaW4uY3BwCkBAIC0xMDMsOSArMTAz
LDQgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNv
bnN0IFN0cmluZyAmZXh0KQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWJvb2wgTUlNRVR5cGVS
ZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBsdWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYpCi17Ci0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3dp
bmNlL01JTUVUeXBlUmVnaXN0cnlXaW5jZS5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3dpbmNlL01J
TUVUeXBlUmVnaXN0cnlXaW5jZS5jcHAKaW5kZXggOWUxYmVjZS4uYjZlYWQ5YiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS93aW5jZS9NSU1FVHlwZVJlZ2lzdHJ5V2luY2UuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vd2luY2UvTUlNRVR5cGVSZWdpc3RyeVdpbmNlLmNwcApAQCAtMTMz
LDkgKzEzMyw0IEBAIFN0cmluZyBNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRNSU1FVHlwZUZvckV4dGVu
c2lvbihjb25zdCBTdHJpbmcgJmV4dCkKICAgICByZXR1cm4gcmVzdWx0LmlzRW1wdHkoKSA/ICJ1
bmtub3duL3Vua25vd24iIDogcmVzdWx0OwogfQogCi1ib29sIE1JTUVUeXBlUmVnaXN0cnk6Omlz
QXBwbGljYXRpb25QbHVnaW5NSU1FVHlwZShjb25zdCBTdHJpbmcmKQotewotICAgIHJldHVybiBm
YWxzZTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJl
Z2lzdHJ5V3guY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS93eC9NaW1lVHlwZVJlZ2lzdHJ5V3guY3Bw
CmluZGV4IGU3Y2MwZTIuLjYwMWNkOWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vd3gv
TWltZVR5cGVSZWdpc3RyeVd4LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3d4L01pbWVUeXBl
UmVnaXN0cnlXeC5jcHAKQEAgLTcwLDkgKzcwLDQgQEAgU3RyaW5nIE1JTUVUeXBlUmVnaXN0cnk6
OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyAmZXh0KQogICAgIHJldHVybiAi
dGV4dC9wbGFpbiI7CiB9CiAKLWJvb2wgTUlNRVR5cGVSZWdpc3RyeTo6aXNBcHBsaWNhdGlvblBs
dWdpbk1JTUVUeXBlKGNvbnN0IFN0cmluZyYpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB9
CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCBhMzY4MDc1Li5jMmMyYWMzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0wNC0wMSAgUm9i
ZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgcG9ydHMgdG8gd2hpdGVsaXN0IHBsdWdpbnMg
YnkgbWltZXR5cGUgZXZlbiB3aGVuIHBsdWdpbnMgYXJlIGRpc2FibGVkLgorCisgICAgICAgIFRo
ZSBwdXJwb3NlIG9mIGRpc2FibGluZyBwbHVnaW5zIGlzIHRvIHByZXZlbnQgdGhlIGV4ZWN1dGlv
biBvZiB0aGlyZC1wYXJ0eQorICAgICAgICBjb2RlIHRoYXQgbWF5IGJlIHVudHJ1c3R3b3J0aHku
IFF0IHBsdWdpbnMgYXJlIGltcGxlbWVudGVkIGJ5IHRoZSBjbGllbnQgcmF0aGVyIHRoYW4KKyAg
ICAgICAgbG9hZGVkIGZyb20gYW4gZXh0ZXJuYWwgc291cmNlLCBzbyB0aGUgY2xpZW50IHNob3Vs
ZCBoYXZlIHRoZSBvcHBvcnR1bml0eSB0bworICAgICAgICBjb25zaWRlciB0aGVtIHNlcGFyYXRl
bHkgZnJvbSBvdGhlciBwbHVnaW5zLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcGVybWl0cyB0aGUg
Y2xpZW50J3MgcmVpbXBsZW1lbnRhdGlvbiBvZiBRV2ViUGFnZTo6Y3JlYXRlUGx1Z2luKCkgdG8K
KyAgICAgICAgZGVjaWRlIHdoZXRoZXIgb3Igbm90IHRvIGNyZWF0ZSBhIFF0IHBsdWdpbiwgZXZl
biB3aGVuIHBsdWdpbnNFbmFibGVkIGlzIGZhbHNlLgorCisgICAgICAgIFRoaXMgaXMgYSByZXZp
c2VkIGltcGxlbWVudGF0aW9uIG9mIHRoZSBjaGFuZ2VzIGluIHI1NjY2MS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIxOTYKKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6aXNQbHVnaW4pOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaDoKKwogMjAxMC0wMy0zMSAgTWFyY3VzIEJ1bGFjaCAg
PGJ1bGFjaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmVyZW15IE9ybG93
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
CmluZGV4IGM1YzU3MzkuLjM1ZjgzNjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKQEAgLTEzNzIsNiArMTM3MiwxMiBAQCBRU3RyaW5n
IEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmNob29zZUZpbGUoY29uc3QgUVN0cmluZyYgb2xkRmlsZSkK
ICAgICByZXR1cm4gd2ViRnJhbWUoKS0+cGFnZSgpLT5jaG9vc2VGaWxlKHdlYkZyYW1lKCksIG9s
ZEZpbGUpOwogfQogCitib29sIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OmlzUGx1Z2luKGNvbnN0IFN0
cmluZyYgbWltZVR5cGUpCit7CisgICAgcmV0dXJuICEobWltZVR5cGUuc3RhcnRzV2l0aCgiYXBw
bGljYXRpb24veC1xdC1wbHVnaW4iLCBmYWxzZSkKKyAgICAgICAgICAgICB8fCBtaW1lVHlwZS5z
dGFydHNXaXRoKCJhcHBsaWNhdGlvbi94LXF0LXN0eWxlZC13aWRnZXQiLCBmYWxzZSkpOworfQor
CiB9CiAKICNpbmNsdWRlICJtb2NfRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAiCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oIGIvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaAppbmRleCBhZGViMzFjLi41
YWE2NjNlIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dFF0LmgKQEAgLTIwOSw2ICsyMDksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
dmlydHVhbCB2b2lkIHJlZ2lzdGVyRm9ySWNvbk5vdGlmaWNhdGlvbihib29sKTsKIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNQbHVnaW4oY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CisKICAgICAg
ICAgUVN0cmluZyBjaG9vc2VGaWxlKGNvbnN0IFFTdHJpbmcmIG9sZEZpbGUpOwogCiAgICAgcHJp
dmF0ZToKLS0gCjEuNi4zLjMKCg==
</data>
<flag name="review"
          id="35774"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>