<?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>40961</bug_id>
          
          <creation_ts>2010-06-21 17:30:11 -0700</creation_ts>
          <short_desc>REGRESSION (HTML5 Parser): Pages broken due to &lt;tag&lt;tag&gt; parsing changes</short_desc>
          <delta_ts>2010-09-21 03:21:44 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.macruby.org/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>41115</blocked>
    
    <blocked>46134</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="William Siegrist">wsiegrist</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>CorniMac</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>mike</cc>
    
    <cc>mitz</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>241010</commentid>
    <comment_count>0</comment_count>
      <attachid>59318</attachid>
    <who name="William Siegrist">wsiegrist</who>
    <bug_when>2010-06-21 17:30:11 -0700</bug_when>
    <thetext>Created attachment 59318
screenshot showing bad layout

The MacRuby website does not layout correctly on r61502. The main body of the website is shifted to the right and lines up with the red boxes on the right instead of the left edge of the black navigation bar.  See attached screenshot.

The website looks correct on stock 10.6.4 WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241347</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-22 11:10:43 -0700</bug_when>
    <thetext>Regressed in r61285.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241357</commentid>
    <comment_count>2</comment_count>
      <attachid>59397</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-06-22 11:25:31 -0700</bug_when>
    <thetext>Created attachment 59397
reduced test case

This test passes in Safari 5 and in Firefox 3.6.3, but not in IE8. The site is also happily broken in IE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241366</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-22 11:48:38 -0700</bug_when>
    <thetext>Thanks.  I&apos;ll look into this today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241433</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-22 13:44:29 -0700</bug_when>
    <thetext>We seem to be doing what the spec says to do here (and we match Minefield).  I&apos;ve sent an email to the HTML working group.  This issue is on our &quot;top five&quot; list of behavioral differences like to cause compatibility problems:

https://docs.google.com/document/edit?id=1as5xYjyMSCph4960iz0-Kb7hZKf_L6f2vts57NMcVBI&amp;hl=en

Let&apos;s give the working group a couple days to respond before taking action.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241438</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-22 13:48:19 -0700</bug_when>
    <thetext>&gt; This test passes in Safari 5 and in Firefox 3.6.3, but not in IE8. The site is also happily broken in IE.

The test also fails in Opera 10.54.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241447</commentid>
    <comment_count>6</comment_count>
    <who name="William Siegrist">wsiegrist</who>
    <bug_when>2010-06-22 13:58:14 -0700</bug_when>
    <thetext>I filed a MacRuby bug with the fix for them:

https://www.macruby.org/trac/ticket/759</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241467</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-22 14:53:52 -0700</bug_when>
    <thetext>See http://www.w3.org/Bugs/Public/show_bug.cgi?id=9985</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249125</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-09 11:16:35 -0700</bug_when>
    <thetext>*** Bug 41069 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253300</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-07-19 11:34:20 -0700</bug_when>
    <thetext>Applications linked against the shipping version of WebKit rely on the old parser behavior. There needs to be a way to give that behavior to applications (and perhaps websites) that rely on it. One such application is AIM for Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253301</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-19 11:38:01 -0700</bug_when>
    <thetext>&gt; Applications linked against the shipping version of WebKit rely on the old parser behavior.

Perhaps you&apos;d be interested in &lt;http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebPreferenceKeysPrivate.h#L96&gt;?

&gt; There needs to be a way to give that behavior to applications (and perhaps websites) that rely on it. One such application is AIM for Mac.

Is there a sunset for how long the Mac port is required to support the old parser?  It&apos;s quite complex, and it&apos;s going to bitrot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253304</commentid>
    <comment_count>11</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-07-19 11:44:38 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; &gt; Applications linked against the shipping version of WebKit rely on the old parser behavior.
&gt; 
&gt; Perhaps you&apos;d be interested in &lt;http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebPreferenceKeysPrivate.h#L96&gt;?

I am aware of it, but keeping the legacy parser around is not desirable for obvious reasons.

&gt; &gt; There needs to be a way to give that behavior to applications (and perhaps websites) that rely on it. One such application is AIM for Mac.
&gt; 
&gt; Is there a sunset for how long the Mac port is required to support the old parser?  It&apos;s quite complex, and it&apos;s going to bitrot.

The Mac port is not required to support the old parser, and in fact I just said that was un undesirble way to address the issue.

Perhaps what caused the confusion was that I used the phrase “the old parser behavior”. I was referring specifically to the one aspect of the old parser that this bug is about. I think a good solution would be to add this quirk to the parser and a setting for enabling the quirk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253314</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-19 11:52:34 -0700</bug_when>
    <thetext>&gt; Perhaps what caused the confusion was that I used the phrase “the old parser behavior”. I was referring specifically to the one aspect of the old parser that this bug is about. I think a good solution would be to add this quirk to the parser and a setting for enabling the quirk.

Here&apos;s a document describing the parser changes that we&apos;re worried might case compatibility problems for WebKit-only content:

https://docs.google.com/document/edit?id=1as5xYjyMSCph4960iz0-Kb7hZKf_L6f2vts57NMcVBI&amp;hl=en

Do you think it would be better to have one setting that enabled all the quirks we need, or should we have a separate setting for each one?

Same question: do we have a plan for sunsetting these quirks?  For example, we could make them available only to applications linked before a certain date and then remove the setting them when that date is sufficiently far in the past.

Also, we&apos;ll need to test the performance impact of adding these branches to the tokenizer.  In general, you can see many of the branches in the benchmark score, so we might need to do something clever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253317</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-19 11:59:24 -0700</bug_when>
    <thetext>&gt; Same question: do we have a plan for sunsetting these quirks?  
&gt; For example, we could make them available only to applications
&gt; linked before a certain date and then remove the setting them when
&gt; that date is sufficiently far in the past.

I don&apos;t think we have an equivalent mechanism for Dashboard widgets, so the quirk will likely have to be permanent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253319</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-07-19 12:06:41 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; Perhaps what caused the confusion was that I used the phrase “the old parser behavior”. I was referring specifically to the one aspect of the old parser that this bug is about. I think a good solution would be to add this quirk to the parser and a setting for enabling the quirk.
&gt; 
&gt; Here&apos;s a document describing the parser changes that we&apos;re worried might case compatibility problems for WebKit-only content:
&gt; 
&gt; https://docs.google.com/document/edit?id=1as5xYjyMSCph4960iz0-Kb7hZKf_L6f2vts57NMcVBI&amp;hl=en
&gt; 
&gt; Do you think it would be better to have one setting that enabled all the quirks we need, or should we have a separate setting for each one?

I don’t have a strong opinion on this. It might depend on the context in which we’d want to enable the quirks. For now, I can’t think of a reason to separate them.

&gt; Same question: do we have a plan for sunsetting these quirks?  For example, we could make them available only to applications linked before a certain date and then remove the setting them when that date is sufficiently far in the past.

For application compatibility, the quirks should only be enabled for select application bundle IDs (currently the set contains only AIM) and only if they were not linked against WebKit-534.1 or later. There is currently no plan to ever break AIM.

For website compatibilty, if site-specific hacks are deployed, they can be revisited at any time. If specific websites are targeted, and those websites are updated to not require the quirk anymore, then it can be removed. If the quirk targets something different (for example, a specific version of some JavaScript library), then it’s harder to tell when to remove it.

&gt; Also, we&apos;ll need to test the performance impact of adding these branches to the tokenizer.  In general, you can see many of the branches in the benchmark score, so we might need to do something clever.

Of course. In the worst case, and if we opt for a single “quirks” switch, then templatizing a sufficiently large portion of the tokenizer should eliminate branches on any hot paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253351</commentid>
    <comment_count>15</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-19 13:02:05 -0700</bug_when>
    <thetext>Sounds like a plan.  I might need some help with the patch because I&apos;m not overly familiar with the quirks infrastructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269629</commentid>
    <comment_count>16</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-08-25 17:28:27 -0700</bug_when>
    <thetext>We’ve seen several more cases internal to Apple where this change in behavior has impacted existing content.  They’ve primarily been web sites, but also email messages generated by reporting systems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270328</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-26 23:17:34 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; We’ve seen several more cases internal to Apple where this change in behavior has impacted existing content.  They’ve primarily been web sites, but also email messages generated by reporting systems.

That&apos;s not overly surprising given that internal Apple content is more likely to be consumed with WebKit than with IE.  Presumably these pieces of content are also broken in IE and Firefox 4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277076</commentid>
    <comment_count>18</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-10 01:56:06 -0700</bug_when>
    <thetext>&lt;rdar://problem/8154379&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278059</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-13 01:43:39 -0700</bug_when>
    <thetext>I offered to write a patch for this bug, but Maciej thought it would be better if someone else wrote the patch to get some experience with how this code works.

One approach to fixing this bug is to add a Setting that can be used by the embedder for app-specific compatibility.  The setting instructs the HTMLTokenizer to recognize &apos;&lt;&apos; in the TagNameState and to re-consume it in the data state.  One subtly is that you&apos;ll probably need to emit the current token before re-consuming the &apos;&lt;&apos; character.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278681</commentid>
    <comment_count>20</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-13 20:38:19 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; I offered to write a patch for this bug, but Maciej thought it would be better if someone else wrote the patch to get some experience with how this code works.
&gt; 
&gt; One approach to fixing this bug is to add a Setting that can be used by the embedder for app-specific compatibility.  The setting instructs the HTMLTokenizer to recognize &apos;&lt;&apos; in the TagNameState and to re-consume it in the data state.  One subtly is that you&apos;ll probably need to emit the current token before re-consuming the &apos;&lt;&apos; character.

Adam, thanks for the pointer in the right direction. In addition to TagNameState, there were a few other states that needed this quirk to handle cases such as &lt;tag attr&lt;tag&gt; and &lt;tag &lt;tag&gt;, but it is essentially the same change in each state (for &lt;tag attr&lt;tag&gt;, endAttributeName() needs to be called before reconsuming the &lt; in DataState).

I have the WebCore part of this patch written, but I still need to actually enable the quirk in WebKit and also write a layout test, which probably means also modifying DRT so that the quirk can be enabled from the test.

I&apos;ll upload the WebCore part now if you want to take a look at it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278684</commentid>
    <comment_count>21</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-13 20:49:04 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; I have the WebCore part of this patch written, but I still need to actually enable the quirk in WebKit and also write a layout test, which probably means also modifying DRT so that the quirk can be enabled from the test.

On second thought, enabling this quirk is probably outside the scope of this bug. I&apos;ll just focus on adding the quirk capability and open other bugs for enabling it in specific cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278686</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-13 20:51:51 -0700</bug_when>
    <thetext>Quirks like this should be easy to test using some iframes and layoutTestController.overridePreference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278691</commentid>
    <comment_count>23</comment_count>
      <attachid>67516</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-13 21:02:03 -0700</bug_when>
    <thetext>Created attachment 67516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278698</commentid>
    <comment_count>24</comment_count>
      <attachid>67516</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-13 21:12:16 -0700</bug_when>
    <thetext>Comment on attachment 67516
Patch

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

Overall, looks spot on.  Thanks for working on this patch.

&gt; WebCore/html/parser/HTMLDocumentParser.cpp:95
&gt; -    , m_tokenizer(HTMLTokenizer::create())
&gt; +    , m_tokenizer(HTMLTokenizer::create(fragment-&gt;document()-&gt;settings()))
Be sure to add a test case that uses fragment parsing to make sure the setting properly propagates to the fragment parsing code.

&gt; WebCore/html/parser/HTMLTokenizer.cpp:106
&gt; -HTMLTokenizer::HTMLTokenizer()
&gt; +HTMLTokenizer::HTMLTokenizer(Settings* settings)
Do you think passing in the settings object is better than passing in the Document?  It&apos;s slightly unclear to me which is better.

&gt; WebCore/html/parser/HTMLTokenizer.cpp:108
&gt; +    , m_useLegacyParserQuirks(settings &amp;&amp; settings-&gt;useLegacyParserQuirks())
useLegacyTokenizerQuirks?  I guess it depends on what granularity we want to be able to control the quirks...

Are you sure that frameless documents don&apos;t need this quirk?

&gt; WebCore/html/parser/HTMLTokenizer.cpp:440
&gt; +        else if (cc == &apos;&lt;&apos; &amp;&amp; m_useLegacyParserQuirks)
I bet you should put m_useLegacyParserQuirks first.  That branch will be very well predicted.

&gt; WebCore/html/parser/HTMLTokenizer.cpp:919
&gt; +        } else if (cc == &apos;&lt;&apos; &amp;&amp; m_useLegacyParserQuirks) {
&gt; +            m_token-&gt;endAttributeName(source.numberOfCharactersConsumed());
&gt; +            return emitAndReconsumeIn(source, DataState);
It would be nice if we could skip this one.  The characters used to terminate unquoted attributes are often security sensitive because folks sometimes allow untrusted content in unquoted attributes (even thought that&apos;s super scary).  By adding &quot;&lt;&quot; as a terminator character, &quot;foo&lt;script&gt;alert(1)&lt;/script&gt;&quot; becomes an XSS vector in an unquoted attribute when it otherwise wouldn&apos;t be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278702</commentid>
    <comment_count>25</comment_count>
      <attachid>67516</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-13 21:20:27 -0700</bug_when>
    <thetext>Comment on attachment 67516
Patch

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

&gt; WebCore/html/parser/HTMLTokenizer.cpp:108
&gt; +    , m_useLegacyParserQuirks(settings &amp;&amp; settings-&gt;useLegacyParserQuirks())
I disagree.  One flag is scary enough.  Having N different parser modes is bad news bears.   Andy is right to just have one flag IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278713</commentid>
    <comment_count>26</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-13 21:31:30 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 67516 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=67516&amp;action=prettypatch
&gt; 
&gt; Overall, looks spot on.  Thanks for working on this patch.
&gt; 
&gt; &gt; WebCore/html/parser/HTMLDocumentParser.cpp:95
&gt; &gt; -    , m_tokenizer(HTMLTokenizer::create())
&gt; &gt; +    , m_tokenizer(HTMLTokenizer::create(fragment-&gt;document()-&gt;settings()))
&gt; Be sure to add a test case that uses fragment parsing to make sure the setting properly propagates to the fragment parsing code.

Will do.

&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:106
&gt; &gt; -HTMLTokenizer::HTMLTokenizer()
&gt; &gt; +HTMLTokenizer::HTMLTokenizer(Settings* settings)
&gt; Do you think passing in the settings object is better than passing in the Document?  It&apos;s slightly unclear to me which is better.

My thought was that Settings was more specific to what HTMLTokenizer needs than Document.

&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:108
&gt; &gt; +    , m_useLegacyParserQuirks(settings &amp;&amp; settings-&gt;useLegacyParserQuirks())
&gt; useLegacyTokenizerQuirks?  I guess it depends on what granularity we want to be able to control the quirks...

I&apos;d like to use this same quirk to handle the &lt;script /&gt; case, and I believe that will need to be patched in HTMLTreeBuilder. So, using the work tokenizer might make it too specific.

&gt; 
&gt; Are you sure that frameless documents don&apos;t need this quirk?

Ahh, so since document()-&gt;settings() is really document()-&gt;m_frame-&gt;settings(), frameless documents would return a NULL Settings. I didn&apos;t consider this, so I&apos;ll think about the right thing to do. I don&apos;t know a lot about frameless documents, but I don&apos;t see why they wouldn&apos;t want the quirk.

&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:440
&gt; &gt; +        else if (cc == &apos;&lt;&apos; &amp;&amp; m_useLegacyParserQuirks)
&gt; I bet you should put m_useLegacyParserQuirks first.  That branch will be very well predicted.

Will do.

&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:919
&gt; &gt; +        } else if (cc == &apos;&lt;&apos; &amp;&amp; m_useLegacyParserQuirks) {
&gt; &gt; +            m_token-&gt;endAttributeName(source.numberOfCharactersConsumed());
&gt; &gt; +            return emitAndReconsumeIn(source, DataState);
&gt; It would be nice if we could skip this one.  The characters used to terminate unquoted attributes are often security sensitive because folks sometimes allow untrusted content in unquoted attributes (even thought that&apos;s super scary).  By adding &quot;&lt;&quot; as a terminator character, &quot;foo&lt;script&gt;alert(1)&lt;/script&gt;&quot; becomes an XSS vector in an unquoted attribute when it otherwise wouldn&apos;t be.

This can probably be skipped for now, but I wouldn&apos;t be surprised if we find this case in the wild. The markup used by AIM comes close to hitting this case, but has whitespace after the end of the attribute (the attribute value is also quoted). 

Thanks for the feedback!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278716</commentid>
    <comment_count>27</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-13 21:38:58 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:919
&gt; &gt; +        } else if (cc == &apos;&lt;&apos; &amp;&amp; m_useLegacyParserQuirks) {
&gt; &gt; +            m_token-&gt;endAttributeName(source.numberOfCharactersConsumed());
&gt; &gt; +            return emitAndReconsumeIn(source, DataState);
&gt; It would be nice if we could skip this one.  The characters used to terminate unquoted attributes are often security sensitive because folks sometimes allow untrusted content in unquoted attributes (even thought that&apos;s super scary).  By adding &quot;&lt;&quot; as a terminator character, &quot;foo&lt;script&gt;alert(1)&lt;/script&gt;&quot; becomes an XSS vector in an unquoted attribute when it otherwise wouldn&apos;t be.

If this turns out to be necessary, maybe it could be restricted to quoted attributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278717</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-13 21:42:13 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #24)
&gt; &gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:919
&gt; &gt; &gt; +        } else if (cc == &apos;&lt;&apos; &amp;&amp; m_useLegacyParserQuirks) {
&gt; &gt; &gt; +            m_token-&gt;endAttributeName(source.numberOfCharactersConsumed());
&gt; &gt; &gt; +            return emitAndReconsumeIn(source, DataState);
&gt; &gt; It would be nice if we could skip this one.  The characters used to terminate unquoted attributes are often security sensitive because folks sometimes allow untrusted content in unquoted attributes (even thought that&apos;s super scary).  By adding &quot;&lt;&quot; as a terminator character, &quot;foo&lt;script&gt;alert(1)&lt;/script&gt;&quot; becomes an XSS vector in an unquoted attribute when it otherwise wouldn&apos;t be.
&gt; 
&gt; If this turns out to be necessary, maybe it could be restricted to quoted attributes.

I&apos;m confused.  Do you mean this case:

&lt;div foo=&quot;hello&lt;script&gt;alert(1)&lt;/script&gt;there&quot;&gt;

or this case:

&lt;div foo=&quot;hello&quot;&lt;script&gt;alert(1)&lt;/script&gt;

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278724</commentid>
    <comment_count>29</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-13 22:11:25 -0700</bug_when>
    <thetext>&gt; m_useLegacyParserQuirks

If this is going to be a single switch, it still needs a more specific name (maybe PreHTML5?). We won&apos;t want to add HTML5 behaviors here when HTML5v2 comes out, but this name will still be suggesting that we should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279378</commentid>
    <comment_count>30</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-14 21:55:16 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:919
&gt; &gt; &gt; &gt; +        } else if (cc == &apos;&lt;&apos; &amp;&amp; m_useLegacyParserQuirks) {
&gt; &gt; &gt; &gt; +            m_token-&gt;endAttributeName(source.numberOfCharactersConsumed());
&gt; &gt; &gt; &gt; +            return emitAndReconsumeIn(source, DataState);
&gt; &gt; &gt; It would be nice if we could skip this one.  The characters used to terminate unquoted attributes are often security sensitive because folks sometimes allow untrusted content in unquoted attributes (even thought that&apos;s super scary).  By adding &quot;&lt;&quot; as a terminator character, &quot;foo&lt;script&gt;alert(1)&lt;/script&gt;&quot; becomes an XSS vector in an unquoted attribute when it otherwise wouldn&apos;t be.
&gt; &gt; 
&gt; &gt; If this turns out to be necessary, maybe it could be restricted to quoted attributes.
&gt; 
&gt; I&apos;m confused.  Do you mean this case:
&gt; 
&gt; &lt;div foo=&quot;hello&lt;script&gt;alert(1)&lt;/script&gt;there&quot;&gt;
&gt; 
&gt; or this case:
&gt; 
&gt; &lt;div foo=&quot;hello&quot;&lt;script&gt;alert(1)&lt;/script&gt;
&gt; 
&gt; ?

The second case. I don&apos;t believe the legacy parser emitted a script token in the first case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279380</commentid>
    <comment_count>31</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-14 21:58:55 -0700</bug_when>
    <thetext>&gt; The second case. I don&apos;t believe the legacy parser emitted a script token in the first case.

Ok.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280592</commentid>
    <comment_count>32</comment_count>
      <attachid>67897</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 03:10:33 -0700</bug_when>
    <thetext>Created attachment 67897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280594</commentid>
    <comment_count>33</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 03:14:34 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; Created an attachment (id=67897) [details]
&gt; Patch

A few notes:

- I couldn&apos;t decide how to handle the case of frameless document so I didn&apos;t. I&apos;m not aware of a case where this will cause a regression, but now that I think of it I should probably add a FIXME.
- I made my best effort to add the new WebPreference to all the ports so they can run the layout tests, but I can&apos;t be sure they&apos;re all going to compile. I&apos;ll try to land this during a quiet period so I can clean up any breakage without causing too much trouble.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280599</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-17 03:47:08 -0700</bug_when>
    <thetext>Attachment 67897 did not build on gtk:
Build output: http://queues.webkit.org/results/4012057</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280601</commentid>
    <comment_count>35</comment_count>
      <attachid>67899</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 04:00:55 -0700</bug_when>
    <thetext>Created attachment 67899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280606</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-17 04:29:48 -0700</bug_when>
    <thetext>Attachment 67899 did not build on gtk:
Build output: http://queues.webkit.org/results/4043039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280607</commentid>
    <comment_count>37</comment_count>
      <attachid>67900</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 04:33:53 -0700</bug_when>
    <thetext>Created attachment 67900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280610</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-17 04:55:43 -0700</bug_when>
    <thetext>Attachment 67897 did not build on win:
Build output: http://queues.webkit.org/results/4029046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280618</commentid>
    <comment_count>39</comment_count>
      <attachid>67902</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 05:34:51 -0700</bug_when>
    <thetext>Created attachment 67902
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280635</commentid>
    <comment_count>40</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-17 06:46:08 -0700</bug_when>
    <thetext>Attachment 67900 did not build on win:
Build output: http://queues.webkit.org/results/4063037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280699</commentid>
    <comment_count>41</comment_count>
      <attachid>67902</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-17 10:07:48 -0700</bug_when>
    <thetext>Comment on attachment 67902
Patch

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

&gt; WebCore/html/parser/HTMLTokenizer.h:122
&gt; -    static PassOwnPtr&lt;HTMLTokenizer&gt; create() { return adoptPtr(new HTMLTokenizer); }
&gt; +    static PassOwnPtr&lt;HTMLTokenizer&gt; create(Settings* settings) { return adoptPtr(new HTMLTokenizer(settings)); }

It’s quite inelegant to tie the tokenizer and parser to document settings in this fashion.

It would be quite a bit better to have the parser and tokenizer publish some sort of object or flags word that expresses the quirks to be used, then we could have the code that creates the parser convert the settings into that form. Having the tokenizer read the settings directly is inelegant and I think too big a change to the class.

&gt; WebCore/html/parser/HTMLTokenizer.h:268
&gt; +    inline bool usePreHTML5ParserQuirks();

Not sure why the existing code includes these “inline” keywords. They don’t do any good that I can see.

I don’t think that all pre-HTML5 parser quirks should be grouped in a single flag. I think we should have an explicit flag for each quirk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280708</commentid>
    <comment_count>42</comment_count>
      <attachid>67902</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-17 10:15:57 -0700</bug_when>
    <thetext>Comment on attachment 67902
Patch

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

&gt; WebCore/html/parser/HTMLTokenizer.cpp:1085
&gt; +        else if (usePreHTML5ParserQuirks() &amp;&amp; cc == &apos;&lt;&apos;)
&gt; +            return emitAndReconsumeIn(source, DataState);

It&apos;s slightly unclear to me why you chose these states for this quirk.  I would have expected it in these states:

TagNameState
BeforeAttributeNameState
AttributeNameState *
AfterAttributeNameState *
AfterAttributeValueQuotedState

I&apos;ve marked the ones you didn&apos;t add with a *.  You can test those as follows:

&lt;foo bar&lt;qux&gt;
&lt;foo bar &lt;qux&gt;

&gt; WebCore/html/parser/HTMLTokenizer.cpp:1679
&gt; +inline bool HTMLTokenizer::usePreHTML5ParserQuirks()
&gt; +{
&gt; +    return (m_settings &amp;&amp; m_settings-&gt;usePreHTML5ParserQuirks());
&gt; +}

Have you run the HTML parsing benchmark on this code?  You can run the benchmark by opening the file WebCore/benchmarks/parser/html-parser.html.  I suspect you&apos;ll get a measurable slowdown from this patch.  It&apos;s probably faster to read the setting at construction time and put it into a member variable than it is to take the extra m_settings null check all the time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280711</commentid>
    <comment_count>43</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-17 10:19:13 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; Have you run the HTML parsing benchmark on this code?  You can run the benchmark by opening the file WebCore/benchmarks/parser/html-parser.html.  I suspect you&apos;ll get a measurable slowdown from this patch.  It&apos;s probably faster to read the setting at construction time and put it into a member variable than it is to take the extra m_settings null check all the time.

Reversing the check so the &apos;&lt;&apos; test comes first before checking the setting would probably eliminate the slowdown. But I agree that putting the value of the setting into a data member is probably the right design.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280715</commentid>
    <comment_count>44</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-17 10:21:31 -0700</bug_when>
    <thetext>&gt; Reversing the check so the &apos;&lt;&apos; test comes first before checking the setting would probably eliminate the slowdown. But I agree that putting the value of the setting into a data member is probably the right design.

Our earlier thinking was that putting the quirk check first would be better since it should be a very well-predicted branch.  However, instead of speculating, we can just run the benchmark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280797</commentid>
    <comment_count>45</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 12:35:15 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; (From update of attachment 67902 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=67902&amp;action=prettypatch
&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.h:122
&gt; &gt; -    static PassOwnPtr&lt;HTMLTokenizer&gt; create() { return adoptPtr(new HTMLTokenizer); }
&gt; &gt; +    static PassOwnPtr&lt;HTMLTokenizer&gt; create(Settings* settings) { return adoptPtr(new HTMLTokenizer(settings)); }
&gt; 
&gt; It’s quite inelegant to tie the tokenizer and parser to document settings in this fashion.
&gt; 
&gt; It would be quite a bit better to have the parser and tokenizer publish some sort of object or flags word that expresses the quirks to be used, then we could have the code that creates the parser convert the settings into that form. Having the tokenizer read the settings directly is inelegant and I think too big a change to the class.

This was what I did in my first patch, but the issue was that layout tests enable the quirk after the parser is created, hence the current design. I probably shouldn&apos;t have designed for the pathological case, and now that I understand better how WebPreferences work, I think I can write a test that sets the preference then does its work in an iframe to ensure the right ordering.

&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.h:268
&gt; &gt; +    inline bool usePreHTML5ParserQuirks();
&gt; 
&gt; Not sure why the existing code includes these “inline” keywords. They don’t do any good that I can see.
&gt; 
&gt; I don’t think that all pre-HTML5 parser quirks should be grouped in a single flag. I think we should have an explicit flag for each quirk.

There seemed to be a consensus that a single quirk was a better approach. Would there be a case where we&apos;d want to enable the quirk for &lt;tag&lt;tag&gt; but not for &lt;tag &lt;tag&gt;? To me, the three changes to the tokenizer handle variants of a single issue so a single quirk settings makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280802</commentid>
    <comment_count>46</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 12:39:53 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; (From update of attachment 67902 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=67902&amp;action=prettypatch
&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:1085
&gt; &gt; +        else if (usePreHTML5ParserQuirks() &amp;&amp; cc == &apos;&lt;&apos;)
&gt; &gt; +            return emitAndReconsumeIn(source, DataState);
&gt; 
&gt; It&apos;s slightly unclear to me why you chose these states for this quirk.  I would have expected it in these states:
&gt; 
&gt; TagNameState
&gt; BeforeAttributeNameState
&gt; AttributeNameState *
&gt; AfterAttributeNameState *
&gt; AfterAttributeValueQuotedState
&gt; 
&gt; I&apos;ve marked the ones you didn&apos;t add with a *.  You can test those as follows:
&gt; 
&gt; &lt;foo bar&lt;qux&gt;

I thought you cited a security concern with unquoted attributes? Were you referring specifically to unquoted attribute values?

&gt; &lt;foo bar &lt;qux&gt;

You&apos;re right, I missed this one.

&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.cpp:1679
&gt; &gt; +inline bool HTMLTokenizer::usePreHTML5ParserQuirks()
&gt; &gt; +{
&gt; &gt; +    return (m_settings &amp;&amp; m_settings-&gt;usePreHTML5ParserQuirks());
&gt; &gt; +}
&gt; 
&gt; Have you run the HTML parsing benchmark on this code?  You can run the benchmark by opening the file WebCore/benchmarks/parser/html-parser.html.  I suspect you&apos;ll get a measurable slowdown from this patch.  It&apos;s probably faster to read the setting at construction time and put it into a member variable than it is to take the extra m_settings null check all the time.

That&apos;s the design I&apos;m going back to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280820</commentid>
    <comment_count>47</comment_count>
      <attachid>67902</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-17 13:09:54 -0700</bug_when>
    <thetext>Comment on attachment 67902
Patch

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

&gt;&gt;&gt; WebCore/html/parser/HTMLTokenizer.cpp:1085
&gt;&gt;&gt; +            return emitAndReconsumeIn(source, DataState);
&gt;&gt; 
&gt;&gt; It&apos;s slightly unclear to me why you chose these states for this quirk.  I would have expected it in these states:
&gt;&gt; 
&gt;&gt; TagNameState
&gt;&gt; BeforeAttributeNameState
&gt;&gt; AttributeNameState *
&gt;&gt; AfterAttributeNameState *
&gt;&gt; AfterAttributeValueQuotedState
&gt;&gt; 
&gt;&gt; I&apos;ve marked the ones you didn&apos;t add with a *.  You can test those as follows:
&gt;&gt; 
&gt;&gt; &lt;foo bar&lt;qux&gt;
&gt;&gt; &lt;foo bar &lt;qux&gt;
&gt; 
&gt; I thought you cited a security concern with unquoted attributes? Were you referring specifically to unquoted attribute values?

Yes.  Unquoted attribute values are the problematic ones from a security point of view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>280823</commentid>
    <comment_count>48</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 13:29:57 -0700</bug_when>
    <thetext>(In reply to comment #47)
&gt; (From update of attachment 67902 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=67902&amp;action=prettypatch
&gt; 
&gt; &gt;&gt;&gt; WebCore/html/parser/HTMLTokenizer.cpp:1085
&gt; &gt;&gt;&gt; +            return emitAndReconsumeIn(source, DataState);
&gt; &gt;&gt; 
&gt; &gt;&gt; It&apos;s slightly unclear to me why you chose these states for this quirk.  I would have expected it in these states:
&gt; &gt;&gt; 
&gt; &gt;&gt; TagNameState
&gt; &gt;&gt; BeforeAttributeNameState
&gt; &gt;&gt; AttributeNameState *
&gt; &gt;&gt; AfterAttributeNameState *
&gt; &gt;&gt; AfterAttributeValueQuotedState
&gt; &gt;&gt; 
&gt; &gt;&gt; I&apos;ve marked the ones you didn&apos;t add with a *.  You can test those as follows:
&gt; &gt;&gt; 
&gt; &gt;&gt; &lt;foo bar&lt;qux&gt;
&gt; &gt;&gt; &lt;foo bar &lt;qux&gt;
&gt; &gt; 
&gt; &gt; I thought you cited a security concern with unquoted attributes? Were you referring specifically to unquoted attribute values?
&gt; 
&gt; Yes.  Unquoted attribute values are the problematic ones from a security point of view.

I guess there&apos;s no such thing as a quoted attribute name :) Nevermind...fixed both cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281040</commentid>
    <comment_count>49</comment_count>
      <attachid>67984</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 18:01:24 -0700</bug_when>
    <thetext>Created attachment 67984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281042</commentid>
    <comment_count>50</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 18:03:57 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; &gt; Reversing the check so the &apos;&lt;&apos; test comes first before checking the setting would probably eliminate the slowdown. But I agree that putting the value of the setting into a data member is probably the right design.
&gt; 
&gt; Our earlier thinking was that putting the quirk check first would be better since it should be a very well-predicted branch.  However, instead of speculating, we can just run the benchmark.

I&apos;ll run the benchmark against the latest patch and report what I find.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281089</commentid>
    <comment_count>51</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-17 23:34:57 -0700</bug_when>
    <thetext>(In reply to comment #50)
&gt; (In reply to comment #44)
&gt; &gt; &gt; Reversing the check so the &apos;&lt;&apos; test comes first before checking the setting would probably eliminate the slowdown. But I agree that putting the value of the setting into a data member is probably the right design.
&gt; &gt; 
&gt; &gt; Our earlier thinking was that putting the quirk check first would be better since it should be a very well-predicted branch.  However, instead of speculating, we can just run the benchmark.
&gt; 
&gt; I&apos;ll run the benchmark against the latest patch and report what I find.

I ran the benchmark a total of 6 times in a 64-bit production build of Safari, once with my patch applied and once without. Here is what I found:

With patch:

avg: 2741.5
stdev: 20.5

avg: 2739.2
stdev: 20.4

avg: 2753.2
stdev: 45.8

Without patch:

avg: 2773.3
stdev: 20

avg: 2775.9
stdev: 21.4

avg: 2770.2
stdev: 20.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281173</commentid>
    <comment_count>52</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-18 13:46:20 -0700</bug_when>
    <thetext>Looks like you made it faster by a hair.  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281205</commentid>
    <comment_count>53</comment_count>
      <attachid>67984</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-18 16:21:23 -0700</bug_when>
    <thetext>Comment on attachment 67984
Patch

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

&gt; WebCore/html/parser/HTMLTokenizer.h:123
&gt; -    static PassOwnPtr&lt;HTMLTokenizer&gt; create() { return adoptPtr(new HTMLTokenizer); }
&gt; +    static PassOwnPtr&lt;HTMLTokenizer&gt; create(Settings* settings) { return adoptPtr(new HTMLTokenizer(settings)); }

This should take a usePreHTML5ParserQuirks boolean, not a Settings*. I don’t think it’s good layer for HTMLTokenizer to have a dependency on Settings at all.

It’s the same kind of layering mistake as taking a Frame* in the updateStateFor function. And the forward declaration of class Element here is unneeded.

I suppose we can live with this, but I don’t like it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281207</commentid>
    <comment_count>54</comment_count>
      <attachid>67984</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-18 16:28:27 -0700</bug_when>
    <thetext>Comment on attachment 67984
Patch

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

&gt;&gt; WebCore/html/parser/HTMLTokenizer.h:123
&gt;&gt; +    static PassOwnPtr&lt;HTMLTokenizer&gt; create(Settings* settings) { return adoptPtr(new HTMLTokenizer(settings)); }
&gt; 
&gt; This should take a usePreHTML5ParserQuirks boolean, not a Settings*. I don’t think it’s good layer for HTMLTokenizer to have a dependency on Settings at all.
&gt; 
&gt; It’s the same kind of layering mistake as taking a Frame* in the updateStateFor function. And the forward declaration of class Element here is unneeded.
&gt; 
&gt; I suppose we can live with this, but I don’t like it.

I&apos;ll post a patch to remove Frame from updateStateFor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281245</commentid>
    <comment_count>55</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-18 19:07:52 -0700</bug_when>
    <thetext>&gt; I&apos;ll post a patch to remove Frame from updateStateFor.

I looked at this, but it seems more error prone / verbose.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281259</commentid>
    <comment_count>56</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-18 23:11:34 -0700</bug_when>
    <thetext>Attachment 67984 did not build on win:
Build output: http://queues.webkit.org/results/4009066</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281354</commentid>
    <comment_count>57</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-09-19 18:58:24 -0700</bug_when>
    <thetext>(In reply to comment #55)
&gt; &gt; I&apos;ll post a patch to remove Frame from updateStateFor.
&gt; 
&gt; I looked at this, but it seems more error prone / verbose.  :(

Yes, I noticed the same thing. Frame doesn’t express the set of tags allowed in a way that can easily be passed in, so this convenience function is only convenient with Frame*. I still think we might some day figure out a way to fix that, though. Or maybe may desire for “layering” here is misguided.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281405</commentid>
    <comment_count>58</comment_count>
      <attachid>68055</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-19 23:58:25 -0700</bug_when>
    <thetext>Created attachment 68055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281406</commentid>
    <comment_count>59</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-20 00:08:30 -0700</bug_when>
    <thetext>(In reply to comment #53)
&gt; (From update of attachment 67984 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=67984&amp;action=prettypatch
&gt; 
&gt; &gt; WebCore/html/parser/HTMLTokenizer.h:123
&gt; &gt; -    static PassOwnPtr&lt;HTMLTokenizer&gt; create() { return adoptPtr(new HTMLTokenizer); }
&gt; &gt; +    static PassOwnPtr&lt;HTMLTokenizer&gt; create(Settings* settings) { return adoptPtr(new HTMLTokenizer(settings)); }
&gt; 
&gt; This should take a usePreHTML5ParserQuirks boolean, not a Settings*. I don’t think it’s good layer for HTMLTokenizer to have a dependency on Settings at all.
&gt; 
&gt; It’s the same kind of layering mistake as taking a Frame* in the updateStateFor function. And the forward declaration of class Element here is unneeded.
&gt; 
&gt; I suppose we can live with this, but I don’t like it.

The latest patch moves the Settings* dependency up to HTMLDocumentParser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281411</commentid>
    <comment_count>60</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-20 00:33:31 -0700</bug_when>
    <thetext>Attachment 68055 did not build on chromium:
Build output: http://queues.webkit.org/results/4092005</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281412</commentid>
    <comment_count>61</comment_count>
      <attachid>68055</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-20 00:34:19 -0700</bug_when>
    <thetext>Comment on attachment 68055
Patch

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

You&apos;ll want Abarth to review the tokenizer changes.  He&apos;s more familiar with that part of the parser than I am.

&gt; WebCore/html/parser/HTMLDocumentParser.cpp:83
&gt; +    , m_tokenizer(HTMLTokenizer::create(document-&gt;settings() &amp;&amp; document-&gt;settings()-&gt;usePreHTML5ParserQuirks()))

Seems this should be a helper function which takes a Document*.  We used this pattern when the HTML5 parser was optional too.

&gt; WebCore/html/parser/HTMLDocumentParser.cpp:96
&gt; +    , m_tokenizer(HTMLTokenizer::create(fragment-&gt;document()-&gt;settings() &amp;&amp; fragment-&gt;document()-&gt;settings()-&gt;usePreHTML5ParserQuirks()))

Would be re-used here.

&gt; WebCore/html/parser/HTMLPreloadScanner.cpp:128
&gt; +    m_tokenizer = HTMLTokenizer::create(document-&gt;settings() &amp;&amp; document-&gt;settings()-&gt;usePreHTML5ParserQuirks());

And here.  This seems wrong.  We don&apos;t need to move the initializer out of the normal c++ pattern.  The ASSERT only helps in debug mode.  ASSERTing after we&apos;ve hosed ourselves is just as good as before.

&gt; WebCore/html/parser/HTMLViewSourceParser.cpp:37
&gt; +    , m_tokenizer(HTMLTokenizer::create(document-&gt;settings() &amp;&amp; document-&gt;settings()-&gt;usePreHTML5ParserQuirks()))

You want your inline again here. :)  Although it&apos;s possible you won&apos;t make another copy of the inline in this file since it&apos;s only used once.  When we had the HTML5 parser optional, we had a:

static inline useLegacyHTMLParser(Document*) function which did similar to this check and handled the null frame case.  WE had two copies.  one in the treebuilder and one in the DocumentParser.  Seems you need to do the check more often than that, so maybe it needs to be a class method/static on DocumentParser or HTMLDocumentParser?

&gt; WebKit/gtk/webkit/webkitwebsettings.cpp:111
&gt; +    gboolean enable_pre_html5_parser_quirks;

I&apos;m not sure any other port besides Mac wants this.  I think this could be a mac-only quirk with mac-only layout tests.  We really want this quirk to die ASAP (yes, I know that could be years).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281436</commentid>
    <comment_count>62</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-20 01:20:00 -0700</bug_when>
    <thetext>Attachment 68055 did not build on win:
Build output: http://queues.webkit.org/results/4082033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281725</commentid>
    <comment_count>63</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-20 12:07:28 -0700</bug_when>
    <thetext>(In reply to comment #61)
&gt; (From update of attachment 68055 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=68055&amp;action=review
&gt; 
&gt; You&apos;ll want Abarth to review the tokenizer changes.  He&apos;s more familiar with that part of the parser than I am.
&gt; 
&gt; &gt; WebCore/html/parser/HTMLDocumentParser.cpp:83
&gt; &gt; +    , m_tokenizer(HTMLTokenizer::create(document-&gt;settings() &amp;&amp; document-&gt;settings()-&gt;usePreHTML5ParserQuirks()))
&gt; 
&gt; Seems this should be a helper function which takes a Document*.  We used this pattern when the HTML5 parser was optional too.

Done.

&gt; 
&gt; &gt; WebKit/gtk/webkit/webkitwebsettings.cpp:111
&gt; &gt; +    gboolean enable_pre_html5_parser_quirks;
&gt; 
&gt; I&apos;m not sure any other port besides Mac wants this.  I think this could be a mac-only quirk with mac-only layout tests.  We really want this quirk to die ASAP (yes, I know that could be years).

I guess skipping it on non-Mac ports makes sense since only the Mac port will enable it, although at the time I wrote it I didn&apos;t see how having all platforms run the test could hurt. Now that various iterations of this patch are breaking on the EWS bots, I see it as a maintenance burden.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281807</commentid>
    <comment_count>64</comment_count>
      <attachid>68134</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-20 14:18:27 -0700</bug_when>
    <thetext>Created attachment 68134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281814</commentid>
    <comment_count>65</comment_count>
      <attachid>68134</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-20 14:26:16 -0700</bug_when>
    <thetext>Comment on attachment 68134
Patch

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

&gt; WebCore/html/parser/HTMLDocumentParser.h:145
&gt; +bool usePreHTML5ParserQuirks(Document*);

Generally, we prefer to have these sorts of functions be static methods of a class:

HTMLDocumentParser::usePreHTML5Quirks(...)

That makes it easier to find the implementation of the function when you see it called in a random file.

&gt; LayoutTests/fast/parser/resources/pre-html5-parser-quirk-after-attribute-value-quoted-state.html:4
&gt; +        &lt;p&gt;&lt;/p attr=&quot;value&quot;&lt;/div&gt;

Can you add a test for &lt;p attr=value&lt;/  ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>281877</commentid>
    <comment_count>66</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-20 16:01:32 -0700</bug_when>
    <thetext>Committed r67890: &lt;http://trac.webkit.org/changeset/67890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282130</commentid>
    <comment_count>67</comment_count>
      <attachid>68198</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-21 00:34:20 -0700</bug_when>
    <thetext>Created attachment 68198
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282131</commentid>
    <comment_count>68</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2010-09-21 00:35:04 -0700</bug_when>
    <thetext>Reopening to add additional test coverage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282133</commentid>
    <comment_count>69</comment_count>
      <attachid>68198</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-21 00:50:09 -0700</bug_when>
    <thetext>Comment on attachment 68198
Patch

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282171</commentid>
    <comment_count>70</comment_count>
      <attachid>68198</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-21 03:21:32 -0700</bug_when>
    <thetext>Comment on attachment 68198
Patch

Clearing flags on attachment: 68198

Committed r67936: &lt;http://trac.webkit.org/changeset/67936&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282172</commentid>
    <comment_count>71</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-21 03:21:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>59318</attachid>
            <date>2010-06-21 17:30:11 -0700</date>
            <delta_ts>2010-06-21 17:30:11 -0700</delta_ts>
            <desc>screenshot showing bad layout</desc>
            <filename>Screen shot 2010-06-21 at 5.16.56 PM.png</filename>
            <type>image/png</type>
            <size>144622</size>
            <attacher name="William Siegrist">wsiegrist</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAABYkAAAMFCAIAAAC+i+7iAAAWBWlDQ1BJQ0MgUHJvZmlsZQAAeAHV
WGdUFE2brZ4IQ05DzjkHyTlHkRxFYBxyzkkECaICkiSjIEGyoqggShIRUAEBs4AkSQqIIpJhG989
37d7zu6//bM1p7tuV1XXdNXzVNW9DwCMHwlBQX4IagD8A8JCLA20uewdHLmwnwEC4OCfPJAjEEOD
tMzNT4L/Nf15D6Djyjfix339r83+5woaN/dQIgCQOVx91i2U6A/jBzCWIAaFhMH4K4xHIsOCYIw4
LqcPgT8QxgPH2PMfPHGMz/6D1/+2sbbUAQCJAoCEnEAI8QSADB4h4IogesL9kEkBgKENcPMOAIBG
F8bqRC+CGwCMyXAbMX//wGN8F8ZCZ/9LP57/BRMIZ//VJ4Hg+S/8z1jgN+E/1vUODfIjRP99+L+8
+fuFw/P1Nx3POrl7gI0VnNPCFxvQAYHAD75CABc4CT/Bowtzj4LHDIBOYFB0iLenVxiXFmwldzEu
owCihBiXjJQ0PB3/j9Kxf/7zuRuWf/0Owr/+dxlhFwClPgDQH/5d5h8MQOMhPD10/y4T9AWAWRWA
ezrE8JCIf/pDHWdo2OupAD1gBhyAFwgBcSADrwIVoAn0gDEwA9bAATgDIvAC/vAsR4JYkABSQBrI
AnmgGJSBSlALboNm0ArawVPQB16BEfAOjINpMA++g3XwB+xBEISFKCA6iBnihPghUUgGUoTUIT3o
JGQJOUCukCcUAIVDsVASlAblQMVQOVQH3YPaoKfQC2gU+gTNQMvQL2gXgUSQI+gR7AgBhCRCEaGF
MEFYI84gPBHBiBhEMiIDUYioQDQiWhBPEa8Q7xDTiO+ITSRAkiHxSG6kOFIRqYM0QzoiPZAhyDhk
KjIfWYG8g3yM7Ee+QU4jV5A7KAyKDsWFEkepoAxRNigiKhgVh0pHFaNqUS2oXtQb1AxqHXWIpkCz
oUXRymgjtD3aEx2JTkHno6vRD9HP0e/Q8+g/GAwGjxHEKGAMMQ4YH8w5TDrmBqYJ040ZxcxhNrFY
LDNWFKuGNcMSsGHYFGwRthHbhR3DzmO3SchIOElkSPRJHEkCSBJJ8knqSTpJxkgWSfZIqUn5SZVJ
zUjdSKNJM0mrSB+TviadJ93D0eAEcWo4a5wPLgFXiLuDe46bwG2QkZHxkCmRWZB5k10gKyS7SzZA
NkO2Q05LLkKuQ+5EHk6eQV5D3k3+iXyDgoJCgEKTwpEijCKDoo7iGcUXim1KOkoJSiNKN8p4yhLK
FsoxyjUqUip+Ki0qZ6oYqnyq+1SvqVaoSakFqHWoCdRx1CXUbdQfqDdp6Gikacxo/GnSaeppXtAs
0WJpBWj1aN1ok2kraZ/RztEh6XjpdOiIdEl0VXTP6ebpMfSC9Eb0PvRp9Lfph+nXGWgZZBlsGaIY
Shg6GKbxSLwA3gjvh8/EN+Pf43cZ2Rm1GN0ZrzDeYRxj3GJiZdJkcmdKZWpiese0y8zFrMfsy5zN
3Mo8yYJiEWGxYIlkKWV5zrLCSs+qwkpkTWVtZv3MhmATYbNkO8dWyTbItsnOwW7AHsRexP6MfYUD
z6HJ4cORy9HJscxJx6nO6c2Zy9nF+Y2LgUuLy4+rkKuXa52bjduQO5y7nHuYe49HkMeGJ5GniWeS
F8eryOvBm8vbw7vOx8lnyhfL18D3mZ+UX5Hfi7+Av59/S0BQwE7gkkCrwJIgk6CRYIxgg+CEEIWQ
hlCwUIXQW2GMsKKwr/AN4RERhIiciJdIichrUYSovKi36A3RUTG0mJJYgFiF2AdxcnEt8QjxBvEZ
CbzESYlEiVaJNUk+SUfJbMl+yUMpOSk/qSqpcWlaaWPpROnH0r9kRGSIMiUyb09QnNA/EX/i0Ymf
sqKy7rKlsh/l6ORM5S7J9cgdyCvIh8jfkV9W4FNwVbiu8EGRXtFcMV1xQAmtpK0Ur9SutKMsrxym
3Kz8Q0VcxVelXmVJVVDVXbVKdU6NR42gVq42rc6l7qp+U31ag1uDoFGhMavJq+mmWa25qCWs5aPV
qLWmLaUdov1Qe0tHWee8TrcuUtdAN1V3WI9Wz0avWO+LPo++p36D/rqBnME5g25DtKGJYbbhByN2
I6JRndG6sYLxeeNeE3ITK5Nik9mTIidDTj42RZgam14znTjFfyrgVKsZMDMyu2Y2aS5oHmz+xAJj
YW5RYrFgKW0Za9lvRWflYlVv9cda2zrTetxGyCbcpseWytbJts52y07XLsdu2l7S/rz9KwcWB2+H
R45YR1vHasfN03qn807PO8k5pTi9PyN4JurMC2cWZz/nDhcqF4LLfVe0q51rves+wYxQQdg8a3T2
+tl1og6xgPjdTdMt123ZXc09x33RQ80jx2PJU83zmueyl4ZXvteKt453sfdPH0OfMp8tXzPfGt8j
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
Oug2rDxCP7r4puVd9AfJj9OfMydUJpenymZOz/F93VmYXZr6pvM9dqV8tW2t50fXeu3PtF82G0wb
w78jNjk3m/4o/end0txq2ubcztje2DHeqdjZ2TXfrdr9use35753a29hX2DfYz97v2N/6YDuQOPA
5yDv4OnByiHToeFh/GHL4coR75HjUfbRwLH9Qz1OyByfHgAi14bDj1+OjjYEAMDmAHCQfXS0V3F0
dFAJiww4xt3t909s+rgxhhqA617HqIeG8jj7b+k/AFCJO8W+TKlQAAAACXBIWXMAAAsTAAALEwEA
mpwYAAAgAElEQVR4AeydB5wV1fXH3yqydBQbgigKomiIDSsW7AYTjAVrojEm1qh/NdaoMWossSXG
xGCPJZqgJKhYsfcuNlSKgmJHQFhgqf/vzNk9e/fO28ey7C67b3/zwfHOveeec+73znv7zpk7MyU3
3nhjTpsItDwCCxcuXJBu89Nt3rx51PTo0aN169bl5eUctjwkGnHREojO9lmzZs2cOXOTTTbp1q0b
Zc72RYsWFe3gNbAWRqCkpGSFFVZo167d559//tZbb3Xo0IFyq3RbPt2WW265FoZEwxUBERABERCB
5kGgVdeuXZuHp/JSBOqVgEVr5CUIzObOnUuBII3fsnwiOnfuzE/berUmZSKwLAlEZzsn/PTp0998
8032pCdWWWUVwrll6Z9si0D9ESDR9u23344ZM2bChAmrrbYa3+dknNn4VidBQXZCuYn6gy1NIiAC
IiACIlCfBEqOPfbY+tQnXSIgAiIgAs2NgNZNNLcZk781ElCirUY0ahABERABERCBpk2gRD9Jm/YE
yTsREAEREAEREAEREAEREAEREAERKHICuuuyyCdYwxMBERABERABERABERABERABERCBJk5AuYkm
PkFyTwREQAREQAREQAREQAREQAREQASKnIByE0U+wRqeCIiACIiACIiACIiACIiACIiACDRxAspN
NPEJknsiIAIiIAIiIAIiIAIiIAIiIAIiUOQElJso8gnW8ERABERABERABERABERABERABESgiRNQ
bqKJT5DcEwEREAEREAEREAEREAEREAEREIEiJ6DcRJFPsIYnAiIgAiIgAiIgAiIgAiIgAiIgAk2c
gHITTXyC5J4IiIAIiIAIiIAIiIAIiIAIiIAIFDkB5SaKfII1PBEQAREQAREQAREQAREQAREQARFo
4gSUm2jiEyT3REAEREAEREAEREAEREAEREAERKDICSg3UeQTrOGJgAiIgAiIgAiIgAiIgAiIgAiI
QBMnoNxEE58guScCIiACIiACIiACIiACIiACIiACRU5AuYkin2ANTwREQAREQAREQAREQAREQARE
QASaOAHlJpr4BMk9ERABERABERABERABERABERABEShyAspNFPkEa3giIAIiIAIiIAIiIAIiIAIi
IAIi0MQJKDfRxCdI7omACIiACIiACIiACIiACIiACIhAkRNQbqLIJ1jDEwEREAEREAEREAEREAER
EAEREIEmTkC5iSY+QXJPBERABERABERABERABERABERABIqcgHITRT7BGp4IiIAIiIAIiIAIiIAI
iIAIiIAINHECyk008QmSeyIgAiIgAiIgAiIgAiIgAiIgAiJQ5ARaFfn4NDwREAERaD4EFi1aZM56
gcOSkhKr9ELzGZA8FQEREAEREAEREAEREIFaEVBuolaYJNRiCYQh4jKHoNB0mU9BwzlgZxr7cMMc
k+6bHTacD9IsAiIgAiIgAiIgAiIgAsuKgHITy4q87DZ1AhYi4qUXlqHHRKdYz+7NPXMMP10mLFhr
/e7NVlaneZitX1Y17me2ELkUeu5lL0TCDXSIk59NmnTfvfcm5xw2bA1FScmvf/Ob5ZdffrnlKm7B
a2SvGmiwUisCIiACIiACIiACIiACIQHlJkIaKotAFYH58+e//fbb3333HXFiZahYsd6+SqhRSsSi
bKuttlrfvn0tRuXQLLtjI4YN23yrrbqtuWYq27C3ALjRWbNmPfbAAz/Zf38zyp4m961R2BQy4n4u
XLiQsm/ZPu6zFdiHG/IcZnvVbw3u4WdZWdnHY8dGmufOnbvCCisw9WyN4ElkXYciIAIiIAIiIAIi
IAIi0AgElJtoBMgy0SwJfP311xMnTvzhD384Z86cZT6A9u3bP/PMM926devcuTPO2CV0C1Mtpp38
6afvvPXWiaef3rZdO1pNAMl6D2Uxh1qLoof++c9t2rZdsGAB5jBk+2XOKnQAb8d++CF+hpV5y6uv
sUbbtm1X7NJlpS5d1undu1efPjYiGxRl2/L2ra/KZCoXLDDCoc7y8nI7xBla8SRsVVkEREAEREAE
REAEREAEioCAchNFMIkaQoMQmD17dmVAmoSCUUDoIaIXlt6JvKqoNM2kA2bOnEmSwpxxfxCgiYUB
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
5SZiIjoWAREQgeIgQN7BMhEUSExwVwfjosYq2duKCaUnimO6NQoREAEREAEREAERaNYElJto1tMn
50VABEQgDwFLN1hugmZyECQmuMuDGjZbTGGJiTydVSUCIiACIiACIiACIiACjU5AuYlGRy6DIiAC
ItAoBMg+kI/AFAX2lpugYOkJ9lZmr00EREAEREAEREAEREAEli0BPQtz2fKXdREQARFoKAKWmEC7
FyhbSiIsNJR56RUBERABERABERABERCBWhPQuolao5JgCyMwePDgFjZiDVcEREAEOcI3bgAAIABJ
REFUREAEREAERKDxCNx3332NZ0yWRKDJE1BuoslPkRxcRgTCS83LyAWZFQEREAEREAEREAEREAER
EIEWQUC5iRYxzRpkHQgoN1EHaOoiAiIgAiIgAiIgAiIgAiIgAnUgoNxEHaCpS4sgoNxEi5hmDVIE
REAEREAEREAEREAERKAJEFBuoglMglxokgSUm2iS0yKnREAEREAEREAEREAEREAEipCAchNFOKka
Ur0QWLhwYb3okRIREAEREAEREAEREAEREAEREIHCBJSbKMxHrS2XgNZNtNy518hFQAREQAREQARE
QAREQAQal4ByE43LW9aaDwGtm2g+cyVPRUAEREAEREAEREAEREAEmjcB5Saa9/zJ+4YjoHUTDcdW
mkVABERABERgWRHo2LHjeuutt8Yaa1B4+umnv/jii6Xx5KCDDkLbhRdeuDRK1FcEREAERAACyk3o
NBCB/AS0biI/F9WKgAiIgAiIQD4CRPsDBw60lhkzZjzwwANZqYMPPtgr77rrLi/XvhBaCXt99NFH
r7/+elhTU5m/7+3btyengKoPP/xw8uTJNUnWpv5Xv/oVYgy2ltZrozOS2Xzzzfv06RNV+mHdMHr3
WhbwYccdd4TYzJkzGSm0yew03JBr6ZXEREAEioyAchNFNqEaTr0RKJyb6N27d4cOHb5Mt9DkJpts
wuG4ceP44x3Wb7fddnSxmueeew6BsLVr165oiypDAcpooCMFhNmiVg6zzmRl6lBjIwo7vvXWW35o
zjDYws4zdvQwRjoiiYaIT6iQkZokI0KSvbfWewFDe+65p5l7+OGH89rCeVwy0zhvs+Ce0NdmNsRC
K5U02aS4jPeKhL0eSWzZ/IIIW6FL2bmwjjVpc7V1K0TmCs8yPocTh+cFphjNhccYjSiESUcoFT7f
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
iSAuRb8lLzz8thpkqInSsrVxJlIediH0NZ0W4efVT3dLoIQdm2y5R48exPw+EAboVPHZWmGIQDQE
Eh+kLRaL1zTQl5xCpMGaQnMIGPzIIl6ReCVhREIEb6Mu3itrhY5Zu5EbzfHQvgmbo+fyWQQagoBy
Ew1BVTqLgQA/betxGPyFdoXhD+56NNHEVRHmWbRJ1Fr4BxCRCZsNpxFY1cYxIhbzp7DztRQrPFM+
fHIBzesni5MkUIxixWjILllgjC5TmHmkuR4PcWCZ86/zGcVZVHgKlhKUz04tMnayAAAgAElEQVSB
GcSEi6VnRLV0XmEH8B/Nhb8oCmvI2+r+FHY7b19VtkwCvOKHVRv1fio2KZikFfbcc88bbrihcbza
dtttLTfRaBYbZ1x1tsLfuDr3VUcRKD4Cyk0U35xqRPVDgCcL1I8iaREBERABERABEWg+BIYPH46z
V1xxxQ9+8AN/d0zzcb9Wnv7oRz/ijkWe70BigptouIeiVt2WWojcBPedwbZYwS4pIV69tKRdJC8C
RUxAz5so4snV0JaKQE03Xi6VUnUWAREQAREQARFo2gQI1AcMGMBNBDx6s2l7Wnfv+JHDMHnzzgkn
nDB16tS6K1qSngelGz1YkMINHTze0m7kWRIdkhUBEShmAlo3Ucyzq7EtDYFevXotTXf1FQEREAER
EAEREAEREIECBMaPH1+gVU0i0NIIaN1ES5txjbe2BLRuorakJCcCIiACIiACIiACIiACIiACS0dA
uYml46fexUtAr7Ap3rnVyERABERABERABERABERABJoWAeUmmtZ8yJumQ0DrJprOXMgTERABERAB
ERABERABERCB4iag3ERxz69GV3cCWjdRd3bqKQIiIAIiIAIiIAIiIAIiIAJLQkC5iSWhJdmWREC5
iZY02xqrCIiACIiACIiACIiACIjAsiSg3MSypC/bTZmAchNNeXbkmwiIgAiIgAiIgAiIgAiIQDER
0DtEi2k2NRYREAEREAEREAEREAEREAEREAERaH4Elmt+LstjERABERABERABERABERABERABERCB
IiKgezqKaDI1FBEQAREQAREQARFoGALnl5Q0jGJpFYGWS+D8RYta7uA1chHIEFBuIoNEFSIgAiIg
AiIgAiIgAtUJKDNRnYeOREAEREAE6pmA7umoZ6BSJwIiIAIiIAIiIAIiIAIiIAIiIAIisEQElJtY
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
IzMm3319p4YWr21Z/Wk9WXy0snNqpzrDrpvFm5+821zlN9s/2nGq4tuSEm3wreO6+mgM3vTQ6/Ku
iQe9+6b449WfHCiP6zJyzE1NPPGV3xR/tLW4ovxcybfxw36Q1cSL0YO+e5KlsnjLR4fP65fFt5FX
3Tquv35dNCtycFyHntDa8njx+vG4zYDP2LT/TQf88BkAAggggAACCCCAgEcC25/Puf/53SrrXc+u
mjEkqabYsXeG3TqnZr/bQ++/eW+8R/W5zGRuyJTJcuNdP/3lTyd4fF9n3fnyc698qVdwccjE6zu1
MVXV0F3r8kfG5m3Vxs9/e05Wp4YWbnh+rzdXtil/wfMbxKLbn8eO69rwDvlBCa+buBlT8TtzJ89Z
qTIdSV4z83r9+rEe2/KPVfsiEyL19PLyck2LjOuY3D11QP/U+gM+lWWH//1y3nu7S+QUdB+b1amJ
f0NUt5r6Xnl83+YXXlymd8py/2g9NtHcyEFwHXqK7vT6ObZlxap9FfrlU651uH70Tb3q/E+p+IMV
n5yo0A+WlV9z6+39k5p6n/5N8ZY333jr/U17z2nxfW665QcTv3d91zotHtv+zisvr9x08ET3/t+/
bXy/E7tODrp9nOl/sNYtK/6xryJSv9wjIrQzZ+IGTRyXfOTVN7ervwJlZRGjp0zwbqyzqWP29PyQ
DwEEEEAAAQQQQCCQBSIiY43uv7LwvfuG3KnusLYse95I17xx02Vu6HLNWsmGV+Zt+OD4228+6GF4
IKq2M1ERpmqasNu6tU//5ey15sK7PvjHNzMWTPzJK/Fekmgk4snta977Qrv5B1lub7tc5fSaSf0j
OLflv+esvPGxt/444vSCZz+4vkvNlRQeHlG2/9/Pv6dH6G6+/+fXRZ567emn9fCXZfKyVTNTXV8d
0V1veuLljJ53j3hudwufAtO4o4fcOXPID2++e9j9uztFmvvuReQ657HlrsM63TARNNeuq+snQvvP
0xLktG19tY0vTzKFtI4t/cU8FQy7+a6fX6PJFDXzOWloT60fLHzkF89v1fpOnv/onPYVR5f9fs5P
Xnn6xof+/NS916t6i9+ZPXnOewPveuw39yVvfnX2w/c/p8cus8eZAmfhEVrZv/NqAtLdxt//0KCK
Si0isnxXXt570qGb739sbFP66GxMPG/CmQppCCCAAAIIIIAAAvUI7H56zWHbAg/rrhfU5ASV+Zxd
GVmece7c5bUgdkdrPsqSEGtl7XKROlks3bp1q5Pw5cdf2TdR57jTD5ER+i1ApfTFWJTiNJ/LxOhJ
z6x5661VP72+dqqIy5xeOdAszcUm1IZqvNLHRlVyZNNzT+flHaxdAFRPHQ45m8XEVQfO7S+QiMO1
V1m0Nv1nzJkxpPar5PCk/g8+8dxDfaXcwDvvv3PSvTPe3PjSzfKpZNnz7x12VZuRHmXsNe9Owy70
yxFHzfvIDudRa5Hr0LEbzXoGXF0/Sf0nLHz/zzX/R9v92uaTl3th3beuZpZO35/PmXFn/yRT1OJy
Lk/3ilfM1gMTN+a+//LMrOv79x8y7ok318h1u+G5nzyx5phei3XXU3MkvnD/MzMmXHPN9fc+8fZj
N0qqXeAsvP+EB1/e+Df9iKZ1SBuZdU1SeJteozM6yse5b2164kHPZ7HZqvDgjdiEB0hkQQABBBBA
AAEEEDAELPre/732kbwfXvdqzdeAxlF9p3L7ioX/9eDdowcOHjZsxIhhwwYPHP3g7IVbDteJK1hP
7lq+YO7E0QOHyTZ48MQHZ7+6Zrs5R9/7f/fmm29u3brx+dzxtdXvLtj/jW3fumbh3Nlz586e/dQH
x9TN7uWUj2tSagqd+mLz8rl3D5a+DBs8+sEFu/QKzq1ZoBeX8q9uMW4RTi5/arZe53/N/eBw3Rvo
6DZdu9p92V/zVIxK51EVvWk9h9OQS02/XP/hpLnazHXbq3QdbfGobT1g47qLnrRVfw21vVZ/xiZ0
0LROsQ63XY5QTnI6NbEFnOo20sBPzmqIb3elrRbnXwrbQgznK9QFEp3c0fbXYe+Xxz1rOFYFyjw6
O05qPPfO3NEDZ69xdc6K1yy0/aWTv3ETX91iuwt1UolKsp1d+WrcvDlFNmcw9l2e9zpXlJPzaNTQ
0B1nZ8rDOlx2w12d7k+Tsxrqu37CI+K1buPHS3zry9fe22f0f+PfX9Qstivp3MW6/+up538jdaiN
qrTK4qXzNsjH3J/9wBSPbDP5vx6SxJV5+fr/78Ij2sp73wR5s23RY+6To+cqaj9f/jO61y/n6//7
3fr0PNv/nYvn/uSVbg+9NK6r878dtoLOOuYM6nIrtXv1VFqbhT8RQAABBBBAAAEEEDAE9AXq8lXx
a7se7vvh8/rkXoft3Kb/e36DZLu8lWx973l5PbZs4wTb2vyTHy8c+/Dzl4/LP9W3vvf01r293n/z
8he5kerGKbr/sIGWvJW2+iw9O6p/b1d++d7K9+TbbZmIPDnH9qzCOinGd92SYdm8XxgNlWx95cdZ
Z9/aNKd11P73Vtoen7G3Z7btGRnndr2dt0wNZ+CdTxg30NZ3nnrk78XauaITP3zm5TuvkdYrd73z
fz+e80ptnX2ff//l/qabAEk/V/zBHx//haq+2433/37ug6nxWvGKpx5/s/jcsRM3//whuUV4fqvu
+NCzf713iPkREPbNOSvVN/elP4yo+OgX98/TB9Bt8ksvz7wmXhU8f+5E+x/efe0/5j0nNpaBk3/3
m/9yvnC98tjyJ3LzbF209B3/67yZQzpFe9yWbeie1mAb4w0VC2Y+9cHOrVLyVz97sMN5bfzjz4xL
jXYCFV3skHO+9sasuqdAqjn5zoJfzXlFr1AI7p8//8GsXrLnbAiOyLZCTmuoPLxw5m+3nzohOZ77
Vc5/4tuPf/wJ6acqYH6vvYsLj5L7uxKtQ0Jr+TL6nadmryw+VVTU/ndv//Hao+/87PG/y7Vwov2P
Xv7jpNoLZOurT8yWK1eq6nbzQ7+fc2/noyty/vvN9t3ba+dPXTnm8ZkTOq+YnfOutf35g+cn/v4Z
9ZdFb9e6b8Ejs17Zql/xfe93vrho34rZU+a91+3mnz8xucv6ub94+ie3lv151YNOJvt8s+avz856
ruZ7er1yfXN+4WnHTmTk3H32tXkrv9Tu+sPbM27qpDk777YaTq5Z+OSs5/W7Yhnb/N/evusvf3Y8
47ac+pu12LOB63mbcK4rHS8n/cJzUWeD/hI565UH1885rUPWD8dvXzln64srjt05U1+hZt3+3MpO
j80fMW+WLKy4vJbDyd+Omsvo/7H3/nFtVffj/9keoaaYKrjSt6igoxUd6IZr0C7rKB/fFIUKArWs
LUI3mq8FtK20fgqymo9jfTPoLLQ4AX2nnUBL907XwkBbRd6+AdsOJVb2bhOV2cwG22xNNXHEGkse
D7+vc29ucm9ybxJ+1J+v8wf3xznn9Xqd53mdQ865554rRF27JY23dYXz3X5atZHZi4RvGSluW5xC
mgZt2n7TL1Zcd/EDSGNseLYv+eG0eJgRkN+yWElOhYvNDUSnbSiL7W4yG+v3DpTM2j1I8nuKEyG3
WBA1TAwU11R9HOy7YkLxHhJAAkgACSABJIAEkAASkCZA5wn0j65ep6VjJZKgTBAmlcf+TJlSWNHc
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
8gAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>59397</attachid>
            <date>2010-06-22 11:25:31 -0700</date>
            <delta_ts>2010-06-22 11:25:31 -0700</delta_ts>
            <desc>reduced test case</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>90</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">U2hvdWxkIHNheSBQQVNTOgo8ZGl2PgogIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4K
ICAgIDxwPjwvcAogIDwvZGl2PgogIFBBU1MKPC9kaXY+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67516</attachid>
            <date>2010-09-13 21:02:03 -0700</date>
            <delta_ts>2010-09-17 03:10:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100914000201.patch</filename>
            <type>text/plain</type>
            <size>9249</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzQzNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzUgQEAKKzIwMTAtMDktMTMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIGh0bWwv
cGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9j
dW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcik6CisgICAgICAgICogaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQcmVsb2FkU2Nh
bm5lcjo6SFRNTFByZWxvYWRTY2FubmVyKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9r
ZW5pemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tlbml6ZXI6OkhUTUxUb2tlbml6
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRva2VuaXplcjo6bmV4dFRva2VuKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VG9rZW5pemVyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNl
UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxWaWV3U291cmNlUGFyc2VyOjpIVE1M
Vmlld1NvdXJjZVBhcnNlcik6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3Mu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRVc2VMZWdhY3lQYXJzZXJRdWlya3Mp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnVzZUxlZ2FjeVBhcnNlclF1aXJrcyk6CisK
IDIwMTAtMDktMTMgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KSW5kZXg6IFdlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC03OSw3ICs3OSw3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIHRva2VuaXplclN0YXRlRm9yQ28K
IAogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50KiBk
b2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoKSkK
KyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+c2V0dGlu
Z3MoKSkpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihIVE1MU2NyaXB0UnVubmVyOjpjcmVhdGUoZG9j
dW1lbnQsIHRoaXMpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNyZWF0
ZShtX3Rva2VuaXplci5nZXQoKSwgZG9jdW1lbnQsIHJlcG9ydEVycm9ycykpCiAgICAgLCBtX3Bh
cnNlclNjaGVkdWxlcihIVE1MUGFyc2VyU2NoZWR1bGVyOjpjcmVhdGUodGhpcykpCkBAIC05Miw3
ICs5Miw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50UGFyc2VyKEgKIC8vIG1p
bmltaXplIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiB0aGVzZSBjb25zdHJ1Y3RvcnMuCiBIVE1M
RG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBmcmFn
bWVudCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lv
biBzY3JpcHRpbmdQZXJtaXNzaW9uKQogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKGZy
YWdtZW50LT5kb2N1bWVudCgpKQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3Jl
YXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZnJhZ21lbnQt
PmRvY3VtZW50KCktPnNldHRpbmdzKCkpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1
aWxkZXI6OmNyZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZnJhZ21lbnQsIGNvbnRleHRFbGVtZW50
LCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkKICAg
ICAsIG1fd3JpdGVOZXN0aW5nTGV2ZWwoMCkKSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIx
LDcgQEAgcHJpdmF0ZToKIEhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVyKERv
Y3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX2Nz
c1NjYW5uZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVh
dGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+
c2V0dGluZ3MoKSkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0eWxlKGZh
bHNlKQogewpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCShyZXZpc2lv
biA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNs
dWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUg
IlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYv
Q3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KQEAgLTEwMiw4ICsx
MDMsOSBAQCBpbmxpbmUgYm9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhUTUxUCiAKIH0KIAot
SFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcigpCitIVE1MVG9rZW5pemVyOjpIVE1MVG9rZW5p
emVyKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICA6IG1faW5wdXRTdHJlYW1QcmVwcm9jZXNzb3Io
dGhpcykKKyAgICAsIG1fdXNlTGVnYWN5UGFyc2VyUXVpcmtzKHNldHRpbmdzICYmIHNldHRpbmdz
LT51c2VMZWdhY3lQYXJzZXJRdWlya3MoKSkKIHsKICAgICByZXNldCgpOwogfQpAQCAtNDM1LDYg
KzQzNyw4IEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFMKICAgICAg
ICAgICAgIEFEVkFOQ0VfVE8oU2VsZkNsb3NpbmdTdGFydFRhZ1N0YXRlKTsKICAgICAgICAgZWxz
ZSBpZiAoY2MgPT0gJz4nKQogICAgICAgICAgICAgcmV0dXJuIGVtaXRBbmRSZXN1bWVJbihzb3Vy
Y2UsIERhdGFTdGF0ZSk7CisgICAgICAgIGVsc2UgaWYgKGNjID09ICc8JyAmJiBtX3VzZUxlZ2Fj
eVBhcnNlclF1aXJrcykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4oc291
cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAg
ICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dlckNhc2UoY2MpKTsKICAgICAg
ICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKQEAgLTg3Niw2ICs4ODAsOCBAQCBib29s
IEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNF
X1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICc+
JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3RhdGUp
OworICAgICAgICBlbHNlIGlmIChjYyA9PSAnPCcgJiYgbV91c2VMZWdhY3lQYXJzZXJRdWlya3Mp
CisgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlY29uc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRl
KTsKICAgICAgICAgZWxzZSBpZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgbV90
b2tlbi0+YWRkTmV3QXR0cmlidXRlKCk7CiAgICAgICAgICAgICBtX3Rva2VuLT5iZWdpbkF0dHJp
YnV0ZU5hbWUoc291cmNlLm51bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKCkpOwpAQCAtOTA4LDYg
KzkxNCw5IEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFMKICAgICAg
ICAgfSBlbHNlIGlmIChjYyA9PSAnPicpIHsKICAgICAgICAgICAgIG1fdG9rZW4tPmVuZEF0dHJp
YnV0ZU5hbWUoc291cmNlLm51bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKCkpOwogICAgICAgICAg
ICAgcmV0dXJuIGVtaXRBbmRSZXN1bWVJbihzb3VyY2UsIERhdGFTdGF0ZSk7CisgICAgICAgIH0g
ZWxzZSBpZiAoY2MgPT0gJzwnICYmIG1fdXNlTGVnYWN5UGFyc2VyUXVpcmtzKSB7CisgICAgICAg
ICAgICBtX3Rva2VuLT5lbmRBdHRyaWJ1dGVOYW1lKHNvdXJjZS5udW1iZXJPZkNoYXJhY3RlcnND
b25zdW1lZCgpKTsKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4oc291cmNl
LCBEYXRhU3RhdGUpOwogICAgICAgICB9IGVsc2UgaWYgKGlzQVNDSUlVcHBlcihjYykpIHsKICAg
ICAgICAgICAgIG1fdG9rZW4tPmFwcGVuZFRvQXR0cmlidXRlTmFtZSh0b0xvd2VyQ2FzZShjYykp
OwogICAgICAgICAgICAgQURWQU5DRV9UTyhBdHRyaWJ1dGVOYW1lU3RhdGUpOwpAQCAtMTA3NSw2
ICsxMDg0LDggQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAg
ICAgICAgICAgQURWQU5DRV9UTyhTZWxmQ2xvc2luZ1N0YXJ0VGFnU3RhdGUpOwogICAgICAgICBl
bHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNv
dXJjZSwgRGF0YVN0YXRlKTsKKyAgICAgICAgZWxzZSBpZiAoY2MgPT0gJzwnICYmIG1fdXNlTGVn
YWN5UGFyc2VyUXVpcmtzKQorICAgICAgICAgICAgcmV0dXJuIGVtaXRBbmRSZWNvbnN1bWVJbihz
b3VyY2UsIERhdGFTdGF0ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09IElucHV0U3RyZWFtUHJl
cHJvY2Vzc29yOjplbmRPZkZpbGVNYXJrZXIpIHsKICAgICAgICAgICAgIHBhcnNlRXJyb3IoKTsK
ICAgICAgICAgICAgIFJFQ09OU1VNRV9JTihEYXRhU3RhdGUpOwpJbmRleDogV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVG9rZW5pemVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVG9rZW5pemVyLmgJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MVG9rZW5pemVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBFbGVtZW50OwogY2xhc3MgSFRNTFRva2VuOworY2xhc3Mg
U2V0dGluZ3M7CiAKIGNsYXNzIEhUTUxUb2tlbml6ZXIgOiBwdWJsaWMgTm9uY29weWFibGUgewog
cHVibGljOgpAQCAtMTE4LDcgKzExOSw3IEBAIHB1YmxpYzoKICAgICAgICAgQ0RBVEFTZWN0aW9u
RG91YmxlUmlnaHRTcXVhcmVCcmFja2V0U3RhdGUsCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNz
T3duUHRyPEhUTUxUb2tlbml6ZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBIVE1M
VG9rZW5pemVyKTsgfQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxUb2tlbml6ZXI+IGNyZWF0
ZShTZXR0aW5ncyogc2V0dGluZ3MpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBIVE1MVG9rZW5pemVy
KHNldHRpbmdzKSk7IH0KICAgICB+SFRNTFRva2VuaXplcigpOwogCiAgICAgdm9pZCByZXNldCgp
OwpAQCAtMjM3LDcgKzIzOCw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9za2lwTmV4dE5l
d0xpbmU7CiAgICAgfTsKIAotICAgIEhUTUxUb2tlbml6ZXIoKTsKKyAgICBIVE1MVG9rZW5pemVy
KFNldHRpbmdzKik7CiAKICAgICBpbmxpbmUgYm9vbCBwcm9jZXNzRW50aXR5KFNlZ21lbnRlZFN0
cmluZyYpOwogCkBAIC0yOTAsNiArMjkxLDggQEAgcHJpdmF0ZToKIAogICAgIC8vIGh0dHA6Ly93
d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3ByZXByb2Nlc3Npbmct
dGhlLWlucHV0LXN0cmVhbQogICAgIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIG1faW5wdXRTdHJl
YW1QcmVwcm9jZXNzb3I7CisgICAgCisgICAgYm9vbCBtX3VzZUxlZ2FjeVBhcnNlclF1aXJrczsK
IH07CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFZpZXdTb3VyY2VQYXJz
ZXIuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFZpZXdT
b3VyY2VQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogSFRNTFZpZXdTb3VyY2VQYXJzZXI6OkhUTUxWaWV3U291cmNlUGFyc2Vy
KEhUTUxWaWV3U291cmNlRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogRGVjb2RlZERhdGFEb2N1
bWVudFBhcnNlcihkb2N1bWVudCkKLSAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNy
ZWF0ZSgpKQorICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3JlYXRlKGRvY3VtZW50
LT5zZXR0aW5ncygpKSkKIHsKIH0KIApJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA2NzI1MSkK
KysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw2ICsx
NDYsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICNlbmRpZgogICAgICwgbV9t
ZW1vcnlJbmZvRW5hYmxlZChmYWxzZSkKICAgICAsIG1faW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlv
bihmYWxzZSkKKyAgICAsIG1fdXNlTGVnYWN5UGFyc2VyUXVpcmtzKGZhbHNlKQogewogICAgIC8v
IEEgRnJhbWUgbWF5IG5vdCBoYXZlIGJlZW4gY3JlYXRlZCB5ZXQsIHNvIHdlIGluaXRpYWxpemUg
dGhlIEF0b21pY1N0cmluZyAKICAgICAvLyBoYXNoIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0LgpJ
bmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMyOCw2ICszMjgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIC8vIGFuZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQwOTA4CiAgICAgICAgIHZvaWQgc2V0
SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKSB7IG1faW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbiA9IGZsYWc7IH0KICAgICAgICAgYm9vbCBpbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbjsgfQorICAgICAgICAKKyAgICAgICAgdm9pZCBzZXRVc2VMZWdhY3lQYXJzZXJRdWlya3Mo
Ym9vbCBmbGFnKSB7IG1fdXNlTGVnYWN5UGFyc2VyUXVpcmtzID0gZmxhZzsgfQorICAgICAgICBi
b29sIHVzZUxlZ2FjeVBhcnNlclF1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlTGVnYWN5UGFy
c2VyUXVpcmtzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBQYWdlKiBtX3BhZ2U7CkBAIC00
MTYsNiArNDE5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAgICAgIGJvb2wg
bV9tZW1vcnlJbmZvRW5hYmxlZDogMTsKICAgICAgICAgYm9vbCBtX2ludGVyYWN0aXZlRm9ybVZh
bGlkYXRpb246IDE7CisgICAgICAgIGJvb2wgbV91c2VMZWdhY3lQYXJzZXJRdWlya3M6IDE7CiAK
ICNpZiBVU0UoU0FGQVJJX1RIRU1FKQogICAgICAgICBzdGF0aWMgYm9vbCBnU2hvdWxkUGFpbnRO
YXRpdmVDb250cm9sczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67897</attachid>
            <date>2010-09-17 03:10:33 -0700</date>
            <delta_ts>2010-09-17 04:00:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100917031032.patch</filename>
            <type>text/plain</type>
            <size>39879</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzcwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDUgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBUZXN0czogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1l
LXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXIt
cXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9wYXJzZXIv
cHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCisKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIpOiBDb25zdHJ1Y3QKKyAgICAgICAg
SFRNTFRva2VuaXplciB3aXRoIGEgU2V0dGluZ3Mgb2JqZWN0LgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9h
ZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9r
ZW5pemVyIHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKTogSW5pdGlhbGl6ZSBtX3NldHRpbmdzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRv
a2VuaXplcjo6bmV4dFRva2VuKTogSWYgdGhlIHF1aXJrIGlzIGVuYWJsZWQgYW5kIGFuCisgICAg
ICAgIHVuZXhwZWN0ZWQgJzwnIGlzIGVuY291bnRlcmVkIGluIGNlcnRhaW4gc3RhdGVzLCBlbWl0
IHRoZSBjdXJyZW50IHRva2VuCisgICAgICAgIGFuZCByZXByb2Nlc3MgdGhlICc8JyBhcyB0aGUg
c3RhcnQgb2YgYSBuZXcgdG9rZW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjp1
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6IEFkZCBhbiBpbmxpbmUgbWV0aG9kCisgICAgICAgIHRv
IGNoZWNrIHRoZSBzdGF0ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4K
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVG9rZW5pemVyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxWaWV3
U291cmNlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxWaWV3U291cmNlUGFyc2Vy
OjpIVE1MVmlld1NvdXJjZVBhcnNlcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9rZW5pemVy
IHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0
dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJR
dWlya3MpOgorCiAyMDEwLTA5LTE2ICB0YWthbm8gdGFrdW1pICA8dGFrYW5vMUBhc2lhLmFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KSW5kZXg6IFdlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysg
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw3ICs3OSw3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIHRva2VuaXplclN0YXRlRm9y
Q28KIAogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUo
KSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+c2V0
dGluZ3MoKSkpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihIVE1MU2NyaXB0UnVubmVyOjpjcmVhdGUo
ZG9jdW1lbnQsIHRoaXMpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNy
ZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZG9jdW1lbnQsIHJlcG9ydEVycm9ycykpCiAgICAgLCBt
X3BhcnNlclNjaGVkdWxlcihIVE1MUGFyc2VyU2NoZWR1bGVyOjpjcmVhdGUodGhpcykpCkBAIC05
Miw3ICs5Miw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50UGFyc2VyKEgKIC8v
IG1pbmltaXplIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiB0aGVzZSBjb25zdHJ1Y3RvcnMuCiBI
VE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBm
cmFnbWVudCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
KGZyYWdtZW50LT5kb2N1bWVudCgpKQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6
Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZnJhZ21l
bnQtPmRvY3VtZW50KCktPnNldHRpbmdzKCkpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJl
ZUJ1aWxkZXI6OmNyZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZnJhZ21lbnQsIGNvbnRleHRFbGVt
ZW50LCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkK
ICAgICAsIG1fd3JpdGVOZXN0aW5nTGV2ZWwoMCkKSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyAr
MTIxLDcgQEAgcHJpdmF0ZToKIEhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVy
KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBt
X2Nzc1NjYW5uZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVu
dC0+c2V0dGluZ3MoKSkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0eWxl
KGZhbHNlKQogewpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCShyZXZp
c2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KQEAgLTEwMiw4
ICsxMDMsOSBAQCBpbmxpbmUgYm9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhUTUxUCiAKIH0K
IAotSFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcigpCitIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICA6IG1faW5wdXRTdHJlYW1QcmVwcm9jZXNz
b3IodGhpcykKKyAgICAsIG1fc2V0dGluZ3Moc2V0dGluZ3MpCiB7CiAgICAgcmVzZXQoKTsKIH0K
QEAgLTQzNSw2ICs0MzcsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50
ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAg
ICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVz
dW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBh
cnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVj
b25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBw
ZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dlckNhc2Uo
Y2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKQEAgLTg3Niw2ICs4
ODAsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgICAg
ICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNl
LCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygp
ICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4oc291
cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAg
ICAgICAgICAgICBtX3Rva2VuLT5hZGROZXdBdHRyaWJ1dGUoKTsKICAgICAgICAgICAgIG1fdG9r
ZW4tPmJlZ2luQXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQo
KSk7CkBAIC0xMDc1LDYgKzEwODEsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihT
ZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0
ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVjb25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9
PSBJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFya2VyKSB7CiAgICAgICAgICAg
ICBwYXJzZUVycm9yKCk7CiAgICAgICAgICAgICBSRUNPTlNVTUVfSU4oRGF0YVN0YXRlKTsKQEAg
LTE2NjQsNSArMTY3MiwxMCBAQCBpbmxpbmUgYm9vbCBIVE1MVG9rZW5pemVyOjpoYXZlQnVmZmVy
ZWRDCiB7CiAgICAgcmV0dXJuIG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1MVG9rZW46OkNoYXJhY3Rl
cjsKIH0KKyAgICAKK2lubGluZSBib29sIEhUTUxUb2tlbml6ZXI6OnVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKCkKK3sKKyAgICByZXR1cm4gKG1fc2V0dGluZ3MgJiYgbV9zZXR0aW5ncy0+dXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MoKSk7Cit9CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRva2VuaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKK2NsYXNzIFNldHRpbmdz
OwogCiBjbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
QEAgLTExOCw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgICAgIENEQVRBU2VjdGlvbkRvdWJsZVJp
Z2h0U3F1YXJlQnJhY2tldFN0YXRlLAogICAgIH07CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxI
VE1MVG9rZW5pemVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXpl
cik7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVG9rZW5pemVyPiBjcmVhdGUoU2V0dGlu
Z3MqIHNldHRpbmdzKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXplcihzZXR0aW5n
cykpOyB9CiAgICAgfkhUTUxUb2tlbml6ZXIoKTsKIAogICAgIHZvaWQgcmVzZXQoKTsKQEAgLTIz
Nyw3ICsyMzgsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fc2tpcE5leHROZXdMaW5lOwog
ICAgIH07CiAKLSAgICBIVE1MVG9rZW5pemVyKCk7CisgICAgSFRNTFRva2VuaXplcihTZXR0aW5n
cyopOwogCiAgICAgaW5saW5lIGJvb2wgcHJvY2Vzc0VudGl0eShTZWdtZW50ZWRTdHJpbmcmKTsK
IApAQCAtMjYzLDYgKzI2NCw4IEBAIHByaXZhdGU6CiAgICAgaW5saW5lIGJvb2wgaXNBcHByb3By
aWF0ZUVuZFRhZygpOwogCiAgICAgaW5saW5lIGJvb2wgaGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9r
ZW4oKTsKKyAgICAKKyAgICBpbmxpbmUgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpOwog
CiAgICAgU3RhdGUgbV9zdGF0ZTsKIApAQCAtMjkwLDYgKzI5Myw4IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNw
cmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3Nv
ciBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yOworICAgIAorICAgIFNldHRpbmdzKiBtX3NldHRp
bmdzOwogfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBh
cnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJj
ZVBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Vmlld1NvdXJjZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBIVE1MVmlld1NvdXJjZVBhcnNlcjo6SFRNTFZpZXdTb3VyY2VQ
YXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBEZWNvZGVkRGF0
YURvY3VtZW50UGFyc2VyKGRvY3VtZW50KQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXpl
cjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZG9j
dW1lbnQtPnNldHRpbmdzKCkpKQogewogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDYgKzE0Niw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2VuZGlmCiAgICAg
LCBtX21lbW9yeUluZm9FbmFibGVkKGZhbHNlKQogICAgICwgbV9pbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uKGZhbHNlKQorICAgICwgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmYWxzZSkKIHsK
ICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0
aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVz
ZSBpdC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjgsNiArMzI4LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBhbmQgaHR0cDovL3dlYmtpdC5vcmcvYi80MDkwOAogICAgICAgICB2
b2lkIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGJvb2wgZmxhZykgeyBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb24gPSBmbGFnOyB9CiAgICAgICAgIGJvb2wgaW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb247IH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoYm9vbCBmbGFnKSB7IG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgPSBmbGFnOyB9
CisgICAgICAgIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKSBjb25zdCB7IHJldHVybiBt
X3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBQYWdl
KiBtX3BhZ2U7CkBAIC00MTYsNiArNDE5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAgICAgICAgIGJvb2wgbV9tZW1vcnlJbmZvRW5hYmxlZDogMTsKICAgICAgICAgYm9vbCBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb246IDE7CisgICAgICAgIGJvb2wgbV91c2VQcmVIVE1MNVBh
cnNlclF1aXJrczogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAgICAgIHN0YXRpYyBi
b29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lv
biA2NzcwMCkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNyBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVT
U0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2lu
ZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJr
cyBwcmVmZXJlbmNlLgorCisgICAgICAgICogcHVibGljL1dlYlNldHRpbmdzLmg6CisgICAgICAg
ICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdz
SW1wbDo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgorICAgICAgICAqIHNyYy9XZWJTZXR0
aW5nc0ltcGwuaDoKKwogMjAxMC0wOS0xNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJv
dEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY3NjkzLgpJ
bmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAkocmV2aXNpb24gNjcyNTEpCisr
KyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTkzLDYgKzkzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJh
dGVkMmRDYW52YXNFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVtb3J5
SW5mb0VuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VQcmVIVE1MNVBh
cnNlclF1aXJrcyhib29sKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICB+V2ViU2V0dGluZ3MoKSB7
IH0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9u
IDY3MjUxKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yODksNCArMjg5LDkgQEAgdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldE1l
bW9yeUluZm9FbmFibAogICAgIG1fc2V0dGluZ3MtPnNldE1lbW9yeUluZm9FbmFibGVkKGVuYWJs
ZWQpOwogfQogCit2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MoYm9vbCBlbmFibGVkKQoreworICAgIG1fc2V0dGluZ3MtPnNldFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKGVuYWJsZWQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OSw2ICs4
OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkMmRDYW52YXNF
bmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRNZW1vcnlJbmZvRW5hYmxlZChib29s
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoYm9vbCk7CiAK
IHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7CkluZGV4OiBXZWJL
aXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2
aXNpb24gNjc3MDApCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE2IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNT
SU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5n
IGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQwOTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
IHByZWZlcmVuY2UuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwOgor
ICAgICAgICAod2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKHdlYmtp
dF93ZWJfc2V0dGluZ3NfY29weSk6CisKIDIwMTAtMDktMTYgIE1hcnRpbiBSb2JpbnNvbiAgPG1y
b2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KSW5k
ZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3MjUx
KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNTcsNyArMTU3LDggQEAgZW51bSB7CiAgICAgUFJPUF9FTkFCTEVfU0lURV9TUEVD
SUZJQ19RVUlSS1MsCiAgICAgUFJPUF9FTkFCTEVfUEFHRV9DQUNIRSwKICAgICBQUk9QX0FVVE9f
UkVTSVpFX1dJTkRPVywKLSAgICBQUk9QX0VOQUJMRV9KQVZBX0FQUExFVAorICAgIFBST1BfRU5B
QkxFX0pBVkFfQVBQTEVULAorICAgIFBST1BfRU5BQkxFX1BSRV9IVE1MNV9QQVJTRVJfUVVJUktT
CiB9OwogCiAvLyBDcmVhdGUgYSBkZWZhdWx0IHVzZXIgYWdlbnQgc3RyaW5nCkBAIC04NjMsNiAr
ODY0LDE1IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmbGFncykpOwogCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0
X2NsYXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVf
UFJFX0hUTUw1X1BBUlNFUl9RVUlSS1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnX3BhcmFtX3NwZWNfYm9vbGVhbigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJlbmFibGUtcHJlLWh0bWw1LXBhcnNlci1xdWlya3MiLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXygiRW5hYmxlIFByZS1IVE1MNSBQYXJzZXIgUXVpcmtzIiks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgcXVpcmtzIHRo
YXQgd2VyZSBwcmVzZW50IHByaW9yIHRvIGxhbmRpbmcgdGhlIEhUTUw1IHBhcnNlci4iKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmbGFncykpOworCiAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2
YXRlKGtsYXNzLCBzaXplb2YoV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKSk7CiB9CiAKQEAgLTEy
NzEsNiArMTI4MSw3IEBAIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJraXRfd2ViX3NldHRpbmdzX2MK
ICAgICAgICAgICAgICAgICAgInByaW50LWJhY2tncm91bmRzIiwgcHJpdi0+cHJpbnRfYmFja2dy
b3VuZHMsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtc2NyaXB0cyIsIHByaXYtPmVuYWJsZV9z
Y3JpcHRzLAogICAgICAgICAgICAgICAgICAiZW5hYmxlLXBsdWdpbnMiLCBwcml2LT5lbmFibGVf
cGx1Z2lucywKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
cyIsIHByaXYtPmVuYWJsZV9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcywKICAgICAgICAgICAgICAg
ICAgInJlc2l6YWJsZS10ZXh0LWFyZWFzIiwgcHJpdi0+cmVzaXphYmxlX3RleHRfYXJlYXMsCiAg
ICAgICAgICAgICAgICAgICJ1c2VyLXN0eWxlc2hlZXQtdXJpIiwgcHJpdi0+dXNlcl9zdHlsZXNo
ZWV0X3VyaSwKICAgICAgICAgICAgICAgICAgInpvb20tc3RlcCIsIHByaXYtPnpvb21fc3RlcCwK
QEAgLTEyOTcsNiArMTMwOCw3IEBAIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJraXRfd2ViX3NldHRp
bmdzX2MKICAgICAgICAgICAgICAgICAgImVuYWJsZS1wYWdlLWNhY2hlIiwgcHJpdi0+ZW5hYmxl
X3BhZ2VfY2FjaGUsCiAgICAgICAgICAgICAgICAgICJhdXRvLXJlc2l6ZS13aW5kb3ciLCBwcml2
LT5hdXRvX3Jlc2l6ZV93aW5kb3csCiAgICAgICAgICAgICAgICAgICJlbmFibGUtamF2YS1hcHBs
ZXQiLCBwcml2LT5lbmFibGVfamF2YV9hcHBsZXQsCisgICAgICAgICAgICAgICAgICJlbmFibGUt
cHJlLWh0bWw1LXBhcnNlci1xdWlya3MiLCBwcml2LT5lbmFibGUtcHJlLWh0bWw1LXBhcnNlci1x
dWlya3MsCiAgICAgICAgICAgICAgICAgIE5VTEwpKTsKIAogICAgIHJldHVybiBjb3B5OwpJbmRl
eDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY3NzAwKQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4g
cGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IHNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKIDIwMTAt
MDktMTcgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFu
IEJlcm5zdGVpbi4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDcgQEAK
ICNkZWZpbmUgV2ViS2l0Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDYWNoZU1vZGVs
UHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0VGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNp
b25CZWhhdmlvclByZWZlcmVuY2VLZXkgQCJXZWJLaXRUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1
c2lvbkJlaGF2aW9yUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RWRpdGluZ0JlaGF2aW9y
UHJlZmVyZW5jZUtleSBAIldlYktpdEVkaXRpbmdCZWhhdmlvciIKKyNkZWZpbmUgV2ViS2l0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3NLZXkgQCJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIK
IAogLy8gQ29yZUdyYXBoaWNzIGRlZmVycmVkIHVwZGF0ZXMgYXJlIGRpc2FibGVkIGlmIFdlYktp
dEVuYWJsZUNvYWxlc2NlZFVwZGF0ZXNQcmVmZXJlbmNlS2V5IGlzIHNldAogLy8gdG8gTk8sIG9y
IGhhcyBubyB2YWx1ZS4gIEZvciBjb21wYXRpYmlsaXR5IHdpdGggTWFjIE9TIFggMTAuNC42LCBk
ZWZlcnJlZCB1cGRhdGVzIGFyZSBPRkYgYnkKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0JKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNjcsNiArMzY3LDcgQEAgKyAodm9pZClpbml0
aWFsaXplCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0RE5T
UHJlZmV0Y2hpbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOk5PXSwgICBXZWJLaXRGdWxsU2NyZWVuRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0TWVtb3J5SW5mb0Vu
YWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgIFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5LAogICAgICAgICBbTlNOdW1iZXIg
bnVtYmVyV2l0aExvbmdMb25nOldlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpub1F1
b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90YSwKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhMb25nTG9uZzpXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6
bm9RdW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YSwKICAg
ICAgICAgbmlsXTsKQEAgLTEzMjcsNiArMTMyOCwxNiBAQCAtICh2b2lkKXNldEVkaXRpbmdCZWhh
dmlvcjooV2ViS2l0RWRpdGluCiAgICAgW3NlbGYgX3NldEludGVnZXJWYWx1ZTpiZWhhdmlvciBm
b3JLZXk6V2ViS2l0RWRpdGluZ0JlaGF2aW9yUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wp
dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZv
cktleTpXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleV07Cit9CisKKy0gKHZvaWQpc2V0
VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29s
VmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXldOworfQor
CiAtICh2b2lkKWRpZFJlbW92ZUZyb21XZWJWaWV3CiB7CiAgICAgQVNTRVJUKF9wcml2YXRlLT5u
dW1XZWJWaWV3cyk7CkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjEyLDQgKzIxMiw3IEBAIEBpbnRlcmZh
Y2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFi
bGVkOihCT09MKWZsYWc7CiAtIChCT09MKWZ1bGxTY3JlZW5FbmFibGVkOwogCistICh2b2lkKXNl
dFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzOihCT09MKWZsYWc7CistIChCT09MKXVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzOworCiBAZW5kCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24g
NjcyNTEpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpA
QCAtMTQ0Nyw2ICsxNDQ3LDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0
aW9uOgogICAgIHNldHRpbmdzLT5zZXRGdWxsU2NyZWVuRW5hYmxlZChbcHJlZmVyZW5jZXMgZnVs
bFNjcmVlbkVuYWJsZWRdKTsKICNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRNZW1vcnlJbmZvRW5h
YmxlZChbcHJlZmVyZW5jZXMgbWVtb3J5SW5mb0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy0+c2V0
VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoW3ByZWZlcmVuY2VzIHVzZVByZUhUTUw1UGFyc2VyUXVp
cmtzXSk7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBQcmVmZXJlbmNlcyBhcmUgc3RvcmVk
IG9uIHRoZSBnbG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5hZ2VyLCBub3QgaW4gU2V0dGluZ3MuCiAg
ICAgW1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVsdE9yaWdpblF1b3RhOltwcmVmZXJlbmNl
cyBhcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhXV07CkluZGV4OiBXZWJLaXQvcXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3
NzAwKQorKysgV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChIVE1M
NSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisK
KyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVu
Y2UuCisKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKFFXZWJTZXR0
aW5nc1ByaXZhdGU6OmFwcGx5KToKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6UVdlYlNldHRpbmdz
KToKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmg6CisKIDIwMTAtMDktMTYgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBidWlsZC4KSW5kZXg6IFdlYktp
dC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3
ZWJzZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L3F0L0FwaS9xd2Vic2V0
dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjIsNiArMjYyLDEwIEBAIHZvaWQgUVdlYlNl
dHRpbmdzUHJpdmF0ZTo6YXBwbHkoKQogICAgICAgICBzZXR0aW5ncy0+c2V0TmVlZHNTaXRlU3Bl
Y2lmaWNRdWlya3ModmFsdWUpOwogCiAgICAgICAgIHNldHRpbmdzLT5zZXRVc2VzUGFnZUNhY2hl
KFdlYkNvcmU6OnBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpKTsKKworICAgICAgICB2YWx1ZSA9IGF0
dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJrcywKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZh
bHVlKFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpKTsKKyAgICAgICAgc2V0
dGluZ3MtPnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKHZhbHVlKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBRTGlzdDxRV2ViU2V0dGluZ3NQcml2YXRlKj4gc2V0dGluZ3MgPSAqOjphbGxTZXR0
aW5ncygpOwogICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNldHRpbmdzLmNvdW50KCk7ICsr
aSkKQEAgLTUwMiw2ICs1MDYsNyBAQCBRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5ncygpCiAgICAg
ZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpUaWxlZEJhY2tpbmdTdG9yZUVuYWJs
ZWQsIGZhbHNlKTsKICAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6OkZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQsIGZhbHNlKTsKICAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2Vi
U2V0dGluZ3M6OlNpdGVTcGVjaWZpY1F1aXJrc0VuYWJsZWQsIHRydWUpOworICAgIGQtPmF0dHJp
YnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MsIGZhbHNl
KTsKICAgICBkLT5vZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSA9IDUgKiAxMDI0ICogMTAyNDsK
ICAgICBkLT5kZWZhdWx0VGV4dEVuY29kaW5nID0gUUxhdGluMVN0cmluZygiaXNvLTg4NTktMSIp
OwogfQpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9x
dC9BcGkvcXdlYnNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDcgKzc1LDggQEAgcHVi
bGljOgogICAgICAgICBUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQsCiAgICAgICAgIEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQsCiAgICAgICAgIFNpdGVTcGVjaWZpY1F1aXJrc0VuYWJsZWQsCi0gICAg
ICAgIFdlYkdMRW5hYmxlZAorICAgICAgICBXZWJHTEVuYWJsZWQsCisgICAgICAgIFVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzCiAgICAgfTsKICAgICBlbnVtIFdlYkdyYXBoaWMgewogICAgICAgICBN
aXNzaW5nSW1hZ2VHcmFwaGljLApJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3NzAwKQorKysgV2ViS2l0L3dp
bi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOS0xNyAg
QW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMg
YnJva2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVu
dCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICog
SW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAg
ICAgIChXZWJQcmVmZXJlbmNlczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgorICAgICAgICAo
V2ViUHJlZmVyZW5jZXM6OnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKToKKyAgICAgICAgKiBX
ZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmll
dzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAxMC0wOS0xNiAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4K
SW5kZXg6IFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gNjcyNTEp
CisrKyBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDcsMyArMTQ3LDUgQEAKICNkZWZpbmUgV2ViS2l0RE5TUHJlZmV0Y2hpbmdFbmFibGVk
UHJlZmVyZW5jZUtleSAiV2ViS2l0RE5TUHJlZmV0Y2hpbmdFbmFibGVkIgogCiAjZGVmaW5lIFdl
YktpdE1lbW9yeUluZm9FbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0TWVtb3J5SW5mb0VuYWJs
ZWQiCisKKyNkZWZpbmUgV2ViS2l0dXNlclByZUhUTUw1UGFyc2VyUXVpcmtzS2V5ICJXZWJLaXRV
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyIKSW5kZXg6IFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lv
biA2NzI1MSkKKysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDk5LDYgKzE0OTksMTkgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0TWVtb3J5
SW5mb0VuYQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjp1
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhCT09MKiBlbmFibGVkKQoreworICAgICplbmFibGVkID0g
Ym9vbFZhbHVlRm9yS2V5KENGU1RSKFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5KSk7
CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoQ0ZT
VFIoV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXkpLCBlbmFibGVkKTsKKyAgICByZXR1
cm4gU19PSzsKK30KKworCiB2b2lkIFdlYlByZWZlcmVuY2VzOjp3aWxsQWRkVG9XZWJWaWV3KCkK
IHsKICAgICArK21fbnVtV2ViVmlld3M7CkluZGV4OiBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiA2
NzI1MSkKKysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAt
NDI2LDYgKzQyNiw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgc2V0TWVtb3J5SW5mb0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIG1lbW9yeUluZm9FbmFibGVkKEJPT0wqKTsKIAorICAgIHZpcnR1YWwg
SFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhCT09M
KTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoQk9PTCopOworCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIAogICAgIC8vIFRoaXMg
bWV0aG9kIGFjY2Vzc2VzIGEgZGlmZmVyZW50IHByZWZlcmVuY2Uga2V5IHRoYW4gZGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZC4KSW5kZXg6IFdlYktpdC93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvd2lu
L1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzYxLDYgKzQ3NjEsMTEgQEAgSFJFU1VM
VCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAg
ICAgc2V0dGluZ3MtPnNldE1lbW9yeUluZm9FbmFibGVkKGVuYWJsZWQpOwogCisgICAgaHIgPSBw
cmVmc1ByaXZhdGUtPnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKCZlbmFibGVkKTsKKyAgICBpZiAo
RkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLT5zZXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyhlbmFibGVkKTsKKwogICAgIGlmICghbV9jbG9zZVdpbmRvd1RpbWVy
KQogICAgICAgICBtX21haW5GcmFtZS0+aW52YWxpZGF0ZSgpOyAvLyBGSVhNRQogCkluZGV4OiBX
ZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShy
ZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDQgKzExOCw3IEBAIGludGVyZmFjZSBJ
V2ViUHJlZmVyZW5jZXNQcml2YXRlIDogSVVua24KIAogICAgIEhSRVNVTFQgbWVtb3J5SW5mb0Vu
YWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNldE1lbW9y
eUluZm9FbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKworICAgIEhSRVNVTFQgdXNlUHJlSFRN
TDVQYXJzZXJRdWlya3MoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKKyAgICBIUkVTVUxU
IHNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5kZXg6
IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDY3NzAwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJFR1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+
IHBhcnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpvdmVycmlkZVByZWZlcmVuY2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3MpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAg
IChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoY29weVdlYlNl
dHRpbmdLZXkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxl
cjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVl
cyk6CisKIDIwMTAtMDktMTYgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCkluZGV4OiBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4NSw2
ICsxMTg1LDggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZQogICAg
ICAgICBtX3NoZWxsLT53ZWJWaWV3KCktPnNldFRhYnNUb0xpbmtzKGNwcFZhcmlhbnRUb0Jvb2wo
dmFsdWUpKTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdFdlYkdMRW5hYmxlZCIpCiAgICAg
ICAgIHNldHRpbmdzLT5zZXRFeHBlcmltZW50YWxXZWJHTEVuYWJsZWQoY3BwVmFyaWFudFRvQm9v
bCh2YWx1ZSkpOworICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJR
dWlya3MiKQorICAgICAgICBzZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoY3Bw
VmFyaWFudFRvQm9vbCh2YWx1ZSkpOwogICAgIGVsc2UgewogICAgICAgICBzdHJpbmcgbWVzc2Fn
ZSgiSW52YWxpZCBuYW1lIGZvciBwcmVmZXJlbmNlOiAiKTsKICAgICAgICAgbWVzc2FnZS5hcHBl
bmQoa2V5KTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmNwcAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzMsNiAr
MjMzLDggQEAgdm9pZCBUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3MoV2ViVmlldwogI2VuZGlm
CiAgICAgLy8gRklYTUU6IGNyYnVnLmNvbS81MTg3OQogICAgIHNldHRpbmdzLT5zZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7CisKKyAgICBzZXR0aW5ncy0+c2V0VXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MoZmFsc2UpOwogfQogCiB2b2lkIFRlc3RTaGVsbDo6cnVuRmlsZVRl
c3QoY29uc3QgVGVzdFBhcmFtcyYgcGFyYW1zKQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysr
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzNyw2ICszMzcsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9D
b25zaXN0ZW50VmFsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtamF2YS1hcHBsZXQiLCBGQUxT
RSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS1wbHVnaW5zIiwgVFJVRSwKICAgICAgICAgICAg
ICAgICAgImVkaXRpbmctYmVoYXZpb3IiLCBXRUJLSVRfRURJVElOR19CRUhBVklPUl9NQUMsCisg
ICAgICAgICAgICAgICAgICJlbmFibGUtcHJlLWh0bWw1LXBhcnNlci1xdWlya3MiLCBGQUxTRSwK
ICAgICAgICAgICAgICAgICAgTlVMTCk7CiAKICAgICB3ZWJraXRfd2ViX2ZyYW1lX2NsZWFyX21h
aW5fZnJhbWVfbmFtZShtYWluRnJhbWUpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCShyZXZp
c2lvbiA2NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0
Q29udHJvbGxlckd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAgc3RhdGlj
IGdjaGFyKiBjb3B5V2ViU2V0dGluZ0tleShnY2hhciogcAogICAgICAgICBnX2hhc2hfdGFibGVf
aW5zZXJ0KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0RW5hYmxlQ2FyZXRCcm93c2luZyIpLCBn
X3N0cmR1cCgiZW5hYmxlLWNhcmV0LWJyb3dzaW5nIikpOwogICAgICAgICBnX2hhc2hfdGFibGVf
aW5zZXJ0KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VL
ZXkiKSwgZ19zdHJkdXAoImVuYWJsZS1wYWdlLWNhY2hlIikpOwogICAgICAgICBnX2hhc2hfdGFi
bGVfaW5zZXJ0KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0UGx1Z2luc0VuYWJsZWQiKSwgZ19z
dHJkdXAoImVuYWJsZS1wbHVnaW5zIikpOworICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KGtl
eVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiKSwgZ19zdHJk
dXAoImVuYWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIpKTsKICAgICB9CiAKICAgICByZXR1
cm4gZ19zdHJkdXAoc3RhdGljX2Nhc3Q8Z2NoYXIqPihnX2hhc2hfdGFibGVfbG9va3VwKGtleVRh
YmxlLCBwcmVmZXJlbmNlS2V5KSkpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkK
QEAgLTQ1Nyw2ICs0NTcsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50
VmFsCiAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXNQYWdlQ2FjaGU6Tk9dOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRXZWJHTEVuYWJsZWQ6Tk9dOworICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VQcmVIVE1M
NVBhcnNlclF1aXJrczpOT107CiAKICAgICBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRU
UENvb2tpZVN0b3JhZ2VdIHNldENvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2NlcHRQ
b2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCShyZXZpc2lvbiA2
NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTEsNiArMTkxLDcgQEAgdm9pZCBXZWJQYWdlOjpyZXNl
dFNldHRpbmdzKCkKICAgICBzZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6
OlBsdWdpbnNFbmFibGVkKTsKICAgICBzZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0
dGluZ3M6OkphdmFzY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQpOwogICAgIHNldHRpbmdzKCktPnJl
c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6QXV0b0xvYWRJbWFnZXMpOworICAgIHNldHRpbmdz
KCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3Mp
OwogCiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldENhcmV0QnJvd3NpbmdF
bmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZChmYWxzZSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAkocmV2aXNp
b24gNjcyNTEpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTczLDYgKzU3Myw4IEBAIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmUKICAgICAgICAgc2V0dGluZ3MtPnNldEF0
dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlBsdWdpbnNFbmFibGVkLCB2YWx1ZS50b0Jvb2woKSk7CiAg
ICAgZWxzZSBpZiAobmFtZSA9PSAiV2ViS2l0V2ViR0xFbmFibGVkIikKICAgICAgICAgc2V0dGlu
Z3MtPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OldlYkdMRW5hYmxlZCwgdmFsdWUudG9Cb29s
KCkpOworICAgIGVsc2UgaWYgKG5hbWUgPT0gIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
IikKKyAgICAgICAgc2V0dGluZ3MtPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzLCB2YWx1ZS50b0Jvb2woKSk7CiAgICAgZWxzZQogICAgICAgICBwcmlu
dGYoIkVSUk9SOiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKCkgZG9l
cyBub3Qgc3VwcG9ydCB0aGUgJyVzJyBwcmVmZXJlbmNlXG4iLAogICAgICAgICAgICAgbmFtZS50
b0xhdGluMSgpLmRhdGEoKSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODMwLDYgKzgzMCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRW
YWwKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7CiAg
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAg
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVk
KFRSVUUpOworICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
KEZBTFNFKTsKICAgICB9CiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDY3NzAwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJFR1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0
YWc+IHBhcnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDA5NjEKKworICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0
ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1z
dGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1s
NS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJh
Z21lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRt
bDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1
aXJrLXRhZy1uYW1lLXN0YXRlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTE2ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbWVz
IFJvYmluc29uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNl
ci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1
aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUg
cGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQwOTYxIGZvciBkZXRhaWxzLgorCitZb3Ugc2hvdWxkIHNlZSAnUEFTUycg
YmVsb3c6CisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1w
YXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmst
YWZ0ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRy
aWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUg
QEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzIiwgIjEiKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3RzIHRoYXQgY2Vy
dGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgPGEgaHJlZj0iaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIj5odHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjE8L2E+IGZvciBkZXRhaWxzLjxwPgorPHA+
WW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OjwvcD4KKworPGRpdj4KKyAgICA8ZGl2IHN0eWxl
PSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcCBpZD0iZm9vIjwvZGl2PgorICAg
IFBBU1MKKzwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBh
cnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmst
YmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0
dHJpYnV0ZS1uYW1lLXN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1
IEBACitUaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBh
cHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2Ug
aXMgc2V0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYx
IGZvciBkZXRhaWxzLgorCitZb3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6CisKK1BBU1MKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3Jl
LWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3Rh
dGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1s
NS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTYgQEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZl
cmVuY2UoIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIiwgIjEiKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0PgorCis8cD5U
aGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVk
IHdoZW4gdGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0
LiBTZWUgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQw
OTYxIj5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjE8L2E+IGZv
ciBkZXRhaWxzLjxwPgorPHA+WW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OjwvcD4KKworPGRp
dj4KKyAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcAor
ICAgIDwvZGl2PgorICAgIFBBU1MKKzwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1x
dWlyay1kb2N1bWVudC1mcmFnbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdt
ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Rz
IHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhl
IFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIGZvciBkZXRhaWxzLgor
CitZb3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6CisKK1BBU1MKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2Vy
LXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIiwgIjEiKTsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2Ny
aXB0PgorCis8cD5UaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVz
IGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZl
cmVuY2UgaXMgc2V0LiBTZWUgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQwOTYxIj5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDA5NjE8L2E+IGZvciBkZXRhaWxzLjxwPgorPHA+WW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93
OjwvcD4KKworPGRpdiBpZD0id3JhcHBlciI+Cis8L2Rpdj4KKworPHNjcmlwdD4KKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgid3JhcHBlciIpLmlubmVySFRNTCA9ICI8ZGl2IHN0eWxlPSd2
aXNpYmlsaXR5OmhpZGRlbic+PHA+PC9wPC9kaXY+UEFTUyI7Cis8L3NjcmlwdD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3Rh
dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3By
ZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10
YWctbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAor
VGhpcyB0ZXN0cyB0aGF0IGNlcnRhaW4gcHJlLUhUTUw1IHBhcnNlciBydWxlcyBhcmUgYXBwbGll
ZCB3aGVuIHRoZSBXZWJraXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlIGlzIHNl
dC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MSBmb3Ig
ZGV0YWlscy4KKworWW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OgorCitQQVNTCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0
YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1
LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIsICIxIik7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB9Cis8L3Nj
cmlwdD4KKworPHA+VGhpcyB0ZXN0cyB0aGF0IGNlcnRhaW4gcHJlLUhUTUw1IHBhcnNlciBydWxl
cyBhcmUgYXBwbGllZCB3aGVuIHRoZSBXZWJraXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVm
ZXJlbmNlIGlzIHNldC4gU2VlIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00MDk2MSI+aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQwOTYxPC9hPiBmb3IgZGV0YWlscy48cD4KKzxwPllvdSBzaG91bGQgc2VlICdQQVNTJyBiZWxv
dzo8L3A+CisKKzxkaXY+CisgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgorICAg
ICAgICA8cD48L3A8L2Rpdj4KKyAgICBQQVNTCis8L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67899</attachid>
            <date>2010-09-17 04:00:55 -0700</date>
            <delta_ts>2010-09-17 04:33:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100917040054.patch</filename>
            <type>text/plain</type>
            <size>41570</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzcwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDUgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBUZXN0czogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1l
LXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXIt
cXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9wYXJzZXIv
cHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCisKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIpOiBDb25zdHJ1Y3QKKyAgICAgICAg
SFRNTFRva2VuaXplciB3aXRoIGEgU2V0dGluZ3Mgb2JqZWN0LgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9h
ZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9r
ZW5pemVyIHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKTogSW5pdGlhbGl6ZSBtX3NldHRpbmdzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRv
a2VuaXplcjo6bmV4dFRva2VuKTogSWYgdGhlIHF1aXJrIGlzIGVuYWJsZWQgYW5kIGFuCisgICAg
ICAgIHVuZXhwZWN0ZWQgJzwnIGlzIGVuY291bnRlcmVkIGluIGNlcnRhaW4gc3RhdGVzLCBlbWl0
IHRoZSBjdXJyZW50IHRva2VuCisgICAgICAgIGFuZCByZXByb2Nlc3MgdGhlICc8JyBhcyB0aGUg
c3RhcnQgb2YgYSBuZXcgdG9rZW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjp1
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6IEFkZCBhbiBpbmxpbmUgbWV0aG9kCisgICAgICAgIHRv
IGNoZWNrIHRoZSBzdGF0ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4K
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVG9rZW5pemVyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxWaWV3
U291cmNlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxWaWV3U291cmNlUGFyc2Vy
OjpIVE1MVmlld1NvdXJjZVBhcnNlcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9rZW5pemVy
IHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0
dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJR
dWlya3MpOgorCiAyMDEwLTA5LTE2ICB0YWthbm8gdGFrdW1pICA8dGFrYW5vMUBhc2lhLmFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KSW5kZXg6IFdlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysg
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw3ICs3OSw3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIHRva2VuaXplclN0YXRlRm9y
Q28KIAogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUo
KSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+c2V0
dGluZ3MoKSkpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihIVE1MU2NyaXB0UnVubmVyOjpjcmVhdGUo
ZG9jdW1lbnQsIHRoaXMpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNy
ZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZG9jdW1lbnQsIHJlcG9ydEVycm9ycykpCiAgICAgLCBt
X3BhcnNlclNjaGVkdWxlcihIVE1MUGFyc2VyU2NoZWR1bGVyOjpjcmVhdGUodGhpcykpCkBAIC05
Miw3ICs5Miw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50UGFyc2VyKEgKIC8v
IG1pbmltaXplIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiB0aGVzZSBjb25zdHJ1Y3RvcnMuCiBI
VE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBm
cmFnbWVudCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
KGZyYWdtZW50LT5kb2N1bWVudCgpKQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6
Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZnJhZ21l
bnQtPmRvY3VtZW50KCktPnNldHRpbmdzKCkpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJl
ZUJ1aWxkZXI6OmNyZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZnJhZ21lbnQsIGNvbnRleHRFbGVt
ZW50LCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkK
ICAgICAsIG1fd3JpdGVOZXN0aW5nTGV2ZWwoMCkKSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyAr
MTIxLDcgQEAgcHJpdmF0ZToKIEhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVy
KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBt
X2Nzc1NjYW5uZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVu
dC0+c2V0dGluZ3MoKSkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0eWxl
KGZhbHNlKQogewpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCShyZXZp
c2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KQEAgLTEwMiw4
ICsxMDMsOSBAQCBpbmxpbmUgYm9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhUTUxUCiAKIH0K
IAotSFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcigpCitIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICA6IG1faW5wdXRTdHJlYW1QcmVwcm9jZXNz
b3IodGhpcykKKyAgICAsIG1fc2V0dGluZ3Moc2V0dGluZ3MpCiB7CiAgICAgcmVzZXQoKTsKIH0K
QEAgLTQzNSw2ICs0MzcsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50
ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAg
ICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVz
dW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBh
cnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVj
b25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBw
ZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dlckNhc2Uo
Y2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKQEAgLTg3Niw2ICs4
ODAsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgICAg
ICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNl
LCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygp
ICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4oc291
cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAg
ICAgICAgICAgICBtX3Rva2VuLT5hZGROZXdBdHRyaWJ1dGUoKTsKICAgICAgICAgICAgIG1fdG9r
ZW4tPmJlZ2luQXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQo
KSk7CkBAIC0xMDc1LDYgKzEwODEsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihT
ZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0
ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVjb25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9
PSBJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFya2VyKSB7CiAgICAgICAgICAg
ICBwYXJzZUVycm9yKCk7CiAgICAgICAgICAgICBSRUNPTlNVTUVfSU4oRGF0YVN0YXRlKTsKQEAg
LTE2NjQsNSArMTY3MiwxMCBAQCBpbmxpbmUgYm9vbCBIVE1MVG9rZW5pemVyOjpoYXZlQnVmZmVy
ZWRDCiB7CiAgICAgcmV0dXJuIG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1MVG9rZW46OkNoYXJhY3Rl
cjsKIH0KKyAgICAKK2lubGluZSBib29sIEhUTUxUb2tlbml6ZXI6OnVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKCkKK3sKKyAgICByZXR1cm4gKG1fc2V0dGluZ3MgJiYgbV9zZXR0aW5ncy0+dXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MoKSk7Cit9CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRva2VuaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKK2NsYXNzIFNldHRpbmdz
OwogCiBjbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
QEAgLTExOCw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgICAgIENEQVRBU2VjdGlvbkRvdWJsZVJp
Z2h0U3F1YXJlQnJhY2tldFN0YXRlLAogICAgIH07CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxI
VE1MVG9rZW5pemVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXpl
cik7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVG9rZW5pemVyPiBjcmVhdGUoU2V0dGlu
Z3MqIHNldHRpbmdzKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXplcihzZXR0aW5n
cykpOyB9CiAgICAgfkhUTUxUb2tlbml6ZXIoKTsKIAogICAgIHZvaWQgcmVzZXQoKTsKQEAgLTIz
Nyw3ICsyMzgsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fc2tpcE5leHROZXdMaW5lOwog
ICAgIH07CiAKLSAgICBIVE1MVG9rZW5pemVyKCk7CisgICAgSFRNTFRva2VuaXplcihTZXR0aW5n
cyopOwogCiAgICAgaW5saW5lIGJvb2wgcHJvY2Vzc0VudGl0eShTZWdtZW50ZWRTdHJpbmcmKTsK
IApAQCAtMjYzLDYgKzI2NCw4IEBAIHByaXZhdGU6CiAgICAgaW5saW5lIGJvb2wgaXNBcHByb3By
aWF0ZUVuZFRhZygpOwogCiAgICAgaW5saW5lIGJvb2wgaGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9r
ZW4oKTsKKyAgICAKKyAgICBpbmxpbmUgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpOwog
CiAgICAgU3RhdGUgbV9zdGF0ZTsKIApAQCAtMjkwLDYgKzI5Myw4IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNw
cmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3Nv
ciBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yOworICAgIAorICAgIFNldHRpbmdzKiBtX3NldHRp
bmdzOwogfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBh
cnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJj
ZVBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Vmlld1NvdXJjZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBIVE1MVmlld1NvdXJjZVBhcnNlcjo6SFRNTFZpZXdTb3VyY2VQ
YXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBEZWNvZGVkRGF0
YURvY3VtZW50UGFyc2VyKGRvY3VtZW50KQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXpl
cjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZG9j
dW1lbnQtPnNldHRpbmdzKCkpKQogewogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDYgKzE0Niw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2VuZGlmCiAgICAg
LCBtX21lbW9yeUluZm9FbmFibGVkKGZhbHNlKQogICAgICwgbV9pbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uKGZhbHNlKQorICAgICwgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmYWxzZSkKIHsK
ICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0
aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVz
ZSBpdC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjgsNiArMzI4LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBhbmQgaHR0cDovL3dlYmtpdC5vcmcvYi80MDkwOAogICAgICAgICB2
b2lkIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGJvb2wgZmxhZykgeyBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb24gPSBmbGFnOyB9CiAgICAgICAgIGJvb2wgaW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb247IH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoYm9vbCBmbGFnKSB7IG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgPSBmbGFnOyB9
CisgICAgICAgIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKSBjb25zdCB7IHJldHVybiBt
X3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBQYWdl
KiBtX3BhZ2U7CkBAIC00MTYsNiArNDE5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAgICAgICAgIGJvb2wgbV9tZW1vcnlJbmZvRW5hYmxlZDogMTsKICAgICAgICAgYm9vbCBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb246IDE7CisgICAgICAgIGJvb2wgbV91c2VQcmVIVE1MNVBh
cnNlclF1aXJrczogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAgICAgIHN0YXRpYyBi
b29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpJbmRleDogV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2NjMsNiArMTY2Myw3
IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0
OUMyODMyMDg5MDJCMEYwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WFByb2plY3QgIldlYktpdCIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAy
LjQiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOwogCQkJaGFzU2Nhbm5lZEZvckVu
Y29kaW5ncyA9IDE7CiAJCQlrbm93blJlZ2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwKSW5kZXg6IFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJFR1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8g
PHRhZzx0YWc+IHBhcnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTZXR0
aW5ncy5oOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKToKKyAgICAg
ICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisKIDIwMTAtMDktMTYgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI2NzY5My4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3Mu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJl
dmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCSh3
b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGJvb2wpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoYm9vbCkgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAg
fldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdz
SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGlu
Z3NJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg5LDQgKzI4OSw5IEBAIHZvaWQgV2ViU2V0
dGluZ3NJbXBsOjpzZXRNZW1vcnlJbmZvRW5hYmwKICAgICBtX3NldHRpbmdzLT5zZXRNZW1vcnlJ
bmZvRW5hYmxlZChlbmFibGVkKTsKIH0KIAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtX3NldHRpbmdzLT5zZXRV
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhlbmFibGVkKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkod29ya2luZyBj
b3B5KQpAQCAtODksNiArODksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2Nl
bGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVtb3J5
SW5mb0VuYWJsZWQoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKGJvb2wpOwogCiBwcml2YXRlOgogICAgIFdlYkNvcmU6OlNldHRpbmdzKiBtX3NldHRp
bmdzOwpJbmRleDogV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0
ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3NzAwKQorKysgV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFl
c3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8
dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdCk6
CisgICAgICAgICh3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkpOgorCiAyMDEwLTA5LTE2ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBYYW4gTG9wZXouCkluZGV4OiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3Bw
CShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDYgKzEwOCw3IEBAIHN0cnVjdCBfV2ViS2l0V2Vi
U2V0dGluZ3NQcml2YXRlIHsKICAgICBnYm9vbGVhbiBlbmFibGVfcGFnZV9jYWNoZTsKICAgICBn
Ym9vbGVhbiBhdXRvX3Jlc2l6ZV93aW5kb3c7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX2phdmFfYXBw
bGV0OworICAgIGdib29sZWFuIGVuYWJsZV9wcmVfaHRtbDVfcGFyc2VyX3F1aXJrczsKIH07CiAK
ICNkZWZpbmUgV0VCS0lUX1dFQl9TRVRUSU5HU19HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5T
VEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0
V2ViU2V0dGluZ3NQcml2YXRlKSkKQEAgLTE1Nyw3ICsxNTgsOCBAQCBlbnVtIHsKICAgICBQUk9Q
X0VOQUJMRV9TSVRFX1NQRUNJRklDX1FVSVJLUywKICAgICBQUk9QX0VOQUJMRV9QQUdFX0NBQ0hF
LAogICAgIFBST1BfQVVUT19SRVNJWkVfV0lORE9XLAotICAgIFBST1BfRU5BQkxFX0pBVkFfQVBQ
TEVUCisgICAgUFJPUF9FTkFCTEVfSkFWQV9BUFBMRVQsCisgICAgUFJPUF9FTkFCTEVfUFJFX0hU
TUw1X1BBUlNFUl9RVUlSS1MKIH07CiAKIC8vIENyZWF0ZSBhIGRlZmF1bHQgdXNlciBhZ2VudCBz
dHJpbmcKQEAgLTg2Myw2ICs4NjUsMTUgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5n
c19jbGFzc19pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiAKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KGdvYmplY3RfY2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQUk9QX0VOQUJMRV9QUkVfSFRNTDVfUEFSU0VSX1FVSVJLUywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgUHJlLUhUTUw1
IFBhcnNlciBRdWlya3MiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8o
IkVuYWJsZSBxdWlya3MgdGhhdCB3ZXJlIHByZXNlbnQgcHJpb3IgdG8gbGFuZGluZyB0aGUgSFRN
TDUgcGFyc2VyLiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CisKICAgICBnX3R5
cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRXZWJTZXR0aW5nc1ByaXZh
dGUpKTsKIH0KIApAQCAtMTI3MSw2ICsxMjgyLDcgQEAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYmtp
dF93ZWJfc2V0dGluZ3NfYwogICAgICAgICAgICAgICAgICAicHJpbnQtYmFja2dyb3VuZHMiLCBw
cml2LT5wcmludF9iYWNrZ3JvdW5kcywKICAgICAgICAgICAgICAgICAgImVuYWJsZS1zY3JpcHRz
IiwgcHJpdi0+ZW5hYmxlX3NjcmlwdHMsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtcGx1Z2lu
cyIsIHByaXYtPmVuYWJsZV9wbHVnaW5zLAorICAgICAgICAgICAgICAgICAiZW5hYmxlLXByZS1o
dG1sNS1wYXJzZXItcXVpcmtzIiwgcHJpdi0+ZW5hYmxlX3ByZV9odG1sNV9wYXJzZXJfcXVpcmtz
LAogICAgICAgICAgICAgICAgICAicmVzaXphYmxlLXRleHQtYXJlYXMiLCBwcml2LT5yZXNpemFi
bGVfdGV4dF9hcmVhcywKICAgICAgICAgICAgICAgICAgInVzZXItc3R5bGVzaGVldC11cmkiLCBw
cml2LT51c2VyX3N0eWxlc2hlZXRfdXJpLAogICAgICAgICAgICAgICAgICAiem9vbS1zdGVwIiwg
cHJpdi0+em9vbV9zdGVwLApAQCAtMTI5Nyw2ICsxMzA5LDcgQEAgV2ViS2l0V2ViU2V0dGluZ3Mq
IHdlYmtpdF93ZWJfc2V0dGluZ3NfYwogICAgICAgICAgICAgICAgICAiZW5hYmxlLXBhZ2UtY2Fj
aGUiLCBwcml2LT5lbmFibGVfcGFnZV9jYWNoZSwKICAgICAgICAgICAgICAgICAgImF1dG8tcmVz
aXplLXdpbmRvdyIsIHByaXYtPmF1dG9fcmVzaXplX3dpbmRvdywKICAgICAgICAgICAgICAgICAg
ImVuYWJsZS1qYXZhLWFwcGxldCIsIHByaXYtPmVuYWJsZV9qYXZhX2FwcGxldCwKKyAgICAgICAg
ICAgICAgICAgImVuYWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIsIHByaXYtPmVuYWJsZS1w
cmUtaHRtbDUtcGFyc2VyLXF1aXJrcywKICAgICAgICAgICAgICAgICAgTlVMTCkpOwogCiAgICAg
cmV0dXJuIGNvcHk7CkluZGV4OiBXZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXQvbWFjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEwLTA5LTE3ICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4g
ZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktp
dFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3NdKToKKyAgICAgICAg
KC1bV2ViUHJlZmVyZW5jZXMgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6XSk6CisgICAgICAg
ICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNh
dGlvbjpdKToKKwogMjAxMC0wOS0xNyAgSmlhIFB1ICA8anB1QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTExMSw2ICsxMTEsNyBAQAogI2RlZmluZSBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtleSBA
IldlYktpdENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRUZXh0RGlyZWN0
aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yUHJlZmVyZW5jZUtleSBAIldlYktpdFRleHREaXJl
Y3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3JQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJL
aXRFZGl0aW5nQmVoYXZpb3JQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RWRpdGluZ0JlaGF2aW9yIgor
I2RlZmluZSBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSBAIldlYktpdFVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzIgogCiAvLyBDb3JlR3JhcGhpY3MgZGVmZXJyZWQgdXBkYXRlcyBhcmUg
ZGlzYWJsZWQgaWYgV2ViS2l0RW5hYmxlQ29hbGVzY2VkVXBkYXRlc1ByZWZlcmVuY2VLZXkgaXMg
c2V0CiAvLyB0byBOTywgb3IgaGFzIG5vIHZhbHVlLiAgRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBN
YWMgT1MgWCAxMC40LjYsIGRlZmVycmVkIHVwZGF0ZXMgYXJlIE9GRiBieQpJbmRleDogV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM2Nyw2ICszNjcs
NyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
OllFU10sICBXZWJLaXRETlNQcmVmZXRjaGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEZ1bGxTY3JlZW5FbmFibGVk
UHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBX
ZWJLaXRNZW1vcnlJbmZvRW5hYmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoTG9uZ0xvbmc6V2ViQ29yZTo6QXBwbGljYXRpb25D
YWNoZVN0b3JhZ2U6Om5vUXVvdGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3Rh
LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOldlYkNvcmU6OkFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlRGVmYXVs
dE9yaWdpblF1b3RhLAogICAgICAgICBuaWxdOwpAQCAtMTMyNyw2ICsxMzI4LDE2IEBAIC0gKHZv
aWQpc2V0RWRpdGluZ0JlaGF2aW9yOihXZWJLaXRFZGl0aW4KICAgICBbc2VsZiBfc2V0SW50ZWdl
clZhbHVlOmJlaGF2aW9yIGZvcktleTpXZWJLaXRFZGl0aW5nQmVoYXZpb3JQcmVmZXJlbmNlS2V5
XTsKIH0KIAorLSAoQk9PTCl1c2VQcmVIVE1MNVBhcnNlclF1aXJrcworeworICAgIHJldHVybiBb
c2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5XTsK
K30KKworLSAodm9pZClzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrczooQk9PTClmbGFnCit7Cisg
ICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrc0tleV07Cit9CisKIC0gKHZvaWQpZGlkUmVtb3ZlRnJvbVdlYlZpZXcKIHsKICAgICBB
U1NFUlQoX3ByaXZhdGUtPm51bVdlYlZpZXdzKTsKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsNCAr
MjEyLDcgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKHZvaWQp
c2V0RnVsbFNjcmVlbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpZnVsbFNjcmVlbkVuYWJs
ZWQ7CiAKKy0gKHZvaWQpc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6KEJPT0wpZmxhZzsKKy0g
KEJPT0wpdXNlUHJlSFRNTDVQYXJzZXJRdWlya3M7CisKIEBlbmQKSW5kZXg6IFdlYktpdC9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDQ3LDYgKzE0NDcsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNl
c0NoYW5nZWROb3RpZmljYXRpb246CiAgICAgc2V0dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVk
KFtwcmVmZXJlbmNlcyBmdWxsU2NyZWVuRW5hYmxlZF0pOwogI2VuZGlmCiAgICAgc2V0dGluZ3Mt
PnNldE1lbW9yeUluZm9FbmFibGVkKFtwcmVmZXJlbmNlcyBtZW1vcnlJbmZvRW5hYmxlZF0pOwor
ICAgIHNldHRpbmdzLT5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhbcHJlZmVyZW5jZXMgdXNl
UHJlSFRNTDVQYXJzZXJRdWlya3NdKTsKIAogICAgIC8vIEFwcGxpY2F0aW9uIENhY2hlIFByZWZl
cmVuY2VzIGFyZSBzdG9yZWQgb24gdGhlIGdsb2JhbCBjYWNoZSBzdG9yYWdlIG1hbmFnZXIsIG5v
dCBpbiBTZXR0aW5ncy4KICAgICBbV2ViQXBwbGljYXRpb25DYWNoZSBzZXREZWZhdWx0T3JpZ2lu
UXVvdGE6W3ByZWZlcmVuY2VzIGFwcGxpY2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGFdXTsK
SW5kZXg6IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5n
ZUxvZwkocmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJFR1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+
IHBhcnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgor
ICAgICAgICAoUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHkpOgorICAgICAgICAoUVdlYlNldHRp
bmdzOjpRV2ViU2V0dGluZ3MpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuaDoKKwogMjAx
MC0wOS0xNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGJ1
aWxkLgpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJL
aXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Miw2ICsyNjIs
MTAgQEAgdm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgpCiAgICAgICAgIHNldHRpbmdz
LT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyh2YWx1ZSk7CiAKICAgICAgICAgc2V0dGluZ3Mt
PnNldFVzZXNQYWdlQ2FjaGUoV2ViQ29yZTo6cGFnZUNhY2hlKCktPmNhcGFjaXR5KCkpOworCisg
ICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9i
YWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJr
cykpOworICAgICAgICBzZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3ModmFsdWUp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIFFMaXN0PFFXZWJTZXR0aW5nc1ByaXZhdGUqPiBzZXR0
aW5ncyA9ICo6OmFsbFNldHRpbmdzKCk7CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2V0
dGluZ3MuY291bnQoKTsgKytpKQpAQCAtNTAyLDYgKzUwNiw3IEBAIFFXZWJTZXR0aW5nczo6UVdl
YlNldHRpbmdzKCkKICAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6OlRpbGVk
QmFja2luZ1N0b3JlRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0KFFX
ZWJTZXR0aW5nczo6RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0dHJp
YnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6U2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCwgdHJ1
ZSk7CisgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBh
cnNlclF1aXJrcywgZmFsc2UpOwogICAgIGQtPm9mZmxpbmVTdG9yYWdlRGVmYXVsdFF1b3RhID0g
NSAqIDEwMjQgKiAxMDI0OwogICAgIGQtPmRlZmF1bHRUZXh0RW5jb2RpbmcgPSBRTGF0aW4xU3Ry
aW5nKCJpc28tODg1OS0xIik7CiB9CkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAt
NzUsNyArNzUsOCBAQCBwdWJsaWM6CiAgICAgICAgIFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCwK
ICAgICAgICAgRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwKICAgICAgICAgU2l0ZVNwZWNpZmljUXVp
cmtzRW5hYmxlZCwKLSAgICAgICAgV2ViR0xFbmFibGVkCisgICAgICAgIFdlYkdMRW5hYmxlZCwK
KyAgICAgICAgVXNlUHJlSFRNTDVQYXJzZXJRdWlya3MKICAgICB9OwogICAgIGVudW0gV2ViR3Jh
cGhpYyB7CiAgICAgICAgIE1pc3NpbmdJbWFnZUdyYXBoaWMsCkluZGV4OiBXZWJLaXQvd2luL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3
MDApCisrKyBXZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIx
IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChIVE1M
NSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisK
KyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVu
Y2UuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgor
ICAgICAgICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZl
cmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjp1c2VQcmVIVE1MNVBhcnNlclF1
aXJrcyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViVmlldy5jcHA6
CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDEwLTA5
LTE2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBbmRyZWFzIEtsaW5nLgpJbmRleDogV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NywzICsxNDcsNSBAQAogI2RlZmluZSBXZWJLaXRETlNQ
cmVmZXRjaGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRETlNQcmVmZXRjaGluZ0VuYWJs
ZWQiCiAKICNkZWZpbmUgV2ViS2l0TWVtb3J5SW5mb0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJL
aXRNZW1vcnlJbmZvRW5hYmxlZCIKKworI2RlZmluZSBXZWJLaXR1c2VyUHJlSFRNTDVQYXJzZXJR
dWlya3NLZXkgIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIgpJbmRleDogV2ViS2l0L3dp
bi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJQcmVmZXJl
bmNlcy5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OTksNiArMTQ5OSwxOSBAQCBIUkVTVUxUIFdlYlByZWZl
cmVuY2VzOjpzZXRNZW1vcnlJbmZvRW5hCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQg
V2ViUHJlZmVyZW5jZXM6OnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKEJPT0wqIGVuYWJsZWQpCit7
CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0VXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3NLZXkpKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVm
ZXJlbmNlczo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoQk9PTCBlbmFibGVkKQoreworICAg
IHNldEJvb2xWYWx1ZShDRlNUUihXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSksIGVu
YWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCisKIHZvaWQgV2ViUHJlZmVyZW5jZXM6Ondp
bGxBZGRUb1dlYlZpZXcoKQogewogICAgICsrbV9udW1XZWJWaWV3czsKSW5kZXg6IFdlYktpdC93
aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlByZWZlcmVu
Y2VzLmgJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC00MjYsNiArNDI2LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRNZW1vcnlJbmZvRW5hYmxlZChCT09MKTsKICAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbWVtb3J5SW5mb0VuYWJsZWQoQk9PTCop
OwogCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhCT09MKik7CisKICAgICAvLyBXZWJQcmVmZXJlbmNl
cwogCiAgICAgLy8gVGhpcyBtZXRob2QgYWNjZXNzZXMgYSBkaWZmZXJlbnQgcHJlZmVyZW5jZSBr
ZXkgdGhhbiBkZXZlbG9wZXJFeHRyYXNFbmFibGVkLgpJbmRleDogV2ViS2l0L3dpbi9XZWJWaWV3
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA2NzI1
MSkKKysrIFdlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3NjEsNiAr
NDc2MSwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAg
ICAgIHJldHVybiBocjsKICAgICBzZXR0aW5ncy0+c2V0TWVtb3J5SW5mb0VuYWJsZWQoZW5hYmxl
ZCk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoJmVu
YWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0
dGluZ3MtPnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKGVuYWJsZWQpOworCiAgICAgaWYgKCFt
X2Nsb3NlV2luZG93VGltZXIpCiAgICAgICAgIG1fbWFpbkZyYW1lLT5pbnZhbGlkYXRlKCk7IC8v
IEZJWE1FCiAKSW5kZXg6IFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L3dpbi9JbnRlcmZhY2Vz
L0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNCArMTE4
LDcgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUgOiBJVW5rbgogCiAgICAgSFJF
U1VMVCBtZW1vcnlJbmZvRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwogICAg
IEhSRVNVTFQgc2V0TWVtb3J5SW5mb0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworCisgICAg
SFJFU1VMVCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJs
ZWQpOworICAgIEhSRVNVTFQgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoW2luXSBCT09MIGVu
YWJsZWQpOwogfQpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXRUb29scy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0wOS0xNyAgQW5keSBF
c3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2Vu
IGR1ZSB0byA8dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJL
aXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6cmVz
ZXRXZWJTZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJU
cmVlLmNwcDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6Cisg
ICAgICAgIChjb3B5V2ViU2V0dGluZ0tleSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZh
bHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRz
VG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAxMC0wOS0xNiAgS2ludWtvIFlhc3VkYSAgPGtpbnVr
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KSW5kZXg6
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVt
cFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjcyNTEpCisr
KyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02ODcsNyArNjg3LDE0IEBACiAJCQlpc2Eg
PSBQQlhQcm9qZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyOUMzMDg5MDJD
NkQwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkR1
bXBSZW5kZXJUcmVlIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7
CisJCQlkZXZlbG9wbWVudFJlZ2lvbiA9IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9yRW5jb2Rp
bmdzID0gMTsKKwkJCWtub3duUmVnaW9ucyA9ICgKKwkJCQlFbmdsaXNoLAorCQkJCUphcGFuZXNl
LAorCQkJCUZyZW5jaCwKKwkJCQlHZXJtYW4sCisJCQkpOwogCQkJbWFpbkdyb3VwID0gMDhGQjc3
OTRGRTg0MTU1REMwMkFBQzA3IC8qIER1bXBSZW5kZXJUcmVlICovOwogCQkJcHJvZHVjdFJlZkdy
b3VwID0gOTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8qIFByb2R1Y3RzICovOwogCQkJcHJvamVj
dERpclBhdGggPSAiIjsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTg1LDYgKzExODUsOCBAQCB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlCiAgICAgICAgIG1fc2hlbGwtPndlYlZp
ZXcoKS0+c2V0VGFic1RvTGlua3MoY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSkpOwogICAgIGVsc2Ug
aWYgKGtleSA9PSAiV2ViS2l0V2ViR0xFbmFibGVkIikKICAgICAgICAgc2V0dGluZ3MtPnNldEV4
cGVyaW1lbnRhbFdlYkdMRW5hYmxlZChjcHBWYXJpYW50VG9Cb29sKHZhbHVlKSk7CisgICAgZWxz
ZSBpZiAoa2V5ID09ICJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIpCisgICAgICAgIHNl
dHRpbmdzLT5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhjcHBWYXJpYW50VG9Cb29sKHZhbHVl
KSk7CiAgICAgZWxzZSB7CiAgICAgICAgIHN0cmluZyBtZXNzYWdlKCJJbnZhbGlkIG5hbWUgZm9y
IHByZWZlcmVuY2U6ICIpOwogICAgICAgICBtZXNzYWdlLmFwcGVuZChrZXkpOwpJbmRleDogV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCShy
ZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMyw2ICsyMzMsOCBAQCB2b2lkIFRlc3RT
aGVsbDo6cmVzZXRXZWJTZXR0aW5ncyhXZWJWaWV3CiAjZW5kaWYKICAgICAvLyBGSVhNRTogY3Ji
dWcuY29tLzUxODc5CiAgICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFi
bGVkKGZhbHNlKTsKKworICAgIHNldHRpbmdzLT5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhm
YWxzZSk7CiB9CiAKIHZvaWQgVGVzdFNoZWxsOjpydW5GaWxlVGVzdChjb25zdCBUZXN0UGFyYW1z
JiBwYXJhbXMpCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRl
clRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9E
dW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM3LDYg
KzMzNyw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWwKICAgICAg
ICAgICAgICAgICAgImVuYWJsZS1qYXZhLWFwcGxldCIsIEZBTFNFLAogICAgICAgICAgICAgICAg
ICAiZW5hYmxlLXBsdWdpbnMiLCBUUlVFLAogICAgICAgICAgICAgICAgICAiZWRpdGluZy1iZWhh
dmlvciIsIFdFQktJVF9FRElUSU5HX0JFSEFWSU9SX01BQywKKyAgICAgICAgICAgICAgICAgImVu
YWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIsIEZBTFNFLAogICAgICAgICAgICAgICAgICBO
VUxMKTsKIAogICAgIHdlYmtpdF93ZWJfZnJhbWVfY2xlYXJfbWFpbl9mcmFtZV9uYW1lKG1haW5G
cmFtZSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENv
bnRyb2xsZXJHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksNyBAQCBzdGF0aWMgZ2NoYXIqIGNvcHlXZWJTZXR0
aW5nS2V5KGdjaGFyKiBwCiAgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdf
c3RyZHVwKCJXZWJLaXRFbmFibGVDYXJldEJyb3dzaW5nIiksIGdfc3RyZHVwKCJlbmFibGUtY2Fy
ZXQtYnJvd3NpbmciKSk7CiAgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdf
c3RyZHVwKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIpLCBnX3N0cmR1cCgiZW5h
YmxlLXBhZ2UtY2FjaGUiKSk7CiAgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUs
IGdfc3RyZHVwKCJXZWJLaXRQbHVnaW5zRW5hYmxlZCIpLCBnX3N0cmR1cCgiZW5hYmxlLXBsdWdp
bnMiKSk7CisgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJX
ZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIpLCBnX3N0cmR1cCgiZW5hYmxlLXByZS1odG1s
NS1wYXJzZXItcXVpcmtzIikpOwogICAgIH0KIAogICAgIHJldHVybiBnX3N0cmR1cChzdGF0aWNf
Y2FzdDxnY2hhcio+KGdfaGFzaF90YWJsZV9sb29rdXAoa2V5VGFibGUsIHByZWZlcmVuY2VLZXkp
KSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDU3LDYgKzQ1Nyw3IEBA
IHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWwKICAgICBbcHJlZmVyZW5j
ZXMgc2V0VXNlc1BhZ2VDYWNoZTpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkdMRW5hYmxl
ZDpOT107CisgICAgW3ByZWZlcmVuY2VzIHNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzOk5PXTsK
IAogICAgIFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gc2V0
Q29va2llQWNjZXB0UG9saWN5Ok5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluXTsKIApJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE5MSw2ICsxOTEsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogICAgIHNl
dHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6UGx1Z2luc0VuYWJsZWQpOwog
ICAgIHNldHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6SmF2YXNjcmlwdENh
bkFjY2Vzc0NsaXBib2FyZCk7CiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNl
dHRpbmdzOjpBdXRvTG9hZEltYWdlcyk7CisgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUo
UVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyk7CiAKICAgICBtX2RydC0+bGF5
b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwogICAg
IG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KGZhbHNlKTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RD
b250cm9sbGVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NzMsNiArNTczLDggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
b3ZlcnJpZGVQcmVmZQogICAgICAgICBzZXR0aW5ncy0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5n
czo6UGx1Z2luc0VuYWJsZWQsIHZhbHVlLnRvQm9vbCgpKTsKICAgICBlbHNlIGlmIChuYW1lID09
ICJXZWJLaXRXZWJHTEVuYWJsZWQiKQogICAgICAgICBzZXR0aW5ncy0+c2V0QXR0cmlidXRlKFFX
ZWJTZXR0aW5nczo6V2ViR0xFbmFibGVkLCB2YWx1ZS50b0Jvb2woKSk7CisgICAgZWxzZSBpZiAo
bmFtZSA9PSAiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiKQorICAgICAgICBzZXR0aW5n
cy0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MsIHZh
bHVlLnRvQm9vbCgpKTsKICAgICBlbHNlCiAgICAgICAgIHByaW50ZigiRVJST1I6IExheW91dFRl
c3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UoKSBkb2VzIG5vdCBzdXBwb3J0IHRoZSAn
JXMnIHByZWZlcmVuY2VcbiIsCiAgICAgICAgICAgICBuYW1lLnRvTGF0aW4xKCkuZGF0YSgpKTsK
SW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzAsNiArODMwLDcgQEAg
c3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbAogICAgICAgICBwcmVmc1By
aXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRl
LT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRl
LT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoVFJVRSk7CisgICAgICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoRkFMU0UpOwogICAgIH0KICAg
ICBzZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3
MDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
OSBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAoSFRN
TDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2Vz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MQor
CisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRy
aWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUt
cXVvdGVkLXN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1s
NS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZv
cmUtYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJz
ZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9j
dW1lbnQtZnJhZ21lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0
bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUu
aHRtbDogQWRkZWQuCisKIDIwMTAtMDktMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJp
YnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRl
LXZhbHVlLXF1b3RlZC1zdGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12
YWx1ZS1xdW90ZWQtc3RhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUg
QEAKK1RoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFw
cGxpZWQgd2hlbiB0aGUgV2Via2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBp
cyBzZXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEg
Zm9yIGRldGFpbHMuCisKK1lvdSBzaG91bGQgc2VlICdQQVNTJyBiZWxvdzoKKworUEFTUwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1h
dHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFs
dWUtcXVvdGVkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Bh
cnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQt
c3RhdGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPHNjcmlwdD4KKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3Mi
LCAiMSIpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
fQorPC9zY3JpcHQ+CisKKzxwPlRoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBwYXJz
ZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Via2l0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MDk2MTwvYT4gZm9yIGRldGFpbHMuPHA+Cis8cD5Zb3Ugc2hvdWxkIHNlZSAnUEFT
UycgYmVsb3c6PC9wPgorCis8ZGl2PgorICAgIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVu
Ij4KKyAgICAgICAgPHA+PC9wIGlkPSJmb28iPC9kaXY+CisgICAgUEFTUworPC9kaXY+CkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1h
dHRyaWJ1dGUtbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5h
bWUtc3RhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9w
YXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdHMgdGhh
dCBjZXJ0YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Vi
a2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEgZm9yIGRldGFpbHMuCisKK1lv
dSBzaG91bGQgc2VlICdQQVNTJyBiZWxvdzoKKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3Rh
dGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUt
cGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZv
cmUtYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBA
QAorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MiLCAiMSIpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxwPlRoaXMgdGVzdHMgdGhhdCBjZXJ0
YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Via2l0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSA8YSBocmVmPSJodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEiPmh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MTwvYT4gZm9yIGRldGFpbHMuPHA+Cis8cD5Z
b3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6PC9wPgorCis8ZGl2PgorICAgIDxkaXYgc3R5bGU9
InZpc2liaWxpdHk6aGlkZGVuIj4KKyAgICAgICAgPHA+PC9wCisgICAgPC9kaXY+CisgICAgUEFT
UworPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2Vy
LXF1aXJrLWRvY3VtZW50LWZyYWdtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdt
ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2Vy
L3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1I
VE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Via2l0VXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEgZm9yIGRldGFpbHMuCisKK1lvdSBzaG91bGQgc2VlICdQ
QVNTJyBiZWxvdzoKKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0
bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJh
Z21lbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1o
dG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNiBAQAorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgi
V2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiLCAiMSIpOworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxwPlRoaXMgdGVz
dHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0
aGUgV2Via2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEiPmh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MTwvYT4gZm9yIGRldGFp
bHMuPHA+Cis8cD5Zb3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6PC9wPgorCis8ZGl2IGlkPSJ3
cmFwcGVyIj4KKzwvZGl2PgorCis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ3cmFwcGVyIikuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J3Zpc2liaWxpdHk6aGlkZGVuJz48
cD48L3A8L2Rpdj5QQVNTIjsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay10YWctbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0YXRlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3RzIHRoYXQgY2Vy
dGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIGZvciBkZXRhaWxzLgorCitZb3Ugc2hv
dWxkIHNlZSAnUEFTUycgYmVsb3c6CisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFy
c2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1u
YW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9w
cmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTUgQEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIiwgIjEiKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0PgorCis8cD5UaGlzIHRl
c3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4g
dGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUg
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIj5o
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjE8L2E+IGZvciBkZXRh
aWxzLjxwPgorPHA+WW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OjwvcD4KKworPGRpdj4KKyAg
ICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcDwvZGl2Pgor
ICAgIFBBU1MKKzwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67900</attachid>
            <date>2010-09-17 04:33:53 -0700</date>
            <delta_ts>2010-09-17 05:34:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100917043352.patch</filename>
            <type>text/plain</type>
            <size>41051</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzcwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDUgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBUZXN0czogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1l
LXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXIt
cXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9wYXJzZXIv
cHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCisKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIpOiBDb25zdHJ1Y3QKKyAgICAgICAg
SFRNTFRva2VuaXplciB3aXRoIGEgU2V0dGluZ3Mgb2JqZWN0LgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9h
ZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9r
ZW5pemVyIHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKTogSW5pdGlhbGl6ZSBtX3NldHRpbmdzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRv
a2VuaXplcjo6bmV4dFRva2VuKTogSWYgdGhlIHF1aXJrIGlzIGVuYWJsZWQgYW5kIGFuCisgICAg
ICAgIHVuZXhwZWN0ZWQgJzwnIGlzIGVuY291bnRlcmVkIGluIGNlcnRhaW4gc3RhdGVzLCBlbWl0
IHRoZSBjdXJyZW50IHRva2VuCisgICAgICAgIGFuZCByZXByb2Nlc3MgdGhlICc8JyBhcyB0aGUg
c3RhcnQgb2YgYSBuZXcgdG9rZW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjp1
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6IEFkZCBhbiBpbmxpbmUgbWV0aG9kCisgICAgICAgIHRv
IGNoZWNrIHRoZSBzdGF0ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4K
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVG9rZW5pemVyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxWaWV3
U291cmNlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxWaWV3U291cmNlUGFyc2Vy
OjpIVE1MVmlld1NvdXJjZVBhcnNlcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9rZW5pemVy
IHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0
dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJR
dWlya3MpOgorCiAyMDEwLTA5LTE2ICB0YWthbm8gdGFrdW1pICA8dGFrYW5vMUBhc2lhLmFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KSW5kZXg6IFdlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysg
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw3ICs3OSw3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIHRva2VuaXplclN0YXRlRm9y
Q28KIAogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUo
KSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+c2V0
dGluZ3MoKSkpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihIVE1MU2NyaXB0UnVubmVyOjpjcmVhdGUo
ZG9jdW1lbnQsIHRoaXMpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNy
ZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZG9jdW1lbnQsIHJlcG9ydEVycm9ycykpCiAgICAgLCBt
X3BhcnNlclNjaGVkdWxlcihIVE1MUGFyc2VyU2NoZWR1bGVyOjpjcmVhdGUodGhpcykpCkBAIC05
Miw3ICs5Miw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50UGFyc2VyKEgKIC8v
IG1pbmltaXplIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiB0aGVzZSBjb25zdHJ1Y3RvcnMuCiBI
VE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBm
cmFnbWVudCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
KGZyYWdtZW50LT5kb2N1bWVudCgpKQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6
Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZnJhZ21l
bnQtPmRvY3VtZW50KCktPnNldHRpbmdzKCkpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJl
ZUJ1aWxkZXI6OmNyZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZnJhZ21lbnQsIGNvbnRleHRFbGVt
ZW50LCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkK
ICAgICAsIG1fd3JpdGVOZXN0aW5nTGV2ZWwoMCkKSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyAr
MTIxLDcgQEAgcHJpdmF0ZToKIEhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVy
KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBt
X2Nzc1NjYW5uZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVu
dC0+c2V0dGluZ3MoKSkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0eWxl
KGZhbHNlKQogewpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCShyZXZp
c2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KQEAgLTEwMiw4
ICsxMDMsOSBAQCBpbmxpbmUgYm9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhUTUxUCiAKIH0K
IAotSFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcigpCitIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICA6IG1faW5wdXRTdHJlYW1QcmVwcm9jZXNz
b3IodGhpcykKKyAgICAsIG1fc2V0dGluZ3Moc2V0dGluZ3MpCiB7CiAgICAgcmVzZXQoKTsKIH0K
QEAgLTQzNSw2ICs0MzcsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50
ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAg
ICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVz
dW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBh
cnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVj
b25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBw
ZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dlckNhc2Uo
Y2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKQEAgLTg3Niw2ICs4
ODAsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgICAg
ICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNl
LCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygp
ICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4oc291
cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAg
ICAgICAgICAgICBtX3Rva2VuLT5hZGROZXdBdHRyaWJ1dGUoKTsKICAgICAgICAgICAgIG1fdG9r
ZW4tPmJlZ2luQXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQo
KSk7CkBAIC0xMDc1LDYgKzEwODEsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihT
ZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0
ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVjb25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9
PSBJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFya2VyKSB7CiAgICAgICAgICAg
ICBwYXJzZUVycm9yKCk7CiAgICAgICAgICAgICBSRUNPTlNVTUVfSU4oRGF0YVN0YXRlKTsKQEAg
LTE2NjQsNSArMTY3MiwxMCBAQCBpbmxpbmUgYm9vbCBIVE1MVG9rZW5pemVyOjpoYXZlQnVmZmVy
ZWRDCiB7CiAgICAgcmV0dXJuIG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1MVG9rZW46OkNoYXJhY3Rl
cjsKIH0KKyAgICAKK2lubGluZSBib29sIEhUTUxUb2tlbml6ZXI6OnVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKCkKK3sKKyAgICByZXR1cm4gKG1fc2V0dGluZ3MgJiYgbV9zZXR0aW5ncy0+dXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MoKSk7Cit9CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRva2VuaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKK2NsYXNzIFNldHRpbmdz
OwogCiBjbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
QEAgLTExOCw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgICAgIENEQVRBU2VjdGlvbkRvdWJsZVJp
Z2h0U3F1YXJlQnJhY2tldFN0YXRlLAogICAgIH07CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxI
VE1MVG9rZW5pemVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXpl
cik7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVG9rZW5pemVyPiBjcmVhdGUoU2V0dGlu
Z3MqIHNldHRpbmdzKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXplcihzZXR0aW5n
cykpOyB9CiAgICAgfkhUTUxUb2tlbml6ZXIoKTsKIAogICAgIHZvaWQgcmVzZXQoKTsKQEAgLTIz
Nyw3ICsyMzgsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fc2tpcE5leHROZXdMaW5lOwog
ICAgIH07CiAKLSAgICBIVE1MVG9rZW5pemVyKCk7CisgICAgSFRNTFRva2VuaXplcihTZXR0aW5n
cyopOwogCiAgICAgaW5saW5lIGJvb2wgcHJvY2Vzc0VudGl0eShTZWdtZW50ZWRTdHJpbmcmKTsK
IApAQCAtMjYzLDYgKzI2NCw4IEBAIHByaXZhdGU6CiAgICAgaW5saW5lIGJvb2wgaXNBcHByb3By
aWF0ZUVuZFRhZygpOwogCiAgICAgaW5saW5lIGJvb2wgaGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9r
ZW4oKTsKKyAgICAKKyAgICBpbmxpbmUgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpOwog
CiAgICAgU3RhdGUgbV9zdGF0ZTsKIApAQCAtMjkwLDYgKzI5Myw4IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNw
cmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3Nv
ciBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yOworICAgIAorICAgIFNldHRpbmdzKiBtX3NldHRp
bmdzOwogfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBh
cnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJj
ZVBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Vmlld1NvdXJjZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBIVE1MVmlld1NvdXJjZVBhcnNlcjo6SFRNTFZpZXdTb3VyY2VQ
YXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBEZWNvZGVkRGF0
YURvY3VtZW50UGFyc2VyKGRvY3VtZW50KQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXpl
cjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZG9j
dW1lbnQtPnNldHRpbmdzKCkpKQogewogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDYgKzE0Niw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2VuZGlmCiAgICAg
LCBtX21lbW9yeUluZm9FbmFibGVkKGZhbHNlKQogICAgICwgbV9pbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uKGZhbHNlKQorICAgICwgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmYWxzZSkKIHsK
ICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0
aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVz
ZSBpdC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjgsNiArMzI4LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBhbmQgaHR0cDovL3dlYmtpdC5vcmcvYi80MDkwOAogICAgICAgICB2
b2lkIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGJvb2wgZmxhZykgeyBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb24gPSBmbGFnOyB9CiAgICAgICAgIGJvb2wgaW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb247IH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoYm9vbCBmbGFnKSB7IG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgPSBmbGFnOyB9
CisgICAgICAgIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKSBjb25zdCB7IHJldHVybiBt
X3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBQYWdl
KiBtX3BhZ2U7CkBAIC00MTYsNiArNDE5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAgICAgICAgIGJvb2wgbV9tZW1vcnlJbmZvRW5hYmxlZDogMTsKICAgICAgICAgYm9vbCBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb246IDE7CisgICAgICAgIGJvb2wgbV91c2VQcmVIVE1MNVBh
cnNlclF1aXJrczogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAgICAgIHN0YXRpYyBi
b29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpJbmRleDogV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2NjMsNiArMTY2Myw3
IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0
OUMyODMyMDg5MDJCMEYwMDhBOUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WFByb2plY3QgIldlYktpdCIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAy
LjQiOworCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOwogCQkJaGFzU2Nhbm5lZEZvckVu
Y29kaW5ncyA9IDE7CiAJCQlrbm93blJlZ2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwKSW5kZXg6IFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJFR1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8g
PHRhZzx0YWc+IHBhcnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIHB1YmxpYy9XZWJTZXR0
aW5ncy5oOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKToKKyAgICAg
ICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisKIDIwMTAtMDktMTYgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI2NzY5My4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3Mu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJl
dmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCSh3
b3JraW5nIGNvcHkpCkBAIC05Myw2ICs5Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBzZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGJvb2wpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoYm9vbCkgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAg
fldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdz
SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGlu
Z3NJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg5LDQgKzI4OSw5IEBAIHZvaWQgV2ViU2V0
dGluZ3NJbXBsOjpzZXRNZW1vcnlJbmZvRW5hYmwKICAgICBtX3NldHRpbmdzLT5zZXRNZW1vcnlJ
bmZvRW5hYmxlZChlbmFibGVkKTsKIH0KIAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKGJvb2wgZW5hYmxlZCkKK3sKKyAgICBtX3NldHRpbmdzLT5zZXRV
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhlbmFibGVkKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkod29ya2luZyBj
b3B5KQpAQCAtODksNiArODksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2Nl
bGVyYXRlZDJkQ2FudmFzRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVtb3J5
SW5mb0VuYWJsZWQoYm9vbCk7CisgICAgdmlydHVhbCB2b2lkIHNldFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKGJvb2wpOwogCiBwcml2YXRlOgogICAgIFdlYkNvcmU6OlNldHRpbmdzKiBtX3NldHRp
bmdzOwpJbmRleDogV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0
ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3NzAwKQorKysgV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFl
c3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8
dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdl
YnNldHRpbmdzLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW5pdCk6
CisgICAgICAgICh3ZWJraXRfd2ViX3NldHRpbmdzX2NvcHkpOgorCiAyMDEwLTA5LTE2ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBYYW4gTG9wZXouCkluZGV4OiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3Bw
CShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDYgKzEwOCw3IEBAIHN0cnVjdCBfV2ViS2l0V2Vi
U2V0dGluZ3NQcml2YXRlIHsKICAgICBnYm9vbGVhbiBlbmFibGVfcGFnZV9jYWNoZTsKICAgICBn
Ym9vbGVhbiBhdXRvX3Jlc2l6ZV93aW5kb3c7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX2phdmFfYXBw
bGV0OworICAgIGdib29sZWFuIGVuYWJsZV9wcmVfaHRtbDVfcGFyc2VyX3F1aXJrczsKIH07CiAK
ICNkZWZpbmUgV0VCS0lUX1dFQl9TRVRUSU5HU19HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5T
VEFOQ0VfR0VUX1BSSVZBVEUoKG9iaiksIFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0
V2ViU2V0dGluZ3NQcml2YXRlKSkKQEAgLTE1Nyw3ICsxNTgsOCBAQCBlbnVtIHsKICAgICBQUk9Q
X0VOQUJMRV9TSVRFX1NQRUNJRklDX1FVSVJLUywKICAgICBQUk9QX0VOQUJMRV9QQUdFX0NBQ0hF
LAogICAgIFBST1BfQVVUT19SRVNJWkVfV0lORE9XLAotICAgIFBST1BfRU5BQkxFX0pBVkFfQVBQ
TEVUCisgICAgUFJPUF9FTkFCTEVfSkFWQV9BUFBMRVQsCisgICAgUFJPUF9FTkFCTEVfUFJFX0hU
TUw1X1BBUlNFUl9RVUlSS1MKIH07CiAKIC8vIENyZWF0ZSBhIGRlZmF1bHQgdXNlciBhZ2VudCBz
dHJpbmcKQEAgLTg2Myw2ICs4NjUsMTUgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5n
c19jbGFzc19pbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CiAKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KGdvYmplY3RfY2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQUk9QX0VOQUJMRV9QUkVfSFRNTDVfUEFSU0VSX1FVSVJLUywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgImVuYWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgUHJlLUhUTUw1
IFBhcnNlciBRdWlya3MiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8o
IkVuYWJsZSBxdWlya3MgdGhhdCB3ZXJlIHByZXNlbnQgcHJpb3IgdG8gbGFuZGluZyB0aGUgSFRN
TDUgcGFyc2VyLiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CisKICAgICBnX3R5
cGVfY2xhc3NfYWRkX3ByaXZhdGUoa2xhc3MsIHNpemVvZihXZWJLaXRXZWJTZXR0aW5nc1ByaXZh
dGUpKTsKIH0KIApAQCAtMTI5Nyw2ICsxMzA4LDcgQEAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYmtp
dF93ZWJfc2V0dGluZ3NfYwogICAgICAgICAgICAgICAgICAiZW5hYmxlLXBhZ2UtY2FjaGUiLCBw
cml2LT5lbmFibGVfcGFnZV9jYWNoZSwKICAgICAgICAgICAgICAgICAgImF1dG8tcmVzaXplLXdp
bmRvdyIsIHByaXYtPmF1dG9fcmVzaXplX3dpbmRvdywKICAgICAgICAgICAgICAgICAgImVuYWJs
ZS1qYXZhLWFwcGxldCIsIHByaXYtPmVuYWJsZV9qYXZhX2FwcGxldCwKKyAgICAgICAgICAgICAg
ICAgImVuYWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIsIHByaXYtPmVuYWJsZV9wcmVfaHRt
bDVfcGFyc2VyX3F1aXJrcywKICAgICAgICAgICAgICAgICAgTlVMTCkpOwogCiAgICAgcmV0dXJu
IGNvcHk7CkluZGV4OiBXZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
bWFjL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSRUdSRVNTSU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRv
IDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1b
V2ViUHJlZmVyZW5jZXMgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3NdKToKKyAgICAgICAgKC1bV2Vi
UHJlZmVyZW5jZXMgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6XSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjpd
KToKKwogMjAxMC0wOS0xNyAgSmlhIFB1ICA8anB1QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2
ICsxMTEsNyBAQAogI2RlZmluZSBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtleSBAIldlYktp
dENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRUZXh0RGlyZWN0aW9uU3Vi
bWVudUluY2x1c2lvbkJlaGF2aW9yUHJlZmVyZW5jZUtleSBAIldlYktpdFRleHREaXJlY3Rpb25T
dWJtZW51SW5jbHVzaW9uQmVoYXZpb3JQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRFZGl0
aW5nQmVoYXZpb3JQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RWRpdGluZ0JlaGF2aW9yIgorI2RlZmlu
ZSBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSBAIldlYktpdFVzZVByZUhUTUw1UGFy
c2VyUXVpcmtzIgogCiAvLyBDb3JlR3JhcGhpY3MgZGVmZXJyZWQgdXBkYXRlcyBhcmUgZGlzYWJs
ZWQgaWYgV2ViS2l0RW5hYmxlQ29hbGVzY2VkVXBkYXRlc1ByZWZlcmVuY2VLZXkgaXMgc2V0CiAv
LyB0byBOTywgb3IgaGFzIG5vIHZhbHVlLiAgRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBNYWMgT1Mg
WCAxMC40LjYsIGRlZmVycmVkIHVwZGF0ZXMgYXJlIE9GRiBieQpJbmRleDogV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM2Nyw2ICszNjcsNyBAQCAr
ICh2b2lkKWluaXRpYWxpemUKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10s
ICBXZWJLaXRETlNQcmVmZXRjaGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNO
dW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEZ1bGxTY3JlZW5FbmFibGVkUHJlZmVy
ZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRN
ZW1vcnlJbmZvRW5hYmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJX
aXRoQm9vbDpOT10sICAgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXksCiAgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoTG9uZ0xvbmc6V2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVN0
b3JhZ2U6Om5vUXVvdGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3RhLAogICAg
ICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aExvbmdMb25nOldlYkNvcmU6OkFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlOjpub1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdp
blF1b3RhLAogICAgICAgICBuaWxdOwpAQCAtMTMyNyw2ICsxMzI4LDE2IEBAIC0gKHZvaWQpc2V0
RWRpdGluZ0JlaGF2aW9yOihXZWJLaXRFZGl0aW4KICAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVl
OmJlaGF2aW9yIGZvcktleTpXZWJLaXRFZGl0aW5nQmVoYXZpb3JQcmVmZXJlbmNlS2V5XTsKIH0K
IAorLSAoQk9PTCl1c2VQcmVIVE1MNVBhcnNlclF1aXJrcworeworICAgIHJldHVybiBbc2VsZiBf
Ym9vbFZhbHVlRm9yS2V5OldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5XTsKK30KKwor
LSAodm9pZClzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrczooQk9PTClmbGFnCit7CisgICAgW3Nl
bGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJr
c0tleV07Cit9CisKIC0gKHZvaWQpZGlkUmVtb3ZlRnJvbVdlYlZpZXcKIHsKICAgICBBU1NFUlQo
X3ByaXZhdGUtPm51bVdlYlZpZXdzKTsKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTIsNCArMjEyLDcg
QEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKHZvaWQpc2V0RnVs
bFNjcmVlbkVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpZnVsbFNjcmVlbkVuYWJsZWQ7CiAK
Ky0gKHZvaWQpc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6KEJPT0wpZmxhZzsKKy0gKEJPT0wp
dXNlUHJlSFRNTDVQYXJzZXJRdWlya3M7CisKIEBlbmQKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDQ3LDYgKzE0NDcsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5n
ZWROb3RpZmljYXRpb246CiAgICAgc2V0dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVkKFtwcmVm
ZXJlbmNlcyBmdWxsU2NyZWVuRW5hYmxlZF0pOwogI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldE1l
bW9yeUluZm9FbmFibGVkKFtwcmVmZXJlbmNlcyBtZW1vcnlJbmZvRW5hYmxlZF0pOworICAgIHNl
dHRpbmdzLT5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhbcHJlZmVyZW5jZXMgdXNlUHJlSFRN
TDVQYXJzZXJRdWlya3NdKTsKIAogICAgIC8vIEFwcGxpY2F0aW9uIENhY2hlIFByZWZlcmVuY2Vz
IGFyZSBzdG9yZWQgb24gdGhlIGdsb2JhbCBjYWNoZSBzdG9yYWdlIG1hbmFnZXIsIG5vdCBpbiBT
ZXR0aW5ncy4KICAgICBbV2ViQXBwbGljYXRpb25DYWNoZSBzZXREZWZhdWx0T3JpZ2luUXVvdGE6
W3ByZWZlcmVuY2VzIGFwcGxpY2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGFdXTsKSW5kZXg6
IFdlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5nZUxvZwko
cmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAg
ICAoUVdlYlNldHRpbmdzUHJpdmF0ZTo6YXBwbHkpOgorICAgICAgICAoUVdlYlNldHRpbmdzOjpR
V2ViU2V0dGluZ3MpOgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuaDoKKwogMjAxMC0wOS0x
NiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGJ1aWxkLgpJ
bmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvcXQv
QXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Miw2ICsyNjIsMTAgQEAg
dm9pZCBRV2ViU2V0dGluZ3NQcml2YXRlOjphcHBseSgpCiAgICAgICAgIHNldHRpbmdzLT5zZXRO
ZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyh2YWx1ZSk7CiAKICAgICAgICAgc2V0dGluZ3MtPnNldFVz
ZXNQYWdlQ2FjaGUoV2ViQ29yZTo6cGFnZUNhY2hlKCktPmNhcGFjaXR5KCkpOworCisgICAgICAg
IHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0
dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJrcykpOwor
ICAgICAgICBzZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3ModmFsdWUpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIFFMaXN0PFFXZWJTZXR0aW5nc1ByaXZhdGUqPiBzZXR0aW5ncyA9
ICo6OmFsbFNldHRpbmdzKCk7CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2V0dGluZ3Mu
Y291bnQoKTsgKytpKQpAQCAtNTAyLDYgKzUwNiw3IEBAIFFXZWJTZXR0aW5nczo6UVdlYlNldHRp
bmdzKCkKICAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6OlRpbGVkQmFja2lu
Z1N0b3JlRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0
aW5nczo6RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0dHJpYnV0ZXMu
aW5zZXJ0KFFXZWJTZXR0aW5nczo6U2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCwgdHJ1ZSk7Cisg
ICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1
aXJrcywgZmFsc2UpOwogICAgIGQtPm9mZmxpbmVTdG9yYWdlRGVmYXVsdFF1b3RhID0gNSAqIDEw
MjQgKiAxMDI0OwogICAgIGQtPmRlZmF1bHRUZXh0RW5jb2RpbmcgPSBRTGF0aW4xU3RyaW5nKCJp
c28tODg1OS0xIik7CiB9CkluZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgJKHJldmlzaW9uIDY3MjUxKQor
KysgV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNzUsNyAr
NzUsOCBAQCBwdWJsaWM6CiAgICAgICAgIFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCwKICAgICAg
ICAgRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwKICAgICAgICAgU2l0ZVNwZWNpZmljUXVpcmtzRW5h
YmxlZCwKLSAgICAgICAgV2ViR0xFbmFibGVkCisgICAgICAgIFdlYkdMRW5hYmxlZCwKKyAgICAg
ICAgVXNlUHJlSFRNTDVQYXJzZXJRdWlya3MKICAgICB9OwogICAgIGVudW0gV2ViR3JhcGhpYyB7
CiAgICAgICAgIE1pc3NpbmdJbWFnZUdyYXBoaWMsCkluZGV4OiBXZWJLaXQvd2luL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisr
KyBXZWJLaXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisy
MDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChIVE1MNSBQYXJz
ZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisKKyAgICAg
ICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UuCisK
KyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2Vz
LmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjp1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgor
ICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAg
ICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDEwLTA5LTE2ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRy
ZWFzIEtsaW5nLgpJbmRleDogV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZp
c2lvbiA2NzI1MSkKKysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE0NywzICsxNDcsNSBAQAogI2RlZmluZSBXZWJLaXRETlNQcmVmZXRj
aGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRETlNQcmVmZXRjaGluZ0VuYWJsZWQiCiAK
ICNkZWZpbmUgV2ViS2l0TWVtb3J5SW5mb0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRNZW1v
cnlJbmZvRW5hYmxlZCIKKworI2RlZmluZSBXZWJLaXR1c2VyUHJlSFRNTDVQYXJzZXJRdWlya3NL
ZXkgIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIgpJbmRleDogV2ViS2l0L3dpbi9XZWJQ
cmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5j
cHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE0OTksNiArMTQ5OSwxOSBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2Vz
OjpzZXRNZW1vcnlJbmZvRW5hCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJl
ZmVyZW5jZXM6OnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKEJPT0wqIGVuYWJsZWQpCit7CisgICAg
KmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJR
dWlya3NLZXkpKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNl
czo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoQk9PTCBlbmFibGVkKQoreworICAgIHNldEJv
b2xWYWx1ZShDRlNUUihXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSksIGVuYWJsZWQp
OworICAgIHJldHVybiBTX09LOworfQorCisKIHZvaWQgV2ViUHJlZmVyZW5jZXM6OndpbGxBZGRU
b1dlYlZpZXcoKQogewogICAgICsrbV9udW1XZWJWaWV3czsKSW5kZXg6IFdlYktpdC93aW4vV2Vi
UHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgJ
KHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC00MjYsNiArNDI2LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBzZXRNZW1vcnlJbmZvRW5hYmxlZChCT09MKTsKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbWVtb3J5SW5mb0VuYWJsZWQoQk9PTCopOwogCisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB1c2VQ
cmVIVE1MNVBhcnNlclF1aXJrcyhCT09MKik7CisKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCiAg
ICAgLy8gVGhpcyBtZXRob2QgYWNjZXNzZXMgYSBkaWZmZXJlbnQgcHJlZmVyZW5jZSBrZXkgdGhh
biBkZXZlbG9wZXJFeHRyYXNFbmFibGVkLgpJbmRleDogV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysr
IFdlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3NjEsNiArNDc2MSwx
MSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlCiAgICAgICAgIHJl
dHVybiBocjsKICAgICBzZXR0aW5ncy0+c2V0TWVtb3J5SW5mb0VuYWJsZWQoZW5hYmxlZCk7CiAK
KyAgICBociA9IHByZWZzUHJpdmF0ZS0+dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoJmVuYWJsZWQp
OworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Mt
PnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKGVuYWJsZWQpOworCiAgICAgaWYgKCFtX2Nsb3Nl
V2luZG93VGltZXIpCiAgICAgICAgIG1fbWFpbkZyYW1lLT5pbnZhbGlkYXRlKCk7IC8vIEZJWE1F
CiAKSW5kZXg6IFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGwJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNCArMTE4LDcgQEAg
aW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUgOiBJVW5rbgogCiAgICAgSFJFU1VMVCBt
ZW1vcnlJbmZvRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwogICAgIEhSRVNV
TFQgc2V0TWVtb3J5SW5mb0VuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworCisgICAgSFJFU1VM
VCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhbb3V0LCByZXR2YWxdIEJPT0wgKmVuYWJsZWQpOwor
ICAgIEhSRVNVTFQgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoW2luXSBCT09MIGVuYWJsZWQp
OwogfQpJbmRleDogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisrKyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOSBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0
byA8dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQ
cmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5jZSk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRlc3RTaGVsbDo6cmVzZXRXZWJT
ZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNw
cDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAg
IChjb3B5V2ViU2V0dGluZ0tleSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNldFNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKExheW91dFRl
c3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25z
aXN0ZW50VmFsdWVzKToKKwogMjAxMC0wOS0xNiAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KSW5kZXg6IFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRl
clRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02ODcsNyArNjg3LDE0IEBACiAJCQlpc2EgPSBQQlhQ
cm9qZWN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyOUMzMDg5MDJDNkQwMDhB
OUVGQyAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkR1bXBSZW5k
ZXJUcmVlIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7CisJCQlk
ZXZlbG9wbWVudFJlZ2lvbiA9IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9yRW5jb2RpbmdzID0g
MTsKKwkJCWtub3duUmVnaW9ucyA9ICgKKwkJCQlFbmdsaXNoLAorCQkJCUphcGFuZXNlLAorCQkJ
CUZyZW5jaCwKKwkJCQlHZXJtYW4sCisJCQkpOwogCQkJbWFpbkdyb3VwID0gMDhGQjc3OTRGRTg0
MTU1REMwMkFBQzA3IC8qIER1bXBSZW5kZXJUcmVlICovOwogCQkJcHJvZHVjdFJlZkdyb3VwID0g
OTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8qIFByb2R1Y3RzICovOwogCQkJcHJvamVjdERpclBh
dGggPSAiIjsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDY3MjUxKQor
KysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTg1LDYgKzExODUsOCBAQCB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlCiAgICAgICAgIG1fc2hlbGwtPndlYlZpZXcoKS0+
c2V0VGFic1RvTGlua3MoY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSkpOwogICAgIGVsc2UgaWYgKGtl
eSA9PSAiV2ViS2l0V2ViR0xFbmFibGVkIikKICAgICAgICAgc2V0dGluZ3MtPnNldEV4cGVyaW1l
bnRhbFdlYkdMRW5hYmxlZChjcHBWYXJpYW50VG9Cb29sKHZhbHVlKSk7CisgICAgZWxzZSBpZiAo
a2V5ID09ICJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIpCisgICAgICAgIHNldHRpbmdz
LT5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhjcHBWYXJpYW50VG9Cb29sKHZhbHVlKSk7CiAg
ICAgZWxzZSB7CiAgICAgICAgIHN0cmluZyBtZXNzYWdlKCJJbnZhbGlkIG5hbWUgZm9yIHByZWZl
cmVuY2U6ICIpOwogICAgICAgICBtZXNzYWdlLmFwcGVuZChrZXkpOwpJbmRleDogV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCShyZXZpc2lv
biA2NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMyw2ICsyMzMsOCBAQCB2b2lkIFRlc3RTaGVsbDo6
cmVzZXRXZWJTZXR0aW5ncyhXZWJWaWV3CiAjZW5kaWYKICAgICAvLyBGSVhNRTogY3JidWcuY29t
LzUxODc5CiAgICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZh
bHNlKTsKKworICAgIHNldHRpbmdzLT5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmYWxzZSk7
CiB9CiAKIHZvaWQgVGVzdFNoZWxsOjpydW5GaWxlVGVzdChjb25zdCBUZXN0UGFyYW1zJiBwYXJh
bXMpCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVu
ZGVyVHJlZS5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM3LDYgKzMzNyw3
IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWwKICAgICAgICAgICAg
ICAgICAgImVuYWJsZS1qYXZhLWFwcGxldCIsIEZBTFNFLAogICAgICAgICAgICAgICAgICAiZW5h
YmxlLXBsdWdpbnMiLCBUUlVFLAogICAgICAgICAgICAgICAgICAiZWRpdGluZy1iZWhhdmlvciIs
IFdFQktJVF9FRElUSU5HX0JFSEFWSU9SX01BQywKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1w
cmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIsIEZBTFNFLAogICAgICAgICAgICAgICAgICBOVUxMKTsK
IAogICAgIHdlYmtpdF93ZWJfZnJhbWVfY2xlYXJfbWFpbl9mcmFtZV9uYW1lKG1haW5GcmFtZSk7
CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xs
ZXJHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9M
YXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzksNiArNzksNyBAQCBzdGF0aWMgZ2NoYXIqIGNvcHlXZWJTZXR0aW5nS2V5
KGdjaGFyKiBwCiAgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVw
KCJXZWJLaXRFbmFibGVDYXJldEJyb3dzaW5nIiksIGdfc3RyZHVwKCJlbmFibGUtY2FyZXQtYnJv
d3NpbmciKSk7CiAgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVw
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIpLCBnX3N0cmR1cCgiZW5hYmxlLXBh
Z2UtY2FjaGUiKSk7CiAgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3Ry
ZHVwKCJXZWJLaXRQbHVnaW5zRW5hYmxlZCIpLCBnX3N0cmR1cCgiZW5hYmxlLXBsdWdpbnMiKSk7
CisgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQoa2V5VGFibGUsIGdfc3RyZHVwKCJXZWJLaXRV
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyIpLCBnX3N0cmR1cCgiZW5hYmxlLXByZS1odG1sNS1wYXJz
ZXItcXVpcmtzIikpOwogICAgIH0KIAogICAgIHJldHVybiBnX3N0cmR1cChzdGF0aWNfY2FzdDxn
Y2hhcio+KGdfaGFzaF90YWJsZV9sb29rdXAoa2V5VGFibGUsIHByZWZlcmVuY2VLZXkpKSk7Cklu
ZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDU3LDYgKzQ1Nyw3IEBAIHN0YXRp
YyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWwKICAgICBbcHJlZmVyZW5jZXMgc2V0
VXNlc1BhZ2VDYWNoZTpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkdMRW5hYmxlZDpOT107
CisgICAgW3ByZWZlcmVuY2VzIHNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzOk5PXTsKIAogICAg
IFtbTlNIVFRQQ29va2llU3RvcmFnZSBzaGFyZWRIVFRQQ29va2llU3RvcmFnZV0gc2V0Q29va2ll
QWNjZXB0UG9saWN5Ok5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluXTsKIApJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5
MSw2ICsxOTEsNyBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogICAgIHNldHRpbmdz
KCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6UGx1Z2luc0VuYWJsZWQpOwogICAgIHNl
dHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6SmF2YXNjcmlwdENhbkFjY2Vz
c0NsaXBib2FyZCk7CiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdz
OjpBdXRvTG9hZEltYWdlcyk7CisgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNl
dHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyk7CiAKICAgICBtX2RydC0+bGF5b3V0VGVz
dENvbnRyb2xsZXIoKS0+c2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoZmFsc2UpOwogICAgIG1fZHJ0
LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNl
KTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NzMsNiArNTczLDggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJp
ZGVQcmVmZQogICAgICAgICBzZXR0aW5ncy0+c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6UGx1
Z2luc0VuYWJsZWQsIHZhbHVlLnRvQm9vbCgpKTsKICAgICBlbHNlIGlmIChuYW1lID09ICJXZWJL
aXRXZWJHTEVuYWJsZWQiKQogICAgICAgICBzZXR0aW5ncy0+c2V0QXR0cmlidXRlKFFXZWJTZXR0
aW5nczo6V2ViR0xFbmFibGVkLCB2YWx1ZS50b0Jvb2woKSk7CisgICAgZWxzZSBpZiAobmFtZSA9
PSAiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiKQorICAgICAgICBzZXR0aW5ncy0+c2V0
QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MsIHZhbHVlLnRv
Qm9vbCgpKTsKICAgICBlbHNlCiAgICAgICAgIHByaW50ZigiRVJST1I6IExheW91dFRlc3RDb250
cm9sbGVyOjpvdmVycmlkZVByZWZlcmVuY2UoKSBkb2VzIG5vdCBzdXBwb3J0IHRoZSAnJXMnIHBy
ZWZlcmVuY2VcbiIsCiAgICAgICAgICAgICBuYW1lLnRvTGF0aW4xKCkuZGF0YSgpKTsKSW5kZXg6
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNw
cAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MzAsNiArODMwLDcgQEAgc3RhdGlj
IHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbAogICAgICAgICBwcmVmc1ByaXZhdGUt
PnNldFhTU0F1ZGl0b3JFbmFibGVkKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRP
ZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoVFJVRSk7CisgICAgICAgIHByZWZzUHJp
dmF0ZS0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoRkFMU0UpOwogICAgIH0KICAgICBzZXRB
bHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjc3MDApCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAor
MjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFy
c2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAg
ICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUt
dmFsdWUtcXVvdGVkLXN0YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9w
YXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVk
LXN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0
cmlidXRlLW5hbWUtc3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJl
LWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQt
ZnJhZ21lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBh
cnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRtbDog
QWRkZWQuCisKIDIwMTAtMDktMTYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12
YWx1ZS1xdW90ZWQtc3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVl
LXF1b3RlZC1zdGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1x
dW90ZWQtc3RhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQg
d2hlbiB0aGUgV2Via2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQu
IFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEgZm9yIGRl
dGFpbHMuCisKK1lvdSBzaG91bGQgc2VlICdQQVNTJyBiZWxvdzoKKworUEFTUwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1
dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVv
dGVkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9w
cmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPHNjcmlwdD4KKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiLCAiMSIp
OworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgfQorPC9z
Y3JpcHQ+CisKKzxwPlRoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBwYXJzZXIgcnVs
ZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Via2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJl
ZmVyZW5jZSBpcyBzZXQuIFNlZSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDA5NjEiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MDk2MTwvYT4gZm9yIGRldGFpbHMuPHA+Cis8cD5Zb3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVs
b3c6PC9wPgorCis8ZGl2PgorICAgIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4KKyAg
ICAgICAgPHA+PC9wIGlkPSJmb28iPC9kaXY+CisgICAgUEFTUworPC9kaXY+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1
dGUtbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3Rh
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIv
cHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdHMgdGhhdCBjZXJ0
YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Via2l0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEgZm9yIGRldGFpbHMuCisKK1lvdSBzaG91
bGQgc2VlICdQQVNTJyBiZWxvdzoKKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2Vy
LXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0
cmlidXRlLW5hbWUtc3RhdGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorPHNj
cmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3MiLCAiMSIpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxwPlRoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHBy
ZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Via2l0VXNlUHJlSFRN
TDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSA8YSBocmVmPSJodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEiPmh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MTwvYT4gZm9yIGRldGFpbHMuPHA+Cis8cD5Zb3Ugc2hv
dWxkIHNlZSAnUEFTUycgYmVsb3c6PC9wPgorCis8ZGl2PgorICAgIDxkaXYgc3R5bGU9InZpc2li
aWxpdHk6aGlkZGVuIj4KKyAgICAgICAgPHA+PC9wCisgICAgPC9kaXY+CisgICAgUEFTUworPC9k
aXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
LWRvY3VtZW50LWZyYWdtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1o
dG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBw
YXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Via2l0VXNlUHJlSFRNTDVQYXJzZXJR
dWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDA5NjEgZm9yIGRldGFpbHMuCisKK1lvdSBzaG91bGQgc2VlICdQQVNTJyBi
ZWxvdzoKKworUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBh
cnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1w
YXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNiBAQAorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0
VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiLCAiMSIpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzxwPlRoaXMgdGVzdHMgdGhh
dCBjZXJ0YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2Vi
a2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSA8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEiPmh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MTwvYT4gZm9yIGRldGFpbHMuPHA+
Cis8cD5Zb3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6PC9wPgorCis8ZGl2IGlkPSJ3cmFwcGVy
Ij4KKzwvZGl2PgorCis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3cmFw
cGVyIikuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J3Zpc2liaWxpdHk6aGlkZGVuJz48cD48L3A8
L2Rpdj5QQVNTIjsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJl
LWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWct
bmFtZS1zdGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0YXRlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBw
cmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIGZvciBkZXRhaWxzLgorCitZb3Ugc2hvdWxkIHNl
ZSAnUEFTUycgYmVsb3c6CisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3By
ZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0
YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRt
bDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTUgQEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktp
dFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIiwgIjEiKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3RzIHRo
YXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdl
YmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgPGEgaHJl
Zj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIj5odHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjE8L2E+IGZvciBkZXRhaWxzLjxw
PgorPHA+WW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OjwvcD4KKworPGRpdj4KKyAgICA8ZGl2
IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcDwvZGl2PgorICAgIFBB
U1MKKzwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67902</attachid>
            <date>2010-09-17 05:34:51 -0700</date>
            <delta_ts>2010-09-17 18:01:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100917053449.patch</filename>
            <type>text/plain</type>
            <size>39702</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzcwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDUgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBUZXN0czogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1l
LXN0YXRlLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXIt
cXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9wYXJzZXIv
cHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCisKKyAgICAgICAgKiBo
dG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIpOiBDb25zdHJ1Y3QKKyAgICAgICAg
SFRNTFRva2VuaXplciB3aXRoIGEgU2V0dGluZ3Mgb2JqZWN0LgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJlbG9h
ZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9r
ZW5pemVyIHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRN
TFRva2VuaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKTogSW5pdGlhbGl6ZSBtX3NldHRpbmdzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRv
a2VuaXplcjo6bmV4dFRva2VuKTogSWYgdGhlIHF1aXJrIGlzIGVuYWJsZWQgYW5kIGFuCisgICAg
ICAgIHVuZXhwZWN0ZWQgJzwnIGlzIGVuY291bnRlcmVkIGluIGNlcnRhaW4gc3RhdGVzLCBlbWl0
IHRoZSBjdXJyZW50IHRva2VuCisgICAgICAgIGFuZCByZXByb2Nlc3MgdGhlICc8JyBhcyB0aGUg
c3RhcnQgb2YgYSBuZXcgdG9rZW4uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVG9rZW5pemVyOjp1
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6IEFkZCBhbiBpbmxpbmUgbWV0aG9kCisgICAgICAgIHRv
IGNoZWNrIHRoZSBzdGF0ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4K
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVG9rZW5pemVyOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxWaWV3
U291cmNlUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxWaWV3U291cmNlUGFyc2Vy
OjpIVE1MVmlld1NvdXJjZVBhcnNlcik6IENvbnN0cnVjdAorICAgICAgICBIVE1MVG9rZW5pemVy
IHdpdGggYSBTZXR0aW5ncyBvYmplY3QuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOgorICAgICAgICAqIHBhZ2UvU2V0
dGluZ3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJR
dWlya3MpOgorCiAyMDEwLTA5LTE2ICB0YWthbm8gdGFrdW1pICA8dGFrYW5vMUBhc2lhLmFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KSW5kZXg6IFdlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysg
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03OSw3ICs3OSw3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIHRva2VuaXplclN0YXRlRm9y
Q28KIAogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3VtZW50
KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQ
YXJzZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUo
KSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+c2V0
dGluZ3MoKSkpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihIVE1MU2NyaXB0UnVubmVyOjpjcmVhdGUo
ZG9jdW1lbnQsIHRoaXMpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNy
ZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZG9jdW1lbnQsIHJlcG9ydEVycm9ycykpCiAgICAgLCBt
X3BhcnNlclNjaGVkdWxlcihIVE1MUGFyc2VyU2NoZWR1bGVyOjpjcmVhdGUodGhpcykpCkBAIC05
Miw3ICs5Miw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50UGFyc2VyKEgKIC8v
IG1pbmltaXplIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiB0aGVzZSBjb25zdHJ1Y3RvcnMuCiBI
VE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50KiBm
cmFnbWVudCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFyc2Vy
KGZyYWdtZW50LT5kb2N1bWVudCgpKQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6
Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZnJhZ21l
bnQtPmRvY3VtZW50KCktPnNldHRpbmdzKCkpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJl
ZUJ1aWxkZXI6OmNyZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZnJhZ21lbnQsIGNvbnRleHRFbGVt
ZW50LCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkK
ICAgICAsIG1fd3JpdGVOZXN0aW5nTGV2ZWwoMCkKSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyAr
MTIxLDcgQEAgcHJpdmF0ZToKIEhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2FubmVy
KERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAgLCBt
X2Nzc1NjYW5uZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVu
dC0+c2V0dGluZ3MoKSkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0eWxl
KGZhbHNlKQogewpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCShyZXZp
c2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KQEAgLTEwMiw4
ICsxMDMsOSBAQCBpbmxpbmUgYm9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhUTUxUCiAKIH0K
IAotSFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcigpCitIVE1MVG9rZW5pemVyOjpIVE1MVG9r
ZW5pemVyKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICA6IG1faW5wdXRTdHJlYW1QcmVwcm9jZXNz
b3IodGhpcykKKyAgICAsIG1fc2V0dGluZ3Moc2V0dGluZ3MpCiB7CiAgICAgcmVzZXQoKTsKIH0K
QEAgLTQzNSw2ICs0MzcsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50
ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAg
ICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVz
dW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBh
cnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVj
b25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBw
ZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dlckNhc2Uo
Y2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKQEAgLTg3Niw2ICs4
ODAsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgICAg
ICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNl
LCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygp
ICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4oc291
cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAg
ICAgICAgICAgICBtX3Rva2VuLT5hZGROZXdBdHRyaWJ1dGUoKTsKICAgICAgICAgICAgIG1fdG9r
ZW4tPmJlZ2luQXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQo
KSk7CkBAIC0xMDc1LDYgKzEwODEsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihT
ZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0
ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmICh1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcygpICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVjb25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9
PSBJbnB1dFN0cmVhbVByZXByb2Nlc3Nvcjo6ZW5kT2ZGaWxlTWFya2VyKSB7CiAgICAgICAgICAg
ICBwYXJzZUVycm9yKCk7CiAgICAgICAgICAgICBSRUNPTlNVTUVfSU4oRGF0YVN0YXRlKTsKQEAg
LTE2NjQsNSArMTY3MiwxMCBAQCBpbmxpbmUgYm9vbCBIVE1MVG9rZW5pemVyOjpoYXZlQnVmZmVy
ZWRDCiB7CiAgICAgcmV0dXJuIG1fdG9rZW4tPnR5cGUoKSA9PSBIVE1MVG9rZW46OkNoYXJhY3Rl
cjsKIH0KKyAgICAKK2lubGluZSBib29sIEhUTUxUb2tlbml6ZXI6OnVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKCkKK3sKKyAgICByZXR1cm4gKG1fc2V0dGluZ3MgJiYgbV9zZXR0aW5ncy0+dXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MoKSk7Cit9CiAKIH0KSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTFRva2VuaXplci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRv
a2VuaXplci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRWxlbWVudDsKIGNsYXNzIEhUTUxUb2tlbjsKK2NsYXNzIFNldHRpbmdz
OwogCiBjbGFzcyBIVE1MVG9rZW5pemVyIDogcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoK
QEAgLTExOCw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgICAgIENEQVRBU2VjdGlvbkRvdWJsZVJp
Z2h0U3F1YXJlQnJhY2tldFN0YXRlLAogICAgIH07CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxI
VE1MVG9rZW5pemVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXpl
cik7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVG9rZW5pemVyPiBjcmVhdGUoU2V0dGlu
Z3MqIHNldHRpbmdzKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2VuaXplcihzZXR0aW5n
cykpOyB9CiAgICAgfkhUTUxUb2tlbml6ZXIoKTsKIAogICAgIHZvaWQgcmVzZXQoKTsKQEAgLTIz
Nyw3ICsyMzgsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fc2tpcE5leHROZXdMaW5lOwog
ICAgIH07CiAKLSAgICBIVE1MVG9rZW5pemVyKCk7CisgICAgSFRNTFRva2VuaXplcihTZXR0aW5n
cyopOwogCiAgICAgaW5saW5lIGJvb2wgcHJvY2Vzc0VudGl0eShTZWdtZW50ZWRTdHJpbmcmKTsK
IApAQCAtMjYzLDYgKzI2NCw4IEBAIHByaXZhdGU6CiAgICAgaW5saW5lIGJvb2wgaXNBcHByb3By
aWF0ZUVuZFRhZygpOwogCiAgICAgaW5saW5lIGJvb2wgaGF2ZUJ1ZmZlcmVkQ2hhcmFjdGVyVG9r
ZW4oKTsKKyAgICAKKyAgICBpbmxpbmUgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpOwog
CiAgICAgU3RhdGUgbV9zdGF0ZTsKIApAQCAtMjkwLDYgKzI5Myw4IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLyNw
cmVwcm9jZXNzaW5nLXRoZS1pbnB1dC1zdHJlYW0KICAgICBJbnB1dFN0cmVhbVByZXByb2Nlc3Nv
ciBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yOworICAgIAorICAgIFNldHRpbmdzKiBtX3NldHRp
bmdzOwogfTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBh
cnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJj
ZVBhcnNlci5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
Vmlld1NvdXJjZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBIVE1MVmlld1NvdXJjZVBhcnNlcjo6SFRNTFZpZXdTb3VyY2VQ
YXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBEZWNvZGVkRGF0
YURvY3VtZW50UGFyc2VyKGRvY3VtZW50KQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXpl
cjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZG9j
dW1lbnQtPnNldHRpbmdzKCkpKQogewogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3
MjUxKQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDYgKzE0Niw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2VuZGlmCiAgICAg
LCBtX21lbW9yeUluZm9FbmFibGVkKGZhbHNlKQogICAgICwgbV9pbnRlcmFjdGl2ZUZvcm1WYWxp
ZGF0aW9uKGZhbHNlKQorICAgICwgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmYWxzZSkKIHsK
ICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3ZSBpbml0
aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5nIHRvIHVz
ZSBpdC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjgsNiArMzI4LDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAvLyBhbmQgaHR0cDovL3dlYmtpdC5vcmcvYi80MDkwOAogICAgICAgICB2
b2lkIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGJvb2wgZmxhZykgeyBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb24gPSBmbGFnOyB9CiAgICAgICAgIGJvb2wgaW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyYWN0aXZlRm9y
bVZhbGlkYXRpb247IH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoYm9vbCBmbGFnKSB7IG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgPSBmbGFnOyB9
CisgICAgICAgIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKSBjb25zdCB7IHJldHVybiBt
X3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBQYWdl
KiBtX3BhZ2U7CkBAIC00MTYsNiArNDE5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlm
CiAgICAgICAgIGJvb2wgbV9tZW1vcnlJbmZvRW5hYmxlZDogMTsKICAgICAgICAgYm9vbCBtX2lu
dGVyYWN0aXZlRm9ybVZhbGlkYXRpb246IDE7CisgICAgICAgIGJvb2wgbV91c2VQcmVIVE1MNVBh
cnNlclF1aXJrczogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAgICAgIHN0YXRpYyBi
b29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lv
biA2NzcwMCkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNyBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVT
U0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2lu
ZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJr
cyBwcmVmZXJlbmNlLgorCisgICAgICAgICogcHVibGljL1dlYlNldHRpbmdzLmg6CisgICAgICAg
ICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdz
SW1wbDo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgorICAgICAgICAqIHNyYy9XZWJTZXR0
aW5nc0ltcGwuaDoKKwogMjAxMC0wOS0xNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJv
dEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY3NjkzLgpJ
bmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAkocmV2aXNpb24gNjcyNTEpCisr
KyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTkzLDYgKzkzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJh
dGVkMmRDYW52YXNFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TWVtb3J5
SW5mb0VuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VQcmVIVE1MNVBh
cnNlclF1aXJrcyhib29sKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICB+V2ViU2V0dGluZ3MoKSB7
IH0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJldmlzaW9u
IDY3MjUxKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yODksNCArMjg5LDkgQEAgdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldE1l
bW9yeUluZm9FbmFibAogICAgIG1fc2V0dGluZ3MtPnNldE1lbW9yeUluZm9FbmFibGVkKGVuYWJs
ZWQpOwogfQogCit2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MoYm9vbCBlbmFibGVkKQoreworICAgIG1fc2V0dGluZ3MtPnNldFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKGVuYWJsZWQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OSw2ICs4
OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkMmRDYW52YXNF
bmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRNZW1vcnlJbmZvRW5hYmxlZChib29s
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoYm9vbCk7CiAK
IHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7CkluZGV4OiBXZWJL
aXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2
aXNpb24gNjc3MDApCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE2IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNT
SU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5n
IGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQwOTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
IHByZWZlcmVuY2UuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwOgor
ICAgICAgICAod2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAgKHdlYmtp
dF93ZWJfc2V0dGluZ3NfY29weSk6CisKIDIwMTAtMDktMTYgIE1hcnRpbiBSb2JpbnNvbiAgPG1y
b2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KSW5k
ZXg6IFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3MjUx
KQorKysgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDgsNiArMTA4LDcgQEAgc3RydWN0IF9XZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUg
ewogICAgIGdib29sZWFuIGVuYWJsZV9wYWdlX2NhY2hlOwogICAgIGdib29sZWFuIGF1dG9fcmVz
aXplX3dpbmRvdzsKICAgICBnYm9vbGVhbiBlbmFibGVfamF2YV9hcHBsZXQ7CisgICAgZ2Jvb2xl
YW4gZW5hYmxlX3ByZV9odG1sNV9wYXJzZXJfcXVpcmtzOwogfTsKIAogI2RlZmluZSBXRUJLSVRf
V0VCX1NFVFRJTkdTX0dFVF9QUklWQVRFKG9iaikgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFU
RSgob2JqKSwgV0VCS0lUX1RZUEVfV0VCX1NFVFRJTkdTLCBXZWJLaXRXZWJTZXR0aW5nc1ByaXZh
dGUpKQpAQCAtMTU3LDcgKzE1OCw4IEBAIGVudW0gewogICAgIFBST1BfRU5BQkxFX1NJVEVfU1BF
Q0lGSUNfUVVJUktTLAogICAgIFBST1BfRU5BQkxFX1BBR0VfQ0FDSEUsCiAgICAgUFJPUF9BVVRP
X1JFU0laRV9XSU5ET1csCi0gICAgUFJPUF9FTkFCTEVfSkFWQV9BUFBMRVQKKyAgICBQUk9QX0VO
QUJMRV9KQVZBX0FQUExFVCwKKyAgICBQUk9QX0VOQUJMRV9QUkVfSFRNTDVfUEFSU0VSX1FVSVJL
UwogfTsKIAogLy8gQ3JlYXRlIGEgZGVmYXVsdCB1c2VyIGFnZW50IHN0cmluZwpAQCAtODYzLDYg
Kzg2NSwxNSBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVF
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmxhZ3MpKTsKIAorICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVj
dF9jbGFzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfRU5BQkxF
X1BSRV9IVE1MNV9QQVJTRVJfUVVJUktTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiZW5hYmxlLXByZS1odG1sNS1wYXJzZXItcXVpcmtzIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF8oIkVuYWJsZSBQcmUtSFRNTDUgUGFyc2VyIFF1aXJrcyIp
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiRW5hYmxlIHF1aXJrcyB0
aGF0IHdlcmUgcHJlc2VudCBwcmlvciB0byBsYW5kaW5nIHRoZSBIVE1MNSBwYXJzZXIuIiksCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmxhZ3MpKTsKKwogICAgIGdfdHlwZV9jbGFzc19hZGRfcHJp
dmF0ZShrbGFzcywgc2l6ZW9mKFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpOwogfQogCkBAIC0x
Mjk3LDYgKzEzMDgsNyBAQCBXZWJLaXRXZWJTZXR0aW5ncyogd2Via2l0X3dlYl9zZXR0aW5nc19j
CiAgICAgICAgICAgICAgICAgICJlbmFibGUtcGFnZS1jYWNoZSIsIHByaXYtPmVuYWJsZV9wYWdl
X2NhY2hlLAogICAgICAgICAgICAgICAgICAiYXV0by1yZXNpemUtd2luZG93IiwgcHJpdi0+YXV0
b19yZXNpemVfd2luZG93LAogICAgICAgICAgICAgICAgICAiZW5hYmxlLWphdmEtYXBwbGV0Iiwg
cHJpdi0+ZW5hYmxlX2phdmFfYXBwbGV0LAorICAgICAgICAgICAgICAgICAiZW5hYmxlLXByZS1o
dG1sNS1wYXJzZXItcXVpcmtzIiwgcHJpdi0+ZW5hYmxlX3ByZV9odG1sNV9wYXJzZXJfcXVpcmtz
LAogICAgICAgICAgICAgICAgICBOVUxMKSk7CiAKICAgICByZXR1cm4gY29weTsKSW5kZXg6IFdl
YktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA2NzcwMCkKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtb
V2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyB1
c2VQcmVIVE1MNVBhcnNlclF1aXJrc10pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRV
c2VQcmVIVE1MNVBhcnNlclF1aXJrczpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9uOl0pOgorCiAyMDEwLTA5LTE3
ICBKaWEgUHUgIDxqcHVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJu
c3RlaW4uCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTExLDYgKzExMSw3IEBACiAjZGVm
aW5lIFdlYktpdENhY2hlTW9kZWxQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q2FjaGVNb2RlbFByZWZl
cmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVo
YXZpb3JQcmVmZXJlbmNlS2V5IEAiV2ViS2l0VGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25C
ZWhhdmlvclByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdEVkaXRpbmdCZWhhdmlvclByZWZl
cmVuY2VLZXkgQCJXZWJLaXRFZGl0aW5nQmVoYXZpb3IiCisjZGVmaW5lIFdlYktpdFVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzS2V5IEAiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiCiAKIC8v
IENvcmVHcmFwaGljcyBkZWZlcnJlZCB1cGRhdGVzIGFyZSBkaXNhYmxlZCBpZiBXZWJLaXRFbmFi
bGVDb2FsZXNjZWRVcGRhdGVzUHJlZmVyZW5jZUtleSBpcyBzZXQKIC8vIHRvIE5PLCBvciBoYXMg
bm8gdmFsdWUuICBGb3IgY29tcGF0aWJpbGl0eSB3aXRoIE1hYyBPUyBYIDEwLjQuNiwgZGVmZXJy
ZWQgdXBkYXRlcyBhcmUgT0ZGIGJ5CkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzY3LDYgKzM2Nyw3IEBAICsgKHZvaWQpaW5pdGlhbGl6
ZQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgIFdlYktpdEROU1ByZWZl
dGNoaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpOT10sICAgV2ViS2l0RnVsbFNjcmVlbkVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdE1lbW9yeUluZm9FbmFibGVk
UHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBX
ZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhMb25nTG9uZzpXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6bm9RdW90YSgp
XSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZVRvdGFsUXVvdGEsCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoTG9uZ0xvbmc6V2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6Om5vUXVv
dGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGEsCiAgICAgICAg
IG5pbF07CkBAIC0xMzI3LDYgKzEzMjgsMTYgQEAgLSAodm9pZClzZXRFZGl0aW5nQmVoYXZpb3I6
KFdlYktpdEVkaXRpbgogICAgIFtzZWxmIF9zZXRJbnRlZ2VyVmFsdWU6YmVoYXZpb3IgZm9yS2V5
OldlYktpdEVkaXRpbmdCZWhhdmlvclByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6
V2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXldOworfQorCistICh2b2lkKXNldFVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzOihCT09MKWZsYWcKK3sKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVl
OmZsYWcgZm9yS2V5OldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5XTsKK30KKwogLSAo
dm9pZClkaWRSZW1vdmVGcm9tV2ViVmlldwogewogICAgIEFTU0VSVChfcHJpdmF0ZS0+bnVtV2Vi
Vmlld3MpOwpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMiw0ICsyMTIsNyBAQCBAaW50ZXJmYWNlIFdl
YlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogLSAodm9pZClzZXRGdWxsU2NyZWVuRW5hYmxlZDoo
Qk9PTClmbGFnOwogLSAoQk9PTClmdWxsU2NyZWVuRW5hYmxlZDsKIAorLSAodm9pZClzZXRVc2VQ
cmVIVE1MNVBhcnNlclF1aXJrczooQk9PTClmbGFnOworLSAoQk9PTCl1c2VQcmVIVE1MNVBhcnNl
clF1aXJrczsKKwogQGVuZApJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDY3MjUx
KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0
NDcsNiArMTQ0Nyw3IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjoK
ICAgICBzZXR0aW5ncy0+c2V0RnVsbFNjcmVlbkVuYWJsZWQoW3ByZWZlcmVuY2VzIGZ1bGxTY3Jl
ZW5FbmFibGVkXSk7CiAjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TWVtb3J5SW5mb0VuYWJsZWQo
W3ByZWZlcmVuY2VzIG1lbW9yeUluZm9FbmFibGVkXSk7CisgICAgc2V0dGluZ3MtPnNldFVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKFtwcmVmZXJlbmNlcyB1c2VQcmVIVE1MNVBhcnNlclF1aXJrc10p
OwogCiAgICAgLy8gQXBwbGljYXRpb24gQ2FjaGUgUHJlZmVyZW5jZXMgYXJlIHN0b3JlZCBvbiB0
aGUgZ2xvYmFsIGNhY2hlIHN0b3JhZ2UgbWFuYWdlciwgbm90IGluIFNldHRpbmdzLgogICAgIFtX
ZWJBcHBsaWNhdGlvbkNhY2hlIHNldERlZmF1bHRPcmlnaW5RdW90YTpbcHJlZmVyZW5jZXMgYXBw
bGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YV1dOwpJbmRleDogV2ViS2l0L3F0L0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzcwMCkK
KysrIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAor
MjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFy
c2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAg
ICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlLgor
CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGluZ3NQ
cml2YXRlOjphcHBseSk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5ncyk6Cisg
ICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5oOgorCiAyMDEwLTA5LTE2ICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggYnVpbGQuCkluZGV4OiBXZWJLaXQvcXQv
QXBpL3F3ZWJzZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0FwaS9xd2Vic2V0
dGluZ3MuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYyLDYgKzI2MiwxMCBAQCB2b2lkIFFXZWJTZXR0aW5n
c1ByaXZhdGU6OmFwcGx5KCkKICAgICAgICAgc2V0dGluZ3MtPnNldE5lZWRzU2l0ZVNwZWNpZmlj
UXVpcmtzKHZhbHVlKTsKIAogICAgICAgICBzZXR0aW5ncy0+c2V0VXNlc1BhZ2VDYWNoZShXZWJD
b3JlOjpwYWdlQ2FjaGUoKS0+Y2FwYWNpdHkoKSk7CisKKyAgICAgICAgdmFsdWUgPSBhdHRyaWJ1
dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbC0+YXR0cmlidXRlcy52YWx1ZShR
V2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKSk7CisgICAgICAgIHNldHRpbmdz
LT5zZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyh2YWx1ZSk7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgUUxpc3Q8UVdlYlNldHRpbmdzUHJpdmF0ZSo+IHNldHRpbmdzID0gKjo6YWxsU2V0dGluZ3Mo
KTsKICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzZXR0aW5ncy5jb3VudCgpOyArK2kpCkBA
IC01MDIsNiArNTA2LDcgQEAgUVdlYlNldHRpbmdzOjpRV2ViU2V0dGluZ3MoKQogICAgIGQtPmF0
dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6VGlsZWRCYWNraW5nU3RvcmVFbmFibGVkLCBm
YWxzZSk7CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkLCBmYWxzZSk7CiAgICAgZC0+YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRp
bmdzOjpTaXRlU3BlY2lmaWNRdWlya3NFbmFibGVkLCB0cnVlKTsKKyAgICBkLT5hdHRyaWJ1dGVz
Lmluc2VydChRV2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1UGFyc2VyUXVpcmtzLCBmYWxzZSk7CiAg
ICAgZC0+b2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVvdGEgPSA1ICogMTAyNCAqIDEwMjQ7CiAgICAg
ZC0+ZGVmYXVsdFRleHRFbmNvZGluZyA9IFFMYXRpbjFTdHJpbmcoImlzby04ODU5LTEiKTsKIH0K
SW5kZXg6IFdlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvcXQvQXBp
L3F3ZWJzZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw3ICs3NSw4IEBAIHB1YmxpYzoK
ICAgICAgICAgVGlsZWRCYWNraW5nU3RvcmVFbmFibGVkLAogICAgICAgICBGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkLAogICAgICAgICBTaXRlU3BlY2lmaWNRdWlya3NFbmFibGVkLAotICAgICAgICBX
ZWJHTEVuYWJsZWQKKyAgICAgICAgV2ViR0xFbmFibGVkLAorICAgICAgICBVc2VQcmVIVE1MNVBh
cnNlclF1aXJrcwogICAgIH07CiAgICAgZW51bSBXZWJHcmFwaGljIHsKICAgICAgICAgTWlzc2lu
Z0ltYWdlR3JhcGhpYywKSW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzcwMCkKKysrIFdlYktpdC93aW4vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDktMTcgIEFuZHkg
RXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tl
biBkdWUgdG8gPHRhZzx0YWc+IHBhcnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2Vi
S2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIEludGVy
ZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViUHJlZmVyZW5jZXM6OnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKToKKyAgICAgICAgKFdlYlBy
ZWZlcmVuY2VzOjpzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6CisgICAgICAgICogV2ViUHJl
ZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5v
dGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTAtMDktMTYgIERhcmluIEFkbGVyICA8ZGFy
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4
OiBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDY3MjUxKQorKysg
V2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTQ3LDMgKzE0Nyw1IEBACiAjZGVmaW5lIFdlYktpdEROU1ByZWZldGNoaW5nRW5hYmxlZFByZWZl
cmVuY2VLZXkgIldlYktpdEROU1ByZWZldGNoaW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRN
ZW1vcnlJbmZvRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdE1lbW9yeUluZm9FbmFibGVkIgor
CisjZGVmaW5lIFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5ICJXZWJLaXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyIKSW5kZXg6IFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiA2NzI1
MSkKKysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDk5LDYgKzE0OTksMTkgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0TWVtb3J5SW5mb0Vu
YQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjp1c2VQcmVI
VE1MNVBhcnNlclF1aXJrcyhCT09MKiBlbmFibGVkKQoreworICAgICplbmFibGVkID0gYm9vbFZh
bHVlRm9yS2V5KENGU1RSKFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5KSk7CisgICAg
cmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2Vi
S2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXkpLCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19P
SzsKK30KKworCiB2b2lkIFdlYlByZWZlcmVuY2VzOjp3aWxsQWRkVG9XZWJWaWV3KCkKIHsKICAg
ICArK21fbnVtV2ViVmlld3M7CkluZGV4OiBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiA2NzI1MSkK
KysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDI2LDYg
KzQyNiw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0TWVtb3J5SW5mb0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIG1lbW9yeUluZm9FbmFibGVkKEJPT0wqKTsKIAorICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhCT09MKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MoQk9PTCopOworCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIAogICAgIC8vIFRoaXMgbWV0aG9k
IGFjY2Vzc2VzIGEgZGlmZmVyZW50IHByZWZlcmVuY2Uga2V5IHRoYW4gZGV2ZWxvcGVyRXh0cmFz
RW5hYmxlZC4KSW5kZXg6IFdlYktpdC93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXQvd2luL1dlYlZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzYxLDYgKzQ3NjEsMTEgQEAgSFJFU1VMVCBXZWJW
aWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgc2V0
dGluZ3MtPnNldE1lbW9yeUluZm9FbmFibGVkKGVuYWJsZWQpOwogCisgICAgaHIgPSBwcmVmc1By
aXZhdGUtPnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVE
KGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLT5zZXRVc2VQcmVIVE1MNVBh
cnNlclF1aXJrcyhlbmFibGVkKTsKKwogICAgIGlmICghbV9jbG9zZVdpbmRvd1RpbWVyKQogICAg
ICAgICBtX21haW5GcmFtZS0+aW52YWxpZGF0ZSgpOyAvLyBGSVhNRQogCkluZGV4OiBXZWJLaXQv
d2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lv
biA2NzI1MSkKKysrIFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDQgKzExOCw3IEBAIGludGVyZmFjZSBJV2ViUHJl
ZmVyZW5jZXNQcml2YXRlIDogSVVua24KIAogICAgIEhSRVNVTFQgbWVtb3J5SW5mb0VuYWJsZWQo
W291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNldE1lbW9yeUluZm9F
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKworICAgIEhSRVNVTFQgdXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKKyAgICBIUkVTVUxUIHNldFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzKFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5kZXg6IFdlYktp
dFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDY3NzAwKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpvdmVy
cmlkZVByZWZlcmVuY2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3MpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNl
dERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9n
dGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoY29weVdlYlNldHRpbmdL
ZXkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAg
ICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
UGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0
VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3Zl
cnJpZGVQcmVmZXJlbmNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRl
clRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisK
IDIwMTAtMDktMTYgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
CShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE4NSw2ICsxMTg1
LDggQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZQogICAgICAgICBt
X3NoZWxsLT53ZWJWaWV3KCktPnNldFRhYnNUb0xpbmtzKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUp
KTsKICAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdFdlYkdMRW5hYmxlZCIpCiAgICAgICAgIHNl
dHRpbmdzLT5zZXRFeHBlcmltZW50YWxXZWJHTEVuYWJsZWQoY3BwVmFyaWFudFRvQm9vbCh2YWx1
ZSkpOworICAgIGVsc2UgaWYgKGtleSA9PSAiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3Mi
KQorICAgICAgICBzZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoY3BwVmFyaWFu
dFRvQm9vbCh2YWx1ZSkpOwogICAgIGVsc2UgewogICAgICAgICBzdHJpbmcgbWVzc2FnZSgiSW52
YWxpZCBuYW1lIGZvciBwcmVmZXJlbmNlOiAiKTsKICAgICAgICAgbWVzc2FnZS5hcHBlbmQoa2V5
KTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsLmNwcAkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzMsNiArMjMzLDgg
QEAgdm9pZCBUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3MoV2ViVmlldwogI2VuZGlmCiAgICAg
Ly8gRklYTUU6IGNyYnVnLmNvbS81MTg3OQogICAgIHNldHRpbmdzLT5zZXRBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7CisKKyAgICBzZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3MoZmFsc2UpOwogfQogCiB2b2lkIFRlc3RTaGVsbDo6cnVuRmlsZVRlc3QoY29u
c3QgVGVzdFBhcmFtcyYgcGFyYW1zKQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiA2NzI1MSkKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMzNyw2ICszMzcsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0
ZW50VmFsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtamF2YS1hcHBsZXQiLCBGQUxTRSwKICAg
ICAgICAgICAgICAgICAgImVuYWJsZS1wbHVnaW5zIiwgVFJVRSwKICAgICAgICAgICAgICAgICAg
ImVkaXRpbmctYmVoYXZpb3IiLCBXRUJLSVRfRURJVElOR19CRUhBVklPUl9NQUMsCisgICAgICAg
ICAgICAgICAgICJlbmFibGUtcHJlLWh0bWw1LXBhcnNlci1xdWlya3MiLCBGQUxTRSwKICAgICAg
ICAgICAgICAgICAgTlVMTCk7CiAKICAgICB3ZWJraXRfd2ViX2ZyYW1lX2NsZWFyX21haW5fZnJh
bWVfbmFtZShtYWluRnJhbWUpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCShyZXZpc2lvbiA2
NzI1MSkKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJv
bGxlckd0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAgc3RhdGljIGdjaGFy
KiBjb3B5V2ViU2V0dGluZ0tleShnY2hhciogcAogICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0
KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0RW5hYmxlQ2FyZXRCcm93c2luZyIpLCBnX3N0cmR1
cCgiZW5hYmxlLWNhcmV0LWJyb3dzaW5nIikpOwogICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0
KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiKSwg
Z19zdHJkdXAoImVuYWJsZS1wYWdlLWNhY2hlIikpOwogICAgICAgICBnX2hhc2hfdGFibGVfaW5z
ZXJ0KGtleVRhYmxlLCBnX3N0cmR1cCgiV2ViS2l0UGx1Z2luc0VuYWJsZWQiKSwgZ19zdHJkdXAo
ImVuYWJsZS1wbHVnaW5zIikpOworICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KGtleVRhYmxl
LCBnX3N0cmR1cCgiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiKSwgZ19zdHJkdXAoImVu
YWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIpKTsKICAgICB9CiAKICAgICByZXR1cm4gZ19z
dHJkdXAoc3RhdGljX2Nhc3Q8Z2NoYXIqPihnX2hhc2hfdGFibGVfbG9va3VwKGtleVRhYmxlLCBw
cmVmZXJlbmNlS2V5KSkpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gNjcyNTEpCisrKyBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1
Nyw2ICs0NTcsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsCiAg
ICAgW3ByZWZlcmVuY2VzIHNldFVzZXNQYWdlQ2FjaGU6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRXZWJHTEVuYWJsZWQ6Tk9dOworICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrczpOT107CiAKICAgICBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tp
ZVN0b3JhZ2VdIHNldENvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lP
bmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCShyZXZpc2lvbiA2NzI1MSkK
KysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTEsNiArMTkxLDcgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRp
bmdzKCkKICAgICBzZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlBsdWdp
bnNFbmFibGVkKTsKICAgICBzZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6
OkphdmFzY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQpOwogICAgIHNldHRpbmdzKCktPnJlc2V0QXR0
cmlidXRlKFFXZWJTZXR0aW5nczo6QXV0b0xvYWRJbWFnZXMpOworICAgIHNldHRpbmdzKCktPnJl
c2V0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOwogCiAg
ICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldENhcmV0QnJvd3NpbmdFbmFibGVk
KGZhbHNlKTsKICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZChmYWxzZSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAkocmV2aXNpb24gNjcy
NTEpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTczLDYgKzU3Myw4IEBAIHZvaWQgTGF5b3V0VGVz
dENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmUKICAgICAgICAgc2V0dGluZ3MtPnNldEF0dHJpYnV0
ZShRV2ViU2V0dGluZ3M6OlBsdWdpbnNFbmFibGVkLCB2YWx1ZS50b0Jvb2woKSk7CiAgICAgZWxz
ZSBpZiAobmFtZSA9PSAiV2ViS2l0V2ViR0xFbmFibGVkIikKICAgICAgICAgc2V0dGluZ3MtPnNl
dEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OldlYkdMRW5hYmxlZCwgdmFsdWUudG9Cb29sKCkpOwor
ICAgIGVsc2UgaWYgKG5hbWUgPT0gIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIikKKyAg
ICAgICAgc2V0dGluZ3MtPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1UGFy
c2VyUXVpcmtzLCB2YWx1ZS50b0Jvb2woKSk7CiAgICAgZWxzZQogICAgICAgICBwcmludGYoIkVS
Uk9SOiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKCkgZG9lcyBub3Qg
c3VwcG9ydCB0aGUgJyVzJyBwcmVmZXJlbmNlXG4iLAogICAgICAgICAgICAgbmFtZS50b0xhdGlu
MSgpLmRhdGEoKSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDY3MjUxKQorKysgV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMw
LDYgKzgzMCw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWwKICAg
ICAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7CiAgICAgICAg
IHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAgICAgICAg
IHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUp
OworICAgICAgICBwcmVmc1ByaXZhdGUtPnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKEZBTFNF
KTsKICAgICB9CiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiAKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDY3NzAwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJF
R1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBh
cnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDA5NjEKKworICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVp
cmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0
cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Bh
cnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFy
c2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
cGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRh
Zy1uYW1lLXN0YXRlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTE2ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEphbWVzIFJvYmlu
c29uLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFm
dGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRl
ci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2Vy
IHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
IHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQwOTYxIGZvciBkZXRhaWxzLgorCitZb3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6
CisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXIt
cXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXIt
YXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUt
dmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKzxz
Y3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzIiwgIjEiKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIH0KKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBw
cmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIj5odHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjE8L2E+IGZvciBkZXRhaWxzLjxwPgorPHA+WW91IHNo
b3VsZCBzZWUgJ1BBU1MnIGJlbG93OjwvcD4KKworPGRpdj4KKyAgICA8ZGl2IHN0eWxlPSJ2aXNp
YmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcCBpZD0iZm9vIjwvZGl2PgorICAgIFBBU1MK
KzwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1x
dWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3Jl
LWF0dHJpYnV0ZS1uYW1lLXN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0
ZS1uYW1lLXN0YXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitU
aGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVk
IHdoZW4gdGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0
LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIGZvciBk
ZXRhaWxzLgorCitZb3Ugc2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6CisKK1BBU1MKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJp
YnV0ZS1uYW1lLXN0YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTYgQEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2Uo
IldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIiwgIjEiKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0PgorCis8cD5UaGlzIHRl
c3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4g
dGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUg
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIj5o
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjE8L2E+IGZvciBkZXRh
aWxzLjxwPgorPHA+WW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OjwvcD4KKworPGRpdj4KKyAg
ICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcAorICAgIDwv
ZGl2PgorICAgIFBBU1MKKzwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJl
LWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1k
b2N1bWVudC1mcmFnbWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50LWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3RzIHRoYXQg
Y2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYmtp
dFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxIGZvciBkZXRhaWxzLgorCitZb3Ug
c2hvdWxkIHNlZSAnUEFTUycgYmVsb3c6CisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
cGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
LWRvY3VtZW50LWZyYWdtZW50Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAKKzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIiwgIjEiKTsKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0Pgor
Cis8cD5UaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBh
cHBsaWVkIHdoZW4gdGhlIFdlYmtpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2Ug
aXMgc2V0LiBTZWUgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQwOTYxIj5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjE8
L2E+IGZvciBkZXRhaWxzLjxwPgorPHA+WW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OjwvcD4K
KworPGRpdiBpZD0id3JhcHBlciI+Cis8L2Rpdj4KKworPHNjcmlwdD4KKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgid3JhcHBlciIpLmlubmVySFRNTCA9ICI8ZGl2IHN0eWxlPSd2aXNpYmls
aXR5OmhpZGRlbic+PHA+PC9wPC9kaXY+UEFTUyI7Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1s
NS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFt
ZS1zdGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0
ZXN0cyB0aGF0IGNlcnRhaW4gcHJlLUhUTUw1IHBhcnNlciBydWxlcyBhcmUgYXBwbGllZCB3aGVu
IHRoZSBXZWJraXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlIGlzIHNldC4gU2Vl
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MSBmb3IgZGV0YWls
cy4KKworWW91IHNob3VsZCBzZWUgJ1BBU1MnIGJlbG93OgorCitQQVNTCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0YXRlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNl
ci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIub3ZlcnJp
ZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIsICIxIik7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB9Cis8L3NjcmlwdD4K
KworPHA+VGhpcyB0ZXN0cyB0aGF0IGNlcnRhaW4gcHJlLUhUTUw1IHBhcnNlciBydWxlcyBhcmUg
YXBwbGllZCB3aGVuIHRoZSBXZWJraXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNl
IGlzIHNldC4gU2VlIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00MDk2MSI+aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYx
PC9hPiBmb3IgZGV0YWlscy48cD4KKzxwPllvdSBzaG91bGQgc2VlICdQQVNTJyBiZWxvdzo8L3A+
CisKKzxkaXY+CisgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgorICAgICAgICA8
cD48L3A8L2Rpdj4KKyAgICBQQVNTCis8L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67984</attachid>
            <date>2010-09-17 18:01:24 -0700</date>
            <delta_ts>2010-09-19 23:58:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100917180122.patch</filename>
            <type>text/plain</type>
            <size>39179</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzczNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDAgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBUZXN0OiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
cy5odG1sCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIp
OgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MUHJlbG9hZFNjYW5uZXI6OkhUTUxQcmVsb2FkU2Nhbm5lcik6CisgICAg
ICAgICogaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVG9rZW5pemVyOjpIVE1MVG9rZW5pemVyKTogSW5pdGlhbGl6ZQorICAgICAgICBtX3VzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzIHRvIHNldHRpbmdzLT51c2VQcmVIVE1MNVBhcnNlclF1aXJrcygp
IGlmCisgICAgICAgIHNldHRpbmdzIGlzIG5vbi1OVUxMLgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRva2VuaXplcjo6bmV4dFRva2VuKTogSWYgdGhlIHF1aXJrIGlzIGVuYWJsZWQgYW5kIGFuCisg
ICAgICAgIHVuZXhwZWN0ZWQgJzwnIGlzIGVuY291bnRlcmVkIGluIGNlcnRhaW4gc3RhdGVzLCBl
bWl0IHRoZSBjdXJyZW50IHRva2VuCisgICAgICAgIGFuZCByZXByb2Nlc3MgdGhlICc8JyBhcyB0
aGUgc3RhcnQgb2YgYSBuZXcgdG9rZW4uCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRva2Vu
aXplci5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRva2VuaXplcjo6Y3JlYXRlKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVmlld1NvdXJjZVBhcnNlcjo6SFRNTFZpZXdTb3VyY2VQYXJzZXIpOiBDb25zdHJ1
Y3QKKyAgICAgICAgSFRNTFRva2VuaXplciB3aXRoIGEgU2V0dGluZ3Mgb2JqZWN0LgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRp
bmdzKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0
aW5nczo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKToKKwogMjAxMC0wOS0xNyAgTHVjYXMgRGUg
TWFyY2hpICA8bHVjYXMuZGVtYXJjaGlAcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgYnVpbGQgZml4LiBBZGQgZmlsZXMgbWlzc2VkIGluIHI2NzcwNC4KSW5kZXg6IFdlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3NzM3KQor
KysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03OSw3ICs3OSw3IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIHRva2VuaXplclN0YXRl
Rm9yQ28KIAogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERvY3Vt
ZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgOiBTY3JpcHRhYmxlRG9jdW1l
bnRQYXJzZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVh
dGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+
c2V0dGluZ3MoKSkpCiAgICAgLCBtX3NjcmlwdFJ1bm5lcihIVE1MU2NyaXB0UnVubmVyOjpjcmVh
dGUoZG9jdW1lbnQsIHRoaXMpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6
OmNyZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZG9jdW1lbnQsIHJlcG9ydEVycm9ycykpCiAgICAg
LCBtX3BhcnNlclNjaGVkdWxlcihIVE1MUGFyc2VyU2NoZWR1bGVyOjpjcmVhdGUodGhpcykpCkBA
IC05Miw3ICs5Miw3IEBAIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50UGFyc2VyKEgK
IC8vIG1pbmltaXplIGNvZGUgZHVwbGljYXRpb24gYmV0d2VlbiB0aGVzZSBjb25zdHJ1Y3RvcnMu
CiBIVE1MRG9jdW1lbnRQYXJzZXI6OkhUTUxEb2N1bWVudFBhcnNlcihEb2N1bWVudEZyYWdtZW50
KiBmcmFnbWVudCwgRWxlbWVudCogY29udGV4dEVsZW1lbnQsIEZyYWdtZW50U2NyaXB0aW5nUGVy
bWlzc2lvbiBzY3JpcHRpbmdQZXJtaXNzaW9uKQogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFy
c2VyKGZyYWdtZW50LT5kb2N1bWVudCgpKQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXpl
cjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoZnJh
Z21lbnQtPmRvY3VtZW50KCktPnNldHRpbmdzKCkpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1M
VHJlZUJ1aWxkZXI6OmNyZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZnJhZ21lbnQsIGNvbnRleHRF
bGVtZW50LCBzY3JpcHRpbmdQZXJtaXNzaW9uKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxz
ZSkKICAgICAsIG1fd3JpdGVOZXN0aW5nTGV2ZWwoMCkKSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDY3NzM3KQorKysgV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAs
NyArMTIwLDcgQEAgcHJpdmF0ZToKIEhUTUxQcmVsb2FkU2Nhbm5lcjo6SFRNTFByZWxvYWRTY2Fu
bmVyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9jdW1lbnQoZG9jdW1lbnQpCiAgICAg
LCBtX2Nzc1NjYW5uZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVy
OjpjcmVhdGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1
bWVudC0+c2V0dGluZ3MoKSkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0
eWxlKGZhbHNlKQogewpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCShy
ZXZpc2lvbiA2NzczNykKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJIVE1MVHJlZUJ1aWxk
ZXIuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5o
IgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4K
QEAgLTEwMyw4ICsxMDQsOSBAQCBpbmxpbmUgYm9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhU
TUxUCiAKIH0KIAotSFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcigpCitIVE1MVG9rZW5pemVy
OjpIVE1MVG9rZW5pemVyKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICA6IG1faW5wdXRTdHJlYW1Q
cmVwcm9jZXNzb3IodGhpcykKKyAgICAsIG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3Moc2V0dGlu
Z3MgJiYgc2V0dGluZ3MtPnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKCkpCiB7CiAgICAgcmVzZXQo
KTsKIH0KQEAgLTQzNiw2ICs0MzgsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihT
ZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0
ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmIChtX3VzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0
QW5kUmVjb25zdW1lSW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FT
Q0lJVXBwZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dl
ckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKQEAgLTg3
Nyw2ICs4ODEsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAg
ICAgICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAg
IGVsc2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4o
c291cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmIChtX3VzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1l
SW4oc291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2Mp
KSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hZGROZXdBdHRyaWJ1dGUoKTsKICAgICAgICAgICAg
IG1fdG9rZW4tPmJlZ2luQXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29u
c3VtZWQoKSk7CkBAIC05MDksNiArOTE1LDkgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9r
ZW4oU2VnbWVudGVkUwogICAgICAgICB9IGVsc2UgaWYgKGNjID09ICc+JykgewogICAgICAgICAg
ICAgbV90b2tlbi0+ZW5kQXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29u
c3VtZWQoKSk7CiAgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0
YVN0YXRlKTsKKyAgICAgICAgfSBlbHNlIGlmIChtX3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzICYm
IGNjID09ICc8JykgeworICAgICAgICAgICAgbV90b2tlbi0+ZW5kQXR0cmlidXRlTmFtZShzb3Vy
Y2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQoKSk7CisgICAgICAgICAgICByZXR1cm4gZW1p
dEFuZFJlY29uc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKICAgICAgICAgfSBlbHNlIGlmIChp
c0FTQ0lJVXBwZXIoY2MpKSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb0F0dHJpYnV0
ZU5hbWUodG9Mb3dlckNhc2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oQXR0cmlidXRl
TmFtZVN0YXRlKTsKQEAgLTkzNCw2ICs5NDMsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRU
b2tlbihTZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZBTkNFX1RPKEJlZm9yZUF0dHJpYnV0ZVZh
bHVlU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAgICAgICByZXR1
cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKKyAgICAgICAgZWxzZSBpZiAo
bV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyAmJiBjYyA9PSAnPCcpCisgICAgICAgICAgICByZXR1
cm4gZW1pdEFuZFJlY29uc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKICAgICAgICAgZWxzZSBp
ZiAoaXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YWRkTmV3QXR0cmli
dXRlKCk7CiAgICAgICAgICAgICBtX3Rva2VuLT5iZWdpbkF0dHJpYnV0ZU5hbWUoc291cmNlLm51
bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKCkpOwpAQCAtMTA3Niw2ICsxMDg3LDggQEAgYm9vbCBI
VE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwogICAgICAgICAgICAgQURWQU5DRV9U
TyhTZWxmQ2xvc2luZ1N0YXJ0VGFnU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9PSAnPicp
CiAgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsK
KyAgICAgICAgZWxzZSBpZiAobV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyAmJiBjYyA9PSAnPCcp
CisgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlY29uc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRl
KTsKICAgICAgICAgZWxzZSBpZiAoY2MgPT0gSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3I6OmVuZE9m
RmlsZU1hcmtlcikgewogICAgICAgICAgICAgcGFyc2VFcnJvcigpOwogICAgICAgICAgICAgUkVD
T05TVU1FX0lOKERhdGFTdGF0ZSk7CkluZGV4OiBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tl
bml6ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIu
aAkocmV2aXNpb24gNjc3MzcpCisrKyBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBFbGVtZW50OwogY2xhc3MgRnJhbWU7CiBjbGFzcyBIVE1MVG9rZW47CitjbGFzcyBTZXR0
aW5nczsKIAogY2xhc3MgSFRNTFRva2VuaXplciA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJs
aWM6CkBAIC0xMTksNyArMTIwLDcgQEAgcHVibGljOgogICAgICAgICBDREFUQVNlY3Rpb25Eb3Vi
bGVSaWdodFNxdWFyZUJyYWNrZXRTdGF0ZSwKICAgICB9OwogCi0gICAgc3RhdGljIFBhc3NPd25Q
dHI8SFRNTFRva2VuaXplcj4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxUb2tl
bml6ZXIpOyB9CisgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFRva2VuaXplcj4gY3JlYXRlKFNl
dHRpbmdzKiBzZXR0aW5ncykgeyByZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxUb2tlbml6ZXIoc2V0
dGluZ3MpKTsgfQogICAgIH5IVE1MVG9rZW5pemVyKCk7CiAKICAgICB2b2lkIHJlc2V0KCk7CkBA
IC0yNTQsNyArMjU1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCBtX3NraXBOZXh0TmV3TGlu
ZTsKICAgICB9OwogCi0gICAgSFRNTFRva2VuaXplcigpOworICAgIEhUTUxUb2tlbml6ZXIoU2V0
dGluZ3MqKTsKIAogICAgIGlubGluZSBib29sIHByb2Nlc3NFbnRpdHkoU2VnbWVudGVkU3RyaW5n
Jik7CiAKQEAgLTMwNyw2ICszMDgsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gaHR0cDovL3d3dy53
aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUt
aW5wdXQtc3RyZWFtCiAgICAgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgbV9pbnB1dFN0cmVhbVBy
ZXByb2Nlc3NvcjsKKyAgICAKKyAgICBib29sIG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3M7CiB9
OwogCiB9CkluZGV4OiBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2Vy
LmNwcAkocmV2aXNpb24gNjc3MzcpCisrKyBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291
cmNlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIEhUTUxWaWV3U291cmNlUGFyc2VyOjpIVE1MVmlld1NvdXJjZVBhcnNlcihI
VE1MVmlld1NvdXJjZURvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IERlY29kZWREYXRhRG9jdW1l
bnRQYXJzZXIoZG9jdW1lbnQpCi0gICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVh
dGUoKSkKKyAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZShkb2N1bWVudC0+
c2V0dGluZ3MoKSkpCiB7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gNjc3MzcpCisr
KyBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDUsNiArMTQ1
LDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAjZW5kaWYKICAgICAsIG1fbWVt
b3J5SW5mb0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb24o
ZmFsc2UpCisgICAgLCBtX3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzKGZhbHNlKQogewogICAgIC8v
IEEgRnJhbWUgbWF5IG5vdCBoYXZlIGJlZW4gY3JlYXRlZCB5ZXQsIHNvIHdlIGluaXRpYWxpemUg
dGhlIEF0b21pY1N0cmluZyAKICAgICAvLyBoYXNoIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0LgpJ
bmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgJKHJldmlzaW9uIDY3NzM3KQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMyNCw2ICszMjQsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIC8vIGFuZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQwOTA4CiAgICAgICAgIHZvaWQgc2V0
SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKSB7IG1faW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbiA9IGZsYWc7IH0KICAgICAgICAgYm9vbCBpbnRlcmFjdGl2ZUZvcm1W
YWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJhY3RpdmVGb3JtVmFsaWRh
dGlvbjsgfQorICAgICAgICAKKyAgICAgICAgdm9pZCBzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJr
cyhib29sIGZsYWcpIHsgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyA9IGZsYWc7IH0KKyAgICAg
ICAgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fdXNlUHJl
SFRNTDVQYXJzZXJRdWlya3M7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIFBhZ2UqIG1fcGFn
ZTsKQEAgLTQxMSw2ICs0MTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjZW5kaWYKICAgICAg
ICAgYm9vbCBtX21lbW9yeUluZm9FbmFibGVkOiAxOwogICAgICAgICBib29sIG1faW50ZXJhY3Rp
dmVGb3JtVmFsaWRhdGlvbjogMTsKKyAgICAgICAgYm9vbCBtX3VzZVByZUhUTUw1UGFyc2VyUXVp
cmtzOiAxOwogCiAjaWYgVVNFKFNBRkFSSV9USEVNRSkKICAgICAgICAgc3RhdGljIGJvb2wgZ1No
b3VsZFBhaW50TmF0aXZlQ29udHJvbHM7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3NzM3
KQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE3IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChI
VE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5n
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYx
CisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZl
cmVuY2UuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBzcmMv
V2ViU2V0dGluZ3NJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpz
ZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6CisgICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1w
bC5oOgorCiAyMDEwLTA5LTE2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWls
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNjc2OTMuCkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCShyZXZpc2lvbiA2NzczNykKKysrIFdlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsNiAr
OTMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWQyZENh
bnZhc0VuYWJsZWQoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRNZW1vcnlJbmZvRW5h
YmxlZChib29sKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldFVzZVByZUhUTUw1UGFyc2VyUXVp
cmtzKGJvb2wpID0gMDsKIAogcHJvdGVjdGVkOgogICAgIH5XZWJTZXR0aW5ncygpIHsgfQpJbmRl
eDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAkocmV2aXNpb24gNjc3Mzcp
CisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4OSw0ICsyODksOSBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0TWVtb3J5SW5m
b0VuYWJsCiAgICAgbV9zZXR0aW5ncy0+c2V0TWVtb3J5SW5mb0VuYWJsZWQoZW5hYmxlZCk7CiB9
CiAKK3ZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhib29s
IGVuYWJsZWQpCit7CisgICAgbV9zZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3Mo
ZW5hYmxlZCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlNldHRpbmdzSW1wbC5oCShyZXZpc2lvbiA2NzczNykKKysrIFdlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTg5LDYgKzg5LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxl
ZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQo
Ym9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldE1lbW9yeUluZm9FbmFibGVkKGJvb2wpOworICAg
IHZpcnR1YWwgdm9pZCBzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhib29sKTsKIAogcHJpdmF0
ZToKICAgICBXZWJDb3JlOjpTZXR0aW5ncyogbV9zZXR0aW5nczsKSW5kZXg6IFdlYktpdC9ndGsv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiA2
NzczNykKKysrIFdlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKEhU
TUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNpbmcgY2hhbmdl
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEK
KworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVy
ZW5jZS4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAg
ICh3ZWJraXRfd2ViX3NldHRpbmdzX2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X3dlYl9z
ZXR0aW5nc19jb3B5KToKKwogMjAxMC0wOS0xNiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAkocmV2aXNpb24gNjc3MzcpCisrKyBX
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEwOCw2ICsxMDgsNyBAQCBzdHJ1Y3QgX1dlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSB7CiAgICAg
Z2Jvb2xlYW4gZW5hYmxlX3BhZ2VfY2FjaGU7CiAgICAgZ2Jvb2xlYW4gYXV0b19yZXNpemVfd2lu
ZG93OwogICAgIGdib29sZWFuIGVuYWJsZV9qYXZhX2FwcGxldDsKKyAgICBnYm9vbGVhbiBlbmFi
bGVfcHJlX2h0bWw1X3BhcnNlcl9xdWlya3M7CiB9OwogCiAjZGVmaW5lIFdFQktJVF9XRUJfU0VU
VElOR1NfR0VUX1BSSVZBVEUob2JqKSAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmop
LCBXRUJLSVRfVFlQRV9XRUJfU0VUVElOR1MsIFdlYktpdFdlYlNldHRpbmdzUHJpdmF0ZSkpCkBA
IC0xNTcsNyArMTU4LDggQEAgZW51bSB7CiAgICAgUFJPUF9FTkFCTEVfU0lURV9TUEVDSUZJQ19R
VUlSS1MsCiAgICAgUFJPUF9FTkFCTEVfUEFHRV9DQUNIRSwKICAgICBQUk9QX0FVVE9fUkVTSVpF
X1dJTkRPVywKLSAgICBQUk9QX0VOQUJMRV9KQVZBX0FQUExFVAorICAgIFBST1BfRU5BQkxFX0pB
VkFfQVBQTEVULAorICAgIFBST1BfRU5BQkxFX1BSRV9IVE1MNV9QQVJTRVJfUVVJUktTCiB9Owog
CiAvLyBDcmVhdGUgYSBkZWZhdWx0IHVzZXIgYWdlbnQgc3RyaW5nCkBAIC04NjMsNiArODY1LDE1
IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfc2V0dGluZ3NfY2xhc3NfaW4KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFn
cykpOwogCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0X2NsYXNz
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9FTkFCTEVfUFJFX0hU
TUw1X1BBUlNFUl9RVUlSS1MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3BhcmFtX3NwZWNfYm9vbGVhbigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJlbmFibGUtcHJlLWh0bWw1LXBhcnNlci1xdWlya3MiLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXygiRW5hYmxlIFByZS1IVE1MNSBQYXJzZXIgUXVpcmtzIiksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgcXVpcmtzIHRoYXQgd2Vy
ZSBwcmVzZW50IHByaW9yIHRvIGxhbmRpbmcgdGhlIEhUTUw1IHBhcnNlci4iKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmbGFncykpOworCiAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGts
YXNzLCBzaXplb2YoV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlKSk7CiB9CiAKQEAgLTEyOTcsNiAr
MTMwOCw3IEBAIFdlYktpdFdlYlNldHRpbmdzKiB3ZWJraXRfd2ViX3NldHRpbmdzX2MKICAgICAg
ICAgICAgICAgICAgImVuYWJsZS1wYWdlLWNhY2hlIiwgcHJpdi0+ZW5hYmxlX3BhZ2VfY2FjaGUs
CiAgICAgICAgICAgICAgICAgICJhdXRvLXJlc2l6ZS13aW5kb3ciLCBwcml2LT5hdXRvX3Jlc2l6
ZV93aW5kb3csCiAgICAgICAgICAgICAgICAgICJlbmFibGUtamF2YS1hcHBsZXQiLCBwcml2LT5l
bmFibGVfamF2YV9hcHBsZXQsCisgICAgICAgICAgICAgICAgICJlbmFibGUtcHJlLWh0bWw1LXBh
cnNlci1xdWlya3MiLCBwcml2LT5lbmFibGVfcHJlX2h0bWw1X3BhcnNlcl9xdWlya3MsCiAgICAg
ICAgICAgICAgICAgIE5VTEwpKTsKIAogICAgIHJldHVybiBjb3B5OwpJbmRleDogV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDY3NzM3KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyMSBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAo
SFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2luZyBjaGFu
Z2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2
MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVm
ZXJlbmNlLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVm
ZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3
IF9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRpb246XSk6CisKIDIwMTAtMDktMTcgIENocmlz
IE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgJKHJldmlzaW9uIDY3NzM3KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDcgQEAKICNk
ZWZpbmUgV2ViS2l0Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDYWNoZU1vZGVsUHJl
ZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0VGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25C
ZWhhdmlvclByZWZlcmVuY2VLZXkgQCJXZWJLaXRUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lv
bkJlaGF2aW9yUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RWRpdGluZ0JlaGF2aW9yUHJl
ZmVyZW5jZUtleSBAIldlYktpdEVkaXRpbmdCZWhhdmlvciIKKyNkZWZpbmUgV2ViS2l0VXNlUHJl
SFRNTDVQYXJzZXJRdWlya3NLZXkgQCJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIKIAog
Ly8gQ29yZUdyYXBoaWNzIGRlZmVycmVkIHVwZGF0ZXMgYXJlIGRpc2FibGVkIGlmIFdlYktpdEVu
YWJsZUNvYWxlc2NlZFVwZGF0ZXNQcmVmZXJlbmNlS2V5IGlzIHNldAogLy8gdG8gTk8sIG9yIGhh
cyBubyB2YWx1ZS4gIEZvciBjb21wYXRpYmlsaXR5IHdpdGggTWFjIE9TIFggMTAuNC42LCBkZWZl
cnJlZCB1cGRhdGVzIGFyZSBPRkYgYnkKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0JKHJldmlzaW9uIDY3NzM3KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNjgsNiArMzY4LDcgQEAgKyAodm9pZClpbml0aWFs
aXplCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0RE5TUHJl
ZmV0Y2hpbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOk5PXSwgICBXZWJLaXRGdWxsU2NyZWVuRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0TWVtb3J5SW5mb0VuYWJs
ZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAg
IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aExvbmdMb25nOldlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpub1F1b3Rh
KCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90YSwKICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhMb25nTG9uZzpXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6bm9R
dW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YSwKICAgICAg
ICAgbmlsXTsKQEAgLTEzNDEsNiArMTM0MiwxNiBAQCAtICh2b2lkKXNldEVkaXRpbmdCZWhhdmlv
cjooV2ViS2l0RWRpdGluCiAgICAgW3NlbGYgX3NldEludGVnZXJWYWx1ZTpiZWhhdmlvciBmb3JL
ZXk6V2ViS2l0RWRpdGluZ0JlaGF2aW9yUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpdXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTpXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleV07Cit9CisKKy0gKHZvaWQpc2V0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3M6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFs
dWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXldOworfQorCiAt
ICh2b2lkKWRpZFJlbW92ZUZyb21XZWJWaWV3CiB7CiAgICAgQVNTRVJUKF9wcml2YXRlLT5udW1X
ZWJWaWV3cyk7CkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCShyZXZpc2lvbiA2NzczNykKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjE3LDQgKzIxNyw3IEBAIEBpbnRlcmZhY2Ug
V2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFibGVk
OihCT09MKWZsYWc7CiAtIChCT09MKWZ1bGxTY3JlZW5FbmFibGVkOwogCistICh2b2lkKXNldFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzOihCT09MKWZsYWc7CistIChCT09MKXVzZVByZUhUTUw1UGFy
c2VyUXVpcmtzOworCiBAZW5kCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gNjc3
MzcpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTQ1Miw2ICsxNDUyLDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9u
OgogICAgIHNldHRpbmdzLT5zZXRGdWxsU2NyZWVuRW5hYmxlZChbcHJlZmVyZW5jZXMgZnVsbFNj
cmVlbkVuYWJsZWRdKTsKICNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRNZW1vcnlJbmZvRW5hYmxl
ZChbcHJlZmVyZW5jZXMgbWVtb3J5SW5mb0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy0+c2V0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MoW3ByZWZlcmVuY2VzIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
XSk7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBQcmVmZXJlbmNlcyBhcmUgc3RvcmVkIG9u
IHRoZSBnbG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5hZ2VyLCBub3QgaW4gU2V0dGluZ3MuCiAgICAg
W1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVsdE9yaWdpblF1b3RhOltwcmVmZXJlbmNlcyBh
cHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhXV07CkluZGV4OiBXZWJLaXQvcXQvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3NzM3
KQorKysgV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChIVE1MNSBQ
YXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisKKyAg
ICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2Uu
CisKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKFFXZWJTZXR0aW5n
c1ByaXZhdGU6OmFwcGx5KToKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6UVdlYlNldHRpbmdzKToK
KyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmg6CisKIDIwMTAtMDktMTYgIERhcmluIEFkbGVy
ICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBidWlsZC4KSW5kZXg6IFdlYktpdC9x
dC9BcGkvcXdlYnNldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvcXQvQXBpL3F3ZWJz
ZXR0aW5ncy5jcHAJKHJldmlzaW9uIDY3NzM3KQorKysgV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGlu
Z3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgsNiArMjU4LDEwIEBAIHZvaWQgUVdlYlNldHRp
bmdzUHJpdmF0ZTo6YXBwbHkoKQogICAgICAgICBzZXR0aW5ncy0+c2V0TmVlZHNTaXRlU3BlY2lm
aWNRdWlya3ModmFsdWUpOwogCiAgICAgICAgIHNldHRpbmdzLT5zZXRVc2VzUGFnZUNhY2hlKFdl
YkNvcmU6OnBhZ2VDYWNoZSgpLT5jYXBhY2l0eSgpKTsKKworICAgICAgICB2YWx1ZSA9IGF0dHJp
YnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJrcywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVl
KFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpKTsKKyAgICAgICAgc2V0dGlu
Z3MtPnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKHZhbHVlKTsKICAgICB9IGVsc2UgewogICAg
ICAgICBRTGlzdDxRV2ViU2V0dGluZ3NQcml2YXRlKj4gc2V0dGluZ3MgPSAqOjphbGxTZXR0aW5n
cygpOwogICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNldHRpbmdzLmNvdW50KCk7ICsraSkK
QEAgLTQ5OCw2ICs1MDIsNyBAQCBRV2ViU2V0dGluZ3M6OlFXZWJTZXR0aW5ncygpCiAgICAgZC0+
YXR0cmlidXRlcy5pbnNlcnQoUVdlYlNldHRpbmdzOjpUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQs
IGZhbHNlKTsKICAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6OkZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQsIGZhbHNlKTsKICAgICBkLT5hdHRyaWJ1dGVzLmluc2VydChRV2ViU2V0
dGluZ3M6OlNpdGVTcGVjaWZpY1F1aXJrc0VuYWJsZWQsIHRydWUpOworICAgIGQtPmF0dHJpYnV0
ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MsIGZhbHNlKTsK
ICAgICBkLT5vZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSA9IDUgKiAxMDI0ICogMTAyNDsKICAg
ICBkLT5kZWZhdWx0VGV4dEVuY29kaW5nID0gUUxhdGluMVN0cmluZygiaXNvLTg4NTktMSIpOwog
fQpJbmRleDogV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCShyZXZpc2lvbiA2NzczNykKKysrIFdlYktpdC9xdC9B
cGkvcXdlYnNldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTc1LDcgKzc1LDggQEAgcHVibGlj
OgogICAgICAgICBUaWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQsCiAgICAgICAgIEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQsCiAgICAgICAgIFNpdGVTcGVjaWZpY1F1aXJrc0VuYWJsZWQsCi0gICAgICAg
IFdlYkdMRW5hYmxlZAorICAgICAgICBXZWJHTEVuYWJsZWQsCisgICAgICAgIFVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzCiAgICAgfTsKICAgICBlbnVtIFdlYkdyYXBoaWMgewogICAgICAgICBNaXNz
aW5nSW1hZ2VHcmFwaGljLApJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDY3NzM3KQorKysgV2ViS2l0L3dpbi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOS0xNyAgQW5k
eSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJv
a2VuIGR1ZSB0byA8dGFnPHRhZz4gcGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBX
ZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICogSW50
ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAg
IChXZWJQcmVmZXJlbmNlczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgorICAgICAgICAoV2Vi
UHJlZmVyZW5jZXM6OnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKToKKyAgICAgICAgKiBXZWJQ
cmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAxMC0wOS0xNyAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBNYXJy
aW4uCkluZGV4OiBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDY3
NzM3KQorKysgV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTQ3LDMgKzE0Nyw1IEBACiAjZGVmaW5lIFdlYktpdEROU1ByZWZldGNoaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkgIldlYktpdEROU1ByZWZldGNoaW5nRW5hYmxlZCIKIAogI2RlZmlu
ZSBXZWJLaXRNZW1vcnlJbmZvRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdE1lbW9yeUluZm9F
bmFibGVkIgorCisjZGVmaW5lIFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5ICJXZWJL
aXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIKSW5kZXg6IFdlYktpdC93aW4vV2ViUHJlZmVyZW5j
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZp
c2lvbiA2NzczNykKKysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDk5LDYgKzE0OTksMTkgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0TWVt
b3J5SW5mb0VuYQogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2Vz
Ojp1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhCT09MKiBlbmFibGVkKQoreworICAgICplbmFibGVk
ID0gYm9vbFZhbHVlRm9yS2V5KENGU1RSKFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5
KSk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzKEJPT0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUo
Q0ZTVFIoV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXkpLCBlbmFibGVkKTsKKyAgICBy
ZXR1cm4gU19PSzsKK30KKworCiB2b2lkIFdlYlByZWZlcmVuY2VzOjp3aWxsQWRkVG9XZWJWaWV3
KCkKIHsKICAgICArK21fbnVtV2ViVmlld3M7CkluZGV4OiBXZWJLaXQvd2luL1dlYlByZWZlcmVu
Y2VzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lv
biA2NzczNykKKysrIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDI2LDYgKzQyNiw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgc2V0TWVtb3J5SW5mb0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIG1lbW9yeUluZm9FbmFibGVkKEJPT0wqKTsKIAorICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyhC
T09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3MoQk9PTCopOworCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIAogICAgIC8vIFRo
aXMgbWV0aG9kIGFjY2Vzc2VzIGEgZGlmZmVyZW50IHByZWZlcmVuY2Uga2V5IHRoYW4gZGV2ZWxv
cGVyRXh0cmFzRW5hYmxlZC4KSW5kZXg6IFdlYktpdC93aW4vV2ViVmlldy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gNjc3MzcpCisrKyBXZWJLaXQv
d2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nzc0LDYgKzQ3NzQsMTEgQEAgSFJF
U1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7
CiAgICAgc2V0dGluZ3MtPnNldE1lbW9yeUluZm9FbmFibGVkKGVuYWJsZWQpOwogCisgICAgaHIg
PSBwcmVmc1ByaXZhdGUtPnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKCZlbmFibGVkKTsKKyAgICBp
ZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLT5zZXRVc2VQ
cmVIVE1MNVBhcnNlclF1aXJrcyhlbmFibGVkKTsKKwogICAgIGlmICghbV9jbG9zZVdpbmRvd1Rp
bWVyKQogICAgICAgICBtX21haW5GcmFtZS0+aW52YWxpZGF0ZSgpOyAvLyBGSVhNRQogCkluZGV4
OiBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRs
CShyZXZpc2lvbiA2NzczNykKKysrIFdlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDQgKzExOCw3IEBAIGludGVyZmFj
ZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlIDogSVVua24KIAogICAgIEhSRVNVTFQgbWVtb3J5SW5m
b0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNldE1l
bW9yeUluZm9FbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKworICAgIEhSRVNVTFQgdXNlUHJl
SFRNTDVQYXJzZXJRdWlya3MoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKKyAgICBIUkVT
VUxUIHNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KSW5k
ZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDY3NzM3KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJFR1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0
YWc+IHBhcnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDA5NjEKKworICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3MgcHJlZmVyZW5jZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9s
bGVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OnJlc2V0V2ViU2V0dGluZ3Mp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAg
ICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAoY29weVdl
YlNldHRpbmdLZXkpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJv
bGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4v
RHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZh
bHVlcyk6CisKIDIwMTAtMDktMTcgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcAkocmV2aXNpb24gNjc3MzcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyMzYsNiArMTIzNiw4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJl
ZmUKICAgICAgICAgbV9zaGVsbC0+d2ViVmlldygpLT5zZXRUYWJzVG9MaW5rcyhjcHBWYXJpYW50
VG9Cb29sKHZhbHVlKSk7CiAgICAgZWxzZSBpZiAoa2V5ID09ICJXZWJLaXRXZWJHTEVuYWJsZWQi
KQogICAgICAgICBzZXR0aW5ncy0+c2V0RXhwZXJpbWVudGFsV2ViR0xFbmFibGVkKGNwcFZhcmlh
bnRUb0Jvb2wodmFsdWUpKTsKKyAgICBlbHNlIGlmIChrZXkgPT0gIldlYktpdFVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzIikKKyAgICAgICAgc2V0dGluZ3MtPnNldFVzZVByZUhUTUw1UGFyc2VyUXVp
cmtzKGNwcFZhcmlhbnRUb0Jvb2wodmFsdWUpKTsKICAgICBlbHNlIHsKICAgICAgICAgc3RyaW5n
IG1lc3NhZ2UoIkludmFsaWQgbmFtZSBmb3IgcHJlZmVyZW5jZTogIik7CiAgICAgICAgIG1lc3Nh
Z2UuYXBwZW5kKGtleSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAJKHJldmlzaW9uIDY3NzM3KQorKysgV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjMyLDYgKzIzMiw4IEBAIHZvaWQgVGVzdFNoZWxsOjpyZXNldFdlYlNldHRpbmdzKFdlYlZpZXcK
ICNlbmRpZgogICAgIC8vIEZJWE1FOiBjcmJ1Zy5jb20vNTE4NzkKICAgICBzZXR0aW5ncy0+c2V0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpOworCisgICAgc2V0dGluZ3MtPnNl
dFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKGZhbHNlKTsKIH0KIAogdm9pZCBUZXN0U2hlbGw6OnJ1
bkZpbGVUZXN0KGNvbnN0IFRlc3RQYXJhbXMmIHBhcmFtcykKSW5kZXg6IFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24gNjc3
MzcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNiArMzM3LDcgQEAgc3RhdGljIHZvaWQgcmVzZXREZWZh
dWx0c1RvQ29uc2lzdGVudFZhbAogICAgICAgICAgICAgICAgICAiZW5hYmxlLWphdmEtYXBwbGV0
IiwgRkFMU0UsCiAgICAgICAgICAgICAgICAgICJlbmFibGUtcGx1Z2lucyIsIFRSVUUsCiAgICAg
ICAgICAgICAgICAgICJlZGl0aW5nLWJlaGF2aW9yIiwgV0VCS0lUX0VESVRJTkdfQkVIQVZJT1Jf
TUFDLAorICAgICAgICAgICAgICAgICAiZW5hYmxlLXByZS1odG1sNS1wYXJzZXItcXVpcmtzIiwg
RkFMU0UsCiAgICAgICAgICAgICAgICAgIE5VTEwpOwogCiAgICAgd2Via2l0X3dlYl9mcmFtZV9j
bGVhcl9tYWluX2ZyYW1lX25hbWUobWFpbkZyYW1lKTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNw
cAkocmV2aXNpb24gNjc3MzcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5
b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSw3IEBA
IHN0YXRpYyBnY2hhciogY29weVdlYlNldHRpbmdLZXkoZ2NoYXIqIHAKICAgICAgICAgZ19oYXNo
X3RhYmxlX2luc2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdEVuYWJsZUNhcmV0QnJvd3Np
bmciKSwgZ19zdHJkdXAoImVuYWJsZS1jYXJldC1icm93c2luZyIpKTsKICAgICAgICAgZ19oYXNo
X3RhYmxlX2luc2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVm
ZXJlbmNlS2V5IiksIGdfc3RyZHVwKCJlbmFibGUtcGFnZS1jYWNoZSIpKTsKICAgICAgICAgZ19o
YXNoX3RhYmxlX2luc2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdFBsdWdpbnNFbmFibGVk
IiksIGdfc3RyZHVwKCJlbmFibGUtcGx1Z2lucyIpKTsKKyAgICAgICAgZ19oYXNoX3RhYmxlX2lu
c2VydChrZXlUYWJsZSwgZ19zdHJkdXAoIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIiks
IGdfc3RyZHVwKCJlbmFibGUtcHJlLWh0bWw1LXBhcnNlci1xdWlya3MiKSk7CiAgICAgfQogCiAg
ICAgcmV0dXJuIGdfc3RyZHVwKHN0YXRpY19jYXN0PGdjaGFyKj4oZ19oYXNoX3RhYmxlX2xvb2t1
cChrZXlUYWJsZSwgcHJlZmVyZW5jZUtleSkpKTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDY3NzM3KQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC00NTcsNiArNDU3LDcgQEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29u
c2lzdGVudFZhbAogICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VzUGFnZUNhY2hlOk5PXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQ6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0V2ViR0xFbmFibGVkOk5PXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3M6Tk9dOwogCiAgICAgW1tOU0hUVFBDb29raWVTdG9yYWdlIHNo
YXJlZEhUVFBDb29raWVTdG9yYWdlXSBzZXRDb29raWVBY2NlcHRQb2xpY3k6TlNIVFRQQ29va2ll
QWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW5dOwogCkluZGV4OiBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAkocmV2
aXNpb24gNjc3MzcpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVy
VHJlZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTkxLDYgKzE5MSw3IEBAIHZvaWQgV2ViUGFn
ZTo6cmVzZXRTZXR0aW5ncygpCiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUoUVdlYlNl
dHRpbmdzOjpQbHVnaW5zRW5hYmxlZCk7CiAgICAgc2V0dGluZ3MoKS0+cmVzZXRBdHRyaWJ1dGUo
UVdlYlNldHRpbmdzOjpKYXZhc2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKTsKICAgICBzZXR0aW5n
cygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkF1dG9Mb2FkSW1hZ2VzKTsKKyAgICBz
ZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKTsKIAogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRDYXJldEJy
b3dzaW5nRW5hYmxlZChmYWxzZSk7CiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCkt
PnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAJ
KHJldmlzaW9uIDY3NzM3KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0
VGVzdENvbnRyb2xsZXJRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5MSw2ICs1OTEsOCBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpvdmVycmlkZVByZWZlCiAgICAgICAgIHNldHRpbmdz
LT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpQbHVnaW5zRW5hYmxlZCwgdmFsdWUudG9Cb29s
KCkpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gIldlYktpdFdlYkdMRW5hYmxlZCIpCiAgICAgICAg
IHNldHRpbmdzLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpXZWJHTEVuYWJsZWQsIHZhbHVl
LnRvQm9vbCgpKTsKKyAgICBlbHNlIGlmIChuYW1lID09ICJXZWJLaXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyIpCisgICAgICAgIHNldHRpbmdzLT5zZXRBdHRyaWJ1dGUoUVdlYlNldHRpbmdzOjpV
c2VQcmVIVE1MNVBhcnNlclF1aXJrcywgdmFsdWUudG9Cb29sKCkpOwogICAgIGVsc2UKICAgICAg
ICAgcHJpbnRmKCJFUlJPUjogTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmVyZW5j
ZSgpIGRvZXMgbm90IHN1cHBvcnQgdGhlICclcycgcHJlZmVyZW5jZVxuIiwKICAgICAgICAgICAg
IG5hbWUudG9MYXRpbjEoKS5kYXRhKCkpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiA2NzczNykKKysrIFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTgzMCw2ICs4MzAsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25z
aXN0ZW50VmFsCiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoRkFM
U0UpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoRkFM
U0UpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hl
RW5hYmxlZChUUlVFKTsKKyAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyhGQUxTRSk7CiAgICAgfQogICAgIHNldEFsd2F5c0FjY2VwdENvb2tpZXMoZmFsc2Up
OwogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2NzczNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8
YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSRUdSRVNTSU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRv
IDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisKKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRt
bDUtcGFyc2VyLXF1aXJrcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUt
aHRtbDUtcGFyc2VyLXF1aXJrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
cGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLW5hbWUtc3RhdGUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYXR0cmlidXRlLW5hbWUtc3Rh
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1x
dWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRh
Zy1uYW1lLXN0YXRlLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA5LTE3ICBKaWFuIExpICA8amlhbmxp
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBTa2lwIHRoZSBuZXcgdGVzdCBmYXN0L2ZpbGVzL2Ny
ZWF0ZS1ibG9iLXVybC1jcmFzaC5odG1sIGluIHVuc3VwcG9ydGVkCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3Mt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJl
LWh0bWw1LXBhcnNlci1xdWlya3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDM5IEBACitUaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFy
ZSBhcHBsaWVkIHdoZW4gdGhlIFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVu
Y2UgaXMgc2V0LiBTZWUgaHR0cHM6Ly93ZWJraXQub3JnL2IvNDA5NjEgZm9yIGRldGFpbHMuCisK
KyAgICAgCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+
LS0+JworLS0tLS0tLS0KK0FmdGVyQXR0cmlidXRlTmFtZVN0YXRlOgorUEFTUworCistLS0tLS0t
LQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMS0tPi0tPicKKy0tLS0tLS0tCitB
ZnRlckF0dHJpYnV0ZVZhbHVlUXVvdGVkU3RhdGU6CitQQVNTCisKKy0tLS0tLS0tCitGcmFtZTog
JzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUyLS0+LS0+JworLS0tLS0tLS0KK0F0dHJpYnV0ZU5h
bWVTdGF0ZToKK1BBU1MKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1m
cmFtZTMtLT4tLT4nCistLS0tLS0tLQorQmVmb3JlQXR0cmlidXRlTmFtZVN0YXRlOgorUEFTUwor
CistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lNC0tPi0tPicKKy0t
LS0tLS0tCitUYWdOYW1lU3RhdGU6CitQQVNTCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWU1LS0+LS0+JworLS0tLS0tLS0KK0RvY3VtZW50IGZyYWdtZW50Ogor
UEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWly
a3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUt
cGFyc2VyLXF1aXJrcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NyBAQAorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MiLCAiMSIpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBDaGlsZEZy
YW1lc0FzVGV4dCgpOworICAgIH0KKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3RzIHRoYXQgY2Vy
dGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYktpdFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgPGEgaHJlZj0iaHR0
cHM6Ly93ZWJraXQub3JnL2IvNDA5NjEiPmh0dHBzOi8vd2Via2l0Lm9yZy9iLzQwOTYxPC9hPiBm
b3IgZGV0YWlscy48L3A+CisKKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNl
ci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sIj48L2lmcmFtZT4KKzxpZnJh
bWUgc3JjPSJyZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUt
dmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNl
cy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwiPjwvaWZy
YW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9y
ZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sIj48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNv
dXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sIj48L2lmcmFt
ZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVu
dC1mcmFnbWVudC5odG1sIj48L2lmcmFtZT4KKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLW5hbWUt
c3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJj
ZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1o
dG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw3IEBACis8ZGl2PgorICAgIEFmdGVyQXR0cmlidXRlTmFtZVN0YXRl
OgorICAgIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4KKyAgICAgICAgPHA+PC9wIGF0
dHIKKyAgICA8L2Rpdj4KKyAgICBQQVNTCis8L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
cGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12
YWx1ZS1xdW90ZWQtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Bh
cnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFs
dWUtcXVvdGVkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3Bh
cnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFs
dWUtcXVvdGVkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNiBAQAorPGRpdj4K
KyAgICBBZnRlckF0dHJpYnV0ZVZhbHVlUXVvdGVkU3RhdGU6CisgICAgPGRpdiBzdHlsZT0idmlz
aWJpbGl0eTpoaWRkZW4iPgorICAgICAgICA8cD48L3AgYXR0cj0idmFsdWUiPC9kaXY+CisgICAg
UEFTUworPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJl
LWh0bWw1LXBhcnNlci1xdWlyay1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1
aXJrLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hdHRyaWJ1dGUt
bmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYgQEAKKzxkaXY+CisgICAg
QXR0cmlidXRlTmFtZVN0YXRlOgorICAgIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4K
KyAgICAgICAgPHA+PC9wIGF0dHI8L2Rpdj4KKyAgICBQQVNTCis8L2Rpdj4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9y
ZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1
dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1l
LXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorPGRpdj4KKyAgICBCZWZv
cmVBdHRyaWJ1dGVOYW1lU3RhdGU6CisgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4i
PgorICAgICAgICA8cD48L3AKKyAgICA8L2Rpdj4KKyAgICBQQVNTCis8L2Rpdj4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRv
Y3VtZW50LWZyYWdtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUt
aHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNyBAQAorRG9jdW1lbnQgZnJhZ21lbnQ6Cis8ZGl2IGlkPSJ3cmFwcGVyIj4KKzwv
ZGl2PgorCis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3cmFwcGVyIiku
aW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J3Zpc2liaWxpdHk6aGlkZGVuJz48cD48L3A8L2Rpdj5Q
QVNTIjsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2Vz
L3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay10YWctbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9w
YXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2IEBACis8ZGl2PgorICAgIFRhZ05hbWVTdGF0ZToK
KyAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcDwvZGl2
PgorICAgIFBBU1MKKzwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68055</attachid>
            <date>2010-09-19 23:58:25 -0700</date>
            <delta_ts>2010-09-20 14:18:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100919235823.patch</filename>
            <type>text/plain</type>
            <size>39607</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzgzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDAgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBUZXN0OiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
cy5odG1sCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIp
OiBJbnN0YW50aWF0ZQorICAgICAgICBtX3Rva2VuaXplciB3aXRoIHRoZSB2YWx1ZSBvZiBTZXR0
aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4KKyAgICAgICAgKiBodG1sL3BhcnNlci9I
VE1MUHJlbG9hZFNjYW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByZWxvYWRTY2Fu
bmVyOjpIVE1MUHJlbG9hZFNjYW5uZXIpOiBJbnN0YW50aWF0ZQorICAgICAgICBtX3Rva2VuaXpl
ciB3aXRoIHRoZSB2YWx1ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4K
KyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxUb2tlbml6ZXI6OkhUTUxUb2tlbml6ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TFRva2VuaXplcjo6bmV4dFRva2VuKTogSWYgdGhlIHF1aXJrIGlzIGVuYWJsZWQgYW5kIGFuCisg
ICAgICAgIHVuZXhwZWN0ZWQgJzwnIGlzIGVuY291bnRlcmVkIGluIGNlcnRhaW4gc3RhdGVzLCBl
bWl0IHRoZSBjdXJyZW50IHRva2VuCisgICAgICAgIGFuZCByZXByb2Nlc3MgdGhlICc8JyBhcyB0
aGUgc3RhcnQgb2YgYSBuZXcgdG9rZW4uCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRva2Vu
aXplci5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRva2VuaXplcjo6Y3JlYXRlKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVmlld1NvdXJjZVBhcnNlcjo6SFRNTFZpZXdTb3VyY2VQYXJzZXIpOiBJbnN0YW50
aWF0ZQorICAgICAgICBtX3Rva2VuaXplciB3aXRoIHRoZSB2YWx1ZSBvZiBTZXR0aW5nczo6dXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MoKS4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAgICogcGFnZS9TZXR0
aW5ncy5oOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp1c2VQcmVIVE1MNVBhcnNlclF1
aXJrcyk6CisKIDIwMTAtMDktMTkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2Nzc0OS4KSW5kZXg6
IFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3
ODM4KQorKysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiSFRNTFRyZWVCdWlsZGVyLmgi
CiAjaW5jbHVkZSAiSFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiTmVzdGluZ0xldmVsSW5jcmVt
ZW50ZXIuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlhTU0F1ZGl0b3IuaCIK
ICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIApAQCAtNzksNyArODAsNyBAQCBIVE1MVG9r
ZW5pemVyOjpTdGF0ZSB0b2tlbml6ZXJTdGF0ZUZvckNvCiAKIEhUTUxEb2N1bWVudFBhcnNlcjo6
SFRNTERvY3VtZW50UGFyc2VyKEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJy
b3JzKQogICAgIDogU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKGRvY3VtZW50KQotICAgICwgbV90
b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1M
VG9rZW5pemVyOjpjcmVhdGUoZG9jdW1lbnQtPnNldHRpbmdzKCkgJiYgZG9jdW1lbnQtPnNldHRp
bmdzKCktPnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKCkpKQogICAgICwgbV9zY3JpcHRSdW5uZXIo
SFRNTFNjcmlwdFJ1bm5lcjo6Y3JlYXRlKGRvY3VtZW50LCB0aGlzKSkKICAgICAsIG1fdHJlZUJ1
aWxkZXIoSFRNTFRyZWVCdWlsZGVyOjpjcmVhdGUobV90b2tlbml6ZXIuZ2V0KCksIGRvY3VtZW50
LCByZXBvcnRFcnJvcnMpKQogICAgICwgbV9wYXJzZXJTY2hlZHVsZXIoSFRNTFBhcnNlclNjaGVk
dWxlcjo6Y3JlYXRlKHRoaXMpKQpAQCAtOTIsNyArOTMsNyBAQCBIVE1MRG9jdW1lbnRQYXJzZXI6
OkhUTUxEb2N1bWVudFBhcnNlcihICiAvLyBtaW5pbWl6ZSBjb2RlIGR1cGxpY2F0aW9uIGJldHdl
ZW4gdGhlc2UgY29uc3RydWN0b3JzLgogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQ
YXJzZXIoRG9jdW1lbnRGcmFnbWVudCogZnJhZ21lbnQsIEVsZW1lbnQqIGNvbnRleHRFbGVtZW50
LCBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gc2NyaXB0aW5nUGVybWlzc2lvbikKICAgICA6
IFNjcmlwdGFibGVEb2N1bWVudFBhcnNlcihmcmFnbWVudC0+ZG9jdW1lbnQoKSkKLSAgICAsIG1f
dG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZSgpKQorICAgICwgbV90b2tlbml6ZXIoSFRN
TFRva2VuaXplcjo6Y3JlYXRlKGZyYWdtZW50LT5kb2N1bWVudCgpLT5zZXR0aW5ncygpICYmIGZy
YWdtZW50LT5kb2N1bWVudCgpLT5zZXR0aW5ncygpLT51c2VQcmVIVE1MNVBhcnNlclF1aXJrcygp
KSkKICAgICAsIG1fdHJlZUJ1aWxkZXIoSFRNTFRyZWVCdWlsZGVyOjpjcmVhdGUobV90b2tlbml6
ZXIuZ2V0KCksIGZyYWdtZW50LCBjb250ZXh0RWxlbWVudCwgc2NyaXB0aW5nUGVybWlzc2lvbikp
CiAgICAgLCBtX2VuZFdhc0RlbGF5ZWQoZmFsc2UpCiAgICAgLCBtX3dyaXRlTmVzdGluZ0xldmVs
KDApCkluZGV4OiBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCShy
ZXZpc2lvbiA2NzgzOCkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFByZWxvYWRTY2FubmVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkhUTUxUb2tl
bml6ZXIuaCIKICNpbmNsdWRlICJIVE1MTGlua0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTEyMCwxMCArMTIxLDExIEBAIHByaXZhdGU6CiBIVE1MUHJlbG9hZFNjYW5uZXI6OkhUTUxQcmVs
b2FkU2Nhbm5lcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBtX2RvY3VtZW50KGRvY3VtZW50
KQogICAgICwgbV9jc3NTY2FubmVyKGRvY3VtZW50KQotICAgICwgbV90b2tlbml6ZXIoSFRNTFRv
a2VuaXplcjo6Y3JlYXRlKCkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0
eWxlKGZhbHNlKQogeworICAgIEFTU0VSVChkb2N1bWVudCk7CisgICAgbV90b2tlbml6ZXIgPSBI
VE1MVG9rZW5pemVyOjpjcmVhdGUoZG9jdW1lbnQtPnNldHRpbmdzKCkgJiYgZG9jdW1lbnQtPnNl
dHRpbmdzKCktPnVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKCkpOwogfQogCiB2b2lkIEhUTUxQcmVs
b2FkU2Nhbm5lcjo6YXBwZW5kVG9FbmQoY29uc3QgU2VnbWVudGVkU3RyaW5nJiBzb3VyY2UpCklu
ZGV4OiBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJKHJldmlzaW9uIDY3ODM4KQor
KysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTAzLDggKzEwMyw5IEBAIGlubGluZSBib29sIGlzRW5kVGFnQnVmZmVyaW5nU3RhdGUoSFRN
TFQKIAogfQogCi1IVE1MVG9rZW5pemVyOjpIVE1MVG9rZW5pemVyKCkKK0hUTUxUb2tlbml6ZXI6
OkhUTUxUb2tlbml6ZXIoYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykKICAgICA6IG1faW5w
dXRTdHJlYW1QcmVwcm9jZXNzb3IodGhpcykKKyAgICAsIG1fdXNlUHJlSFRNTDVQYXJzZXJRdWly
a3ModXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpCiB7CiAgICAgcmVzZXQoKTsKIH0KQEAgLTQzNiw2
ICs0MzcsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAg
ICAgICAgICBBRFZBTkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVs
c2UgaWYgKGNjID09ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291
cmNlLCBEYXRhU3RhdGUpOworICAgICAgICBlbHNlIGlmIChtX3VzZVByZUhUTUw1UGFyc2VyUXVp
cmtzICYmIGNjID09ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4o
c291cmNlLCBEYXRhU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7
CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb05hbWUodG9Mb3dlckNhc2UoY2MpKTsKICAg
ICAgICAgICAgIEFEVkFOQ0VfVE8oVGFnTmFtZVN0YXRlKTsKQEAgLTg3Nyw2ICs4ODAsOCBAQCBi
b29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRTCiAgICAgICAgICAgICBBRFZB
TkNFX1RPKFNlbGZDbG9zaW5nU3RhcnRUYWdTdGF0ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09
ICc+JykKICAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVzdW1lSW4oc291cmNlLCBEYXRhU3Rh
dGUpOworICAgICAgICBlbHNlIGlmIChtX3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzICYmIGNjID09
ICc8JykKKyAgICAgICAgICAgIHJldHVybiBlbWl0QW5kUmVjb25zdW1lSW4oc291cmNlLCBEYXRh
U3RhdGUpOwogICAgICAgICBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2MpKSB7CiAgICAgICAgICAg
ICBtX3Rva2VuLT5hZGROZXdBdHRyaWJ1dGUoKTsKICAgICAgICAgICAgIG1fdG9rZW4tPmJlZ2lu
QXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQoKSk7CkBAIC05
MDksNiArOTE0LDkgQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwog
ICAgICAgICB9IGVsc2UgaWYgKGNjID09ICc+JykgewogICAgICAgICAgICAgbV90b2tlbi0+ZW5k
QXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFyYWN0ZXJzQ29uc3VtZWQoKSk7CiAgICAg
ICAgICAgICByZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKKyAgICAg
ICAgfSBlbHNlIGlmIChtX3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzICYmIGNjID09ICc8Jykgewor
ICAgICAgICAgICAgbV90b2tlbi0+ZW5kQXR0cmlidXRlTmFtZShzb3VyY2UubnVtYmVyT2ZDaGFy
YWN0ZXJzQ29uc3VtZWQoKSk7CisgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlY29uc3VtZUlu
KHNvdXJjZSwgRGF0YVN0YXRlKTsKICAgICAgICAgfSBlbHNlIGlmIChpc0FTQ0lJVXBwZXIoY2Mp
KSB7CiAgICAgICAgICAgICBtX3Rva2VuLT5hcHBlbmRUb0F0dHJpYnV0ZU5hbWUodG9Mb3dlckNh
c2UoY2MpKTsKICAgICAgICAgICAgIEFEVkFOQ0VfVE8oQXR0cmlidXRlTmFtZVN0YXRlKTsKQEAg
LTkzNCw2ICs5NDIsOCBAQCBib29sIEhUTUxUb2tlbml6ZXI6Om5leHRUb2tlbihTZWdtZW50ZWRT
CiAgICAgICAgICAgICBBRFZBTkNFX1RPKEJlZm9yZUF0dHJpYnV0ZVZhbHVlU3RhdGUpOwogICAg
ICAgICBlbHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlc3Vt
ZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKKyAgICAgICAgZWxzZSBpZiAobV91c2VQcmVIVE1MNVBh
cnNlclF1aXJrcyAmJiBjYyA9PSAnPCcpCisgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlY29u
c3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKICAgICAgICAgZWxzZSBpZiAoaXNBU0NJSVVwcGVy
KGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YWRkTmV3QXR0cmlidXRlKCk7CiAgICAgICAg
ICAgICBtX3Rva2VuLT5iZWdpbkF0dHJpYnV0ZU5hbWUoc291cmNlLm51bWJlck9mQ2hhcmFjdGVy
c0NvbnN1bWVkKCkpOwpAQCAtMTA3Niw2ICsxMDg2LDggQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpu
ZXh0VG9rZW4oU2VnbWVudGVkUwogICAgICAgICAgICAgQURWQU5DRV9UTyhTZWxmQ2xvc2luZ1N0
YXJ0VGFnU3RhdGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAgICAgICBy
ZXR1cm4gZW1pdEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKKyAgICAgICAgZWxzZSBp
ZiAobV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyAmJiBjYyA9PSAnPCcpCisgICAgICAgICAgICBy
ZXR1cm4gZW1pdEFuZFJlY29uc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKICAgICAgICAgZWxz
ZSBpZiAoY2MgPT0gSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3I6OmVuZE9mRmlsZU1hcmtlcikgewog
ICAgICAgICAgICAgcGFyc2VFcnJvcigpOwogICAgICAgICAgICAgUkVDT05TVU1FX0lOKERhdGFT
dGF0ZSk7CkluZGV4OiBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAkocmV2aXNpb24gNjc4
MzgpCisrKyBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtMTE5LDcgKzExOSw3IEBAIHB1YmxpYzoKICAgICAgICAgQ0RBVEFTZWN0aW9uRG91Ymxl
UmlnaHRTcXVhcmVCcmFja2V0U3RhdGUsCiAgICAgfTsKIAotICAgIHN0YXRpYyBQYXNzT3duUHRy
PEhUTUxUb2tlbml6ZXI+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBIVE1MVG9rZW5p
emVyKTsgfQorICAgIHN0YXRpYyBQYXNzT3duUHRyPEhUTUxUb2tlbml6ZXI+IGNyZWF0ZShib29s
IHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKSB7IHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFRva2Vu
aXplcih1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykpOyB9CiAgICAgfkhUTUxUb2tlbml6ZXIoKTsK
IAogICAgIHZvaWQgcmVzZXQoKTsKQEAgLTI1NCw3ICsyNTQsNyBAQCBwcml2YXRlOgogICAgICAg
ICBib29sIG1fc2tpcE5leHROZXdMaW5lOwogICAgIH07CiAKLSAgICBIVE1MVG9rZW5pemVyKCk7
CisgICAgSFRNTFRva2VuaXplcihib29sIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKTsKIAogICAg
IGlubGluZSBib29sIHByb2Nlc3NFbnRpdHkoU2VnbWVudGVkU3RyaW5nJik7CiAKQEAgLTMwNyw2
ICszMDcsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNz
L3dlYi1hcHBzL2N1cnJlbnQtd29yay8jcHJlcHJvY2Vzc2luZy10aGUtaW5wdXQtc3RyZWFtCiAg
ICAgSW5wdXRTdHJlYW1QcmVwcm9jZXNzb3IgbV9pbnB1dFN0cmVhbVByZXByb2Nlc3NvcjsKKyAg
ICAKKyAgICBib29sIG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3M7CiB9OwogCiB9CkluZGV4OiBX
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNwcAkocmV2aXNpb24g
Njc4MzgpCisrKyBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxWaWV3U291cmNlUGFyc2VyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjgsMTIgKzI4LDEzIEBACiAKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlICJIVE1MVmlld1NvdXJjZURvY3VtZW50LmgiCisjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBIVE1MVmlld1NvdXJjZVBhcnNlcjo6SFRN
TFZpZXdTb3VyY2VQYXJzZXIoSFRNTFZpZXdTb3VyY2VEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
OiBEZWNvZGVkRGF0YURvY3VtZW50UGFyc2VyKGRvY3VtZW50KQotICAgICwgbV90b2tlbml6ZXIo
SFRNTFRva2VuaXplcjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVy
OjpjcmVhdGUoZG9jdW1lbnQtPnNldHRpbmdzKCkgJiYgZG9jdW1lbnQtPnNldHRpbmdzKCktPnVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzKCkpKQogewogfQogCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlz
aW9uIDY3ODM4KQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTQ2LDYgKzE0Niw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2VuZGlm
CiAgICAgLCBtX21lbW9yeUluZm9FbmFibGVkKGZhbHNlKQogICAgICwgbV9pbnRlcmFjdGl2ZUZv
cm1WYWxpZGF0aW9uKGZhbHNlKQorICAgICwgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmYWxz
ZSkKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3
ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCiAgICAgLy8gaGFzaCBiZWZvcmUgdHJ5aW5n
IHRvIHVzZSBpdC4KSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA2NzgzOCkKKysrIFdlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMjYsNiArMzI2LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAvLyBhbmQgaHR0cDovL3dlYmtpdC5vcmcvYi80MDkwOAogICAg
ICAgICB2b2lkIHNldEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkKGJvb2wgZmxhZykg
eyBtX2ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb24gPSBmbGFnOyB9CiAgICAgICAgIGJvb2wgaW50
ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ludGVyYWN0
aXZlRm9ybVZhbGlkYXRpb247IH0KKyAgICAgICAgCisgICAgICAgIHZvaWQgc2V0VXNlUHJlSFRN
TDVQYXJzZXJRdWlya3MoYm9vbCBmbGFnKSB7IG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgPSBm
bGFnOyB9CisgICAgICAgIGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKSBjb25zdCB7IHJl
dHVybiBtX3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBQYWdlKiBtX3BhZ2U7CkBAIC00MTMsNiArNDE2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
I2VuZGlmCiAgICAgICAgIGJvb2wgbV9tZW1vcnlJbmZvRW5hYmxlZDogMTsKICAgICAgICAgYm9v
bCBtX2ludGVyYWN0aXZlRm9ybVZhbGlkYXRpb246IDE7CisgICAgICAgIGJvb2wgbV91c2VQcmVI
VE1MNVBhcnNlclF1aXJrczogMTsKIAogI2lmIFVTRShTQUZBUklfVEhFTUUpCiAgICAgICAgIHN0
YXRpYyBib29sIGdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzOwpJbmRleDogV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShy
ZXZpc2lvbiA2NzgzOCkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0xNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UkVHUkVTU0lPTiAoSFRNTDUgUGFyc2VyKTogUGFnZXMgYnJva2VuIGR1ZSB0byA8dGFnPHRhZz4g
cGFyc2luZyBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MDk2MQorCisgICAgICAgIEltcGxlbWVudCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyBwcmVmZXJlbmNlLgorCisgICAgICAgICogcHVibGljL1dlYlNldHRpbmdzLmg6Cisg
ICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNl
dHRpbmdzSW1wbDo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgorICAgICAgICAqIHNyYy9X
ZWJTZXR0aW5nc0ltcGwuaDoKKwogMjAxMC0wOS0xOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjY3
NzQ5LgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAkocmV2aXNpb24gNjc4
MzgpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTkzLDYgKzkzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEFj
Y2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
TWVtb3J5SW5mb0VuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyhib29sKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICB+V2ViU2V0dGlu
Z3MoKSB7IH0KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHJl
dmlzaW9uIDY3ODM4KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yODksNCArMjg5LDkgQEAgdm9pZCBXZWJTZXR0aW5nc0ltcGw6
OnNldE1lbW9yeUluZm9FbmFibAogICAgIG1fc2V0dGluZ3MtPnNldE1lbW9yeUluZm9FbmFibGVk
KGVuYWJsZWQpOwogfQogCit2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0VXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoYm9vbCBlbmFibGVkKQoreworICAgIG1fc2V0dGluZ3MtPnNldFVzZVByZUhUTUw1
UGFyc2VyUXVpcmtzKGVuYWJsZWQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAkocmV2aXNpb24gNjc4MzgpCisrKyBX
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
OSw2ICs4OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkMmRD
YW52YXNFbmFibGVkKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRNZW1vcnlJbmZvRW5hYmxl
ZChib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoYm9v
bCk7CiAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7CkluZGV4
OiBXZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0NoYW5nZUxv
ZwkocmV2aXNpb24gNjc4MzgpCisrKyBXZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
RUdSRVNTSU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBw
YXJzaW5nIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQwOTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzIHByZWZlcmVuY2UuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vic2V0dGluZ3Mu
Y3BwOgorICAgICAgICAod2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbml0KToKKyAgICAgICAg
KHdlYmtpdF93ZWJfc2V0dGluZ3NfY29weSk6CisKIDIwMTAtMDktMTcgIERhcmluIEFkbGVyICA8
ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4
OiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJzZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vic2V0dGluZ3MuY3BwCShyZXZpc2lvbiA2NzgzOCkK
KysrIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnNldHRpbmdzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTA4LDYgKzEwOCw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRlIHsK
ICAgICBnYm9vbGVhbiBlbmFibGVfcGFnZV9jYWNoZTsKICAgICBnYm9vbGVhbiBhdXRvX3Jlc2l6
ZV93aW5kb3c7CiAgICAgZ2Jvb2xlYW4gZW5hYmxlX2phdmFfYXBwbGV0OworICAgIGdib29sZWFu
IGVuYWJsZV9wcmVfaHRtbDVfcGFyc2VyX3F1aXJrczsKIH07CiAKICNkZWZpbmUgV0VCS0lUX1dF
Ql9TRVRUSU5HU19HRVRfUFJJVkFURShvYmopIChHX1RZUEVfSU5TVEFOQ0VfR0VUX1BSSVZBVEUo
KG9iaiksIFdFQktJVF9UWVBFX1dFQl9TRVRUSU5HUywgV2ViS2l0V2ViU2V0dGluZ3NQcml2YXRl
KSkKQEAgLTE1Nyw3ICsxNTgsOCBAQCBlbnVtIHsKICAgICBQUk9QX0VOQUJMRV9TSVRFX1NQRUNJ
RklDX1FVSVJLUywKICAgICBQUk9QX0VOQUJMRV9QQUdFX0NBQ0hFLAogICAgIFBST1BfQVVUT19S
RVNJWkVfV0lORE9XLAotICAgIFBST1BfRU5BQkxFX0pBVkFfQVBQTEVUCisgICAgUFJPUF9FTkFC
TEVfSkFWQV9BUFBMRVQsCisgICAgUFJPUF9FTkFCTEVfUFJFX0hUTUw1X1BBUlNFUl9RVUlSS1MK
IH07CiAKIC8vIENyZWF0ZSBhIGRlZmF1bHQgdXNlciBhZ2VudCBzdHJpbmcKQEAgLTg2Myw2ICs4
NjUsMTUgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9zZXR0aW5nc19jbGFzc19pbgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZsYWdzKSk7CiAKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3Rf
Y2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0VOQUJMRV9Q
UkVfSFRNTDVfUEFSU0VSX1FVSVJLUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgImVuYWJsZS1wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcyIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBfKCJFbmFibGUgUHJlLUhUTUw1IFBhcnNlciBRdWlya3MiKSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkVuYWJsZSBxdWlya3MgdGhh
dCB3ZXJlIHByZXNlbnQgcHJpb3IgdG8gbGFuZGluZyB0aGUgSFRNTDUgcGFyc2VyLiIpLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZsYWdzKSk7CisKICAgICBnX3R5cGVfY2xhc3NfYWRkX3ByaXZh
dGUoa2xhc3MsIHNpemVvZihXZWJLaXRXZWJTZXR0aW5nc1ByaXZhdGUpKTsKIH0KIApAQCAtMTI5
Nyw2ICsxMzA4LDcgQEAgV2ViS2l0V2ViU2V0dGluZ3MqIHdlYmtpdF93ZWJfc2V0dGluZ3NfYwog
ICAgICAgICAgICAgICAgICAiZW5hYmxlLXBhZ2UtY2FjaGUiLCBwcml2LT5lbmFibGVfcGFnZV9j
YWNoZSwKICAgICAgICAgICAgICAgICAgImF1dG8tcmVzaXplLXdpbmRvdyIsIHByaXYtPmF1dG9f
cmVzaXplX3dpbmRvdywKICAgICAgICAgICAgICAgICAgImVuYWJsZS1qYXZhLWFwcGxldCIsIHBy
aXYtPmVuYWJsZV9qYXZhX2FwcGxldCwKKyAgICAgICAgICAgICAgICAgImVuYWJsZS1wcmUtaHRt
bDUtcGFyc2VyLXF1aXJrcyIsIHByaXYtPmVuYWJsZV9wcmVfaHRtbDVfcGFyc2VyX3F1aXJrcywK
ICAgICAgICAgICAgICAgICAgTlVMTCkpOwogCiAgICAgcmV0dXJuIGNvcHk7CkluZGV4OiBXZWJL
aXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gNjc4MzgpCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDIxIEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNT
SU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5n
IGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQwOTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
IHByZWZlcmVuY2UuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dl
YlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgdXNl
UHJlSFRNTDVQYXJzZXJRdWlya3NdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3M6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dl
YlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjpdKToKKwogMjAxMC0wOS0xNyAg
RGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gRnJhc2VyLgpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAkocmV2aXNpb24gNjc4MzgpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsNyBAQAog
I2RlZmluZSBXZWJLaXRDYWNoZU1vZGVsUHJlZmVyZW5jZUtleSBAIldlYktpdENhY2hlTW9kZWxQ
cmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lv
bkJlaGF2aW9yUHJlZmVyZW5jZUtleSBAIldlYktpdFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVz
aW9uQmVoYXZpb3JQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRFZGl0aW5nQmVoYXZpb3JQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0RWRpdGluZ0JlaGF2aW9yIgorI2RlZmluZSBXZWJLaXRVc2VQ
cmVIVE1MNVBhcnNlclF1aXJrc0tleSBAIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIgog
CiAvLyBDb3JlR3JhcGhpY3MgZGVmZXJyZWQgdXBkYXRlcyBhcmUgZGlzYWJsZWQgaWYgV2ViS2l0
RW5hYmxlQ29hbGVzY2VkVXBkYXRlc1ByZWZlcmVuY2VLZXkgaXMgc2V0CiAvLyB0byBOTywgb3Ig
aGFzIG5vIHZhbHVlLiAgRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBNYWMgT1MgWCAxMC40LjYsIGRl
ZmVycmVkIHVwZGF0ZXMgYXJlIE9GRiBieQpJbmRleDogV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQkocmV2aXNpb24gNjc4MzgpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM2OCw2ICszNjgsNyBAQCArICh2b2lkKWluaXRp
YWxpemUKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRETlNQ
cmVmZXRjaGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVy
V2l0aEJvb2w6Tk9dLCAgIFdlYktpdEZ1bGxTY3JlZW5FbmFibGVkUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRNZW1vcnlJbmZvRW5h
YmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10s
ICAgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXksCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoTG9uZ0xvbmc6V2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZVN0b3JhZ2U6Om5vUXVv
dGEoKV0sIFdlYktpdEFwcGxpY2F0aW9uQ2FjaGVUb3RhbFF1b3RhLAogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aExvbmdMb25nOldlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpu
b1F1b3RhKCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhLAogICAg
ICAgICBuaWxdOwpAQCAtMTM0MSw2ICsxMzQyLDE2IEBAIC0gKHZvaWQpc2V0RWRpdGluZ0JlaGF2
aW9yOihXZWJLaXRFZGl0aW4KICAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOmJlaGF2aW9yIGZv
cktleTpXZWJLaXRFZGl0aW5nQmVoYXZpb3JQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoQk9PTCl1
c2VQcmVIVE1MNVBhcnNlclF1aXJrcworeworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5XTsKK30KKworLSAodm9pZClzZXRV
c2VQcmVIVE1MNVBhcnNlclF1aXJrczooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTpmbGFnIGZvcktleTpXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleV07Cit9CisK
IC0gKHZvaWQpZGlkUmVtb3ZlRnJvbVdlYlZpZXcKIHsKICAgICBBU1NFUlQoX3ByaXZhdGUtPm51
bVdlYlZpZXdzKTsKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTcsNCArMjE3LDcgQEAgQGludGVyZmFj
ZSBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZSkKIC0gKHZvaWQpc2V0RnVsbFNjcmVlbkVuYWJs
ZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpZnVsbFNjcmVlbkVuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0
VXNlUHJlSFRNTDVQYXJzZXJRdWlya3M6KEJPT0wpZmxhZzsKKy0gKEJPT0wpdXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3M7CisKIEBlbmQKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiA2
NzgzOCkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xNDUzLDYgKzE0NTMsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWROb3RpZmljYXRp
b246CiAgICAgc2V0dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVkKFtwcmVmZXJlbmNlcyBmdWxs
U2NyZWVuRW5hYmxlZF0pOwogI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldE1lbW9yeUluZm9FbmFi
bGVkKFtwcmVmZXJlbmNlcyBtZW1vcnlJbmZvRW5hYmxlZF0pOworICAgIHNldHRpbmdzLT5zZXRV
c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhbcHJlZmVyZW5jZXMgdXNlUHJlSFRNTDVQYXJzZXJRdWly
a3NdKTsKIAogICAgIC8vIEFwcGxpY2F0aW9uIENhY2hlIFByZWZlcmVuY2VzIGFyZSBzdG9yZWQg
b24gdGhlIGdsb2JhbCBjYWNoZSBzdG9yYWdlIG1hbmFnZXIsIG5vdCBpbiBTZXR0aW5ncy4KICAg
ICBbV2ViQXBwbGljYXRpb25DYWNoZSBzZXREZWZhdWx0T3JpZ2luUXVvdGE6W3ByZWZlcmVuY2Vz
IGFwcGxpY2F0aW9uQ2FjaGVEZWZhdWx0T3JpZ2luUXVvdGFdXTsKSW5kZXg6IFdlYktpdC9xdC9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3F0L0NoYW5nZUxvZwkocmV2aXNpb24gNjc4
MzgpCisrKyBXZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKEhUTUw1
IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNpbmcgY2hhbmdlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5NjEKKwor
ICAgICAgICBJbXBsZW1lbnQgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5j
ZS4KKworICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuY3BwOgorICAgICAgICAoUVdlYlNldHRp
bmdzUHJpdmF0ZTo6YXBwbHkpOgorICAgICAgICAoUVdlYlNldHRpbmdzOjpRV2ViU2V0dGluZ3Mp
OgorICAgICAgICAqIEFwaS9xd2Vic2V0dGluZ3MuaDoKKwogMjAxMC0wOS0xOCAgQWRlbWFyIGRl
IFNvdXphIFJlaXMgSnIgIDxhZGVtYXIucmVpc0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpJbmRleDogV2ViS2l0L3F0L0Fw
aS9xd2Vic2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9xdC9BcGkvcXdlYnNldHRp
bmdzLmNwcAkocmV2aXNpb24gNjc4MzgpCisrKyBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1OCw2ICsyNTgsMTAgQEAgdm9pZCBRV2ViU2V0dGluZ3NQ
cml2YXRlOjphcHBseSgpCiAgICAgICAgIHNldHRpbmdzLT5zZXROZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcyh2YWx1ZSk7CiAKICAgICAgICAgc2V0dGluZ3MtPnNldFVzZXNQYWdlQ2FjaGUoV2ViQ29y
ZTo6cGFnZUNhY2hlKCktPmNhcGFjaXR5KCkpOworCisgICAgICAgIHZhbHVlID0gYXR0cmlidXRl
cy52YWx1ZShRV2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1UGFyc2VyUXVpcmtzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdl
YlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJrcykpOworICAgICAgICBzZXR0aW5ncy0+
c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3ModmFsdWUpOwogICAgIH0gZWxzZSB7CiAgICAgICAg
IFFMaXN0PFFXZWJTZXR0aW5nc1ByaXZhdGUqPiBzZXR0aW5ncyA9ICo6OmFsbFNldHRpbmdzKCk7
CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2V0dGluZ3MuY291bnQoKTsgKytpKQpAQCAt
NDk4LDYgKzUwMiw3IEBAIFFXZWJTZXR0aW5nczo6UVdlYlNldHRpbmdzKCkKICAgICBkLT5hdHRy
aWJ1dGVzLmluc2VydChRV2ViU2V0dGluZ3M6OlRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCwgZmFs
c2UpOwogICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5nczo6RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCwgZmFsc2UpOwogICAgIGQtPmF0dHJpYnV0ZXMuaW5zZXJ0KFFXZWJTZXR0aW5n
czo6U2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCwgdHJ1ZSk7CisgICAgZC0+YXR0cmlidXRlcy5p
bnNlcnQoUVdlYlNldHRpbmdzOjpVc2VQcmVIVE1MNVBhcnNlclF1aXJrcywgZmFsc2UpOwogICAg
IGQtPm9mZmxpbmVTdG9yYWdlRGVmYXVsdFF1b3RhID0gNSAqIDEwMjQgKiAxMDI0OwogICAgIGQt
PmRlZmF1bHRUZXh0RW5jb2RpbmcgPSBRTGF0aW4xU3RyaW5nKCJpc28tODg1OS0xIik7CiB9Cklu
ZGV4OiBXZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9x
dC9BcGkvcXdlYnNldHRpbmdzLmgJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViS2l0L3F0L0FwaS9x
d2Vic2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtNzUsNyArNzUsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIFRpbGVkQmFja2luZ1N0b3JlRW5hYmxlZCwKICAgICAgICAgRnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCwKICAgICAgICAgU2l0ZVNwZWNpZmljUXVpcmtzRW5hYmxlZCwKLSAgICAgICAgV2Vi
R0xFbmFibGVkCisgICAgICAgIFdlYkdMRW5hYmxlZCwKKyAgICAgICAgVXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MKICAgICB9OwogICAgIGVudW0gV2ViR3JhcGhpYyB7CiAgICAgICAgIE1pc3NpbmdJ
bWFnZUdyYXBoaWMsCkluZGV4OiBXZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNjc4MzgpCisrKyBXZWJLaXQvd2luL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEwLTA5LTE3ICBBbmR5IEVz
dGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4g
ZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktp
dFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UuCisKKyAgICAgICAgKiBJbnRlcmZh
Y2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdl
YlByZWZlcmVuY2VzOjp1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6CisgICAgICAgIChXZWJQcmVm
ZXJlbmNlczo6c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOgorICAgICAgICAqIFdlYlByZWZl
cmVuY2VzLmg6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3Rp
ZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDEwLTA5LTE3ICBEYXJpbiBBZGxlciAgPGRhcmlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogV2Vi
S2l0L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiA2NzgzOCkKKysrIFdlYktp
dC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0Nywz
ICsxNDcsNSBAQAogI2RlZmluZSBXZWJLaXRETlNQcmVmZXRjaGluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRETlNQcmVmZXRjaGluZ0VuYWJsZWQiCiAKICNkZWZpbmUgV2ViS2l0TWVtb3J5
SW5mb0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRNZW1vcnlJbmZvRW5hYmxlZCIKKworI2Rl
ZmluZSBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSAiV2ViS2l0VXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3MiCkluZGV4OiBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gNjc4MzgpCisr
KyBXZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5OSw2
ICsxNDk5LDE5IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldE1lbW9yeUluZm9FbmEKICAg
ICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6dXNlUHJlSFRNTDVQ
YXJzZXJRdWlya3MoQk9PTCogZW5hYmxlZCkKK3sKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZv
cktleShDRlNUUihXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleSkpOworICAgIHJldHVy
biBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRVc2VQcmVIVE1MNVBhcnNl
clF1aXJrcyhCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKENGU1RSKFdlYktpdFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5KSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9
CisKKwogdm9pZCBXZWJQcmVmZXJlbmNlczo6d2lsbEFkZFRvV2ViVmlldygpCiB7CiAgICAgKytt
X251bVdlYlZpZXdzOwpJbmRleDogV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gNjc4MzgpCisrKyBX
ZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyNiw2ICs0MjYs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldE1l
bW9yeUluZm9FbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBtZW1vcnlJbmZvRW5hYmxlZChCT09MKik7CiAKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc2V0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoQk9PTCk7CisgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKEJP
T0wqKTsKKwogICAgIC8vIFdlYlByZWZlcmVuY2VzCiAKICAgICAvLyBUaGlzIG1ldGhvZCBhY2Nl
c3NlcyBhIGRpZmZlcmVudCBwcmVmZXJlbmNlIGtleSB0aGFuIGRldmVsb3BlckV4dHJhc0VuYWJs
ZWQuCkluZGV4OiBXZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93
aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDc3Myw2ICs0NzczLDExIEBAIEhSRVNVTFQgV2ViVmlldzo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdz
LT5zZXRNZW1vcnlJbmZvRW5hYmxlZChlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQcml2YXRl
LT51c2VQcmVIVE1MNVBhcnNlclF1aXJrcygmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRChocikp
CisgICAgICAgIHJldHVybiBocjsKKyAgICBzZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQYXJzZXJR
dWlya3MoZW5hYmxlZCk7CisKICAgICBpZiAoIW1fY2xvc2VXaW5kb3dUaW1lcikKICAgICAgICAg
bV9tYWluRnJhbWUtPmludmFsaWRhdGUoKTsgLy8gRklYTUUKIApJbmRleDogV2ViS2l0L3dpbi9J
bnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNpb24gNjc4
MzgpCisrKyBXZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTExOCw0ICsxMTgsNyBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZSA6IElVbmtuCiAKICAgICBIUkVTVUxUIG1lbW9yeUluZm9FbmFibGVkKFtvdXQs
IHJldHZhbF0gQk9PTCAqZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRNZW1vcnlJbmZvRW5hYmxl
ZChbaW5dIEJPT0wgZW5hYmxlZCk7CisKKyAgICBIUkVTVUxUIHVzZVByZUhUTUw1UGFyc2VyUXVp
cmtzKFtvdXQsIHJldHZhbF0gQk9PTCAqZW5hYmxlZCk7CisgICAgSFJFU1VMVCBzZXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyhbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CkluZGV4OiBXZWJLaXRUb29s
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biA2NzgzOCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI5IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9O
IChIVE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNo
YW5nZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQw
OTYxCisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHBy
ZWZlcmVuY2UuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQ
cmVmZXJlbmNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
Y3BwOgorICAgICAgICAoVGVzdFNoZWxsOjpyZXNldFdlYlNldHRpbmdzKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZh
dWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0xh
eW91dFRlc3RDb250cm9sbGVyR3RrLmNwcDoKKyAgICAgICAgKGNvcHlXZWJTZXR0aW5nS2V5KToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAg
IChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlBhZ2U6
OnJlc2V0U2V0dGluZ3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RD
b250cm9sbGVyUXQuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRl
UHJlZmVyZW5jZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDEw
LTA5LTE5ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQW5kZXJzIENhcmxzc29uLgpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAkocmV2aXNp
b24gNjc4MzgpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNTEsNiArMTI1MSw4IEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om92ZXJyaWRlUHJlZmUKICAgICAgICAgcHJlZnMtPnRh
YnNUb0xpbmtzID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CiAgICAgZWxzZSBpZiAoa2V5ID09
ICJXZWJLaXRXZWJHTEVuYWJsZWQiKQogICAgICAgICBwcmVmcy0+ZXhwZXJpbWVudGFsV2ViR0xF
bmFibGVkID0gY3BwVmFyaWFudFRvQm9vbCh2YWx1ZSk7CisgICAgZWxzZSBpZiAoa2V5ID09ICJX
ZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIpCisgICAgICAgIHNldHRpbmdzLT5zZXRVc2VQ
cmVIVE1MNVBhcnNlclF1aXJrcyhjcHBWYXJpYW50VG9Cb29sKHZhbHVlKSk7CiAgICAgZWxzZSB7
CiAgICAgICAgIHN0cmluZyBtZXNzYWdlKCJJbnZhbGlkIG5hbWUgZm9yIHByZWZlcmVuY2U6ICIp
OwogICAgICAgICBtZXNzYWdlLmFwcGVuZChrZXkpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCShyZXZpc2lvbiA2NzgzOCkK
KysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE1Niw2ICsxNTYsOCBAQCB2b2lkIFRlc3RTaGVsbDo6cmVzZXRXZWJT
ZXR0aW5ncyhXZWJWaWV3CiB7CiAgICAgbV9wcmVmcy5yZXNldCgpOwogICAgIG1fcHJlZnMuYXBw
bHlUbygmd2ViVmlldyk7CisKKyAgICBzZXR0aW5ncy0+c2V0VXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MoZmFsc2UpOwogfQogCiB2b2lkIFRlc3RTaGVsbDo6cnVuRmlsZVRlc3QoY29uc3QgVGVzdFBh
cmFtcyYgcGFyYW1zKQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBS
ZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiA2NzgzOCkKKysrIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMz
Nyw2ICszMzcsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsCiAg
ICAgICAgICAgICAgICAgICJlbmFibGUtamF2YS1hcHBsZXQiLCBGQUxTRSwKICAgICAgICAgICAg
ICAgICAgImVuYWJsZS1wbHVnaW5zIiwgVFJVRSwKICAgICAgICAgICAgICAgICAgImVkaXRpbmct
YmVoYXZpb3IiLCBXRUJLSVRfRURJVElOR19CRUhBVklPUl9NQUMsCisgICAgICAgICAgICAgICAg
ICJlbmFibGUtcHJlLWh0bWw1LXBhcnNlci1xdWlya3MiLCBGQUxTRSwKICAgICAgICAgICAgICAg
ICAgTlVMTCk7CiAKICAgICB3ZWJraXRfd2ViX2ZyYW1lX2NsZWFyX21haW5fZnJhbWVfbmFtZSht
YWluRnJhbWUpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRl
c3RDb250cm9sbGVyR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCShyZXZpc2lvbiA2NzgzOCkKKysr
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAgc3RhdGljIGdjaGFyKiBjb3B5V2Vi
U2V0dGluZ0tleShnY2hhciogcAogICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KGtleVRhYmxl
LCBnX3N0cmR1cCgiV2ViS2l0RW5hYmxlQ2FyZXRCcm93c2luZyIpLCBnX3N0cmR1cCgiZW5hYmxl
LWNhcmV0LWJyb3dzaW5nIikpOwogICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KGtleVRhYmxl
LCBnX3N0cmR1cCgiV2ViS2l0VXNlc1BhZ2VDYWNoZVByZWZlcmVuY2VLZXkiKSwgZ19zdHJkdXAo
ImVuYWJsZS1wYWdlLWNhY2hlIikpOwogICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KGtleVRh
YmxlLCBnX3N0cmR1cCgiV2ViS2l0UGx1Z2luc0VuYWJsZWQiKSwgZ19zdHJkdXAoImVuYWJsZS1w
bHVnaW5zIikpOworICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0KGtleVRhYmxlLCBnX3N0cmR1
cCgiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiKSwgZ19zdHJkdXAoImVuYWJsZS1wcmUt
aHRtbDUtcGFyc2VyLXF1aXJrcyIpKTsKICAgICB9CiAKICAgICByZXR1cm4gZ19zdHJkdXAoc3Rh
dGljX2Nhc3Q8Z2NoYXIqPihnX2hhc2hfdGFibGVfbG9va3VwKGtleVRhYmxlLCBwcmVmZXJlbmNl
S2V5KSkpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQkocmV2aXNpb24gNjc4MzgpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1Nyw2ICs0NTcs
NyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsCiAgICAgW3ByZWZl
cmVuY2VzIHNldFVzZXNQYWdlQ2FjaGU6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHTEVu
YWJsZWQ6Tk9dOworICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrczpO
T107CiAKICAgICBbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2Vd
IHNldENvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1h
aW5Eb2N1bWVudERvbWFpbl07CiAKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCShyZXZpc2lvbiA2NzgzOCkKKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xOTEsNiArMTkxLDcgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkKICAg
ICBzZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlBsdWdpbnNFbmFibGVk
KTsKICAgICBzZXR0aW5ncygpLT5yZXNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OkphdmFzY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQpOwogICAgIHNldHRpbmdzKCktPnJlc2V0QXR0cmlidXRlKFFX
ZWJTZXR0aW5nczo6QXV0b0xvYWRJbWFnZXMpOworICAgIHNldHRpbmdzKCktPnJlc2V0QXR0cmli
dXRlKFFXZWJTZXR0aW5nczo6VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpOwogCiAgICAgbV9kcnQt
PmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGZhbHNlKTsK
ICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChmYWxzZSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRU
ZXN0Q29udHJvbGxlclF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAkocmV2aXNpb24gNjc4MzgpCisrKyBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTkxLDYgKzU5MSw4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6Om92ZXJyaWRlUHJlZmUKICAgICAgICAgc2V0dGluZ3MtPnNldEF0dHJpYnV0ZShRV2ViU2V0
dGluZ3M6OlBsdWdpbnNFbmFibGVkLCB2YWx1ZS50b0Jvb2woKSk7CiAgICAgZWxzZSBpZiAobmFt
ZSA9PSAiV2ViS2l0V2ViR0xFbmFibGVkIikKICAgICAgICAgc2V0dGluZ3MtPnNldEF0dHJpYnV0
ZShRV2ViU2V0dGluZ3M6OldlYkdMRW5hYmxlZCwgdmFsdWUudG9Cb29sKCkpOworICAgIGVsc2Ug
aWYgKG5hbWUgPT0gIldlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIikKKyAgICAgICAgc2V0
dGluZ3MtPnNldEF0dHJpYnV0ZShRV2ViU2V0dGluZ3M6OlVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
LCB2YWx1ZS50b0Jvb2woKSk7CiAgICAgZWxzZQogICAgICAgICBwcmludGYoIkVSUk9SOiBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6b3ZlcnJpZGVQcmVmZXJlbmNlKCkgZG9lcyBub3Qgc3VwcG9ydCB0
aGUgJyVzJyBwcmVmZXJlbmNlXG4iLAogICAgICAgICAgICAgbmFtZS50b0xhdGluMSgpLmRhdGEo
KSk7CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVu
ZGVyVHJlZS5jcHAJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMwLDYgKzgzMCw3
IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWwKICAgICAgICAgcHJl
ZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJp
dmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJp
dmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUpOworICAgICAg
ICBwcmVmc1ByaXZhdGUtPnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKEZBTFNFKTsKICAgICB9
CiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhmYWxzZSk7CiAKSW5kZXg6IExheW91dFRlc3Rz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDY3ODM4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04g
KEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNpbmcgY2hh
bmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDA5
NjEKKworICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNl
ci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1
ZS1xdW90ZWQtc3RhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0
bWw1LXBhcnNlci1xdWlyay1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUt
bmFtZS1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUt
cGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRtbDogQWRk
ZWQuCisKIDIwMTAtMDktMTkgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBNb3ZlIHdpbi14cC1zcGVjaWZpYyBiYXNlbGluZXMgdG8gdGhlaXIgcHJv
cGVyIHBsYWNlcy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmtzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3Bh
cnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKK1RoaXMgdGVzdHMgdGhhdCBjZXJ0
YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMgYXJlIGFwcGxpZWQgd2hlbiB0aGUgV2ViS2l0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVyZW5jZSBpcyBzZXQuIFNlZSBodHRwczovL3dlYmtp
dC5vcmcvYi80MDk2MSBmb3IgZGV0YWlscy4KKworICAgICAKKworLS0tLS0tLS0KK0ZyYW1lOiAn
PCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorQWZ0ZXJBdHRyaWJ1
dGVOYW1lU3RhdGU6CitQQVNTCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88
IS0tZnJhbWUxLS0+LS0+JworLS0tLS0tLS0KK0FmdGVyQXR0cmlidXRlVmFsdWVRdW90ZWRTdGF0
ZToKK1BBU1MKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTIt
LT4tLT4nCistLS0tLS0tLQorQXR0cmlidXRlTmFtZVN0YXRlOgorUEFTUworCistLS0tLS0tLQor
RnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMy0tPi0tPicKKy0tLS0tLS0tCitCZWZv
cmVBdHRyaWJ1dGVOYW1lU3RhdGU6CitQQVNTCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWU0LS0+LS0+JworLS0tLS0tLS0KK1RhZ05hbWVTdGF0ZToKK1BBU1MK
KworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTUtLT4tLT4nCist
LS0tLS0tLQorRG9jdW1lbnQgZnJhZ21lbnQ6CitQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACis8c2NyaXB0PgorICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
b3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIsICIxIik7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgfQorPC9zY3Jp
cHQ+CisKKzxwPlRoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBwYXJzZXIgcnVsZXMg
YXJlIGFwcGxpZWQgd2hlbiB0aGUgV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgcHJlZmVy
ZW5jZSBpcyBzZXQuIFNlZSA8YSBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvYi80MDk2MSI+aHR0
cHM6Ly93ZWJraXQub3JnL2IvNDA5NjE8L2E+IGZvciBkZXRhaWxzLjwvcD4KKworPGlmcmFtZSBz
cmM9InJlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS1uYW1l
LXN0YXRlLmh0bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9wcmUtaHRtbDUt
cGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUuaHRtbCI+PC9p
ZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYXR0
cmlidXRlLW5hbWUtc3RhdGUuaHRtbCI+PC9pZnJhbWU+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2Vz
L3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwi
PjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
LXRhZy1uYW1lLXN0YXRlLmh0bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9w
cmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWwiPjwvaWZyYW1lPgor
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNl
ci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFm
dGVyLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRy
aWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcgQEAKKzxkaXY+
CisgICAgQWZ0ZXJBdHRyaWJ1dGVOYW1lU3RhdGU6CisgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0
eTpoaWRkZW4iPgorICAgICAgICA8cD48L3AgYXR0cgorICAgIDwvZGl2PgorICAgIFBBU1MKKzwv
ZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1w
YXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFy
c2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFy
c2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw2IEBACis8ZGl2PgorICAgIEFmdGVyQXR0cmlidXRlVmFsdWVRdW90
ZWRTdGF0ZToKKyAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxw
PjwvcCBhdHRyPSJ2YWx1ZSI8L2Rpdj4KKyAgICBQQVNTCis8L2Rpdj4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWF0dHJpYnV0
ZS1uYW1lLXN0YXRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIv
cmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUt
aHRtbDUtcGFyc2VyLXF1aXJrLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNiBAQAorPGRpdj4KKyAgICBBdHRyaWJ1dGVOYW1lU3RhdGU6CisgICAgPGRp
diBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgorICAgICAgICA8cD48L3AgYXR0cjwvZGl2Pgor
ICAgIFBBU1MKKzwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2Vz
L3ByZS1odG1sNS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1s
NS1wYXJzZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNl
ci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw3IEBACis8ZGl2PgorICAgIEJlZm9yZUF0dHJpYnV0ZU5hbWVTdGF0ZToKKyAgICA8
ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcAorICAgIDwvZGl2
PgorICAgIFBBU1MKKzwvZGl2PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3Vy
Y2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNl
ci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQt
ZnJhZ21lbnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3IEBACitEb2N1bWVudCBmcmFn
bWVudDoKKzxkaXYgaWQ9IndyYXBwZXIiPgorPC9kaXY+CisKKzxzY3JpcHQ+CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoIndyYXBwZXIiKS5pbm5lckhUTUwgPSAiPGRpdiBzdHlsZT0ndmlz
aWJpbGl0eTpoaWRkZW4nPjxwPjwvcDwvZGl2PlBBU1MiOworPC9zY3JpcHQ+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWct
bmFtZS1zdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jl
c291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0YXRlLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBh
cnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYg
QEAKKzxkaXY+CisgICAgVGFnTmFtZVN0YXRlOgorICAgIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6
aGlkZGVuIj4KKyAgICAgICAgPHA+PC9wPC9kaXY+CisgICAgUEFTUworPC9kaXY+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68134</attachid>
            <date>2010-09-20 14:18:27 -0700</date>
            <delta_ts>2010-09-21 00:34:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100920141825.patch</filename>
            <type>text/plain</type>
            <size>26957</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NzgzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMTAtMDktMTcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBhcnNp
bmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NDA5NjEKKworICAgICAgICBBZGQgYW4gb3B0aW9uYWwgcXVpcmsgdG8gdGhlIEhUTUw1IHRv
a2VuaXplciB0aGF0IHJldmVydHMgaXQgdG8gV2ViS2l0J3MKKyAgICAgICAgbGVnYWN5IGJlaGF2
aW9yIHdoZW4gdGhlIHN0YXJ0IG9mIGEgbmV3IHRva2VuIGlzIGVuY291bnRlcmVkIGJlZm9yZSB0
aGUKKyAgICAgICAgY3VycmVudCB0b2tlbiBpcyBmaW5pc2hlZCBwYXJzaW5nLiBUaGUgbGVnYWN5
IGJlaGF2aW9yIGlzIHRvIGVtaXQgdGhlCisgICAgICAgIGN1cnJlbnQgdG9rZW4gYXMgaWYgaXQg
d2VyZSBwcm9wZXJseSBjbG9zZWQgYW5kIGJlaW5nIHBhcnNpbmcgdGhlIG5ldworICAgICAgICB0
b2tlbi4KKworICAgICAgICBUZXN0OiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
cy5odG1sCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIp
OiBJbnN0YW50aWF0ZQorICAgICAgICBtX3Rva2VuaXplciB3aXRoIHRoZSB2YWx1ZSBvZiBTZXR0
aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4KKyAgICAgICAgKFdlYkNvcmU6OnVzZVBy
ZUhUTUxQYXJzZXJRdWlya3MpOiBBZGQgYSBoZWxwZXIgZnVuY3Rpb24gdG8gcmV0dXJuIHRoZQor
ICAgICAgICB2YWx1ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKSBpZiBT
ZXR0aW5ncyBpcyBub24tTlVMTC4KKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MUHJlbG9hZFNj
YW5uZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFByZWxvYWRTY2FubmVyOjpIVE1MUHJl
bG9hZFNjYW5uZXIpOiBJbnN0YW50aWF0ZQorICAgICAgICBtX3Rva2VuaXplciB3aXRoIHRoZSB2
YWx1ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKS4KKyAgICAgICAgKiBo
dG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUb2tl
bml6ZXI6OkhUTUxUb2tlbml6ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRva2VuaXplcjo6
bmV4dFRva2VuKTogSWYgdGhlIHF1aXJrIGlzIGVuYWJsZWQgYW5kIGFuCisgICAgICAgIHVuZXhw
ZWN0ZWQgJzwnIGlzIGVuY291bnRlcmVkIGluIGNlcnRhaW4gc3RhdGVzLCBlbWl0IHRoZSBjdXJy
ZW50IHRva2VuCisgICAgICAgIGFuZCByZXByb2Nlc3MgdGhlICc8JyBhcyB0aGUgc3RhcnQgb2Yg
YSBuZXcgdG9rZW4uCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5oOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRva2VuaXplcjo6Y3JlYXRlKToKKyAgICAgICAgKiBodG1sL3Bh
cnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVmll
d1NvdXJjZVBhcnNlcjo6SFRNTFZpZXdTb3VyY2VQYXJzZXIpOiBJbnN0YW50aWF0ZQorICAgICAg
ICBtX3Rva2VuaXplciB3aXRoIHRoZSB2YWx1ZSBvZiBTZXR0aW5nczo6dXNlUHJlSFRNTDVQYXJz
ZXJRdWlya3MoKS4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjp1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyk6CisKIDIw
MTAtMDktMTkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI2Nzc0OS4KSW5kZXg6IFdlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAJKHJldmlzaW9uIDY3ODM4KQorKysgV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiSFRNTFRyZWVCdWlsZGVyLmgiCiAjaW5jbHVkZSAi
SFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiTmVzdGluZ0xldmVsSW5jcmVtZW50ZXIuaCIKKyNp
bmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlhTU0F1ZGl0b3IuaCIKICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KIApAQCAtNzksNyArODAsNyBAQCBIVE1MVG9rZW5pemVyOjpTdGF0
ZSB0b2tlbml6ZXJTdGF0ZUZvckNvCiAKIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERvY3VtZW50
UGFyc2VyKEhUTUxEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgcmVwb3J0RXJyb3JzKQogICAgIDog
U2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKGRvY3VtZW50KQotICAgICwgbV90b2tlbml6ZXIoSFRN
TFRva2VuaXplcjo6Y3JlYXRlKCkpCisgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUodXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoZG9jdW1lbnQpKSkKICAgICAsIG1fc2NyaXB0
UnVubmVyKEhUTUxTY3JpcHRSdW5uZXI6OmNyZWF0ZShkb2N1bWVudCwgdGhpcykpCiAgICAgLCBt
X3RyZWVCdWlsZGVyKEhUTUxUcmVlQnVpbGRlcjo6Y3JlYXRlKG1fdG9rZW5pemVyLmdldCgpLCBk
b2N1bWVudCwgcmVwb3J0RXJyb3JzKSkKICAgICAsIG1fcGFyc2VyU2NoZWR1bGVyKEhUTUxQYXJz
ZXJTY2hlZHVsZXI6OmNyZWF0ZSh0aGlzKSkKQEAgLTkyLDcgKzkzLDcgQEAgSFRNTERvY3VtZW50
UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSAogLy8gbWluaW1pemUgY29kZSBkdXBsaWNhdGlv
biBiZXR3ZWVuIHRoZXNlIGNvbnN0cnVjdG9ycy4KIEhUTUxEb2N1bWVudFBhcnNlcjo6SFRNTERv
Y3VtZW50UGFyc2VyKERvY3VtZW50RnJhZ21lbnQqIGZyYWdtZW50LCBFbGVtZW50KiBjb250ZXh0
RWxlbWVudCwgRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uIHNjcmlwdGluZ1Blcm1pc3Npb24p
CiAgICAgOiBTY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoZnJhZ21lbnQtPmRvY3VtZW50KCkpCi0g
ICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpjcmVhdGUoKSkKKyAgICAsIG1fdG9rZW5p
emVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZSh1c2VQcmVIVE1MNVBhcnNlclF1aXJrcyhmcmFnbWVu
dC0+ZG9jdW1lbnQoKSkpKQogICAgICwgbV90cmVlQnVpbGRlcihIVE1MVHJlZUJ1aWxkZXI6OmNy
ZWF0ZShtX3Rva2VuaXplci5nZXQoKSwgZnJhZ21lbnQsIGNvbnRleHRFbGVtZW50LCBzY3JpcHRp
bmdQZXJtaXNzaW9uKSkKICAgICAsIG1fZW5kV2FzRGVsYXllZChmYWxzZSkKICAgICAsIG1fd3Jp
dGVOZXN0aW5nTGV2ZWwoMCkKQEAgLTUxNyw1ICs1MTgsMTEgQEAgdm9pZCBIVE1MRG9jdW1lbnRQ
YXJzZXI6OnBhcnNlRG9jdW1lbnRGcgogICAgIEFTU0VSVCghcGFyc2VyLT5wcm9jZXNzaW5nRGF0
YSgpKTsgLy8gTWFrZSBzdXJlIHdlJ3JlIGRvbmUuIDxyZGFyOi8vcHJvYmxlbS8zOTYzMTUxPgog
ICAgIHBhcnNlci0+ZGV0YWNoKCk7IC8vIEFsbG93cyB+RG9jdW1lbnRQYXJzZXIgdG8gYXNzZXJ0
IGl0IHdhcyBkZXRhY2hlZCBiZWZvcmUgZGVzdHJ1Y3Rpb24uCiB9CisgICAgCitib29sIHVzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICBBU1NFUlQoZG9j
dW1lbnQpOworICAgIHJldHVybiBkb2N1bWVudC0+c2V0dGluZ3MoKSAmJiBkb2N1bWVudC0+c2V0
dGluZ3MoKS0+dXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoKTsKK30KIAogfQpJbmRleDogV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oCShyZXZpc2lvbiA2NzgzOCkKKysrIFdl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE0MSw2ICsxNDEsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9lbmRXYXNEZWxheWVkOwogICAg
IHVuc2lnbmVkIG1fd3JpdGVOZXN0aW5nTGV2ZWw7CiB9OworICAgIAorYm9vbCB1c2VQcmVIVE1M
NVBhcnNlclF1aXJrcyhEb2N1bWVudCopOwogCiB9CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2
ICszMSw3IEBACiAjaW5jbHVkZSAiQ1NTSGVscGVyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkhUTUxEb2N1bWVu
dFBhcnNlci5oIgogI2luY2x1ZGUgIkhUTUxUb2tlbml6ZXIuaCIKICNpbmNsdWRlICJIVE1MTGlu
a0VsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKQEAgLTEyMCw3ICsxMjEsNyBAQCBw
cml2YXRlOgogSFRNTFByZWxvYWRTY2FubmVyOjpIVE1MUHJlbG9hZFNjYW5uZXIoRG9jdW1lbnQq
IGRvY3VtZW50KQogICAgIDogbV9kb2N1bWVudChkb2N1bWVudCkKICAgICAsIG1fY3NzU2Nhbm5l
cihkb2N1bWVudCkKLSAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNyZWF0ZSgpKQor
ICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3JlYXRlKHVzZVByZUhUTUw1UGFyc2Vy
UXVpcmtzKGRvY3VtZW50KSkpCiAgICAgLCBtX2JvZHlTZWVuKGZhbHNlKQogICAgICwgbV9pblN0
eWxlKGZhbHNlKQogewpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCShy
ZXZpc2lvbiA2NzgzOCkKKysrIFdlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRva2VuaXplci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwMyw4ICsxMDMsOSBAQCBpbmxpbmUgYm9vbCBpc0VuZFRhZ0J1
ZmZlcmluZ1N0YXRlKEhUTUxUCiAKIH0KIAotSFRNTFRva2VuaXplcjo6SFRNTFRva2VuaXplcigp
CitIVE1MVG9rZW5pemVyOjpIVE1MVG9rZW5pemVyKGJvb2wgdXNlUHJlSFRNTDVQYXJzZXJRdWly
a3MpCiAgICAgOiBtX2lucHV0U3RyZWFtUHJlcHJvY2Vzc29yKHRoaXMpCisgICAgLCBtX3VzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzKHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzKQogewogICAgIHJlc2V0
KCk7CiB9CkBAIC00MzYsNiArNDM3LDggQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4o
U2VnbWVudGVkUwogICAgICAgICAgICAgQURWQU5DRV9UTyhTZWxmQ2xvc2luZ1N0YXJ0VGFnU3Rh
dGUpOwogICAgICAgICBlbHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAgICAgICByZXR1cm4gZW1p
dEFuZFJlc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKKyAgICAgICAgZWxzZSBpZiAobV91c2VQ
cmVIVE1MNVBhcnNlclF1aXJrcyAmJiBjYyA9PSAnPCcpCisgICAgICAgICAgICByZXR1cm4gZW1p
dEFuZFJlY29uc3VtZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKICAgICAgICAgZWxzZSBpZiAoaXNB
U0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YXBwZW5kVG9OYW1lKHRvTG93
ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKFRhZ05hbWVTdGF0ZSk7CkBAIC04
NzcsNiArODgwLDggQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0VG9rZW4oU2VnbWVudGVkUwog
ICAgICAgICAgICAgQURWQU5DRV9UTyhTZWxmQ2xvc2luZ1N0YXJ0VGFnU3RhdGUpOwogICAgICAg
ICBlbHNlIGlmIChjYyA9PSAnPicpCiAgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlc3VtZUlu
KHNvdXJjZSwgRGF0YVN0YXRlKTsKKyAgICAgICAgZWxzZSBpZiAobV91c2VQcmVIVE1MNVBhcnNl
clF1aXJrcyAmJiBjYyA9PSAnPCcpCisgICAgICAgICAgICByZXR1cm4gZW1pdEFuZFJlY29uc3Vt
ZUluKHNvdXJjZSwgRGF0YVN0YXRlKTsKICAgICAgICAgZWxzZSBpZiAoaXNBU0NJSVVwcGVyKGNj
KSkgewogICAgICAgICAgICAgbV90b2tlbi0+YWRkTmV3QXR0cmlidXRlKCk7CiAgICAgICAgICAg
ICBtX3Rva2VuLT5iZWdpbkF0dHJpYnV0ZU5hbWUoc291cmNlLm51bWJlck9mQ2hhcmFjdGVyc0Nv
bnN1bWVkKCkpOwpAQCAtOTA5LDYgKzkxNCw5IEBAIGJvb2wgSFRNTFRva2VuaXplcjo6bmV4dFRv
a2VuKFNlZ21lbnRlZFMKICAgICAgICAgfSBlbHNlIGlmIChjYyA9PSAnPicpIHsKICAgICAgICAg
ICAgIG1fdG9rZW4tPmVuZEF0dHJpYnV0ZU5hbWUoc291cmNlLm51bWJlck9mQ2hhcmFjdGVyc0Nv
bnN1bWVkKCkpOwogICAgICAgICAgICAgcmV0dXJuIGVtaXRBbmRSZXN1bWVJbihzb3VyY2UsIERh
dGFTdGF0ZSk7CisgICAgICAgIH0gZWxzZSBpZiAobV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyAm
JiBjYyA9PSAnPCcpIHsKKyAgICAgICAgICAgIG1fdG9rZW4tPmVuZEF0dHJpYnV0ZU5hbWUoc291
cmNlLm51bWJlck9mQ2hhcmFjdGVyc0NvbnN1bWVkKCkpOworICAgICAgICAgICAgcmV0dXJuIGVt
aXRBbmRSZWNvbnN1bWVJbihzb3VyY2UsIERhdGFTdGF0ZSk7CiAgICAgICAgIH0gZWxzZSBpZiAo
aXNBU0NJSVVwcGVyKGNjKSkgewogICAgICAgICAgICAgbV90b2tlbi0+YXBwZW5kVG9BdHRyaWJ1
dGVOYW1lKHRvTG93ZXJDYXNlKGNjKSk7CiAgICAgICAgICAgICBBRFZBTkNFX1RPKEF0dHJpYnV0
ZU5hbWVTdGF0ZSk7CkBAIC05MzQsNiArOTQyLDggQEAgYm9vbCBIVE1MVG9rZW5pemVyOjpuZXh0
VG9rZW4oU2VnbWVudGVkUwogICAgICAgICAgICAgQURWQU5DRV9UTyhCZWZvcmVBdHRyaWJ1dGVW
YWx1ZVN0YXRlKTsKICAgICAgICAgZWxzZSBpZiAoY2MgPT0gJz4nKQogICAgICAgICAgICAgcmV0
dXJuIGVtaXRBbmRSZXN1bWVJbihzb3VyY2UsIERhdGFTdGF0ZSk7CisgICAgICAgIGVsc2UgaWYg
KG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgJiYgY2MgPT0gJzwnKQorICAgICAgICAgICAgcmV0
dXJuIGVtaXRBbmRSZWNvbnN1bWVJbihzb3VyY2UsIERhdGFTdGF0ZSk7CiAgICAgICAgIGVsc2Ug
aWYgKGlzQVNDSUlVcHBlcihjYykpIHsKICAgICAgICAgICAgIG1fdG9rZW4tPmFkZE5ld0F0dHJp
YnV0ZSgpOwogICAgICAgICAgICAgbV90b2tlbi0+YmVnaW5BdHRyaWJ1dGVOYW1lKHNvdXJjZS5u
dW1iZXJPZkNoYXJhY3RlcnNDb25zdW1lZCgpKTsKQEAgLTEwNzYsNiArMTA4Niw4IEBAIGJvb2wg
SFRNTFRva2VuaXplcjo6bmV4dFRva2VuKFNlZ21lbnRlZFMKICAgICAgICAgICAgIEFEVkFOQ0Vf
VE8oU2VsZkNsb3NpbmdTdGFydFRhZ1N0YXRlKTsKICAgICAgICAgZWxzZSBpZiAoY2MgPT0gJz4n
KQogICAgICAgICAgICAgcmV0dXJuIGVtaXRBbmRSZXN1bWVJbihzb3VyY2UsIERhdGFTdGF0ZSk7
CisgICAgICAgIGVsc2UgaWYgKG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3MgJiYgY2MgPT0gJzwn
KQorICAgICAgICAgICAgcmV0dXJuIGVtaXRBbmRSZWNvbnN1bWVJbihzb3VyY2UsIERhdGFTdGF0
ZSk7CiAgICAgICAgIGVsc2UgaWYgKGNjID09IElucHV0U3RyZWFtUHJlcHJvY2Vzc29yOjplbmRP
ZkZpbGVNYXJrZXIpIHsKICAgICAgICAgICAgIHBhcnNlRXJyb3IoKTsKICAgICAgICAgICAgIFJF
Q09OU1VNRV9JTihEYXRhU3RhdGUpOwpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9r
ZW5pemVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmgJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgICAgIENE
QVRBU2VjdGlvbkRvdWJsZVJpZ2h0U3F1YXJlQnJhY2tldFN0YXRlLAogICAgIH07CiAKLSAgICBz
dGF0aWMgUGFzc093blB0cjxIVE1MVG9rZW5pemVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFB0
cihuZXcgSFRNTFRva2VuaXplcik7IH0KKyAgICBzdGF0aWMgUGFzc093blB0cjxIVE1MVG9rZW5p
emVyPiBjcmVhdGUoYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcykgeyByZXR1cm4gYWRvcHRQ
dHIobmV3IEhUTUxUb2tlbml6ZXIodXNlUHJlSFRNTDVQYXJzZXJRdWlya3MpKTsgfQogICAgIH5I
VE1MVG9rZW5pemVyKCk7CiAKICAgICB2b2lkIHJlc2V0KCk7CkBAIC0yNTQsNyArMjU0LDcgQEAg
cHJpdmF0ZToKICAgICAgICAgYm9vbCBtX3NraXBOZXh0TmV3TGluZTsKICAgICB9OwogCi0gICAg
SFRNTFRva2VuaXplcigpOworICAgIEhUTUxUb2tlbml6ZXIoYm9vbCB1c2VQcmVIVE1MNVBhcnNl
clF1aXJrcyk7CiAKICAgICBpbmxpbmUgYm9vbCBwcm9jZXNzRW50aXR5KFNlZ21lbnRlZFN0cmlu
ZyYpOwogCkBAIC0zMDcsNiArMzA3LDggQEAgcHJpdmF0ZToKIAogICAgIC8vIGh0dHA6Ly93d3cu
d2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvI3ByZXByb2Nlc3NpbmctdGhl
LWlucHV0LXN0cmVhbQogICAgIElucHV0U3RyZWFtUHJlcHJvY2Vzc29yIG1faW5wdXRTdHJlYW1Q
cmVwcm9jZXNzb3I7CisgICAgCisgICAgYm9vbCBtX3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzOwog
fTsKIAogfQpJbmRleDogV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1NvdXJjZVBhcnNl
ci5jcHAJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVmlld1Nv
dXJjZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJIVE1MVmlld1NvdXJjZVBhcnNlci5oIgogCisjaW5jbHVk
ZSAiSFRNTERvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVk
ZSAiSFRNTFZpZXdTb3VyY2VEb2N1bWVudC5oIgogCkBAIC0zMyw3ICszNCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogSFRNTFZpZXdTb3VyY2VQYXJzZXI6OkhUTUxWaWV3U291cmNlUGFyc2Vy
KEhUTUxWaWV3U291cmNlRG9jdW1lbnQqIGRvY3VtZW50KQogICAgIDogRGVjb2RlZERhdGFEb2N1
bWVudFBhcnNlcihkb2N1bWVudCkKLSAgICAsIG1fdG9rZW5pemVyKEhUTUxUb2tlbml6ZXI6OmNy
ZWF0ZSgpKQorICAgICwgbV90b2tlbml6ZXIoSFRNTFRva2VuaXplcjo6Y3JlYXRlKHVzZVByZUhU
TUw1UGFyc2VyUXVpcmtzKGRvY3VtZW50KSkpCiB7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2
aXNpb24gNjc4MzgpCisrKyBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDYsNiArMTQ2LDcgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAjZW5k
aWYKICAgICAsIG1fbWVtb3J5SW5mb0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2ludGVyYWN0aXZl
Rm9ybVZhbGlkYXRpb24oZmFsc2UpCisgICAgLCBtX3VzZVByZUhUTUw1UGFyc2VyUXVpcmtzKGZh
bHNlKQogewogICAgIC8vIEEgRnJhbWUgbWF5IG5vdCBoYXZlIGJlZW4gY3JlYXRlZCB5ZXQsIHNv
IHdlIGluaXRpYWxpemUgdGhlIEF0b21pY1N0cmluZyAKICAgICAvLyBoYXNoIGJlZm9yZSB0cnlp
bmcgdG8gdXNlIGl0LgpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyNiw2ICszMjYsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIGFuZCBodHRwOi8vd2Via2l0Lm9yZy9iLzQwOTA4CiAg
ICAgICAgIHZvaWQgc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQoYm9vbCBmbGFn
KSB7IG1faW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbiA9IGZsYWc7IH0KICAgICAgICAgYm9vbCBp
bnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZXJh
Y3RpdmVGb3JtVmFsaWRhdGlvbjsgfQorICAgICAgICAKKyAgICAgICAgdm9pZCBzZXRVc2VQcmVI
VE1MNVBhcnNlclF1aXJrcyhib29sIGZsYWcpIHsgbV91c2VQcmVIVE1MNVBhcnNlclF1aXJrcyA9
IGZsYWc7IH0KKyAgICAgICAgYm9vbCB1c2VQcmVIVE1MNVBhcnNlclF1aXJrcygpIGNvbnN0IHsg
cmV0dXJuIG1fdXNlUHJlSFRNTDVQYXJzZXJRdWlya3M7IH0KIAogICAgIHByaXZhdGU6CiAgICAg
ICAgIFBhZ2UqIG1fcGFnZTsKQEAgLTQxMyw2ICs0MTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAjZW5kaWYKICAgICAgICAgYm9vbCBtX21lbW9yeUluZm9FbmFibGVkOiAxOwogICAgICAgICBi
b29sIG1faW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbjogMTsKKyAgICAgICAgYm9vbCBtX3VzZVBy
ZUhUTUw1UGFyc2VyUXVpcmtzOiAxOwogCiAjaWYgVVNFKFNBRkFSSV9USEVNRSkKICAgICAgICAg
c3RhdGljIGJvb2wgZ1Nob3VsZFBhaW50TmF0aXZlQ29udHJvbHM7CkluZGV4OiBXZWJLaXQvbWFj
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24g
Njc4MzgpCisrKyBXZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDI0IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChI
VE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5n
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYx
CisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZl
cmVuY2UuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZl
cmVuY2VzIGluaXRpYWxpemVdKTogRGVmYXVsdCBXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJr
cyB0bworICAgICAgICBmYWxzZS4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgdXNlUHJlSFRN
TDVQYXJzZXJRdWlya3NdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0VXNlUHJlSFRN
TDVQYXJzZXJRdWlya3M6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcg
X3ByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbjpdKTogVXBkYXRlIFdlYkNvcmU6OlNldHRp
bmdzCisgICAgICAgIHdpdGggdGhlIHZhbHVlIG9mIFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVp
cmtzIHdoZW4gYSBwcmVmZXJlbmNlCisgICAgICAgIGNoYW5nZXMuCisKIDIwMTAtMDktMTcgIERh
dmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9u
IEZyYXNlci4KSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgJKHJldmlzaW9uIDY3ODM4KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDcgQEAKICNk
ZWZpbmUgV2ViS2l0Q2FjaGVNb2RlbFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDYWNoZU1vZGVsUHJl
ZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0VGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25C
ZWhhdmlvclByZWZlcmVuY2VLZXkgQCJXZWJLaXRUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lv
bkJlaGF2aW9yUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RWRpdGluZ0JlaGF2aW9yUHJl
ZmVyZW5jZUtleSBAIldlYktpdEVkaXRpbmdCZWhhdmlvciIKKyNkZWZpbmUgV2ViS2l0VXNlUHJl
SFRNTDVQYXJzZXJRdWlya3NLZXkgQCJXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrcyIKIAog
Ly8gQ29yZUdyYXBoaWNzIGRlZmVycmVkIHVwZGF0ZXMgYXJlIGRpc2FibGVkIGlmIFdlYktpdEVu
YWJsZUNvYWxlc2NlZFVwZGF0ZXNQcmVmZXJlbmNlS2V5IGlzIHNldAogLy8gdG8gTk8sIG9yIGhh
cyBubyB2YWx1ZS4gIEZvciBjb21wYXRpYmlsaXR5IHdpdGggTWFjIE9TIFggMTAuNC42LCBkZWZl
cnJlZCB1cGRhdGVzIGFyZSBPRkYgYnkKSW5kZXg6IFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0JKHJldmlzaW9uIDY3ODM4KQorKysgV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNjgsNiArMzY4LDcgQEAgKyAodm9pZClpbml0aWFs
aXplCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0RE5TUHJl
ZmV0Y2hpbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOk5PXSwgICBXZWJLaXRGdWxsU2NyZWVuRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0TWVtb3J5SW5mb0VuYWJs
ZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAg
IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aExvbmdMb25nOldlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlOjpub1F1b3Rh
KCldLCBXZWJLaXRBcHBsaWNhdGlvbkNhY2hlVG90YWxRdW90YSwKICAgICAgICAgW05TTnVtYmVy
IG51bWJlcldpdGhMb25nTG9uZzpXZWJDb3JlOjpBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZTo6bm9R
dW90YSgpXSwgV2ViS2l0QXBwbGljYXRpb25DYWNoZURlZmF1bHRPcmlnaW5RdW90YSwKICAgICAg
ICAgbmlsXTsKQEAgLTEzNDEsNiArMTM0MiwxNiBAQCAtICh2b2lkKXNldEVkaXRpbmdCZWhhdmlv
cjooV2ViS2l0RWRpdGluCiAgICAgW3NlbGYgX3NldEludGVnZXJWYWx1ZTpiZWhhdmlvciBmb3JL
ZXk6V2ViS2l0RWRpdGluZ0JlaGF2aW9yUHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJPT0wpdXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTpXZWJLaXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrc0tleV07Cit9CisKKy0gKHZvaWQpc2V0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3M6KEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFs
dWU6ZmxhZyBmb3JLZXk6V2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3NLZXldOworfQorCiAt
ICh2b2lkKWRpZFJlbW92ZUZyb21XZWJWaWV3CiB7CiAgICAgQVNTRVJUKF9wcml2YXRlLT5udW1X
ZWJWaWV3cyk7CkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCShyZXZpc2lvbiA2NzgzOCkKKysrIFdlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjE3LDQgKzIxNyw3IEBAIEBpbnRlcmZhY2Ug
V2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGUpCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFibGVk
OihCT09MKWZsYWc7CiAtIChCT09MKWZ1bGxTY3JlZW5FbmFibGVkOwogCistICh2b2lkKXNldFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzOihCT09MKWZsYWc7CistIChCT09MKXVzZVByZUhUTUw1UGFy
c2VyUXVpcmtzOworCiBAZW5kCkluZGV4OiBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gNjc4
MzgpCisrKyBXZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MTQ1Myw2ICsxNDUzLDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkTm90aWZpY2F0aW9u
OgogICAgIHNldHRpbmdzLT5zZXRGdWxsU2NyZWVuRW5hYmxlZChbcHJlZmVyZW5jZXMgZnVsbFNj
cmVlbkVuYWJsZWRdKTsKICNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRNZW1vcnlJbmZvRW5hYmxl
ZChbcHJlZmVyZW5jZXMgbWVtb3J5SW5mb0VuYWJsZWRdKTsKKyAgICBzZXR0aW5ncy0+c2V0VXNl
UHJlSFRNTDVQYXJzZXJRdWlya3MoW3ByZWZlcmVuY2VzIHVzZVByZUhUTUw1UGFyc2VyUXVpcmtz
XSk7CiAKICAgICAvLyBBcHBsaWNhdGlvbiBDYWNoZSBQcmVmZXJlbmNlcyBhcmUgc3RvcmVkIG9u
IHRoZSBnbG9iYWwgY2FjaGUgc3RvcmFnZSBtYW5hZ2VyLCBub3QgaW4gU2V0dGluZ3MuCiAgICAg
W1dlYkFwcGxpY2F0aW9uQ2FjaGUgc2V0RGVmYXVsdE9yaWdpblF1b3RhOltwcmVmZXJlbmNlcyBh
cHBsaWNhdGlvbkNhY2hlRGVmYXVsdE9yaWdpblF1b3RhXV07CkluZGV4OiBXZWJLaXRUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2
NzgzOCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDEwLTA5LTE3ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChI
VE1MNSBQYXJzZXIpOiBQYWdlcyBicm9rZW4gZHVlIHRvIDx0YWc8dGFnPiBwYXJzaW5nIGNoYW5n
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQwOTYx
CisKKyAgICAgICAgSW1wbGVtZW50IFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZl
cmVuY2UuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06
CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKTogUmVzZXQgV2ViS2l0
VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MKKyAgICAgICAgdG8gZmFsc2UgYWZ0ZXIgYSB0ZXN0IGZp
bmlzaGVzLgorCiAyMDEwLTA5LTE5ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxzc29uLgpJbmRleDogV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gNjc4Mzgp
CisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdv
cmtpbmcgY29weSkKQEAgLTQ1Nyw2ICs0NTcsNyBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRz
VG9Db25zaXN0ZW50VmFsCiAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXNQYWdlQ2FjaGU6Tk9dOwog
ICAgIFtwcmVmZXJlbmNlcyBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZDpZRVNdOwog
ICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHTEVuYWJsZWQ6Tk9dOworICAgIFtwcmVmZXJlbmNlcyBz
ZXRVc2VQcmVIVE1MNVBhcnNlclF1aXJrczpOT107CiAKICAgICBbW05TSFRUUENvb2tpZVN0b3Jh
Z2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIHNldENvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbl07CiAKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDY3ODY4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDktMjAgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJF
R1JFU1NJT04gKEhUTUw1IFBhcnNlcik6IFBhZ2VzIGJyb2tlbiBkdWUgdG8gPHRhZzx0YWc+IHBh
cnNpbmcgY2hhbmdlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDA5NjEKKworICAgICAgICAqIGZhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVp
cmtzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcHJlLWh0bWw1
LXBhcnNlci1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcmVzb3Vy
Y2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXF1b3RlZC1zdGF0ZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1h
dHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3BhcnNlci9y
ZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUtYXR0cmlidXRlLW5hbWUtc3Rh
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1s
NS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFnLW5hbWUtc3Rh
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0OiBTa2lwIHByZS1odG1sNS1wYXJzZXItcXVpcmtzLmh0bWwuCisgICAgICAgICog
cGxhdGZvcm0vZ3RrL1NraXBwZWQ6IFNraXAgcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQ6IFNraXAgcHJlLWh0bWw1LXBhcnNl
ci1xdWlya3MuaHRtbC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOiBTa2lwIHByZS1o
dG1sNS1wYXJzZXItcXVpcmtzLmh0bWwuCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6
IFNraXAgcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbC4KKwogMjAxMC0wOS0yMCAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFy
c2VyLXF1aXJrcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9w
YXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM5IEBACitUaGlzIHRlc3RzIHRoYXQgY2Vy
dGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVzIGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYktpdFVz
ZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZlcmVuY2UgaXMgc2V0LiBTZWUgaHR0cHM6Ly93ZWJr
aXQub3JnL2IvNDA5NjEgZm9yIGRldGFpbHMuCisKKyAgICAgCisKKy0tLS0tLS0tCitGcmFtZTog
JzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK0FmdGVyQXR0cmli
dXRlTmFtZVN0YXRlOgorUEFTUworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8v
PCEtLWZyYW1lMS0tPi0tPicKKy0tLS0tLS0tCitBZnRlckF0dHJpYnV0ZVZhbHVlUXVvdGVkU3Rh
dGU6CitQQVNTCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWUy
LS0+LS0+JworLS0tLS0tLS0KK0F0dHJpYnV0ZU5hbWVTdGF0ZToKK1BBU1MKKworLS0tLS0tLS0K
K0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTMtLT4tLT4nCistLS0tLS0tLQorQmVm
b3JlQXR0cmlidXRlTmFtZVN0YXRlOgorUEFTUworCistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJh
bWVQYXRoIC8vPCEtLWZyYW1lNC0tPi0tPicKKy0tLS0tLS0tCitUYWdOYW1lU3RhdGU6CitQQVNT
CisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJhbWU1LS0+LS0+Jwor
LS0tLS0tLS0KK0RvY3VtZW50IGZyYWdtZW50OgorUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrcy5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3Mu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorPHNjcmlwdD4KKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MiLCAiMSIp
OworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgpOworICAgIH0KKzwvc2Ny
aXB0PgorCis8cD5UaGlzIHRlc3RzIHRoYXQgY2VydGFpbiBwcmUtSFRNTDUgcGFyc2VyIHJ1bGVz
IGFyZSBhcHBsaWVkIHdoZW4gdGhlIFdlYktpdFVzZVByZUhUTUw1UGFyc2VyUXVpcmtzIHByZWZl
cmVuY2UgaXMgc2V0LiBTZWUgPGEgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3JnL2IvNDA5NjEiPmh0
dHBzOi8vd2Via2l0Lm9yZy9iLzQwOTYxPC9hPiBmb3IgZGV0YWlscy48L3A+CisKKzxpZnJhbWUg
c3JjPSJyZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtbmFt
ZS1zdGF0ZS5odG1sIj48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcHJlLWh0bWw1
LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwiPjwv
aWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWF0
dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwiPjwvaWZyYW1lPgorPGlmcmFtZSBzcmM9InJlc291cmNl
cy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1s
Ij48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWly
ay10YWctbmFtZS1zdGF0ZS5odG1sIj48L2lmcmFtZT4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMv
cHJlLWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC5odG1sIj48L2lmcmFtZT4K
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1h
ZnRlci1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0
cmlidXRlLW5hbWUtc3RhdGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3IEBACis8ZGl2
PgorICAgIEFmdGVyQXR0cmlidXRlTmFtZVN0YXRlOgorICAgIDxkaXYgc3R5bGU9InZpc2liaWxp
dHk6aGlkZGVuIj4KKyAgICAgICAgPHA+PC9wIGF0dHIKKyAgICA8L2Rpdj4KKyAgICBQQVNTCis8
L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUt
cGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1ZS1xdW90ZWQtc3RhdGUuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBh
cnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBh
cnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNiBAQAorPGRpdj4KKyAgICBBZnRlckF0dHJpYnV0ZVZhbHVlUXVv
dGVkU3RhdGU6CisgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgorICAgICAgICA8
cD48L3AgYXR0cj0idmFsdWUiPC9kaXY+CisgICAgUEFTUworPC9kaXY+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hdHRyaWJ1
dGUtbmFtZS1zdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2Vy
L3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJl
LWh0bWw1LXBhcnNlci1xdWlyay1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDYgQEAKKzxkaXY+CisgICAgQXR0cmlidXRlTmFtZVN0YXRlOgorICAgIDxk
aXYgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4KKyAgICAgICAgPHA+PC9wIGF0dHI8L2Rpdj4K
KyAgICBQQVNTCis8L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNl
cy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRt
bDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYmVmb3JlLWF0dHJpYnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNyBAQAorPGRpdj4KKyAgICBCZWZvcmVBdHRyaWJ1dGVOYW1lU3RhdGU6CisgICAg
PGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgorICAgICAgICA8cD48L3AKKyAgICA8L2Rp
dj4KKyAgICBQQVNTCis8L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291
cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstZG9jdW1lbnQtZnJhZ21lbnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWRvY3VtZW50
LWZyYWdtZW50Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNyBAQAorRG9jdW1lbnQgZnJh
Z21lbnQ6Cis8ZGl2IGlkPSJ3cmFwcGVyIj4KKzwvZGl2PgorCis8c2NyaXB0PgorICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ3cmFwcGVyIikuaW5uZXJIVE1MID0gIjxkaXYgc3R5bGU9J3Zp
c2liaWxpdHk6aGlkZGVuJz48cD48L3A8L2Rpdj5QQVNTIjsKKzwvc2NyaXB0PgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstdGFn
LW5hbWUtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9y
ZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1zdGF0ZS5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1w
YXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2
IEBACis8ZGl2PgorICAgIFRhZ05hbWVTdGF0ZToKKyAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5
OmhpZGRlbiI+CisgICAgICAgIDxwPjwvcDwvZGl2PgorICAgIFBBU1MKKzwvZGl2PgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dAkocmV2aXNpb24gNjc4MzgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMxNTcsNCArMzE1Nyw3IEBA
IEJVR1dFQkdMIFdJTiBMSU5VWCA6IGZhc3QvY2FudmFzL3dlYmdsL3AKIEJVR1dFQkdMIE1BQyA6
IGZhc3QvY2FudmFzL3dlYmdsL3RleC1pbWFnZS1hbmQtc3ViLWltYWdlLTJkLXdpdGgtdmlkZW8u
aHRtbCA9IFRFWFQgUEFTUwogQlVHV0VCR0wgTUFDIDogZmFzdC9jYW52YXMvd2ViZ2wvdGV4dHVy
ZS1ucG90Lmh0bWwgPSBURVhUCiBCVUdXRUJHTCBXSU4gTElOVVggOiBmYXN0L2NhbnZhcy93ZWJn
bC91bmlmb3JtLWxvY2F0aW9uLmh0bWwgPSBURVhUCi1CVUc1NjIyMCA6IHVzZXJzY3JpcHRzL3Vz
ZXItc2NyaXB0LXRvcC1mcmFtZS1vbmx5Lmh0bWwgPSBURVhUClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorQlVHNTYyMjAgOiB1c2Vyc2NyaXB0cy91c2VyLXNjcmlwdC10b3AtZnJhbWUtb25s
eS5odG1sID0gVEVYVAorCisvLyBQcmUtSFRNTDUgcGFyc2VyIHF1aXJrcyBvbmx5IGFwcGx5IHRv
IHRoZSBtYWMgcG9ydCBmb3Igbm93LgorV09OVEZJWCBTS0lQIDogZmFzdC9wYXJzZXIvcHJlLWh0
bWw1LXBhcnNlci1xdWlya3MuaHRtbCA9IEZBSUwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lw
cGVkCShyZXZpc2lvbiA2NzgzOCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVk
CSh3b3JraW5nIGNvcHkpCkBAIC01OTI1LDMgKzU5MjUsNiBAQCB3ZWJzb2NrZXQvdGVzdHMKIAog
IyB2aWV3cG9ydCBtZXRhIHRhZyBzdXBwb3J0CiBmYXN0L3ZpZXdwb3J0CisKKyMgUHJlLUhNVEw1
IHBhcnNlciBxdWlya3Mgb25seSBhcHBseSB0byB0aGUgbWFjIHBvcnQgZm9yIG5vdy4KK2Zhc3Qv
cGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1NraXBwZWQJKHJldmlzaW9uIDY3ODM4KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0yMDY1LDMgKzIwNjUsNiBAQCBw
bGF0Zm9ybS9tYWMvZmFzdC9ldmVudHMvb2JqYy1ldmVudC1hcGkuCiAjIFdlYktpdFRlc3RSdW5u
ZXIgZG9lc24ndCBoYXZlIGV2ZW50U2VuZGVyLmZpcmVLZXlib2FyZEV2ZW50c1RvRWxlbWVudAog
cGxhdGZvcm0vbWFjL2Zhc3QvZXZlbnRzL29iamMta2V5Ym9hcmQtZXZlbnQtY3JlYXRpb24uaHRt
bAogCisjIFdlYktpdDIgZG9lcyBub3QgKHNob3VsZCBub3Q/KSBzdXBwb3J0IHNldHRpbmcgV2Vi
S2l0VXNlUHJlSFRNTDVQYXJzZXJRdWlya3MKKyMgaW4gaXRzIFdlYlByZWZlcmVuY2VzIGltcGxl
bWVudGF0aW9uLgorZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA2NzgzOCkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTU0NDksMyArNTQ0OSw2IEBA
IGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtMTI3Lmh0bWwKIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQt
Ni5odG1sCiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LTQ1Lmh0bWwKIGZhc3Qvdmlld3BvcnQvdmll
d3BvcnQtNTguaHRtbAorCisjIFByZS1ITVRMNSBwYXJzZXIgcXVpcmtzIG9ubHkgYXBwbHkgdG8g
dGhlIG1hYyBwb3J0IGZvciBub3cuCitmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2VyLXF1aXJr
cy5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkocmV2aXNpb24gNjc4MzgpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtOTk1
LDMgKzk5NSw2IEBAIGZhc3Qvdmlld3BvcnQKIAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDU5ODMKIG1lZGlhL21lZGlhLWNhbi1wbGF5LW1wZWc0LXZpZGVvLmh0
bWwKKworIyBQcmUtSE1UTDUgcGFyc2VyIHF1aXJrcyBvbmx5IGFwcGx5IHRvIHRoZSBtYWMgcG9y
dCBmb3Igbm93LgorZmFzdC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68198</attachid>
            <date>2010-09-21 00:34:20 -0700</date>
            <delta_ts>2010-09-21 03:21:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-40961-20100921003418.patch</filename>
            <type>text/plain</type>
            <size>7664</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDY3OTI4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDktMjEgIEFuZHkgRXN0ZXMgIDxhZXN0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3QgdGhhdCBwYXJzZXIgcXVpcmtzIGFwcGx5IHdoZW4gcHJvY2Vzc2luZyBib3Ro
IHN0YXJ0IGFuZCBlbmQgdGFncy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQwOTYxCisKKyAgICAgICAgKiBmYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFy
c2VyLXF1aXJrcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9wYXJzZXIvcmVzb3VyY2Vz
L3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1h
ZnRlci1hdHRyaWJ1dGUtdmFsdWUtcXVvdGVkLXN0YXRlLmh0bWw6CisgICAgICAgICogZmFzdC9w
YXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZh
bHVlLXVucXVvdGVkLXN0YXRlLmh0bWw6CisgICAgICAgICogZmFzdC9wYXJzZXIvcmVzb3VyY2Vz
L3ByZS1odG1sNS1wYXJzZXItcXVpcmstYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1iZWZvcmUt
YXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3BhcnNlci9yZXNvdXJj
ZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC5odG1sOgorICAgICAg
ICAqIGZhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1l
LXN0YXRlLmh0bWw6CisKIDIwMTAtMDktMjAgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvcGFyc2VyL3ByZS1odG1sNS1wYXJzZXItcXVpcmtzLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9wcmUtaHRtbDUtcGFyc2Vy
LXF1aXJrcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDY3ODkwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9wYXJzZXIvcHJlLWh0bWw1LXBhcnNlci1xdWlya3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC02LDQwICs2LDUwIEBAIFRoaXMgdGVzdHMgdGhhdCBjZXJ0YWluIHByZS1IVE1MNSBw
YXJzZXIKIEZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCiAtLS0tLS0t
LQogQWZ0ZXJBdHRyaWJ1dGVOYW1lU3RhdGU6Ci1QQVNTCitTdGFydCBUYWc6IFBBU1MKK0VuZCBU
YWc6IFBBU1MKIAogLS0tLS0tLS0KIEZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTEt
LT4tLT4nCiAtLS0tLS0tLQogQWZ0ZXJBdHRyaWJ1dGVWYWx1ZVF1b3RlZFN0YXRlOgotUEFTUwor
U3RhcnQgVGFnOiBQQVNTCitFbmQgVGFnOiBQQVNTCiAKIC0tLS0tLS0tCiBGcmFtZTogJzwhLS1m
cmFtZVBhdGggLy88IS0tZnJhbWUyLS0+LS0+JwogLS0tLS0tLS0KIEFmdGVyQXR0cmlidXRlVmFs
dWVVbnF1b3RlZFN0YXRlOgotUEFTUworU3RhcnQgVGFnOiBQQVNTCitFbmQgVGFnOiBQQVNTCisK
KwogCiAtLS0tLS0tLQogRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMy0tPi0tPicK
IC0tLS0tLS0tCiBBdHRyaWJ1dGVOYW1lU3RhdGU6Ci1QQVNTCitTdGFydCBUYWc6IFBBU1MKK0Vu
ZCBUYWc6IFBBU1MKIAogLS0tLS0tLS0KIEZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFt
ZTQtLT4tLT4nCiAtLS0tLS0tLQogQmVmb3JlQXR0cmlidXRlTmFtZVN0YXRlOgotUEFTUworU3Rh
cnQgVGFnOiBQQVNTCitFbmQgVGFnOiBQQVNTCiAKIC0tLS0tLS0tCiBGcmFtZTogJzwhLS1mcmFt
ZVBhdGggLy88IS0tZnJhbWU1LS0+LS0+JwogLS0tLS0tLS0KIERvY3VtZW50IGZyYWdtZW50Ogot
UEFTUworU3RhcnQgVGFnOiBQQVNTCitFbmQgVGFnOiBQQVNTCisKIAogLS0tLS0tLS0KIEZyYW1l
OiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTYtLT4tLT4nCiAtLS0tLS0tLQogVGFnTmFtZVN0
YXRlOgotUEFTUworU3RhcnQgVGFnOiBQQVNTCitFbmQgVGFnOiBQQVNTCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1h
dHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
cGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS1u
YW1lLXN0YXRlLmh0bWwJKHJldmlzaW9uIDY3ODkxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJz
ZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLW5hbWUt
c3RhdGUuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDEzIEBACitBZnRlckF0dHJpYnV0
ZU5hbWVTdGF0ZToKKzxkaXY+CisgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgor
ICAgICAgICA8cCBhdHRyCisgICAgPC9kaXY+CisgICAgU3RhcnQgVGFnOiBQQVNTCis8L2Rpdj4K
IDxkaXY+Ci0gICAgQWZ0ZXJBdHRyaWJ1dGVOYW1lU3RhdGU6CiAgICAgPGRpdiBzdHlsZT0idmlz
aWJpbGl0eTpoaWRkZW4iPgogICAgICAgICA8cD48L3AgYXR0cgogICAgIDwvZGl2PgotICAgIFBB
U1MKKyAgICBFbmQgVGFnOiBQQVNTCiA8L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFy
c2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWFmdGVyLWF0dHJpYnV0ZS12YWx1
ZS1xdW90ZWQtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNl
ci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1hZnRlci1hdHRyaWJ1dGUtdmFsdWUt
cXVvdGVkLXN0YXRlLmh0bWwJKHJldmlzaW9uIDY3ODkxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9w
YXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZh
bHVlLXF1b3RlZC1zdGF0ZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEsMTEgQEAKK0Fm
dGVyQXR0cmlidXRlVmFsdWVRdW90ZWRTdGF0ZToKKzxkaXY+CisgICAgPGRpdiBzdHlsZT0idmlz
aWJpbGl0eTpoaWRkZW4iPgorICAgICAgICA8cCBhdHRyPSJ2YWx1ZSI8L2Rpdj4KKyAgICBTdGFy
dCBUYWc6IFBBU1MKKzwvZGl2PgogPGRpdj4KLSAgICBBZnRlckF0dHJpYnV0ZVZhbHVlUXVvdGVk
U3RhdGU6CiAgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgogICAgICAgICA8cD48
L3AgYXR0cj0idmFsdWUiPC9kaXY+Ci0gICAgUEFTUworICAgIEVuZCBUYWc6IFBBU1MKIDwvZGl2
PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXVucXVvdGVkLXN0YXRlLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJz
ZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXVucXVvdGVkLXN0YXRlLmh0bWwJKHJldmlz
aW9uIDY3ODkxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1s
NS1wYXJzZXItcXVpcmstYWZ0ZXItYXR0cmlidXRlLXZhbHVlLXVucXVvdGVkLXN0YXRlLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzEsMTkgQEAKK0FmdGVyQXR0cmlidXRlVmFsdWVVbnF1
b3RlZFN0YXRlOgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8ZGl2PgotICAgIEFmdGVyQXR0
cmlidXRlVmFsdWVVbnF1b3RlZFN0YXRlOgogICAgIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6aGlk
ZGVuIj4KLSAgICAgICAgPHA+PC9wIGlkPXVucXVvdGVkPC9kaXY+Ci0gICAgRkFJTAorICAgICAg
ICA8cCBpZD1zdGFydDwvZGl2PgorICAgIFN0YXJ0IFRhZzogRkFJTAorPC9kaXY+Cis8ZGl2Pgor
ICAgIDxkaXYgc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIj4KKyAgICAgICAgPHA+PC9wIGlkPWVu
ZDwvZGl2PgorICAgIEVuZCBUYWc6IEZBSUwKIDwvZGl2PgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KIDxzY3JpcHQ+CiAgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpOwotICAgIGlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVucXVvdGVk
IikpCi0gICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MID0gIlBBU1MiOworICAgIGlmICghZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0IikpCisgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9
ICJTdGFydCBUYWc6IFBBU1M8YnI+IjsKKyAgICBpZiAoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbmQiKSkKKyAgICAgICAgY29uc29sZS5pbm5lckhUTUwgKz0gIkVuZCBUYWc6IFBBU1M8YnI+
IjsKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3By
ZS1odG1sNS1wYXJzZXItcXVpcmstYXR0cmlidXRlLW5hbWUtc3RhdGUuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1x
dWlyay1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lvbiA2Nzg5MSkKKysrIExheW91
dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWF0dHJp
YnV0ZS1uYW1lLXN0YXRlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSwxMSBAQAorQXR0
cmlidXRlTmFtZVN0YXRlOgorPGRpdj4KKyAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRl
biI+CisgICAgICAgIDxwIGF0dHI8L2Rpdj4KKyAgICBTdGFydCBUYWc6IFBBU1MKKzwvZGl2Pgog
PGRpdj4KLSAgICBBdHRyaWJ1dGVOYW1lU3RhdGU6CiAgICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0
eTpoaWRkZW4iPgogICAgICAgICA8cD48L3AgYXR0cjwvZGl2PgotICAgIFBBU1MKKyAgICBFbmQg
VGFnOiBQQVNTCiA8L2Rpdj4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNl
cy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRt
bDUtcGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCShyZXZpc2lv
biA2Nzg5MSkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUt
cGFyc2VyLXF1aXJrLWJlZm9yZS1hdHRyaWJ1dGUtbmFtZS1zdGF0ZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDcgKzEsMTMgQEAKK0JlZm9yZUF0dHJpYnV0ZU5hbWVTdGF0ZToKKzxkaXY+Cisg
ICAgPGRpdiBzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iPgorICAgICAgICA8cAorICAgIDwvZGl2
PgorICAgIFN0YXJ0IFRhZzogUEFTUworPC9kaXY+CiA8ZGl2PgotICAgIEJlZm9yZUF0dHJpYnV0
ZU5hbWVTdGF0ZToKICAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CiAgICAgICAg
IDxwPjwvcAogICAgIDwvZGl2PgotICAgIFBBU1MKKyAgICBFbmQgVGFnOiBQQVNTCiA8L2Rpdj4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jlc291cmNlcy9wcmUtaHRtbDUtcGFyc2Vy
LXF1aXJrLWRvY3VtZW50LWZyYWdtZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1wYXJzZXItcXVpcmstZG9jdW1lbnQtZnJh
Z21lbnQuaHRtbAkocmV2aXNpb24gNjc4OTEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L3BhcnNlci9y
ZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay1kb2N1bWVudC1mcmFnbWVudC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNiBAQAogRG9jdW1lbnQgZnJhZ21lbnQ6Ci08ZGl2IGlk
PSJ3cmFwcGVyIj4KLTwvZGl2PgotCis8ZGl2IGlkPSJ3cmFwcGVyIj48L2Rpdj4KIDxzY3JpcHQ+
Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndyYXBwZXIiKS5pbm5lckhUTUwgPSAiPGRp
diBzdHlsZT0ndmlzaWJpbGl0eTpoaWRkZW4nPjxwPjwvcDwvZGl2PlBBU1MiOworICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ3cmFwcGVyIikuaW5uZXJIVE1MICs9ICI8ZGl2IHN0eWxlPSd2
aXNpYmlsaXR5OmhpZGRlbic+PHA8L2Rpdj5TdGFydCBUYWc6IFBBU1M8YnI+IjsKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgid3JhcHBlciIpLmlubmVySFRNTCArPSAiPGRpdiBzdHlsZT0n
dmlzaWJpbGl0eTpoaWRkZW4nPjxwPjwvcDwvZGl2PkVuZCBUYWc6IFBBU1M8YnI+IjsKIDwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9wYXJzZXIvcmVzb3VyY2VzL3ByZS1odG1sNS1w
YXJzZXItcXVpcmstdGFnLW5hbWUtc3RhdGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L3BhcnNlci9yZXNvdXJjZXMvcHJlLWh0bWw1LXBhcnNlci1xdWlyay10YWctbmFtZS1z
dGF0ZS5odG1sCShyZXZpc2lvbiA2Nzg5MSkKKysrIExheW91dFRlc3RzL2Zhc3QvcGFyc2VyL3Jl
c291cmNlcy9wcmUtaHRtbDUtcGFyc2VyLXF1aXJrLXRhZy1uYW1lLXN0YXRlLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSwxMSBAQAorVGFnTmFtZVN0YXRlOgorPGRpdj4KKyAgICA8ZGl2
IHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+CisgICAgICAgIDxwPC9kaXY+CisgICAgU3RhcnQg
VGFnOiBQQVNTCis8L2Rpdj4KIDxkaXY+Ci0gICAgVGFnTmFtZVN0YXRlOgogICAgIDxkaXYgc3R5
bGU9InZpc2liaWxpdHk6aGlkZGVuIj4KICAgICAgICAgPHA+PC9wPC9kaXY+Ci0gICAgUEFTUwor
ICAgIEVuZCBUYWc6IFBBU1MKIDwvZGl2Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>