<?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>87149</bug_id>
          
          <creation_ts>2012-05-22 11:20:57 -0700</creation_ts>
          <short_desc>Move setFrameFlatteningEnabled from layoutTestController to window.internals.settings</short_desc>
          <delta_ts>2013-02-11 13:06:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>87993</dependson>
          <blocked>87284</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jesus Sanchez-Palencia">jesus</reporter>
          <assigned_to name="Jesus Sanchez-Palencia">jesus</assigned_to>
          <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>philn</cc>
    
    <cc>rafael.lobo</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>630571</commentid>
    <comment_count>0</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-22 11:20:57 -0700</bug_when>
    <thetext>Implement setFrameFlatteningEnabled in window.internals and remove duplicated code from WebKitTestRunner and DumpRenderTree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630712</commentid>
    <comment_count>1</comment_count>
      <attachid>143355</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-22 13:45:40 -0700</bug_when>
    <thetext>Created attachment 143355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630726</commentid>
    <comment_count>2</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-22 13:58:03 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=143355) [details]
&gt; Patch

A quick disclaimer: private APIs were removed from Mac and Win ports because I didn&apos;t find on trunk places where they were used. It might be wrong but I need people from other ports to have a look at this and let me know their opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630736</commentid>
    <comment_count>3</comment_count>
      <attachid>143355</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2012-05-22 14:10:09 -0700</bug_when>
    <thetext>Comment on attachment 143355
Patch

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

I have a couple of comments.

&gt; Source/WebKit/mac/ChangeLog:9
&gt; +        Remove Mac private API to get/set the frame flattening setting, since it was only there
&gt; +        for the DRT.

Make sure that Apple developers are OK with this change.

&gt; Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl:83
&gt; +    HRESULT unused4();

It&apos;s OK to call these unused1() and unused2(), and renamed the existing to 3 and 4. To keep them sorted in the file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630755</commentid>
    <comment_count>4</comment_count>
      <attachid>143355</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-22 14:21:08 -0700</bug_when>
    <thetext>Comment on attachment 143355
Patch

Attachment 143355 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12767011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631024</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-22 18:15:48 -0700</bug_when>
    <thetext>In order to build error on gtk, win ports, you should add new symbol to symbol filter file.

 win : Source/WebKit2/win/WebKit2.def
 gtk : Source/autotools/symbols.filter

CC&apos;ing Alexey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631626</commentid>
    <comment_count>6</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-23 06:59:00 -0700</bug_when>
    <thetext>Thanks for the reviews, I will upload a new patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631659</commentid>
    <comment_count>7</comment_count>
      <attachid>143569</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-23 07:47:24 -0700</bug_when>
    <thetext>Created attachment 143569
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631734</commentid>
    <comment_count>8</comment_count>
      <attachid>143569</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-05-23 09:33:31 -0700</bug_when>
    <thetext>Comment on attachment 143569
Patch

Attachment 143569 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12772246</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631787</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-23 10:47:08 -0700</bug_when>
    <thetext>I cannot confidently say whether we need the WebKit1 SPI and/or the WebKitFrameFlatteningEnabled preference, CC&apos;ing some folks who may have the answer.

WebKit2 bundle SPI that you remove in this patch seems unnecessary indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631820</commentid>
    <comment_count>10</comment_count>
      <attachid>143599</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-23 11:10:41 -0700</bug_when>
    <thetext>Created attachment 143599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632823</commentid>
    <comment_count>11</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-24 08:19:39 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I cannot confidently say whether we need the WebKit1 SPI and/or the WebKitFrameFlatteningEnabled preference, CC&apos;ing some folks who may have the answer.
&gt; 
&gt; WebKit2 bundle SPI that you remove in this patch seems unnecessary indeed.

Hey guys, any opinions here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633364</commentid>
    <comment_count>12</comment_count>
      <attachid>143599</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-05-24 16:44:00 -0700</bug_when>
    <thetext>Comment on attachment 143599
Patch

I would take the approach of moving the logic, but *not* removing the preference/SPI from any port.  Leave it to the port maintainers to trim down their own SPIs.  You could put FIXME&apos;s there, but I think tryihng to change another port&apos;s SPI/API is more trouble than it&apos;s worth.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>634139</commentid>
    <comment_count>13</comment_count>
      <attachid>144117</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-25 11:53:55 -0700</bug_when>
    <thetext>Created attachment 144117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636376</commentid>
    <comment_count>14</comment_count>
      <attachid>144607</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-05-29 13:20:36 -0700</bug_when>
    <thetext>Created attachment 144607
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638720</commentid>
    <comment_count>15</comment_count>
      <attachid>144607</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-05-31 14:29:20 -0700</bug_when>
    <thetext>Comment on attachment 144607
Patch

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

&gt; Source/WebKit/win/WebPreferences.h:419
&gt; +    // FIXME: These can be removed after the move from layouttestcontroller

Nit: here and above, i think this needs a bit more qualification. Maybe something like &quot;These can be removed if there are no Apple-internal calls to this. See http://webkit.org/b/87148.&quot;

You don&apos;t need to say the &quot;after the move...&quot; bit because this is the commit that makes that change. Otherwise, it sounds like it&apos;s blocked on something else getting committed.

&gt; Tools/ChangeLog:9
&gt; +        During the InternalsObject reset the behavior is changed back to the platform

nit: s/During/during</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638733</commentid>
    <comment_count>16</comment_count>
      <attachid>144607</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-31 14:47:55 -0700</bug_when>
    <thetext>Comment on attachment 144607
Patch

I think that this is still blocked on Apple comments. Removing coverage without removing an API is evil.

Also, note the new blocking bug. Perhaps moving preference setters to internals was a bad idea in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640522</commentid>
    <comment_count>17</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-06-04 05:59:42 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 144607 [details])
&gt; I think that this is still blocked on Apple comments. Removing coverage without removing an API is evil.

It&apos;s been 2 weeks you CC&apos;ed some Apple guys already, and so far we are still waiting for such comments, Alexey. Would it be possible to get an ETA from Apple as we would like to move forward?

&gt; 
&gt; Also, note the new blocking bug. Perhaps moving preference setters to internals was a bad idea in the first place.

I&apos;m sorry, I&apos;m not following you here. Which new blocking bug?

thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640619</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-06-04 08:45:55 -0700</bug_when>
    <thetext>Sorry, I added it as blocking in other InternalSettings bugs, but forgot to add it here.

I don&apos;t think that we should proceed with this patch before bug 87993 gets resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810889</commentid>
    <comment_count>19</comment_count>
      <attachid>183520</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-18 11:35:05 -0800</bug_when>
    <thetext>Created attachment 183520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810920</commentid>
    <comment_count>20</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-18 12:20:10 -0800</bug_when>
    <thetext>I rewrote this patch now that bug 87993 is resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>811712</commentid>
    <comment_count>21</comment_count>
      <attachid>183520</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-20 17:45:43 -0800</bug_when>
    <thetext>Comment on attachment 183520
Patch

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

&gt; Tools/ChangeLog:3
&gt; +        Move setFrameFlatteningEnabled from layoutTestController to window.internals()

Nit: can you say window.internals.settings?
It will clarify the point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813138</commentid>
    <comment_count>22</comment_count>
      <attachid>184003</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-22 10:20:02 -0800</bug_when>
    <thetext>Created attachment 184003
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>813143</commentid>
    <comment_count>23</comment_count>
      <attachid>184003</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-22 10:21:44 -0800</bug_when>
    <thetext>Comment on attachment 184003
Patch for landing

Actually, let me see if I can add a TestWebKitAPI test for this on Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814710</commentid>
    <comment_count>24</comment_count>
      <attachid>184323</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-23 15:02:32 -0800</bug_when>
    <thetext>Created attachment 184323
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814718</commentid>
    <comment_count>25</comment_count>
      <attachid>184324</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-23 15:07:50 -0800</bug_when>
    <thetext>Created attachment 184324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814721</commentid>
    <comment_count>26</comment_count>
      <attachid>184324</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-23 15:10:05 -0800</bug_when>
    <thetext>Comment on attachment 184324
Patch

Alexey, can you review the latest patch? I had to make a change in WebKit2 so we can still test the preference API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815096</commentid>
    <comment_count>27</comment_count>
      <attachid>184324</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-23 22:44:35 -0800</bug_when>
    <thetext>Comment on attachment 184324
Patch

Attachment 184324 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16065908

New failing tests:
platform/mac/fast/frames/flattening/set-preference.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815164</commentid>
    <comment_count>28</comment_count>
      <attachid>184324</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-24 00:12:37 -0800</bug_when>
    <thetext>Comment on attachment 184324
Patch

Attachment 184324 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16097048

New failing tests:
platform/mac/fast/frames/flattening/set-preference.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>815711</commentid>
    <comment_count>29</comment_count>
      <attachid>184551</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-24 12:15:26 -0800</bug_when>
    <thetext>Created attachment 184551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816012</commentid>
    <comment_count>30</comment_count>
      <attachid>184551</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-01-24 17:07:35 -0800</bug_when>
    <thetext>Comment on attachment 184551
Patch

Oops. Tony is asking @ap for review. I&apos;d cancel my r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817154</commentid>
    <comment_count>31</comment_count>
      <attachid>184551</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-26 00:23:50 -0800</bug_when>
    <thetext>Comment on attachment 184551
Patch

Attachment 184551 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16118722

New failing tests:
fast/frames/flattening/frameset-flattening-advanced.html
compositing/iframes/scrolling-iframe.html
compositing/iframes/iframe-resize.html
compositing/iframes/nested-iframe-scrolling.html
compositing/iframes/connect-compositing-iframe2.html
css2.1/20110323/absolute-replaced-height-014.htm
compositing/iframes/iframe-in-composited-layer.html
editing/input/scroll-viewport-page-up-down.html
http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
css3/flexbox/flexitem.html
compositing/iframes/overlapped-iframe-iframe.html
fast/forms/basic-textareas.html
compositing/iframes/overlapped-iframe.html
compositing/visible-rect/iframe-and-layers.html
compositing/iframes/become-overlapped-iframe.html
compositing/iframes/page-cache-layer-tree.html
css2.1/20110323/absolute-replaced-height-035.htm
css2.1/20110323/absolute-replaced-height-007.htm
compositing/iframes/connect-compositing-iframe3.html
compositing/iframes/enter-compositing-iframe.html
compositing/iframes/iframe-copy-on-scroll.html
compositing/visible-rect/iframe-no-layers.html
css2.1/20110323/absolute-replaced-height-028.htm
compositing/iframes/connect-compositing-iframe.html
compositing/iframes/connect-compositing-iframe-delayed.html
compositing/iframes/composited-parent-iframe.html
compositing/iframes/invisible-nested-iframe-show.html
compositing/iframes/resizer.html
editing/input/option-page-up-down.html
css2.1/20110323/absolute-replaced-height-021.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817886</commentid>
    <comment_count>32</comment_count>
      <attachid>185013</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-01-28 11:10:45 -0800</bug_when>
    <thetext>Created attachment 185013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829863</commentid>
    <comment_count>33</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-11 10:35:51 -0800</bug_when>
    <thetext>Can I get OWNERS approval for the change to WebKit2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830012</commentid>
    <comment_count>34</comment_count>
      <attachid>185013</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 13:06:30 -0800</bug_when>
    <thetext>Comment on attachment 185013
Patch

Clearing flags on attachment: 185013

Committed r142499: &lt;http://trac.webkit.org/changeset/142499&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830014</commentid>
    <comment_count>35</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-11 13:06:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143355</attachid>
            <date>2012-05-22 13:45:40 -0700</date>
            <delta_ts>2012-05-23 07:47:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20120522174500.patch</filename>
            <type>text/plain</type>
            <size>64584</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjY2YjQ5ZDg4NDA0YjEw
Zjk2NDU4OWI1YzcyZTQzM2YwNDIxYzU4Ny4uNjMwMzFhZDRjNTBlMjQyYWI0MjIyZmZmMzRhMTIz
ZTY3Y2ZkMDZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTIyICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJv
bGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSB0byB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLiBObyBuZXcgdGVzdHMsIGJ1dCB0aGlzCisgICAgICAgIGNo
YW5nZSB3aWxsIGFsbG93IG1vcmUgdGVzdHMgdG8gcnVuIGluIFdlYktpdFRlc3RSdW5uZXIgYW5k
IERSVCBmb3IgcG9ydHMgdGhhdCB3ZXJlbid0CisgICAgICAgIGltcGxlbWVudGluZyB0aGlzIGZ1
bmN0aW9uIGJlZm9yZS4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnJlc3RvcmVUbyk6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
OgorICAgICAgICAoSW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmlkbDoKKwogMjAxMi0wNS0yMiAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgog
CiAgICAgICAgIEFTU0VSVHMgaW4gUmVuZGVySW5saW5lOjpsYXlvdXQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDJjNWMxZjFiOWViZThiN2U4NGUzNGRmZDM3OGQwZDgwNTBlYTczYTAuLmE0YjY4YzE1
NzljZDFjYTlkM2E0MGM2ZTgxYWE2OGI2M2EzZmNkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBh
bGVuY2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBNYWMg
cHJpdmF0ZSBBUEkgdG8gZ2V0L3NldCB0aGUgZnJhbWUgZmxhdHRlbmluZyBzZXR0aW5nLCBzaW5j
ZSBpdCB3YXMgb25seSB0aGVyZQorICAgICAgICBmb3IgdGhlIERSVC4KKworICAgICAgICAqIFdl
YktpdC5vcmRlcjoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
OgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlBy
ZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2Vi
VmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDEyLTA1LTE1ICBHYXZpbiBCYXJyYWNs
b3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
cHJpdmF0ZSBuYW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA0NjlkYmVmYTgxMTFmNDU0YmZmYzc4MjM3
OTRhYTZkNmI0YmMwMzE2Li43MzMwZDViZGIyY2VjNGNmYmEzY2JlMWQwOThmZWNlOTZkOTkwNDJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTIyICBKZXN1cyBTYW5j
aGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBN
b3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJvbGxlciB0
byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwog
MjAxMi0wNS0yMSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWly
YUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIE1vdmUgc2V0RWRpdGluZ0JlaGF2aW9yKCkgZnJv
bSBsYXlvdXRUZXN0Q29udHJvbGxlciB0byB3aW5kb3cuaW50ZXJuYWxzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
aW5kZXggNDcxZmVmM2RlNTBjOGJlNzQ5NTYyZDhmMmQxZTk2M2E5OTVkMGExYS4uNWUxZWQxZDVk
Nzk5OTgzZDdhZjU2MTgyNjk0MTZmOTczNWU3MTM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEyLTA1LTIyICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFs
ZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJvbGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIFdpbiBw
cml2YXRlIEFQSSB0byBnZXQvc2V0IGZyYW1lIGZsYXR0ZW5pbmcgc2V0dGluZy4gRm9sbG93IHRo
ZSBwcmV2aW91cworICAgICAgICByZW1vdmFscyB0aGF0IGtlZXAgdGhlIHZpcnR1YWwgZnVuY3Rp
b25zIHRoZXJlIGJ1dCBmYWlsaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoK
KyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6
aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6dW51
c2VkNyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6dW51c2VkOCk6CisgICAgICAgICogV2Vi
UHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzKToKKyAgICAgICAgKiBXZWJW
aWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisK
IDIwMTItMDUtMjEgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVp
cmFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBNb3ZlIHNldEVkaXRpbmdCZWhhdmlvcigpIGZy
b20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IGNhNGQ0YmYxMzE1NTk4NTFmZjg5YzU2NjM0OTIyOWM0ODYxYzIxZjMuLjk4MDI3NzkyZDQxY2Yw
YzY4YzQ5ODc3YjAwNGRjYTYwMjgyOTNmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5i
b3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20g
bGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6CisgICAgICAgIChJbmplY3RlZEJ1bmRsZSk6CisK
IDIwMTItMDUtMjIgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFtRdF0gQ2xlYW4gdXAgaW50ZXJuYWwgdmlld3BvcnQgYW5pbWF0aW9u
IEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXgg
ZWZiMzI4NTg1NTg4N2YyZjA2M2E3YzFjMDEyMGE0YWMwNTE3NjllMy4uODhhODNjMDc0MTgyZTgw
ZmYyN2QxNmRkN2U5Y2Y0Y2JjMWViYjU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwCkBAIC05OSw2ICs5OSw3IEBAIEludGVybmFsU2V0dGluZ3M6Oklu
dGVybmFsU2V0dGluZ3MoRnJhbWUqIGZyYW1lKQogICAgICwgbV9vcmlnaW5hbFNoYWRvd0RPTUVu
YWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhZG93RE9NRW5hYmxlZCgpKQogI2VuZGlm
CiAgICAgLCBtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yKHNldHRpbmdzKCktPmVkaXRpbmdCZWhh
dmlvclR5cGUoKSkKKyAgICAsIG1fb3JpZ2luYWxGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHNldHRp
bmdzKCktPmZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSkKIHsKIH0KIApAQCAtMTExLDYgKzExMiw3
IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6cmVzdG9yZVRvKFNldHRpbmdzKiBzZXR0aW5ncykK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRTaGFkb3dET01FbmFibGVkKG1fb3JpZ2lu
YWxTaGFkb3dET01FbmFibGVkKTsKICNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRFZGl0aW5nQmVo
YXZpb3JUeXBlKG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3IpOworICAgIHNldHRpbmdzLT5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fb3JpZ2luYWxGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKTsK
IH0KIAogU2V0dGluZ3MqIEludGVybmFsU2V0dGluZ3M6OnNldHRpbmdzKCkgY29uc3QKQEAgLTM0
NCw0ICszNDYsMTAgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRFZGl0aW5nQmVoYXZpb3Io
Y29uc3QgU3RyaW5nJiBlZGl0aW5nQmVoYXZpb3IsIEV4Y2VwdGkKICAgICAgICAgZWMgPSBTWU5U
QVhfRVJSOwogfQogCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNl
dHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAgIHNldHRpbmdzKCktPnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmgKaW5kZXggOGRmZGE3NmVkYzhkODU4NzY2YzM3ODIzNzg0YjUwMDc2Njc4
MjJjNi4uZDkwNDhiY2RhZmI0ZmI4MjhhZDY0MmFkMTA2MTEzNTYwMzBiNjQ1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNl
cHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVy
ZShib29sLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRFZGl0aW5nQmVoYXZpb3IoY29u
c3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHZvaWQgcmVzdG9y
ZVRvKFNldHRpbmdzKik7CiAKQEAgLTkzLDYgKzk0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
b3JpZ2luYWxTaGFkb3dET01FbmFibGVkOwogI2VuZGlmCiAgICAgRWRpdGluZ0JlaGF2aW9yVHlw
ZSBtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yOworICAgIGJvb2wgbV9vcmlnaW5hbEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCA2ODg5OTcxZjMxNmZhMWE3
ZDc4N2ZlNjQzZDliOTA3YjJiOTRlNjE1Li4yYzE4NmRiZWQwNjVhNmY2ZDRkNDdlNDI4YmU0NTE4
MTQ2MWI5MWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5p
ZGwKQEAgLTU0LDYgKzU0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0Q1NT
RXhjbHVzaW9uc0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICAgICAgICAgdm9pZCBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShpbiBi
b29sZWFuIGVuYWJsZWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHNldEVk
aXRpbmdCZWhhdmlvcihpbiBET01TdHJpbmcgYmVoYXZpb3IpIHJhaXNlcyhET01FeGNlcHRpb24p
OworICAgICAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFi
bGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJLaXQub3JkZXIgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJLaXQub3Jk
ZXIKaW5kZXggMjdlOTQxZWU3YzY3OTE0MzEyMDhlODBkMmVlYWEwNjYwZTUxNGU2Yy4uYjQ1NzQ5
MjFmNjNjNDkwOWQ2Y2I3MGZjMTI5YTQ3YTNlNmY3ZDIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViS2l0Lm9yZGVyCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYktpdC5vcmRl
cgpAQCAtMTI0LDcgKzEyNCw2IEBAIF9XS05TVVJMUHJvdG9jb2xDbGFzc0ZvclJlcXVlc3QKIC1b
V2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVF
bmFibGVkOl0KIC1bV2ViUHJlZmVyZW5jZXMgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5Ol0K
IC1bV2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0lt
YWdlTG9hZGluZ1ByZWZlcmVuY2U6XQotLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSBzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkOl0KIC1bV2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkgc2V0
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOl0KIC1bV2ViUHJlZmVyZW5jZXMgc2V0VXNlclN0eWxl
U2hlZXRFbmFibGVkOl0KIC1bV2ViUHJlZmVyZW5jZXMgc2V0VXNlc1BhZ2VDYWNoZTpdCkBAIC00
MTMsNyArNDEyLDYgQEAgX1dLQXBwVmVyc2lvbkNoZWNrTGVzc1RoYW4KIC1bV2ViUHJlZmVyZW5j
ZXMoV2ViUHJpdmF0ZSkgd2ViQXVkaW9FbmFibGVkXQogLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2
YXRlKSB3ZWJHTEVuYWJsZWRdCiAtW1dlYlByZWZlcmVuY2VzKFdlYlByaXZhdGUpIGFjY2VsZXJh
dGVkMmRDYW52YXNFbmFibGVkXQotLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSBpc0ZyYW1l
RmxhdHRlbmluZ0VuYWJsZWRdCiAtW1dlYlByZWZlcmVuY2VzKFdlYlByaXZhdGUpIGlzU3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkXQogLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSBwYWdpbmF0
ZUR1cmluZ0xheW91dEVuYWJsZWRdCiAtW1dlYlByZWZlcmVuY2VzKFdlYlByaXZhdGUpIGZ1bGxT
Y3JlZW5FbmFibGVkXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggZTY0ODAxNDY3ZjRmMmYzZTA2ZGQ1NjJiYWVjNmU0
ZjJkODE0MDE4Zi4uNWI1MWRhMGU4OGU2ZmFjOGIwYWFmMTNiZGY3NjkwMjM3MTM5NDBlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJp
dmF0ZS5oCkBAIC0xMDIsNyArMTAyLDYgQEAKICNkZWZpbmUgV2ViS2l0V2ViQXVkaW9FbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkF1ZGlvRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V2Vi
R0xFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkdMRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWNjZWxl
cmF0ZWQyZENhbnZhc0VuYWJsZWQiCi0jZGVmaW5lIFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIKICNkZWZpbmUg
V2ViS2l0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFNwYXRp
YWxOYXZpZ2F0aW9uRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0UGFnaW5hdGVEdXJpbmdMYXlvdXRF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBhZ2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZCIK
ICNkZWZpbmUgV2ViS2l0RE5TUHJlZmV0Y2hpbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dEROU1ByZWZldGNoaW5nRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzLm1tCmluZGV4IDU5MGFkODQxYmU5Mzg0MDAwMjZlZDJiMjYyMzdlNWY5ODRhMzhj
NTYuLjEwZjEzOTQ0NzNlMzBjNGNhNjgyMzc0MTNmYTEzMTVlZjlmNTM3ZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzc2LDcgKzM3Niw2IEBA
IHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U2hvd1JlcGFpbnRDb3Vu
dGVyUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwg
ICBXZWJLaXRXZWJHTEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkUHJlZmVy
ZW5jZUtleSwKLSAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRQcmVmZXJl
bmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0RE5T
UHJlZmV0Y2hpbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJl
cldpdGhCb29sOk5PXSwgICBXZWJLaXRGdWxsU2NyZWVuRW5hYmxlZFByZWZlcmVuY2VLZXksCkBA
IC0xNDIzLDE2ICsxNDIyLDYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0g
bmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0QWNjZWxl
cmF0ZWQyZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTClpc0ZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KLS0gKHZvaWQp
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDooQk9PTClmbGFnCi17Ci0gICAgW3NlbGYgX3NldEJv
b2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleV07Ci19Ci0KIC0gKEJPT0wpaXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQKIHsKICAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWRQcmVmZXJlbmNlS2V5XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDA2YjkwNTdmZGI5NjAzNTdiYzA0NDdlNjA2ZGU0NGJi
NDE1NTEwMzUuLjk2ZjA3NDI1MTE0MGU2OGUzYTU3YTI5OWRkZjFlZWIyOGNjOGQ3YmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApA
QCAtMTIzLDkgKzEyMyw2IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDaGFuZ2Vk
SW50ZXJuYWxOb3RpZmljYXRpb247CiAtIChCT09MKWV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNF
bmFibGVkOwogLSAodm9pZClzZXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZDooQk9P
TClub3RpZmljYXRpb25zRW5hYmxlZDsKIAotLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQ7Ci0tICh2b2lkKXNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZzsKLQogLSAo
Qk9PTClpc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZDsKIC0gKHZvaWQpc2V0U3BhdGlhbE5hdmln
YXRpb25FbmFibGVkOihCT09MKWZsYWc7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQppbmRleCBiOWRjNzY4NTg2MDIzMWE3MTQxNDUyN2ZiN2FmMzZiMDVmZjRlYjY2Li5jMmFjOGYz
NjU2ZjIxMjMxMTlkMjM4ZWU0NWU4NGNiY2MzNzBmMTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCkBAIC0xNDg3LDcgKzE0ODcsNiBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZS
ZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChb
cHJlZmVyZW5jZXMgd2ViR0xFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVk
MmRDYW52YXNFbmFibGVkKFtwcmVmZXJlbmNlcyBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZF0p
OwogICAgIHNldHRpbmdzLT5zZXRMb2FkRGVmZXJyaW5nRW5hYmxlZChzaG91bGRFbmFibGVMb2Fk
RGVmZXJyaW5nKCkpOwotICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtw
cmVmZXJlbmNlcyBpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBpc1NwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRQYWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWQo
W3ByZWZlcmVuY2VzIHBhZ2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZF0pOwogI2lmIEVOQUJMRShD
U1NfU0hBREVSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggZWE3YmQ2M2IzZjRiYzljYWI0
ZGQ2MjI2YjE5ZTYwYzk5NTQ1NjhkNC4uMGI3ZjJhMTc4MTZmZjZiM2NlYzQ0MGYxMTIyMzE1OGQz
MGVkZGE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKQEAgLTI0MiwxMSArMjQyLDYgQEAgdm9p
ZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RHVtcFJlbmRlclRyZWVNb2RlRW5hYmxlZChi
b29sIGIpCiAjZW5kaWYKIH0KIAotdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZChRV2ViUGFnZSogcGFnZSwgYm9vbCBlbmFibGVkKQotewotICAg
IFFXZWJQYWdlUHJpdmF0ZTo6Y29yZShwYWdlKS0+c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
d2ViUGFnZVNldEdyb3VwTmFtZShRV2ViUGFnZSogcGFnZSwgY29uc3QgUVN0cmluZyYgZ3JvdXBO
YW1lKQogewogICAgIHBhZ2UtPmhhbmRsZSgpLT5wYWdlLT5zZXRHcm91cE5hbWUoZ3JvdXBOYW1l
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQuaAppbmRleCAyYzk2ZmIzYTJlZTUwODIzMjQ1NTFjNWVhYTZlYjA4
ZmI1ZmYwODAyLi4yN2YyOTMzMmRkYzFmZjA5YjIyMjgwY2FmNDRiZWE5M2M3NThiMjgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3Vw
cG9ydFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5oCkBAIC0xMTYsNyArMTE2LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIHJlc3VtZUFjdGl2ZURPTU9iamVjdHMoUVdlYkZyYW1lKiBmcmFtZSk7CiAKICAgICBzdGF0
aWMgdm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9y
YmlkZGVuLCBjb25zdCBRU3RyaW5nJiBzY2hlbWUpOwotICAgIHN0YXRpYyB2b2lkIHNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQoUVdlYlBhZ2UqLCBib29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRD
YXJldEJyb3dzaW5nRW5hYmxlZChRV2ViUGFnZSogcGFnZSwgYm9vbCB2YWx1ZSk7CiAgICAgc3Rh
dGljIHZvaWQgc2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoUVdlYlBhZ2UqLCBib29sKTsK
ICAgICBzdGF0aWMgdm9pZCBzZXRNZWRpYVR5cGUoUVdlYkZyYW1lKiBxZnJhbWUsIGNvbnN0IFFT
dHJpbmcmIHR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9J
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKaW5kZXggMmYxZmRlYWU1OGZjNjQ2YmNkMDBhOTZl
OTViYTI2ZGU3NjBjNzQyMi4uOGYxNjZlOTIzYTgzOTU2ZDRlYTYxYTE5NTZiYzVkYTdmNTRjZWRm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVm
ZXJlbmNlc1ByaXZhdGUuaWRsCkBAIC03OSw4ICs3OSw4IEBAIGludGVyZmFjZSBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlIDogSVVua25vd24KICAgICBIUkVTVUxUIGlzWFNTQXVkaXRvckVuYWJsZWQo
W291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNldFhTU0F1ZGl0b3JF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKIAotICAgIEhSRVNVTFQgaXNGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCAqZW5hYmxlZCk7Ci0gICAgSFJFU1VMVCBzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHVu
dXNlZDMoKTsKKyAgICBIUkVTVUxUIHVudXNlZDQoKTsKIAogICAgIEhSRVNVTFQgZXhwZXJpbWVu
dGFsTm90aWZpY2F0aW9uc0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAg
ICBIUkVTVUxUIHNldEV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBl
bmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgK
aW5kZXggOTVlOWY5ZjVmOTI2MzYzZjUxNWIyMWIzMzM0ZTlhN2QxNmE0NTIyNS4uMDM3MzI1MDc0
YmEzZGI5ODhkMGY3NmQwYzVkODI4YWRjYjViNmI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTEzOCw4ICsxMzgsNiBAQAogCiAjZGVmaW5l
IFdlYktpdFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJzUHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlSGln
aFJlc29sdXRpb25UaW1lcnMiCiAKLSNkZWZpbmUgV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZFByZWZlcmVuY2VLZXkgIldlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiCi0KICNkZWZpbmUg
V2ViS2l0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJLaXRTaG93RGVidWdC
b3JkZXJzUHJlZmVyZW5jZUtleSAiV2ViS2l0U2hvd0RlYnVnQm9yZGVycyIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAzOTQ2YjVlNzIwNzVhZWVmZTU1MWQyMzZkNGI4YjE3
NzNmZmU2YTM3Li41MjNiMzI2ODY4N2U1MDg5NWU1NTQ3NTg2MWNkY2VjODY1ZjQ4NDc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0yMDksNyArMjA5LDYgQEAgdm9pZCBX
ZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAgICAgQ0ZEaWN0aW9u
YXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxl
VVJMc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRk
VmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmRQ
cmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1
ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0WFNTQXVkaXRvckVuYWJsZWRQcmVmZXJlbmNlS2V5KSwg
a0NGQm9vbGVhblRydWUpOwotICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNU
UihXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEph
dmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHlQcmVmZXJlbmNlS2V5KSwga0NGQm9v
bGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJL
aXRQbHVnaW5zRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZE
aWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdERhdGFiYXNlc0VuYWJsZWRQ
cmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwpAQCAtODY2LDE4ICs4NjUsMTYgQEAgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0WFNTQXVkaXRvckVuYWJs
ZWQoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLUhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2Vi
UHJlZmVyZW5jZXM6OmlzRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKLSAgICAvKiBbcmV0dmFsXVtv
dXRdICovIEJPT0wqIGVuYWJsZWQpCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjp1bnVzZWQ3KCkK
IHsKLSAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShDRlNUUihXZWJLaXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSkpOwotICAgIHJldHVybiBTX09LOworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBFX0ZBSUw7CiB9CiAKLUhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoCi0g
ICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjp1bnVz
ZWQ4KCkKIHsKLSAgICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZFByZWZlcmVuY2VLZXkpLCBlbmFibGVkKTsKLSAgICByZXR1cm4gU19PSzsKKyAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gRV9GQUlMOwogfQogCiBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjpqYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRv
bWF0aWNhbGx5KCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2Vz
LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGJmYzRkMzE1OWVi
NDA0YThhY2Q2N2QwMjg2YmE0NzJiMjMwNGNhNDEuLjk2NjBjODA1YzU2YjI4ZGIzY2JiY2NjNjcx
NjgxZGE3MzJiZGQ4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVu
Y2VzLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtNDE2LDEx
ICs0MTYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IHNob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJzKAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8g
Qk9PTCogdXNlSGlnaFJlc29sdXRpb25UaW1lcnMpOwogCi0gICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIGlzRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKLSAgICAvKiBbcmV0dmFs
XVtvdXRdICovIEJPT0wqIGVuYWJsZWQpOwotCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoCi0gICAgLyogW2luXSAqLyBCT09M
IGVuYWJsZWQpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSB1bnVzZWQ3
KCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVudXNlZDgoKTsKIAog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRQcmVmZXJlbmNlRm9yVGVz
dCgKICAgICAvKiBbaW5dICovIEJTVFIga2V5LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAppbmRleCBmYWVi
Yzc1MzNhZjZkMmJlMWM0MjVjOTBkNWJmN2UxNGVjMjQ0ZjhlLi45ZjJlMGM1ZWY3ZDVkZTI1OWNi
MmQzMzM4OTg3ZTgwOGQ0OTM5M2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApAQCAtNDg0OSwxMSAr
NDg0OSw2IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJO
b3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRp
bmdzLT5zZXRTaG91bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVycyhlbmFibGVkKTsKIAotICAgIGhy
ID0gcHJlZnNQcml2YXRlLT5pc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoJmVuYWJsZWQpOwotICAg
IGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0gICAgc2V0dGluZ3MtPnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7Ci0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09N
UE9TSVRJTkcpCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdF
bmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5j
cHAKaW5kZXggMjY1MzQxN2JiZDc3NjE0NTFkZTA4OTQyNmUwZDRlZDIzMWY5MDAzYi4uOTE1NzM5
MjVkZDlhODkyOGEzZjkwMDdlOGIwZDc3NjJlZmUwMTg4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5j
cHAKQEAgLTE0MSwxMSArMTQxLDYgQEAgdm9pZCBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zy
b21GaWxlVVJMcyhXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUcKICAgICB0b0lt
cGwoYnVuZGxlUmVmKS0+c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKHRvSW1wbChwYWdl
R3JvdXBSZWYpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdl
R3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKLXsKLSAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7Ci19Ci0K
IHZvaWQgV0tCdW5kbGVTZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oV0tCdW5kbGVSZWYgYnVuZGxl
UmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKIHsK
ICAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0R2VvTG9jYXRpb25QZXJtaXNzaW9uKHRvSW1wbChw
YWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCmlu
ZGV4IDVjNDc2MThjNzFlNzNkNWUyMTkxZDgyOGM0YWVkNTA3MDU0MmIwNWIuLjA5MzM4NjI4Njhm
NGY0YmZlNWU5YmRiNWMyYzliMmI3MzA2NWM0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBy
aXZhdGUuaApAQCAtNjgsNyArNjgsNiBAQCBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZU92ZXJyaWRl
Qm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdLQnVuZGxlUmVmIGJ1bmRsZSwgVwogCiBXS19F
WFBPUlQgdm9pZCBXS0J1bmRsZVNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKFdL
QnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVu
YWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmls
ZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAs
IGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3Jv
dXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEdlb2xvY2F0aW9u
UGVybWlzc2lvbihXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VH
cm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0SmF2YVNjcmlw
dENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3Vw
UmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdy
b3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5k
ZXggNWRiM2RlN2YyYzczYTAxMjEyZDNkZjk5ODFiODU5YzZjZjNiNGEzNy4uOTM3NjZmNmExMDhm
YTg4ODYyYTk0MjI1ZTdmNmNkNjliNGM0NDE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAg
LTE4OSwxMyArMTg5LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QWxsb3dGaWxlQWNjZXNz
RnJvbUZpbGVVUkxzKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAKICAgICAgICAgKCppdGVy
KS0+c2V0dGluZ3MoKS0+c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGVuYWJsZWQpOwog
fQogCi12b2lkIEluamVjdGVkQnVuZGxlOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFdlYlBh
Z2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKLXsKLSAgICBjb25zdCBIYXNo
U2V0PFBhZ2UqPiYgcGFnZXMgPSBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50
aWZpZXIoKSktPnBhZ2VzKCk7Ci0gICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6aXRlcmF0b3IgaXRl
ciA9IHBhZ2VzLmJlZ2luKCk7IGl0ZXIgIT0gcGFnZXMuZW5kKCk7ICsraXRlcikKLSAgICAgICAg
KCppdGVyKS0+c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsK
LX0KLQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0R2VvTG9jYXRpb25QZXJtaXNzaW9uKFdlYlBh
Z2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKIHsKICNpZiBFTkFCTEUoR0VP
TE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5kZXggNjYxMTFmZmJiNjVlOTIxNDQ3YTBiNjA4
MjM1NzI4MzZjMDcwMWNiMy4uMDhjOGNkMDgwNWYxYTkxYmIxOTNjNDBhMmNiYmQ4N2JmN2MxOGYy
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMTA3LDcgKzEwNyw2IEBAIHB1YmxpYzoKICAgICB2
b2lkIG92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFBy
b3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMcyhXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQg
c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7
Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5Kiwg
Ym9vbCk7CiAgICAgdm9pZCBzZXRHZW9Mb2NhdGlvblBlcm1pc3Npb24oV2ViUGFnZUdyb3VwUHJv
eHkqLCBib29sKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoV2Vi
UGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJs
ZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlOGY0MGUxMTk1MTQ1ZTAzZmM2ZGMwYWY4ZDU0Y2E0
MTg1M2ZkMjVhLi5jMDdiZmMzMmYyZDg4NzNkYmYzNDJiMmQwNDlkNmMzMjI1OTNlMThmIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NDIgQEAKKzIwMTItMDUtMjIgIEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxqZXN1cy5wYWxlbmNp
YUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIE1vdmUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCBmcm9tIGxheW91dFRlc3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhlIGltcGxl
bWVudGF0aW9uIG9mIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSBmb3IgZWFjaCBwbGF0Zm9y
bS4gTm90ZSB0aGF0CisgICAgICAgIER1cmluZyB0aGUgSW50ZXJuYWxzT2JqZWN0IHJlc2V0IHRo
ZSBiZWhhdmlvciBpcyBjaGFuZ2VkIGJhY2sgdG8gdGhlIHBsYXRmb3JtCisgICAgICAgIGRlZmF1
bHQsIHdoaWNoIHdhcyBmYWxzZSBmb3IgZXZlcnlvbmUgZm9sbG93aW5nIFNldHRpbmdzJyBkZWZh
dWx0IHZhbHVlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAg
ICAgKExheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFj
a2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6
RHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxh
Y2tCZXJyeS5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250
cm9sbGVyRWZsLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENv
bnRyb2xsZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYlBhZ2U6OnJlc2V0U2V0dGluZ3MpOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3Bw
OgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250
cm9sbGVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVz
dGluZyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xs
ZXIpOgorCiAyMDEyLTA1LTIyICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBJbXBsZW1lbnQgRE9NX0tFWV9MT0NBVElPTl9MRUZUIGFuZCBSSUdIVCBvZiBL
ZXlib2FyZEV2ZW50J3MgbG9jYXRpb24gcHJvcGVydHkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2ZTRhZjIyNTJlNTkxMDkzOGE1MWE2YjYx
MzJjMjIzYWVhYmUwZjcwLi43N2EzNTU1ZDA2Y2RjM2JjZGMzNWI2Yzg4YjYwNzM4MDAzZTNiNTg1
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBA
IC0xNDgxLDE5ICsxNDgxLDYgQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0UHJpbnRpbmdDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24KICAgICByZXR1cm4g
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiB9CiAKLQotc3RhdGljIEpTVmFsdWVSZWYg
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3Vt
ZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKLXsKLSAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgotICAgIGlm
IChhcmd1bWVudENvdW50IDwgMSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOwotCi0gICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0
aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2Jq
ZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChKU1ZhbHVl
VG9Cb29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOwotCi0gICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRBbGxvd1Vu
aXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3Vt
ZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKIHsKICAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgpAQCAtMjM1
OCw3ICsyMzQ1LDYgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0
YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgInNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQi
LCBzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2FkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAg
eyAic2V0RGVmZXJzTG9hZGluZyIsIHNldERlZmVyc0xvYWRpbmdDYWxsYmFjaywga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAog
ICAgICAgICB7ICJzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIiwgc2V0
RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrLCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0g
ICAgICAgIHsgInNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0R2VvbG9jYXRpb25QZXJtaXNz
aW9uIiwgc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAg
eyAic2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyIsIHNldEhhbmRsZXNBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZXNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRJY29uRGF0
YWJhc2VFbmFibGVkIiwgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCBjMDc2MDY3
MjM4NjM4MjU3NTk0YWUwMTgxMjc5MDE1ZjE3NjIwYTcxLi45ZDk2YmRjNGJhYTE4MzVjYzZjMmMz
NGZjNTY0N2YzNzI1YmNiOTBjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RD
b250cm9sbGVyLmgKQEAgLTEyMSw3ICsxMjEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1
ZUZvclVzZXIoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QsIEpTU3RyaW5nUmVm
IHZhbHVlKTsKICAgICB2b2lkIHNldFZpZXdNb2RlTWVkaWFGZWF0dXJlKEpTU3RyaW5nUmVmIG1v
ZGUpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsKLSAgICB2b2lk
IHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldFNjcm9sbGJh
clBvbGljeShKU1N0cmluZ1JlZiBvcmllbnRhdGlvbiwgSlNTdHJpbmdSZWYgcG9saWN5KTsKICAg
ICB2b2lkIHN0YXJ0U3BlZWNoSW5wdXQoSlNDb250ZXh0UmVmIGlucHV0RWxlbWVudCk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCmlu
ZGV4IDcwMTQ1Y2RmNDRmN2NmNGFhMmRjZjZhY2NhYmU0OGVhYWQ5YzQ4ODcuLjVmZTRlZjhhODBk
ZTJlODYzNWE0MDcwNjUxNDhkY2NmMzAxYjBmZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC0yODksNiArMjg5LDcgQEAg
dm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3Rpbmco
KQogICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KCJBcmlhbCIpOwogICAgIHNl
dHRpbmdzLT5zZXRTdGFuZGFyZEZvbnRGYW1pbHkoIlRpbWVzIik7CiAgICAgc2V0dGluZ3MtPnNl
dFhTU0F1ZGl0b3JFbmFibGVkKGZhbHNlKTsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25j
ZSBCbGFja0JlcnJ5IHVzZXMgcmVzZXRJbnRlcm5hbHNPYmplY3Q6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg5OS4KICAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZChmYWxzZSk7CiAgICAgc2V0dGluZ3MtPnNldE1heGltdW1QYWdlc0luQ2Fj
aGUoMCk7CiAgICAgc2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVkKHRydWUpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJs
YWNrQmVycnkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0
Q29udHJvbGxlckJsYWNrQmVycnkuY3BwCmluZGV4IDg0YjUxMGRlMjk2ZWU3MzEyMDNjOWM5MGY5
MmEyYWViNGI5OTY1NTMuLjdiM2UzMDNiNTQ2MDBmNDBhOGQ0OWNjODFkNGMxNjc1YmViMDg5YTUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENv
bnRyb2xsZXJCbGFja0JlcnJ5LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2Jl
cnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKQEAgLTU3MCwxMSArNTcwLDYg
QEAgYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2FsbFNob3VsZENsb3NlT25XZWJWaWV3KCkK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpCi17Ci0gICAgQmxhY2tCZXJyeTo6V2Vi
S2l0OjpEdW1wUmVuZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPnBhZ2UoKS0+c2V0dGluZ3Mo
KS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGUpOwotfQotCiB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCmluZGV4IDJmMTExZWQzOTJlMzRlODQwYjg0
ZjRjNDllYzNkNmVmZDQ5Njk4ZjQuLjRiYmFmYzkxODRlYmUyYWFjNWZmNDVmZDZiMjM4ZmM0OGE3
ZWY0MGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29u
dHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RD
b250cm9sbGVyRWZsLmNwcApAQCAtMzM3LDExICszMzcsNiBAQCB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGZsYWcpCiAgICAgZXdrX3ZpZXdfc2V0
dGluZ19lbmFibGVfeHNzX2F1ZGl0b3Jfc2V0KGJyb3dzZXItPm1haW5WaWV3KCksIGZsYWcpOwog
fQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KGJvb2wgZmxhZykKLXsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVu
aW5nX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZmxhZykKIHsKICAg
ICBld2tfdmlld19zZXR0aW5nX3NwYXRpYWxfbmF2aWdhdGlvbl9zZXQoYnJvd3Nlci0+bWFpblZp
ZXcoKSwgZmxhZyk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0
VGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRl
c3RDb250cm9sbGVyR3RrLmNwcAppbmRleCBkNTc4NzVkNTVlMzc0OWFkOTEzMmQ2ODYzNTgyMWIx
M2FjODZiZGQ4Li44NTgwZTNhYmIxY2NjYmU4MTdiYzhjMzE2ZDFjMjMzYTU2ZjQ1MmQyIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0
ay5jcHAKQEAgLTQxMiwxNSArNDEyLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChz
ZXR0aW5ncyksICJlbmFibGUteHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGZsYWcp
Ci17Ci0gICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92
aWV3KG1haW5GcmFtZSk7Ci0gICAgQVNTRVJUKHZpZXcpOwotCi0gICAgV2ViS2l0V2ViU2V0dGlu
Z3MqIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyh2aWV3KTsKLSAgICBn
X29iamVjdF9zZXQoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLWZyYW1lLWZsYXR0ZW5pbmci
LCBmbGFnLCBOVUxMKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZmxhZykKIHsKICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3
ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA2MjFhN2JlMTI0YmQ1ODI2ZDI4
ZDVlMTI0ZGQzNDAwZDMyNGRiZWIzLi40ZTMzOWQ2YzFmNTAxYzg3YjAyNmM0YmI0MmFlM2JmMjc0
Nzk1YTBhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBA
IC02NDEsNyArNjQxLDYgQEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZh
bHVlcygpCiAgICAgW3ByZWZlcmVuY2VzIHNldERldmVsb3BlckV4dHJhc0VuYWJsZWQ6Tk9dOwog
ICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHk6WUVTXTsKICAgICBb
cHJlZmVyZW5jZXMgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVu
Y2U6Tk9dOwotICAgIFtwcmVmZXJlbmNlcyBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOk5PXTsK
ICAgICBbcHJlZmVyZW5jZXMgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOk5PXTsKICAgICBp
ZiAocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24pIHsKICAgICAgICAgW3ByZWZlcmVu
Y2VzIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb246W05TVVJMIFVSTFdpdGhTdHJpbmc6KE5TU3Ry
aW5nICopKHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uLmdldCgpKV1dOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1t
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmlu
ZGV4IDY3NzM4MjUzNzc5ZGI4YTE0N2IyYWQyYWY2ZjQ2NTQ2MDg0NzdhNDEuLmU2NjVmNjgxNTdh
MDcyMzgwZDE2OGQ0MjNkMzMzZTA5Y2MyY2UyNjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTU4NSwxMSArNTg1LDYg
QEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBl
bmFibGVkKQogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNTQXVk
aXRvckVuYWJsZWQ6ZW5hYmxlZF07CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFtbW21haW5GcmFt
ZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDplbmFibGVk
XTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVy
ZW5jZXNdIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZDplbmFibGVkXTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggYTlmMjdiZjNiZTk0ZTU1
NjM1NWQzZGE0YTE4ODZmMGVmZDA3YTZkOC4uMDY1MzU1NjI0MmU0ZjM4Nzg4OGYwYTBhMzMxYjM2
YmE5YzJhM2RiZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVR
dC5jcHAKQEAgLTE5Miw3ICsxOTIsNiBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQog
CiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldENhcmV0QnJvd3NpbmdFbmFi
bGVkKGZhbHNlKTsKICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0QXV0aG9y
QW5kVXNlclN0eWxlc0VuYWJsZWQodHJ1ZSk7Ci0gICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9s
bGVyKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpOwogICAgIG1fZHJ0LT5sYXlv
dXRUZXN0Q29udHJvbGxlcigpLT5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQodHJ1ZSk7CiAg
ICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldFNlbGVjdFRyYWlsaW5nV2hpdGVz
cGFjZUVuYWJsZWQoZmFsc2UpOwogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5z
ZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
TGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKaW5kZXggYzE2ODNmMTBlMTgyN2Q1NmJlMWM0NWYz
NDRlMjQwMTIzMDNmMzdiMC4uZDdiYTNjNjIwMWFjODVjMTA5NGMxNGVlZWIwZDlhMTY4MmEzZmY5
MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5jcHAKQEAgLTQ0MiwxMSArNDQyLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYgc2MKICAg
ICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6d2ViSW5zcGVjdG9yRXhlY3V0ZVNjcmlwdChtX2Ry
dC0+d2ViUGFnZSgpLCBjYWxsSWQsIHNjcmlwdCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIER1
bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fZHJ0LT53
ZWJQYWdlKCksIGVuYWJsZWQpOwotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpnb0Jh
Y2soKQogewogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpnb0JhY2sobV9kcnQtPndlYlBh
Z2UoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29u
dHJvbGxlclF0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxl
clF0LmgKaW5kZXggNTUxMTY3NjcyYzg0NjU4ZWNhNTQ3MDcyNTEwNDQ2YWMxYWE4Y2EyOS4uOWY3
YmNmM2NhMGE2NTU2ZjI4M2JiYjQ4Nzc3ZWQzOGM1YzU0OGJlMiAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAtMTU0LDcgKzE1NCw2
IEBAIHB1YmxpYyBzbG90czoKICAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBj
YWxsSWQsIGNvbnN0IFFTdHJpbmcmIHNjcmlwdCk7CiAgICAgdm9pZCByZW1vdmVBbGxWaXNpdGVk
TGlua3MoKTsKICAgICB2b2lkIHNldE1lZGlhVHlwZShjb25zdCBRU3RyaW5nJiB0eXBlKTsKLSAg
ICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQg
c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGUpOwogICAgIHZv
aWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lk
IHNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDRlZDhlMGRjNjc1
NjhjZGY3MzAyMTUzYTM5NDMwYTljMWRjYjE2OTcuLmQ5NjZkNzhhYzdiOWI3ZTM1MmRjNjY5MjU1
MjVjOGQxYjM2YjE5YzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1w
UmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcApAQCAtODYyLDcgKzg2Miw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0Nv
bnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICAgICAgcHJl
ZnNQcml2YXRlLT5zZXRTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKEZBTFNFKTsgLy8gRklYTUUg
LSBuZWVkIHRvIG1ha2UgRFJUIHBhc3Mgd2l0aCBXaW5kb3dzIG5hdGl2ZSBjb250cm9scyA8aHR0
cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1OTI+CiAgICAgICAgIHByZWZz
UHJpdmF0ZS0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChUUlVFKTsKICAgICAgICAg
cHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7Ci0gICAgICAgIHByZWZz
UHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZz
UHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUpOwogICAg
ICAgICBwcmVmc1ByaXZhdGUtPnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQ
cmVmZXJlbmNlKEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRIaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkKEZBTFNFKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCmluZGV4IDdlNWVlNzMyMmRhZWU2Mzhj
YjlhNDA5YjhiZGFiY2RlZTYxMWZhNDkuLjc3YzIwNzI5OWFhMzA2MjE2NWU3ODU1ODJiMTdjMDgx
NWZhMmZkYjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0
Q29udHJvbGxlcldpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRl
c3RDb250cm9sbGVyV2luLmNwcApAQCAtNTA0LDIzICs1MDQsNiBAQCB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgcHJlZnNQ
cml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17
Ci0gICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJWaWV3OwotICAgIGlmIChGQUlMRUQoZnJhbWUtPndl
YlZpZXcoJndlYlZpZXcpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQ09NUHRyPElXZWJQcmVm
ZXJlbmNlcz4gcHJlZmVyZW5jZXM7Ci0gICAgaWYgKEZBSUxFRCh3ZWJWaWV3LT5wcmVmZXJlbmNl
cygmcHJlZmVyZW5jZXMpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQ09NUHRyPElXZWJQcmVm
ZXJlbmNlc1ByaXZhdGU+IHByZWZzUHJpdmF0ZShRdWVyeSwgcHJlZmVyZW5jZXMpOwotICAgIGlm
ICghcHJlZnNQcml2YXRlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBwcmVmc1ByaXZhdGUtPnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAg
ICAgLy8gRklYTUU6IEltcGxlbWVudCBmb3IgU3BhdGlhbE5hdmlnYXRpb24gbGF5b3V0IHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xs
ZXJXeC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4
LmNwcAppbmRleCBiNGIxODA2Y2NkYzc3ZjViNzllN2E2NGQzMjg0Y2ExNzYxOWNkM2YxLi4xYWM4
MjI1NTA4MWQ3ZTdkY2JmMWY2ZmQ1N2JhZjNiNDNhODRmMjhjIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcApAQCAtMTg3LDExICsx
ODcsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChi
b29sIGVuYWJsZWQpCiAgICAgLy8gRklYTUU6IGltcGxlbWVudAogfQogCi12b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsK
LSAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKIHsKICAg
ICAvLyBGSVhNRTogaW1wbGVtZW50CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaWRsCmluZGV4IGMzZjkwNDY5YTY2ZmZkNmMxNjVjNjU5YWY0ZjFiMzgzZmI4YTYxMWQu
LmY3ZTc3ODhhY2Q0ODM2YTg0YmVlMjBiNmI2NDZlNGI4ZjI3MjE5NWUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENv
bnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCkBAIC01Myw3ICs1Myw2IEBAIG1vZHVs
ZSBXVFIgewogICAgICAgICB2b2lkIHNldFhTU0F1ZGl0b3JFbmFibGVkKGluIGJvb2xlYW4gdmFs
dWUpOwogICAgICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGlu
IGJvb2xlYW4gdmFsdWUpOwogICAgICAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxl
VVJMcyhpbiBib29sZWFuIHZhbHVlKTsKLSAgICAgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwogICAgICAgICB2b2lkIHNldEdlb2xvY2F0aW9uUGVy
bWlzc2lvbihpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2Fu
QWNjZXNzQ2xpcGJvYXJkKGluIGJvb2xlYW4gdmFsdWUpOwogICAgICAgICB2b2lkIHNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoaW4gYm9vbGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4
IDA1ZDRlYTY4N2IxNDc3MDViMzM2NjFiY2QyODAwMjk1MjMwOGQ1OTUuLmZhMDYxNWZmNGJhYWI3
YWJmMDNlNDA5YTliNDY2MjVmNDdjMmY0NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMjQsNyAr
MjI0LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJl
ZiBzZXR0aW5ncykKICAgICBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQobV9idW5k
bGUsIG1fcGFnZUdyb3VwLCBmYWxzZSk7CiAgICAgV0tCdW5kbGVTd2l0Y2hOZXR3b3JrTG9hZGVy
VG9OZXdUZXN0aW5nU2Vzc2lvbihtX2J1bmRsZSk7CiAgICAgV0tCdW5kbGVTZXRBdXRob3JBbmRV
c2VyU3R5bGVzRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwotICAgIFdLQnVu
ZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNl
KTsKIAogICAgIFdLQnVuZGxlUmVtb3ZlQWxsVXNlckNvbnRlbnQobV9idW5kbGUsIG1fcGFnZUdy
b3VwKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2ZWM2ZjVmZjQ4YzRkYTU2
NTNkOTliZjVjYWU3M2YwMmEyM2I3ZjdkLi5hYTlkMjhiOTkzYjkyNzQ2NGNhZjU5YTY4YTdkNTM4
NWIxNjMxNTBlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMzY2LDExICszNjYs
NiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmls
ZVVSTHMoYm9vbCBlbmFibGVkKQogICAgIFdLQnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZp
bGVVUkxzKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6
OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAg
V0tCdW5kbGVTZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEluamVjdGVkQnVuZGxlOjpzaGFyZWQo
KS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVk
KTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNz
aW9uKGJvb2wgZW5hYmxlZCkKIHsKICAgICBXS0J1bmRsZVNldEdlb2xvY2F0aW9uUGVybWlzc2lv
bihJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXgg
ZDlhMzRkNmJjYTI1YzMzNzU5YzZmNmQ5MmI4YzIxMmY4NzU0MTk1Mi4uNTc1NGRhZWY1ZmJiYzgw
NjA2MjhhNDFhN2I1MzhiNmE5MGRkYzcyNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAt
ODcsNyArODcsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChib29s
KTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwog
ICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwotICAgIHZvaWQg
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEdlb2xvY2F0aW9u
UGVybWlzc2lvbihib29sKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9h
cmQoYm9vbCk7CiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDBhZmQwNzEwNjk1NGViYzhlOGViOThkYmJkMmE5NGQwODk2YzNjZjUuLjgzNDgyODljOTlj
ZmQ0ZTRkYjQxYzIyMDVkYzQ1MjFkYTliY2Q2NzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAx
Mi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3Nz
YS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5
b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9j
cmFzaC1zdmctZG9jdW1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJh
bWUtcmVzaXplLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sOgorICAg
ICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13
aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJv
LXNpemUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWw6CisgICAgICAg
ICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNj
cmVlbi5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxh
eW91dC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctb3V0LW9mLXZpZXcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAg
ICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5odG1sOgorICAgICAgICAqIGZh
c3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6
CisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1uZXN0
aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4v
U2tpcHBlZDoKKwogMjAxMi0wNS0yMiAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgogCiAgICAg
ICAgIEFTU0VSVHMgaW4gUmVuZGVySW5saW5lOjpsYXlvdXQoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1zdmctZG9jdW1lbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWwK
aW5kZXggZWIwM2VhMWM4Zjk2ZWFlOTkxYTMxNTYwNWNhZTUzZmZhOWYyOWQ5NC4uMzU1ZjZlMDg5
YmU4ZDNjY2VhYTFiYzEzYzBkMDBkMDI1MzRhMGNjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1zdmctZG9jdW1lbnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sCkBA
IC0xLDEwICsxLDEwIEBACiA8Ym9keT4KIDxzY3JpcHQ+CiAKLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQogICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
LX0KIAogPC9zY3JpcHQ+CiA8aWZyYW1lIHNyYz0iZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1s
bnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48L3N2Zz4iPjwvaWZyYW1lPlNob3VsZCBu
b3QgY3Jhc2guPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbApp
bmRleCA3Y2Y5OTRlOWY1OThiNzc5MzlkMzFiNzE1YTMxYWNhZjUwODk0YzIxLi5iODgzMmFkYWIy
ZDIzZjE0ZWI2ZmQyMDRmN2UyYmU4ZTAxMWY3OWZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctYWR2YW5jZWQuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8v
IEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zm
c2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbAppbmRl
eCA5NTdjMmVkNWFhZjczYTU5ZTk2NjBmMWJjOWI4MDZkMmJjYjFjZDIwLi45MzQ2MmZmMjhmNzMy
MWNjMjYyOTMyNDc1M2I3MzdjMzFlNTNiMjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlk
Lmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgogICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNp
bXBsZS5odG1sCmluZGV4IDkzZWFhNWVlZTIxM2YyOWQ1OTBjYzUxZGIzOTI0NTZjZjlmNTRmNDIu
LjdmODc4YzJhMWEzZWYxOWE2NGFiNTA0YjYxZWRiMjM3N2EwYTAwYjAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1w
bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDxodG1sPgogPGhlYWQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOwotICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1z
dWJmcmFtZS1yZXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
ZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbAppbmRleCBiNzA2NjYzNzZm
YmE1MDg0Njg2YjM0ZTRlYWE5ODc3NDU2MDczMTE3Li4wZjdiYjhlNjA4NmY2Y2M0MGY3NDk0OTNj
NmY1NThiMDYzZDYzMWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZy
YW1lLXJlc2l6ZS5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQogICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0
cnVlKTsKLSAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVz
ZXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwKaW5kZXggNzIzMTk4Y2RmMjNkYWZjMDE3MWMyOWNj
N2YxMmM0NmE5MjQ1MzhmMS4uZDY2OTY1Mzk2MTA2ZjE5NTMwZDNkYWU4OWVmM2U4YmU5MmVkMWU1
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbApAQCAt
Myw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAg
IGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxh
eW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1m
bGF0dGVuaW5nLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwKaW5kZXggMDJjMGJiZjNlZDRlZGE3YzkzNDli
ZTZlNjU0ZjI3YjRiMzUwYWYwNi4uMjE4MTExZmQ5MjE2YTdiYzAyMWVkMTQ1ZmRkYTQ3NjNkNGRh
ZTg0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbApAQCAtNCw4ICs0LDkgQEAKICAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQorICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgIDwvc2NyaXB0PgogPC9oZWFkPgogPGJv
ZHk+CkBAIC0xOSw4ICsyMCw4IEBACiAgICAgICAgICAgICB2YXIgaSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCdodG1sJylbMF0uY2xpZW50V2lkdGg7IAogICAgICAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVy
bmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxib2R5IG9u
cmVzaXplPSd0ZXN0MigpOyc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQu
aHRtbAppbmRleCAwMjM3Yzc4ZjY0YjZhNjQyMDEwZTAxNjY1MjNlNWQ4MWM1OGM0ZDExLi5mYjFh
NDVlZjVjMTk2NzMxNjI2NzBmYTRjYmM1ZmZlZTM1YjQ2ZGI5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdo
dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
ewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAg
ICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQt
aGVpZ2h0LW5vLXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgt
YW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKaW5kZXgg
ODgwYTllNWZjNmQwZDRkOWQwN2EwZmRkNzFjMWRlN2VkZDAzMDJkNC4uYjhmOWYxYzU0Yjg1Nzdm
NjZjODgzNGQ5MTNkZjQ3ZTZmODg0NGYwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0
LW5vLXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFu
ZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sCkBAIC00LDEw
ICs0LDEwIEBACiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQogICAg
IDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNj
cm9sbGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCmluZGV4
IGZiODY3MTRiMDg0NDE4YzA2Y2Y5YWMyYzU2NTUyNGQ4Yzk5MzJkN2UuLmNlNjFiYjNhZWJkNmQ3
MGMyZmM0NjhhNzU1M2Y0NGY5MDA5YzYxOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdo
dC1uby1zY3JvbGxpbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5n
Lmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5j
aHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsK
ICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1m
aXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sCmluZGV4IDgyYzlmNmY1NmNmZGQz
ZDRlODljZmYxM2Y4N2YzZjU2NTBmZDQ5YzUuLmRjMmRkNGQwOTNjNzIwMGY1Nzc3YmZiOTQxYmVm
ODVhOTM5YzIwYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwKQEAgLTQsMTAgKzQsMTAg
QEAKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgICAgICAvLyBGb3Jj
ZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhl
aWdodDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQt
aGVpZ2h0Lmh0bWwKaW5kZXggYWJkYjY3MjgyOWU4ZDkxNmY3MTQwYTgxYjRhZDZhMzhlZTMzZDI3
ZC4uYTNhN2ZhYTJlNjhjZGUxMGYzYWM1NmI1OGFhMTNjMzJhNzM4NGQyOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhl
ZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWwKQEAg
LTEsMTAgKzEsMTAgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwotICAgICAgICB9Cisg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRt
bAppbmRleCBhNzI0Nzk3ZTg1MzQ0MWU4ODZkYjU2ZGE4YjJkMDMzMDUyODY5ZmM1Li4zZWVmMDUz
Yjg4OTIxMWNkOTdlOWQ2MjU0N2UyNmMxZWNhYWRiN2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1maXhlZC13aWR0aC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAg
ICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAg
ICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1s
CmluZGV4IGYwNjUzYWQwOTNiNDQxNmIwM2Y0MzE3OGY3MzE0NGIwNzVjNDJkYmMuLmUzYzEyYWRj
N2Q4NGE4MDAwODU0Y2UzZGUwM2UwMzhhZDM2NWE2NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1u
ZXN0ZWQuaHRtbApAQCAtOSw4ICs5LDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNl
IHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVp
Z2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbAppbmRl
eCBhOTY2NTEzNDI3Nzg3NDRhYjkzODNmODkyZmE4MGMyMzlmMzlmODg2Li5kMGM4YWZiMjQ0ZDY1
OWVlYzhmZTkxN2NjMTNkZTdiM2QwY2VkNmNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zm
c2NyZWVuLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3Jj
ZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhl
aWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1v
Zi12aWV3LWFuZC1zY3JvbGwuaHRtbAppbmRleCBlZDYxMWE4MGYwYjI2YzJhMDcyMjZmZmE1ODVm
OTM4NWQ0Yzk5YTBjLi5jMTIyYjE1ZDEzOTA2MDI4ZTNkY2EwZTViYmNkYzIzOTM1MTY2NGQ4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3Jv
bGwuaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwt
YW5kLXJlbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVsYXlvdXQuaHRtbAppbmRl
eCBhOTkyNTFjMGM4NTg5ZDZlZDcyMzJhMDg1ZTUyYWYxZDc2N2U4M2EyLi43OTg2M2VkYjBmMzA4
MDY3YmVlZmNhNTE3M2EwYWI3ZGYzODk4MmQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1h
bmQtcmVsYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVsYXlvdXQuaHRtbApA
QCAtMSwxMCArMSwxMCBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIH0K
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAgICBmdW5jdGlv
biB0ZXN0KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5o
dG1sCmluZGV4IGUyNDU1NjBhNmJiMTA1YjE3MzE4ZWYxYTNlNjE5MGE3YzI2YTRlNDEuLjRlODA3
NDZiNDQ4OWVmY2I2NGMwZWYyMzJlOWYwZmJhYWYyMGRlM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3Lmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAg
ICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5i
b2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
c2VsZWN0aW9uLWNyYXNoLmh0bWwKaW5kZXggNDk2MTAwZmU4ODcxNjAwZDlkYmJkYzEzMzJjMjEx
ZmVkZGE4YmNiYS4uYmFkYjUwZDI3YzkyYjVmOGQ4MTkxNGVmOTY0NzM2YmUxMjFmMGJjMyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCkBAIC0yLDEw
ICsyLDEwIEBACiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxh
eW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1z
aW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggNjcyMWJiNGJlNzQ1ZjlkZDEwYmViMjg2MGUwZTAy
NDA0NjgyZDRiNC4uMjcxYjg3NzMwYjFiMjU0Mjk4NzBiOTRmZThmODE4NmMwNzY1ODJmNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
ICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbAppbmRleCBiN2E0ZDBhMjY4
YWJjZTdhOTJlOGIyOTFiOWZjZTE3YTE3MTZkMTA2Li5lYjAxMWViYTYzOTIwMTk5MDczNDVlM2Jj
NmEwMDE4YTBiMjUzZTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtdGlueS5odG1sCkBAIC01LDggKzUsOCBAQAogPHNjcmlwdD4KIGRlc2Ny
aXB0aW9uKCJUZXN0IHRoYXQgZnJhbWUgZmxhdHRlbmluZyBpcyBub3QgdXNlZCBmb3IgdGlueSBm
cmFtZXMuIFRoaXMgdGVzdCByZXF1aXJlcyBEUlQgb3IgdXNlciBhZ2VudCB3aXRoIGZsYXR0ZW5p
bmcgZW5hYmxlZC4iKTsKIAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CiAKIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KGZyYW1lTmFtZSwgZXhw
ZWN0ZWRXaWR0aCwgZXhwZWN0ZWRIZWlnaHQpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRl
bmluZy1zaW1wbGUuaHRtbAppbmRleCA5NTM2NWI3YmY5Y2NmM2M1YjlmNzA5ZGIxMzYyOGQwOGUw
ZTEzNTg4Li5lMzVkZWFmMjRjYzI1N2MxOGI1ZmM0MjJmM2ViYjEzYTFmY2Y5Y2I4IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0
aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTM3LDggKzM3LDggQEAK
IAogICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQogICAgIHsKLSAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAK
ICAgICAgIC8vIHN0YXJ0aW5nIHRoZSB0ZXN0IGl0c2VsZjogZ2V0IHRvIGEga25vd24gcGxhY2Uu
CiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKS5mb2N1cygpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZl
bC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5n
LXJlc291cmNlLmh0bWwKaW5kZXggZmVmMjA2YTMyNTc1YzU1ZTJjZWFlNTk0MWE0M2M5MTVlMTNj
ZmM2Mi4uM2M0MWU0ZGQxNTY2Y2UyNzNlODgxYTEzZjM5NjM2Mjg3MWQ5OWJjNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1u
ZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2lu
Zy1yZXNvdXJjZS5odG1sCkBAIC00LDggKzQsOSBAQAogICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOwogICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgPC9zY3JpcHQ+CiAgICAgPHN0eWxlPmJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsgfTwvc3R5bGU+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4
IGFhODIwYjQ2OTZkY2U2ZTQyMzg0ZTA5ZGUzMmY4ZDA1MGI5ZWFiMmEuLmViZjcyNTEwN2U1M2Fi
YmQzNmE3NzIwN2JiYzdkZjAzYjgxOTFlNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBA
IC05NTUsMTAgKzk1NSw2IEBAIGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tcmVmZXJlci5odG1sCiAj
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzM0OQogaHR0cC90ZXN0
cy9zZWN1cml0eS94c3MtREVOSUVELXdpbmRvdy1vcGVuLWphdmFzY3JpcHQtdXJsLmh0bWwKIAot
IyBTa2lwIGZyYW1lIGZsYXR0ZW5pbmcgdGVzdHMgdW50aWwgaXQgY2FuIGJlIHRlc3RlZCBieSB0
aGlzIERSVAotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI3MTcK
LWZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvCi0KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM0OTMzCiBtZWRpYS92aWRlby1kaXNwbGF5LWFzcGVjdC1yYXRpby5odG1s
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143569</attachid>
            <date>2012-05-23 07:47:24 -0700</date>
            <delta_ts>2012-05-23 11:10:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20120523114641.patch</filename>
            <type>text/plain</type>
            <size>65818</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFmMmI4ZGE5YTRmMjE1
ODM0ODI5MjAxMjdhYTMxZjVhM2IwNTEyMy4uMDBiMjdlODNmMjRjZDgyMGVjNDU1ZmFkY2ZkNDRi
MTNkMGIzOTNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTIyICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJv
bGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSB0byB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLiBObyBuZXcgdGVzdHMsIGJ1dCB0aGlzCisgICAgICAgIGNo
YW5nZSB3aWxsIGFsbG93IG1vcmUgdGVzdHMgdG8gcnVuIGluIFdlYktpdFRlc3RSdW5uZXIgYW5k
IERSVCBmb3IgcG9ydHMgdGhhdCB3ZXJlbid0CisgICAgICAgIGltcGxlbWVudGluZyB0aGlzIGZ1
bmN0aW9uIGJlZm9yZS4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnJlc3RvcmVUbyk6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
OgorICAgICAgICAoSW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmlkbDoKKwogMjAxMi0wNS0yMyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgTGV0IEVsZW1lbnQ6OmRldGFjaEF0dHJpYnV0ZSgpIGhhbmRsZSBy
ZW1vdmFsIG9mIHRoZSBhdHRyaWJ1dGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMTY0NWM0MDE3NDRi
NWFlODliNDhkYjdhNjE3ZjQ2NzYwYjU0MjhiYi4uN2YwOTE0NzYyNzU1Mjg1ZTIyMGFiOTQyNmFm
OTA1ZWY3N2QxNDhjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA1
LTIyICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9y
Zz4KKworICAgICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRU
ZXN0Q29udHJvbGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIE1hYyBwcml2YXRlIEFQSSB0byBnZXQv
c2V0IHRoZSBmcmFtZSBmbGF0dGVuaW5nIHNldHRpbmcsIHNpbmNlIGl0IHdhcyBvbmx5IHRoZXJl
CisgICAgICAgIGZvciB0aGUgRFJULgorCisgICAgICAgICogV2ViS2l0Lm9yZGVyOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6
ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAg
ICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0No
YW5nZWQ6XSk6CisKIDIwMTItMDUtMjIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIGEgcXVpcmsgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IGRlcGVu
ZCBvbiB0aGUgcmVsYXRpdmUgb3JkZXJpbmcgb2YgcHJvZ3Jlc3NDb21wbGV0ZWQvZGlkRmluaXNo
TG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwppbmRleCA0NjlkYmVmYTgxMTFmNDU0YmZmYzc4MjM3OTRhYTZkNmI0
YmMwMzE2Li43MzMwZDViZGIyY2VjNGNmYmEzY2JlMWQwOThmZWNlOTZkOTkwNDJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTIyICBKZXN1cyBTYW5jaGV6LVBhbGVu
Y2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBNb3ZlIHNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJvbGxlciB0byB3aW5kb3cu
aW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwogMjAxMi0wNS0y
MSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9z
c2Eub3JnPgogCiAgICAgICAgIE1vdmUgc2V0RWRpdGluZ0JlaGF2aW9yKCkgZnJvbSBsYXlvdXRU
ZXN0Q29udHJvbGxlciB0byB3aW5kb3cuaW50ZXJuYWxzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggNDcx
ZmVmM2RlNTBjOGJlNzQ5NTYyZDhmMmQxZTk2M2E5OTVkMGExYS4uNWUxZWQxZDVkNzk5OTgzZDdh
ZjU2MTgyNjk0MTZmOTczNWU3MTM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDEyLTA1LTIyICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3Bl
bmJvc3NhLm9yZz4KKworICAgICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJv
bSBsYXlvdXRUZXN0Q29udHJvbGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIFdpbiBwcml2YXRlIEFQ
SSB0byBnZXQvc2V0IGZyYW1lIGZsYXR0ZW5pbmcgc2V0dGluZy4gRm9sbG93IHRoZSBwcmV2aW91
cworICAgICAgICByZW1vdmFscyB0aGF0IGtlZXAgdGhlIHZpcnR1YWwgZnVuY3Rpb25zIHRoZXJl
IGJ1dCBmYWlsaW5nLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6
ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6dW51c2VkNyk6Cisg
ICAgICAgIChXZWJQcmVmZXJlbmNlczo6dW51c2VkOCk6CisgICAgICAgICogV2ViUHJlZmVyZW5j
ZXMuaDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzKToKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoK
KyAgICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6CisKIDIwMTItMDUt
MjEgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJv
c3NhLm9yZz4KIAogICAgICAgICBNb3ZlIHNldEVkaXRpbmdCZWhhdmlvcigpIGZyb20gbGF5b3V0
VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDg5ZTk3N2Y0
ZWRhNTM3ZmQ5MWUyOThiNTczZjA5MTg1NmU4NDc1NjMuLjY2NzU4ODNhMTVjNTdjNjE2ZjA3OWZk
NmI0MzRkYmU1MTlmZmM3MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNS0y
MiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+
CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVz
dENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmg6CisgICAgICAgIChJbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICog
d2luL1dlYktpdDIuZGVmOgorCiAyMDEyLTA1LTIzICBNaWNoYWVsIEJyw7xuaW5nICA8bWljaGFl
bC5icnVuaW5nQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gU21hbGwgcmVmYWN0b3Jp
bmcgV2ViUGFnZTo6Y29uZmlybUNvbXBvc2l0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggZWZiMzI4NTg1NTg4N2YyZjA2M2E3YzFjMDEyMGE0
YWMwNTE3NjllMy4uODhhODNjMDc0MTgyZTgwZmYyN2QxNmRkN2U5Y2Y0Y2JjMWViYjU5YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC05OSw2ICs5
OSw3IEBAIEludGVybmFsU2V0dGluZ3M6OkludGVybmFsU2V0dGluZ3MoRnJhbWUqIGZyYW1lKQog
ICAgICwgbV9vcmlnaW5hbFNoYWRvd0RPTUVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhZG93RE9NRW5hYmxlZCgpKQogI2VuZGlmCiAgICAgLCBtX29yaWdpbmFsRWRpdGluZ0JlaGF2
aW9yKHNldHRpbmdzKCktPmVkaXRpbmdCZWhhdmlvclR5cGUoKSkKKyAgICAsIG1fb3JpZ2luYWxG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKHNldHRpbmdzKCktPmZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
KSkKIHsKIH0KIApAQCAtMTExLDYgKzExMiw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6cmVz
dG9yZVRvKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRTaGFkb3dET01FbmFibGVkKG1fb3JpZ2luYWxTaGFkb3dET01FbmFibGVkKTsKICNlbmRpZgog
ICAgIHNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKG1fb3JpZ2luYWxFZGl0aW5nQmVo
YXZpb3IpOworICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fb3JpZ2lu
YWxGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKTsKIH0KIAogU2V0dGluZ3MqIEludGVybmFsU2V0dGlu
Z3M6OnNldHRpbmdzKCkgY29uc3QKQEAgLTM0NCw0ICszNDYsMTAgQEAgdm9pZCBJbnRlcm5hbFNl
dHRpbmdzOjpzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJiBlZGl0aW5nQmVoYXZpb3Is
IEV4Y2VwdGkKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogfQogCit2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25D
b2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAg
IHNldHRpbmdzKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggOGRmZGE3NmVk
YzhkODU4NzY2YzM3ODIzNzg0YjUwMDc2Njc4MjJjNi4uZDkwNDhiY2RhZmI0ZmI4MjhhZDY0MmFk
MTA2MTEzNTYwMzBiNjQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q1NTRXhjbHVzaW9u
c0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRNZWRp
YVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShib29sLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dm9pZCBzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlv
bkNvZGUmKTsKIAogICAgIHZvaWQgcmVzdG9yZVRvKFNldHRpbmdzKik7CiAKQEAgLTkzLDYgKzk0
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fb3JpZ2luYWxTaGFkb3dET01FbmFibGVkOwogI2Vu
ZGlmCiAgICAgRWRpdGluZ0JlaGF2aW9yVHlwZSBtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yOwor
ICAgIGJvb2wgbV9vcmlnaW5hbEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmlkbAppbmRleCA2ODg5OTcxZjMxNmZhMWE3ZDc4N2ZlNjQzZDliOTA3YjJiOTRlNjE1Li4yYzE4
NmRiZWQwNjVhNmY2ZDRkNDdlNDI4YmU0NTE4MTQ2MWI5MWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTU0LDYgKzU0LDcgQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIHZvaWQgc2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQoaW4gYm9vbGVhbiBl
bmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZXRNZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZShpbiBib29sZWFuIGVuYWJsZWQpIHJhaXNlcyhET01FeGNl
cHRpb24pOwogICAgICAgICB2b2lkIHNldEVkaXRpbmdCZWhhdmlvcihpbiBET01TdHJpbmcgYmVo
YXZpb3IpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lkIHNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAg
ICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJLaXQub3JkZXIgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJLaXQub3JkZXIKaW5kZXggMjdlOTQxZWU3YzY3OTE0MzEyMDhl
ODBkMmVlYWEwNjYwZTUxNGU2Yy4uYjQ1NzQ5MjFmNjNjNDkwOWQ2Y2I3MGZjMTI5YTQ3YTNlNmY3
ZDIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViS2l0Lm9yZGVyCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYktpdC5vcmRlcgpAQCAtMTI0LDcgKzEyNCw2IEBAIF9XS05TVVJM
UHJvdG9jb2xDbGFzc0ZvclJlcXVlc3QKIC1bV2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkgc2V0
T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOl0KIC1bV2ViUHJlZmVyZW5jZXMgc2V0
TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5Ol0KIC1bV2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkg
c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6XQotLVtXZWJQ
cmVmZXJlbmNlcyhXZWJQcml2YXRlKSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOl0KIC1bV2Vi
UHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOl0KIC1b
V2ViUHJlZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkOl0KIC1bV2ViUHJlZmVyZW5j
ZXMgc2V0VXNlc1BhZ2VDYWNoZTpdCkBAIC00MTMsNyArNDEyLDYgQEAgX1dLQXBwVmVyc2lvbkNo
ZWNrTGVzc1RoYW4KIC1bV2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkgd2ViQXVkaW9FbmFibGVk
XQogLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSB3ZWJHTEVuYWJsZWRdCiAtW1dlYlByZWZl
cmVuY2VzKFdlYlByaXZhdGUpIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkXQotLVtXZWJQcmVm
ZXJlbmNlcyhXZWJQcml2YXRlKSBpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWRdCiAtW1dlYlByZWZl
cmVuY2VzKFdlYlByaXZhdGUpIGlzU3BhdGlhbE5hdmlnYXRpb25FbmFibGVkXQogLVtXZWJQcmVm
ZXJlbmNlcyhXZWJQcml2YXRlKSBwYWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWRdCiAtW1dlYlBy
ZWZlcmVuY2VzKFdlYlByaXZhdGUpIGZ1bGxTY3JlZW5FbmFibGVkXQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggMTJi
NTRlN2MwNTg5MGRhZDhjYTg2ZTQ1MmUxM2U1MWEzOGI0MTg1NC4uMjk3OWQzZTdhZjg2YTVmNGQ2
MTZhM2Q4OGIxNDY5N2JjODU3MWFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMDMsNyArMTAzLDYgQEAKICNk
ZWZpbmUgV2ViS2l0V2ViQXVkaW9FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkF1ZGlv
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V2ViR0xFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dFdlYkdMRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQiCi0jZGVmaW5l
IFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCIKICNkZWZpbmUg
V2ViS2l0UGFnaW5hdGVEdXJpbmdMYXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFBh
Z2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0RE5TUHJlZmV0Y2hpbmdF
bmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEROU1ByZWZldGNoaW5nRW5hYmxlZCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IDY3OTYyMzdhNWM2
ZmQ1ZTk4MDI5M2NjNGQ3ZGNmMzQwNWI1MTFiNDYuLjE1ZWM0Y2RiZjRlMDU3OTYyMjk3ZGY4ZDBl
MzVkOGU1NTQzNzZhNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlcy5tbQpAQCAtMzc3LDcgKzM3Nyw2IEBAIHN0YXRpYyBXZWJDYWNoZU1vZGVsIGNhY2hlTW9k
ZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpO
T10sICAgV2ViS2l0U2hvd1JlcGFpbnRDb3VudGVyUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05T
TnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRXZWJHTEVuYWJsZWRQcmVmZXJlbmNl
S2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdEFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkUHJlZmVyZW5jZUtleSwKLSAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5j
ZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRTcGF0
aWFsTmF2aWdhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0RE5TUHJlZmV0Y2hpbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRGdWxsU2Ny
ZWVuRW5hYmxlZFByZWZlcmVuY2VLZXksCkBAIC0xNDM0LDE2ICsxNDMzLDYgQEAgc3RhdGljIE5T
U3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6
ZW5hYmxlZCBmb3JLZXk6V2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKIH0KIAotLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQKLXsKLSAgICByZXR1
cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJl
ZmVyZW5jZUtleV07Ci19Ci0KLS0gKHZvaWQpc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDooQk9P
TClmbGFnCi17Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktleTpXZWJLaXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KIC0gKEJPT0wpaXNTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IDdlODUz
ZmE0NDE4NjgxMzFhMGIxOTVmN2Y4MjJhYzQxZDIxOGU5N2YuLjI3NDEzNDU4OWUzMjVlZDNhMDli
YmIzOTVkZDgyMzZkNWM2ZjlmZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMTI2LDkgKzEyNiw2IEBAIGV4dGVybiBOU1N0
cmluZyAqV2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb247CiAtIChCT09M
KWV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkOwogLSAodm9pZClzZXRFeHBlcmltZW50
YWxOb3RpZmljYXRpb25zRW5hYmxlZDooQk9PTClub3RpZmljYXRpb25zRW5hYmxlZDsKIAotLSAo
Qk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7Ci0tICh2b2lkKXNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQ6KEJPT0wpZmxhZzsKLQogLSAoQk9PTClpc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZDsKIC0gKHZvaWQpc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOihCT09MKWZsYWc7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjOTM4MjNhMzk0MGNhODY2ZmRhYzY2
ZTlkMDU4MWFkZmU2NzBmZTQzLi42ZGM3MmQ4NjVkMmFkMjZmZTNmNWNmZDVhYWIzM2RjMTAzMTI2
MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0xNDk0LDcgKzE0OTQs
NiBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdRdWlyaygpCiAgICAg
c2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChbcHJlZmVyZW5jZXMgd2ViR0xFbmFibGVkXSk7CiAg
ICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkKFtwcmVmZXJlbmNlcyBh
Y2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRMb2FkRGVmZXJy
aW5nRW5hYmxlZChzaG91bGRFbmFibGVMb2FkRGVmZXJyaW5nKCkpOwotICAgIHNldHRpbmdzLT5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0ZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKFtwcmVm
ZXJlbmNlcyBpc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZF0pOwogICAgIHNldHRpbmdzLT5zZXRQ
YWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWQoW3ByZWZlcmVuY2VzIHBhZ2luYXRlRHVyaW5nTGF5
b3V0RW5hYmxlZF0pOwogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5j
cHAKaW5kZXggZWE3YmQ2M2IzZjRiYzljYWI0ZGQ2MjI2YjE5ZTYwYzk5NTQ1NjhkNC4uMGI3ZjJh
MTc4MTZmZjZiM2NlYzQ0MGYxMTIyMzE1OGQzMGVkZGE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5j
cHAKQEAgLTI0MiwxMSArMjQyLDYgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0
RHVtcFJlbmRlclRyZWVNb2RlRW5hYmxlZChib29sIGIpCiAjZW5kaWYKIH0KIAotdm9pZCBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChRV2ViUGFnZSog
cGFnZSwgYm9vbCBlbmFibGVkKQotewotICAgIFFXZWJQYWdlUHJpdmF0ZTo6Y29yZShwYWdlKS0+
c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9p
ZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6d2ViUGFnZVNldEdyb3VwTmFtZShRV2ViUGFnZSog
cGFnZSwgY29uc3QgUVN0cmluZyYgZ3JvdXBOYW1lKQogewogICAgIHBhZ2UtPmhhbmRsZSgpLT5w
YWdlLT5zZXRHcm91cE5hbWUoZ3JvdXBOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAppbmRleCAyYzk2
ZmIzYTJlZTUwODIzMjQ1NTFjNWVhYTZlYjA4ZmI1ZmYwODAyLi4yN2YyOTMzMmRkYzFmZjA5YjIy
MjgwY2FmNDRiZWE5M2M3NThiMjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCkBAIC0xMTYsNyArMTE2
LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJlc3VtZUFjdGl2ZURPTU9iamVjdHMoUVdl
YkZyYW1lKiBmcmFtZSk7CiAKICAgICBzdGF0aWMgdm9pZCBzZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBjb25zdCBRU3RyaW5nJiBzY2hlbWUp
OwotICAgIHN0YXRpYyB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoUVdlYlBhZ2UqLCBi
b29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRDYXJldEJyb3dzaW5nRW5hYmxlZChRV2ViUGFnZSog
cGFnZSwgYm9vbCB2YWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgc2V0QXV0aG9yQW5kVXNlclN0eWxl
c0VuYWJsZWQoUVdlYlBhZ2UqLCBib29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRNZWRpYVR5cGUo
UVdlYkZyYW1lKiBxZnJhbWUsIGNvbnN0IFFTdHJpbmcmIHR5cGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbCBiL1Nv
dXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwKaW5k
ZXggMmYxZmRlYWU1OGZjNjQ2YmNkMDBhOTZlOTViYTI2ZGU3NjBjNzQyMi4uMzEwNzFkYjVmYWNi
ZTkwZTVmZjE2MGI5ODRlMmQwYThjZjg3ZmIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCkBAIC03OSw4ICs3
OSw4IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlIDogSVVua25vd24KICAgICBI
UkVTVUxUIGlzWFNTQXVkaXRvckVuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsK
ICAgICBIUkVTVUxUIHNldFhTU0F1ZGl0b3JFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKIAot
ICAgIEhSRVNVTFQgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCAq
ZW5hYmxlZCk7Ci0gICAgSFJFU1VMVCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtpbl0gQk9P
TCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHVudXNlZDEoKTsKKyAgICBIUkVTVUxUIHVudXNlZDIo
KTsKIAogICAgIEhSRVNVTFQgZXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0VuYWJsZWQoW291dCwg
cmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNldEV4cGVyaW1lbnRhbE5vdGlm
aWNhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKQEAgLTkyLDggKzkyLDggQEAgaW50
ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUgOiBJVW5rbm93bgogICAgIC8vIFVzZWQgYnkg
RHVtcFJlbmRlclRyZWUuCiAgICAgSFJFU1VMVCBzZXRQcmVmZXJlbmNlRm9yVGVzdChbaW5dIEJT
VFIga2V5LCBbaW5dIEJTVFIgdmFsdWUpOwogCi0gICAgSFJFU1VMVCB1bnVzZWQxKCk7Ci0gICAg
SFJFU1VMVCB1bnVzZWQyKCk7CisgICAgSFJFU1VMVCB1bnVzZWQzKCk7CisgICAgSFJFU1VMVCB1
bnVzZWQ0KCk7CiAKICAgICBIUkVTVUxUIHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
KFtpbl0gQk9PTCk7CiAgICAgSFJFU1VMVCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChb
b3V0LCByZXR2YWxdIEJPT0wqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgKaW5kZXggOTVlOWY5ZjVmOTI2MzYzZjUxNWIyMWIzMzM0ZTlhN2QxNmE0NTIy
NS4uMDM3MzI1MDc0YmEzZGI5ODhkMGY3NmQwYzVkODI4YWRjYjViNmI0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAgLTEzOCw4ICsxMzgsNiBA
QAogCiAjZGVmaW5lIFdlYktpdFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJzUHJlZmVyZW5jZUtleSAi
V2ViS2l0VXNlSGlnaFJlc29sdXRpb25UaW1lcnMiCiAKLSNkZWZpbmUgV2ViS2l0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQi
Ci0KICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5ICJXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCIKIAogI2RlZmluZSBXZWJL
aXRTaG93RGVidWdCb3JkZXJzUHJlZmVyZW5jZUtleSAiV2ViS2l0U2hvd0RlYnVnQm9yZGVycyIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAzOTQ2YjVlNzIwNzVhZWVmZTU1
MWQyMzZkNGI4YjE3NzNmZmU2YTM3Li41MjNiMzI2ODY4N2U1MDg5NWU1NTQ3NTg2MWNkY2VjODY1
ZjQ4NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0yMDksNyArMjA5
LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAg
ICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEFsbG93RmlsZUFj
Y2Vzc0Zyb21GaWxlVVJMc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZE
aWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rp
b25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0WFNTQXVkaXRvckVuYWJsZWRQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwotICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLCBDRlNUUihXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSks
IGtDRkJvb2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHlQcmVmZXJlbmNl
S2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRz
LCBDRlNUUihXZWJLaXRQbHVnaW5zRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1
ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdERhdGFi
YXNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwpAQCAtODY2LDE4ICs4
NjUsMTYgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0WFNT
QXVkaXRvckVuYWJsZWQoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLUhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OmlzRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKLSAgICAv
KiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIGVuYWJsZWQpCitIUkVTVUxUIFdlYlByZWZlcmVuY2Vz
Ojp1bnVzZWQ3KCkKIHsKLSAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShDRlNUUihXZWJL
aXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSkpOwotICAgIHJldHVybiBTX09L
OworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBFX0ZBSUw7CiB9CiAKLUhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoCi0gICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpCitIUkVTVUxUIFdlYlByZWZl
cmVuY2VzOjp1bnVzZWQ4KCkKIHsKLSAgICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBlbmFibGVkKTsKLSAgICByZXR1cm4gU19P
SzsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gRV9GQUlMOwogfQogCiBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjpqYXZhU2NyaXB0Q2FuT3Bl
bldpbmRvd3NBdXRvbWF0aWNhbGx5KCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4
IGJmYzRkMzE1OWViNDA0YThhY2Q2N2QwMjg2YmE0NzJiMjMwNGNhNDEuLjk2NjBjODA1YzU2YjI4
ZGIzY2JiY2NjNjcxNjgxZGE3MzJiZGQ4MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMu
aApAQCAtNDE2LDExICs0MTYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJzKAogICAgIC8qIFtyZXR2
YWxdW291dF0gKi8gQk9PTCogdXNlSGlnaFJlc29sdXRpb25UaW1lcnMpOwogCi0gICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGlzRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKLSAg
ICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIGVuYWJsZWQpOwotCi0gICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoCi0gICAgLyog
W2luXSAqLyBCT09MIGVuYWJsZWQpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSB1bnVzZWQ3KCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHVu
dXNlZDgoKTsKIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRQcmVm
ZXJlbmNlRm9yVGVzdCgKICAgICAvKiBbaW5dICovIEJTVFIga2V5LApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNw
cAppbmRleCBmYWViYzc1MzNhZjZkMmJlMWM0MjVjOTBkNWJmN2UxNGVjMjQ0ZjhlLi45ZjJlMGM1
ZWY3ZDVkZTI1OWNiMmQzMzM4OTg3ZTgwOGQ0OTM5M2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcApA
QCAtNDg0OSwxMSArNDg0OSw2IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXND
aGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhy
OwogICAgIHNldHRpbmdzLT5zZXRTaG91bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVycyhlbmFibGVk
KTsKIAotICAgIGhyID0gcHJlZnNQcml2YXRlLT5pc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoJmVu
YWJsZWQpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0gICAgc2V0
dGluZ3MtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7Ci0KICNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPmFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZS5jcHAKaW5kZXggMjY1MzQxN2JiZDc3NjE0NTFkZTA4OTQyNmUwZDRlZDIzMWY5
MDAzYi4uOTE1NzM5MjVkZDlhODkyOGEzZjkwMDdlOGIwZDc3NjJlZmUwMTg4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZS5jcHAKQEAgLTE0MSwxMSArMTQxLDYgQEAgdm9pZCBXS0J1bmRsZVNldEFsbG93
RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFn
ZUcKICAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxz
KHRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBXS0J1bmRsZVNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VH
cm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKLXsKLSAgICB0b0ltcGwoYnVuZGxl
UmVmKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5h
YmxlZCk7Ci19Ci0KIHZvaWQgV0tCdW5kbGVTZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oV0tCdW5k
bGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wg
ZW5hYmxlZCkKIHsKICAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0R2VvTG9jYXRpb25QZXJtaXNz
aW9uKHRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UHJpdmF0ZS5oCmluZGV4IDVjNDc2MThjNzFlNzNkNWUyMTkxZDgyOGM0YWVkNTA3MDU0MmIwNWIu
LjA5MzM4NjI4NjhmNGY0YmZlNWU5YmRiNWMyYzliMmI3MzA2NWM0MzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVByaXZhdGUuaApAQCAtNjgsNyArNjgsNiBAQCBXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdLQnVuZGxlUmVmIGJ1bmRs
ZSwgVwogCiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJv
bUZpbGVVUkxzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdy
b3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRBbGxvd0ZpbGVB
Y2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJl
ZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91
cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNl
dEdlb2xvY2F0aW9uUGVybWlzc2lvbihXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdy
b3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxl
U2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVu
ZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdL
QnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKaW5kZXggNWRiM2RlN2YyYzczYTAxMjEyZDNkZjk5ODFiODU5YzZjZjNiNGEzNy4u
OTM3NjZmNmExMDhmYTg4ODYyYTk0MjI1ZTdmNmNkNjliNGM0NDE4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKQEAgLTE4OSwxMyArMTg5LDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QWxs
b3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAKICAg
ICAgICAgKCppdGVyKS0+c2V0dGluZ3MoKS0+c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxz
KGVuYWJsZWQpOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlOjpzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFnZXMgPSBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdl
R3JvdXAtPmlkZW50aWZpZXIoKSktPnBhZ2VzKCk7Ci0gICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6
aXRlcmF0b3IgaXRlciA9IHBhZ2VzLmJlZ2luKCk7IGl0ZXIgIT0gcGFnZXMuZW5kKCk7ICsraXRl
cikKLSAgICAgICAgKCppdGVyKS0+c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZChlbmFibGVkKTsKLX0KLQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0R2VvTG9jYXRpb25QZXJt
aXNzaW9uKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKIHsKICNp
ZiBFTkFCTEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5kZXggNjYxMTFmZmJiNjVl
OTIxNDQ3YTBiNjA4MjM1NzI4MzZjMDcwMWNiMy4uMDhjOGNkMDgwNWYxYTkxYmIxOTNjNDBhMmNi
YmQ4N2JmN2MxOGYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMTA3LDcgKzEwNyw2IEBAIHB1
YmxpYzoKICAgICB2b2lkIG92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKFdl
YlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRB
bGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wp
OwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFdlYlBhZ2VHcm91cFBy
b3h5KiwgYm9vbCk7Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFdlYlBhZ2VH
cm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRHZW9Mb2NhdGlvblBlcm1pc3Npb24oV2Vi
UGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3ND
bGlwYm9hcmQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lkIHNldFByaXZhdGVC
cm93c2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LmRlZgppbmRleCBkYzdiNGNiNmQ4MzM1YTkyZDRkM2NlNjI2OWJlYzQwYzEzMjViNGFjLi4yNjk2
NTg1ZTg0N2U3YWFkYTBjNTUzYTk4MTQwNDM3ODVmZmYyYTg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
ZGVmCkBAIC0yMjcsNiArMjI3LDcgQEAgRVhQT1JUUwogICAgICAgICA/c2V0dGluZ3NARG9jdW1l
bnRAV2ViQ29yZUBAUUJFUEFWU2V0dGluZ3NAMkBYWgogICAgICAgICA/c2V0dGluZ3NARnJhbWVA
V2ViQ29yZUBAUUJFUEFWU2V0dGluZ3NAMkBYWgogICAgICAgICA/c2V0Rml4ZWRFbGVtZW50c0xh
eW91dFJlbGF0aXZlVG9GcmFtZUBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgorICAgICAgICA/
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZEBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgogICAg
ICAgICA/c2hhZG93QEVsZW1lbnRAV2ViQ29yZUBAUUJFUEFWRWxlbWVudFNoYWRvd0AyQFhaCiAg
ICAgICAgID9zdWJzdHJpbmdAU3RyaW5nQFdURkBAUUJFP0FWMTJASUlAWgogICAgICAgICA/c3Vn
Z2VzdGVkVmFsdWVASFRNTElucHV0RWxlbWVudEBXZWJDb3JlQEBRQkVBQlZTdHJpbmdAV1RGQEBY
WgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGRj
MzFkNjU0MmQwOWFmYzRmMTg4YTc0ZjJkMjUyODc3YzNiNjQ4ZWYuLjVjNjkyZjcwMTk4MzZmZmMw
NGVmM2RmNDUwM2U2NDY5MmQ3NTZiZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2Fu
Y2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAg
TW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIg
dG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92ZSB0aGUgaW1wbGVtZW50YXRpb24gb2Ygc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCgpIGZvciBlYWNoIHBsYXRmb3JtLiBOb3RlIHRoYXQKKyAgICAgICAgRHVyaW5n
IHRoZSBJbnRlcm5hbHNPYmplY3QgcmVzZXQgdGhlIGJlaGF2aW9yIGlzIGNoYW5nZWQgYmFjayB0
byB0aGUgcGxhdGZvcm0KKyAgICAgICAgZGVmYXVsdCwgd2hpY2ggd2FzIGZhbHNlIGZvciBldmVy
eW9uZSBmb2xsb3dpbmcgU2V0dGluZ3MnIGRlZmF1bHQgdmFsdWUuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwOgor
ICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNp
c3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNr
YmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXREZWZh
dWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xh
eW91dFRlc3RDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0
aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJR
dC5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9D
b25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVz
dENvbnRyb2xsZXJXaW4uY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRl
c3RDb250cm9sbGVyV3guY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAo
V1RSOjpJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKToKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmg6
CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcik6CisKIDIwMTItMDUtMjMgIERvbmd3b28g
SW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSBy
ZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA2ZTRhZjIyNTJlNTkxMDkz
OGE1MWE2YjYxMzJjMjIzYWVhYmUwZjcwLi43N2EzNTU1ZDA2Y2RjM2JjZGMzNWI2Yzg4YjYwNzM4
MDAzZTNiNTg1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwCkBAIC0xNDgxLDE5ICsxNDgxLDYgQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0UHJpbnRp
bmdDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24KICAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiB9CiAKLQotc3RhdGljIEpT
VmFsdWVSZWYgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKLXsKLSAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlv
bgotICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtl
VW5kZWZpbmVkKGNvbnRleHQpOwotCi0gICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xs
ZXIgPSBzdGF0aWNfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0
ZSh0aGlzT2JqZWN0KSk7Ci0gICAgY29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZChKU1ZhbHVlVG9Cb29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOwotCi0gICAgcmV0dXJu
IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJlZiBz
ZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0NhbGxiYWNrKEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKIHsKICAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlv
bgpAQCAtMjM1OCw3ICsyMzQ1LDYgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgInNldERlZmVyTWFpblJlc291cmNl
RGF0YUxvYWQiLCBzZXREZWZlck1haW5SZXNvdXJjZURhdGFMb2FkQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAic2V0RGVmZXJzTG9hZGluZyIsIHNldERlZmVyc0xvYWRpbmdDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2No
ZW1lIiwgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCi0gICAgICAgIHsgInNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0R2VvbG9jYXRp
b25QZXJtaXNzaW9uIiwgc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAic2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyIsIHNldEhhbmRs
ZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJz
ZXRJY29uRGF0YWJhc2VFbmFibGVkIiwgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRl
eCBjMDc2MDY3MjM4NjM4MjU3NTk0YWUwMTgxMjc5MDE1ZjE3NjIwYTcxLi45ZDk2YmRjNGJhYTE4
MzVjYzZjMmMzNGZjNTY0N2YzNzI1YmNiOTBjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xh
eW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTEyMSw3ICsxMjEsNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRWYWx1ZUZvclVzZXIoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QsIEpT
U3RyaW5nUmVmIHZhbHVlKTsKICAgICB2b2lkIHNldFZpZXdNb2RlTWVkaWFGZWF0dXJlKEpTU3Ry
aW5nUmVmIG1vZGUpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsK
LSAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZv
aWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNl
dFNjcm9sbGJhclBvbGljeShKU1N0cmluZ1JlZiBvcmllbnRhdGlvbiwgSlNTdHJpbmdSZWYgcG9s
aWN5KTsKICAgICB2b2lkIHN0YXJ0U3BlZWNoSW5wdXQoSlNDb250ZXh0UmVmIGlucHV0RWxlbWVu
dCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5k
ZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRy
ZWUuY3BwCmluZGV4IDcwMTQ1Y2RmNDRmN2NmNGFhMmRjZjZhY2NhYmU0OGVhYWQ5YzQ4ODcuLjVm
ZTRlZjhhODBkZTJlODYzNWE0MDcwNjUxNDhkY2NmMzAxYjBmZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC0yODksNiAr
Mjg5LDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9y
ZVRlc3RpbmcoKQogICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KCJBcmlhbCIp
OwogICAgIHNldHRpbmdzLT5zZXRTdGFuZGFyZEZvbnRGYW1pbHkoIlRpbWVzIik7CiAgICAgc2V0
dGluZ3MtPnNldFhTU0F1ZGl0b3JFbmFibGVkKGZhbHNlKTsKKyAgICAvLyBGSVhNRTogUmVtb3Zl
IHRoaXMgb25jZSBCbGFja0JlcnJ5IHVzZXMgcmVzZXRJbnRlcm5hbHNPYmplY3Q6IGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njg5OS4KICAgICBzZXR0aW5ncy0+c2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChmYWxzZSk7CiAgICAgc2V0dGluZ3MtPnNldE1heGltdW1Q
YWdlc0luQ2FjaGUoMCk7CiAgICAgc2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVkKHRydWUpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29u
dHJvbGxlckJsYWNrQmVycnkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9M
YXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwCmluZGV4IDg0YjUxMGRlMjk2ZWU3MzEy
MDNjOWM5MGY5MmEyYWViNGI5OTY1NTMuLjdiM2UzMDNiNTQ2MDBmNDBhOGQ0OWNjODFkNGMxNjc1
YmViMDg5YTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5
b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKQEAgLTU3MCwx
MSArNTcwLDYgQEAgYm9vbCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2FsbFNob3VsZENsb3NlT25X
ZWJWaWV3KCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpCi17Ci0gICAgQmxhY2tC
ZXJyeTo6V2ViS2l0OjpEdW1wUmVuZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPnBhZ2UoKS0+
c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGUpOwotfQotCiB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBl
bmFibGUpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCmluZGV4IDJmMTExZWQzOTJl
MzRlODQwYjg0ZjRjNDllYzNkNmVmZDQ5Njk4ZjQuLjRiYmFmYzkxODRlYmUyYWFjNWZmNDVmZDZi
MjM4ZmM0OGE3ZWY0MGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlv
dXRUZXN0Q29udHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xh
eW91dFRlc3RDb250cm9sbGVyRWZsLmNwcApAQCAtMzM3LDExICszMzcsNiBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGZsYWcpCiAgICAgZXdr
X3ZpZXdfc2V0dGluZ19lbmFibGVfeHNzX2F1ZGl0b3Jfc2V0KGJyb3dzZXItPm1haW5WaWV3KCks
IGZsYWcpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mcmFt
ZV9mbGF0dGVuaW5nX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKLX0KLQogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZmxh
ZykKIHsKICAgICBld2tfdmlld19zZXR0aW5nX3NwYXRpYWxfbmF2aWdhdGlvbl9zZXQoYnJvd3Nl
ci0+bWFpblZpZXcoKSwgZmxhZyk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAppbmRleCA5NTFkMmJlZjdlZDk4ZjcwZWQ5OTA3
MzdlODEyODM5YzMxN2Q2MmFlLi5jNTFkNTRhZDVlNTdhZjZmMTE1MWM2ODkyZWYwZDIzYmRlNTdj
OWM5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRy
b2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29u
dHJvbGxlckd0ay5jcHAKQEAgLTQxMiwxNSArNDEyLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChH
X09CSkVDVChzZXR0aW5ncyksICJlbmFibGUteHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0K
IAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChi
b29sIGZsYWcpCi17Ci0gICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVf
Z2V0X3dlYl92aWV3KG1haW5GcmFtZSk7Ci0gICAgQVNTRVJUKHZpZXcpOwotCi0gICAgV2ViS2l0
V2ViU2V0dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyh2aWV3
KTsKLSAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLWZyYW1lLWZs
YXR0ZW5pbmciLCBmbGFnLCBOVUxMKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZmxhZykKIHsKICAgICBXZWJLaXRXZWJW
aWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBjMWY0NGE0NzM0
OGM3YjAwZTM4OWVjMDViMWI2YTY0OWFjZDNkZmI1Li4wMTdmYzkxMjZjMjUwNWUwMzkzNzIwNjNi
ZTE5ZmRkNTUzMmJlMGI0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCkBAIC02NDIsNyArNjQyLDYgQEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29u
c2lzdGVudFZhbHVlcygpCiAgICAgW3ByZWZlcmVuY2VzIHNldEphdmFTY3JpcHRFeHBlcmltZW50
c0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNh
bGx5OllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFn
ZUxvYWRpbmdQcmVmZXJlbmNlOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZDpOT107CiAgICAgaWYgKHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uKSB7CiAg
ICAgICAgIFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uOltOU1VSTCBVUkxX
aXRoU3RyaW5nOihOU1N0cmluZyAqKShwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbi5n
ZXQoKSldXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0
Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29u
dHJvbGxlck1hYy5tbQppbmRleCA2NzczODI1Mzc3OWRiOGExNDdiMmFkMmFmNmY0NjU0NjA4NDc3
YTQxLi5lNjY1ZjY4MTU3YTA3MjM4MGQxNjhkNDIzZDMzM2UwOWNjMmNlMjYxIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBA
IC01ODUsMTEgKzU4NSw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1ZGl0
b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVy
ZW5jZXNdIHNldFhTU0F1ZGl0b3JFbmFibGVkOmVuYWJsZWRdOwogfQogCi12b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsK
LSAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQ6ZW5hYmxlZF07Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgW1tbbWFpbkZyYW1l
IHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ6ZW5hYmxl
ZF07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4
IGE5ZjI3YmYzYmU5NGU1NTYzNTVkM2RhNGExODg2ZjBlZmQwN2E2ZDguLjA2NTM1NTYyNDJlNGYz
ODc4ODhmMGEwYTMzMWIzNmJhOWMyYTNkYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC0xOTIsNyArMTkyLDYgQEAgdm9pZCBXZWJQYWdlOjpy
ZXNldFNldHRpbmdzKCkKIAogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRD
YXJldEJyb3dzaW5nRW5hYmxlZChmYWxzZSk7CiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9s
bGVyKCktPnNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKHRydWUpOwotICAgIG1fZHJ0LT5s
YXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsK
ICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0U21hcnRJbnNlcnREZWxldGVF
bmFibGVkKHRydWUpOwogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRTZWxl
Y3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+bGF5b3V0VGVz
dENvbnRyb2xsZXIoKS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IGMxNjgzZjEw
ZTE4MjdkNTZiZTFjNDVmMzQ0ZTI0MDEyMzAzZjM3YjAuLmQ3YmEzYzYyMDFhYzg1YzEwOTRjMTRl
ZWViMGQ5YTE2ODJhM2ZmOTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC00NDIsMTEgKzQ0Miw2IEBAIHZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0
IFFTdHJpbmcmIHNjCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OndlYkluc3BlY3RvckV4
ZWN1dGVTY3JpcHQobV9kcnQtPndlYlBhZ2UoKSwgY2FsbElkLCBzY3JpcHQpOwogfQogCi12b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5h
YmxlZCkKLXsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChtX2RydC0+d2ViUGFnZSgpLCBlbmFibGVkKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6Z29CYWNrKCkKIHsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Z29C
YWNrKG1fZHJ0LT53ZWJQYWdlKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5
b3V0VGVzdENvbnRyb2xsZXJRdC5oCmluZGV4IDU1MTE2NzY3MmM4NDY1OGVjYTU0NzA3MjUxMDQ0
NmFjMWFhOGNhMjkuLjlmN2JjZjNjYTBhNjU1NmYyODNiYmI0ODc3N2VkMzhjNWM1NDhiZTIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgK
QEAgLTE1NCw3ICsxNTQsNiBAQCBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogICAgIHZvaWQg
cmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7CiAgICAgdm9pZCBzZXRNZWRpYVR5cGUoY29uc3QgUVN0
cmluZyYgdHlwZSk7Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5h
YmxlKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wg
ZW5hYmxlKTsKICAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVu
YWJsZSk7CiAgICAgdm9pZCBzZXRBcHBDYWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9u
ZyBxdW90YSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRl
clRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApp
bmRleCA0ZWQ4ZTBkYzY3NTY4Y2RmNzMwMjE1M2EzOTQzMGE5YzFkY2IxNjk3Li5kOTY2ZDc4YWM3
YjliN2UzNTJkYzY2OTI1NTI1YzhkMWIzNmIxOWM4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTg2Miw3ICs4NjIsNiBAQCBzdGF0aWMgdm9pZCBy
ZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5j
ZXMpCiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9scyhG
QUxTRSk7IC8vIEZJWE1FIC0gbmVlZCB0byBtYWtlIERSVCBwYXNzIHdpdGggV2luZG93cyBuYXRp
dmUgY29udHJvbHMgPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTky
PgogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQo
VFJVRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoRkFMU0Up
OwotICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoRkFMU0Up
OwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5h
YmxlZChUUlVFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRMb2Fkc1NpdGVJY29uc0lnbm9y
aW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+
c2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChGQUxTRSk7CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAppbmRleCA3
ZTVlZTczMjJkYWVlNjM4Y2I5YTQwOWI4YmRhYmNkZWU2MTFmYTQ5Li43N2MyMDcyOTlhYTMwNjIx
NjVlNzg1NTgyYjE3YzA4MTVmYTJmZGIyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAgLTUwNCwyMyArNTA0LDYgQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFi
bGVkKQogICAgIHByZWZzUHJpdmF0ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZW5hYmxlZCk7CiB9
CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
Ym9vbCBlbmFibGVkKQotewotICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKLSAgICBpZiAo
RkFJTEVEKGZyYW1lLT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IENPTVB0cjxJV2ViUHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2Vi
Vmlldy0+cHJlZmVyZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAg
IENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZl
cmVuY2VzKTsKLSAgICBpZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
cHJlZnNQcml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOwotfQotCiB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9v
bCBlbmFibGVkKQogewogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZm9yIFNwYXRpYWxOYXZpZ2F0
aW9uIGxheW91dCB0ZXN0cy4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xh
eW91dFRlc3RDb250cm9sbGVyV3guY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0
VGVzdENvbnRyb2xsZXJXeC5jcHAKaW5kZXggYjRiMTgwNmNjZGM3N2Y1Yjc5ZTdhNjRkMzI4NGNh
MTc2MTljZDNmMS4uMWFjODIyNTUwODFkN2U3ZGNiZjFmNmZkNTdiYWYzYjQzYTg0ZjI4YyAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5j
cHAKQEAgLTE4NywxMSArMTg3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNT
QXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKIH0K
IAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChi
b29sIGVuYWJsZWQpCi17Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudAotfQotCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhib29s
IGVuYWJsZWQpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJv
bGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L0xheW91dFRlc3RDb250cm9sbGVyLmlkbAppbmRleCA1ZTUyZWU4YmEzNmM4OTdiZjc0NDc3NGIw
YmM4YzdjNzYwNTc5YTY5Li42YWI2NTFhMTMwODE3ZWMyMjU3N2EwZTA4YmZhOWEyMjBlZmM0MjQz
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbApAQCAtNTMs
NyArNTMsNiBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxl
ZChpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMcyhpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRBbGxvd0Zp
bGVBY2Nlc3NGcm9tRmlsZVVSTHMoaW4gYm9vbGVhbiB2YWx1ZSk7Ci0gICAgICAgIHZvaWQgc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBz
ZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oaW4gYm9vbGVhbiB2YWx1ZSk7CiAgICAgICAgIHZvaWQg
c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChpbiBib29sZWFuIHZhbHVlKTsKICAgICAg
ICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcAppbmRleCAwNWQ0ZWE2ODdiMTQ3NzA1YjMzNjYxYmNkMjgwMDI5NTIzMDhkNTk1
Li5mYTA2MTVmZjRiYWFiN2FiZjAzZTQwOWE5YjQ2NjI1ZjQ3YzJmNDYxIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcApAQCAtMjI0LDcgKzIyNCw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGlu
ZyhXS0RpY3Rpb25hcnlSZWYgc2V0dGluZ3MpCiAgICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgZmFsc2UpOwogICAgIFdLQnVuZGxlU3dp
dGNoTmV0d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb24obV9idW5kbGUpOwogICAgIFdLQnVu
ZGxlU2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCB0
cnVlKTsKLSAgICBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9idW5kbGUsIG1f
cGFnZUdyb3VwLCBmYWxzZSk7CiAKICAgICBXS0J1bmRsZVJlbW92ZUFsbFVzZXJDb250ZW50KG1f
YnVuZGxlLCBtX3BhZ2VHcm91cCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXgg
MjUwZmE1Yzk1MGRhY2U3NDlmOTE5MzY3NzQ5NmRjMDlmMTQwNWFmZi4uNTlmNTlkMzAyMDE1YjQz
OWFjNTljZGY2ZGE1OTMzYTBkOTcwOWEwMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
QEAgLTM2NiwxMSArMzY2LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dG
aWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKICAgICBXS0J1bmRsZVNldEFsbG93
RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCks
IEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CiB9CiAKLXZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBl
bmFibGVkKQotewotICAgIFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChJbmplY3Rl
ZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdl
R3JvdXAoKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEdl
b2xvY2F0aW9uUGVybWlzc2lvbihib29sIGVuYWJsZWQpCiB7CiAgICAgV0tCdW5kbGVTZXRHZW9s
b2NhdGlvblBlcm1pc3Npb24oSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZUdyb3VwKCksIGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5oCmluZGV4IDhjYTA5ZjYxYWE1ZTFhYjJkZDM2MWRjNzIxYjFiMTEzNzAwN2Q0MTYu
LmY4MTE0Njk2MGM3MTBlMTgyN2E5YTIzZWYzZTE0NjEwMTBmZjAxODEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RD
b250cm9sbGVyLmgKQEAgLTg3LDcgKzg3LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0WFNTQXVk
aXRvckVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJMcyhib29sKTsKICAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhi
b29sKTsKLSAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oYm9vbCk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0
Q2FuQWNjZXNzQ2xpcGJvYXJkKGJvb2wpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZChib29sKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4YWUxMzhhNzViMjNjZWIxMWFjYWFkMzBhZGU1OGYwMWZkYzVj
OGQ0Li43MmE0N2E0NDVlYTRkZTE1YzVhZWYyMzhjZDliNDI0OGIyNTZlMTkyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzUgQEAKKzIwMTItMDUtMjIgIEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxqZXN1cy5w
YWxlbmNpYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIE1vdmUgc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCBmcm9tIGxheW91dFRlc3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMoKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
c2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1m
bGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1o
ZWlnaHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2Vk
LWxheW91dC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRo
LWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0
aC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctbmVzdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3
LXNjcm9sbC1hbmQtcmVsYXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3Lmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBs
ZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVu
aW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRl
bmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWw6CisgICAgICAg
ICogcGxhdGZvcm0vd2luL1NraXBwZWQ6CisKIDIwMTItMDUtMjMgIEdyemVnb3J6IEN6YWprb3dz
a2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjExODE1Ny4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sCmluZGV4IGViMDNlYTFjOGY5NmVh
ZTk5MWEzMTU2MDVjYWU1M2ZmYTlmMjlkOTQuLjM1NWY2ZTA4OWJlOGQzY2NlYWExYmMxM2MwZDAw
ZDAyNTM0YTBjYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvY3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9jcmFzaC1zdmctZG9jdW1lbnQuaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPGJv
ZHk+CiA8c2NyaXB0PgogCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci19CiAKIDwvc2NyaXB0PgogPGlm
cmFtZSBzcmM9ImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2Zyc+PC9zdmc+Ij48L2lmcmFtZT5TaG91bGQgbm90IGNyYXNoLjwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1hZHZhbmNlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKaW5kZXggN2NmOTk0ZTlmNTk4Yjc3
OTM5ZDMxYjcxNWEzMWFjYWY1MDg5NGMyMS4uYjg4MzJhZGFiMmQyM2YxNGViNmZkMjA0ZjdlMmJl
OGUwMTFmNzlmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKQEAg
LTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBs
YXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNl
dC1mbGF0dGVuaW5nLWdyaWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwKaW5kZXggOTU3YzJlZDVhYWY3M2E1OWU5
NjYwZjFiYzliODA2ZDJiY2IxY2QyMC4uOTM0NjJmZjI4ZjczMjFjYzI2MjkzMjQ3NTNiNzM3YzMx
ZTUzYjIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9m
cmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICBmdW5jdGlvbiB0ZXN0
KCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAvLyBG
b3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVp
Z2h0OwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAppbmRleCA5M2Vh
YTVlZWUyMTNmMjlkNTkwY2M1MWRiMzkyNDU2Y2Y5ZjU0ZjQyLi43Zjg3OGMyYTFhM2VmMTlhNjRh
YjUwNGI2MWVkYjIzNzdhMGEwMGIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5o
dG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAg
ICAgfQorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
c3ViZnJhbWUtcmVzaXplLmh0bWwKaW5kZXggYjcwNjY2Mzc2ZmJhNTA4NDY4NmIzNGU0ZWFhOTg3
NzQ1NjA3MzExNy4uMGY3YmI4ZTYwODZmNmNjNDBmNzQ5NDkzYzZmNTU4YjA2M2Q2MzFiMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0
dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbApAQCAt
MSwxMCArMSwxMCBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIH0KKyAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAgICBmdW5jdGlvbiB0
ZXN0KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0
cy5odG1sCmluZGV4IDcyMzE5OGNkZjIzZGFmYzAxNzFjMjljYzdmMTJjNDZhOTI0NTM4ZjEuLmQ2
Njk2NTM5NjEwNmYxOTUzMGQzZGFlODllZjNlOGJlOTJlZDFlNTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFt
ZXNldHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBk
b2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1j
cmFzaC5odG1sCmluZGV4IDAyYzBiYmYzZWQ0ZWRhN2M5MzQ5YmU2ZTY1NGYyN2I0YjM1MGFmMDYu
LjIxODExMWZkOTIxNmE3YmMwMjFlZDE0NWZkZGE0NzYzZDRkYWU4NDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2gu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWNyYXNoLmh0bWwKQEAgLTQsOCArNCw5IEBACiAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTksOCArMjAsOCBA
QAogICAgICAgICAgICAgdmFyIGkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRt
bCcpWzBdLmNsaWVudFdpZHRoOyAKICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAg
ICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8Ym9keSBvbnJlc2l6ZT0ndGVzdDIoKTsnPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWwKaW5kZXggMDIzN2M3OGY2
NGI2YTY0MjAxMGUwMTY2NTIzZTVkODFjNThjNGQxMS4uZmIxYTQ1ZWY1YzE5NjczMTYyNjcwZmE0
Y2JjNWZmZWUzNWI0NmRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdo
dC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3lu
Y2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7
CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmct
d2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xs
aW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sCmluZGV4IDg4MGE5ZTVmYzZkMGQ0ZDlkMDdh
MGZkZDcxYzFkZTdlZGQwMzAyZDQuLmI4ZjlmMWM1NGI4NTc3ZjY2Yzg4MzRkOTEzZGY0N2U2Zjg4
NDRmMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0aC1q
cy1mb3JjZWQtbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGlu
Zy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbApAQCAtNCwxMCArNCwxMCBAQAogCiAgICAgICAg
IGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbAppbmRleCBmYjg2NzE0YjA4NDQxOGMwNmNm
OWFjMmM1NjU1MjRkOGM5OTMyZDdlLi5jZTYxYmIzYWViZDZkNzBjMmZjNDY4YTc1NTNmNDRmOTAw
OWM2MThjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
Zml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdo
dC16ZXJvLXNpemUuaHRtbAppbmRleCA4MmM5ZjZmNTZjZmRkM2Q0ZTg5Y2ZmMTNmODdmM2Y1NjUw
ZmQ0OWM1Li5kYzJkZDRkMDkzYzcyMDBmNTc3N2JmYjk0MWJlZjg1YTkzOWMyMGFkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQt
aGVpZ2h0LXplcm8tc2l6ZS5odG1sCkBAIC00LDEwICs0LDEwIEBACiAKICAgICAgICAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCh0cnVlKTsKIAogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0
LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVk
LXdpZHRoLWFuZC1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sCmluZGV4IGFi
ZGI2NzI4MjllOGQ5MTZmNzE0MGE4MWI0YWQ2YTM4ZWUzM2QyN2QuLmEzYTdmYWEyZTY4Y2RlMTBm
M2FjNTZiNThhYTEzYzMyYTczODRkMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRt
bD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgfQorICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKaW5kZXggYTcyNDc5N2U4NTM0
NDFlODg2ZGI1NmRhOGIyZDAzMzA1Mjg2OWZjNS4uM2VlZjA1M2I4ODkyMTFjZDk3ZTlkNjI1NDdl
MjZjMWVjYWFkYjdmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRt
bApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9u
b3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRtbAppbmRleCBmMDY1M2FkMDkzYjQ0
MTZiMDNmNDMxNzhmNzMxNDRiMDc1YzQyZGJjLi5lM2MxMmFkYzdkODRhODAwMDg1NGNlM2RlMDNl
MDM4YWQzNjVhNjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWwKQEAgLTksOCAr
OSw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQu
CiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1vZmZzY3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKaW5kZXggYTk2NjUxMzQyNzc4NzQ0YWI5
MzgzZjg5MmZhODBjMjM5ZjM5Zjg4Ni4uZDBjOGFmYjI0NGQ2NTllZWM4ZmU5MTdjYzEzZGU3YjNk
MGNlZDZjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCkBAIC0zLDgg
KzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0
LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0
bWwKaW5kZXggZWQ2MTFhODBmMGIyNmMyYTA3MjI2ZmZhNTg1ZjkzODVkNGM5OWEwYy4uYzEyMmIx
NWQxMzkwNjAyOGUzZGNhMGU1YmJjZGMyMzkzNTE2NjRkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1h
bmQtc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwKQEAgLTEsMTAgKzEs
MTAgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwotICAgICAgICB9CisgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQt
b2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKaW5kZXggYTk5MjUxYzBjODU4OWQ2ZWQ3
MjMyYTA4NWU1MmFmMWQ3NjdlODNhMi4uNzk4NjNlZGIwZjMwODA2N2JlZWZjYTUxNzNhMGFiN2Rm
Mzg5ODJkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1v
dXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDxo
dG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwotICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbAppbmRleCBlMjQ1NTYwYTZi
YjEwNWIxNzMxOGVmMWEzZTYxOTBhN2MyNmE0ZTQxLi40ZTgwNzQ2YjQ0ODllZmNiNjRjMGVmMjMy
ZTlmMGZiYWFmMjBkZTNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5o
dG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
ICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hy
b25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAg
ICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1s
CmluZGV4IDQ5NjEwMGZlODg3MTYwMGQ5ZGJiZGMxMzMyYzIxMWZlZGRhOGJjYmEuLmJhZGI1MGQy
N2M5MmI1ZjhkODE5MTRlZjk2NDczNmJlMTIxZjBiYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNyYXNo
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbApAQCAtMiwxMCArMiwxMCBAQAogPGhlYWQ+CiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0
KCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBk
b2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1s
CmluZGV4IDY3MjFiYjRiZTc0NWY5ZGQxMGJlYjI4NjBlMGUwMjQwNDY4MmQ0YjQuLjI3MWI4Nzcz
MGIxYjI1NDI5ODcwYjk0ZmU4ZjgxODZjMDc2NTgyZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1z
aW1wbGUuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNl
IHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVp
Z2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS10aW55Lmh0bWwKaW5kZXggYjdhNGQwYTI2OGFiY2U3YTkyZThiMjkxYjlmY2Ux
N2ExNzE2ZDEwNi4uZWIwMTFlYmE2MzkyMDE5OTA3MzQ1ZTNiYzZhMDAxOGEwYjI1M2U3MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnku
aHRtbApAQCAtNSw4ICs1LDggQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGZy
YW1lIGZsYXR0ZW5pbmcgaXMgbm90IHVzZWQgZm9yIHRpbnkgZnJhbWVzLiBUaGlzIHRlc3QgcmVx
dWlyZXMgRFJUIG9yIHVzZXIgYWdlbnQgd2l0aCBmbGF0dGVuaW5nIGVuYWJsZWQuIik7CiAKLWlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
CiBmdW5jdGlvbiBjaGVja1Jlc3VsdChmcmFtZU5hbWUsIGV4cGVjdGVkV2lkdGgsIGV4cGVjdGVk
SGVpZ2h0KQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5k
ZXggOTUzNjViN2JmOWNjZjNjNWI5ZjcwOWRiMTM2MjhkMDhlMGUxMzU4OC4uZTM1ZGVhZjI0Y2My
NTdjMThiNWZjNDIyZjNlYmIxM2ExZmNmOWNiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sCkBAIC0zNyw4ICszNyw4IEBACiAKICAgICBmdW5jdGlvbiBydW5U
ZXN0KCkKICAgICB7Ci0gICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAvLyBzdGFydGluZyB0
aGUgdGVzdCBpdHNlbGY6IGdldCB0byBhIGtub3duIHBsYWNlLgogICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInN0YXJ0IikuZm9jdXMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2Nr
aW5nLXJlc291cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZs
YXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCmluZGV4
IGZlZjIwNmEzMjU3NWM1NWUyY2VhZTU5NDFhNDNjOTE1ZTEzY2ZjNjIuLjNjNDFlNGRkMTU2NmNl
MjczZTg4MWExM2YzOTYzNjI4NzFkOTliYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5n
LXJlc291cmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1m
bGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbApAQCAt
NCw4ICs0LDkgQEAKICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewog
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgfQorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgIDwvc2NyaXB0
PgogICAgIDxzdHlsZT5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH08L3N0eWxlPgog
PC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBhYTgyMGI0Njk2ZGNlNmU0MjM4
NGUwOWRlMzJmOGQwNTBiOWVhYjJhLi5lYmY3MjUxMDdlNTNhYmJkMzZhNzcyMDdiYmM3ZGYwM2I4
MTkxZTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtOTU1LDEwICs5NTUsNiBAQCBo
dHRwL3Rlc3RzL21lZGlhL3ZpZGVvLXJlZmVyZXIuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzMzNDkKIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklF
RC13aW5kb3ctb3Blbi1qYXZhc2NyaXB0LXVybC5odG1sCiAKLSMgU2tpcCBmcmFtZSBmbGF0dGVu
aW5nIHRlc3RzIHVudGlsIGl0IGNhbiBiZSB0ZXN0ZWQgYnkgdGhpcyBEUlQKLSMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyNzE3Ci1mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nLwotCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDkzMwog
bWVkaWEvdmlkZW8tZGlzcGxheS1hc3BlY3QtcmF0aW8uaHRtbAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143599</attachid>
            <date>2012-05-23 11:10:41 -0700</date>
            <delta_ts>2012-05-25 11:53:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20120523150959.patch</filename>
            <type>text/plain</type>
            <size>66668</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4MTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDg3ZjQyYjI4MTVmNGVj
Yzk5NGNiMDA0MTA0ZDZiZTI5ZjUxNjIyYi4uYjg2NDM5M2RkMjIwZGJkN2RiOGVmMzkwMmUwOTg1
NTg1YzIzM2ZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTIyICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJv
bGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSB0byB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLiBObyBuZXcgdGVzdHMsIGJ1dCB0aGlzCisgICAgICAgIGNo
YW5nZSB3aWxsIGFsbG93IG1vcmUgdGVzdHMgdG8gcnVuIGluIFdlYktpdFRlc3RSdW5uZXIgYW5k
IERSVCBmb3IgcG9ydHMgdGhhdCB3ZXJlbid0CisgICAgICAgIGltcGxlbWVudGluZyB0aGlzIGZ1
bmN0aW9uIGJlZm9yZS4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnJlc3RvcmVUbyk6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
OgorICAgICAgICAoSW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmlkbDoKKwogMjAxMi0wNS0yMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgU3BlZWQgdXAgdHJhdmVyc2VOZXh0Tm9kZSB3aGVuIGNhbGxlZCBvbiBh
IENvbnRhaW5lck5vZGUgb3IgRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE2NDVjNDAxNzQ0
YjVhZTg5YjQ4ZGI3YTYxN2Y0Njc2MGI1NDI4YmIuLjdmMDkxNDc2Mjc1NTI4NWUyMjBhYjk0MjZh
ZjkwNWVmNzdkMTQ4YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0w
NS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5v
cmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0
VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBNYWMgcHJpdmF0ZSBBUEkgdG8gZ2V0
L3NldCB0aGUgZnJhbWUgZmxhdHRlbmluZyBzZXR0aW5nLCBzaW5jZSBpdCB3YXMgb25seSB0aGVy
ZQorICAgICAgICBmb3IgdGhlIERSVC4KKworICAgICAgICAqIFdlYktpdC5vcmRlcjoKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxp
emVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAg
ICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXND
aGFuZ2VkOl0pOgorCiAyMDEyLTA1LTIyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBhIHF1aXJrIGZvciBhcHBsaWNhdGlvbnMgdGhhdCBkZXBl
bmQgb24gdGhlIHJlbGF0aXZlIG9yZGVyaW5nIG9mIHByb2dyZXNzQ29tcGxldGVkL2RpZEZpbmlz
aExvYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNDY5ZGJlZmE4MTExZjQ1NGJmZmM3ODIzNzk0YWE2ZDZi
NGJjMDMxNi4uNzMzMGQ1YmRiMmNlYzRjZmJhM2NiZTFkMDk4ZmVjZTk2ZDk5MDQyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxl
bmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93
LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Lmg6CisKIDIwMTItMDUt
MjEgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJv
c3NhLm9yZz4KIAogICAgICAgICBNb3ZlIHNldEVkaXRpbmdCZWhhdmlvcigpIGZyb20gbGF5b3V0
VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDQ3
MWZlZjNkZTUwYzhiZTc0OTU2MmQ4ZjJkMWU5NjNhOTk1ZDBhMWEuLjVlMWVkMWQ1ZDc5OTk4M2Q3
YWY1NjE4MjY5NDE2Zjk3MzVlNzEzNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBA
QAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9w
ZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZy
b20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBXaW4gcHJpdmF0ZSBB
UEkgdG8gZ2V0L3NldCBmcmFtZSBmbGF0dGVuaW5nIHNldHRpbmcuIEZvbGxvdyB0aGUgcHJldmlv
dXMKKyAgICAgICAgcmVtb3ZhbHMgdGhhdCBrZWVwIHRoZSB2aXJ0dWFsIGZ1bmN0aW9ucyB0aGVy
ZSBidXQgZmFpbGluZy4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJp
dmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAg
ICogV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxp
emVEZWZhdWx0U2V0dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnVudXNlZDcpOgor
ICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnVudXNlZDgpOgorICAgICAgICAqIFdlYlByZWZlcmVu
Y2VzLmg6CisgICAgICAgIChXZWJQcmVmZXJlbmNlcyk6CisgICAgICAgICogV2ViVmlldy5jcHA6
CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDEyLTA1
LTIxICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9saXZlaXJhQG9wZW5i
b3NzYS5vcmc+CiAKICAgICAgICAgTW92ZSBzZXRFZGl0aW5nQmVoYXZpb3IoKSBmcm9tIGxheW91
dFRlc3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxNmFhOWVm
ZjZjNDljMGEzMWJkNzUzZGM2NWRjNDg4YjQ1MGY1NzQ2Li40Y2NhMTVlOWYzZTM5NDc0MTRhZTBh
ZjEyZGViY2ZlN2M4NGY4ZTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUt
MjIgIEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxqZXN1cy5wYWxlbmNpYUBvcGVuYm9zc2Eub3Jn
PgorCisgICAgICAgIE1vdmUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCBmcm9tIGxheW91dFRl
c3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGUuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAoSW5qZWN0ZWRCdW5kbGUpOgorICAgICAgICAq
IHdpbi9XZWJLaXQyLmRlZjoKKwogMjAxMi0wNS0yMyAgTWFydGluIFJvYmluc29uICA8bXJvYmlu
c29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gW1dlYktpdDJdIEFkZCBhbiBBUEkgdG8g
ZW5hYmxlIGFuZCBkaXNhYmxlIGNvbXBvc2l0ZWQgbGF5ZXIgaW5kaWNhdG9ycwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggZWZiMzI4NTg1NTg4N2Yy
ZjA2M2E3YzFjMDEyMGE0YWMwNTE3NjllMy4uODhhODNjMDc0MTgyZTgwZmYyN2QxNmRkN2U5Y2Y0
Y2JjMWViYjU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwCkBAIC05OSw2ICs5OSw3IEBAIEludGVybmFsU2V0dGluZ3M6OkludGVybmFsU2V0dGluZ3Mo
RnJhbWUqIGZyYW1lKQogICAgICwgbV9vcmlnaW5hbFNoYWRvd0RPTUVuYWJsZWQoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhZG93RE9NRW5hYmxlZCgpKQogI2VuZGlmCiAgICAgLCBtX29yaWdp
bmFsRWRpdGluZ0JlaGF2aW9yKHNldHRpbmdzKCktPmVkaXRpbmdCZWhhdmlvclR5cGUoKSkKKyAg
ICAsIG1fb3JpZ2luYWxGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHNldHRpbmdzKCktPmZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoKSkKIHsKIH0KIApAQCAtMTExLDYgKzExMiw3IEBAIHZvaWQgSW50ZXJu
YWxTZXR0aW5nczo6cmVzdG9yZVRvKFNldHRpbmdzKiBzZXR0aW5ncykKICAgICBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRTaGFkb3dET01FbmFibGVkKG1fb3JpZ2luYWxTaGFkb3dET01FbmFi
bGVkKTsKICNlbmRpZgogICAgIHNldHRpbmdzLT5zZXRFZGl0aW5nQmVoYXZpb3JUeXBlKG1fb3Jp
Z2luYWxFZGl0aW5nQmVoYXZpb3IpOworICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKG1fb3JpZ2luYWxGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKTsKIH0KIAogU2V0dGluZ3Mq
IEludGVybmFsU2V0dGluZ3M6OnNldHRpbmdzKCkgY29uc3QKQEAgLTM0NCw0ICszNDYsMTAgQEAg
dm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJiBl
ZGl0aW5nQmVoYXZpb3IsIEV4Y2VwdGkKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwogfQogCit2
b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFi
bGVkLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JT
ZXR0aW5ncygpOworICAgIHNldHRpbmdzKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5h
YmxlZCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
aW5kZXggOGRmZGE3NmVkYzhkODU4NzY2YzM3ODIzNzg0YjUwMDc2Njc4MjJjNi4uZDkwNDhiY2Rh
ZmI0ZmI4MjhhZDY0MmFkMTA2MTEzNTYwMzBiNjQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0Q1NTRXhjbHVzaW9uc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShib29sLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgdm9pZCBzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJiwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVu
YWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHZvaWQgcmVzdG9yZVRvKFNldHRpbmdzKik7
CiAKQEAgLTkzLDYgKzk0LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fb3JpZ2luYWxTaGFkb3dE
T01FbmFibGVkOwogI2VuZGlmCiAgICAgRWRpdGluZ0JlaGF2aW9yVHlwZSBtX29yaWdpbmFsRWRp
dGluZ0JlaGF2aW9yOworICAgIGJvb2wgbV9vcmlnaW5hbEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCA2ODg5OTcxZjMxNmZhMWE3ZDc4N2ZlNjQzZDliOTA3
YjJiOTRlNjE1Li4yYzE4NmRiZWQwNjVhNmY2ZDRkNDdlNDI4YmU0NTE4MTQ2MWI5MWQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTU0LDYgKzU0
LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIHZvaWQgc2V0Q1NTRXhjbHVzaW9uc0VuYWJs
ZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9p
ZCBzZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShpbiBib29sZWFuIGVuYWJsZWQp
IHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICB2b2lkIHNldEVkaXRpbmdCZWhhdmlvcihp
biBET01TdHJpbmcgYmVoYXZpb3IpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2b2lk
IHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJLaXQub3JkZXIgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJLaXQub3JkZXIKaW5kZXggMjdlOTQx
ZWU3YzY3OTE0MzEyMDhlODBkMmVlYWEwNjYwZTUxNGU2Yy4uYjQ1NzQ5MjFmNjNjNDkwOWQ2Y2I3
MGZjMTI5YTQ3YTNlNmY3ZDIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViS2l0
Lm9yZGVyCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYktpdC5vcmRlcgpAQCAtMTI0LDcgKzEy
NCw2IEBAIF9XS05TVVJMUHJvdG9jb2xDbGFzc0ZvclJlcXVlc3QKIC1bV2ViUHJlZmVyZW5jZXMo
V2ViUHJpdmF0ZSkgc2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOl0KIC1bV2Vi
UHJlZmVyZW5jZXMgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5Ol0KIC1bV2ViUHJlZmVyZW5j
ZXMoV2ViUHJpdmF0ZSkgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZl
cmVuY2U6XQotLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkOl0KIC1bV2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkgc2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkOl0KIC1bV2ViUHJlZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkOl0K
IC1bV2ViUHJlZmVyZW5jZXMgc2V0VXNlc1BhZ2VDYWNoZTpdCkBAIC00MTMsNyArNDEyLDYgQEAg
X1dLQXBwVmVyc2lvbkNoZWNrTGVzc1RoYW4KIC1bV2ViUHJlZmVyZW5jZXMoV2ViUHJpdmF0ZSkg
d2ViQXVkaW9FbmFibGVkXQogLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSB3ZWJHTEVuYWJs
ZWRdCiAtW1dlYlByZWZlcmVuY2VzKFdlYlByaXZhdGUpIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFi
bGVkXQotLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSBpc0ZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWRdCiAtW1dlYlByZWZlcmVuY2VzKFdlYlByaXZhdGUpIGlzU3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkXQogLVtXZWJQcmVmZXJlbmNlcyhXZWJQcml2YXRlKSBwYWdpbmF0ZUR1cmluZ0xheW91dEVu
YWJsZWRdCiAtW1dlYlByZWZlcmVuY2VzKFdlYlByaXZhdGUpIGZ1bGxTY3JlZW5FbmFibGVkXQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKaW5kZXggMTJiNTRlN2MwNTg5MGRhZDhjYTg2ZTQ1MmUxM2U1MWEzOGI0MTg1NC4uMjk3
OWQzZTdhZjg2YTVmNGQ2MTZhM2Q4OGIxNDY5N2JjODU3MWFjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMDMs
NyArMTAzLDYgQEAKICNkZWZpbmUgV2ViS2l0V2ViQXVkaW9FbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdFdlYkF1ZGlvRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V2ViR0xFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdFdlYkdMRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWQy
ZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQiCi0jZGVmaW5lIFdlYktpdEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U3BhdGlhbE5h
dmlnYXRpb25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0UGFnaW5hdGVEdXJpbmdMYXlvdXRFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdFBhZ2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0
RE5TUHJlZmV0Y2hpbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEROU1ByZWZldGNoaW5n
RW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmlu
ZGV4IDY3OTYyMzdhNWM2ZmQ1ZTk4MDI5M2NjNGQ3ZGNmMzQwNWI1MTFiNDYuLjE1ZWM0Y2RiZjRl
MDU3OTYyMjk3ZGY4ZDBlMzVkOGU1NTQzNzZhNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtMzc3LDcgKzM3Nyw2IEBAIHN0YXRpYyBXZWJDYWNo
ZU1vZGVsIGNhY2hlTW9kZWxGb3JNYWluQnVuZGxlKHZvaWQpCiAgICAgICAgIFtOU051bWJlciBu
dW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0U2hvd1JlcGFpbnRDb3VudGVyUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRXZWJHTEVu
YWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d
LCAgIFdlYktpdEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkUHJlZmVyZW5jZUtleSwKLSAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5P
XSwgICBXZWJLaXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0RE5TUHJlZmV0Y2hpbmdFbmFi
bGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwg
ICBXZWJLaXRGdWxsU2NyZWVuRW5hYmxlZFByZWZlcmVuY2VLZXksCkBAIC0xNDM0LDE2ICsxNDMz
LDYgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklEID0gbmlsOwogICAgIFtzZWxm
IF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KLS0gKHZvaWQpc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZDooQk9PTClmbGFnCi17Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZv
cktleTpXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KIC0g
KEJPT0wpaXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jv
b2xWYWx1ZUZvcktleTpXZWJLaXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCmluZGV4IDdlODUzZmE0NDE4NjgxMzFhMGIxOTVmN2Y4MjJhYzQxZDIxOGU5N2YuLjI3NDEz
NDU4OWUzMjVlZDNhMDliYmIzOTVkZDgyMzZkNWM2ZjlmZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMTI2LDkgKzEyNiw2
IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXNDaGFuZ2VkSW50ZXJuYWxOb3RpZmlj
YXRpb247CiAtIChCT09MKWV4cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkOwogLSAodm9p
ZClzZXRFeHBlcmltZW50YWxOb3RpZmljYXRpb25zRW5hYmxlZDooQk9PTClub3RpZmljYXRpb25z
RW5hYmxlZDsKIAotLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7Ci0tICh2b2lkKXNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZzsKLQogLSAoQk9PTClpc1NwYXRpYWxO
YXZpZ2F0aW9uRW5hYmxlZDsKIC0gKHZvaWQpc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOihC
T09MKWZsYWc7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBjOTM4MjNh
Mzk0MGNhODY2ZmRhYzY2ZTlkMDU4MWFkZmU2NzBmZTQzLi42ZGM3MmQ4NjVkMmFkMjZmZTNmNWNm
ZDVhYWIzM2RjMTAzMTI2MWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBA
IC0xNDk0LDcgKzE0OTQsNiBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRp
bmdRdWlyaygpCiAgICAgc2V0dGluZ3MtPnNldFdlYkdMRW5hYmxlZChbcHJlZmVyZW5jZXMgd2Vi
R0xFbmFibGVkXSk7CiAgICAgc2V0dGluZ3MtPnNldEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVk
KFtwcmVmZXJlbmNlcyBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZF0pOwogICAgIHNldHRpbmdz
LT5zZXRMb2FkRGVmZXJyaW5nRW5hYmxlZChzaG91bGRFbmFibGVMb2FkRGVmZXJyaW5nKCkpOwot
ICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBpc0Zy
YW1lRmxhdHRlbmluZ0VuYWJsZWRdKTsKICAgICBzZXR0aW5ncy0+c2V0U3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkKFtwcmVmZXJlbmNlcyBpc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZF0pOwogICAg
IHNldHRpbmdzLT5zZXRQYWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWQoW3ByZWZlcmVuY2VzIHBh
Z2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZF0pOwogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKaW5kZXggZWE3YmQ2M2IzZjRiYzljYWI0ZGQ2MjI2YjE5ZTYwYzk5
NTQ1NjhkNC4uMGI3ZjJhMTc4MTZmZjZiM2NlYzQ0MGYxMTIyMzE1OGQzMGVkZGE2OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBv
cnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5jcHAKQEAgLTI0MiwxMSArMjQyLDYgQEAgdm9pZCBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdDo6c2V0RHVtcFJlbmRlclRyZWVNb2RlRW5hYmxlZChib29sIGIpCiAjZW5kaWYK
IH0KIAotdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChRV2ViUGFnZSogcGFnZSwgYm9vbCBlbmFibGVkKQotewotICAgIFFXZWJQYWdlUHJpdmF0
ZTo6Y29yZShwYWdlKS0+c2V0dGluZ3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFi
bGVkKTsKLX0KLQogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6d2ViUGFnZVNldEdyb3Vw
TmFtZShRV2ViUGFnZSogcGFnZSwgY29uc3QgUVN0cmluZyYgZ3JvdXBOYW1lKQogewogICAgIHBh
Z2UtPmhhbmRsZSgpLT5wYWdlLT5zZXRHcm91cE5hbWUoZ3JvdXBOYW1lKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuaAppbmRleCAyYzk2ZmIzYTJlZTUwODIzMjQ1NTFjNWVhYTZlYjA4ZmI1ZmYwODAyLi4yN2Yy
OTMzMmRkYzFmZjA5YjIyMjgwY2FmNDRiZWE5M2M3NThiMjgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKKysrIGIv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5o
CkBAIC0xMTYsNyArMTE2LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJlc3VtZUFjdGl2
ZURPTU9iamVjdHMoUVdlYkZyYW1lKiBmcmFtZSk7CiAKICAgICBzdGF0aWMgdm9pZCBzZXREb21h
aW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKGJvb2wgZm9yYmlkZGVuLCBjb25zdCBR
U3RyaW5nJiBzY2hlbWUpOwotICAgIHN0YXRpYyB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQoUVdlYlBhZ2UqLCBib29sKTsKICAgICBzdGF0aWMgdm9pZCBzZXRDYXJldEJyb3dzaW5nRW5h
YmxlZChRV2ViUGFnZSogcGFnZSwgYm9vbCB2YWx1ZSk7CiAgICAgc3RhdGljIHZvaWQgc2V0QXV0
aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoUVdlYlBhZ2UqLCBib29sKTsKICAgICBzdGF0aWMgdm9p
ZCBzZXRNZWRpYVR5cGUoUVdlYkZyYW1lKiBxZnJhbWUsIGNvbnN0IFFTdHJpbmcmIHR5cGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmlkbCBiL1NvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwKaW5kZXggMmYxZmRlYWU1OGZjNjQ2YmNkMDBhOTZlOTViYTI2ZGU3NjBjNzQy
Mi4uMzEwNzFkYjVmYWNiZTkwZTVmZjE2MGI5ODRlMmQwYThjZjg3ZmIxNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAor
KysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUu
aWRsCkBAIC03OSw4ICs3OSw4IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlIDog
SVVua25vd24KICAgICBIUkVTVUxUIGlzWFNTQXVkaXRvckVuYWJsZWQoW291dCwgcmV0dmFsXSBC
T09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNldFhTU0F1ZGl0b3JFbmFibGVkKFtpbl0gQk9P
TCBlbmFibGVkKTsKIAotICAgIEhSRVNVTFQgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFtvdXQs
IHJldHZhbF0gQk9PTCAqZW5hYmxlZCk7Ci0gICAgSFJFU1VMVCBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHVudXNlZDEoKTsKKyAgICBI
UkVTVUxUIHVudXNlZDIoKTsKIAogICAgIEhSRVNVTFQgZXhwZXJpbWVudGFsTm90aWZpY2F0aW9u
c0VuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MICplbmFibGVkKTsKICAgICBIUkVTVUxUIHNldEV4
cGVyaW1lbnRhbE5vdGlmaWNhdGlvbnNFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKQEAgLTky
LDggKzkyLDggQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGUgOiBJVW5rbm93bgog
ICAgIC8vIFVzZWQgYnkgRHVtcFJlbmRlclRyZWUuCiAgICAgSFJFU1VMVCBzZXRQcmVmZXJlbmNl
Rm9yVGVzdChbaW5dIEJTVFIga2V5LCBbaW5dIEJTVFIgdmFsdWUpOwogCi0gICAgSFJFU1VMVCB1
bnVzZWQxKCk7Ci0gICAgSFJFU1VMVCB1bnVzZWQyKCk7CisgICAgSFJFU1VMVCB1bnVzZWQzKCk7
CisgICAgSFJFU1VMVCB1bnVzZWQ0KCk7CiAKICAgICBIUkVTVUxUIHNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdFbmFibGVkKFtpbl0gQk9PTCk7CiAgICAgSFJFU1VMVCBhY2NlbGVyYXRlZENvbXBv
c2l0aW5nRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggOTVlOWY5ZjVmOTI2MzYzZjUxNWIyMWIz
MzM0ZTlhN2QxNmE0NTIyNS4uMDM3MzI1MDc0YmEzZGI5ODhkMGY3NmQwYzVkODI4YWRjYjViNmI0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKQEAg
LTEzOCw4ICsxMzgsNiBAQAogCiAjZGVmaW5lIFdlYktpdFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJz
UHJlZmVyZW5jZUtleSAiV2ViS2l0VXNlSGlnaFJlc29sdXRpb25UaW1lcnMiCiAKLSNkZWZpbmUg
V2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQiCi0KICNkZWZpbmUgV2ViS2l0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Vu
YWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCIK
IAogI2RlZmluZSBXZWJLaXRTaG93RGVidWdCb3JkZXJzUHJlZmVyZW5jZUtleSAiV2ViS2l0U2hv
d0RlYnVnQm9yZGVycyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVu
Y2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCAzOTQ2
YjVlNzIwNzVhZWVmZTU1MWQyMzZkNGI4YjE3NzNmZmU2YTM3Li41MjNiMzI2ODY4N2U1MDg5NWU1
NTQ3NTg2MWNkY2VjODY1ZjQ4NDc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQ
cmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3Bw
CkBAIC0yMDksNyArMjA5LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1
bHRTZXR0aW5ncygpCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdl
YktpdEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFu
VHJ1ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEph
dmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNl
KTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0WFNTQXVk
aXRvckVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwotICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRp
Y2FsbHlQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFk
ZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRQbHVnaW5zRW5hYmxlZFByZWZlcmVuY2VLZXkp
LCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdERhdGFiYXNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUp
OwpAQCAtODY2LDE4ICs4NjUsMTYgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJQcmVm
ZXJlbmNlczo6c2V0WFNTQXVkaXRvckVuYWJsZWQoCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLUhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OmlzRnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCgKLSAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIGVuYWJsZWQpCitIUkVTVUxU
IFdlYlByZWZlcmVuY2VzOjp1bnVzZWQ3KCkKIHsKLSAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZv
cktleShDRlNUUihXZWJLaXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkUHJlZmVyZW5jZUtleSkpOwot
ICAgIHJldHVybiBTX09LOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBF
X0ZBSUw7CiB9CiAKLUhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoCi0gICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpCitI
UkVTVUxUIFdlYlByZWZlcmVuY2VzOjp1bnVzZWQ4KCkKIHsKLSAgICBzZXRCb29sVmFsdWUoQ0ZT
VFIoV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBlbmFibGVkKTsK
LSAgICByZXR1cm4gU19PSzsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
RV9GQUlMOwogfQogCiBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjpq
YXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KCAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVm
ZXJlbmNlcy5oCmluZGV4IGJmYzRkMzE1OWViNDA0YThhY2Q2N2QwMjg2YmE0NzJiMjMwNGNhNDEu
Ljk2NjBjODA1YzU2YjI4ZGIzY2JiY2NjNjcxNjgxZGE3MzJiZGQ4MjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuaApAQCAtNDE2LDExICs0MTYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGltZXJz
KAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9PTCogdXNlSGlnaFJlc29sdXRpb25UaW1lcnMp
OwogCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGlzRnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCgKLSAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIGVuYWJsZWQpOwotCi0g
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQoCi0gICAgLyogW2luXSAqLyBCT09MIGVuYWJsZWQpOworICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSB1bnVzZWQ3KCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHVudXNlZDgoKTsKIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRQcmVmZXJlbmNlRm9yVGVzdCgKICAgICAvKiBbaW5dICovIEJTVFIga2V5LApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAppbmRleCBmYWViYzc1MzNhZjZkMmJlMWM0MjVjOTBkNWJmN2UxNGVj
MjQ0ZjhlLi45ZjJlMGM1ZWY3ZDVkZTI1OWNiMmQzMzM4OTg3ZTgwOGQ0OTM5M2RlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcApAQCAtNDg0OSwxMSArNDg0OSw2IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90
aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24qIG5vdGlmaWNhdGlvbikKICAg
ICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLT5zZXRTaG91bGRVc2VIaWdoUmVzb2x1dGlv
blRpbWVycyhlbmFibGVkKTsKIAotICAgIGhyID0gcHJlZnNQcml2YXRlLT5pc0ZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoJmVuYWJsZWQpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1
cm4gaHI7Ci0gICAgc2V0dGluZ3MtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7
Ci0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgaHIgPSBwcmVmc1ByaXZh
dGUtPmFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJ
TEVEKGhyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKaW5kZXggMjY1MzQxN2JiZDc3NjE0NTFkZTA4
OTQyNmUwZDRlZDIzMWY5MDAzYi4uOTE1NzM5MjVkZDlhODkyOGEzZjkwMDdlOGIwZDc3NjJlZmUw
MTg4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKQEAgLTE0MSwxMSArMTQxLDYgQEAgdm9pZCBX
S0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhXS0J1bmRsZVJlZiBidW5kbGVS
ZWYsIFdLQnVuZGxlUGFnZUcKICAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0QWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzKHRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKIH0KIAotdm9p
ZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlUmVm
LCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0b0ltcGwocGFn
ZUdyb3VwUmVmKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQgV0tCdW5kbGVTZXRHZW9sb2NhdGlvblBl
cm1pc3Npb24oV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdl
R3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKIHsKICAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0R2Vv
TG9jYXRpb25QZXJtaXNzaW9uKHRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCmluZGV4IDVjNDc2MThjNzFlNzNkNWUyMTkxZDgyOGM0
YWVkNTA3MDU0MmIwNWIuLjA5MzM4NjI4NjhmNGY0YmZlNWU5YmRiNWMyYzliMmI3MzA2NWM0MzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaApAQCAtNjgsNyArNjgsNiBAQCBXS19F
WFBPUlQgdm9pZCBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdL
QnVuZGxlUmVmIGJ1bmRsZSwgVwogCiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEFsbG93VW5p
dmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdl
R3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5k
bGVTZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1
bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgdm9p
ZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBX
S0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQg
dm9pZCBXS0J1bmRsZVNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihXS0J1bmRsZVJlZiBidW5kbGUs
IFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlU2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChXS0J1bmRsZVJl
ZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVkKTsK
IFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFibGVk
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggNWRiM2RlN2YyYzczYTAxMjEyZDNkZjk5ODFi
ODU5YzZjZjNiNGEzNy4uOTM3NjZmNmExMDhmYTg4ODYyYTk0MjI1ZTdmNmNkNjliNGM0NDE4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTE4OSwxMyArMTg5LDYgQEAgdm9pZCBJbmplY3Rl
ZEJ1bmRsZTo6c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFdlYlBhZ2VHcm91cFByb3h5
KiBwYWdlR3JvdXAKICAgICAgICAgKCppdGVyKS0+c2V0dGluZ3MoKS0+c2V0QWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzKGVuYWJsZWQpOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlOjpzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wg
ZW5hYmxlZCkKLXsKLSAgICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFnZXMgPSBQYWdlR3JvdXA6
OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnBhZ2VzKCk7Ci0gICAgZm9yIChI
YXNoU2V0PFBhZ2UqPjo6aXRlcmF0b3IgaXRlciA9IHBhZ2VzLmJlZ2luKCk7IGl0ZXIgIT0gcGFn
ZXMuZW5kKCk7ICsraXRlcikKLSAgICAgICAgKCppdGVyKS0+c2V0dGluZ3MoKS0+c2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0
R2VvTG9jYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wg
ZW5hYmxlZCkKIHsKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5k
ZXggNjYxMTFmZmJiNjVlOTIxNDQ3YTBiNjA4MjM1NzI4MzZjMDcwMWNiMy4uMDhjOGNkMDgwNWYx
YTkxYmIxOTNjNDBhMmNiYmQ4N2JmN2MxOGYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtMTA3
LDcgKzEwNyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIG92ZXJyaWRlWFNTQXVkaXRvckVuYWJsZWRG
b3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7
CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhXZWJQYWdlR3Jv
dXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxz
KFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRHZW9Mb2NhdGlv
blBlcm1pc3Npb24oV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2b2lkIHNldEphdmFT
Y3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAgICB2
b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCBkYzdiNGNiNmQ4MzM1YTkyZDRkM2NlNjI2OWJlYzQw
YzEzMjViNGFjLi4yNjk2NTg1ZTg0N2U3YWFkYTBjNTUzYTk4MTQwNDM3ODVmZmYyYTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIuZGVmCkBAIC0yMjcsNiArMjI3LDcgQEAgRVhQT1JUUwogICAgICAgICA/
c2V0dGluZ3NARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWU2V0dGluZ3NAMkBYWgogICAgICAgICA/
c2V0dGluZ3NARnJhbWVAV2ViQ29yZUBAUUJFUEFWU2V0dGluZ3NAMkBYWgogICAgICAgICA/c2V0
Rml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZUBTZXR0aW5nc0BXZWJDb3JlQEBRQUVY
X05AWgorICAgICAgICA/c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZEBTZXR0aW5nc0BXZWJDb3Jl
QEBRQUVYX05AWgogICAgICAgICA/c2hhZG93QEVsZW1lbnRAV2ViQ29yZUBAUUJFUEFWRWxlbWVu
dFNoYWRvd0AyQFhaCiAgICAgICAgID9zdWJzdHJpbmdAU3RyaW5nQFdURkBAUUJFP0FWMTJASUlA
WgogICAgICAgICA/c3VnZ2VzdGVkVmFsdWVASFRNTElucHV0RWxlbWVudEBXZWJDb3JlQEBRQkVB
QlZTdHJpbmdAV1RGQEBYWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZp
bHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggOTZjMGY3ZjQxOTMz
ZDk0NzZhMWM4OTk3YTFjMWViODQ0NTk5NGUyOC4uOWEwZmQxNWNhZTM1M2QzZjViOTgwZjkyZDFj
YjBiZDg1ZDVhM2I2NyAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC0xMjYsNiArMTI2LDcg
QEAgX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEy
QXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9aTjdXZWJDb3JlOFNldHRpbmdzMjNzZXRQaWN0
b2dyYXBoRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZTsKIF9a
TjdXZWJDb3JlOFNldHRpbmdzMjRzZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRFYjsKIF9aTjdXZWJD
b3JlOFNldHRpbmdzMzdzZXRGaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRpdmVUb0ZyYW1lRWI7Citf
Wk43V2ViQ29yZThTZXR0aW5nczI1c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZEViOwogX1pON1dl
YkNvcmU5RnJhbWVWaWV3MTdwYWludENvbnRyb2xUaW50c0V2OwogX1pON1dlYkNvcmU5RnJhbWVW
aWV3MTlzY3JvbGxFbGVtZW50VG9SZWN0RVBOU183RWxlbWVudEVSS05TXzdJbnRSZWN0RTsKIF9a
TjdXZWJDb3JlMjRGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXJEMkV2OwpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg0Nzk3YjhmMTc5ZGZiMjhiZDE5
M2I3NTcyN2JhMjM1ZmZlNTM3NzYuLjk2YzNiNDhhM2FlNmY2YzNiMGEyOTkxZWFhMGUwNmM5M2Ix
N2E2ZGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MiBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGpl
c3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFs
cygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSB0aGUgaW1wbGVtZW50YXRpb24gb2Ygc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgpIGZvciBl
YWNoIHBsYXRmb3JtLiBOb3RlIHRoYXQKKyAgICAgICAgRHVyaW5nIHRoZSBJbnRlcm5hbHNPYmpl
Y3QgcmVzZXQgdGhlIGJlaGF2aW9yIGlzIGNoYW5nZWQgYmFjayB0byB0aGUgcGxhdGZvcm0KKyAg
ICAgICAgZGVmYXVsdCwgd2hpY2ggd2FzIGZhbHNlIGZvciBldmVyeW9uZSBmb2xsb3dpbmcgU2V0
dGluZ3MnIGRlZmF1bHQgdmFsdWUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGlj
RnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRl
c3RpbmcpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENv
bnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5
b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9M
YXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZh
bHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVy
TWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVu
ZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3Bw
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9sbGVyV3guY3Bw
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRs
ZTo6YmVnaW5UZXN0aW5nKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcik6CisKIDIwMTItMDUtMjMgIE1hbGNvbG0gTWFjTGVvZCA8bWFsY29sbS5t
YWNsZW9kQHRzaHdhbmVkamUuY29tPgogCiAgICAgICAgIFt3eF0gSW4gd3hXZWJLaXQgcmVsZWFz
ZSBidWlsZHMgb24gTVNXLCBrZWVwIHJlbGVhc2Ugc2V0dGluZ3MgYnV0IGFsc28gYnVpbGQgdGhl
IApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4
IDZlNGFmMjI1MmU1OTEwOTM4YTUxYTZiNjEzMmMyMjNhZWFiZTBmNzAuLjc3YTM1NTVkMDZjZGMz
YmNkYzM1YjZjODhiNjA3MzgwMDNlM2I1ODUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9M
YXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTE0ODEsMTkgKzE0ODEsNiBAQCBzdGF0aWMgSlNW
YWx1ZVJlZiBzZXRQcmludGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbgogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
IH0KIAotCi1zdGF0aWMgSlNWYWx1ZVJlZiBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJh
Y2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJl
ZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1
bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIC8vIEhhcyBtYWMgJiB3aW5k
b3dzIGltcGxlbWVudGF0aW9uCi0gICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQotICAgICAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0KLSAgICBMYXlvdXRUZXN0Q29u
dHJvbGxlciogY29udHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4o
SlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKLSAgICBjb250cm9sbGVyLT5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBd
KSk7Ci0KLSAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0
YXRpYyBKU1ZhbHVlUmVmIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzQ2FsbGJh
Y2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJl
ZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1
bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgJiB3aW5k
b3dzIGltcGxlbWVudGF0aW9uCkBAIC0yMzU4LDcgKzIzNDUsNiBAQCBKU1N0YXRpY0Z1bmN0aW9u
KiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAic2V0
RGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZCIsIHNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWRD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXREZWZlcnNMb2FkaW5nIiwgc2V0RGVmZXJz
TG9hZGluZ0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldERvbWFpblJlbGF4YXRpb25G
b3JiaWRkZW5Gb3JVUkxTY2hlbWUiLCBzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJM
U2NoZW1lQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAic2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCIsIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAg
ICB7ICJzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24iLCBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb25D
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRIYW5kbGVzQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VzIiwgc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlc0NhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgInNldEljb25EYXRhYmFzZUVuYWJsZWQiLCBzZXRJY29uRGF0YWJhc2VF
bmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCmluZGV4IGMwNzYwNjcyMzg2MzgyNTc1OTRhZTAxODEyNzkwMTVmMTc2MjBh
NzEuLjlkOTZiZGM0YmFhMTgzNWNjNmMyYzM0ZmM1NjQ3ZjM3MjViY2I5MGMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMTIxLDcgKzEyMSw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVS
ZWYgbm9kZU9iamVjdCwgSlNTdHJpbmdSZWYgdmFsdWUpOwogICAgIHZvaWQgc2V0Vmlld01vZGVN
ZWRpYUZlYXR1cmUoSlNTdHJpbmdSZWYgbW9kZSk7CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5h
YmxlZChib29sIGZsYWcpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29s
IGVuYWJsZSk7CiAgICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFi
bGUpOwogICAgIHZvaWQgc2V0U2Nyb2xsYmFyUG9saWN5KEpTU3RyaW5nUmVmIG9yaWVudGF0aW9u
LCBKU1N0cmluZ1JlZiBwb2xpY3kpOwogICAgIHZvaWQgc3RhcnRTcGVlY2hJbnB1dChKU0NvbnRl
eHRSZWYgaW5wdXRFbGVtZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Js
YWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2ti
ZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggNzAxNDVjZGY0NGY3Y2Y0YWEyZGNmNmFjY2Fi
ZTQ4ZWFhZDljNDg4Ny4uNWZlNGVmOGE4MGRlMmU4NjM1YTQwNzA2NTE0OGRjY2YzMDFiMGZmYyAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJl
ZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJl
ZS5jcHAKQEAgLTI4OSw2ICsyODksNyBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpyZXNldFRvQ29u
c2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpCiAgICAgc2V0dGluZ3MtPnNldFNhbnNTZXJpZkZv
bnRGYW1pbHkoIkFyaWFsIik7CiAgICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseSgi
VGltZXMiKTsKICAgICBzZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOworICAg
IC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIEJsYWNrQmVycnkgdXNlcyByZXNldEludGVybmFs
c09iamVjdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODk5Lgog
ICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBzZXR0
aW5ncy0+c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSgwKTsKICAgICBzZXR0aW5ncy0+c2V0UGx1Z2lu
c0VuYWJsZWQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2Jl
cnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKaW5kZXgg
ODRiNTEwZGUyOTZlZTczMTIwM2M5YzkwZjkyYTJhZWI0Yjk5NjU1My4uN2IzZTMwM2I1NDYwMGY0
MGE4ZDQ5Y2M4MWQ0YzE2NzViZWIwODlhNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0Jl
cnJ5LmNwcApAQCAtNTcwLDExICs1NzAsNiBAQCBib29sIExheW91dFRlc3RDb250cm9sbGVyOjpj
YWxsU2hvdWxkQ2xvc2VPbldlYlZpZXcoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJs
ZSkKLXsKLSAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OkR1bXBSZW5kZXJUcmVlOjpjdXJyZW50SW5z
dGFuY2UoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVu
YWJsZSk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZChib29sIGVuYWJsZSkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAK
aW5kZXggMmYxMTFlZDM5MmUzNGU4NDBiODRmNGM0OWVjM2Q2ZWZkNDk2OThmNC4uNGJiYWZjOTE4
NGViZTJhYWM1ZmY0NWZkNmIyMzhmYzQ4YTdlZjQwYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC0zMzcsMTEgKzMz
Nyw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJv
b2wgZmxhZykKICAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV94c3NfYXVkaXRvcl9zZXQoYnJv
d3Nlci0+bWFpblZpZXcoKSwgZmxhZyk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmbGFnKQotewotICAgIGV3a192aWV3X3Nl
dHRpbmdfZW5hYmxlX2ZyYW1lX2ZsYXR0ZW5pbmdfc2V0KGJyb3dzZXItPm1haW5WaWV3KCksIGZs
YWcpOwotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIGV3a192aWV3X3NldHRpbmdfc3BhdGlhbF9uYXZp
Z2F0aW9uX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDk1MWQy
YmVmN2VkOThmNzBlZDk5MDczN2U4MTI4MzljMzE3ZDYyYWUuLmM1MWQ1NGFkNWU1N2FmNmYxMTUx
YzY4OTJlZjBkMjNiZGU1N2M5YzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApAQCAtNDEyLDE1ICs0MTIsNiBAQCB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGZsYWcpCiAg
ICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS14c3MtYXVkaXRvciIs
IGZsYWcsIE5VTEwpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0g
d2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKLSAgICBBU1NFUlQodmll
dyk7Ci0KLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3NldHRpbmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyks
ICJlbmFibGUtZnJhbWUtZmxhdHRlbmluZyIsIGZsYWcsIE5VTEwpOwotfQotCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKQog
ewogICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmll
dyhtYWluRnJhbWUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
CmluZGV4IGMxZjQ0YTQ3MzQ4YzdiMDBlMzg5ZWMwNWIxYjZhNjQ5YWNkM2RmYjUuLjAxN2ZjOTEy
NmMyNTA1ZTAzOTM3MjA2M2JlMTlmZGQ1NTMyYmUwYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTY0Miw3ICs2NDIsNiBAQCBzdGF0aWMgdm9pZCBy
ZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICBbcHJlZmVyZW5jZXMgc2V0SmF2
YVNjcmlwdEV4cGVyaW1lbnRzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHk6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TG9hZHNTaXRl
SWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6Tk9dOwotICAgIFtwcmVmZXJlbmNl
cyBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkOk5PXTsKICAgICBpZiAocGVyc2lzdGVudFVzZXJTdHlsZVNo
ZWV0TG9jYXRpb24pIHsKICAgICAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJTdHlsZVNoZWV0TG9j
YXRpb246W05TVVJMIFVSTFdpdGhTdHJpbmc6KE5TU3RyaW5nICopKHBlcnNpc3RlbnRVc2VyU3R5
bGVTaGVldExvY2F0aW9uLmdldCgpKV1dOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDY3NzM4MjUzNzc5ZGI4YTE0N2Iy
YWQyYWY2ZjQ2NTQ2MDg0NzdhNDEuLmU2NjVmNjgxNTdhMDcyMzgwZDE2OGQ0MjNkMzMzZTA5Y2My
Y2UyNjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29u
dHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENv
bnRyb2xsZXJNYWMubW0KQEAgLTU4NSwxMSArNTg1LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIFtbW21haW5GcmFt
ZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNTQXVkaXRvckVuYWJsZWQ6ZW5hYmxlZF07CiB9
CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
Ym9vbCBlbmFibGVkKQotewotICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10g
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDplbmFibGVkXTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsK
ICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZDplbmFibGVkXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5jcHAKaW5kZXggYTlmMjdiZjNiZTk0ZTU1NjM1NWQzZGE0YTE4ODZmMGVmZDA3YTZk
OC4uMDY1MzU1NjI0MmU0ZjM4Nzg4OGYwYTBhMzMxYjM2YmE5YzJhM2RiZiAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTE5Miw3ICsxOTIsNiBA
QCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogCiAgICAgbV9kcnQtPmxheW91dFRlc3RD
b250cm9sbGVyKCktPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+
bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQodHJ1
ZSk7Ci0gICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoZmFsc2UpOwogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRT
bWFydEluc2VydERlbGV0ZUVuYWJsZWQodHJ1ZSk7CiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250
cm9sbGVyKCktPnNldFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQoZmFsc2UpOwogICAg
IG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXREZWZlcnNMb2FkaW5nKGZhbHNlKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVy
UXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5j
cHAKaW5kZXggYzE2ODNmMTBlMTgyN2Q1NmJlMWM0NWYzNDRlMjQwMTIzMDNmMzdiMC4uZDdiYTNj
NjIwMWFjODVjMTA5NGMxNGVlZWIwZDlhMTY4MmEzZmY5MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTQ0MiwxMSArNDQy
LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihs
b25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYgc2MKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6d2ViSW5zcGVjdG9yRXhlY3V0ZVNjcmlwdChtX2RydC0+d2ViUGFnZSgpLCBjYWxsSWQsIHNj
cmlwdCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fZHJ0LT53ZWJQYWdlKCksIGVuYWJsZWQpOwotfQot
CiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpnb0JhY2soKQogewogICAgIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0Ojpnb0JhY2sobV9kcnQtPndlYlBhZ2UoKSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmggYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKaW5kZXggNTUxMTY3NjcyYzg0
NjU4ZWNhNTQ3MDcyNTEwNDQ2YWMxYWE4Y2EyOS4uOWY3YmNmM2NhMGE2NTU2ZjI4M2JiYjQ4Nzc3
ZWQzOGM1YzU0OGJlMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0
VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRl
c3RDb250cm9sbGVyUXQuaApAQCAtMTU0LDcgKzE1NCw2IEBAIHB1YmxpYyBzbG90czoKICAgICB2
b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcmIHNj
cmlwdCk7CiAgICAgdm9pZCByZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKICAgICB2b2lkIHNldE1l
ZGlhVHlwZShjb25zdCBRU3RyaW5nJiB0eXBlKTsKLSAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHMoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJv
bUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFwcENhY2hlTWF4aW11bVNpemUo
dW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCmluZGV4IDRlZDhlMGRjNjc1NjhjZGY3MzAyMTUzYTM5NDMwYTljMWRj
YjE2OTcuLmQ5NjZkNzhhYzdiOWI3ZTM1MmRjNjY5MjU1MjVjOGQxYjM2YjE5YzggMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODYyLDcgKzg2Miw2
IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZl
cmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRTaG91bGRQYWlu
dE5hdGl2ZUNvbnRyb2xzKEZBTFNFKTsgLy8gRklYTUUgLSBuZWVkIHRvIG1ha2UgRFJUIHBhc3Mg
d2l0aCBXaW5kb3dzIG5hdGl2ZSBjb250cm9scyA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjU1OTI+CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0SmF2YVNjcmlwdENh
bkFjY2Vzc0NsaXBib2FyZChUUlVFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRp
dG9yRW5hYmxlZChGQUxTRSk7Ci0gICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFw
cGxpY2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldExv
YWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKEZBTFNFKTsKICAgICAg
ICAgcHJlZnNQcml2YXRlLT5zZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKEZBTFNF
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJv
bGxlcldpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xs
ZXJXaW4uY3BwCmluZGV4IDdlNWVlNzMyMmRhZWU2MzhjYjlhNDA5YjhiZGFiY2RlZTYxMWZhNDku
Ljc3YzIwNzI5OWFhMzA2MjE2NWU3ODU1ODJiMTdjMDgxNWZhMmZkYjIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcApAQCAt
NTA0LDIzICs1MDQsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9y
RW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5h
YmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgQ09NUHRyPElXZWJWaWV3PiB3
ZWJWaWV3OwotICAgIGlmIChGQUlMRUQoZnJhbWUtPndlYlZpZXcoJndlYlZpZXcpKSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlcz4gcHJlZmVyZW5jZXM7Ci0g
ICAgaWYgKEZBSUxFRCh3ZWJWaWV3LT5wcmVmZXJlbmNlcygmcHJlZmVyZW5jZXMpKSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlc1ByaXZhdGU+IHByZWZzUHJp
dmF0ZShRdWVyeSwgcHJlZmVyZW5jZXMpOwotICAgIGlmICghcHJlZnNQcml2YXRlKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBwcmVmc1ByaXZhdGUtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
ZW5hYmxlZCk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNwYXRpYWxOYXZp
Z2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBm
b3IgU3BhdGlhbE5hdmlnYXRpb24gbGF5b3V0IHRlc3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAppbmRleCBiNGIxODA2Y2NkYzc3
ZjViNzllN2E2NGQzMjg0Y2ExNzYxOWNkM2YxLi4xYWM4MjI1NTA4MWQ3ZTdkY2JmMWY2ZmQ1N2Jh
ZjNiNDNhODRmMjhjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRU
ZXN0Q29udHJvbGxlcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRU
ZXN0Q29udHJvbGxlcld4LmNwcApAQCAtMTg3LDExICsxODcsNiBAQCB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgLy8gRklY
TUU6IGltcGxlbWVudAogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50
Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNz
RnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L0xheW91dFRlc3RDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCmluZGV4IDVlNTJlZThi
YTM2Yzg5N2JmNzQ0Nzc0YjBiYzhjN2M3NjA1NzlhNjkuLjZhYjY1MWExMzA4MTdlYzIyNTc3YTBl
MDhiZmE5YTIyMGVmYzQyNDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaWRsCkBAIC01Myw3ICs1Myw2IEBAIG1vZHVsZSBXVFIgewogICAgICAgICB2b2lkIHNl
dFhTU0F1ZGl0b3JFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwogICAgICAgICB2b2lkIHNldEFs
bG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xlYW4gdmFsdWUpOwogICAgICAg
ICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhpbiBib29sZWFuIHZhbHVlKTsK
LSAgICAgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUp
OwogICAgICAgICB2b2lkIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihpbiBib29sZWFuIHZhbHVl
KTsKICAgICAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGluIGJvb2xl
YW4gdmFsdWUpOwogICAgICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoaW4gYm9v
bGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDA1ZDRlYTY4N2IxNDc3MDViMzM2NjFi
Y2QyODAwMjk1MjMwOGQ1OTUuLmZhMDYxNWZmNGJhYWI3YWJmMDNlNDA5YTliNDY2MjVmNDdjMmY0
NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMjQsNyArMjI0LDYgQEAgdm9pZCBJbmplY3RlZEJ1
bmRsZTo6YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJlZiBzZXR0aW5ncykKICAgICBXS0J1bmRs
ZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxzZSk7
CiAgICAgV0tCdW5kbGVTd2l0Y2hOZXR3b3JrTG9hZGVyVG9OZXdUZXN0aW5nU2Vzc2lvbihtX2J1
bmRsZSk7CiAgICAgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChtX2J1bmRs
ZSwgbV9wYWdlR3JvdXAsIHRydWUpOwotICAgIFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKIAogICAgIFdLQnVuZGxlUmVtb3Zl
QWxsVXNlckNvbnRlbnQobV9idW5kbGUsIG1fcGFnZUdyb3VwKTsKIApkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250
cm9sbGVyLmNwcAppbmRleCAyNTBmYTVjOTUwZGFjZTc0OWY5MTkzNjc3NDk2ZGMwOWYxNDA1YWZm
Li41OWY1OWQzMDIwMTViNDM5YWM1OWNkZjZkYTU5MzNhMGQ5NzA5YTAxIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVy
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcApAQCAtMzY2LDExICszNjYsNiBAQCB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogICAg
IFdLQnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKEluamVjdGVkQnVuZGxlOjpz
aGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBl
bmFibGVkKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgV0tCdW5kbGVTZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5k
bGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJvb2wgZW5hYmxlZCkKIHsKICAg
ICBXS0J1bmRsZVNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihJbmplY3RlZEJ1bmRsZTo6c2hhcmVk
KCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlR3JvdXAoKSwgZW5hYmxl
ZCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xh
eW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggOGNhMDlmNjFhYTVlMWFiMmRkMzYxZGM3
MjFiMWIxMTM3MDA3ZDQxNi4uZjgxMTQ2OTYwYzcxMGUxODI3YTlhMjNlZjNlMTQ2MTAxMGZmMDE4
MSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtODcsNyArODcsNiBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEFsbG93VW5p
dmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZChib29sKTsKICAgICB2b2lkIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihib29sKTsKICAgICB2
b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoYm9vbCk7CiAgICAgdm9pZCBzZXRQ
cml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFiZWFhNThlYzViZTNkYWZlOGQ1
OWY3NjgyOGQ3YTM2ODdiOGNmMDkuLjA0ZjVkZjcxYjNmZTJjMjI3OWU4MThjODA1YjA3MjgxZDM5
YzQxMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1Q
YWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2lu
ZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1zdmctZG9jdW1lbnQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2
YW5jZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctZ3JpZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWw6CisgICAgICAg
ICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0
cy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1m
bGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxp
bmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9s
bGluZy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1o
ZWlnaHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNj
cm9sbC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVj
dGlvbi1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtdGlueS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9t
aXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3Vy
Y2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMi0wNS0yMyAg
Sm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
Z2FyZGVuaW5nIC0gaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3Qtc3VtbWFyeS1zaG93
LXJhbmdlcy5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9jcmFzaC1zdmctZG9jdW1lbnQuaHRtbAppbmRleCBlYjAzZWExYzhmOTZlYWU5OTFh
MzE1NjA1Y2FlNTNmZmE5ZjI5ZDk0Li4zNTVmNmUwODliZThkM2NjZWFhMWJjMTNjMGQwMGQwMjUz
NGEwY2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Ny
YXNoLXN2Zy1kb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDxib2R5Pgog
PHNjcmlwdD4KIAotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2lu
ZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotfQogCiA8L3NjcmlwdD4KIDxpZnJhbWUg
c3JjPSJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmcnPjwvc3ZnPiI+PC9pZnJhbWU+U2hvdWxkIG5vdCBjcmFzaC48L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctYWR2YW5jZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCmluZGV4IDdjZjk5NGU5ZjU5OGI3NzkzOWQz
MWI3MTVhMzFhY2FmNTA4OTRjMjEuLmI4ODMyYWRhYjJkMjNmMTRlYjZmZDIwNGY3ZTJiZThlMDEx
Zjc5ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCkBAIC0zLDgg
KzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0
LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCmluZGV4IDk1N2MyZWQ1YWFmNzNhNTllOTY2MGYx
YmM5YjgwNmQyYmNiMWNkMjAuLjkzNDYyZmYyOGY3MzIxY2MyNjI5MzI0NzUzYjczN2MzMWU1M2Iy
MWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbApAQCAtMyw4ICszLDggQEAKICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgLy8gRm9yY2Ug
c3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsK
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggOTNlYWE1ZWVl
MjEzZjI5ZDU5MGNjNTFkYjM5MjQ1NmNmOWY1NGY0Mi4uN2Y4NzhjMmExYTNlZjE5YTY0YWI1MDRi
NjFlZGIyMzc3YTBhMDBiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApA
QCAtMSwxMCArMSwxMCBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIH0K
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAgICBmdW5jdGlv
biB0ZXN0KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZy
YW1lLXJlc2l6ZS5odG1sCmluZGV4IGI3MDY2NjM3NmZiYTUwODQ2ODZiMzRlNGVhYTk4Nzc0NTYw
NzMxMTcuLjBmN2JiOGU2MDg2ZjZjYzQwZjc0OTQ5M2M2ZjU1OGIwNjNkNjMxYjAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmlu
Zy1zdWJmcmFtZS1yZXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKQEAgLTEsMTAg
KzEsMTAgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiPgotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwotICAgICAgICB9CisgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRt
bAppbmRleCA3MjMxOThjZGYyM2RhZmMwMTcxYzI5Y2M3ZjEyYzQ2YTkyNDUzOGYxLi5kNjY5NjUz
OTYxMDZmMTk1MzBkM2RhZTg5ZWYzZThiZTkyZWQxZTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1m
bGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAg
ICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2gu
aHRtbAppbmRleCAwMmMwYmJmM2VkNGVkYTdjOTM0OWJlNmU2NTRmMjdiNGIzNTBhZjA2Li4yMTgx
MTFmZDkyMTZhN2JjMDIxZWQxNDVmZGRhNDc2M2Q0ZGFlODQyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1jcmFzaC5odG1sCkBAIC00LDggKzQsOSBAQAogICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOwogICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KQEAgLTE5LDggKzIwLDggQEAKICAg
ICAgICAgICAgIHZhciBpID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVsw
XS5jbGllbnRXaWR0aDsgCiAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
LSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAg
ICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPGJvZHkgb25yZXNpemU9J3Rlc3QyKCk7Jz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctZml4ZWQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sCmluZGV4IDAyMzdjNzhmNjRiNmE2
NDIwMTBlMDE2NjUyM2U1ZDgxYzU4YzRkMTEuLmZiMWE0NWVmNWMxOTY3MzE2MjY3MGZhNGNiYzVm
ZmVlMzViNDZkYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRt
bApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9u
b3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAg
ICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgt
anMtZm9yY2VkLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy13
aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAppbmRleCA4ODBhOWU1ZmM2ZDBkNGQ5ZDA3YTBmZGQ3
MWMxZGU3ZWRkMDMwMmQ0Li5iOGY5ZjFjNTRiODU3N2Y2NmM4ODM0ZDkxM2RmNDdlNmY4ODQ0ZjBl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1m
bGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9y
Y2VkLWxheW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0
aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKQEAgLTQsMTAgKzQsMTAgQEAKIAogICAgICAgICBmdW5j
dGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFu
ZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwKaW5kZXggZmI4NjcxNGIwODQ0MThjMDZjZjlhYzJj
NTY1NTI0ZDhjOTkzMmQ3ZS4uY2U2MWJiM2FlYmQ2ZDcwYzJmYzQ2OGE3NTUzZjQ0ZjkwMDljNjE4
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4
ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbApAQCAtMyw4ICszLDggQEAKICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3Qo
KQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0
cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVk
LXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVy
by1zaXplLmh0bWwKaW5kZXggODJjOWY2ZjU2Y2ZkZDNkNGU4OWNmZjEzZjg3ZjNmNTY1MGZkNDlj
NS4uZGMyZGQ0ZDA5M2M3MjAwZjU3NzdiZmI5NDFiZWY4NWE5MzljMjBhZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhl
ZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdo
dC16ZXJvLXNpemUuaHRtbApAQCAtNCwxMCArNCwxMCBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0
aC1hbmQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAppbmRleCBhYmRiNjcy
ODI5ZThkOTE2ZjcxNDBhODFiNGFkNmEzOGVlMzNkMjdkLi5hM2E3ZmFhMmU2OGNkZTEwZjNhYzU2
YjU4YWExM2MzMmE3Mzg0ZDI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPGh0bWw+CiA8
aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1maXhlZC13aWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCmluZGV4IGE3MjQ3OTdlODUzNDQxZTg4
NmRiNTZkYThiMmQwMzMwNTI4NjlmYzUuLjNlZWYwNTNiODg5MjExY2Q5N2U5ZDYyNTQ3ZTI2YzFl
Y2FhZGI3ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKQEAg
LTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBs
YXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWwKaW5kZXggZjA2NTNhZDA5M2I0NDE2YjAz
ZjQzMTc4ZjczMTQ0YjA3NWM0MmRiYy4uZTNjMTJhZGM3ZDg0YTgwMDA4NTRjZTNkZTAzZTAzOGFk
MzY1YTY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sCkBAIC05LDggKzksOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
b2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCmluZGV4IGE5NjY1MTM0Mjc3ODc0NGFiOTM4M2Y4
OTJmYTgwYzIzOWYzOWY4ODYuLmQwYzhhZmIyNDRkNjU5ZWVjOGZlOTE3Y2MxM2RlN2IzZDBjZWQ2
Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbApAQCAtMyw4ICszLDgg
QEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykK
KyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sCmlu
ZGV4IGVkNjExYTgwZjBiMjZjMmEwNzIyNmZmYTU4NWY5Mzg1ZDRjOTlhMGMuLmMxMjJiMTVkMTM5
MDYwMjhlM2RjYTBlNWJiY2RjMjM5MzUxNjY0ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNj
cm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sCkBAIC0xLDEwICsxLDEwIEBA
CiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgfQorICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVsYXlvdXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZp
ZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sCmluZGV4IGE5OTI1MWMwYzg1ODlkNmVkNzIzMmEw
ODVlNTJhZjFkNzY3ZTgzYTIuLjc5ODYzZWRiMGYzMDgwNjdiZWVmY2E1MTczYTBhYjdkZjM4OTgy
ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9m
LXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4K
IDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQogICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmludGVy
bmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOwogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW91dC1vZi12aWV3Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3Lmh0bWwKaW5kZXggZTI0NTU2MGE2YmIxMDVi
MTczMThlZjFhM2U2MTkwYTdjMjZhNGU0MS4uNGU4MDc0NmI0NDg5ZWZjYjY0YzBlZjIzMmU5ZjBm
YmFhZjIwZGUzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbApA
QCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAg
ICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3Vz
IGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbAppbmRl
eCA0OTYxMDBmZTg4NzE2MDBkOWRiYmRjMTMzMmMyMTFmZWRkYThiY2JhLi5iYWRiNTBkMjdjOTJi
NWY4ZDgxOTE0ZWY5NjQ3MzZiZTEyMWYwYmMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctc2VsZWN0aW9uLWNyYXNoLmh0bWwKQEAgLTIsMTAgKzIsMTAgQEAKIDxoZWFkPgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsK
LSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAg
ICB9CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAg
ICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRIZWlnaHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAppbmRl
eCA2NzIxYmI0YmU3NDVmOWRkMTBiZWIyODYwZTBlMDI0MDQ2ODJkNGI0Li4yNzFiODc3MzBiMWIy
NTQyOTg3MGI5NGZlOGY4MTg2YzA3NjU4MmY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxl
Lmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
PgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5j
aHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsK
ICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtdGlueS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtdGlueS5odG1sCmluZGV4IGI3YTRkMGEyNjhhYmNlN2E5MmU4YjI5MWI5ZmNlMTdhMTcx
NmQxMDYuLmViMDExZWJhNjM5MjAxOTkwNzM0NWUzYmM2YTAwMThhMGIyNTNlNzIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwK
QEAgLTUsOCArNSw4IEBACiA8c2NyaXB0PgogZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBmcmFtZSBm
bGF0dGVuaW5nIGlzIG5vdCB1c2VkIGZvciB0aW55IGZyYW1lcy4gVGhpcyB0ZXN0IHJlcXVpcmVz
IERSVCBvciB1c2VyIGFnZW50IHdpdGggZmxhdHRlbmluZyBlbmFibGVkLiIpOwogCi1pZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVu
Y3Rpb24gY2hlY2tSZXN1bHQoZnJhbWVOYW1lLCBleHBlY3RlZFdpZHRoLCBleHBlY3RlZEhlaWdo
dCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IDk1
MzY1YjdiZjljY2YzYzViOWY3MDlkYjEzNjI4ZDA4ZTBlMTM1ODguLmUzNWRlYWYyNGNjMjU3YzE4
YjVmYzQyMmYzZWJiMTNhMWZjZjljYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmlu
Zy1zaW1wbGUuaHRtbApAQCAtMzcsOCArMzcsOCBAQAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgp
CiAgICAgewotICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAgLy8gc3RhcnRpbmcgdGhlIHRl
c3QgaXRzZWxmOiBnZXQgdG8gYSBrbm93biBwbGFjZS4KICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzdGFydCIpLmZvY3VzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1y
ZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVu
aW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbAppbmRleCBmZWYy
MDZhMzI1NzVjNTVlMmNlYWU1OTQxYTQzYzkxNWUxM2NmYzYyLi4zYzQxZTRkZDE1NjZjZTI3M2U4
ODFhMTNmMzk2MzYyODcxZDk5YmM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNv
dXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRl
bmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwKQEAgLTQsOCAr
NCw5IEBACiAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0K
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICA8L3NjcmlwdD4KICAg
ICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9PC9zdHlsZT4KIDwvaGVh
ZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggZTQ3MjVmYjUwMGNiNDI5OWM3OTYwZTg1
YmRmMDk3MGViZjY2YmRiNC4uNDIyZjM4MGZjNTU4MGM2YmIyNWQ1MDBiYjU5MzI5MjhjZjYxNDJj
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTk1NSwxMCArOTU1LDYgQEAgaHR0cC90
ZXN0cy9tZWRpYS92aWRlby1yZWZlcmVyLmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMzMzQ5CiBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtd2lu
ZG93LW9wZW4tamF2YXNjcmlwdC11cmwuaHRtbAogCi0jIFNraXAgZnJhbWUgZmxhdHRlbmluZyB0
ZXN0cyB1bnRpbCBpdCBjYW4gYmUgdGVzdGVkIGJ5IHRoaXMgRFJUCi0jIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjcxNwotZmFzdC9mcmFtZXMvZmxhdHRlbmluZy8K
LQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ5MzMKIG1lZGlh
L3ZpZGVvLWRpc3BsYXktYXNwZWN0LXJhdGlvLmh0bWwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144117</attachid>
            <date>2012-05-25 11:53:55 -0700</date>
            <delta_ts>2012-05-29 13:20:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20120525155311.patch</filename>
            <type>text/plain</type>
            <size>54115</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjZiODcyY2Y4NDQyMDU2
NGM0MzU1YmI5NWZhNDI5YTRjMWJiODE0Yi4uZmQ3NGU0MjQyY2Y0N2Q0OGJlMDlkZTQ1YTVhZWMw
YTI4N2EyYmMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTIyICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJv
bGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSB0byB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLiBObyBuZXcgdGVzdHMsIGJ1dCB0aGlzCisgICAgICAgIGNo
YW5nZSB3aWxsIGFsbG93IG1vcmUgdGVzdHMgdG8gcnVuIGluIFdlYktpdFRlc3RSdW5uZXIgYW5k
IERSVCBmb3IgcG9ydHMgdGhhdCB3ZXJlbid0CisgICAgICAgIGltcGxlbWVudGluZyB0aGlzIGZ1
bmN0aW9uIGJlZm9yZS4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnJlc3RvcmVUbyk6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
OgorICAgICAgICAoSW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmlkbDoKKwogMjAxMi0wNS0yNSAgS2VuIEJ1Y2hhbmFuICA8a2VucmJAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIExheW91dCByb290IG5vdCBnZXR0aW5nIGNsZWFyZWQgZm9yIGFu
b255bW91cyByZW5kZXJlcnMgZ2V0aW5nIGRlc3Ryb3llZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBlODIz
Zjg2ZTVlYjRjYzI2YjI1Mzc5M2YxYTY3MmZiYzg5MjkwMmE3Li45MTRmNzE5MGFmN2U1ODJiYWMw
Y2I1MTNhMDQ4MDJmNTllOTFjNzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTA1LTIyICBKZXN1cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJv
c3NhLm9yZz4KKworICAgICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBs
YXlvdXRUZXN0Q29udHJvbGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQuaDoKKwogMjAxMi0wNS0yNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3Nz
eUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gQnVpbGRmaXggZm9yIG5ld2VyIFF0NQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDMxMjQxMzFjNzk3MDlmMTgyZmVlMGI5YjRkMWMxNTdmOWI4M2M4NmEuLjFkOTYx
YjhlNzg2NjRmN2NiZDJjYTNmMzI5N2QxZmI5ZTQwMDM2ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVu
Y2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6CisgICAgICAgIChJbmplY3RlZEJ1
bmRsZSk6CisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorCiAyMDEyLTA1LTI1ICBNYXJpbyBT
YW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXSzJd
IEltcGxlbWVudCBBUEkgZm9yIGdlbmVyaWMgcGVybWlzc2lvbiByZXF1ZXN0cwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggODU5NGI3MDRkZWY1ZjE1
YTExOWM4NmYyNGIzMjM1MjNlM2M0OTg2Zi4uZGI5ZGQ1NDNlYTYyMmFjMzM0MzVlOGIwYzU4MGEy
NmQxODJiYzA4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwCkBAIC0xMDAsNiArMTAwLDcgQEAgSW50ZXJuYWxTZXR0aW5nczo6SW50ZXJuYWxTZXR0aW5n
cyhGcmFtZSogZnJhbWUpCiAjZW5kaWYKICAgICAsIG1fb3JpZ2luYWxFZGl0aW5nQmVoYXZpb3Io
c2V0dGluZ3MoKS0+ZWRpdGluZ0JlaGF2aW9yVHlwZSgpKQogICAgICwgbV9vcmlnaW5hbEZpeGVk
UG9zaXRpb25DcmVhdGVzU3RhY2tpbmdDb250ZXh0KHNldHRpbmdzKCktPmZpeGVkUG9zaXRpb25D
cmVhdGVzU3RhY2tpbmdDb250ZXh0KCkpCisgICAgLCBtX29yaWdpbmFsRnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChzZXR0aW5ncygpLT5mcmFtZUZsYXR0ZW5pbmdFbmFibGVkKCkpCiB7CiB9CiAKQEAg
LTExMyw2ICsxMTQsNyBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OnJlc3RvcmVUbyhTZXR0aW5n
cyogc2V0dGluZ3MpCiAjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0RWRpdGluZ0JlaGF2aW9yVHlw
ZShtX29yaWdpbmFsRWRpdGluZ0JlaGF2aW9yKTsKICAgICBzZXR0aW5ncy0+c2V0Rml4ZWRQb3Np
dGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQobV9vcmlnaW5hbEZpeGVkUG9zaXRpb25DcmVhdGVz
U3RhY2tpbmdDb250ZXh0KTsKKyAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZChtX29yaWdpbmFsRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCk7CiB9CiAKIFNldHRpbmdzKiBJbnRl
cm5hbFNldHRpbmdzOjpzZXR0aW5ncygpIGNvbnN0CkBAIC0zNTIsNCArMzU0LDEwIEBAIHZvaWQg
SW50ZXJuYWxTZXR0aW5nczo6c2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQo
Ym9vbCBjcmVhdGVzLCBFeGNlCiAgICAgc2V0dGluZ3MoKS0+c2V0Rml4ZWRQb3NpdGlvbkNyZWF0
ZXNTdGFja2luZ0NvbnRleHQoY3JlYXRlcyk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7CisgICAgc2V0dGlu
Z3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA3ZmVhNzVkZmIyN2FkNGRk
NzkxNGJhYjQzZDNkZGQ0ZDQwMWFlZTAzLi5jY2Q2NDRmYWQ3ZTgxMDQyYTUwMjUzMTZlMmVmNTY3
MzQ4ZDhhNWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApA
QCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNZWRpYVBsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZShib29sLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRFZGl0aW5n
QmVoYXZpb3IoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0Rml4
ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQoYm9vbCwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlv
bkNvZGUmKTsKIAogICAgIHZvaWQgcmVzdG9yZVRvKFNldHRpbmdzKik7CiAKQEAgLTk1LDYgKzk2
LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgIEVkaXRpbmdCZWhhdmlvclR5cGUgbV9vcmlnaW5h
bEVkaXRpbmdCZWhhdmlvcjsKICAgICBib29sIG1fb3JpZ2luYWxGaXhlZFBvc2l0aW9uQ3JlYXRl
c1N0YWNraW5nQ29udGV4dDsKKyAgICBib29sIG1fb3JpZ2luYWxGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXggN2IzMDE3OWJkYmQzZmEyMGIxMDQ0YjdiMTBi
NzI5NzM5Y2Q3ZDFiNC4uNmYxMzllZDRkNDUwZDhmNGE1Yjk3ZjZmMWFmNjY0Zjk2ZGYxODcwMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC01NSw2
ICs1NSw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICB2b2lkIHNldE1lZGlhUGxheWJhY2tS
ZXF1aXJlc1VzZXJHZXN0dXJlKGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlv
bik7CiAgICAgICAgIHZvaWQgc2V0RWRpdGluZ0JlaGF2aW9yKGluIERPTVN0cmluZyBiZWhhdmlv
cikgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgc2V0Rml4ZWRQb3NpdGlvbkNy
ZWF0ZXNTdGFja2luZ0NvbnRleHQoaW4gYm9vbGVhbiBjcmVhdGVzKSByYWlzZXMoRE9NRXhjZXB0
aW9uKTsKKyAgICAgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGluIGJvb2xlYW4g
ZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcAppbmRleCBmZjdkMDA2MjdlODg0OWFhMTkyYjcyN2Q2MWI4ZjJlZDcyN2Q2MjFhLi43
YmZhNDAyMmYwYTJmOTJiYzViOTg2YTJiMDcyNTdhMGM2N2NlMjYyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcApAQCAtMjQyLDExICsyNDIsNiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpzZXREdW1wUmVuZGVyVHJlZU1vZGVFbmFibGVkKGJvb2wgYikKICNlbmRpZgogfQogCi12b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQ
YWdlKiBwYWdlLCBib29sIGVuYWJsZWQpCi17Ci0gICAgUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBh
Z2UpLT5zZXR0aW5ncygpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOwotfQot
CiB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp3ZWJQYWdlU2V0R3JvdXBOYW1lKFFXZWJQ
YWdlKiBwYWdlLCBjb25zdCBRU3RyaW5nJiBncm91cE5hbWUpCiB7CiAgICAgcGFnZS0+aGFuZGxl
KCktPnBhZ2UtPnNldEdyb3VwTmFtZShncm91cE5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCmluZGV4
IDJjOTZmYjNhMmVlNTA4MjMyNDU1MWM1ZWFhNmViMDhmYjVmZjA4MDIuLjI3ZjI5MzMyZGRjMWZm
MDliMjIyODBjYWY0NGJlYTkzYzc1OGIyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKQEAgLTExNiw3
ICsxMTYsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVzdW1lQWN0aXZlRE9NT2JqZWN0
cyhRV2ViRnJhbWUqIGZyYW1lKTsKIAogICAgIHN0YXRpYyB2b2lkIHNldERvbWFpblJlbGF4YXRp
b25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCBmb3JiaWRkZW4sIGNvbnN0IFFTdHJpbmcmIHNj
aGVtZSk7Ci0gICAgc3RhdGljIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChRV2ViUGFn
ZSosIGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldENhcmV0QnJvd3NpbmdFbmFibGVkKFFXZWJQ
YWdlKiBwYWdlLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMgdm9pZCBzZXRBdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmxlZChRV2ViUGFnZSosIGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldE1lZGlh
VHlwZShRV2ViRnJhbWUqIHFmcmFtZSwgY29uc3QgUVN0cmluZyYgdHlwZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGUuY3BwCmluZGV4IDI2NTM0MTdiYmQ3NzYxNDUxZGUwODk0MjZlMGQ0ZWQyMzFmOTAwM2Iu
LjkxNTczOTI1ZGQ5YTg5MjhhM2Y5MDA3ZThiMGQ3NzYyZWZlMDE4OGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGUuY3BwCkBAIC0xNDEsMTEgKzE0MSw2IEBAIHZvaWQgV0tCdW5kbGVTZXRBbGxvd0ZpbGVB
Y2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHCiAg
ICAgdG9JbXBsKGJ1bmRsZVJlZiktPnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyh0b0lt
cGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7CiB9CiAKLXZvaWQgV0tCdW5kbGVTZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBS
ZWYgcGFnZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpCi17Ci0gICAgdG9JbXBsKGJ1bmRsZVJlZikt
PnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodG9JbXBsKHBhZ2VHcm91cFJlZiksIGVuYWJsZWQp
OwotfQotCiB2b2lkIFdLQnVuZGxlU2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKFdLQnVuZGxlUmVm
IGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGVuYWJs
ZWQpCiB7CiAgICAgdG9JbXBsKGJ1bmRsZVJlZiktPnNldEdlb0xvY2F0aW9uUGVybWlzc2lvbih0
b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZh
dGUuaAppbmRleCA1YzQ3NjE4YzcxZTczZDVlMjE5MWQ4MjhjNGFlZDUwNzA1NDJiMDViLi4wOTMz
ODYyODY4ZjRmNGJmZTVlOWJkYjVjMmM5YjJiNzMwNjVjNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQcml2YXRlLmgKQEAgLTY4LDcgKzY4LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVP
dmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihXS0J1bmRsZVJlZiBidW5kbGUsIFcK
IAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxl
VVJMcyhXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwg
Ym9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNz
RnJvbUZpbGVVUkxzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFn
ZUdyb3VwLCBib29sIGVuYWJsZWQpOwotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYg
cGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRHZW9s
b2NhdGlvblBlcm1pc3Npb24oV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJl
ZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEph
dmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBh
Z2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRs
ZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCmluZGV4IDVkYjNkZTdmMmM3M2EwMTIxMmQzZGY5OTgxYjg1OWM2Y2YzYjRhMzcuLjkzNzY2
ZjZhMTA4ZmE4ODg2MmE5NDIyNWU3ZjZjZDY5YjRjNDQxOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwCkBAIC0xODksMTMgKzE4OSw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEFsbG93Rmls
ZUFjY2Vzc0Zyb21GaWxlVVJMcyhXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwCiAgICAgICAg
ICgqaXRlciktPnNldHRpbmdzKCktPnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhlbmFi
bGVkKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZChXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpCi17Ci0gICAgY29u
c3QgSGFzaFNldDxQYWdlKj4mIHBhZ2VzID0gUGFnZUdyb3VwOjpwYWdlR3JvdXAocGFnZUdyb3Vw
LT5pZGVudGlmaWVyKCkpLT5wYWdlcygpOwotICAgIGZvciAoSGFzaFNldDxQYWdlKj46Oml0ZXJh
dG9yIGl0ZXIgPSBwYWdlcy5iZWdpbigpOyBpdGVyICE9IHBhZ2VzLmVuZCgpOyArK2l0ZXIpCi0g
ICAgICAgICgqaXRlciktPnNldHRpbmdzKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5h
YmxlZCk7Ci19Ci0KIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEdlb0xvY2F0aW9uUGVybWlzc2lv
bihXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpCiB7CiAjaWYgRU5B
QkxFKEdFT0xPQ0FUSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCmluZGV4IDY2MTExZmZiYjY1ZTkyMTQ0
N2EwYjYwODIzNTcyODM2YzA3MDFjYjMuLjA4YzhjZDA4MDVmMWE5MWJiMTkzYzQwYTJjYmJkODdi
ZjdjMThmMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKQEAgLTEwNyw3ICsxMDcsNiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBvdmVycmlkZVhTU0F1ZGl0b3JFbmFibGVkRm9yVGVzdFJ1bm5lcihXZWJQYWdl
R3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAg
ICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhXZWJQYWdlR3JvdXBQcm94eSos
IGJvb2wpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQ
cm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0R2VvTG9jYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2VH
cm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJv
YXJkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYK
aW5kZXggZGM3YjRjYjZkODMzNWE5MmQ0ZDNjZTYyNjliZWM0MGMxMzI1YjRhYy4uMjY5NjU4NWU4
NDdlN2FhZGEwYzU1M2E5ODE0MDQzNzg1ZmZmMmE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpA
QCAtMjI3LDYgKzIyNyw3IEBAIEVYUE9SVFMKICAgICAgICAgP3NldHRpbmdzQERvY3VtZW50QFdl
YkNvcmVAQFFCRVBBVlNldHRpbmdzQDJAWFoKICAgICAgICAgP3NldHRpbmdzQEZyYW1lQFdlYkNv
cmVAQFFCRVBBVlNldHRpbmdzQDJAWFoKICAgICAgICAgP3NldEZpeGVkRWxlbWVudHNMYXlvdXRS
ZWxhdGl2ZVRvRnJhbWVAU2V0dGluZ3NAV2ViQ29yZUBAUUFFWF9OQFoKKyAgICAgICAgP3NldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWRAU2V0dGluZ3NAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAg
P3NoYWRvd0BFbGVtZW50QFdlYkNvcmVAQFFCRVBBVkVsZW1lbnRTaGFkb3dAMkBYWgogICAgICAg
ICA/c3Vic3RyaW5nQFN0cmluZ0BXVEZAQFFCRT9BVjEyQElJQFoKICAgICAgICAgP3N1Z2dlc3Rl
ZFZhbHVlQEhUTUxJbnB1dEVsZW1lbnRAV2ViQ29yZUBAUUJFQUJWU3RyaW5nQFdURkBAWFoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDk2YzBmN2Y0MTkzM2Q5NDc2YTFjODk5N2ExYzFlYjg0
NDU5OTRlMjguLjlhMGZkMTVjYWUzNTNkM2Y1Yjk4MGY5MmQxY2IwYmQ4NWQ1YTNiNjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtMTI2LDYgKzEyNiw3IEBAIF9aTjdXZWJDb3JlOFNldHRp
bmdzMjJzZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3Jp
cHRDb2RlCiBfWk43V2ViQ29yZThTZXR0aW5nczIzc2V0UGljdG9ncmFwaEZvbnRGYW1pbHlFUktO
M1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5nczI0
c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkRWI7CiBfWk43V2ViQ29yZThTZXR0aW5nczM3c2V0Rml4
ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZUViOworX1pON1dlYkNvcmU4U2V0dGluZ3My
NXNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRFYjsKIF9aTjdXZWJDb3JlOUZyYW1lVmlldzE3cGFp
bnRDb250cm9sVGludHNFdjsKIF9aTjdXZWJDb3JlOUZyYW1lVmlldzE5c2Nyb2xsRWxlbWVudFRv
UmVjdEVQTlNfN0VsZW1lbnRFUktOU183SW50UmVjdEU7CiBfWk43V2ViQ29yZTI0RnJhbWVEZXN0
cnVjdGlvbk9ic2VydmVyRDJFdjsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCA3MWVhMmY0MjY5OWEyZmE2MTZiYmZiOGI5ZWVkYWIyNzg4MDU5M2E1
Li5mNTE5NzI0M2YzM2ZhNGEwMTM4MTFjNmM3ZWI1NDRkNzg4Nzg4MDliIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIw
MTItMDUtMjIgIEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxqZXN1cy5wYWxlbmNpYUBvcGVuYm9z
c2Eub3JnPgorCisgICAgICAgIE1vdmUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCBmcm9tIGxh
eW91dFRlc3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGhlIGltcGxlbWVudGF0aW9u
IG9mIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSBmb3IgZWFjaCBwbGF0Zm9ybS4gTm90ZSB0
aGF0CisgICAgICAgIER1cmluZyB0aGUgSW50ZXJuYWxzT2JqZWN0IHJlc2V0IHRoZSBiZWhhdmlv
ciBpcyBjaGFuZ2VkIGJhY2sgdG8gdGhlIHBsYXRmb3JtCisgICAgICAgIGRlZmF1bHQsIHdoaWNo
IHdhcyBmYWxzZSBmb3IgZXZlcnlvbmUgZm9sbG93aW5nIFNldHRpbmdzJyBkZWZhdWx0IHZhbHVl
LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1
bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6RHVtcFJlbmRl
clRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5j
cHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZs
LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJH
dGsuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToK
KyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OldlYlBhZ2U6OnJlc2V0U2V0dGluZ3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0xh
eW91dFRlc3RDb250cm9sbGVyUXQuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAg
ICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcDoKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlk
bDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyk6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorCiAy
MDEyLTA1LTI1ICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dpbl0gZmFzdC9ldmVudHMva2V5ZG93bi1sZWZ0cmlnaHQta2V5cy5odG1sIGZhaWxpbmcgc2lu
Y2UgaW50cm9kdWN0aW9uIGluIHIxMTgwMDEKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCBmOTFjODc0ZDQwMjNlYWNjMzFiNzMxODY3MjVjZDRl
MGY2ZmMzZDMwLi44ZmI5YzU3NTBlZjBmNzdmZWJkZWUxZDE4OWYwNTIxN2NjMWZlOWQyIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNDgx
LDE5ICsxNDgxLDYgQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0UHJpbnRpbmdDYWxsYmFjayhKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24KICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiB9CiAKLQotc3RhdGljIEpTVmFsdWVSZWYgc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
LXsKLSAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgotICAgIGlmIChhcmd1
bWVudENvdW50IDwgMSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOwotCi0gICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2Fz
dDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7
Ci0gICAgY29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChKU1ZhbHVlVG9Cb29s
ZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOwotCi0gICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5k
ZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMc0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
IHsKICAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgpAQCAtMjM3Myw3ICsy
MzYwLDYgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1
bmN0aW9ucygpCiAgICAgICAgIHsgInNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQiLCBzZXRE
ZWZlck1haW5SZXNvdXJjZURhdGFMb2FkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVh
ZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0
RGVmZXJzTG9hZGluZyIsIHNldERlZmVyc0xvYWRpbmdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRy
aWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAg
ICB7ICJzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIiwgc2V0RG9tYWlu
UmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAg
IHsgInNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uIiwg
c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVh
ZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0
SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyIsIHNldEhhbmRsZXNBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZXNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRJY29uRGF0YWJhc2VF
bmFibGVkIiwgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCAyYjlmNWZlMjQ5ZDhl
MGYzZjM3ZTBlMDk5Mjg3NmZlYTlkZThiMTUxLi5jYjRlMDdmYWY5YmU4ZjAyMTlhNTVkMmVjNTAy
ZmZhZGMyMTJmZjljIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9s
bGVyLmgKQEAgLTEyMiw3ICsxMjIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1ZUZvclVz
ZXIoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QsIEpTU3RyaW5nUmVmIHZhbHVl
KTsKICAgICB2b2lkIHNldFZpZXdNb2RlTWVkaWFGZWF0dXJlKEpTU3RyaW5nUmVmIG1vZGUpOwog
ICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsKLSAgICB2b2lkIHNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0U3BhdGlhbE5h
dmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldFNjcm9sbGJhclBvbGlj
eShKU1N0cmluZ1JlZiBvcmllbnRhdGlvbiwgSlNTdHJpbmdSZWYgcG9saWN5KTsKICAgICB2b2lk
IHN0YXJ0U3BlZWNoSW5wdXQoSlNDb250ZXh0UmVmIGlucHV0RWxlbWVudCk7CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDYy
MGU2YWNkNWQyOTAzYzUzZTFkMTkwYTQzNDdiYzMzMjIwMmE3OGUuLjMxODBiMjA3YjFiZWUyOGYy
OTUxZjlmNGI0ZjNiMWFhMGNkZjhkNjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC0yOTEsNiArMjkxLDcgQEAgdm9pZCBE
dW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKQogICAg
IHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KCJBcmlhbCIpOwogICAgIHNldHRpbmdz
LT5zZXRTdGFuZGFyZEZvbnRGYW1pbHkoIlRpbWVzIik7CiAgICAgc2V0dGluZ3MtPnNldFhTU0F1
ZGl0b3JFbmFibGVkKGZhbHNlKTsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSBCbGFj
a0JlcnJ5IHVzZXMgcmVzZXRJbnRlcm5hbHNPYmplY3Q6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04Njg5OS4KICAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChmYWxzZSk7CiAgICAgc2V0dGluZ3MtPnNldE1heGltdW1QYWdlc0luQ2FjaGUoMCk7
CiAgICAgc2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVkKHRydWUpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVy
cnkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJv
bGxlckJsYWNrQmVycnkuY3BwCmluZGV4IGFlZTRlNmYyMDA0MDBiMTJhY2EzNWE1M2JhMmNjZjQ1
ZmUzOTRkMDkuLmM2NWU4MjM5OTZiMmEzM2E0NDExMjE3NDM5Nzk2M2FhYzllZmRiZTkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xs
ZXJCbGFja0JlcnJ5LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xh
eW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAKQEAgLTU3MCwxMSArNTcwLDYgQEAgYm9v
bCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2FsbFNob3VsZENsb3NlT25XZWJWaWV3KCkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpCi17Ci0gICAgQmxhY2tCZXJyeTo6V2ViS2l0OjpE
dW1wUmVuZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPnBhZ2UoKS0+c2V0dGluZ3MoKS0+c2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGUpOwotfQotCiB2b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUpCiB7CiAgICAg
bm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9M
YXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5
b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCmluZGV4IDkyMTIzZTg4MWNkOTAyNDVmNTM4MGQ3ZTUz
Mjc4ZGQ1MjU3ZTE5ZDkuLjdmZTYyYTk5OTZhZGIzNzQ2MzAxM2E4NGJjNDgzM2Y3NDhhZTBkNDcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxl
ckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9s
bGVyRWZsLmNwcApAQCAtMzM3LDExICszMzcsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGZsYWcpCiAgICAgZXdrX3ZpZXdfc2V0dGluZ19l
bmFibGVfeHNzX2F1ZGl0b3Jfc2V0KGJyb3dzZXItPm1haW5WaWV3KCksIGZsYWcpOwogfQogCi12
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wg
ZmxhZykKLXsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3Nl
dChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZmxhZykKIHsKICAgICBld2tf
dmlld19zZXR0aW5nX3NwYXRpYWxfbmF2aWdhdGlvbl9zZXQoYnJvd3Nlci0+bWFpblZpZXcoKSwg
ZmxhZyk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENv
bnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250
cm9sbGVyR3RrLmNwcAppbmRleCA0NWM4MGU4MWZmMmY2NTM3MzU2MGEzMjg1YjViNzBlYzUyM2Fl
YjVhLi5mYzAyOGZiZmM5OTNhNjA2OTA4MjYyMWZlNzM1MjA3NjFkMGQyNmE4IDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAK
QEAgLTQxMiwxNSArNDEyLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVk
aXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5n
cyksICJlbmFibGUteHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGZsYWcpCi17Ci0g
ICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1h
aW5GcmFtZSk7Ci0gICAgQVNTRVJUKHZpZXcpOwotCi0gICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNl
dHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncyh2aWV3KTsKLSAgICBnX29iamVj
dF9zZXQoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLWZyYW1lLWZsYXR0ZW5pbmciLCBmbGFn
LCBOVUxMKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmln
YXRpb25FbmFibGVkKGJvb2wgZmxhZykKIHsKICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Vi
a2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBjMWY0NGE0NzM0OGM3YjAwZTM4OWVjMDVi
MWI2YTY0OWFjZDNkZmI1Li4wMTdmYzkxMjZjMjUwNWUwMzkzNzIwNjNiZTE5ZmRkNTUzMmJlMGI0
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0K
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC02NDIs
NyArNjQyLDYgQEAgc3RhdGljIHZvaWQgcmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcygp
CiAgICAgW3ByZWZlcmVuY2VzIHNldEphdmFTY3JpcHRFeHBlcmltZW50c0VuYWJsZWQ6WUVTXTsK
ICAgICBbcHJlZmVyZW5jZXMgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5OllFU107CiAgICAg
W3ByZWZlcmVuY2VzIHNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJl
bmNlOk5PXTsKLSAgICBbcHJlZmVyZW5jZXMgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDpOT107
CiAgICAgW3ByZWZlcmVuY2VzIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZDpOT107CiAgICAg
aWYgKHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uKSB7CiAgICAgICAgIFtwcmVmZXJl
bmNlcyBzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uOltOU1VSTCBVUkxXaXRoU3RyaW5nOihOU1N0
cmluZyAqKShwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbi5nZXQoKSldXTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQpp
bmRleCA1YjJlMDYwYzZiNDFhOWI3NmIyM2EyMDliYjE0YTU3NDdlZDU0MzQ3Li4xNTkyMTliMGVh
MGY1NzMxNDk4MDRjNTIyNDdhODI3MjdjYmI4NDU0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCkBAIC01ODUsMTEgKzU4NSw2
IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldFhTU0F1
ZGl0b3JFbmFibGVkOmVuYWJsZWRdOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBbW1ttYWluRnJh
bWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6ZW5hYmxl
ZF07Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZl
cmVuY2VzXSBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IGE5ZjI3YmYzYmU5NGU1
NTYzNTVkM2RhNGExODg2ZjBlZmQwN2E2ZDguLjA2NTM1NTYyNDJlNGYzODc4ODhmMGEwYTMzMWIz
NmJhOWMyYTNkYmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5k
ZXJUcmVlUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVl
UXQuY3BwCkBAIC0xOTIsNyArMTkyLDYgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkK
IAogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRDYXJldEJyb3dzaW5nRW5h
YmxlZChmYWxzZSk7CiAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldEF1dGhv
ckFuZFVzZXJTdHlsZXNFbmFibGVkKHRydWUpOwotICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJv
bGxlcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+bGF5
b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKHRydWUpOwog
ICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXRTZWxlY3RUcmFpbGluZ1doaXRl
c3BhY2VFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+
c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4IGMxNjgzZjEwZTE4MjdkNTZiZTFjNDVm
MzQ0ZTI0MDEyMzAzZjM3YjAuLmQ3YmEzYzYyMDFhYzg1YzEwOTRjMTRlZWViMGQ5YTE2ODJhM2Zm
OTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9s
bGVyUXQuY3BwCkBAIC00NDIsMTEgKzQ0Miw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNvbnN0IFFTdHJpbmcmIHNjCiAg
ICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OndlYkluc3BlY3RvckV4ZWN1dGVTY3JpcHQobV9k
cnQtPndlYlBhZ2UoKSwgY2FsbElkLCBzY3JpcHQpOwogfQogCi12b2lkIExheW91dFRlc3RDb250
cm9sbGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBE
dW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2RydC0+
d2ViUGFnZSgpLCBlbmFibGVkKTsKLX0KLQogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Z29C
YWNrKCkKIHsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Z29CYWNrKG1fZHJ0LT53ZWJQ
YWdlKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENv
bnRyb2xsZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xs
ZXJRdC5oCmluZGV4IDU1MTE2NzY3MmM4NDY1OGVjYTU0NzA3MjUxMDQ0NmFjMWFhOGNhMjkuLjlm
N2JjZjNjYTBhNjU1NmYyODNiYmI0ODc3N2VkMzhjNWM1NDhiZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKQEAgLTE1NCw3ICsxNTQs
NiBAQCBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcg
Y2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogICAgIHZvaWQgcmVtb3ZlQWxsVmlzaXRl
ZExpbmtzKCk7CiAgICAgdm9pZCBzZXRNZWRpYVR5cGUoY29uc3QgUVN0cmluZyYgdHlwZSk7Ci0g
ICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKTsKICAgICB2b2lk
IHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2
b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZSk7CiAgICAgdm9p
ZCBzZXRBcHBDYWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA0ZWQ4ZTBkYzY3
NTY4Y2RmNzMwMjE1M2EzOTQzMGE5YzFkY2IxNjk3Li5kOTY2ZDc4YWM3YjliN2UzNTJkYzY2OTI1
NTI1YzhkMWIzNmIxOWM4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHAKQEAgLTg2Miw3ICs4NjIsNiBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9D
b25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9scyhGQUxTRSk7IC8vIEZJWE1F
IC0gbmVlZCB0byBtYWtlIERSVCBwYXNzIHdpdGggV2luZG93cyBuYXRpdmUgY29udHJvbHMgPGh0
dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTkyPgogICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoVFJVRSk7CiAgICAgICAg
IHByZWZzUHJpdmF0ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoRkFMU0UpOwotICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoRkFMU0UpOwogICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChUUlVFKTsKICAg
ICAgICAgcHJlZnNQcml2YXRlLT5zZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
UHJlZmVyZW5jZShGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZChGQUxTRSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAppbmRleCBjNjcyM2JkZjkwMDQwZTM1
ODhjMDQ2ZTJjMTVjYmNlZGViMjkwNjE1Li45MmEzOGJmYmFhM2U5NzhhY2I5NjliNzg1ZmNiYjFm
MWViMWEwMjg5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVz
dENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRU
ZXN0Q29udHJvbGxlcldpbi5jcHAKQEAgLTUwNCwyMyArNTA0LDYgQEAgdm9pZCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIHByZWZz
UHJpdmF0ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQot
ewotICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKLSAgICBpZiAoRkFJTEVEKGZyYW1lLT53
ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2ViUHJl
ZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2ViVmlldy0+cHJlZmVyZW5j
ZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2ViUHJl
ZmVyZW5jZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKLSAgICBp
ZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJlZnNQcml2YXRlLT5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQogewog
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZm9yIFNwYXRpYWxOYXZpZ2F0aW9uIGxheW91dCB0ZXN0
cy4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RDb250cm9s
bGVyV3guY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJX
eC5jcHAKaW5kZXggYjY1ZTg3ZGRmMTQ0MjY5MjgzMjllMmY2NDNiMTA4ZDE2MDAwMmQzNi4uMGY4
MmZjMGU5NDA2OGMxMzg0MTVhMTlkZjg4NTg1ZTYzOTRlNWQ3MyAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAKQEAgLTE4NywxMSAr
MTg3LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQo
Ym9vbCBlbmFibGVkKQogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKIH0KIAotdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17
Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudAotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZWQpCiB7CiAg
ICAgLy8gRklYTUU6IGltcGxlbWVudApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250
cm9sbGVyLmlkbAppbmRleCA1ZTUyZWU4YmEzNmM4OTdiZjc0NDc3NGIwYmM4YzdjNzYwNTc5YTY5
Li42YWI2NTFhMTMwODE3ZWMyMjU3N2EwZTA4YmZhOWEyMjBlZmM0MjQzIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RD
b250cm9sbGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbApAQCAtNTMsNyArNTMsNiBAQCBtb2R1
bGUgV1RSIHsKICAgICAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChpbiBib29sZWFuIHZh
bHVlKTsKICAgICAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhp
biBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmls
ZVVSTHMoaW4gYm9vbGVhbiB2YWx1ZSk7Ci0gICAgICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRHZW9sb2NhdGlvblBl
cm1pc3Npb24oaW4gYm9vbGVhbiB2YWx1ZSk7CiAgICAgICAgIHZvaWQgc2V0SmF2YVNjcmlwdENh
bkFjY2Vzc0NsaXBib2FyZChpbiBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRQcml2
YXRlQnJvd3NpbmdFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAppbmRl
eCAwNWQ0ZWE2ODdiMTQ3NzA1YjMzNjYxYmNkMjgwMDI5NTIzMDhkNTk1Li5mYTA2MTVmZjRiYWFi
N2FiZjAzZTQwOWE5YjQ2NjI1ZjQ3YzJmNDYxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApAQCAtMjI0LDcg
KzIyNCw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyhXS0RpY3Rpb25hcnlS
ZWYgc2V0dGluZ3MpCiAgICAgV0tCdW5kbGVTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKG1fYnVu
ZGxlLCBtX3BhZ2VHcm91cCwgZmFsc2UpOwogICAgIFdLQnVuZGxlU3dpdGNoTmV0d29ya0xvYWRl
clRvTmV3VGVzdGluZ1Nlc3Npb24obV9idW5kbGUpOwogICAgIFdLQnVuZGxlU2V0QXV0aG9yQW5k
VXNlclN0eWxlc0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCB0cnVlKTsKLSAgICBXS0J1
bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxz
ZSk7CiAKICAgICBXS0J1bmRsZVJlbW92ZUFsbFVzZXJDb250ZW50KG1fYnVuZGxlLCBtX3BhZ2VH
cm91cCk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMjUwZmE1Yzk1MGRhY2U3
NDlmOTE5MzY3NzQ5NmRjMDlmMTQwNWFmZi4uNTlmNTlkMzAyMDE1YjQzOWFjNTljZGY2ZGE1OTMz
YTBkOTcwOWEwMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTM2NiwxMSArMzY2
LDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZp
bGVVUkxzKGJvb2wgZW5hYmxlZCkKICAgICBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zyb21G
aWxlVVJMcyhJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAg
IFdLQnVuZGxlU2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChJbmplY3RlZEJ1bmRsZTo6c2hhcmVk
KCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlR3JvdXAoKSwgZW5hYmxl
ZCk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEdlb2xvY2F0aW9uUGVybWlz
c2lvbihib29sIGVuYWJsZWQpCiB7CiAgICAgV0tCdW5kbGVTZXRHZW9sb2NhdGlvblBlcm1pc3Np
b24oSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBJbmplY3RlZEJ1bmRsZTo6c2hh
cmVkKCkucGFnZUdyb3VwKCksIGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4
IDhjYTA5ZjYxYWE1ZTFhYjJkZDM2MWRjNzIxYjFiMTEzNzAwN2Q0MTYuLmY4MTE0Njk2MGM3MTBl
MTgyN2E5YTIzZWYzZTE0NjEwMTBmZjAxODEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAg
LTg3LDcgKzg3LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9v
bCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKTsK
ICAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKTsKLSAgICB2b2lk
IHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRHZW9sb2NhdGlv
blBlcm1pc3Npb24oYm9vbCk7CiAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJv
YXJkKGJvb2wpOwogICAgIHZvaWQgc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBiYTdjNzljM2ZmNmUwZjNhMWY3YzFmZjBjMzJkYmMwNzUzMTViYjUzLi44MjA0NzBmNjIy
YTlmODI3NGYyZDhjNjBlZjA1MzY4NWMwYzg2MzYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIw
MTItMDUtMjIgIEplc3VzIFNhbmNoZXotUGFsZW5jaWEgIDxqZXN1cy5wYWxlbmNpYUBvcGVuYm9z
c2Eub3JnPgorCisgICAgICAgIE1vdmUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCBmcm9tIGxh
eW91dFRlc3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMoKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
Y3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZy
YW1lLXJlc2l6ZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdp
ZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sOgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQt
d2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVy
by1zaXplLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sOgorICAgICAg
ICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWw6
CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZz
Y3JlZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVs
YXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAg
ICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVz
dGluZy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vd2lu
L1NraXBwZWQ6CisKIDIwMTItMDUtMjUgIEVsbGlvdCBQb2dlciAgPGVwb2dlckBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgTmV3IGJhc2VsaW5lcyBmb3IgaHR0cDovL2NyYnVnLmNvbS8xMjkxODQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3Zn
LWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNo
LXN2Zy1kb2N1bWVudC5odG1sCmluZGV4IGViMDNlYTFjOGY5NmVhZTk5MWEzMTU2MDVjYWU1M2Zm
YTlmMjlkOTQuLjM1NWY2ZTA4OWJlOGQzY2NlYWExYmMxM2MwZDAwZDAyNTM0YTBjYzggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3Vt
ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1z
dmctZG9jdW1lbnQuaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPGJvZHk+CiA8c2NyaXB0PgogCi1p
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7Ci19CiAKIDwvc2NyaXB0PgogPGlmcmFtZSBzcmM9ImRhdGE6aW1h
Z2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PC9zdmc+
Ij48L2lmcmFtZT5TaG91bGQgbm90IGNyYXNoLjwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLWFkdmFuY2VkLmh0bWwKaW5kZXggN2NmOTk0ZTlmNTk4Yjc3OTM5ZDMxYjcxNWEzMWFjYWY1
MDg5NGMyMS4uYjg4MzJhZGFiMmQyM2YxNGViNmZkMjA0ZjdlMmJlOGUwMTFmNzlmYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLWFkdmFuY2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkK
ICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1ncmlkLmh0bWwKaW5kZXggOTU3YzJlZDVhYWY3M2E1OWU5NjYwZjFiYzliODA2ZDJiY2Ix
Y2QyMC4uOTM0NjJmZjI4ZjczMjFjYzI2MjkzMjQ3NTNiNzM3YzMxZTUzYjIxZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5n
LWdyaWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICB7Ci0gICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBs
YXlvdXQuCiAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAppbmRleCA5M2VhYTVlZWUyMTNmMjlkNTkwY2M1
MWRiMzkyNDU2Y2Y5ZjU0ZjQyLi43Zjg3OGMyYTFhM2VmMTlhNjRhYjUwNGI2MWVkYjIzNzdhMGEw
MGIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCkBAIC0xLDEwICsxLDEw
IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgfQorICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Zy
YW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0
bWwKaW5kZXggYjcwNjY2Mzc2ZmJhNTA4NDY4NmIzNGU0ZWFhOTg3NzQ1NjA3MzExNy4uMGY3YmI4
ZTYwODZmNmNjNDBmNzQ5NDkzYzZmNTU4YjA2M2Q2MzFiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJl
c2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPGh0
bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1m
bGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sCmluZGV4IDcyMzE5
OGNkZjIzZGFmYzAxNzFjMjljYzdmMTJjNDZhOTI0NTM4ZjEuLmQ2Njk2NTM5NjEwNmYxOTUzMGQz
ZGFlODllZjNlOGJlOTJlZDFlNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3Vi
ZnJhbWVzZXRzLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBG
b3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNl
dEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCmluZGV4IDAy
YzBiYmYzZWQ0ZWRhN2M5MzQ5YmU2ZTY1NGYyN2I0YjM1MGFmMDYuLjIxODExMWZkOTIxNmE3YmMw
MjFlZDE0NWZkZGE0NzYzZDRkYWU4NDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwK
QEAgLTQsOCArNCw5IEBACiAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAg
ICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICA8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTksOCArMjAsOCBAQAogICAgICAgICAgICAgdmFy
IGkgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdLmNsaWVudFdpZHRo
OyAKICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3Nj
cmlwdD4KICAgICA8Ym9keSBvbnJlc2l6ZT0ndGVzdDIoKTsnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWln
aHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWwKaW5kZXggMDIzN2M3OGY2NGI2YTY0MjAxMGUwMTY2NTIz
ZTVkODFjNThjNGQxMS4uZmIxYTQ1ZWY1YzE5NjczMTYyNjcwZmE0Y2JjNWZmZWUzNWI0NmRiOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sCkBAIC0zLDggKzMs
OCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0Lgog
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5
b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2Vk
LWxheW91dC5odG1sCmluZGV4IDg4MGE5ZTVmYzZkMGQ0ZDlkMDdhMGZkZDcxYzFkZTdlZGQwMzAy
ZDQuLmI4ZjlmMWM1NGI4NTc3ZjY2Yzg4MzRkOTEzZGY0N2U2Zjg4NDRmMGUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4
ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1s
YXlvdXQuaHRtbApAQCAtNCwxMCArNCwxMCBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQog
ICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwot
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1z
Y3JvbGxpbmcuaHRtbAppbmRleCBmYjg2NzE0YjA4NDQxOGMwNmNmOWFjMmM1NjU1MjRkOGM5OTMy
ZDdlLi5jZTYxYmIzYWViZDZkNzBjMmZjNDY4YTc1NTNmNDRmOTAwOWM2MThjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZp
eGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQt
aGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAg
ICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhl
aWdodC16ZXJvLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbApp
bmRleCA4MmM5ZjZmNTZjZmRkM2Q0ZTg5Y2ZmMTNmODdmM2Y1NjUwZmQ0OWM1Li5kYzJkZDRkMDkz
YzcyMDBmNTc3N2JmYjk0MWJlZjg1YTkzOWMyMGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1o
ZWlnaHQtemVyby1zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5o
dG1sCkBAIC00LDEwICs0LDEwIEBACiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAg
IHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAg
ICAgICB9CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAog
ICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sCmluZGV4IGFiZGI2NzI4MjllOGQ5MTZmNzE0
MGE4MWI0YWQ2YTM4ZWUzM2QyN2QuLmEzYTdmYWEyZTY4Y2RlMTBmM2FjNTZiNThhYTEzYzMyYTcz
ODRkMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgt
YW5kLWhlaWdodC5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQogICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0
cnVlKTsKLSAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLWZpeGVkLXdpZHRoLmh0bWwKaW5kZXggYTcyNDc5N2U4NTM0NDFlODg2ZGI1NmRhOGIyZDAz
MzA1Mjg2OWZjNS4uM2VlZjA1M2I4ODkyMTFjZDk3ZTlkNjI1NDdlMjZjMWVjYWFkYjdmYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1maXhlZC13aWR0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbApAQCAtMyw4ICszLDggQEAK
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAg
ICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5l
c3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1uZXN0ZWQuaHRtbAppbmRleCBmMDY1M2FkMDkzYjQ0MTZiMDNmNDMxNzhmNzMxNDRi
MDc1YzQyZGJjLi5lM2MxMmFkYzdkODRhODAwMDg1NGNlM2RlMDNlMDM4YWQzNjVhNjQ4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW5lc3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWwKQEAgLTksOCArOSw4IEBACiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAg
ICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAg
ICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1
bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
b2Zmc2NyZWVuLmh0bWwKaW5kZXggYTk2NjUxMzQyNzc4NzQ0YWI5MzgzZjg5MmZhODBjMjM5ZjM5
Zjg4Ni4uZDBjOGFmYjI0NGQ2NTllZWM4ZmU5MTdjYzEzZGU3YjNkMGNlZDZjYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1v
ZmZzY3JlZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
ICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXct
YW5kLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwKaW5kZXggZWQ2MTFhODBm
MGIyNmMyYTA3MjI2ZmZhNTg1ZjkzODVkNGM5OWEwYy4uYzEyMmIxNWQxMzkwNjAyOGUzZGNhMGU1
YmJjZGMyMzkzNTE2NjRkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1v
dXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDxodG1sPgogPGhl
YWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwotICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
b3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5k
LXJlbGF5b3V0Lmh0bWwKaW5kZXggYTk5MjUxYzBjODU4OWQ2ZWQ3MjMyYTA4NWU1MmFmMWQ3Njdl
ODNhMi4uNzk4NjNlZGIwZjMwODA2N2JlZWZjYTUxNzNhMGFiN2RmMzg5ODJkOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1v
dXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwt
YW5kLXJlbGF5b3V0Lmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOwotICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZp
ZXcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctb3V0LW9mLXZpZXcuaHRtbAppbmRleCBlMjQ1NTYwYTZiYjEwNWIxNzMxOGVmMWEzZTYx
OTBhN2MyNmE0ZTQxLi40ZTgwNzQ2YjQ0ODllZmNiNjRjMGVmMjMyZTlmMGZiYWFmMjBkZTNiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
c2VsZWN0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCmluZGV4IDQ5NjEwMGZlODg3
MTYwMGQ5ZGJiZGMxMzMyYzIxMWZlZGRhOGJjYmEuLmJhZGI1MGQyN2M5MmI1ZjhkODE5MTRlZjk2
NDczNmJlMTIxZjBiYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24t
Y3Jhc2guaHRtbApAQCAtMiwxMCArMiwxMCBAQAogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgICAgICAvLyBG
b3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNl
dEhlaWdodDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IDY3MjFiYjRiZTc0
NWY5ZGQxMGJlYjI4NjBlMGUwMjQwNDY4MmQ0YjQuLjI3MWI4NzczMGIxYjI1NDI5ODcwYjk0ZmU4
ZjgxODZjMDc2NTgyZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApAQCAtMyw4
ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVy
bmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91
dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0
bWwKaW5kZXggYjdhNGQwYTI2OGFiY2U3YTkyZThiMjkxYjlmY2UxN2ExNzE2ZDEwNi4uZWIwMTFl
YmE2MzkyMDE5OTA3MzQ1ZTNiYzZhMDAxOGEwYjI1M2U3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbApAQCAtNSw4ICs1LDgg
QEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCB0aGF0IGZyYW1lIGZsYXR0ZW5pbmcgaXMg
bm90IHVzZWQgZm9yIHRpbnkgZnJhbWVzLiBUaGlzIHRlc3QgcmVxdWlyZXMgRFJUIG9yIHVzZXIg
YWdlbnQgd2l0aCBmbGF0dGVuaW5nIGVuYWJsZWQuIik7CiAKLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiBmdW5jdGlvbiBjaGVja1Jl
c3VsdChmcmFtZU5hbWUsIGV4cGVjdGVkV2lkdGgsIGV4cGVjdGVkSGVpZ2h0KQogewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxh
dHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9u
L3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggOTUzNjViN2JmOWNjZjNj
NWI5ZjcwOWRiMTM2MjhkMDhlMGUxMzU4OC4uZTM1ZGVhZjI0Y2MyNTdjMThiNWZjNDIyZjNlYmIx
M2ExZmNmOWNiOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRp
b24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1s
CkBAIC0zNyw4ICszNyw4IEBACiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkKICAgICB7Ci0gICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwogCiAgICAgICAvLyBzdGFydGluZyB0aGUgdGVzdCBpdHNlbGY6IGdl
dCB0byBhIGtub3duIHBsYWNlLgogICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInN0YXJ0
IikuZm9jdXMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pZnJh
bWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5l
c3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCmluZGV4IGZlZjIwNmEzMjU3NWM1NWUy
Y2VhZTU5NDFhNDNjOTE1ZTEzY2ZjNjIuLjNjNDFlNGRkMTU2NmNlMjczZTg4MWExM2YzOTYzNjI4
NzFkOTliYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pZnJhbWUt
ZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1u
ZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbApAQCAtNCw4ICs0LDkgQEAKICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQorICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgIDwvc2NyaXB0PgogICAgIDxzdHlsZT5ib2R5
IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH08L3N0eWxlPgogPC9oZWFkPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZAppbmRleCA0YWI4ZWM1YjQwZjlhMzBmZTYwOTJkNTE0NmJlMDA5ZmViZTZm
Yjk2Li4zZTg3MzBiNWJjYTQ5Yjg4ZTkwMDcyNTk5ZjcwYTRjYWJmMDhiMzNjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vU2tpcHBlZApAQCAtOTY5LDEwICs5NjksNiBAQCBodHRwL3Rlc3RzL21lZGlhL3Zp
ZGVvLXJlZmVyZXIuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzMzNDkKIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC13aW5kb3ctb3Blbi1qYXZh
c2NyaXB0LXVybC5odG1sCiAKLSMgU2tpcCBmcmFtZSBmbGF0dGVuaW5nIHRlc3RzIHVudGlsIGl0
IGNhbiBiZSB0ZXN0ZWQgYnkgdGhpcyBEUlQKLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTMyNzE3Ci1mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nLwotCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDkzMwogbWVkaWEvdmlkZW8tZGlzcGxh
eS1hc3BlY3QtcmF0aW8uaHRtbAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144607</attachid>
            <date>2012-05-29 13:20:36 -0700</date>
            <delta_ts>2013-01-18 11:35:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20120529171951.patch</filename>
            <type>text/plain</type>
            <size>55751</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTEwMTI0NzJiNGE3NDA1
NTE4NzBkNGFjZWNjYTQ5MmM1Y2I2MDZiOC4uOWFmMGFiNzE4MGIzNmEyNjBjNGRmODQ0YjcyZTgy
OTVlMzY1NzMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA1LTIyICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJv
bGxlciB0byB3aW5kb3cuaW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSB0byB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLiBObyBuZXcgdGVzdHMsIGJ1dCB0aGlzCisgICAgICAgIGNo
YW5nZSB3aWxsIGFsbG93IG1vcmUgdGVzdHMgdG8gcnVuIGluIFdlYktpdFRlc3RSdW5uZXIgYW5k
IERSVCBmb3IgcG9ydHMgdGhhdCB3ZXJlbid0CisgICAgICAgIGltcGxlbWVudGluZyB0aGlzIGZ1
bmN0aW9uIGJlZm9yZS4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpJbnRlcm5hbFNldHRpbmdzKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnJlc3RvcmVUbyk6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
OgorICAgICAgICAoSW50ZXJuYWxTZXR0aW5ncyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmlkbDoKKwogMjAxMi0wNS0yOSAgSm9obiBTdWxsaXZhbiAgPHN1bGxpdmFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgbGFiZWwgZm9yIGJsYWNrbGlzdGVkIHBsdWctaW4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggZTgyNzQwZjk0N2M4ZTEyMDlkMzBhZjljZTUyMWYxNzljY2VkMjBh
ZC4uMjg1ZjZjYWM3MjA2YWU0YzIwMWQ2MDcyNDYwNzFlMmM1NDE4OTk5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hlei1QYWxlbmNpYSAg
PGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVy
bmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Lmg6CisKIDIwMTItMDUtMjkgIFRv
ciBBcm5lIFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFtR
dF0gU3luYyB1cCBmYXZpY29uLWltcGxlbWVudGF0aW9uIHdpdGggV2ViVmlldyB1cmwgY2hhbmdl
cyBpbiByMTE4MTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjYyYjQ5MDRiMzNlN2MzZTNlYTZjMDQ3YWVkMmQ1
MWI0NjcxYzY4ZC4uYmVkOTM3ZTNiNDcxNjVkYjAyNTc3OWNiYjBlOGRiZWI3YWM2Zjc1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA1LTIyICBKZXN1cyBTYW5jaGV6LVBhbGVu
Y2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBNb3ZlIHNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBsYXlvdXRUZXN0Q29udHJvbGxlciB0byB3aW5kb3cu
aW50ZXJuYWxzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg3MTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaDoKKyAg
ICAgICAgKEluamVjdGVkQnVuZGxlKToKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisKIDIw
MTItMDUtMjkgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBsaW51eC5p
bnRlbC5jb20+CiAKICAgICAgICAgW0dUS10gW1dLMl0gUmVwcm9kdWNpYmxlIGNyYXNoIGluIHBl
cmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5jcHAKaW5kZXggZDY0ODY2ODIxYjdhOWYyMDhjZDM4YzA5N2M3MTIyMzAyMWQx
ZTc0My4uZjRmZmU4YWJmNmE4MDE2MDU2N2JkY2IxNjYyOWQ3NWNiNzNlZjg5YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC0xMDQsNiArMTA0LDcg
QEAgSW50ZXJuYWxTZXR0aW5nczo6SW50ZXJuYWxTZXR0aW5ncyhGcmFtZSogZnJhbWUpCiAjaWYg
RU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgLCBt
X29yaWdpbmFsSmF2YVNjcmlwdFByb2ZpbGluZ0VuYWJsZWQocGFnZSgpICYmIHBhZ2UoKS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpICYmIHBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5wcm9m
aWxlckVuYWJsZWQoKSkKICNlbmRpZgorICAgICwgbV9vcmlnaW5hbEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQoc2V0dGluZ3MoKS0+ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgpKQogewogfQogCkBAIC0x
MjIsNiArMTIzLDcgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpyZXN0b3JlVG8oU2V0dGluZ3Mq
IHNldHRpbmdzKQogICAgIGlmIChwYWdlKCkgJiYgcGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVy
KCkpCiAgICAgICAgIHBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRQcm9maWxlckVu
YWJsZWQobV9vcmlnaW5hbEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkKTsKICNlbmRpZgorICAg
IHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fb3JpZ2luYWxGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKTsKIH0KIAogU2V0dGluZ3MqIEludGVybmFsU2V0dGluZ3M6OnNldHRpbmdz
KCkgY29uc3QKQEAgLTM4Myw0ICszODUsMTAgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRK
YXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUKICNl
bmRpZgogfQogCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNldHRp
bmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAgIHNldHRpbmdzKCktPnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoZW5hYmxlZCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmgKaW5kZXggMTExYzE4MDY5YmVhZGRiNzg4M2VhMzA4ZGQxMjYwMzFkM2M1OGMw
Zi4uNzdkMWIzNDU2NDE3ZDdjZGUzMDA5YzUyNThjNWI1NzBhZTQ5ZTE4OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTc4LDExICs3OCwxMSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIHZvaWQgc2V0Rml4ZWRQb3NpdGlvbkNyZWF0ZXNTdGFja2luZ0NvbnRleHQo
Ym9vbCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0U3luY1hIUkluRG9jdW1lbnRzRW5h
YmxlZChib29sLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmls
aW5nRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJik7CiAKICAg
ICB2b2lkIHJlc3RvcmVUbyhTZXR0aW5ncyopOwogCi0gICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJv
ZmlsaW5nRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmKTsKLQogcHJpdmF0ZToK
ICAgICBJbnRlcm5hbFNldHRpbmdzKEZyYW1lKik7CiAKQEAgLTEwMiw2ICsxMDIsNyBAQCBwcml2
YXRlOgogI2lmIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VS
KQogICAgIGJvb2wgbV9vcmlnaW5hbEphdmFTY3JpcHRQcm9maWxpbmdFbmFibGVkOwogI2VuZGlm
CisgICAgYm9vbCBtX29yaWdpbmFsRnJhbWVGbGF0dGVuaW5nRW5hYmxlZDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaWRsCmluZGV4IDM1MDEwMWUxMTU2MDNiNDRlMzcyNGMxNzZjZGY4YzUwYTNjNTAxMDMuLmVk
MGNlYzdlNmI2ZWMxZTMyNDc3MDJjMjU5Y2M4OGRlYmU5NDIxOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAtNTcsNiArNTcsNyBAQCBtb2R1bGUg
d2luZG93IHsKICAgICAgICAgdm9pZCBzZXRGaXhlZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5nQ29u
dGV4dChpbiBib29sZWFuIGNyZWF0ZXMpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICB2
b2lkIHNldFN5bmNYSFJJbkRvY3VtZW50c0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlz
ZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZXRKYXZhU2NyaXB0UHJvZmlsaW5nRW5h
YmxlZChpbiBib29sZWFuIGNyZWF0ZXMpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICB2
b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMo
RE9NRXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCA3ZTg1M2ZhNDQxODY4MTMxYTBiMTk1
ZjdmODIyYWM0MWQyMThlOTdmLi41MWUyMzk3MWM1YmQ1NzAxNzIxNmNkZDE0ZmM3MWJjZThmN2I4
OTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTEyNiw2ICsxMjYsOCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVu
Y2VzQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uOwogLSAoQk9PTClleHBlcmltZW50YWxOb3Rp
ZmljYXRpb25zRW5hYmxlZDsKIC0gKHZvaWQpc2V0RXhwZXJpbWVudGFsTm90aWZpY2F0aW9uc0Vu
YWJsZWQ6KEJPT0wpbm90aWZpY2F0aW9uc0VuYWJsZWQ7CiAKKy8vIEZJWE1FOiBUaGVzZSBjYW4g
YmUgcmVtb3ZlZCBhZnRlciB0aGUgbW92ZSBmcm9tIGxheW91dHRlc3Rjb250cm9sbGVyCisvLyB0
byB3aW5kb3cuaW50ZXJuYWxzLiAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg3MTQ5KQogLSAoQk9PTClpc0ZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ7CiAtICh2b2lkKXNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6KEJPT0wpZmxhZzsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNw
cAppbmRleCBlNzBiZjAwNGE0OTEyNmY0NGJkMTQ3NWRkNDgyY2E4MjcyNWRkZmVlLi5lMTNmMmQ0
YWFkYzIyYjY3NWI4ZThkMGNlMzI4OGNhN2VjZDFlNDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNw
cApAQCAtMjQyLDExICsyNDIsNiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRE
dW1wUmVuZGVyVHJlZU1vZGVFbmFibGVkKGJvb2wgYikKICNlbmRpZgogfQogCi12b2lkIER1bXBS
ZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFFXZWJQYWdlKiBw
YWdlLCBib29sIGVuYWJsZWQpCi17Ci0gICAgUVdlYlBhZ2VQcml2YXRlOjpjb3JlKHBhZ2UpLT5z
ZXR0aW5ncygpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp3ZWJQYWdlU2V0R3JvdXBOYW1lKFFXZWJQYWdlKiBw
YWdlLCBjb25zdCBRU3RyaW5nJiBncm91cE5hbWUpCiB7CiAgICAgcGFnZS0+aGFuZGxlKCktPnBh
Z2UtPnNldEdyb3VwTmFtZShncm91cE5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCmluZGV4IDQxODAw
ZmFiZDc3YjQ4NjdjMDMwNTYxNmQ2MGJjNGRlNmE2ZDQwMzguLjhlNzYwZTFmMzA0MTgzODYzNDVi
ZTYwMjE2NWQ3YWUzZjBlNGRhMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmgKQEAgLTExNiw3ICsxMTYs
NiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVzdW1lQWN0aXZlRE9NT2JqZWN0cyhRV2Vi
RnJhbWUqIGZyYW1lKTsKIAogICAgIHN0YXRpYyB2b2lkIHNldERvbWFpblJlbGF4YXRpb25Gb3Ji
aWRkZW5Gb3JVUkxTY2hlbWUoYm9vbCBmb3JiaWRkZW4sIGNvbnN0IFFTdHJpbmcmIHNjaGVtZSk7
Ci0gICAgc3RhdGljIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChRV2ViUGFnZSosIGJv
b2wpOwogICAgIHN0YXRpYyB2b2lkIHNldENhcmV0QnJvd3NpbmdFbmFibGVkKFFXZWJQYWdlKiBw
YWdlLCBib29sIHZhbHVlKTsKICAgICBzdGF0aWMgdm9pZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVz
RW5hYmxlZChRV2ViUGFnZSosIGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldE1lZGlhVHlwZShR
V2ViRnJhbWUqIHFmcmFtZSwgY29uc3QgUVN0cmluZyYgdHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViUHJl
ZmVyZW5jZXMuaAppbmRleCBiZmM0ZDMxNTllYjQwNGE4YWNkNjdkMDI4NmJhNDcyYjIzMDRjYTQx
Li45MzYyNDYyMWVlYTU4ZWYwNThjNTcwOGMwY2YzN2FlNjY4MmFlM2I1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYlByZWZlcmVuY2VzLmgKQEAgLTQxNiw5ICs0MTYsMTAgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzaG91bGRVc2VIaWdoUmVzb2x1dGlvblRpbWVy
cygKICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIHVzZUhpZ2hSZXNvbHV0aW9uVGltZXJz
KTsKIAorICAgIC8vIEZJWE1FOiBUaGVzZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciB0aGUgbW92ZSBm
cm9tIGxheW91dHRlc3Rjb250cm9sbGVyCisgICAgLy8gdG8gd2luZG93LmludGVybmFscy4gKGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OSkKICAgICB2aXJ0dWFs
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgaXNGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKAogICAg
IC8qIFtyZXR2YWxdW291dF0gKi8gQk9PTCogZW5hYmxlZCk7Ci0KICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCgKICAgICAvKiBb
aW5dICovIEJPT0wgZW5hYmxlZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKaW5kZXggMjY1MzQx
N2JiZDc3NjE0NTFkZTA4OTQyNmUwZDRlZDIzMWY5MDAzYi4uOTE1NzM5MjVkZDlhODkyOGEzZjkw
MDdlOGIwZDc3NjJlZmUwMTg4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKQEAgLTE0MSwxMSAr
MTQxLDYgQEAgdm9pZCBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhXS0J1
bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUcKICAgICB0b0ltcGwoYnVuZGxlUmVmKS0+
c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKHRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFi
bGVkKTsKIH0KIAotdm9pZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5k
bGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wg
ZW5hYmxlZCkKLXsKLSAgICB0b0ltcGwoYnVuZGxlUmVmKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0b0ltcGwocGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQgV0tCdW5kbGVT
ZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBh
Z2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKIHsKICAgICB0b0ltcGwoYnVu
ZGxlUmVmKS0+c2V0R2VvTG9jYXRpb25QZXJtaXNzaW9uKHRvSW1wbChwYWdlR3JvdXBSZWYpLCBl
bmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCmluZGV4IDVjNDc2MThjNzFl
NzNkNWUyMTkxZDgyOGM0YWVkNTA3MDU0MmIwNWIuLjA5MzM4NjI4NjhmNGY0YmZlNWU5YmRiNWMy
YzliMmI3MzA2NWM0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaApAQCAtNjgs
NyArNjgsNiBAQCBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VG
b3JUZXN0UnVubmVyKFdLQnVuZGxlUmVmIGJ1bmRsZSwgVwogCiBXS19FWFBPUlQgdm9pZCBXS0J1
bmRsZVNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKFdLQnVuZGxlUmVmIGJ1bmRs
ZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGVuYWJsZWQpOwogV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVTZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoV0tCdW5kbGVS
ZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCk7
Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoV0tCdW5k
bGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxl
ZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihXS0J1
bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgYm9vbCBlbmFi
bGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBi
b2FyZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwg
Ym9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0UHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91
cCwgYm9vbCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggNWRiM2RlN2YyYzcz
YTAxMjEyZDNkZjk5ODFiODU5YzZjZjNiNGEzNy4uOTM3NjZmNmExMDhmYTg4ODYyYTk0MjI1ZTdm
NmNkNjliNGM0NDE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTE4OSwxMyArMTg5LDYg
QEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKFdl
YlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAKICAgICAgICAgKCppdGVyKS0+c2V0dGluZ3MoKS0+
c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGVuYWJsZWQpOwogfQogCi12b2lkIEluamVj
dGVkQnVuZGxlOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiBw
YWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKLXsKLSAgICBjb25zdCBIYXNoU2V0PFBhZ2UqPiYgcGFn
ZXMgPSBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnBhZ2Vz
KCk7Ci0gICAgZm9yIChIYXNoU2V0PFBhZ2UqPjo6aXRlcmF0b3IgaXRlciA9IHBhZ2VzLmJlZ2lu
KCk7IGl0ZXIgIT0gcGFnZXMuZW5kKCk7ICsraXRlcikKLSAgICAgICAgKCppdGVyKS0+c2V0dGlu
Z3MoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6c2V0R2VvTG9jYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2VHcm91cFByb3h5KiBw
YWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKIHsKICNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmgKaW5kZXggNjYxMTFmZmJiNjVlOTIxNDQ3YTBiNjA4MjM1NzI4MzZjMDcwMWNi
My4uMDhjOGNkMDgwNWYxYTkxYmIxOTNjNDBhMmNiYmQ4N2JmN2MxOGYyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuaApAQCAtMTA3LDcgKzEwNyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIG92ZXJyaWRlWFNT
QXVkaXRvckVuYWJsZWRGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXAs
IGJvb2wgZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxl
VVJMcyhXZWJQYWdlR3JvdXBQcm94eSosIGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7Ci0gICAgdm9pZCBzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9vbCk7CiAgICAgdm9p
ZCBzZXRHZW9Mb2NhdGlvblBlcm1pc3Npb24oV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKICAg
ICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoV2ViUGFnZUdyb3VwUHJveHkq
LCBib29sKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoV2ViUGFnZUdyb3Vw
UHJveHkqLCBib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRl
ZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCBiYjAyNjg2ZGRjNDk0MGEy
ZGVlNDkyYTYxMjJlZmMzZGZmMjhlMzM5Li4wNThhYmUxOGQwOWJmYzAwMmNmNzQyM2M4NDFkM2Yx
MzczZTRhZTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysr
IGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0yMjcsNiArMjI3LDcgQEAgRVhQ
T1JUUwogICAgICAgICA/c2V0dGluZ3NARG9jdW1lbnRAV2ViQ29yZUBAUUJFUEFWU2V0dGluZ3NA
MkBYWgogICAgICAgICA/c2V0dGluZ3NARnJhbWVAV2ViQ29yZUBAUUJFUEFWU2V0dGluZ3NAMkBY
WgogICAgICAgICA/c2V0Rml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZUBTZXR0aW5n
c0BXZWJDb3JlQEBRQUVYX05AWgorICAgICAgICA/c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZEBT
ZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2hhZG93QEVsZW1lbnRAV2ViQ29y
ZUBAUUJFUEFWRWxlbWVudFNoYWRvd0AyQFhaCiAgICAgICAgID9zdWJzdHJpbmdAU3RyaW5nQFdU
RkBAUUJFP0FWMTJASUlAWgogICAgICAgICA/c3VnZ2VzdGVkVmFsdWVASFRNTElucHV0RWxlbWVu
dEBXZWJDb3JlQEBRQkVBQlZTdHJpbmdAV1RGQEBYWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5k
ZXggNjQ1N2I2NGM1YzNlNDcyNjE5ZmRlMzBhMTkwZDI3Yzg1NWFlNmEwNy4uNGJkOTdiMGJjZDA0
MWFiMGY3NzAzNGMyOWU1MDM4YWZmNTkxZmJiZCAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBA
IC0xMjgsNiArMTI4LDcgQEAgX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRG
YW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9aTjdXZWJDb3JlOFNl
dHRpbmdzMjNzZXRQaWN0b2dyYXBoRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFV
U2NyaXB0Q29kZTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMjRzZXRNb2NrU2Nyb2xsYmFyc0VuYWJs
ZWRFYjsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMzdzZXRGaXhlZEVsZW1lbnRzTGF5b3V0UmVsYXRp
dmVUb0ZyYW1lRWI7CitfWk43V2ViQ29yZThTZXR0aW5nczI1c2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZEViOwogX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdwYWludENvbnRyb2xUaW50c0V2OwogX1pO
N1dlYkNvcmU5RnJhbWVWaWV3MTlzY3JvbGxFbGVtZW50VG9SZWN0RVBOU183RWxlbWVudEVSS05T
XzdJbnRSZWN0RTsKIF9aTjdXZWJDb3JlMjRGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXJEMkV2Owpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQ0OTQ3
Nzg2Njg0MmI1MDhhNzI2OTRiZmVkYWM0YTQwMTM5NDliNmEuLjZkMzA3N2M4ZmU0MTQzOWMyZGJh
NjE2YmM4NTZlYjJjYmE0ZjQ1MjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMi0wNS0yMiAgSmVzdXMgU2FuY2hl
ei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgTW92
ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8g
d2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbW92ZSB0aGUgaW1wbGVtZW50YXRpb24gb2Ygc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCgpIGZvciBlYWNoIHBsYXRmb3JtLiBOb3RlIHRoYXQKKyAgICAgICAgRHVyaW5nIHRo
ZSBJbnRlcm5hbHNPYmplY3QgcmVzZXQgdGhlIGJlaGF2aW9yIGlzIGNoYW5nZWQgYmFjayB0byB0
aGUgcGxhdGZvcm0KKyAgICAgICAgZGVmYXVsdCwgd2hpY2ggd2FzIGZhbHNlIGZvciBldmVyeW9u
ZSBmb2xsb3dpbmcgU2V0dGluZ3MnIGRlZmF1bHQgdmFsdWUuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwOgorICAg
ICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3Rl
bnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVy
cnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHA6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXREZWZhdWx0
c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91
dFRlc3RDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBS
ZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5n
cyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5j
cHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5o
OgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25z
aXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENv
bnRyb2xsZXJXaW4uY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3d4L0xheW91dFRlc3RD
b250cm9sbGVyV3guY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RS
OjpJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmg6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcik6CisKIDIwMTItMDUtMjkgIEJlbmphbWluIFBv
dWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSB0eXBlIG9mIGRp
c3BhdGNoX3RpbWUoKSBvZmZzZXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcAppbmRleCBmMWRlZTI0MTk4NzZjYTE3MzhjNTk0MGY4ZTQ2MDkwYzdlY2I1
OTRlLi4zNmU4NWQ1OTEwNGFkYzhmYTlhZjIzY2U5ZjUyOWExOTg3ZTI4ZTEwIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNDgyLDE5ICsx
NDgyLDYgQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0UHJpbnRpbmdDYWxsYmFjayhKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24KICAgICByZXR1cm4gSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7CiB9CiAKLQotc3RhdGljIEpTVmFsdWVSZWYgc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBm
dW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNv
bnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKLXsKLSAg
ICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgotICAgIGlmIChhcmd1bWVudENv
dW50IDwgMSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwot
Ci0gICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxMYXlv
dXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7Ci0gICAg
Y29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChKU1ZhbHVlVG9Cb29sZWFuKGNv
bnRleHQsIGFyZ3VtZW50c1swXSkpOwotCi0gICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vz
c0Zyb21GaWxlVVJMc0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBm
dW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNv
bnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAg
ICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgpAQCAtMjM2Nyw3ICsyMzU0LDYg
QEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9u
cygpCiAgICAgICAgIHsgInNldERlZmVyc0xvYWRpbmciLCBzZXREZWZlcnNMb2FkaW5nQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAic2V0VXNlRGVmZXJyZWRGcmFtZUxvYWRpbmciLCBzZXRV
c2VEZWZlcnJlZEZyYW1lTG9hZGluZ0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldERv
bWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUiLCBzZXREb21haW5SZWxheGF0aW9u
Rm9yYmlkZGVuRm9yVVJMU2NoZW1lQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKLSAgICAgICAgeyAic2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCIsIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24iLCBzZXRHZW9sb2Nh
dGlvblBlcm1pc3Npb25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRIYW5kbGVzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VzIiwgc2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldEljb25EYXRhYmFzZUVuYWJsZWQiLCBz
ZXRJY29uRGF0YWJhc2VFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDZmMDJkYjNhMTViN2I4NWJhMDhkNjM3
MzUyOTNkMzc0YjhiZGEzYTAuLjI4YmFiZTQwNjdiNmYwMmNmZjllM2RhZjI5NzhiMzJhOTY4NjFk
MmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAt
MTIxLDcgKzEyMSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlRm9yVXNlcihKU0NvbnRl
eHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNTdHJpbmdSZWYgdmFsdWUpOwogICAgIHZv
aWQgc2V0Vmlld01vZGVNZWRpYUZlYXR1cmUoSlNTdHJpbmdSZWYgbW9kZSk7CiAgICAgdm9pZCBz
ZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGZsYWcpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChib29sIGVuYWJsZSk7CiAgICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0U2Nyb2xsYmFyUG9saWN5KEpTU3RyaW5n
UmVmIG9yaWVudGF0aW9uLCBKU1N0cmluZ1JlZiBwb2xpY3kpOwogICAgIHZvaWQgc3RhcnRTcGVl
Y2hJbnB1dChKU0NvbnRleHRSZWYgaW5wdXRFbGVtZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggYTE5NzQyYzMzMzQ2
ZjA5ZDJhYjg1ZGNmMzRjMjU1MTE3NzE5OGU2Yy4uZGZmMDgxMDI5OTlkMzcyZjYzNmE0Nzc5NDU2
NzZjODUzOWMxZTMyZSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJy
eS9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJy
eS9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTI5OCw2ICsyOTgsNyBAQCB2b2lkIER1bXBSZW5kZXJU
cmVlOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZygpCiAgICAgc2V0dGluZ3Mt
PnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoIkFyaWFsIik7CiAgICAgc2V0dGluZ3MtPnNldFN0YW5k
YXJkRm9udEZhbWlseSgiVGltZXMiKTsKICAgICBzZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJs
ZWQoZmFsc2UpOworICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIEJsYWNrQmVycnkgdXNl
cyByZXNldEludGVybmFsc09iamVjdDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg2ODk5LgogICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZh
bHNlKTsKICAgICBzZXR0aW5ncy0+c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSgwKTsKICAgICBzZXR0
aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQodHJ1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tC
ZXJyeS5jcHAKaW5kZXggYzk3YmEzOWMxZDQwMDVhZWFjNWE1MjYwZTRkYWJjYmM0MzQ0NzkyZi4u
YjE1NzhkZThhNDRmZDcwZjAyMWEyOTEwY2M4ZmY0ZmE4M2Y0ZTQ2NCAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVy
cnkuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENv
bnRyb2xsZXJCbGFja0JlcnJ5LmNwcApAQCAtNTY0LDExICs1NjQsNiBAQCBib29sIExheW91dFRl
c3RDb250cm9sbGVyOjpjYWxsU2hvdWxkQ2xvc2VPbldlYlZpZXcoKQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChib29sIGVuYWJsZSkKLXsKLSAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6OkR1bXBSZW5kZXJU
cmVlOjpjdXJyZW50SW5zdGFuY2UoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKGVuYWJsZSk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZSkKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RD
b250cm9sbGVyRWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29u
dHJvbGxlckVmbC5jcHAKaW5kZXggZjg1YWQ0ZjQwMTQ1NzkyNGNmMWM3NTkxMTcwYzE0OWZlYzFk
ZTFhYS4uNDA5NWJhNGJjZGY3MDBiNmUwZjY3YWJjOTFmZWE3MWM3NzVhN2Y5NCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3Bw
CkBAIC0zMzcsMTEgKzMzNyw2IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFhTU0F1
ZGl0b3JFbmFibGVkKGJvb2wgZmxhZykKICAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV94c3Nf
YXVkaXRvcl9zZXQoYnJvd3Nlci0+bWFpblZpZXcoKSwgZmxhZyk7CiB9CiAKLXZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBmbGFnKQotewot
ICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2ZyYW1lX2ZsYXR0ZW5pbmdfc2V0KGJyb3dzZXIt
Pm1haW5WaWV3KCksIGZsYWcpOwotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIGV3a192aWV3X3NldHRp
bmdfc3BhdGlhbF9uYXZpZ2F0aW9uX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0
ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsu
Y3BwCmluZGV4IDhlNGMxNmM1ZGFmMTQ3YjVhOTk0MDNlMWI3MjcyYTQ4M2FhYTMzYmMuLjIxNDA1
Y2Q4Nzg0YWQ1ZDI3YWMxNzAwMTdmNzA4NDY3NzZjN2M4MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcApAQCAtNDEyLDE1
ICs0MTIsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxl
ZChib29sIGZsYWcpCiAgICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJs
ZS14c3MtYXVkaXRvciIsIGZsYWcsIE5VTEwpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBXZWJLaXRX
ZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsK
LSAgICBBU1NFUlQodmlldyk7Ci0KLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRpbmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09C
SkVDVChzZXR0aW5ncyksICJlbmFibGUtZnJhbWUtZmxhdHRlbmluZyIsIGZsYWcsIE5VTEwpOwot
fQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQoYm9vbCBmbGFnKQogewogICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2Zy
YW1lX2dldF93ZWJfdmlldyhtYWluRnJhbWUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCmluZGV4IDAwYmRiMjE4NDNmNGU4Y2EwMzk2YzQ2MjQ5NzY2OTY3MjE4
YWI4ODEuLjZlOGI4NjNhMzMzYWI0N2VlNTZiM2ZmM2I4MWQyZDY5ZTQ0NGIwMGUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTY0Myw3ICs2NDMsNiBA
QCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICBbcHJl
ZmVyZW5jZXMgc2V0SmF2YVNjcmlwdEV4cGVyaW1lbnRzRW5hYmxlZDpZRVNdOwogICAgIFtwcmVm
ZXJlbmNlcyBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHk6WUVTXTsKICAgICBbcHJlZmVyZW5j
ZXMgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6Tk9dOwot
ICAgIFtwcmVmZXJlbmNlcyBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOk5PXTsKICAgICBbcHJl
ZmVyZW5jZXMgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOk5PXTsKICAgICBpZiAocGVyc2lz
dGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24pIHsKICAgICAgICAgW3ByZWZlcmVuY2VzIHNldFVz
ZXJTdHlsZVNoZWV0TG9jYXRpb246W05TVVJMIFVSTFdpdGhTdHJpbmc6KE5TU3RyaW5nICopKHBl
cnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uLmdldCgpKV1dOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4IDQxOWEy
Y2Y5MmVmMDE1NjgyYzJlODEwYTZkMzkyN2QyM2U3ZTRmNDIuLmE5ZmQ0MzE4MzNmZWZmNTZiODUw
NmY4ZWY5N2NhMGRjM2JmNjE4Y2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTU3OSwxMSArNTc5LDYgQEAgdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQog
ICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNTQXVkaXRvckVuYWJs
ZWQ6ZW5hYmxlZF07CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3
XSBwcmVmZXJlbmNlc10gc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDplbmFibGVkXTsKLX0KLQog
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJv
b2wgZW5hYmxlZCkKIHsKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIHNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZDplbmFibGVkXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggYTlmMjdiZjNiZTk0ZTU1NjM1NWQzZGE0
YTE4ODZmMGVmZDA3YTZkOC4uMDY1MzU1NjI0MmU0ZjM4Nzg4OGYwYTBhMzMxYjM2YmE5YzJhM2Ri
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKQEAg
LTE5Miw3ICsxOTIsNiBAQCB2b2lkIFdlYlBhZ2U6OnJlc2V0U2V0dGluZ3MoKQogCiAgICAgbV9k
cnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGZhbHNl
KTsKICAgICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2V0QXV0aG9yQW5kVXNlclN0
eWxlc0VuYWJsZWQodHJ1ZSk7Ci0gICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCktPnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZmFsc2UpOwogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29u
dHJvbGxlcigpLT5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQodHJ1ZSk7CiAgICAgbV9kcnQt
PmxheW91dFRlc3RDb250cm9sbGVyKCktPnNldFNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJs
ZWQoZmFsc2UpOwogICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zZXREZWZlcnNM
b2FkaW5nKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91
dFRlc3RDb250cm9sbGVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVz
dENvbnRyb2xsZXJRdC5jcHAKaW5kZXggOWJiZjQzOWJjMjFlZjQyZTEzOTFiNWI1NjA3NDdhZGU0
ZmI3ZGFmOC4uZTgyMTI5NzJjM2QyNDIyNGI4MjExN2U1MmM1OGZkNDU2ZDViNjliOSAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAK
QEAgLTQ0MiwxMSArNDQyLDYgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJ
bldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYgc2MKICAgICBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdDo6d2ViSW5zcGVjdG9yRXhlY3V0ZVNjcmlwdChtX2RydC0+d2ViUGFn
ZSgpLCBjYWxsSWQsIHNjcmlwdCk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0OjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKG1fZHJ0LT53ZWJQYWdlKCks
IGVuYWJsZWQpOwotfQotCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpnb0JhY2soKQogewog
ICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojpnb0JhY2sobV9kcnQtPndlYlBhZ2UoKSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0Q29udHJvbGxlclF0LmgKaW5k
ZXggZWY2OGIzNmU5YzM0MTI4NTlkMTk0ZTc1NTI3NjRmOWVjOTBhZDliZS4uYzhkNDI5YWUyYWI1
NmYwMTRmY2Q0N2M4Y2ExOGRmOWM0YmNlNzU0NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuaApAQCAtMTU0LDcgKzE1NCw2IEBAIHB1Ymxp
YyBzbG90czoKICAgICB2b2lkIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIGNv
bnN0IFFTdHJpbmcmIHNjcmlwdCk7CiAgICAgdm9pZCByZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsK
ICAgICB2b2lkIHNldE1lZGlhVHlwZShjb25zdCBRU3RyaW5nJiB0eXBlKTsKLSAgICB2b2lkIHNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxs
b3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFwcENh
Y2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDkyYWI4NjMyY2Y0YTBiZWEwNGYy
MjAzNzA5MmRmMGZlYTRkZTgzNWUuLjE0OTNlMzNjMzNiOGVlZTVjYWQxYzYzODdjYjRkMzdiZTA2
Y2VkZGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApA
QCAtODYyLDcgKzg2Miw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRW
YWx1ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICAgICAgcHJlZnNQcml2YXRl
LT5zZXRTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKEZBTFNFKTsgLy8gRklYTUUgLSBuZWVkIHRv
IG1ha2UgRFJUIHBhc3Mgd2l0aCBXaW5kb3dzIG5hdGl2ZSBjb250cm9scyA8aHR0cDovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1OTI+CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+
c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChUUlVFKTsKICAgICAgICAgcHJlZnNQcml2
YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7Ci0gICAgICAgIHByZWZzUHJpdmF0ZS0+
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+
c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUpOwogICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNl
KEZBTFNFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9j
b2xFbmFibGVkKEZBTFNFKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9M
YXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5
b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCmluZGV4IGExNjhlMWU5MzVlNmYwNjdmYzI1Y2VhYzA2
MWY4NTE5ZmQyMzQ4ZWMuLjQwMGZiMmQyNTNiOGEwMTRiNjYwNDNiZmU4Y2VhMWMwM2JjZDRlMzAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxl
cldpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9s
bGVyV2luLmNwcApAQCAtNTA0LDIzICs1MDQsNiBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgcHJlZnNQcml2YXRlLT5z
ZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgQ09N
UHRyPElXZWJWaWV3PiB3ZWJWaWV3OwotICAgIGlmIChGQUlMRUQoZnJhbWUtPndlYlZpZXcoJndl
YlZpZXcpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlcz4g
cHJlZmVyZW5jZXM7Ci0gICAgaWYgKEZBSUxFRCh3ZWJWaWV3LT5wcmVmZXJlbmNlcygmcHJlZmVy
ZW5jZXMpKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQ09NUHRyPElXZWJQcmVmZXJlbmNlc1By
aXZhdGU+IHByZWZzUHJpdmF0ZShRdWVyeSwgcHJlZmVyZW5jZXMpOwotICAgIGlmICghcHJlZnNQ
cml2YXRlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBwcmVmc1ByaXZhdGUtPnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQoZW5hYmxlZCk7Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgLy8gRklY
TUU6IEltcGxlbWVudCBmb3IgU3BhdGlhbE5hdmlnYXRpb24gbGF5b3V0IHRlc3RzLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvTGF5b3V0VGVzdENvbnRyb2xsZXJXeC5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAppbmRl
eCBmOWEwMmEzMWYzZWFlZjc3YTRhYjQwY2NhNDUyMmY0MWUyNDJhMjI2Li42YWE3M2E0MGIwOWUy
NjA1MzA4NzQ4NjRiMmVhZDAzNGNjYjNiYTc0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS93eC9MYXlvdXRUZXN0Q29udHJvbGxlcld4LmNwcApAQCAtMTg3LDExICsxODcsNiBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJs
ZWQpCiAgICAgLy8gRklYTUU6IGltcGxlbWVudAogfQogCi12b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICAvLyBG
SVhNRTogaW1wbGVtZW50Ci19Ci0KIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFsbG93
VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKIHsKICAgICAvLyBGSVhN
RTogaW1wbGVtZW50CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIuaWRs
CmluZGV4IDVlNTJlZThiYTM2Yzg5N2JmNzQ0Nzc0YjBiYzhjN2M3NjA1NzlhNjkuLjZhYjY1MWEx
MzA4MTdlYzIyNTc3YTBlMDhiZmE5YTIyMGVmYzQyNDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3Mv
TGF5b3V0VGVzdENvbnRyb2xsZXIuaWRsCkBAIC01Myw3ICs1Myw2IEBAIG1vZHVsZSBXVFIgewog
ICAgICAgICB2b2lkIHNldFhTU0F1ZGl0b3JFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwogICAg
ICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xlYW4g
dmFsdWUpOwogICAgICAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhpbiBi
b29sZWFuIHZhbHVlKTsKLSAgICAgICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGlu
IGJvb2xlYW4gdmFsdWUpOwogICAgICAgICB2b2lkIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihp
biBib29sZWFuIHZhbHVlKTsKICAgICAgICAgdm9pZCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xp
cGJvYXJkKGluIGJvb2xlYW4gdmFsdWUpOwogICAgICAgICB2b2lkIHNldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoaW4gYm9vbGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDA1ZDRlYTY4
N2IxNDc3MDViMzM2NjFiY2QyODAwMjk1MjMwOGQ1OTUuLmZhMDYxNWZmNGJhYWI3YWJmMDNlNDA5
YTliNDY2MjVmNDdjMmY0NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMjQsNyArMjI0LDYgQEAg
dm9pZCBJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKFdLRGljdGlvbmFyeVJlZiBzZXR0aW5n
cykKICAgICBXS0J1bmRsZVNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQobV9idW5kbGUsIG1fcGFn
ZUdyb3VwLCBmYWxzZSk7CiAgICAgV0tCdW5kbGVTd2l0Y2hOZXR3b3JrTG9hZGVyVG9OZXdUZXN0
aW5nU2Vzc2lvbihtX2J1bmRsZSk7CiAgICAgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2VyU3R5bGVz
RW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwotICAgIFdLQnVuZGxlU2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKIAogICAg
IFdLQnVuZGxlUmVtb3ZlQWxsVXNlckNvbnRlbnQobV9idW5kbGUsIG1fcGFnZUdyb3VwKTsKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCA5MWVkODk4ZWM4MWVlNGZlZjJjNjg1Y2Ey
YjlmNzc0YWI5ZTUwY2M0Li5kZTUyNGJkYjc5MDFhYzlkNzBjM2IxNTA0ZWFmZjlkNjlhYjhlZjI3
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMzY2LDExICszNjYsNiBAQCB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoYm9v
bCBlbmFibGVkKQogICAgIFdLQnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKElu
amVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgp
LnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgV0tCdW5kbGVT
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUo
KSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKLX0KLQog
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJvb2wg
ZW5hYmxlZCkKIHsKICAgICBXS0J1bmRsZVNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihJbmplY3Rl
ZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdl
R3JvdXAoKSwgZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggZDFiMzg1ZDli
NGQwOWNhZjdiZDM5MjEzMjFlOWZlYzkzMTE2MjNkMi4uZTEyMjQ5YzQ0ZjAxNGNhYjFlNmJmMjEz
ZjUzN2MwNmVhZTAwZDE3MSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtODcsNyArODcs
NiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sKTsKICAgICB2
b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwogICAgIHZvaWQg
c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwotICAgIHZvaWQgc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEdlb2xvY2F0aW9uUGVybWlzc2lv
bihib29sKTsKICAgICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoYm9vbCk7
CiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5NzE4
ZGEyNDRmYTEyYTJhZWI0MTA0NGM4ZWFkOWUxM2VlOTAxYmEuLjU5OWYzZGUwNDgzNmNlMDhkYTU5
MzFiZWU2ZjFiNjU4ZjgyZGZlZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMi0wNS0yMiAg
SmVzdXMgU2FuY2hlei1QYWxlbmNpYSAgPGplc3VzLnBhbGVuY2lhQG9wZW5ib3NzYS5vcmc+CisK
KyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENv
bnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1zdmct
ZG9jdW1lbnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXpl
Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLXN1YmZyYW1lc2V0cy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhl
aWdodC1uby1zY3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWw6CisgICAgICAgICog
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQt
aGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZp
eGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1s
OgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0
LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1s
OgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0
LW9mLXZpZXcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1m
bGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5odG1sOgorICAgICAgICAqIGZhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAg
ICogaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgt
YmxvY2tpbmctcmVzb3VyY2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoK
KwogMjAxMi0wNS0yOSAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEpTQyBkb2Vzbid0IHN1cHBvcnQgaGVhcCBwcm9maWxpbmcuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1zdmctZG9jdW1lbnQuaHRt
bAppbmRleCBlYjAzZWExYzhmOTZlYWU5OTFhMzE1NjA1Y2FlNTNmZmE5ZjI5ZDk0Li4zNTVmNmUw
ODliZThkM2NjZWFhMWJjMTNjMGQwMGQwMjUzNGEwY2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWwK
QEAgLTEsMTAgKzEsMTAgQEAKIDxib2R5PgogPHNjcmlwdD4KIAotaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OwotfQogCiA8L3NjcmlwdD4KIDxpZnJhbWUgc3JjPSJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4
bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjwvc3ZnPiI+PC9pZnJhbWU+U2hvdWxk
IG5vdCBjcmFzaC48L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1s
CmluZGV4IDdjZjk5NGU5ZjU5OGI3NzkzOWQzMWI3MTVhMzFhY2FmNTA4OTRjMjEuLmI4ODMyYWRh
YjJkMjNmMTRlYjZmZDIwNGY3ZTJiZThlMDExZjc5ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1hZHZhbmNlZC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAg
Ly8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5v
ZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCmlu
ZGV4IDk1N2MyZWQ1YWFmNzNhNTllOTY2MGYxYmM5YjgwNmQyYmNiMWNkMjAuLjkzNDYyZmYyOGY3
MzIxY2MyNjI5MzI0NzUzYjczN2MzMWU1M2IyMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdy
aWQuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CiAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgewotICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICBk
b2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
c2ltcGxlLmh0bWwKaW5kZXggOTNlYWE1ZWVlMjEzZjI5ZDU5MGNjNTFkYjM5MjQ1NmNmOWY1NGY0
Mi4uN2Y4NzhjMmExYTNlZjE5YTY0YWI1MDRiNjFlZGIyMzc3YTBhMDBiMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNp
bXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPGh0bWw+CiA8aGVh
ZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5n
LXN1YmZyYW1lLXJlc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCmluZGV4IGI3MDY2NjM3
NmZiYTUwODQ2ODZiMzRlNGVhYTk4Nzc0NTYwNzMxMTcuLjBmN2JiOGU2MDg2ZjZjYzQwZjc0OTQ5
M2M2ZjU1OGIwNjNkNjMxYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3Vi
ZnJhbWUtcmVzaXplLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCiAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOwotICAgICAgICB9CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFt
ZXNldHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbAppbmRleCA3MjMxOThjZGYyM2RhZmMwMTcxYzI5
Y2M3ZjEyYzQ2YTkyNDUzOGYxLi5kNjY5NjUzOTYxMDZmMTk1MzBkM2RhZTg5ZWYzZThiZTkyZWQx
ZTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sCkBA
IC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAg
ICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMg
bGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbAppbmRleCAwMmMwYmJmM2VkNGVkYTdjOTM0
OWJlNmU2NTRmMjdiNGIzNTBhZjA2Li4yMTgxMTFmZDkyMTZhN2JjMDIxZWQxNDVmZGRhNDc2M2Q0
ZGFlODQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCkBAIC00LDggKzQsOSBAQAog
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CiAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CisgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8
Ym9keT4KQEAgLTE5LDggKzIwLDggQEAKICAgICAgICAgICAgIHZhciBpID0gZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXS5jbGllbnRXaWR0aDsgCiAgICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPGJvZHkg
b25yZXNpemU9J3Rlc3QyKCk7Jz4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdo
dC5odG1sCmluZGV4IDAyMzdjNzhmNjRiNmE2NDIwMTBlMDE2NjUyM2U1ZDgxYzU4YzRkMTEuLmZi
MWE0NWVmNWMxOTY3MzE2MjY3MGZhNGNiYzVmZmVlMzViNDZkYjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVp
Z2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAg
ICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFu
ZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0
aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAppbmRl
eCA4ODBhOWU1ZmM2ZDBkNGQ5ZDA3YTBmZGQ3MWMxZGU3ZWRkMDMwMmQ0Li5iOGY5ZjFjNTRiODU3
N2Y2NmM4ODM0ZDkxM2RmNDdlNmY4ODQ0ZjBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWln
aHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgt
YW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKQEAgLTQs
MTAgKzQsMTAgQEAKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAg
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAg
ICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8t
c2Nyb2xsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwKaW5k
ZXggZmI4NjcxNGIwODQ0MThjMDZjZjlhYzJjNTY1NTI0ZDhjOTkzMmQ3ZS4uY2U2MWJiM2FlYmQ2
ZDcwYzJmYzQ2OGE3NTUzZjQ0ZjkwMDljNjE4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVp
Z2h0LW5vLXNjcm9sbGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxp
bmcuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5
bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0
OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwKaW5kZXggODJjOWY2ZjU2Y2Zk
ZDNkNGU4OWNmZjEzZjg3ZjNmNTY1MGZkNDljNS4uZGMyZGQ0ZDA5M2M3MjAwZjU3NzdiZmI5NDFi
ZWY4NWE5MzljMjBhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbApAQCAtNCwxMCArNCwx
MCBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwotICAgICAgICAgICAgfQorICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAKICAgICAgICAgICAgIC8vIEZv
cmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
SGVpZ2h0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFu
ZC1oZWlnaHQuaHRtbAppbmRleCBhYmRiNjcyODI5ZThkOTE2ZjcxNDBhODFiNGFkNmEzOGVlMzNk
MjdkLi5hM2E3ZmFhMmU2OGNkZTEwZjNhYzU2YjU4YWExM2MzMmE3Mzg0ZDI4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZp
eGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbApA
QCAtMSwxMCArMSwxMCBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgIH0K
KyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAgICBmdW5jdGlv
biB0ZXN0KCkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5o
dG1sCmluZGV4IGE3MjQ3OTdlODUzNDQxZTg4NmRiNTZkYThiMmQwMzMwNTI4NjlmYzUuLjNlZWYw
NTNiODg5MjExY2Q5N2U5ZDYyNTQ3ZTI2YzFlY2FhZGI3ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAg
ICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5i
b2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0
bWwKaW5kZXggZjA2NTNhZDA5M2I0NDE2YjAzZjQzMTc4ZjczMTQ0YjA3NWM0MmRiYy4uZTNjMTJh
ZGM3ZDg0YTgwMDA4NTRjZTNkZTAzZTAzOGFkMzY1YTY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LW5lc3RlZC5odG1sCkBAIC05LDggKzksOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9y
Y2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRI
ZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCmlu
ZGV4IGE5NjY1MTM0Mjc3ODc0NGFiOTM4M2Y4OTJmYTgwYzIzOWYzOWY4ODYuLmQwYzhhZmIyNDRk
NjU5ZWVjOGZlOTE3Y2MxM2RlN2IzZDBjZWQ2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1v
ZmZzY3JlZW4uaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZv
cmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0
LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sCmluZGV4IGVkNjExYTgwZjBiMjZjMmEwNzIyNmZmYTU4
NWY5Mzg1ZDRjOTlhMGMuLmMxMjJiMTVkMTM5MDYwMjhlM2RjYTBlNWJiY2RjMjM5MzUxNjY0ZDgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNj
cm9sbC5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
LSAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAg
ICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9s
bC1hbmQtcmVsYXlvdXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sCmlu
ZGV4IGE5OTI1MWMwYzg1ODlkNmVkNzIzMmEwODVlNTJhZjFkNzY3ZTgzYTIuLjc5ODYzZWRiMGYz
MDgwNjdiZWVmY2E1MTczYTBhYjdkZjM4OTgyZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xs
LWFuZC1yZWxheW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1s
CkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKLSAgICAgICAg
fQorICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAgIGZ1bmN0
aW9uIHRlc3QoKQogICAgICAgICB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3
Lmh0bWwKaW5kZXggZTI0NTU2MGE2YmIxMDViMTczMThlZjFhM2U2MTkwYTdjMjZhNGU0MS4uNGU4
MDc0NmI0NDg5ZWZjYjY0YzBlZjIzMmU5ZjBmYmFhZjIwZGUzYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmll
dy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7
Ci0gICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1zZWxlY3Rpb24tY3Jhc2guaHRtbAppbmRleCA0OTYxMDBmZTg4NzE2MDBkOWRiYmRjMTMzMmMy
MTFmZWRkYThiY2JhLi5iYWRiNTBkMjdjOTJiNWY4ZDgxOTE0ZWY5NjQ3MzZiZTEyMWYwYmMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNyYXNoLmh0bWwKQEAgLTIs
MTAgKzIsMTAgQEAKIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
ICAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCiAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMg
bGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1zaW1wbGUuaHRtbAppbmRleCA2NzIxYmI0YmU3NDVmOWRkMTBiZWIyODYwZTBl
MDI0MDQ2ODJkNGI0Li4yNzFiODc3MzBiMWIyNTQyOTg3MGI5NGZlOGY4MTg2YzA3NjU4MmY3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBk
b2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5odG1sCmluZGV4IGI3YTRkMGEy
NjhhYmNlN2E5MmU4YjI5MWI5ZmNlMTdhMTcxNmQxMDYuLmViMDExZWJhNjM5MjAxOTkwNzM0NWUz
YmM2YTAwMThhMGIyNTNlNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwKQEAgLTUsOCArNSw4IEBACiA8c2NyaXB0PgogZGVz
Y3JpcHRpb24oIlRlc3QgdGhhdCBmcmFtZSBmbGF0dGVuaW5nIGlzIG5vdCB1c2VkIGZvciB0aW55
IGZyYW1lcy4gVGhpcyB0ZXN0IHJlcXVpcmVzIERSVCBvciB1c2VyIGFnZW50IHdpdGggZmxhdHRl
bmluZyBlbmFibGVkLiIpOwogCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Citp
ZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gY2hlY2tSZXN1bHQoZnJhbWVOYW1lLCBl
eHBlY3RlZFdpZHRoLCBleHBlY3RlZEhlaWdodCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0
dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IDk1MzY1YjdiZjljY2YzYzViOWY3MDlkYjEzNjI4ZDA4
ZTBlMTM1ODguLmUzNWRlYWYyNGNjMjU3YzE4YjVmYzQyMmYzZWJiMTNhMWZjZjljYjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZs
YXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbApAQCAtMzcsOCArMzcsOCBA
QAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgewotICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
IAogICAgICAgLy8gc3RhcnRpbmcgdGhlIHRlc3QgaXRzZWxmOiBnZXQgdG8gYSBrbm93biBwbGFj
ZS4KICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpLmZvY3VzKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xl
dmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tp
bmctcmVzb3VyY2UuaHRtbAppbmRleCBmZWYyMDZhMzI1NzVjNTVlMmNlYWU1OTQxYTQzYzkxNWUx
M2NmYzYyLi4zYzQxZTRkZDE1NjZjZTI3M2U4ODFhMTNmMzk2MzYyODcxZDk5YmM3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVs
LW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2Nr
aW5nLXJlc291cmNlLmh0bWwKQEAgLTQsOCArNCw5IEBACiAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKICAgICA8L3NjcmlwdD4KICAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOyB9PC9zdHlsZT4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5k
ZXggZmRhMjM3MmNlZmUxOGU2MjFlMGE4MjRhYTVhYzAwNjA1MTI2ODFjMy4uMjk1ZDUwMTYxNGNi
MDAyYjJmOWY5Yzg5OGFjNzEyYjQ2NGY5ZTA3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQK
QEAgLTk2OSwxMCArOTY5LDYgQEAgaHR0cC90ZXN0cy9tZWRpYS92aWRlby1yZWZlcmVyLmh0bWwK
ICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzMzQ5CiBodHRwL3Rl
c3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtd2luZG93LW9wZW4tamF2YXNjcmlwdC11cmwuaHRtbAog
Ci0jIFNraXAgZnJhbWUgZmxhdHRlbmluZyB0ZXN0cyB1bnRpbCBpdCBjYW4gYmUgdGVzdGVkIGJ5
IHRoaXMgRFJUCi0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjcx
NwotZmFzdC9mcmFtZXMvZmxhdHRlbmluZy8KLQogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzQ5MzMKIG1lZGlhL3ZpZGVvLWRpc3BsYXktYXNwZWN0LXJhdGlvLmh0
bWwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183520</attachid>
            <date>2013-01-18 11:35:05 -0800</date>
            <delta_ts>2013-01-22 10:19:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20130118113204.patch</filename>
            <type>text/plain</type>
            <size>41150</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMTg3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjZjMGM4ZGU3YjA3NmI5MWEwNjc5MDdhYzk2ZjE0ODY1
OTM1MjhmNS4uZDY3ZDIyYTYyY2ViYTVmMWRjNDE4MTRjMGU1ZDJlYmM2MTU0ZmVlYSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDEzLTAxLTE4ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xs
ZXIgdG8gd2luZG93LmludGVybmFscygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlbW92ZSB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQgZnJvbSBEUlQgYW5kIFdUUi4gV2ViS2l0IEFQSQorICAgICAgICBtZXRob2RzIGFyZSBsZWZ0
IGJlY2F1c2UgdGhlcmUgbWF5IGJlIHVzZXJzIG9mIGl0LiBJZiB3ZSB3YW50IHRvIHRlc3QgdGhl
CisgICAgICAgIHByZWZlcmVuY2UsIHdlIGNvdWxkIGFkZCBwbGF0Zm9ybSBzcGVjaWZpYyB0ZXN0
cyB0aGF0IHVzZSBvdmVycmlkZVByZWZlcmVuY2UuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFRlc3RSdW5uZXI6OnN0YXRpY0Z1bmN0aW9ucyk6
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1
bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJl
ZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkR1bXBSZW5kZXJUcmVlOjpyZXNl
dFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0
ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvVGVzdFJ1bm5lckd0ay5j
cHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAg
ICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdlOjpyZXNl
dFNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3Bw
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oOgorICAgICAgICAo
VGVzdFJ1bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcDoKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKFRl
c3RSdW5uZXIpOgorCiAyMDEzLTAxLTE4ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBFbmFibGUgaW5kZXhlZCBkYXRhYmFzZSBmb3IgZGV2
ZWxvcG1lbnQgYnVpbGRzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVu
bmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGVjNjRj
MGZjODk2NTJmZGJiODUzNzZmNTQ2ZWI3OGU2MDEyZDI2ODkuLjAzMGFhMTZhM2U4YTE3ZGJkNTFi
NDI2YjY0YmNjNzNmYmQ5ZmZhODQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwCkBA
IC0xMjk5LDE4ICsxMjk5LDYgQEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0UHJpbnRpbmdDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24KIH0KIAogCi1zdGF0
aWMgSlNWYWx1ZVJlZiBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQotewotICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVu
dGF0aW9uCi0gICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQotICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci0KLSAgICBUZXN0UnVubmVyKiBjb250cm9sbGVyID0g
c3RhdGljX2Nhc3Q8VGVzdFJ1bm5lcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7
Ci0gICAgY29udHJvbGxlci0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChKU1ZhbHVlVG9Cb29s
ZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOwotCi0gICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5k
ZWZpbmVkKGNvbnRleHQpOwotfQotCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMc0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
IHsKICAgICAvLyBIYXMgbWFjICYgd2luZG93cyBpbXBsZW1lbnRhdGlvbgpAQCAtMjI3Niw3ICsy
MjY0LDYgQEAgSlNTdGF0aWNGdW5jdGlvbiogVGVzdFJ1bm5lcjo6c3RhdGljRnVuY3Rpb25zKCkK
ICAgICAgICAgeyAic2V0RGVmZXJzTG9hZGluZyIsIHNldERlZmVyc0xvYWRpbmdDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXRVc2VEZWZlcnJlZEZyYW1lTG9hZGluZyIsIHNldFVzZURl
ZmVycmVkRnJhbWVMb2FkaW5nQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkg
fCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0RG9tYWlu
UmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZSIsIHNldERvbWFpblJlbGF4YXRpb25Gb3Ji
aWRkZW5Gb3JVUkxTY2hlbWVDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAotICAgICAgICB7ICJzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkIiwgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZENhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgInNldEdlb2xvY2F0aW9uUGVybWlzc2lvbiIsIHNldEdlb2xvY2F0aW9u
UGVybWlzc2lvbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldEhhbmRsZXNBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZXMiLCBzZXRIYW5kbGVzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VzQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0SWNvbkRhdGFiYXNlRW5hYmxlZCIsIHNldElj
b25EYXRhYmFzZUVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5oCmluZGV4IDY3OTVjYWU5ZjFjODk5YjFhY2ZiNjExM2E4ZDkyZDY4NWM3Y2ExZGIuLjJkMjcx
NTZjYjgwOWRhMjJjNDI1ZjM5MjE0YjIwOTlhMjVjNDFiZTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
UnVubmVyLmgKQEAgLTExNiw3ICsxMTYsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1ZUZv
clVzZXIoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmIG5vZGVPYmplY3QsIEpTU3RyaW5nUmVmIHZh
bHVlKTsKICAgICB2b2lkIHNldFZpZXdNb2RlTWVkaWFGZWF0dXJlKEpTU3RyaW5nUmVmKTsKICAg
ICB2b2lkIHNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZmxhZyk7Ci0gICAgdm9pZCBzZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0U3BhdGlhbE5hdmlnYXRpb25F
bmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0U2Nyb2xsYmFyUG9saWN5KEpTU3RyaW5nUmVmIG9y
aWVudGF0aW9uLCBKU1N0cmluZ1JlZiBwb2xpY3kpOwogICAgIHZvaWQgc3RhcnRTcGVlY2hJbnB1
dChKU0NvbnRleHRSZWYgaW5wdXRFbGVtZW50KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggZTRiZmUzODc5ZDZlY2EyMDJm
NWU5NWMxYTQxNGQ2ZGIyYjEzZGViOS4uNzE2NTJkY2QxMjM4YTEzNjQzNzJiMDk4MzU4MGJjMDJk
MjgzODEwNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1w
UmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1w
UmVuZGVyVHJlZS5jcHAKQEAgLTMxOSw3ICszMTksNiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlOjpy
ZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyhjb25zdCBTdHJpbmcmIHVybCwgY29u
cwogICAgIHNldHRpbmdzLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KCJBcmlhbCIpOwogICAgIHNl
dHRpbmdzLT5zZXRTdGFuZGFyZEZvbnRGYW1pbHkoIlRpbWVzIik7CiAgICAgc2V0dGluZ3MtPnNl
dFhTU0F1ZGl0b3JFbmFibGVkKGZhbHNlKTsKLSAgICBzZXR0aW5ncy0+c2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChmYWxzZSk7CiAgICAgc2V0dGluZ3MtPnNldE1heGltdW1QYWdlc0luQ2FjaGUo
MCk7CiAgICAgc2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVkKHRydWUpOwogCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnku
Y3BwCmluZGV4IDJiMWNlZjYyODViYzdlYmVlMjcyYmMzZDE1MDdiNjBmZGRmNDc2YTUuLjVjMTM5
NGE0ODFjNzk2MjhlZTFhYjQxZjIzYTNiZTcyNjJiZmU5ZDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3BwCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3BwCkBA
IC01MjMsMTEgKzUyMyw2IEBAIGJvb2wgVGVzdFJ1bm5lcjo6Y2FsbFNob3VsZENsb3NlT25XZWJW
aWV3KCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZSkKLXsKLSAgICBCbGFja0JlcnJ5OjpXZWJLaXQ6
OkR1bXBSZW5kZXJUcmVlOjpjdXJyZW50SW5zdGFuY2UoKS0+cGFnZSgpLT5zZXR0aW5ncygpLT5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZSk7Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6
c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxlKQogewogICAgIG5vdEltcGxl
bWVudGVkKCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5l
ckVmbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHAKaW5k
ZXggMTdmYWY0OGI1NzA0MWMxNjE2OTFiYmQ5MzMxNzE5YzkwMzRkMzM2MC4uNzMwYzU2MmJlMjhh
YjIwZDM5NjJhZTYxNjJmZDBhYTgzNWQxNWNkYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9UZXN0UnVubmVyRWZsLmNwcApAQCAtMzIzLDExICszMjMsNiBAQCB2b2lkIFRlc3RSdW5uZXI6
OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZmxhZykKICAgICBld2tfdmlld19zZXR0aW5nX2Vu
YWJsZV94c3NfYXVkaXRvcl9zZXQoYnJvd3Nlci0+bWFpblZpZXcoKSwgZmxhZyk7CiB9CiAKLXZv
aWQgVGVzdFJ1bm5lcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGZsYWcpCi17Ci0g
ICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQoYnJvd3Nlci0+
bWFpblZpZXcoKSwgZmxhZyk7Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0U3BhdGlhbE5hdmln
YXRpb25FbmFibGVkKGJvb2wgZmxhZykKIHsKICAgICBld2tfdmlld19zZXR0aW5nX3NwYXRpYWxf
bmF2aWdhdGlvbl9zZXQoYnJvd3Nlci0+bWFpblZpZXcoKSwgZmxhZyk7CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBiNDIyYmIzYjljYjA3ZjBlMzEy
OGZjYTk4MWM4NWMzMWQ1NGNjODZhLi5hZWRmZDJmOTIyYjVhN2ExYjc2MGUwY2JlNzhmYmE0ZGIw
OGVkODc3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRy
ZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAK
QEAgLTQ0NSw3ICs0NDUsNiBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50
VmFsdWVzKCkKICAgICAgICAgICAgICAgICAgImh0bWw1LWxvY2FsLXN0b3JhZ2UtZGF0YWJhc2Ut
cGF0aCIsIGxvY2FsU3RvcmFnZVBhdGguZ2V0KCksCiAgICAgICAgICAgICAgICAgICJlbmFibGUt
eHNzLWF1ZGl0b3IiLCBGQUxTRSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS1zcGF0aWFsLW5h
dmlnYXRpb24iLCBGQUxTRSwKLSAgICAgICAgICAgICAgICAgImVuYWJsZS1mcmFtZS1mbGF0dGVu
aW5nIiwgRkFMU0UsCiAgICAgICAgICAgICAgICAgICJqYXZhc2NyaXB0LWNhbi1hY2Nlc3MtY2xp
cGJvYXJkIiwgVFJVRSwKICAgICAgICAgICAgICAgICAgImphdmFzY3JpcHQtY2FuLW9wZW4td2lu
ZG93cy1hdXRvbWF0aWNhbGx5IiwgVFJVRSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS1vZmZs
aW5lLXdlYi1hcHBsaWNhdGlvbi1jYWNoZSIsIFRSVUUsCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvVGVzdFJ1bm5lckd0ay5jcHAKaW5kZXggOGJlMzQxYjhhMDljYjhkZWUyMDNlYjQ0ZDg5YTY5
OGYyYmExMDA5NS4uNjc5OTJmZmUxOWRjYjFjZTIxOGVlODc3MzhkM2I4MTM1NmQxMzFjOSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcApAQCAtMzg3LDE1ICsz
ODcsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZmxhZykK
ICAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxlLXhzcy1hdWRpdG9y
IiwgZmxhZywgTlVMTCk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChib29sIGZsYWcpCi17Ci0gICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93
ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFtZSk7Ci0gICAgQVNTRVJUKHZpZXcpOwotCi0g
ICAgV2ViS2l0V2ViU2V0dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X3dlYl92aWV3X2dldF9zZXR0
aW5ncyh2aWV3KTsKLSAgICBnX29iamVjdF9zZXQoR19PQkpFQ1Qoc2V0dGluZ3MpLCAiZW5hYmxl
LWZyYW1lLWZsYXR0ZW5pbmciLCBmbGFnLCBOVUxMKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpz
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIFdlYktpdFdlYlZp
ZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWluRnJhbWUpOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGYxYWJjMTBkZjRk
ZWZlZTA1Mzk4MTMzZjA3MTE2NGVkYTFiMjI4NGYuLmRmZDY5Zjk0YzdmNDI4OWE5MmY3MTlkMzcx
OTZhNGIwMGY4YzdkMWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KQEAgLTY1Nyw3ICs2NTcsNiBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25z
aXN0ZW50VmFsdWVzKCkKICAgICBbcHJlZmVyZW5jZXMgc2V0SmF2YVNjcmlwdEV4cGVyaW1lbnRz
RW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2Fs
bHk6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdl
TG9hZGluZ1ByZWZlcmVuY2U6Tk9dOwotICAgIFtwcmVmZXJlbmNlcyBzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFi
bGVkOk5PXTsKICAgICBpZiAocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24pIHsKICAg
ICAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb246W05TVVJMIFVSTFdp
dGhTdHJpbmc6KE5TU3RyaW5nICopKHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uLmdl
dCgpKV1dOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJN
YWMubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQppbmRleCA5
OGFmYTUxOTgzMzk1ZGE0NjRhZDhjNzdjZTk4OGNiYWYxNzljYjE2Li4zYTVjMGI1MTFmOTFhMDky
MTRhNTVkZmFmY2E1MTgwODdkY2Y3NTFlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbQpAQCAtNTU0LDExICs1NTQsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhT
U0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBbW1ttYWluRnJhbWUgd2ViVmlld10g
cHJlZmVyZW5jZXNdIHNldFhTU0F1ZGl0b3JFbmFibGVkOmVuYWJsZWRdOwogfQogCi12b2lkIFRl
c3RSdW5uZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAg
IFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZDplbmFibGVkXTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVm
ZXJlbmNlc10gc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkOmVuYWJsZWRdOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCAyNDA5YjZhYjc4YjEx
ZWYwNmZlOTQwZTUxOGE0NWNlNTMzMWRmOTM1Li5iOTQ0Yjk5NzFkYzg4Y2MzMzc5YjMwNTJjNDRj
MWJiYTg5MDc1ZGUyIDEwMDc1NQotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVu
ZGVyVHJlZVF0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZVF0LmNwcApAQCAtMTkyLDcgKzE5Miw2IEBAIHZvaWQgV2ViUGFnZTo6cmVzZXRTZXR0aW5ncygp
CiAKICAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChmYWxz
ZSk7CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJs
ZWQodHJ1ZSk7Ci0gICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZChmYWxzZSk7CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0U21hcnRJbnNlcnREZWxl
dGVFbmFibGVkKHRydWUpOwogICAgIG1fZHJ0LT50ZXN0UnVubmVyKCktPnNldFNlbGVjdFRyYWls
aW5nV2hpdGVzcGFjZUVuYWJsZWQoZmFsc2UpOwogICAgIG1fZHJ0LT50ZXN0UnVubmVyKCktPnNl
dERlZmVyc0xvYWRpbmcoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvVGVzdFJ1bm5lclF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJR
dC5jcHAKaW5kZXggNGFhNDMwNDBjZWU5OGQ4NGM5YjNiZDQ4YjNkNmVhYTc4NmE5MmVjZS4uMGFl
YjZlZmQxYzhhOTBmMzExNzU1YzM1N2UzZjNmY2NiM2U3YTc1ZSAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwCkBAIC00NDQsMTEgKzQ0NCw2IEBAIHZvaWQgVGVzdFJ1
bm5lcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgY29uc3QgUVN0cmluZyYg
c2NyaXB0KQogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0Ojp3ZWJJbnNwZWN0b3JFeGVjdXRl
U2NyaXB0KG1fZHJ0LT5wYWdlQWRhcHRlcigpLCBjYWxsSWQsIHNjcmlwdCk7CiB9CiAKLXZvaWQg
VGVzdFJ1bm5lcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0g
ICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQobV9k
cnQtPnBhZ2VBZGFwdGVyKCksIGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OmdvQmFj
aygpCiB7CiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmdvQmFjayhtX2RydC0+cGFnZUFk
YXB0ZXIoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVy
UXQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oCmluZGV4IDI3MTk0
MTg4ZWFmODE4NWE5NDE1YTdlZDU2MmQ2NDRmNjRmMGNmNTMuLmIxYjNhMWQxYTIzZTJjNTYwNDg1
YmU1OTAxNTQwMmU0ZGY2MWExNmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L1Rlc3RSdW5uZXJRdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJR
dC5oCkBAIC0xNTksNyArMTU5LDYgQEAgcHVibGljIFFfU0xPVFM6CiAgICAgdm9pZCBjbG9zZVdl
Ykluc3BlY3RvcigpOwogICAgIHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJ
ZCwgY29uc3QgUVN0cmluZyYgc2NyaXB0KTsKICAgICB2b2lkIHJlbW92ZUFsbFZpc2l0ZWRMaW5r
cygpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sKTsKICAgICB2b2lk
IHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2
b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sIGVuYWJsZSk7CiAgICAgdm9p
ZCBzZXRBcHBDYWNoZU1heGltdW1TaXplKHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBlOWU4NGI4NDhh
ZTcxN2Y0MWFjOTZjNDcyOWRkMjkxNjFhNGNiMmVhLi41ZDE5YTRiZTI2Y2RjM2M3OWYyZTFiMjgw
MjhiZWNjMjIzZmVjNGUwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHAKQEAgLTg2NSw3ICs4NjUsNiBAQCBzdGF0aWMgdm9pZCByZXNldERlZmF1bHRzVG9D
b25zaXN0ZW50VmFsdWVzKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0U2hvdWxkUGFpbnROYXRpdmVDb250cm9scyhGQUxTRSk7IC8vIEZJWE1F
IC0gbmVlZCB0byBtYWtlIERSVCBwYXNzIHdpdGggV2luZG93cyBuYXRpdmUgY29udHJvbHMgPGh0
dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTkyPgogICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoVFJVRSk7CiAgICAgICAg
IHByZWZzUHJpdmF0ZS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoRkFMU0UpOwotICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoRkFMU0UpOwogICAgICAgICBwcmVm
c1ByaXZhdGUtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChUUlVFKTsKICAg
ICAgICAgcHJlZnNQcml2YXRlLT5zZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
UHJlZmVyZW5jZShGQUxTRSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RS
dW5uZXJXaW4uY3BwCmluZGV4IDc1MTZlZGIyZjc0ZTVkOTVhZmNjZjAzMjQ0MzU0NmI3N2NjNjQ2
MTkuLjlkNTA2YWVkMDVjMjY2ZTVjMTNiMmFjZmQ1ZDI4Mjk2Y2YyZmU5NzAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAKQEAgLTQ3NiwyMyArNDc2LDYgQEAg
dm9pZCBUZXN0UnVubmVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAg
cHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChlbmFibGVkKTsKIH0KIAotdm9pZCBU
ZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICBDT01QdHI8SVdlYlZpZXc+IHdlYlZpZXc7Ci0gICAgaWYgKEZBSUxFRChmcmFtZS0+d2ViVmll
dygmd2ViVmlldykpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBDT01QdHI8SVdlYlByZWZlcmVu
Y2VzPiBwcmVmZXJlbmNlczsKLSAgICBpZiAoRkFJTEVEKHdlYlZpZXctPnByZWZlcmVuY2VzKCZw
cmVmZXJlbmNlcykpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBDT01QdHI8SVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZT4gcHJlZnNQcml2YXRlKFF1ZXJ5LCBwcmVmZXJlbmNlcyk7Ci0gICAgaWYgKCFw
cmVmc1ByaXZhdGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZChlbmFibGVkKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgZm9yIFNwYXRpYWxOYXZpZ2F0aW9uIGxheW91dCB0ZXN0cy4KZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJXeC5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3BwCmluZGV4IGY4NDY1MmI0MTg4NzdjZjIyYTllZjYz
ZmQ1ODNiMTcyMGMyZTcyMTIuLjE4ZTg2MTc1OTM4MzU0MjY2N2U1NTU2N2NkNjBlZWIyNWQ3YjRk
NzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJXeC5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNwcApAQCAtMTg0LDEx
ICsxODQsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5h
YmxlZCkKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgLy8gRklYTUU6IGlt
cGxlbWVudAotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJv
bUZpbGVVUkxzKGJvb2wgZW5hYmxlZCkKIHsKICAgICAvLyBGSVhNRTogaW1wbGVtZW50CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5k
aW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCBmMjcxM2M3ODJjYzkyZjQxZWNhZjdjYTFmZmJmNzUx
NTllZDU3MzM4Li44MmQyNDQ1ZWYxZTZiOWQ0M2ZmYWJhYWYzZWViODc1NTlkNGQ1M2I0IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rl
c3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTU2LDcgKzU2LDYgQEAgaW50ZXJmYWNlIFRlc3RS
dW5uZXIgewogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoaW4gYm9vbGVhbiB2YWx1ZSk7
CiAgICAgdm9pZCBzZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhpbiBib29sZWFu
IHZhbHVlKTsKICAgICB2b2lkIHNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhpbiBib29s
ZWFuIHZhbHVlKTsKLSAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoaW4gYm9vbGVh
biB2YWx1ZSk7CiAgICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsK
ICAgICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoaW4gYm9vbGVhbiB2YWx1
ZSk7CiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5jcHAKaW5kZXggYjI4ZDY1Nzk1NDY4OWJjOTIwNjYzZDc5MWEyZDM2NWU1ZDcxYWU5NS4u
Njg4YmNkZDJmODBmNzY0MGQzZTQyNTJjZDQ0ZTNiOTJkZmE0ZWM4MiAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC0z
ODUsMTEgKzM4NSw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZp
bGVVUkxzKGJvb2wgZW5hYmxlZCkKICAgICBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zyb21G
aWxlVVJMcyhJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxlKCksIEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgV0tCdW5kbGVT
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUo
KSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKLX0KLQog
dm9pZCBUZXN0UnVubmVyOjpzZXRQbHVnaW5zRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAg
V0tCdW5kbGVTZXRQbHVnaW5zRW5hYmxlZChJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxl
KCksIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlR3JvdXAoKSwgZW5hYmxlZCk7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
aCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmlu
ZGV4IDU5YWQxMmVlMTRiZDcxZGJiMGVjMWYwMDYxYTQ5MWQ2NDBhNjVmYzYuLmMyY2ZhMjA2ZDBj
MTVlMjM0MzJlOTk0ZjJmZWMxMWMxYWY0YWIxMjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xMDAsNyArMTAwLDYgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBz
ZXRBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKTsKICAgICB2b2lkIHNldEFs
bG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyhib29sKTsKLSAgICB2b2lkIHNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRQbHVnaW5zRW5hYmxlZChib29sKTsKICAg
ICB2b2lkIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQoYm9vbCk7CiAgICAgdm9pZCBz
ZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKGJvb2wpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM5NmQ4ZDZkNzc4Nzc1NGYw
ODBjNjcxM2M5MTAxNmQ3ZTZkZTEyZmUuLmI4OWRlNmYxNDJiOTk3ZmMzOTAyMTM4NjU4ZWU5NjU4
MDEyZWU1M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMy0wMS0xOCAgVG9ueSBDaGFuZyAg
PHRvbnlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCBmcm9tIGxheW91dFRlc3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMg
dG8gdXNlIGludGVybmFsLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIHdoaWNo
IGlzIGF1dG9tYXRpY2FsbHkKKyAgICAgICAgZ2VuZXJhdGVkIGZyb20gU2V0dGluZ3MuaW4uCisK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1s
OgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1h
ZHZhbmNlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1ncmlkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9m
cmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVz
ZXRzLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9s
bGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Ny
b2xsaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5k
LWhlaWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWw6CisgICAgICAgICog
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQt
c2Nyb2xsLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWw6CisgICAgICAgICog
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1s
OgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2Vs
ZWN0aW9uLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS10aW55Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24v
c25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQt
YXV0b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sOgorICAgICAgICAqIGh0dHAv
dGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5n
LXJlc291cmNlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9uczogQ2hyb21pdW0gZG9lc24ndCB1c2UgZnJhbWUgZmxhdHRlbmluZyBvbiBtb2JpbGUgZWl0
aGVyLgorICAgICAgICAqIHBsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbDoK
KwogMjAxMy0wMS0xOCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gRW5hYmxlIGluZGV4ZWQgZGF0YWJhc2UgZm9yIGRldmVsb3BtZW50IGJ1
aWxkcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFz
aC1zdmctZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
Y3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWwKaW5kZXggZTM1ZTMyMDk3NmNkOGFjMTJlZjU3MDlhNGY4
NWRiMWJjN2Y0N2JiNi4uODQwMGU0M2RhZWY2YWEyMWZlZWYxNGE4ZGIyYTA4Mzc3NTM4MzUxMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1zdmct
ZG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Ny
YXNoLXN2Zy1kb2N1bWVudC5odG1sCkBAIC0xLDggKzEsOCBAQAogPGJvZHk+CiA8c2NyaXB0Pgog
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOwogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwogfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2
YW5jZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCmluZGV4IDA3NGM5MzhmYjlhMDNiZjEzMjExZDJhOTgy
YzFhMDA2ZTk2YjI5MzEuLmI4ODMyYWRhYjJkMjNmMTRlYjZmZDIwNGY3ZTJiZThlMDExZjc5ZmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
ICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRt
bAppbmRleCBlMjIwOTQzODk5YWYwODc1Y2Y0Yzk2MWEwMWZkNmEwNjYzMTAwZGM2Li45MzQ2MmZm
MjhmNzMyMWNjMjYyOTMyNDc1M2I3MzdjMzFlNTNiMjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmlu
Zy1ncmlkLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgogICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgIHsKLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOworICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAg
ICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zm
c2V0SGVpZ2h0OwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAppbmRl
eCAzNWRhYjc5MWM4ZGNjMmJhYmE5ODJhYWRiMWE3NzE0MmU2OTQ5YzVkLi41OWQ1N2Q0NzYyMmUy
NmJjMTk3MGNlOGY3NWZlNzJmYzdjNzNjNjRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNp
bXBsZS5odG1sCkBAIC0xLDkgKzEsOSBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAg
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQog
CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5n
LXN1YmZyYW1lLXJlc2l6ZS5odG1sCmluZGV4IDMyOWRhN2IxMjc2ZDEwYzcxMmIyYmZlOWQzNjBi
OGVlNDhhNjBhYzcuLmFjMzNlMDE4MjZmYWIxYWJlMjYyM2JhYzZlZTdmZDQyMzVkZTg2MzcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKQEAg
LTEsOSArMSw5IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAKICAgICAgICAgZnVu
Y3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0
bWwKaW5kZXggODI3M2JhN2QxNGFkODdlYTQxODI0NmJlNWJlOTNmYTFmNmE3ZWI4My4uZDY2OTY1
Mzk2MTA2ZjE5NTMwZDNkYWU4OWVmM2U4YmU5MmVkMWU1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0
cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAg
ICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBz
eW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdo
dDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCmluZGV4IDAyYjBiOTky
OGFjYjY5NzNhYTc4ZTQ1MDQwOGQ0YjZiZDRkYjM4OTQuLmZjMTE0ZGFhNjQxOTFhMDUwOGI1MWJk
ZWJhYWQ4OGY5ZDg4YTMwZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwKQEAgLTEs
MTAgKzEsMTAgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgogPC9oZWFkPgpAQCAtMjAsNyAr
MjAsNyBAQAogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQogICAgIDwvc2NyaXB0PgogICAgIDxi
b2R5IG9ucmVzaXplPSd0ZXN0MigpOyc+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1o
ZWlnaHQuaHRtbAppbmRleCBjYjYyZmQ5OTc3N2RmZDIwMTBiZTgzZmQxMWM1MjMwMWNjZDAzOWU2
Li5mYjFhNDVlZjVjMTk2NzMxNjI2NzBmYTRjYmM1ZmZlZTM1YjQ2ZGI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVk
LWhlaWdodC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9y
Y2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRI
ZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3Jv
bGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8t
c2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sCmluZGV4IDNkMTZkMGE5NzcxODJl
NDlmZjQ0ZjNhYTlmMDkzYTc1OWQ2MzhlZWQuLjEwYmZjZWYxODgwYzEyODNkOGI3NjkyZDIxNDUx
ZWEyYWFjMjE0NGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmct
d2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNj
cm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbApAQCAtNCw5ICs0LDkgQEAKIAogICAg
ICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93
LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0
aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCmluZGV4IDk5Yjk1YzgzZjQ2YjliMGExYmRm
ZjRiMzkxZmJmZmQ1NDQxMTc0ZmIuLmNlNjFiYjNhZWJkNmQ3MGMyZmM0NjhhNzU1M2Y0NGY5MDA5
YzYxOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwKQEAgLTMsOCArMyw4IEBA
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0
ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAg
ICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdo
dC16ZXJvLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbAppbmRl
eCBhYWYyNjVmNzY0NDc1NDFhZWM4M2FiMWEyNmRkOWM2YjI5ZDk1Mjc2Li4zM2JjMWI4NTAzOWU1
NmYxODZlOWNiMGQ1ZmY0MzM5OTU5NWZmZjVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWln
aHQtemVyby1zaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1s
CkBAIC00LDkgKzQsOSBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0g
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgfQogCiAg
ICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdp
ZHRoLWFuZC1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sCmluZGV4IDEzZTlj
ODY2NTI1MWY4YTkzNTAxMzE1ZDBjMGI3MzU3YzI5OGQ4M2QuLjA4ODNjMDBjZDhjNjQyNjEzNjA0
YmQ1NmNmMDM0YjhhYTVkMWZmYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sCkBAIC0xLDkgKzEsOSBAQAogPGh0bWw+CiA8
aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2lu
ZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1m
aXhlZC13aWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCmluZGV4IGJlY2NmOTFiMTMyYzE2N2VkYWVl
NTg1OGU4OTkzNTcxY2ZhMDA3ZjMuLjNlZWYwNTNiODg5MjExY2Q5N2U5ZDYyNTQ3ZTI2YzFlY2Fh
ZGI3ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKQEAgLTMs
OCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBm
dW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
ICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5l
c3RlZC5odG1sCmluZGV4IDE0YTgxOGE3MzZlMTQ4NTcxOGU1NmI3ZjlkZmUwNGU2OGNlZTQ1OGEu
LmUzYzEyYWRjN2Q4NGE4MDAwODU0Y2UzZGUwM2UwMzhhZDM2NWE2NDggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1uZXN0ZWQuaHRtbApAQCAtOSw4ICs5LDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91
cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAg
ICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKaW5kZXggZTgxMTA5NGQ0
MTIzMTY5NzJmZTE5Njk3ZGNlYWVlY2I0NzBkZGFmNi4uZDBjOGFmYjI0NGQ2NTllZWM4ZmU5MTdj
YzEzZGU3YjNkMGNlZDZjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1s
CkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAg
ICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0
cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAg
ICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1v
Zi12aWV3LWFuZC1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sCmluZGV4IDA5
MmZkMzBjMmM1NzYxNjlkZDhhNzJjY2QwNjY0NGVmMjg1ZjRiOTguLmVmNjM4YjlmMDU4ODg5MDBm
NTUyOWI2Yzc3YzRhN2U4YzRmNDhlNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sCkBAIC0xLDkgKzEsOSBAQAogPGh0bWw+
CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1h
bmQtcmVsYXlvdXQuaHRtbAppbmRleCA5MDBhYjgxZDMxYWViNDEyOTIwNjQwYzhmZDlmNjFhYWY4
MjE5NGIxLi4yOGFlZTY3MzRlM2QwYWI5Y2FmZTUyZWMxYWJkMjI4ZTA1MDI1MmUxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVsYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9s
bC1hbmQtcmVsYXlvdXQuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAg
ICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctb3V0LW9mLXZpZXcuaHRtbAppbmRleCBjNDY2YTcyMjk0ZDdhNTFiYjQzOTI3NTNmYTUzY2U5
ZmVjYzdmNzFmLi40ZTgwNzQ2YjQ0ODllZmNiNjRjMGVmMjMyZTlmMGZiYWFmMjBkZTNiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW91dC1vZi12aWV3Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1sCkBAIC0zLDggKzMsOCBAQAog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVz
dCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAg
IC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
b2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxl
Y3Rpb24tY3Jhc2guaHRtbAppbmRleCAwNzUxODFmNjM2NmVjYzYxOWQ0YzI4Y2M2NWNlMjI4Njk2
MTVkZDU4Li5jODhhMTEyZWExYTM0YTI1MWU5NzhlMTBkYjYxNjA5NTZkN2VhMjdjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LXNlbGVjdGlvbi1jcmFzaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNyYXNoLmh0bWwKQEAgLTIsOSArMiw5
IEBACiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAg
IGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7
CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAg
ICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlv
dXQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAppbmRleCBkODczZjU5ZmUyNWQwMDIz
OGQxNjUwNDg3MDJlMmFlNWM3MzExNGY0Li4yNzFiODc3MzBiMWIyNTQyOTg3MGI5NGZlOGY4MTg2
YzA3NjU4MmY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTMsOCArMyw4
IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlv
biB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQot
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAg
ICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbAppbmRleCBkZTgzZWM3ZjcyNDk4Njk5
MzQxN2YzMTI3YzcyZjIxNTg3YzkwZDM5Li5lYjAxMWViYTYzOTIwMTk5MDczNDVlM2JjNmEwMDE4
YTBiMjUzZTcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS10aW55Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtdGlueS5odG1sCkBAIC01LDggKzUsOCBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9u
KCJUZXN0IHRoYXQgZnJhbWUgZmxhdHRlbmluZyBpcyBub3QgdXNlZCBmb3IgdGlueSBmcmFtZXMu
IFRoaXMgdGVzdCByZXF1aXJlcyBEUlQgb3IgdXNlciBhZ2VudCB3aXRoIGZsYXR0ZW5pbmcgZW5h
YmxlZC4iKTsKIAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIuc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiBmdW5j
dGlvbiBjaGVja1Jlc3VsdChmcmFtZU5hbWUsIGV4cGVjdGVkV2lkdGgsIGV4cGVjdGVkSGVpZ2h0
KQogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggODMz
MzVkYWMzYTJiNjgyNTBkNzlkMzRmYWZhZWRkMWRmYjZmYTA5Zi4uOWQxMWIyY2I2ZGUwN2I4OTk0
NzIzYzNjYmZiYTQ3NDVmYTc1MGZlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zcGF0
aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5n
LXNpbXBsZS5odG1sCkBAIC0zNyw4ICszNyw4IEBACiAKICAgICBmdW5jdGlvbiBydW5UZXN0KCkK
ICAgICB7Ci0gICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKIAogICAgICAgLy8gc3RhcnRpbmcgdGhlIHRlc3QgaXRzZWxmOiBnZXQgdG8gYSBr
bm93biBwbGFjZS4KICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdGFydCIpLmZvY3Vz
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9uYXJyb3ct
aWZyYW1lLWZsYXR0ZW5lZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
bmFycm93LWlmcmFtZS1mbGF0dGVuZWQuaHRtbAppbmRleCAzZjFjZWM0MTYzZTY3YzIxODZiMjgy
YmFmZGNlNmU2ZmYzOGMzNzE0Li4zMmEwZjMxYjUxN2E0ZGZjNjFkN2VlMDQ2MTdmNmYwY2E0MWFj
OTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9uYXJyb3ct
aWZyYW1lLWZsYXR0ZW5lZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL25hcnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0bWwKQEAgLTE0LDggKzE0LDggQEAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKIH0gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53
YXJuKSB7CiAgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBB
dXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVl
LCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1v
YmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhv
bmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsK
IH0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIDwvc2NyaXB0PgogCiA8
L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZs
YXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5n
LXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbAppbmRleCA4YTIxOWQ1NDg3M2IyZjBiNGJiNWJl
NGVkNWU5YzYyN2MzMWNmOTgzLi5iYTlkZGNlZGExZDVkY2IzZjQ4NDcwYmZlMWNjZTgyOTg0NTdm
ZTA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0
ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGlu
Zy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwKQEAgLTEsMTAgKzEsMTAgQEAKIDxodG1sPgog
PGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdp
bmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwogICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICB0ZXN0
UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
fQogICAgIDwvc2NyaXB0PgogICAgIDxzdHlsZT5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47IH08L3N0eWxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggN2FhMjc1NDg0N2RlOTEzNjJjODI2ZWNlZWRhZTUxNDczN2E5MDA1ZC4u
ZDRhMWRjNTY2YTgyNzI3NmVhYzI4YTUyYjIzY2IzM2NmM2YzNDU3ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC04MDksNyArODA5LDcg
QEAgZmFzdC9kb20vRWxlbWVudC9pZC1pbi1kZWxldGVidXR0b24uaHRtbCBbIFdvbnRGaXggXQog
ZmFzdC9mYXN0LW1vYmlsZS1zY3JvbGxpbmcvZml4ZWQtcG9zaXRpb24tZWxlbWVudC5odG1sIFsg
V29udEZpeCBdCiBmYXN0L2Zhc3QtbW9iaWxlLXNjcm9sbGluZy9uby1maXhlZC1wb3NpdGlvbi1l
bGVtZW50cy5odG1sIFsgV29udEZpeCBdCiAKLSMgVGVzdHMgZm9yIGZyYW1lc2V0IGZsYXR0ZW5p
bmcuIFJlbGV2YW50IG9ubHkgb24gbW9iaWxlIGJyb3dzZXJzLgorIyBUZXN0cyBmb3IgZnJhbWVz
ZXQgZmxhdHRlbmluZyB3aGljaCBpcyBub3QgdXNlZCBieSBDaHJvbWl1bS4KIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcgWyBXb250Rml4IF0KIGZhc3QvdGV4dC1hdXRvc2l6aW5nL25hcnJvdy1pZnJh
bWUtZmxhdHRlbmVkLmh0bWwgWyBXb250Rml4IF0KIGh0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxh
dHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwgWyBXb250
Rml4IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVn
aW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4t
ZnJhbWUuaHRtbAppbmRleCAzNzViNDdmODM2ZWUyNDRlMmVhZWJlMDM5MTJjMjY4YjE0YzliNGYx
Li4xZjM4ZTdhNjUyZjdhNjNjMzlmYjVjZTNlZDRlMzRhY2E0ZGRhODZjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5odG1sCkBAIC0x
LDkgKzEsOSBAQAogPGh0bWw+CiA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNl
dD0idXRmLTgiPgotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwogICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAg
dGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
dGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFVzZXNQYWdlQ2FjaGVQcmVmZXJl
bmNlS2V5IiwgMSk7CiAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnNQcmVmZXJlbmNlS2V5IiwgMSk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184003</attachid>
            <date>2013-01-22 10:20:02 -0800</date>
            <delta_ts>2013-01-23 15:02:24 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-87149-20130122101657.patch</filename>
            <type>text/plain</type>
            <size>41164</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNDM0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjJmMjI1ODYyMzBmOTQ0MWMyMzU3MmJmZGMwYzg5MGU1
MzI5YzllZS4uMjAzYTdiMmEzMDQ1OGY1ZGU3ZmY4NjkwZjM0NzQzNjNhMWUxYjg4NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQy
IEBACisyMDEzLTAxLTIyICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xs
ZXIgdG8gd2luZG93LmludGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBIYWpp
bWUgTW9yaXRhLgorCisgICAgICAgIFJlbW92ZSB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQgZnJvbSBEUlQgYW5kIFdUUi4gV2ViS2l0IEFQSQorICAgICAgICBtZXRob2RzIGFy
ZSBsZWZ0IGJlY2F1c2UgdGhlcmUgbWF5IGJlIHVzZXJzIG9mIGl0LiBJZiB3ZSB3YW50IHRvIHRl
c3QgdGhlCisgICAgICAgIHByZWZlcmVuY2UsIHdlIGNvdWxkIGFkZCBwbGF0Zm9ybSBzcGVjaWZp
YyB0ZXN0cyB0aGF0IHVzZSBvdmVycmlkZVByZWZlcmVuY2UuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFRlc3RSdW5uZXI6OnN0YXRpY0Z1bmN0
aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oOgorICAgICAgICAo
VGVzdFJ1bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVu
ZGVyVHJlZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkR1bXBSZW5kZXJUcmVl
OjpyZXNldFRvQ29uc2lzdGVudFN0YXRlQmVmb3JlVGVzdGluZyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9D
b25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvVGVzdFJ1bm5l
ckd0ay5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
OgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJQYWdl
OjpyZXNldFNldHRpbmdzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVy
UXQuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oOgorICAg
ICAgICAoVGVzdFJ1bm5lcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5k
ZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcDoKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3BwOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAg
ICAgKFRlc3RSdW5uZXIpOgorCiAyMDEzLTAxLTIyICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgogCiAgICAgICAgIE9uZSBpcyBub3QgYWxsb3dlZCB0byB1c2UgY29tbWl0LXF1
ZXVlIHRvIG1ha2Ugb25lc2VsZiBhIGNvbW1pdHRlci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5jcHAKaW5kZXggZWM2NGMwZmM4OTY1MmZkYmI4NTM3NmY1NDZlYjc4ZTYwMTJkMjY4OS4uMDMw
YWExNmEzZThhMTdkYmQ1MWI0MjZiNjRiY2M3M2ZiZDlmZmE4NCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdFJ1bm5lci5jcHAKQEAgLTEyOTksMTggKzEyOTksNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBz
ZXRQcmludGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5j
dGlvbgogfQogCiAKLXN0YXRpYyBKU1ZhbHVlUmVmIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRD
YWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2Jq
ZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVm
IGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAm
IHdpbmRvd3MgaW1wbGVtZW50YXRpb24KLSAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCi0gICAg
ICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKLQotICAgIFRlc3RSdW5u
ZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNPYmplY3RHZXRQcml2
YXRlKHRoaXNPYmplY3QpKTsKLSAgICBjb250cm9sbGVyLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7Ci0KLSAgICByZXR1
cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVlUmVm
IHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBz
aXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVudGF0
aW9uCkBAIC0yMjc2LDcgKzIyNjQsNiBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBUZXN0UnVubmVyOjpz
dGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJzZXREZWZlcnNMb2FkaW5nIiwgc2V0RGVmZXJz
TG9hZGluZ0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFVzZURlZmVycmVkRnJhbWVM
b2FkaW5nIiwgc2V0VXNlRGVmZXJyZWRGcmFtZUxvYWRpbmdDYWxsYmFjaywga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIiwgc2V0RG9t
YWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAg
ICAgIHsgInNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0R2VvbG9jYXRpb25QZXJtaXNzaW9u
Iiwgc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAi
c2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyIsIHNldEhhbmRsZXNBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZXNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRJY29uRGF0YWJh
c2VFbmFibGVkIiwgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmggYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0UnVubmVyLmgKaW5kZXggNjc5NWNhZTlmMWM4OTliMWFjZmI2MTEzYThkOTJk
Njg1YzdjYTFkYi4uMmQyNzE1NmNiODA5ZGEyMmM0MjVmMzkyMTRiMjA5OWEyNWM0MWJlNCAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaApAQCAtMTE2LDcgKzExNiw2IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVj
dCwgSlNTdHJpbmdSZWYgdmFsdWUpOwogICAgIHZvaWQgc2V0Vmlld01vZGVNZWRpYUZlYXR1cmUo
SlNTdHJpbmdSZWYpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsK
LSAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTY3JvbGxiYXJQb2xp
Y3koSlNTdHJpbmdSZWYgb3JpZW50YXRpb24sIEpTU3RyaW5nUmVmIHBvbGljeSk7CiAgICAgdm9p
ZCBzdGFydFNwZWVjaElucHV0KEpTQ29udGV4dFJlZiBpbnB1dEVsZW1lbnQpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBl
NGJmZTM4NzlkNmVjYTIwMmY1ZTk1YzFhNDE0ZDZkYjJiMTNkZWI5Li43MTY1MmRjZDEyMzhhMTM2
NDM3MmIwOTgzNTgwYmMwMmQyODM4MTA1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMzE5LDcgKzMxOSw2IEBAIHZvaWQg
RHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zCiAgICAgc2V0dGluZ3MtPnNldFNhbnNTZXJpZkZvbnRGYW1pbHko
IkFyaWFsIik7CiAgICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseSgiVGltZXMiKTsK
ICAgICBzZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOwotICAgIHNldHRpbmdz
LT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBzZXR0aW5ncy0+c2V0TWF4
aW11bVBhZ2VzSW5DYWNoZSgwKTsKICAgICBzZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQodHJ1
ZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1
bm5lckJsYWNrQmVycnkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0
UnVubmVyQmxhY2tCZXJyeS5jcHAKaW5kZXggMmIxY2VmNjI4NWJjN2ViZWUyNzJiYzNkMTUwN2I2
MGZkZGY0NzZhNS4uNWMxMzk0YTQ4MWM3OTYyOGVlMWFiNDFmMjNhM2JlNzI2MmJmZTlkNSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tC
ZXJyeS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVy
QmxhY2tCZXJyeS5jcHAKQEAgLTUyMywxMSArNTIzLDYgQEAgYm9vbCBUZXN0UnVubmVyOjpjYWxs
U2hvdWxkQ2xvc2VPbldlYlZpZXcoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBUZXN0
UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKQotewotICAgIEJs
YWNrQmVycnk6OldlYktpdDo6RHVtcFJlbmRlclRyZWU6OmN1cnJlbnRJbnN0YW5jZSgpLT5wYWdl
KCktPnNldHRpbmdzKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlKTsKLX0KLQog
dm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUp
CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0
UnVubmVyRWZsLmNwcAppbmRleCAxN2ZhZjQ4YjU3MDQxYzE2MTY5MWJiZDkzMzE3MTljOTAzNGQz
MzYwLi43MzBjNTYyYmUyOGFiMjBkMzk2MmFlNjE2MmZkMGFhODM1ZDE1Y2RhIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwCkBAIC0zMjMsMTEgKzMyMyw2IEBA
IHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGV3
a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChicm93c2VyLT5tYWluVmlldygp
LCBmbGFnKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KGJvb2wgZmxhZykKLXsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVu
aW5nX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKLX0KLQogdm9pZCBUZXN0UnVubmVy
OjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIGV3a192aWV3
X3NldHRpbmdfc3BhdGlhbF9uYXZpZ2F0aW9uX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFn
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5j
cHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGZh
ZGMzZWM3NjAxMGFmOTZhMGFkMzRmYTA2M2U4YWY5MDllZWY5MDUuLjExYjgwOTIzOTRjZDkxNGI5
Mjc1ZmQ0MzczZjUzMjI1NWJhZTZiYjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1
bXBSZW5kZXJUcmVlLmNwcApAQCAtNDQ1LDcgKzQ0NSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVm
YXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgICAgICAgICAgICAgICAiaHRtbDUtbG9jYWwt
c3RvcmFnZS1kYXRhYmFzZS1wYXRoIiwgbG9jYWxTdG9yYWdlUGF0aC5nZXQoKSwKICAgICAgICAg
ICAgICAgICAgImVuYWJsZS14c3MtYXVkaXRvciIsIEZBTFNFLAogICAgICAgICAgICAgICAgICAi
ZW5hYmxlLXNwYXRpYWwtbmF2aWdhdGlvbiIsIEZBTFNFLAotICAgICAgICAgICAgICAgICAiZW5h
YmxlLWZyYW1lLWZsYXR0ZW5pbmciLCBGQUxTRSwKICAgICAgICAgICAgICAgICAgImphdmFzY3Jp
cHQtY2FuLWFjY2Vzcy1jbGlwYm9hcmQiLCBUUlVFLAogICAgICAgICAgICAgICAgICAiamF2YXNj
cmlwdC1jYW4tb3Blbi13aW5kb3dzLWF1dG9tYXRpY2FsbHkiLCBUUlVFLAogICAgICAgICAgICAg
ICAgICAiZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxpY2F0aW9uLWNhY2hlIiwgVFJVRSwKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAppbmRleCBlNTRiZmVmM2I1NTZl
ZTQwMDVmZDQ0YTRmNjE3YjY4NTNkN2FjNTI2Li40NjM4OGQ1OGQ1NGVjOTA4ZTE0ZGY0MDAwYzU2
MWM5ZGQ4MWZmYTdiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvVGVzdFJ1
bm5lckd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsu
Y3BwCkBAIC0zODcsMTUgKzM4Nyw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVu
YWJsZWQoYm9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJl
bmFibGUteHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBXZWJLaXRXZWJWaWV3
KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKLSAgICBB
U1NFUlQodmlldyk7Ci0KLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRf
d2ViX3ZpZXdfZ2V0X3NldHRpbmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChz
ZXR0aW5ncyksICJlbmFibGUtZnJhbWUtZmxhdHRlbmluZyIsIGZsYWcsIE5VTEwpOwotfQotCiB2
b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGZsYWcpCiB7
CiAgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3
KG1haW5GcmFtZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0K
aW5kZXggODAzYWQxNTlkMTg1ZjhiNzc3MWU2ZTk1NTNhNmI3NzQ1MGJmZGU4NS4uNDM2MWIzMGE0
NTgyZmQ0OWNmODcwYzAzMDdiOTliMTQzNDc4ZTY5YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtNjYyLDcgKzY2Miw2IEBAIHN0YXRpYyB2b2lkIHJl
c2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRKYXZh
U2NyaXB0RXhwZXJpbWVudHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldExvYWRz
SW1hZ2VzQXV0b21hdGljYWxseTpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJ
Y29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTpOT107Ci0gICAgW3ByZWZlcmVuY2Vz
IHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRTcGF0
aWFsTmF2aWdhdGlvbkVuYWJsZWQ6Tk9dOwogICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hl
ZXRMb2NhdGlvbikgewogICAgICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRMb2Nh
dGlvbjpbTlNVUkwgVVJMV2l0aFN0cmluZzooTlNTdHJpbmcgKikocGVyc2lzdGVudFVzZXJTdHls
ZVNoZWV0TG9jYXRpb24uZ2V0KCkpXV07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvVGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVu
bmVyTWFjLm1tCmluZGV4IDk4YWZhNTE5ODMzOTVkYTQ2NGFkOGM3N2NlOTg4Y2JhZjE3OWNiMTYu
LjNhNWMwYjUxMWY5MWEwOTIxNGE1NWRmYWZjYTUxODA4N2RjZjc1MWUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC01NTQsMTEgKzU1NCw2IEBAIHZvaWQg
VGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIFtbW21h
aW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNTQXVkaXRvckVuYWJsZWQ6ZW5hYmxl
ZF07CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29s
IGVuYWJsZWQpCi17Ci0gICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkOmVuYWJsZWRdOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgW1tbbWFpbkZy
YW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ6ZW5h
YmxlZF07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZVF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmlu
ZGV4IDI0MDliNmFiNzhiMTFlZjA2ZmU5NDBlNTE4YTQ1Y2U1MzMxZGY5MzUuLmI5NDRiOTk3MWRj
ODhjYzMzNzliMzA1MmM0NGMxYmJhODkwNzVkZTIgMTAwNzU1Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC0xOTIsNyArMTkyLDYgQEAgdm9pZCBXZWJQYWdl
OjpyZXNldFNldHRpbmdzKCkKIAogICAgIG1fZHJ0LT50ZXN0UnVubmVyKCktPnNldENhcmV0QnJv
d3NpbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRBdXRob3JB
bmRVc2VyU3R5bGVzRW5hYmxlZCh0cnVlKTsKLSAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5z
ZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQodHJ1ZSk7CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIo
KS0+c2V0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZChmYWxzZSk7CiAgICAgbV9kcnQt
PnRlc3RSdW5uZXIoKS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvVGVzdFJ1bm5lclF0LmNwcAppbmRleCA0YWE0MzA0MGNlZTk4ZDg0YzliM2JkNDhiM2Q2
ZWFhNzg2YTkyZWNlLi4wYWViNmVmZDFjOGE5MGYzMTE3NTVjMzU3ZTNmM2ZjY2IzZTdhNzVlIDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKQEAgLTQ0NCwxMSArNDQ0
LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElk
LCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6Ondl
Ykluc3BlY3RvckV4ZWN1dGVTY3JpcHQobV9kcnQtPnBhZ2VBZGFwdGVyKCksIGNhbGxJZCwgc2Ny
aXB0KTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJv
b2wgZW5hYmxlZCkKLXsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJhbWVGbGF0
dGVuaW5nRW5hYmxlZChtX2RydC0+cGFnZUFkYXB0ZXIoKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQg
VGVzdFJ1bm5lcjo6Z29CYWNrKCkKIHsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Z29C
YWNrKG1fZHJ0LT5wYWdlQWRhcHRlcigpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L1Rlc3RSdW5uZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5l
clF0LmgKaW5kZXggMjcxOTQxODhlYWY4MTg1YTk0MTVhN2VkNTYyZDY0NGY2NGYwY2Y1My4uYjFi
M2ExZDFhMjNlMmM1NjA0ODViZTU5MDE1NDAyZTRkZjYxYTE2ZCAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvVGVzdFJ1bm5lclF0LmgKQEAgLTE1OSw3ICsxNTksNiBAQCBwdWJsaWMgUV9TTE9UUzoK
ICAgICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CiAgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5z
cGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogICAgIHZvaWQgcmVt
b3ZlQWxsVmlzaXRlZExpbmtzKCk7Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9v
bCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wg
ZW5hYmxlKTsKICAgICB2b2lkIHNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBs
b25nIHF1b3RhKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVu
ZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3Bw
CmluZGV4IGU5ZTg0Yjg0OGFlNzE3ZjQxYWM5NmM0NzI5ZGQyOTE2MWE0Y2IyZWEuLjVkMTlhNGJl
MjZjZGMzYzc5ZjJlMWIyODAyOGJlY2MyMjNmZWM0ZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODY1LDcgKzg2NSw2IEBAIHN0YXRpYyB2b2lk
IHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJl
bmNlcykKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xz
KEZBTFNFKTsgLy8gRklYTUUgLSBuZWVkIHRvIG1ha2UgRFJUIHBhc3Mgd2l0aCBXaW5kb3dzIG5h
dGl2ZSBjb250cm9scyA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1
OTI+CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2Fy
ZChUUlVFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxT
RSk7Ci0gICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxT
RSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVF
bmFibGVkKFRSVUUpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldExvYWRzU2l0ZUljb25zSWdu
b3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKEZBTFNFKTsKICAgICB9CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAKaW5kZXggNzUxNmVkYjJmNzRlNWQ5NWFmY2Nm
MDMyNDQzNTQ2Yjc3Y2M2NDYxOS4uOWQ1MDZhZWQwNWMyNjZlNWMxM2IyYWNmZDVkMjgyOTZjZjJm
ZTk3MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4u
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcApAQCAt
NDc2LDIzICs0NzYsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJv
b2wgZW5hYmxlZCkKICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJs
ZWQpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9v
bCBlbmFibGVkKQotewotICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKLSAgICBpZiAoRkFJ
TEVEKGZyYW1lLT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENP
TVB0cjxJV2ViUHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2ViVmll
dy0+cHJlZmVyZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENP
TVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVu
Y2VzKTsKLSAgICBpZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJl
ZnNQcml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lk
IFRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBmb3IgU3BhdGlhbE5hdmlnYXRpb24gbGF5b3V0IHRl
c3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJXeC5jcHAKaW5kZXggZjg0NjUy
YjQxODg3N2NmMjJhOWVmNjNmZDU4M2IxNzIwYzJlNzIxMi4uMThlODYxNzU5MzgzNTQyNjY3ZTU1
NTY3Y2Q2MGVlYjI1ZDdiNGQ3NSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gv
VGVzdFJ1bm5lcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9UZXN0UnVubmVy
V3guY3BwCkBAIC0xODQsMTEgKzE4NCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRv
ckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKIH0KIAotdm9p
ZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsK
LSAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogewogICAgIC8vIEZJWE1F
OiBpbXBsZW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IGYyNzEzYzc4MmNjOTJm
NDFlY2FmN2NhMWZmYmY3NTE1OWVkNTczMzguLjgyZDI0NDVlZjFlNmI5ZDQzZmZhYmFhZjNlZWI4
NzU1OWQ0ZDUzYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAtNTYsNyArNTYsNiBA
QCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChp
biBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZp
bGVVUkxzKGluIGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJv
bUZpbGVVUkxzKGluIGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVkKGlu
IGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2Fy
ZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
aW4gYm9vbGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBiMjhkNjU3OTU0Njg5YmM5MjA2NjNkNzkx
YTJkMzY1ZTVkNzFhZTk1Li42ODhiY2RkMmY4MGY3NjQwZDNlNDI1MmNkNDRlM2I5MmRmYTRlYzgy
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAKQEAgLTM4NSwxMSArMzg1LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRBbGxv
d0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogICAgIFdLQnVuZGxlU2V0QWxs
b3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUo
KSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKIH0KIAot
dm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkK
LXsKLSAgICBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoSW5qZWN0ZWRCdW5kbGU6
OnNoYXJlZCgpLmJ1bmRsZSgpLCBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZUdyb3VwKCks
IGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFBsdWdpbnNFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKIHsKICAgICBXS0J1bmRsZVNldFBsdWdpbnNFbmFibGVkKEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgp
LCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmgKaW5kZXggNTlhZDEyZWUxNGJkNzFkYmIwZWMxZjAwNjFhNDkxZDY0MGE2
NWZjNi4uYzJjZmEyMDZkMGMxNWUyMzQzMmU5OTRmMmZlYzExYzFhZjRhYjEyOSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAg
LTEwMCw3ICsxMDAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChi
b29sKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wp
OwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwotICAgIHZv
aWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldFBsdWdpbnNF
bmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChi
b29sKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NmEwNTAyNWI5ZmIwN2Q1ODFjYzVjODg0OTFiNTM1NjQxOGRjNDNkYi4uZGVmNjkzMDliZGNjYzkw
ZjgyNDM2MDc1MTEyYzQ5ZWVkMGFkZGY2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAx
LTIyICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93
LmludGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgor
CisgICAgICAgIFVwZGF0ZSB0ZXN0cyB0byB1c2UgaW50ZXJuYWwuc2V0dGluZ3Muc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCwgd2hpY2ggaXMgYXV0b21hdGljYWxseQorICAgICAgICBnZW5lcmF0
ZWQgZnJvbSBTZXR0aW5ncy5pbi4KKworICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
Y3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZy
YW1lLXJlc2l6ZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVz
ZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdp
ZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sOgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQt
d2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVy
by1zaXplLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sOgorICAgICAg
ICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWw6
CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZz
Y3JlZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVs
YXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAg
ICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1s
OgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL25hcnJvdy1pZnJhbWUtZmxhdHRlbmVk
Lmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZl
bC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBDaHJvbWl1bSBkb2Vzbid0IHVzZSBmcmFtZSBm
bGF0dGVuaW5nIG9uIG1vYmlsZSBlaXRoZXIuCisgICAgICAgICogcGx1Z2lucy9mcmFtZXNldC13
aXRoLXBsdWdpbi1mcmFtZS5odG1sOgorCiAyMDEzLTAxLTE4ICBTdGVwaGVuIENoZW5uZXkgIDxz
Y2hlbm5leUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQXNzZXJ0cyB3aGVuIHRleHRQYXRoIGlz
IHVzZWQgd2l0aCBubyBwYXRoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9jcmFzaC1zdmctZG9jdW1lbnQuaHRtbAppbmRleCBlMzVlMzIwOTc2Y2Q4
YWMxMmVmNTcwOWE0Zjg1ZGIxYmM3ZjQ3YmI2Li44NDAwZTQzZGFlZjZhYTIxZmVlZjE0YThkYjJh
MDgzNzc1MzgzNTExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50Lmh0bWwKQEAgLTEsOCArMSw4IEBACiA8Ym9k
eT4KIDxzY3JpcHQ+CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lciAm
JiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKaW5kZXggMDc0YzkzOGZiOWEw
M2JmMTMyMTFkMmE5ODJjMWEwMDZlOTZiMjkzMS4uYjg4MzJhZGFiMmQyM2YxNGViNmZkMjA0Zjdl
MmJlOGUwMTFmNzlmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWwK
QEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAg
ICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctZ3JpZC5odG1sCmluZGV4IGUyMjA5NDM4OTlhZjA4NzVjZjRjOTYxYTAxZmQ2YTA2NjMx
MDBkYzYuLjkzNDYyZmYyOGY3MzIxY2MyNjI5MzI0NzUzYjczN2MzMWU1M2IyMWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmlu
Zy1ncmlkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgewotICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgZG9j
dW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNp
bXBsZS5odG1sCmluZGV4IDM1ZGFiNzkxYzhkY2MyYmFiYTk4MmFhZGIxYTc3MTQyZTY5NDljNWQu
LjU5ZDU3ZDQ3NjIyZTI2YmMxOTcwY2U4Zjc1ZmU3MmZjN2M3M2M2NGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1w
bGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4KIDxoZWFkPgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50
ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAg
ICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAg
ICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJh
bWUtcmVzaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1l
c2V0LWZsYXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKaW5kZXggMzI5ZGE3YjEyNzZkMTBj
NzEyYjJiZmU5ZDM2MGI4ZWU0OGE2MGFjNy4uYWMzM2UwMTgyNmZhYjFhYmUyNjIzYmFjNmVlN2Zk
NDIzNWRlODYzNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1y
ZXNpemUuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0K
IAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1z
dWJmcmFtZXNldHMuaHRtbAppbmRleCA4MjczYmE3ZDE0YWQ4N2VhNDE4MjQ2YmU1YmU5M2ZhMWY2
YTdlYjgzLi5kNjY5NjUzOTYxMDZmMTk1MzBkM2RhZTg5ZWYzZThiZTkyZWQxZTUyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctc3ViZnJhbWVzZXRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
ICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwK
aW5kZXggMDJiMGI5OTI4YWNiNjk3M2FhNzhlNDUwNDA4ZDRiNmJkNGRiMzg5NC4uZmMxMTRkYWE2
NDE5MWEwNTA4YjUxYmRlYmFhZDg4ZjlkODhhMzBmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jh
c2guaHRtbApAQCAtMSwxMCArMSwxMCBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAg
ICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hl
YWQ+CkBAIC0yMCw3ICsyMCw3IEBACiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAgICAgPC9z
Y3JpcHQ+CiAgICAgPGJvZHkgb25yZXNpemU9J3Rlc3QyKCk7Jz4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVp
Z2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sCmluZGV4IGNiNjJmZDk5Nzc3ZGZkMjAxMGJlODNmZDEx
YzUyMzAxY2NkMDM5ZTYuLmZiMWE0NWVmNWMxOTY3MzE2MjY3MGZhNGNiYzVmZmVlMzViNDZkYjkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbApAQCAtMyw4ICsz
LDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0
aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAg
ICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQt
aGVpZ2h0LW5vLXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgt
YW5kLWhlaWdodC1uby1zY3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKaW5kZXgg
M2QxNmQwYTk3NzE4MmU0OWZmNDRmM2FhOWYwOTNhNzU5ZDYzOGVlZC4uMTBiZmNlZjE4ODBjMTI4
M2Q4Yjc2OTJkMjE0NTFlYTJhYWMyMTQ0ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0
LW5vLXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFu
ZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sCkBAIC00LDkg
KzQsOSBAQAogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7Ci0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwKaW5kZXggOTliOTVj
ODNmNDZiOWIwYTFiZGZmNGIzOTFmYmZmZDU0NDExNzRmYi4uY2U2MWJiM2FlYmQ2ZDcwYzJmYzQ2
OGE3NTUzZjQ0ZjkwMDljNjE4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNj
cm9sbGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbApA
QCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAg
ICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13
aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8t
c2l6ZS5odG1sCmluZGV4IGFhZjI2NWY3NjQ0NzU0MWFlYzgzYWIxYTI2ZGQ5YzZiMjlkOTUyNzYu
LjMzYmMxYjg1MDM5ZTU2ZjE4NmU5Y2IwZDVmZjQzMzk5NTk1ZmZmNWUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQt
d2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQt
emVyby1zaXplLmh0bWwKQEAgLTQsOSArNCw5IEBACiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0
bWwKaW5kZXggMTNlOWM4NjY1MjUxZjhhOTM1MDEzMTVkMGMwYjczNTdjMjk4ZDgzZC4uMDg4M2Mw
MGNkOGM2NDI2MTM2MDRiZDU2Y2YwMzRiOGFhNWQxZmZhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1h
bmQtaGVpZ2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWwKQEAgLTEsOSArMSw5
IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gdGVz
dCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKaW5kZXggYmVjY2Y5
MWIxMzJjMTY3ZWRhZWU1ODU4ZTg5OTM1NzFjZmEwMDdmMy4uM2VlZjA1M2I4ODkyMTFjZDk3ZTlk
NjI1NDdlMjZjMWVjYWFkYjdmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGguaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1uZXN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctbmVzdGVkLmh0bWwKaW5kZXggMTRhODE4YTczNmUxNDg1NzE4ZTU2YjdmOWRm
ZTA0ZTY4Y2VlNDU4YS4uZTNjMTJhZGM3ZDg0YTgwMDA4NTRjZTNkZTAzZTAzOGFkMzY1YTY0OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxh
dHRlbmluZy1uZXN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sCkBAIC05LDggKzksOCBAQAogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZv
cmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbApp
bmRleCBlODExMDk0ZDQxMjMxNjk3MmZlMTk2OTdkY2VhZWVjYjQ3MGRkYWY2Li5kMGM4YWZiMjQ0
ZDY1OWVlYzhmZTkxN2NjMTNkZTdiM2QwY2VkNmNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
b2Zmc2NyZWVuLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5
b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctb3V0LW9mLXZpZXctYW5kLXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xs
Lmh0bWwKaW5kZXggMDkyZmQzMGMyYzU3NjE2OWRkOGE3MmNjZDA2NjQ0ZWYyODVmNGI5OC4uZWY2
MzhiOWYwNTg4ODkwMGY1NTI5YjZjNzdjNGE3ZThjNGY0OGU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmll
dy1hbmQtc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwKQEAgLTEsOSAr
MSw5IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVsYXlvdXQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9m
LXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sCmluZGV4IDkwMGFiODFkMzFhZWI0MTI5MjA2
NDBjOGZkOWY2MWFhZjgyMTk0YjEuLjI4YWVlNjczNGUzZDBhYjljYWZlNTJlYzFhYmQyMjhlMDUw
MjUyZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0
LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sCkBAIC0xLDkgKzEsOSBAQAogPGh0bWw+
CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYg
d2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1vdXQtb2Ytdmlldy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1sCmluZGV4IGM0NjZhNzIyOTRkN2E1MWJi
NDM5Mjc1M2ZhNTNjZTlmZWNjN2Y3MWYuLjRlODA3NDZiNDQ4OWVmY2I2NGMwZWYyMzJlOWYwZmJh
YWYyMGRlM2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3Lmh0bWwKQEAg
LTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAg
ICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAg
ZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9u
LWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1m
bGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCmluZGV4IDA3NTE4MWY2MzY2ZWNjNjE5ZDRj
MjhjYzY1Y2UyMjg2OTYxNWRkNTguLmM4OGExMTJlYTFhMzRhMjUxZTk3OGUxMGRiNjE2MDk1NmQ3
ZWEyN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRt
bApAQCAtMiw5ICsyLDkgQEAKIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIEZvcmNlIHN5
bmNocm9ub3VzIGxheW91dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IGQ4
NzNmNTlmZTI1ZDAwMjM4ZDE2NTA0ODcwMmUyYWU1YzczMTE0ZjQuLjI3MWI4NzczMGIxYjI1NDI5
ODcwYjk0ZmU4ZjgxODZjMDc2NTgyZjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRt
bApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAg
ICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtdGlueS5odG1sCmluZGV4IGRl
ODNlYzdmNzI0OTg2OTkzNDE3ZjMxMjdjNzJmMjE1ODdjOTBkMzkuLmViMDExZWJhNjM5MjAxOTkw
NzM0NWUzYmM2YTAwMThhMGIyNTNlNzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwKQEAgLTUsOCArNSw4IEBACiA8c2NyaXB0
PgogZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBmcmFtZSBmbGF0dGVuaW5nIGlzIG5vdCB1c2VkIGZv
ciB0aW55IGZyYW1lcy4gVGhpcyB0ZXN0IHJlcXVpcmVzIERSVCBvciB1c2VyIGFnZW50IHdpdGgg
ZmxhdHRlbmluZyBlbmFibGVkLiIpOwogCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVz
dFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAKIGZ1bmN0aW9uIGNoZWNrUmVzdWx0KGZyYW1lTmFtZSwgZXhwZWN0ZWRXaWR0aCwg
ZXhwZWN0ZWRIZWlnaHQpCiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUu
aHRtbAppbmRleCA4MzMzNWRhYzNhMmI2ODI1MGQ3OWQzNGZhZmFlZGQxZGZiNmZhMDlmLi45ZDEx
YjJjYjZkZTA3Yjg5OTQ3MjNjM2NiZmJhNDc0NWZhNzUwZmVkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBs
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZy
YW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKQEAgLTM3LDggKzM3LDggQEAKIAogICAgIGZ1bmN0
aW9uIHJ1blRlc3QoKQogICAgIHsKLSAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKHRydWUpOwogCiAgICAgICAvLyBzdGFydGluZyB0aGUgdGVzdCBpdHNl
bGY6IGdldCB0byBhIGtub3duIHBsYWNlLgogICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InN0YXJ0IikuZm9jdXMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL25hcnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sCmluZGV4IDNmMWNlYzQx
NjNlNjdjMjE4NmIyODJiYWZkY2U2ZTZmZjM4YzM3MTQuLjMyYTBmMzFiNTE3YTRkZmM2MWQ3ZWUw
NDYxN2Y2ZjBjYTQxYWM5NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL25hcnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvbmFycm93LWlmcmFtZS1mbGF0dGVuZWQuaHRtbApAQCAtMTQsOCAr
MTQsOCBAQCBpZiAod2luZG93LmludGVybmFscykgewogfSBlbHNlIGlmICh3aW5kb3cuY29uc29s
ZSAmJiBjb25zb2xlLndhcm4pIHsKICAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRz
IG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4g
RHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBl
aXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBO
ZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19P
Tl9ERVNLVE9QLiIpOwogfQotaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgIHRlc3RSdW5uZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
PC9zY3JpcHQ+CiAKIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
bWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJlc291
cmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmct
M2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCmluZGV4IDhhMjE5ZDU0
ODczYjJmMGI0YmI1YmU0ZWQ1ZTljNjI3YzMxY2Y5ODMuLmJhOWRkY2VkYTFkNWRjYjNmNDg0NzBi
ZmUxY2NlODI5ODQ1N2ZlMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlz
Yy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJlc291cmNl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5n
LTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbApAQCAtMSwxMCArMSwx
MCBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiAgICAgPHN0eWxlPmJvZHkgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsgfTwvc3R5bGU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjOWY4ZDFlNWQ3NDU4YmNhN2E5ZDYxMTllZWRh
NWEyZmViMGYwZjhlLi5lZWMzMTQzYzI5ODNiYzkxNTA5ZDU0YjVlZTFmMWJhZGRkZmM3MDAyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTgwOSw3ICs4MDksNyBAQCBmYXN0L2RvbS9FbGVtZW50L2lkLWluLWRlbGV0ZWJ1dHRvbi5odG1s
IFsgV29udEZpeCBdCiBmYXN0L2Zhc3QtbW9iaWxlLXNjcm9sbGluZy9maXhlZC1wb3NpdGlvbi1l
bGVtZW50Lmh0bWwgWyBXb250Rml4IF0KIGZhc3QvZmFzdC1tb2JpbGUtc2Nyb2xsaW5nL25vLWZp
eGVkLXBvc2l0aW9uLWVsZW1lbnRzLmh0bWwgWyBXb250Rml4IF0KIAotIyBUZXN0cyBmb3IgZnJh
bWVzZXQgZmxhdHRlbmluZy4gUmVsZXZhbnQgb25seSBvbiBtb2JpbGUgYnJvd3NlcnMuCisjIFRl
c3RzIGZvciBmcmFtZXNldCBmbGF0dGVuaW5nIHdoaWNoIGlzIG5vdCB1c2VkIGJ5IENocm9taXVt
LgogZmFzdC9mcmFtZXMvZmxhdHRlbmluZyBbIFdvbnRGaXggXQogZmFzdC90ZXh0LWF1dG9zaXpp
bmcvbmFycm93LWlmcmFtZS1mbGF0dGVuZWQuaHRtbCBbIFdvbnRGaXggXQogaHR0cC90ZXN0cy9t
aXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3Vy
Y2UuaHRtbCBbIFdvbnRGaXggXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFt
ZXNldC13aXRoLXBsdWdpbi1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNl
dC13aXRoLXBsdWdpbi1mcmFtZS5odG1sCmluZGV4IDM3NWI0N2Y4MzZlZTI0NGUyZWFlYmUwMzkx
MmMyNjhiMTRjOWI0ZjEuLjFmMzhlN2E2NTJmN2E2M2MzOWZiNWNlM2VkNGUzNGFjYTRkZGE4NmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJh
bWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZy
YW1lLmh0bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4KIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOwogICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0VXNlc1Bh
Z2VDYWNoZVByZWZlcmVuY2VLZXkiLCAxKTsKICAgICAgICAgdGVzdFJ1bm5lci5vdmVycmlkZVBy
ZWZlcmVuY2UoIldlYktpdFBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2luc1ByZWZlcmVuY2VLZXkiLCAx
KTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184323</attachid>
            <date>2013-01-23 15:02:32 -0800</date>
            <delta_ts>2013-01-23 15:07:43 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-87149-20130123145925.patch</filename>
            <type>text/plain</type>
            <size>44256</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDg5
NTYwYjdlM2VmYTcwYjc5ODk5ZjI5MDY4NTAxOTU4NjdiOTNhNGIuLjFlNzk4ZDYzNWMxNTlhNjM5
YjU1YmY0ZjkxYTFhMWRiODhiYjFlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMDQs
NiArMjA0LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZv
clRlc3RSdW5uZXIoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2UKICAgICBtYWNybyhXZWJLaXRDYW52
YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nLCBDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nLCBj
YW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nKSBcCiAgICAgbWFjcm8oV2ViS2l0Q1NTQ3VzdG9t
RmlsdGVyRW5hYmxlZCwgQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCwgY3NzQ3VzdG9tRmlsdGVyRW5h
YmxlZCkgXAogICAgIG1hY3JvKFdlYktpdENTU0dyaWRMYXlvdXRFbmFibGVkLCBDU1NHcmlkTGF5
b3V0RW5hYmxlZCwgY3NzR3JpZExheW91dEVuYWJsZWQpIFwKKyAgICBtYWNybyhXZWJLaXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkLCBGcmFtZUZsYXR0ZW5pbmdFbmFibGVkLCBmcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0SmF2YUVuYWJsZWQsIEphdmFFbmFibGVkLCBq
YXZhRW5hYmxlZCkgXAogICAgIG1hY3JvKFdlYktpdEphdmFTY3JpcHRFbmFibGVkLCBTY3JpcHRF
bmFibGVkLCBqYXZhU2NyaXB0RW5hYmxlZCkgXAogICAgIG1hY3JvKFdlYktpdExvYWRTaXRlSWNv
bnNLZXksIExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nLCBsb2Fkc1Np
dGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSkgXApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGIxODUzYzY4MDEyMTRjYjFlYWYw
ZDgxMGI0NGY0YjZjZmIzNzczM2UuLjljYzFkNWFiMjQ2MTE3M2M0NTljNWUwNjBmZTM4NmFmNjQ2
YWYwOTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSw0MiBAQAorMjAxMy0wMS0yMyAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE1vdmUgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCBmcm9tIGxheW91
dFRlc3RDb250cm9sbGVyIHRvIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MTQ5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgSGFqaW1lIE1vcml0YS4KKworICAgICAgICBSZW1vdmUgdGVzdFJ1bm5lci5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gRFJUIGFuZCBXVFIuIFdlYktpdCBBUEkKKyAgICAg
ICAgbWV0aG9kcyBhcmUgbGVmdCBiZWNhdXNlIHRoZXJlIG1heSBiZSB1c2VycyBvZiBpdC4gSWYg
d2Ugd2FudCB0byB0ZXN0IHRoZQorICAgICAgICBwcmVmZXJlbmNlLCB3ZSBjb3VsZCBhZGQgcGxh
dGZvcm0gc3BlY2lmaWMgdGVzdHMgdGhhdCB1c2Ugb3ZlcnJpZGVQcmVmZXJlbmNlLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChUZXN0UnVubmVy
OjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIu
aDoKKyAgICAgICAgKFRlc3RSdW5uZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNr
YmVycnkvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpE
dW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3Bw
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcDoKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVz
ZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Z3RrL1Rlc3RSdW5uZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
cXQvVGVzdFJ1bm5lclF0LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVu
bmVyUXQuaDoKKyAgICAgICAgKFRlc3RSdW5uZXIpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0
ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5j
cHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNwcDoKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKwogMjAxMy0wMS0yMyAgTWFyayBQaWxncmlt
ICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVcGRhdGUgc29t
ZSAjaW5jbHVkZXMgaW4gRHVtcFJlbmRlclRyZWUgZm9yIGhlYWRlcnMgaW4gdGhlIG5ldyBQbGF0
Zm9ybSBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5u
ZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZWM2NGMw
ZmM4OTY1MmZkYmI4NTM3NmY1NDZlYjc4ZTYwMTJkMjY4OS4uMDMwYWExNmEzZThhMTdkYmQ1MWI0
MjZiNjRiY2M3M2ZiZDlmZmE4NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKQEAg
LTEyOTksMTggKzEyOTksNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRQcmludGluZ0NhbGxiYWNr
KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbgogfQogCiAKLXN0YXRp
YyBKU1ZhbHVlUmVmIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3Qs
IHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1Zh
bHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAmIHdpbmRvd3MgaW1wbGVtZW50
YXRpb24KLSAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCi0gICAgICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KTsKLQotICAgIFRlc3RSdW5uZXIqIGNvbnRyb2xsZXIgPSBz
dGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsK
LSAgICBjb250cm9sbGVyLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEpTVmFsdWVUb0Jvb2xl
YW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7Ci0KLSAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRl
ZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVlUmVmIHNldEFsbG93VW5pdmVyc2Fs
QWNjZXNzRnJvbUZpbGVVUkxzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0
UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3Vu
dCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQog
ewogICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVudGF0aW9uCkBAIC0yMjc2LDcgKzIy
NjQsNiBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBUZXN0UnVubmVyOjpzdGF0aWNGdW5jdGlvbnMoKQog
ICAgICAgICB7ICJzZXREZWZlcnNMb2FkaW5nIiwgc2V0RGVmZXJzTG9hZGluZ0NhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCiAgICAgICAgIHsgInNldFVzZURlZmVycmVkRnJhbWVMb2FkaW5nIiwgc2V0VXNlRGVm
ZXJyZWRGcmFtZUxvYWRpbmdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXREb21haW5S
ZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIiwgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJp
ZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAgIHsgInNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAic2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uIiwgc2V0R2VvbG9jYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0SGFuZGxlc0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlcyIsIHNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXNDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRJY29uRGF0YWJhc2VFbmFibGVkIiwgc2V0SWNv
bkRhdGFiYXNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0UnVubmVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVy
LmgKaW5kZXggNjc5NWNhZTlmMWM4OTliMWFjZmI2MTEzYThkOTJkNjg1YzdjYTFkYi4uMmQyNzE1
NmNiODA5ZGEyMmM0MjVmMzkyMTRiMjA5OWEyNWM0MWJlNCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RS
dW5uZXIuaApAQCAtMTE2LDcgKzExNiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlRm9y
VXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNTdHJpbmdSZWYgdmFs
dWUpOwogICAgIHZvaWQgc2V0Vmlld01vZGVNZWRpYUZlYXR1cmUoSlNTdHJpbmdSZWYpOwogICAg
IHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsKLSAgICB2b2lkIHNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTY3JvbGxiYXJQb2xpY3koSlNTdHJpbmdSZWYgb3Jp
ZW50YXRpb24sIEpTU3RyaW5nUmVmIHBvbGljeSk7CiAgICAgdm9pZCBzdGFydFNwZWVjaElucHV0
KEpTQ29udGV4dFJlZiBpbnB1dEVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBlNGJmZTM4NzlkNmVjYTIwMmY1
ZTk1YzFhNDE0ZDZkYjJiMTNkZWI5Li43MTY1MmRjZDEyMzhhMTM2NDM3MmIwOTgzNTgwYmMwMmQy
ODM4MTA1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBS
ZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBS
ZW5kZXJUcmVlLmNwcApAQCAtMzE5LDcgKzMxOSw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OnJl
c2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
CiAgICAgc2V0dGluZ3MtPnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoIkFyaWFsIik7CiAgICAgc2V0
dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseSgiVGltZXMiKTsKICAgICBzZXR0aW5ncy0+c2V0
WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOwotICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKGZhbHNlKTsKICAgICBzZXR0aW5ncy0+c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSgw
KTsKICAgICBzZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQodHJ1ZSk7CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5j
cHAKaW5kZXggMmIxY2VmNjI4NWJjN2ViZWUyNzJiYzNkMTUwN2I2MGZkZGY0NzZhNS4uNWMxMzk0
YTQ4MWM3OTYyOGVlMWFiNDFmMjNhM2JlNzI2MmJmZTlkNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAKKysrIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAKQEAg
LTUyMywxMSArNTIzLDYgQEAgYm9vbCBUZXN0UnVubmVyOjpjYWxsU2hvdWxkQ2xvc2VPbldlYlZp
ZXcoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKQotewotICAgIEJsYWNrQmVycnk6OldlYktpdDo6
RHVtcFJlbmRlclRyZWU6OmN1cnJlbnRJbnN0YW5jZSgpLT5wYWdlKCktPnNldHRpbmdzKCktPnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpz
ZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUpCiB7CiAgICAgbm90SW1wbGVt
ZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVy
RWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcAppbmRl
eCAxN2ZhZjQ4YjU3MDQxYzE2MTY5MWJiZDkzMzE3MTljOTAzNGQzMzYwLi43MzBjNTYyYmUyOGFi
MjBkMzk2MmFlNjE2MmZkMGFhODM1ZDE1Y2RhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L1Rlc3RSdW5uZXJFZmwuY3BwCkBAIC0zMjMsMTEgKzMyMyw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6
c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGV3a192aWV3X3NldHRpbmdfZW5h
YmxlX3hzc19hdWRpdG9yX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKIH0KIAotdm9p
ZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAg
ICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChicm93c2VyLT5t
YWluVmlldygpLCBmbGFnKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdh
dGlvbkVuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIGV3a192aWV3X3NldHRpbmdfc3BhdGlhbF9u
YXZpZ2F0aW9uX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGZhZGMzZWM3NjAxMGFmOTZhMGFk
MzRmYTA2M2U4YWY5MDllZWY5MDUuLjExYjgwOTIzOTRjZDkxNGI5Mjc1ZmQ0MzczZjUzMjI1NWJh
ZTZiYjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJl
ZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApA
QCAtNDQ1LDcgKzQ0NSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRW
YWx1ZXMoKQogICAgICAgICAgICAgICAgICAiaHRtbDUtbG9jYWwtc3RvcmFnZS1kYXRhYmFzZS1w
YXRoIiwgbG9jYWxTdG9yYWdlUGF0aC5nZXQoKSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS14
c3MtYXVkaXRvciIsIEZBTFNFLAogICAgICAgICAgICAgICAgICAiZW5hYmxlLXNwYXRpYWwtbmF2
aWdhdGlvbiIsIEZBTFNFLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWZyYW1lLWZsYXR0ZW5p
bmciLCBGQUxTRSwKICAgICAgICAgICAgICAgICAgImphdmFzY3JpcHQtY2FuLWFjY2Vzcy1jbGlw
Ym9hcmQiLCBUUlVFLAogICAgICAgICAgICAgICAgICAiamF2YXNjcmlwdC1jYW4tb3Blbi13aW5k
b3dzLWF1dG9tYXRpY2FsbHkiLCBUUlVFLAogICAgICAgICAgICAgICAgICAiZW5hYmxlLW9mZmxp
bmUtd2ViLWFwcGxpY2F0aW9uLWNhY2hlIiwgVFJVRSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0
ay9UZXN0UnVubmVyR3RrLmNwcAppbmRleCBlNTRiZmVmM2I1NTZlZTQwMDVmZDQ0YTRmNjE3YjY4
NTNkN2FjNTI2Li40NjM4OGQ1OGQ1NGVjOTA4ZTE0ZGY0MDAwYzU2MWM5ZGQ4MWZmYTdiIDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCkBAIC0zODcsMTUgKzM4
Nyw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQog
ICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUteHNzLWF1ZGl0b3Ii
LCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dl
Yl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKLSAgICBBU1NFUlQodmlldyk7Ci0KLSAg
ICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRp
bmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUt
ZnJhbWUtZmxhdHRlbmluZyIsIGZsYWcsIE5VTEwpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNl
dFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGZsYWcpCiB7CiAgICAgV2ViS2l0V2ViVmll
dyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFtZSk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggODAzYWQxNTlkMTg1
ZjhiNzc3MWU2ZTk1NTNhNmI3NzQ1MGJmZGU4NS4uNDM2MWIzMGE0NTgyZmQ0OWNmODcwYzAzMDdi
OTliMTQzNDc4ZTY5YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQpAQCAtNjYyLDcgKzY2Miw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNp
c3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRKYXZhU2NyaXB0RXhwZXJpbWVudHNF
bmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxs
eTpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VM
b2FkaW5nUHJlZmVyZW5jZTpOT107Ci0gICAgW3ByZWZlcmVuY2VzIHNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQ6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJs
ZWQ6Tk9dOwogICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbikgewogICAg
ICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbjpbTlNVUkwgVVJMV2l0
aFN0cmluZzooTlNTdHJpbmcgKikocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24uZ2V0
KCkpXV07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1h
Yy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCmluZGV4IDVl
YTEwMGIyN2Y3OTA0NDBiNTI3M2M4OGMyOWM4N2RiMmNlZWRlOTIuLjU0NWQzOGE5OTRiMGYwNzIz
ZTUwNGY4ZDhhNjI3ZGFhNjE1ZjM5NWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0
UnVubmVyTWFjLm1tCkBAIC01NTQsMTEgKzU1NCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNT
QXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBw
cmVmZXJlbmNlc10gc2V0WFNTQXVkaXRvckVuYWJsZWQ6ZW5hYmxlZF07CiB9CiAKLXZvaWQgVGVz
dFJ1bm5lcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAg
W1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkOmVuYWJsZWRdOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9u
RW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZl
cmVuY2VzXSBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IDI0MDliNmFiNzhiMTFl
ZjA2ZmU5NDBlNTE4YTQ1Y2U1MzMxZGY5MzUuLmI5NDRiOTk3MWRjODhjYzMzNzliMzA1MmM0NGMx
YmJhODkwNzVkZTIgMTAwNzU1Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5k
ZXJUcmVlUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVl
UXQuY3BwCkBAIC0xOTIsNyArMTkyLDYgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkK
IAogICAgIG1fZHJ0LT50ZXN0UnVubmVyKCktPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGZhbHNl
KTsKICAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxl
ZCh0cnVlKTsKLSAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRTbWFydEluc2VydERlbGV0
ZUVuYWJsZWQodHJ1ZSk7CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0U2VsZWN0VHJhaWxp
bmdXaGl0ZXNwYWNlRW5hYmxlZChmYWxzZSk7CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0
RGVmZXJzTG9hZGluZyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9x
dC9UZXN0UnVubmVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0
LmNwcAppbmRleCA0YWE0MzA0MGNlZTk4ZDg0YzliM2JkNDhiM2Q2ZWFhNzg2YTkyZWNlLi4wYWVi
NmVmZDFjOGE5MGYzMTE3NTVjMzU3ZTNmM2ZjY2IzZTdhNzVlIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKQEAgLTQ0NCwxMSArNDQ0LDYgQEAgdm9pZCBUZXN0UnVu
bmVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBz
Y3JpcHQpCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OndlYkluc3BlY3RvckV4ZWN1dGVT
Y3JpcHQobV9kcnQtPnBhZ2VBZGFwdGVyKCksIGNhbGxJZCwgc2NyaXB0KTsKIH0KIAotdm9pZCBU
ZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2Ry
dC0+cGFnZUFkYXB0ZXIoKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6Z29CYWNr
KCkKIHsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Z29CYWNrKG1fZHJ0LT5wYWdlQWRh
cHRlcigpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJR
dC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKaW5kZXggMjcxOTQx
ODhlYWY4MTg1YTk0MTVhN2VkNTYyZDY0NGY2NGYwY2Y1My4uYjFiM2ExZDFhMjNlMmM1NjA0ODVi
ZTU5MDE1NDAyZTRkZjYxYTE2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
VGVzdFJ1bm5lclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0
LmgKQEAgLTE1OSw3ICsxNTksNiBAQCBwdWJsaWMgUV9TTE9UUzoKICAgICB2b2lkIGNsb3NlV2Vi
SW5zcGVjdG9yKCk7CiAgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElk
LCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogICAgIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtz
KCk7Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wpOwogICAgIHZvaWQg
c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGUpOwogICAgIHZv
aWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lk
IHNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGU5ZTg0Yjg0OGFl
NzE3ZjQxYWM5NmM0NzI5ZGQyOTE2MWE0Y2IyZWEuLjVkMTlhNGJlMjZjZGMzYzc5ZjJlMWIyODAy
OGJlY2MyMjNmZWM0ZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1w
UmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJU
cmVlLmNwcApAQCAtODY1LDcgKzg2NSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0Nv
bnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICAgICAgcHJl
ZnNQcml2YXRlLT5zZXRTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKEZBTFNFKTsgLy8gRklYTUUg
LSBuZWVkIHRvIG1ha2UgRFJUIHBhc3Mgd2l0aCBXaW5kb3dzIG5hdGl2ZSBjb250cm9scyA8aHR0
cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1OTI+CiAgICAgICAgIHByZWZz
UHJpdmF0ZS0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChUUlVFKTsKICAgICAgICAg
cHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7Ci0gICAgICAgIHByZWZz
UHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZz
UHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUpOwogICAg
ICAgICBwcmVmc1ByaXZhdGUtPnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQ
cmVmZXJlbmNlKEZBTFNFKTsKICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1
bm5lcldpbi5jcHAKaW5kZXggNzUxNmVkYjJmNzRlNWQ5NWFmY2NmMDMyNDQzNTQ2Yjc3Y2M2NDYx
OS4uOWQ1MDZhZWQwNWMyNjZlNWMxM2IyYWNmZDVkMjgyOTZjZjJmZTk3MCAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcApAQCAtNDc2LDIzICs0NzYsNiBAQCB2
b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBw
cmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJsZWQpOwogfQogCi12b2lkIFRl
c3RSdW5uZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAg
IENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKLSAgICBpZiAoRkFJTEVEKGZyYW1lLT53ZWJWaWV3
KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2ViUHJlZmVyZW5j
ZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2ViVmlldy0+cHJlZmVyZW5jZXMoJnBy
ZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2ViUHJlZmVyZW5j
ZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKLSAgICBpZiAoIXBy
ZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJlZnNQcml2YXRlLT5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgLy8gRklYTUU6IElt
cGxlbWVudCBmb3IgU3BhdGlhbE5hdmlnYXRpb24gbGF5b3V0IHRlc3RzLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3d4L1Rlc3RSdW5uZXJXeC5jcHAKaW5kZXggZjg0NjUyYjQxODg3N2NmMjJhOWVmNjNm
ZDU4M2IxNzIwYzJlNzIxMi4uMThlODYxNzU5MzgzNTQyNjY3ZTU1NTY3Y2Q2MGVlYjI1ZDdiNGQ3
NSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3BwCkBAIC0xODQsMTEg
KzE4NCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFi
bGVkKQogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICAvLyBGSVhNRTogaW1w
bGVtZW50Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYm9vbCBlbmFibGVkKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IGYyNzEzYzc4MmNjOTJmNDFlY2FmN2NhMWZmYmY3NTE1
OWVkNTczMzguLjgyZDI0NDVlZjFlNmI5ZDQzZmZhYmFhZjNlZWI4NzU1OWQ0ZDUzYjQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVz
dFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAtNTYsNyArNTYsNiBAQCBpbnRlcmZhY2UgVGVzdFJ1
bm5lciB7CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsK
ICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xlYW4g
dmFsdWUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xl
YW4gdmFsdWUpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChpbiBib29sZWFu
IHZhbHVlKTsKICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwog
ICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChpbiBib29sZWFuIHZhbHVl
KTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoaW4gYm9vbGVhbiB2YWx1ZSk7
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmNwcAppbmRleCBiMjhkNjU3OTU0Njg5YmM5MjA2NjNkNzkxYTJkMzY1ZTVkNzFhZTk1Li42
ODhiY2RkMmY4MGY3NjQwZDNlNDI1MmNkNDRlM2I5MmRmYTRlYzgyIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTM4
NSwxMSArMzg1LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmls
ZVVSTHMoYm9vbCBlbmFibGVkKQogICAgIFdLQnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZp
bGVVUkxzKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6
OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBXS0J1bmRsZVNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgp
LCBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZUdyb3VwKCksIGVuYWJsZWQpOwotfQotCiB2
b2lkIFRlc3RSdW5uZXI6OnNldFBsdWdpbnNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBX
S0J1bmRsZVNldFBsdWdpbnNFbmFibGVkKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUo
KSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5k
ZXggNTlhZDEyZWUxNGJkNzFkYmIwZWMxZjAwNjFhNDkxZDY0MGE2NWZjNi4uYzJjZmEyMDZkMGMx
NWUyMzQzMmU5OTRmMmZlYzExYzFhZjRhYjEyOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTEwMCw3ICsxMDAsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNl
dEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwogICAgIHZvaWQgc2V0QWxs
b3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVkKGJvb2wpOwogICAg
IHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sKTsKICAgICB2b2lkIHNl
dFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjhlYzlkNWYxMDNmM2M5OWQ3
NmQ4MjhkYzc3NDhjZmZiZDBiODYzMC4uMmRiNGViMjMyMTkzNmZhNDUxNGZmMzRiZjdmYTM2ZjNk
NjRmMGYyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQyIEBACiAyMDEzLTAxLTIzICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscy5zZXR0aW5n
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkK
KworICAgICAgICBSZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAgICAgIFVwZGF0ZSB0
ZXN0cyB0byB1c2UgaW50ZXJuYWwuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwg
d2hpY2ggaXMgYXV0b21hdGljYWxseQorICAgICAgICBnZW5lcmF0ZWQgZnJvbSBTZXR0aW5ncy5p
bi4KKworICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50
Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVu
aW5nLWFkdmFuY2VkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sOgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJm
cmFtZXNldHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1m
bGF0dGVuaW5nLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8t
c2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sOgorICAgICAgICAqIGZhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1u
by1zY3JvbGxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0
aC1hbmQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3
LWFuZC1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVsYXlvdXQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3
Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1zZWxlY3Rpb24tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbDoKKyAgICAgICAgKiBmYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3Qv
dGV4dC1hdXRvc2l6aW5nL25hcnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxv
Y2tpbmctcmVzb3VyY2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zOiBDaHJvbWl1bSBkb2Vzbid0IHVzZSBmcmFtZSBmbGF0dGVuaW5nIG9uIG1vYmls
ZSBlaXRoZXIuCisgICAgICAgICogcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5o
dG1sOgorCisyMDEzLTAxLTIzICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKICAg
ICAgICAgSW5jb3JyZWN0IHNjcm9sbGFibGUgaGVpZ2h0IGR1cmluZyBzaW1wbGlmaWVkIGxheW91
dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3MTkz
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gt
c3ZnLWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2Ny
YXNoLXN2Zy1kb2N1bWVudC5odG1sCmluZGV4IGUzNWUzMjA5NzZjZDhhYzEyZWY1NzA5YTRmODVk
YjFiYzdmNDdiYjYuLjg0MDBlNDNkYWVmNmFhMjFmZWVmMTRhOGRiMmEwODM3NzUzODM1MTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRv
Y3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFz
aC1zdmctZG9jdW1lbnQuaHRtbApAQCAtMSw4ICsxLDggQEAKIDxib2R5PgogPHNjcmlwdD4KIAot
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0
cnVlKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFu
Y2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctYWR2YW5jZWQuaHRtbAppbmRleCAwNzRjOTM4ZmI5YTAzYmYxMzIxMWQyYTk4MmMx
YTAwNmU5NmIyOTMxLi5iODgzMmFkYWIyZDIzZjE0ZWI2ZmQyMDRmN2UyYmU4ZTAxMWY3OWZjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctYWR2YW5jZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbApAQCAtMyw4ICszLDggQEAK
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAg
ICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5
Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwK
aW5kZXggZTIyMDk0Mzg5OWFmMDg3NWNmNGM5NjFhMDFmZDZhMDY2MzEwMGRjNi4uOTM0NjJmZjI4
ZjczMjFjYzI2MjkzMjQ3NTNiNzM3YzMxZTUzYjIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
Z3JpZC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
Ly8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNl
dEhlaWdodDsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXgg
MzVkYWI3OTFjOGRjYzJiYWJhOTgyYWFkYjFhNzcxNDJlNjk0OWM1ZC4uNTlkNTdkNDc2MjJlMjZi
YzE5NzBjZThmNzVmZTcyZmM3YzczYzY0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1w
bGUuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5l
ci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KIAog
ICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1z
dWJmcmFtZS1yZXNpemUuaHRtbAppbmRleCAzMjlkYTdiMTI3NmQxMGM3MTJiMmJmZTlkMzYwYjhl
ZTQ4YTYwYWM3Li5hYzMzZTAxODI2ZmFiMWFiZTI2MjNiYWM2ZWU3ZmQ0MjM1ZGU4NjM3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0
ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCkBAIC0x
LDkgKzEsOSBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0
aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1s
CmluZGV4IDgyNzNiYTdkMTRhZDg3ZWE0MTgyNDZiZTViZTkzZmExZjZhN2ViODMuLmQ2Njk2NTM5
NjEwNmYxOTUzMGQzZGFlODllZjNlOGJlOTJlZDFlNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAg
ewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3lu
Y2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7
CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbAppbmRleCAwMmIwYjk5Mjhh
Y2I2OTczYWE3OGU0NTA0MDhkNGI2YmQ0ZGIzODk0Li5mYzExNGRhYTY0MTkxYTA1MDhiNTFiZGVi
YWFkODhmOWQ4OGEzMGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCkBAIC0xLDEw
ICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KQEAgLTIwLDcgKzIw
LDcgQEAKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8Ym9k
eSBvbnJlc2l6ZT0ndGVzdDIoKTsnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVp
Z2h0Lmh0bWwKaW5kZXggY2I2MmZkOTk3NzdkZmQyMDEwYmU4M2ZkMTFjNTIzMDFjY2QwMzllNi4u
ZmIxYTQ1ZWY1YzE5NjczMTYyNjcwZmE0Y2JjNWZmZWUzNWI0NmRiOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1o
ZWlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNl
IHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVp
Z2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xs
aW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNj
cm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAppbmRleCAzZDE2ZDBhOTc3MTgyZTQ5
ZmY0NGYzYWE5ZjA5M2E3NTlkNjM4ZWVkLi4xMGJmY2VmMTg4MGMxMjgzZDhiNzY5MmQyMTQ1MWVh
MmFhYzIxNDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdp
dGgtanMtZm9yY2VkLWxheW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3Jv
bGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKQEAgLTQsOSArNCw5IEBACiAKICAgICAg
ICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgt
YW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbAppbmRleCA5OWI5NWM4M2Y0NmI5YjBhMWJkZmY0
YjM5MWZiZmZkNTQ0MTE3NGZiLi5jZTYxYmIzYWViZDZkNzBjMmZjNDY4YTc1NTNmNDRmOTAwOWM2
MThjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1m
aXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCkBAIC0zLDggKzMsOCBAQAog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVz
dCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAg
IC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHku
b2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQt
emVyby1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwKaW5kZXgg
YWFmMjY1Zjc2NDQ3NTQxYWVjODNhYjFhMjZkZDljNmIyOWQ5NTI3Ni4uMzNiYzFiODUwMzllNTZm
MTg2ZTljYjBkNWZmNDMzOTk1OTVmZmY1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0
LXplcm8tc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbApA
QCAtNCw5ICs0LDkgQEAKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0
aC1hbmQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAppbmRleCAxM2U5Yzg2
NjUyNTFmOGE5MzUwMTMxNWQwYzBiNzM1N2MyOThkODNkLi4wODgzYzAwY2Q4YzY0MjYxMzYwNGJk
NTZjZjAzNGI4YWE1ZDFmZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhl
YWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwor
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4
ZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbAppbmRleCBiZWNjZjkxYjEzMmMxNjdlZGFlZTU4
NThlODk5MzU3MWNmYTAwN2YzLi4zZWVmMDUzYjg4OTIxMWNkOTdlOWQ2MjU0N2UyNmMxZWNhYWRi
N2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCkBAIC0zLDgg
KzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAg
ICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0
ZWQuaHRtbAppbmRleCAxNGE4MThhNzM2ZTE0ODU3MThlNTZiN2Y5ZGZlMDRlNjhjZWU0NThhLi5l
M2MxMmFkYzdkODRhODAwMDg1NGNlM2RlMDNlMDM4YWQzNjVhNjQ4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctbmVzdGVkLmh0bWwKQEAgLTksOCArOSw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMg
bGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAg
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCmluZGV4IGU4MTEwOTRkNDEy
MzE2OTcyZmUxOTY5N2RjZWFlZWNiNDcwZGRhZjYuLmQwYzhhZmIyNDRkNjU5ZWVjOGZlOTE3Y2Mx
M2RlN2IzZDBjZWQ2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbApA
QCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAg
ICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Yt
dmlldy1hbmQtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbAppbmRleCAwOTJm
ZDMwYzJjNTc2MTY5ZGQ4YTcyY2NkMDY2NDRlZjI4NWY0Yjk4Li5lZjYzOGI5ZjA1ODg4OTAwZjU1
MjliNmM3N2M0YTdlOGM0ZjQ4ZTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgog
PGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdp
bmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
b3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5k
LXJlbGF5b3V0Lmh0bWwKaW5kZXggOTAwYWI4MWQzMWFlYjQxMjkyMDY0MGM4ZmQ5ZjYxYWFmODIx
OTRiMS4uMjhhZWU2NzM0ZTNkMGFiOWNhZmU1MmVjMWFiZDIyOGUwNTAyNTJlMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1v
dXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwt
YW5kLXJlbGF5b3V0Lmh0bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxz
KSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAg
ICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5n
LW91dC1vZi12aWV3Lmh0bWwKaW5kZXggYzQ2NmE3MjI5NGQ3YTUxYmI0MzkyNzUzZmE1M2NlOWZl
Y2M3ZjcxZi4uNGU4MDc0NmI0NDg5ZWZjYjY0YzBlZjIzMmU5ZjBmYmFhZjIwZGUzYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1vdXQtb2Ytdmlldy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbApAQCAtMyw4ICszLDggQEAKICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3Qo
KQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAg
ICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAv
LyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9m
ZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0
aW9uLWNyYXNoLmh0bWwKaW5kZXggMDc1MTgxZjYzNjZlY2M2MTlkNGMyOGNjNjVjZTIyODY5NjE1
ZGQ1OC4uYzg4YTExMmVhMWEzNGEyNTFlOTc4ZTEwZGI2MTYwOTU2ZDdlYTI3YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1z
ZWxlY3Rpb24tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCkBAIC0yLDkgKzIsOSBA
QAogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBm
dW5jdGlvbiB0ZXN0KCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Cisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewog
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAg
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggZDg3M2Y1OWZlMjVkMDAyMzhk
MTY1MDQ4NzAyZTJhZTVjNzMxMTRmNC4uMjcxYjg3NzMwYjFiMjU0Mjk4NzBiOTRmZThmODE4NmMw
NzY1ODJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
ICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwKaW5kZXggZGU4M2VjN2Y3MjQ5ODY5OTM0
MTdmMzEyN2M3MmYyMTU4N2M5MGQzOS4uZWIwMTFlYmE2MzkyMDE5OTA3MzQ1ZTNiYzZhMDAxOGEw
YjI1M2U3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtdGlueS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLXRpbnkuaHRtbApAQCAtNSw4ICs1LDggQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigi
VGVzdCB0aGF0IGZyYW1lIGZsYXR0ZW5pbmcgaXMgbm90IHVzZWQgZm9yIHRpbnkgZnJhbWVzLiBU
aGlzIHRlc3QgcmVxdWlyZXMgRFJUIG9yIHVzZXIgYWdlbnQgd2l0aCBmbGF0dGVuaW5nIGVuYWJs
ZWQuIik7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rp
b24gY2hlY2tSZXN1bHQoZnJhbWVOYW1lLCBleHBlY3RlZFdpZHRoLCBleHBlY3RlZEhlaWdodCkK
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYt
aWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwt
bmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IDgzMzM1
ZGFjM2EyYjY4MjUwZDc5ZDM0ZmFmYWVkZDFkZmI2ZmEwOWYuLjlkMTFiMmNiNmRlMDdiODk5NDcy
M2MzY2JmYmE0NzQ1ZmE3NTBmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlh
bC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1z
aW1wbGUuaHRtbApAQCAtMzcsOCArMzcsOCBAQAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCiAg
ICAgewotICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNl
dEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICBpZiAod2luZG93LmludGVybmFs
cykKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAKICAgICAgIC8vIHN0YXJ0aW5nIHRoZSB0ZXN0IGl0c2VsZjogZ2V0IHRvIGEga25v
d24gcGxhY2UuCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKS5mb2N1cygp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93LWlm
cmFtZS1mbGF0dGVuZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL25h
cnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0bWwKaW5kZXggM2YxY2VjNDE2M2U2N2MyMTg2YjI4MmJh
ZmRjZTZlNmZmMzhjMzcxNC4uMzJhMGYzMWI1MTdhNGRmYzYxZDdlZTA0NjE3ZjZmMGNhNDFhYzk1
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93LWlm
cmFtZS1mbGF0dGVuZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sCkBAIC0xNCw4ICsxNCw4IEBAIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CiB9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2Fy
bikgewogICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0
b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwg
b3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2Jp
bGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25l
KSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7CiB9
Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiA8L3NjcmlwdD4KIAogPC9o
ZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0
dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13
aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwKaW5kZXggOGEyMTlkNTQ4NzNiMmYwYjRiYjViZTRl
ZDVlOWM2MjdjMzFjZjk4My4uYmE5ZGRjZWRhMWQ1ZGNiM2Y0ODQ3MGJmZTFjY2U4Mjk4NDU3ZmUw
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVu
aW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5lc3Rpbmct
d2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4KIDxo
ZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0K
ICAgICA8L3NjcmlwdD4KICAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyB9PC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGVmMzQxMjBiNTZiNTM4ODBjMTUyZTZmZDBlYjI1ZTdmMjFjMDQ5MDQuLmQz
Yzc3ZmViNjQwN2NjMWUzMmQ1NDI0ZjJhNzk4N2Y4MzcxMjFiZTYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtODE0LDcgKzgxNCw3IEBA
IGZhc3QvZG9tL0VsZW1lbnQvaWQtaW4tZGVsZXRlYnV0dG9uLmh0bWwgWyBXb250Rml4IF0KIGZh
c3QvZmFzdC1tb2JpbGUtc2Nyb2xsaW5nL2ZpeGVkLXBvc2l0aW9uLWVsZW1lbnQuaHRtbCBbIFdv
bnRGaXggXQogZmFzdC9mYXN0LW1vYmlsZS1zY3JvbGxpbmcvbm8tZml4ZWQtcG9zaXRpb24tZWxl
bWVudHMuaHRtbCBbIFdvbnRGaXggXQogCi0jIFRlc3RzIGZvciBmcmFtZXNldCBmbGF0dGVuaW5n
LiBSZWxldmFudCBvbmx5IG9uIG1vYmlsZSBicm93c2Vycy4KKyMgVGVzdHMgZm9yIGZyYW1lc2V0
IGZsYXR0ZW5pbmcgd2hpY2ggaXMgbm90IHVzZWQgYnkgQ2hyb21pdW0uCiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nIFsgV29udEZpeCBdCiBmYXN0L3RleHQtYXV0b3NpemluZy9uYXJyb3ctaWZyYW1l
LWZsYXR0ZW5lZC5odG1sIFsgV29udEZpeCBdCiBodHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0
ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sIFsgV29udEZp
eCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGVjYTExNzQ2ZTgwZmM5OWNhNzRkMDM0NjcwZDVkMDJhYzdjYTkzZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL3NldC1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rlc3Qg
Zm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lkZSB0
aGUgRFJULgorCitUaGlzIGlubmVyIGZyYW1lIHNob3VsZCBiZSA0MDBweCBpbiBlYWNoIGRpcmVj
dGlvbiwgZGlzcmVnYXJkaW5nIHRoZSBib3JkZXIsIGFuZCBpdCBtdXN0IG5vdCBiZSBzY3JvbGxh
YmxlIG9yIGhhdmUgc2Nyb2xsYmFycy4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZlcmVu
Y2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMTY2YzE2Zjc1M2Y4NDQxOWY0N2Q3MWE1YTZmZmQxNTQ5NWQ2
MGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZlcmVuY2UuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRt
bD4KKzxoZWFkPgorPHN0eWxlPgoraWZyYW1lIHsKKyAgICB3aWR0aDogMjAlOworICAgIGhlaWdo
dDogMjAlOworICAgIGJvcmRlcjogMDsKK30gIAorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi8uLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIs
ICJ0cnVlIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgZG9jdW1lbnQu
Ym9keS5vZmZzZXRMZWZ0OworICAgIGNoZWNrTGF5b3V0KCcjdGVzdCcpOworfTsKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyB9PC9zdHlsZT4KKzxwPlRlc3QgZm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmlu
ZyBvbmx5IHdvcmtzIGluc2lkZSB0aGUgRFJULjwvcD4KKzxwPlRoaXMgaW5uZXIgZnJhbWUgc2hv
dWxkIGJlIDQwMHB4IGluIGVhY2ggZGlyZWN0aW9uIGFuZCBpdCBtdXN0IG5vdCBiZSBzY3JvbGxh
YmxlIG9yIGhhdmUgc2Nyb2xsYmFycy48L3A+CisKKzxwIGlkPSJ0ZXN0Ij48aWZyYW1lIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9NDAwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTQwMCBzcmM9ImRhdGE6dGV4
dC9odG1sLAorICAgIDxzdHlsZT5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyBtYXJnaW46
IDA7IH08L3N0eWxlPgorICAgIDxib2R5PgorICAgICAgICA8ZGl2IHN0eWxlPSd3aWR0aDogNDAw
cHg7IGhlaWdodDogNDAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyc+PC9kaXY+CisgICAg
PC9ib2R5PgorIj48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwKaW5kZXggMzc1YjQ3ZjgzNmVl
MjQ0ZTJlYWViZTAzOTEyYzI2OGIxNGM5YjRmMS4uMWYzOGU3YTY1MmY3YTYzYzM5ZmI1Y2UzZWQ0
ZTM0YWNhNGRkYTg2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13
aXRoLXBsdWdpbi1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQt
d2l0aC1wbHVnaW4tZnJhbWUuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KLSAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNl
KCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0UnVu
bmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zUHJl
ZmVyZW5jZUtleSIsIDEpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184324</attachid>
            <date>2013-01-23 15:07:50 -0800</date>
            <delta_ts>2013-01-24 12:15:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20130123150443.patch</filename>
            <type>text/plain</type>
            <size>47109</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzIzNDNlODAwZGEyN2Vk
Njc1Mzc3YmNkNWI1NTFmN2E2NzM4YjQ2ZC4uNzM1MzI2MjFhYWViNDY3YzZkYzM1NDFiNmM3ZDVj
MGNlNzc0OWZiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTIzICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFs
cy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RS
dW5uZXIpOiBBZGQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCB0byB0aGUgbGlzdCBvZiBvdmVy
cmlkYWJsZSB2YWx1ZXMuCisKIDIwMTMtMDEtMjMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBw
bGUuY29tPgogCiAgICAgICAgIFJlY3Vyc2lvbiBoYW5kbGluZyBjYW5jZWxsZWQgYXV0aGVudGlj
YXRpb24gY2hhbGxlbmdlcyBpbiBOZXR3b3JrUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApp
bmRleCA4OTU2MGI3ZTNlZmE3MGI3OTg5OWYyOTA2ODUwMTk1ODY3YjkzYTRiLi4xZTc5OGQ2MzVj
MTU5YTYzOWI1NWJmNGY5MWExYTFkYjg4YmIxZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApA
QCAtMjA0LDYgKzIwNCw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZl
cmVuY2VGb3JUZXN0UnVubmVyKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlCiAgICAgbWFjcm8oV2Vi
S2l0Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZywgQ2FudmFzVXNlc0FjY2VsZXJhdGVkRHJh
d2luZywgY2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZykgXAogICAgIG1hY3JvKFdlYktpdENT
U0N1c3RvbUZpbHRlckVuYWJsZWQsIENTU0N1c3RvbUZpbHRlckVuYWJsZWQsIGNzc0N1c3RvbUZp
bHRlckVuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZCwgQ1NT
R3JpZExheW91dEVuYWJsZWQsIGNzc0dyaWRMYXlvdXRFbmFibGVkKSBcCisgICAgbWFjcm8oV2Vi
S2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgRnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgZnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCkgXAogICAgIG1hY3JvKFdlYktpdEphdmFFbmFibGVkLCBKYXZhRW5h
YmxlZCwgamF2YUVuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRKYXZhU2NyaXB0RW5hYmxlZCwg
U2NyaXB0RW5hYmxlZCwgamF2YVNjcmlwdEVuYWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRMb2Fk
U2l0ZUljb25zS2V5LCBMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZywg
bG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UpIFwKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMTg1M2M2ODAxMjE0
Y2IxZWFmMGQ4MTBiNDRmNGI2Y2ZiMzc3MzNlLi40OTIzMTI1MGU3MjdkYTc4MDM3NDY0OWQ3MTQz
NmY5MzZjYjdlYTQ0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTMtMDEtMjMgIFRvbnkgQ2hhbmcgIDx0b255QGNo
cm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJv
bSBsYXlvdXRUZXN0Q29udHJvbGxlciB0byB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzE0OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0ZXN0UnVu
bmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQgZnJvbSBEUlQgYW5kIFdUUi4gV2ViS2l0IEFQ
SQorICAgICAgICBtZXRob2RzIGFyZSBsZWZ0IGJlY2F1c2UgdGhlcmUgbWF5IGJlIHVzZXJzIG9m
IGl0LiBBZGQgYSB0ZXN0IGZvciBBcHBsZSBNYWMKKyAgICAgICAgdG8gZW5zdXJlIHRoYXQgdGhl
IEFQSSBmb3IgdGhlIHByZWZlcmVuY2Ugc3RpbGwgd29ya3MgdXNpbmcgb3ZlcnJpZGVQcmVmZXJl
bmNlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAg
IChUZXN0UnVubmVyOjpzdGF0aWNGdW5jdGlvbnMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKFRlc3RSdW5uZXIpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2JsYWNrYmVycnkvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRl
c3RpbmcpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJs
YWNrQmVycnkuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZs
LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgor
ICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNp
c3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViUGFnZTo6cmVzZXRTZXR0aW5ncyk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9xdC9UZXN0UnVubmVyUXQuaDoKKyAgICAgICAgKFRlc3RSdW5uZXIpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldERlZmF1
bHRzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vVGVz
dFJ1bm5lcldpbi5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4
LmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdz
L1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKwogMjAxMy0wMS0yMyAg
TWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVt
XSBVcGRhdGUgc29tZSAjaW5jbHVkZXMgaW4gRHVtcFJlbmRlclRyZWUgZm9yIGhlYWRlcnMgaW4g
dGhlIG5ldyBQbGF0Zm9ybSBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAK
aW5kZXggZWM2NGMwZmM4OTY1MmZkYmI4NTM3NmY1NDZlYjc4ZTYwMTJkMjY4OS4uMDMwYWExNmEz
ZThhMTdkYmQ1MWI0MjZiNjRiY2M3M2ZiZDlmZmE4NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1
bm5lci5jcHAKQEAgLTEyOTksMTggKzEyOTksNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRQcmlu
dGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbgog
fQogCiAKLXN0YXRpYyBKU1ZhbHVlUmVmIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVm
IHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3Vt
ZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAmIHdpbmRv
d3MgaW1wbGVtZW50YXRpb24KLSAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCi0gICAgICAgIHJl
dHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKLQotICAgIFRlc3RSdW5uZXIqIGNv
bnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRo
aXNPYmplY3QpKTsKLSAgICBjb250cm9sbGVyLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEpT
VmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7Ci0KLSAgICByZXR1cm4gSlNW
YWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVlUmVmIHNldEFs
bG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3Qg
YXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVudGF0aW9uCkBA
IC0yMjc2LDcgKzIyNjQsNiBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBUZXN0UnVubmVyOjpzdGF0aWNG
dW5jdGlvbnMoKQogICAgICAgICB7ICJzZXREZWZlcnNMb2FkaW5nIiwgc2V0RGVmZXJzTG9hZGlu
Z0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFVzZURlZmVycmVkRnJhbWVMb2FkaW5n
Iiwgc2V0VXNlRGVmZXJyZWRGcmFtZUxvYWRpbmdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7
ICJzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIiwgc2V0RG9tYWluUmVs
YXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAgIHsg
InNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uIiwgc2V0
R2VvbG9jYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9u
bHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0SGFu
ZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyIsIHNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZXNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRJY29uRGF0YWJhc2VFbmFi
bGVkIiwgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0UnVubmVyLmgKaW5kZXggNjc5NWNhZTlmMWM4OTliMWFjZmI2MTEzYThkOTJkNjg1Yzdj
YTFkYi4uMmQyNzE1NmNiODA5ZGEyMmM0MjVmMzkyMTRiMjA5OWEyNWM0MWJlNCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3RSdW5uZXIuaApAQCAtMTE2LDcgKzExNiw2IEBAIHB1YmxpYzoKICAgICB2b2lk
IHNldFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNT
dHJpbmdSZWYgdmFsdWUpOwogICAgIHZvaWQgc2V0Vmlld01vZGVNZWRpYUZlYXR1cmUoSlNTdHJp
bmdSZWYpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsKLSAgICB2
b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTY3JvbGxiYXJQb2xpY3koSlNT
dHJpbmdSZWYgb3JpZW50YXRpb24sIEpTU3RyaW5nUmVmIHBvbGljeSk7CiAgICAgdm9pZCBzdGFy
dFNwZWVjaElucHV0KEpTQ29udGV4dFJlZiBpbnB1dEVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBlNGJmZTM4
NzlkNmVjYTIwMmY1ZTk1YzFhNDE0ZDZkYjJiMTNkZWI5Li43MTY1MmRjZDEyMzhhMTM2NDM3MmIw
OTgzNTgwYmMwMmQyODM4MTA1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFj
a2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFj
a2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMzE5LDcgKzMxOSw2IEBAIHZvaWQgRHVtcFJl
bmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKGNvbnN0IFN0cmlu
ZyYgdXJsLCBjb25zCiAgICAgc2V0dGluZ3MtPnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoIkFyaWFs
Iik7CiAgICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseSgiVGltZXMiKTsKICAgICBz
ZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOwotICAgIHNldHRpbmdzLT5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBzZXR0aW5ncy0+c2V0TWF4aW11bVBh
Z2VzSW5DYWNoZSgwKTsKICAgICBzZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQodHJ1ZSk7CiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJs
YWNrQmVycnkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVy
QmxhY2tCZXJyeS5jcHAKaW5kZXggMmIxY2VmNjI4NWJjN2ViZWUyNzJiYzNkMTUwN2I2MGZkZGY0
NzZhNS4uNWMxMzk0YTQ4MWM3OTYyOGVlMWFiNDFmMjNhM2JlNzI2MmJmZTlkNSAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tC
ZXJyeS5jcHAKQEAgLTUyMywxMSArNTIzLDYgQEAgYm9vbCBUZXN0UnVubmVyOjpjYWxsU2hvdWxk
Q2xvc2VPbldlYlZpZXcoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBUZXN0UnVubmVy
OjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlKQotewotICAgIEJsYWNrQmVy
cnk6OldlYktpdDo6RHVtcFJlbmRlclRyZWU6OmN1cnJlbnRJbnN0YW5jZSgpLT5wYWdlKCktPnNl
dHRpbmdzKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlKTsKLX0KLQogdm9pZCBU
ZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUpCiB7CiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9UZXN0UnVubmVyRWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVy
RWZsLmNwcAppbmRleCAxN2ZhZjQ4YjU3MDQxYzE2MTY5MWJiZDkzMzE3MTljOTAzNGQzMzYwLi43
MzBjNTYyYmUyOGFiMjBkMzk2MmFlNjE2MmZkMGFhODM1ZDE1Y2RhIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwCkBAIC0zMjMsMTEgKzMyMyw2IEBAIHZvaWQg
VGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGV3a192aWV3
X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFn
KTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wg
ZmxhZykKLXsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3Nl
dChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRT
cGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKQogewogICAgIGV3a192aWV3X3NldHRp
bmdfc3BhdGlhbF9uYXZpZ2F0aW9uX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGZhZGMzZWM3
NjAxMGFmOTZhMGFkMzRmYTA2M2U4YWY5MDllZWY5MDUuLjExYjgwOTIzOTRjZDkxNGI5Mjc1ZmQ0
MzczZjUzMjI1NWJhZTZiYjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9E
dW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5k
ZXJUcmVlLmNwcApAQCAtNDQ1LDcgKzQ0NSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNU
b0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgICAgICAgICAgICAgICAiaHRtbDUtbG9jYWwtc3RvcmFn
ZS1kYXRhYmFzZS1wYXRoIiwgbG9jYWxTdG9yYWdlUGF0aC5nZXQoKSwKICAgICAgICAgICAgICAg
ICAgImVuYWJsZS14c3MtYXVkaXRvciIsIEZBTFNFLAogICAgICAgICAgICAgICAgICAiZW5hYmxl
LXNwYXRpYWwtbmF2aWdhdGlvbiIsIEZBTFNFLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWZy
YW1lLWZsYXR0ZW5pbmciLCBGQUxTRSwKICAgICAgICAgICAgICAgICAgImphdmFzY3JpcHQtY2Fu
LWFjY2Vzcy1jbGlwYm9hcmQiLCBUUlVFLAogICAgICAgICAgICAgICAgICAiamF2YXNjcmlwdC1j
YW4tb3Blbi13aW5kb3dzLWF1dG9tYXRpY2FsbHkiLCBUUlVFLAogICAgICAgICAgICAgICAgICAi
ZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxpY2F0aW9uLWNhY2hlIiwgVFJVRSwKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAppbmRleCBlNTRiZmVmM2I1NTZlZTQwMDVm
ZDQ0YTRmNjE3YjY4NTNkN2FjNTI2Li40NjM4OGQ1OGQ1NGVjOTA4ZTE0ZGY0MDAwYzU2MWM5ZGQ4
MWZmYTdiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvVGVzdFJ1bm5lckd0
ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCkBA
IC0zODcsMTUgKzM4Nyw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQo
Ym9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUt
eHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBXZWJLaXRXZWJWaWV3KiB2aWV3
ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKLSAgICBBU1NFUlQo
dmlldyk7Ci0KLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3NldHRpbmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5n
cyksICJlbmFibGUtZnJhbWUtZmxhdHRlbmluZyIsIGZsYWcsIE5VTEwpOwotfQotCiB2b2lkIFRl
c3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGZsYWcpCiB7CiAgICAg
V2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5G
cmFtZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXgg
ODAzYWQxNTlkMTg1ZjhiNzc3MWU2ZTk1NTNhNmI3NzQ1MGJmZGU4NS4uNDM2MWIzMGE0NTgyZmQ0
OWNmODcwYzAzMDdiOTliMTQzNDc4ZTY5YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZS5tbQpAQCAtNjYyLDcgKzY2Miw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVm
YXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRKYXZhU2NyaXB0
RXhwZXJpbWVudHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldExvYWRzSW1hZ2Vz
QXV0b21hdGljYWxseTpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJY29uc0ln
bm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTpOT107Ci0gICAgW3ByZWZlcmVuY2VzIHNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQ6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQ6Tk9dOwogICAgIGlmIChwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2Nh
dGlvbikgewogICAgICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbjpb
TlNVUkwgVVJMV2l0aFN0cmluZzooTlNTdHJpbmcgKikocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0
TG9jYXRpb24uZ2V0KCkpXV07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
VGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCmluZGV4IDVlYTEwMGIyN2Y3OTA0NDBiNTI3M2M4OGMyOWM4N2RiMmNlZWRlOTIuLjU0NWQz
OGE5OTRiMGYwNzIzZTUwNGY4ZDhhNjI3ZGFhNjE1ZjM5NWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC01NTQsMTEgKzU1NCw2IEBAIHZvaWQgVGVzdFJ1
bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIFtbW21haW5GcmFt
ZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNTQXVkaXRvckVuYWJsZWQ6ZW5hYmxlZF07CiB9
CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJs
ZWQpCi17Ci0gICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkOmVuYWJsZWRdOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRp
YWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgW1tbbWFpbkZyYW1lIHdl
YlZpZXddIHByZWZlcmVuY2VzXSBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ6ZW5hYmxlZF07
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IDI0
MDliNmFiNzhiMTFlZjA2ZmU5NDBlNTE4YTQ1Y2U1MzMxZGY5MzUuLmI5NDRiOTk3MWRjODhjYzMz
NzliMzA1MmM0NGMxYmJhODkwNzVkZTIgMTAwNzU1Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC0xOTIsNyArMTkyLDYgQEAgdm9pZCBXZWJQYWdlOjpyZXNl
dFNldHRpbmdzKCkKIAogICAgIG1fZHJ0LT50ZXN0UnVubmVyKCktPnNldENhcmV0QnJvd3NpbmdF
bmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRBdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmxlZCh0cnVlKTsKLSAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVzdFJ1bm5lcigpLT5zZXRTbWFy
dEluc2VydERlbGV0ZUVuYWJsZWQodHJ1ZSk7CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0
U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZChmYWxzZSk7CiAgICAgbV9kcnQtPnRlc3RS
dW5uZXIoKS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
VGVzdFJ1bm5lclF0LmNwcAppbmRleCA0YWE0MzA0MGNlZTk4ZDg0YzliM2JkNDhiM2Q2ZWFhNzg2
YTkyZWNlLi4wYWViNmVmZDFjOGE5MGYzMTE3NTVjMzU3ZTNmM2ZjY2IzZTdhNzVlIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKQEAgLTQ0NCwxMSArNDQ0LDYgQEAg
dm9pZCBUZXN0UnVubmVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25z
dCBRU3RyaW5nJiBzY3JpcHQpCiAgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OndlYkluc3Bl
Y3RvckV4ZWN1dGVTY3JpcHQobV9kcnQtPnBhZ2VBZGFwdGVyKCksIGNhbGxJZCwgc2NyaXB0KTsK
IH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5h
YmxlZCkKLXsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChtX2RydC0+cGFnZUFkYXB0ZXIoKSwgZW5hYmxlZCk7Ci19Ci0KIHZvaWQgVGVzdFJ1
bm5lcjo6Z29CYWNrKCkKIHsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6Z29CYWNrKG1f
ZHJ0LT5wYWdlQWRhcHRlcigpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L1Rlc3RSdW5uZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgK
aW5kZXggMjcxOTQxODhlYWY4MTg1YTk0MTVhN2VkNTYyZDY0NGY2NGYwY2Y1My4uYjFiM2ExZDFh
MjNlMmM1NjA0ODViZTU5MDE1NDAyZTRkZjYxYTE2ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
VGVzdFJ1bm5lclF0LmgKQEAgLTE1OSw3ICsxNTksNiBAQCBwdWJsaWMgUV9TTE9UUzoKICAgICB2
b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CiAgICAgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9y
KGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwogICAgIHZvaWQgcmVtb3ZlQWxs
VmlzaXRlZExpbmtzKCk7Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wp
OwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFi
bGUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxl
KTsKICAgICB2b2lkIHNldEFwcENhY2hlTWF4aW11bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHF1
b3RhKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJl
ZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4
IGU5ZTg0Yjg0OGFlNzE3ZjQxYWM5NmM0NzI5ZGQyOTE2MWE0Y2IyZWEuLjVkMTlhNGJlMjZjZGMz
Yzc5ZjJlMWIyODAyOGJlY2MyMjNmZWM0ZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2lu
L0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODY1LDcgKzg2NSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0
RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykK
ICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzKEZBTFNF
KTsgLy8gRklYTUUgLSBuZWVkIHRvIG1ha2UgRFJUIHBhc3Mgd2l0aCBXaW5kb3dzIG5hdGl2ZSBj
b250cm9scyA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1OTI+CiAg
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChUUlVF
KTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7Ci0g
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAg
ICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVk
KFRSVUUpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJ
bWFnZUxvYWRpbmdQcmVmZXJlbmNlKEZBTFNFKTsKICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAKaW5kZXggNzUxNmVkYjJmNzRlNWQ5NWFmY2NmMDMyNDQz
NTQ2Yjc3Y2M2NDYxOS4uOWQ1MDZhZWQwNWMyNjZlNWMxM2IyYWNmZDVkMjgyOTZjZjJmZTk3MCAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVyV2luLmNwcApAQCAtNDc2LDIz
ICs0NzYsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5h
YmxlZCkKICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JFbmFibGVkKGVuYWJsZWQpOwog
fQogCi12b2lkIFRlc3RSdW5uZXI6OnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFi
bGVkKQotewotICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsKLSAgICBpZiAoRkFJTEVEKGZy
YW1lLT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJ
V2ViUHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChGQUlMRUQod2ViVmlldy0+cHJl
ZmVyZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJ
V2ViUHJlZmVyZW5jZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsK
LSAgICBpZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgcHJlZnNQcml2
YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RS
dW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAg
Ly8gRklYTUU6IEltcGxlbWVudCBmb3IgU3BhdGlhbE5hdmlnYXRpb24gbGF5b3V0IHRlc3RzLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJXeC5jcHAKaW5kZXggZjg0NjUyYjQxODg3
N2NmMjJhOWVmNjNmZDU4M2IxNzIwYzJlNzIxMi4uMThlODYxNzU5MzgzNTQyNjY3ZTU1NTY3Y2Q2
MGVlYjI1ZDdiNGQ3NSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1
bm5lcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3Bw
CkBAIC0xODQsMTEgKzE4NCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJs
ZWQoYm9vbCBlbmFibGVkKQogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKIH0KIAotdm9pZCBUZXN0
UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICAv
LyBGSVhNRTogaW1wbGVtZW50Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QWxsb3dVbml2ZXJz
YWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogewogICAgIC8vIEZJWE1FOiBpbXBs
ZW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IGYyNzEzYzc4MmNjOTJmNDFlY2Fm
N2NhMWZmYmY3NTE1OWVkNTczMzguLjgyZDI0NDVlZjFlNmI5ZDQzZmZhYmFhZjNlZWI4NzU1OWQ0
ZDUzYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAtNTYsNyArNTYsNiBAQCBpbnRl
cmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChpbiBib29s
ZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
KGluIGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVV
UkxzKGluIGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVkKGluIGJvb2xl
YW4gdmFsdWUpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChpbiBi
b29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoaW4gYm9v
bGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBiMjhkNjU3OTU0Njg5YmM5MjA2NjNkNzkxYTJkMzY1
ZTVkNzFhZTk1Li42ODhiY2RkMmY4MGY3NjQwZDNlNDI1MmNkNDRlM2I5MmRmYTRlYzgyIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5jcHAKQEAgLTM4NSwxMSArMzg1LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRBbGxvd0ZpbGVB
Y2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogICAgIFdLQnVuZGxlU2V0QWxsb3dGaWxl
QWNjZXNzRnJvbUZpbGVVUkxzKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBU
ZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAg
ICBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoSW5qZWN0ZWRCdW5kbGU6OnNoYXJl
ZCgpLmJ1bmRsZSgpLCBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucGFnZUdyb3VwKCksIGVuYWJs
ZWQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFBsdWdpbnNFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKIHsKICAgICBXS0J1bmRsZVNldFBsdWdpbnNFbmFibGVkKEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFi
bGVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgKaW5kZXggNTlhZDEyZWUxNGJkNzFkYmIwZWMxZjAwNjFhNDkxZDY0MGE2NWZjNi4u
YzJjZmEyMDZkMGMxNWUyMzQzMmU5OTRmMmZlYzExYzFhZjRhYjEyOSAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTEwMCw3
ICsxMDAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRYU1NBdWRpdG9yRW5hYmxlZChib29sKTsK
ICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwogICAg
IHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwotICAgIHZvaWQgc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVk
KGJvb2wpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZChib29sKTsK
ICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjhlYzlk
NWYxMDNmM2M5OWQ3NmQ4MjhkYzc3NDhjZmZiZDBiODYzMC4uZTkwYzg4NmYxNGQxM2ZiZWNmZmE1
NDliZGRjMDE2ZjAzNzA3MzIxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDcxIEBACiAyMDEzLTAxLTIzICBU
b255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVy
bmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBVcGRhdGUgdGVzdHMgdG8gdXNlIGludGVybmFsLnNldHRpbmdzLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQsIHdoaWNoIGlzIGF1dG9tYXRpY2FsbHkKKyAgICAgICAgZ2VuZXJhdGVkIGZy
b20gU2V0dGluZ3MuaW4uCisKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNo
LXN2Zy1kb2N1bWVudC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1hZHZhbmNlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWw6CisgICAgICAgICogZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAg
ICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1y
ZXNpemUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWw6CisgICAgICAg
ICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1h
bmQtaGVpZ2h0LW5vLXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRo
LWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6
ZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sOgorICAg
ICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVu
Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1vdXQtb2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0
Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1vdXQtb2Ytdmlldy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWw6CisgICAgICAgICogZmFzdC9z
cGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVz
dGluZy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9uczogQ2hyb21pdW0gZG9lc24ndCB1c2UgZnJhbWUgZmxhdHRl
bmluZyBvbiBtb2JpbGUgZWl0aGVyLgorICAgICAgICAqIHBsdWdpbnMvZnJhbWVzZXQtd2l0aC1w
bHVnaW4tZnJhbWUuaHRtbDoKKworICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jh
c2gtc3ZnLWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9m
cmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1l
LXJlc2l6ZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQt
ZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRo
LWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sOgorICAg
ICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1z
aXplLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctbmVzdGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3Jl
ZW4uaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LXNjcm9sbC1hbmQtcmVsYXlv
dXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW91dC1vZi12aWV3Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9p
ZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAq
IGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLXRpbnkuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3NwYXRpYWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL25hcnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0
bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNsZXZlbC1u
ZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL3NldC1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZlcmVuY2Uu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFt
ZS5odG1sOgorCisyMDEzLTAxLTIzICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisK
ICAgICAgICAgSW5jb3JyZWN0IHNjcm9sbGFibGUgaGVpZ2h0IGR1cmluZyBzaW1wbGlmaWVkIGxh
eW91dAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA3
MTkzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jh
c2gtc3ZnLWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sCmluZGV4IGUzNWUzMjA5NzZjZDhhYzEyZWY1NzA5YTRm
ODVkYjFiYzdmNDdiYjYuLjg0MDBlNDNkYWVmNmFhMjFmZWVmMTRhOGRiMmEwODM3NzUzODM1MTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3Zn
LWRvY3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9j
cmFzaC1zdmctZG9jdW1lbnQuaHRtbApAQCAtMSw4ICsxLDggQEAKIDxib2R5PgogPHNjcmlwdD4K
IAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFk
dmFuY2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbAppbmRleCAwNzRjOTM4ZmI5YTAzYmYxMzIxMWQyYTk4
MmMxYTAwNmU5NmIyOTMxLi5iODgzMmFkYWIyZDIzZjE0ZWI2ZmQyMDRmN2UyYmU4ZTAxMWY3OWZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbApAQCAtMyw4ICszLDgg
QEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAg
ICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5i
b2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0
bWwKaW5kZXggZTIyMDk0Mzg5OWFmMDg3NWNmNGM5NjFhMDFmZDZhMDY2MzEwMGRjNi4uOTM0NjJm
ZjI4ZjczMjFjYzI2MjkzMjQ3NTNiNzM3YzMxZTUzYjIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctZ3JpZC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICBkb2N1bWVudC5ib2R5Lm9m
ZnNldEhlaWdodDsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5k
ZXggMzVkYWI3OTFjOGRjYzJiYWJhOTgyYWFkYjFhNzcxNDJlNjk0OWM1ZC4uNTlkNTdkNDc2MjJl
MjZiYzE5NzBjZThmNzVmZTcyZmM3YzczYzY0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1z
aW1wbGUuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0K
IAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmlu
Zy1zdWJmcmFtZS1yZXNpemUuaHRtbAppbmRleCAzMjlkYTdiMTI3NmQxMGM3MTJiMmJmZTlkMzYw
YjhlZTQ4YTYwYWM3Li5hYzMzZTAxODI2ZmFiMWFiZTI2MjNiYWM2ZWU3ZmQ0MjM1ZGU4NjM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCkBA
IC0xLDkgKzEsOSBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1
bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5o
dG1sCmluZGV4IDgyNzNiYTdkMTRhZDg3ZWE0MTgyNDZiZTViZTkzZmExZjZhN2ViODMuLmQ2Njk2
NTM5NjEwNmYxOTUzMGQzZGFlODllZjNlOGJlOTJlZDFlNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNl
dHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAg
ICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ug
c3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWln
aHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbAppbmRleCAwMmIwYjk5
MjhhY2I2OTczYWE3OGU0NTA0MDhkNGI2YmQ0ZGIzODk0Li5mYzExNGRhYTY0MTkxYTA1MDhiNTFi
ZGViYWFkODhmOWQ4OGEzMGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCkBAIC0x
LDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KQEAgLTIwLDcg
KzIwLDcgQEAKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8
Ym9keSBvbnJlc2l6ZT0ndGVzdDIoKTsnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQt
aGVpZ2h0Lmh0bWwKaW5kZXggY2I2MmZkOTk3NzdkZmQyMDEwYmU4M2ZkMTFjNTIzMDFjY2QwMzll
Ni4uZmIxYTQ1ZWY1YzE5NjczMTYyNjcwZmE0Y2JjNWZmZWUzNWI0NmRiOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhl
ZC1oZWlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZv
cmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Ny
b2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5v
LXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAppbmRleCAzZDE2ZDBhOTc3MTgy
ZTQ5ZmY0NGYzYWE5ZjA5M2E3NTlkNjM4ZWVkLi4xMGJmY2VmMTg4MGMxMjgzZDhiNzY5MmQyMTQ1
MWVhMmFhYzIxNDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5n
LXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1z
Y3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKQEAgLTQsOSArNCw5IEBACiAKICAg
ICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbAppbmRleCA5OWI5NWM4M2Y0NmI5YjBhMWJk
ZmY0YjM5MWZiZmZkNTQ0MTE3NGZiLi5jZTYxYmIzYWViZDZkNzBjMmZjNDY4YTc1NTNmNDRmOTAw
OWM2MThjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
ICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWln
aHQtemVyby1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwKaW5k
ZXggYWFmMjY1Zjc2NDQ3NTQxYWVjODNhYjFhMjZkZDljNmIyOWQ5NTI3Ni4uMzNiYzFiODUwMzll
NTZmMTg2ZTljYjBkNWZmNDMzOTk1OTVmZmY1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVp
Z2h0LXplcm8tc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRt
bApAQCAtNCw5ICs0LDkgQEAKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13
aWR0aC1hbmQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAppbmRleCAxM2U5
Yzg2NjUyNTFmOGE5MzUwMTMxNWQwYzBiNzM1N2MyOThkODNkLi4wODgzYzAwY2Q4YzY0MjYxMzYw
NGJkNTZjZjAzNGI4YWE1ZDFmZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgog
PGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdp
bmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
Zml4ZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbAppbmRleCBiZWNjZjkxYjEzMmMxNjdlZGFl
ZTU4NThlODk5MzU3MWNmYTAwN2YzLi4zZWVmMDUzYjg4OTIxMWNkOTdlOWQ2MjU0N2UyNmMxZWNh
YWRiN2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCkBAIC0z
LDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAg
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
ICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1u
ZXN0ZWQuaHRtbAppbmRleCAxNGE4MThhNzM2ZTE0ODU3MThlNTZiN2Y5ZGZlMDRlNjhjZWU0NThh
Li5lM2MxMmFkYzdkODRhODAwMDg1NGNlM2RlMDNlMDM4YWQzNjVhNjQ4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3Rl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctbmVzdGVkLmh0bWwKQEAgLTksOCArOSw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25v
dXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCmluZGV4IGU4MTEwOTRk
NDEyMzE2OTcyZmUxOTY5N2RjZWFlZWNiNDcwZGRhZjYuLmQwYzhhZmIyNDRkNjU5ZWVjOGZlOTE3
Y2MxM2RlN2IzZDBjZWQ2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRt
bApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAg
ICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQt
b2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbAppbmRleCAw
OTJmZDMwYzJjNTc2MTY5ZGQ4YTcyY2NkMDY2NDRlZjI4NWY0Yjk4Li5lZjYzOGI5ZjA1ODg4OTAw
ZjU1MjliNmM3N2M0YTdlOGM0ZjQ4ZTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1s
PgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYm
IHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwt
YW5kLXJlbGF5b3V0Lmh0bWwKaW5kZXggOTAwYWI4MWQzMWFlYjQxMjkyMDY0MGM4ZmQ5ZjYxYWFm
ODIxOTRiMS4uMjhhZWU2NzM0ZTNkMGFiOWNhZmU1MmVjMWFiZDIyOGUwNTAyNTJlMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3Jv
bGwtYW5kLXJlbGF5b3V0Lmh0bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4KIDxoZWFkPgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJu
YWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
ICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW91dC1vZi12aWV3Lmh0bWwKaW5kZXggYzQ2NmE3MjI5NGQ3YTUxYmI0MzkyNzUzZmE1M2Nl
OWZlY2M3ZjcxZi4uNGU4MDc0NmI0NDg5ZWZjYjY0YzBlZjIzMmU5ZjBmYmFhZjIwZGUzYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1vdXQtb2Ytdmlldy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbApAQCAtMyw4ICszLDggQEAK
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAg
ICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5
Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2Vs
ZWN0aW9uLWNyYXNoLmh0bWwKaW5kZXggMDc1MTgxZjYzNjZlY2M2MTlkNGMyOGNjNjVjZTIyODY5
NjE1ZGQ1OC4uYzg4YTExMmVhMWEzNGEyNTFlOTc4ZTEwZGI2MTYwOTU2ZDdlYTI3YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1zZWxlY3Rpb24tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCkBAIC0yLDkgKzIs
OSBAQAogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
ICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVl
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5
b3V0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggZDg3M2Y1OWZlMjVkMDAy
MzhkMTY1MDQ4NzAyZTJhZTVjNzMxMTRmNC4uMjcxYjg3NzMwYjFiMjU0Mjk4NzBiOTRmZThmODE4
NmMwNzY1ODJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCkBAIC0zLDggKzMs
OCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwKaW5kZXggZGU4M2VjN2Y3MjQ5ODY5
OTM0MTdmMzEyN2M3MmYyMTU4N2M5MGQzOS4uZWIwMTFlYmE2MzkyMDE5OTA3MzQ1ZTNiYzZhMDAx
OGEwYjI1M2U3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtdGlueS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLXRpbnkuaHRtbApAQCAtNSw4ICs1LDggQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IGZyYW1lIGZsYXR0ZW5pbmcgaXMgbm90IHVzZWQgZm9yIHRpbnkgZnJhbWVz
LiBUaGlzIHRlc3QgcmVxdWlyZXMgRFJUIG9yIHVzZXIgYWdlbnQgd2l0aCBmbGF0dGVuaW5nIGVu
YWJsZWQuIik7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVu
Y3Rpb24gY2hlY2tSZXN1bHQoZnJhbWVOYW1lLCBleHBlY3RlZFdpZHRoLCBleHBlY3RlZEhlaWdo
dCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IDgz
MzM1ZGFjM2EyYjY4MjUwZDc5ZDM0ZmFmYWVkZDFkZmI2ZmEwOWYuLjlkMTFiMmNiNmRlMDdiODk5
NDcyM2MzY2JmYmE0NzQ1ZmE3NTBmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmlu
Zy1zaW1wbGUuaHRtbApAQCAtMzcsOCArMzcsOCBAQAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgp
CiAgICAgewotICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
LnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICBpZiAod2luZG93LmludGVy
bmFscykKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAKICAgICAgIC8vIHN0YXJ0aW5nIHRoZSB0ZXN0IGl0c2VsZjogZ2V0IHRvIGEg
a25vd24gcGxhY2UuCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKS5mb2N1
cygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93
LWlmcmFtZS1mbGF0dGVuZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L25hcnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0bWwKaW5kZXggM2YxY2VjNDE2M2U2N2MyMTg2YjI4
MmJhZmRjZTZlNmZmMzhjMzcxNC4uMzJhMGYzMWI1MTdhNGRmYzYxZDdlZTA0NjE3ZjZmMGNhNDFh
Yzk1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93
LWlmcmFtZS1mbGF0dGVuZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sCkBAIC0xNCw4ICsxNCw4IEBAIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CiB9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUu
d2FybikgewogICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQg
QXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJl
ZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBt
b2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBo
b25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7
CiB9Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiA8L3NjcmlwdD4KIAog
PC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1m
bGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGlu
Zy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwKaW5kZXggOGEyMTlkNTQ4NzNiMmYwYjRiYjVi
ZTRlZDVlOWM2MjdjMzFjZjk4My4uYmE5ZGRjZWRhMWQ1ZGNiM2Y0ODQ3MGJmZTFjY2U4Mjk4NDU3
ZmUwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0
dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5lc3Rp
bmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4K
IDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAg
IH0KICAgICA8L3NjcmlwdD4KICAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOyB9PC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGVmMzQxMjBiNTZiNTM4ODBjMTUyZTZmZDBlYjI1ZTdmMjFjMDQ5MDQu
LmQzYzc3ZmViNjQwN2NjMWUzMmQ1NDI0ZjJhNzk4N2Y4MzcxMjFiZTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtODE0LDcgKzgxNCw3
IEBAIGZhc3QvZG9tL0VsZW1lbnQvaWQtaW4tZGVsZXRlYnV0dG9uLmh0bWwgWyBXb250Rml4IF0K
IGZhc3QvZmFzdC1tb2JpbGUtc2Nyb2xsaW5nL2ZpeGVkLXBvc2l0aW9uLWVsZW1lbnQuaHRtbCBb
IFdvbnRGaXggXQogZmFzdC9mYXN0LW1vYmlsZS1zY3JvbGxpbmcvbm8tZml4ZWQtcG9zaXRpb24t
ZWxlbWVudHMuaHRtbCBbIFdvbnRGaXggXQogCi0jIFRlc3RzIGZvciBmcmFtZXNldCBmbGF0dGVu
aW5nLiBSZWxldmFudCBvbmx5IG9uIG1vYmlsZSBicm93c2Vycy4KKyMgVGVzdHMgZm9yIGZyYW1l
c2V0IGZsYXR0ZW5pbmcgd2hpY2ggaXMgbm90IHVzZWQgYnkgQ2hyb21pdW0uCiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nIFsgV29udEZpeCBdCiBmYXN0L3RleHQtYXV0b3NpemluZy9uYXJyb3ctaWZy
YW1lLWZsYXR0ZW5lZC5odG1sIFsgV29udEZpeCBdCiBodHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZs
YXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sIFsgV29u
dEZpeCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGVjYTExNzQ2ZTgwZmM5OWNhNzRkMDM0NjcwZDVkMDJhYzdjYTkzZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL3NldC1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Rl
c3QgZm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lk
ZSB0aGUgRFJULgorCitUaGlzIGlubmVyIGZyYW1lIHNob3VsZCBiZSA0MDBweCBpbiBlYWNoIGRp
cmVjdGlvbiwgZGlzcmVnYXJkaW5nIHRoZSBib3JkZXIsIGFuZCBpdCBtdXN0IG5vdCBiZSBzY3Jv
bGxhYmxlIG9yIGhhdmUgc2Nyb2xsYmFycy4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS5odG1sIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZl
cmVuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTY2YzE2Zjc1M2Y4NDQxOWY0N2Q3MWE1YTZmZmQxNTQ5
NWQ2MGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZlcmVuY2UuaHRtbApAQCAtMCwwICsxLDM0IEBACis8
aHRtbD4KKzxoZWFkPgorPHN0eWxlPgoraWZyYW1lIHsKKyAgICB3aWR0aDogMjAlOworICAgIGhl
aWdodDogMjAlOworICAgIGJvcmRlcjogMDsKK30gIAorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0
ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCIsICJ0cnVlIik7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRMZWZ0OworICAgIGNoZWNrTGF5b3V0KCcjdGVzdCcpOworfTsKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOyB9PC9zdHlsZT4KKzxwPlRlc3QgZm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRl
bmluZyBvbmx5IHdvcmtzIGluc2lkZSB0aGUgRFJULjwvcD4KKzxwPlRoaXMgaW5uZXIgZnJhbWUg
c2hvdWxkIGJlIDQwMHB4IGluIGVhY2ggZGlyZWN0aW9uIGFuZCBpdCBtdXN0IG5vdCBiZSBzY3Jv
bGxhYmxlIG9yIGhhdmUgc2Nyb2xsYmFycy48L3A+CisKKzxwIGlkPSJ0ZXN0Ij48aWZyYW1lIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9NDAwIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTQwMCBzcmM9ImRhdGE6
dGV4dC9odG1sLAorICAgIDxzdHlsZT5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyBtYXJn
aW46IDA7IH08L3N0eWxlPgorICAgIDxib2R5PgorICAgICAgICA8ZGl2IHN0eWxlPSd3aWR0aDog
NDAwcHg7IGhlaWdodDogNDAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyc+PC9kaXY+Cisg
ICAgPC9ib2R5PgorIj48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwKaW5kZXggMzc1YjQ3Zjgz
NmVlMjQ0ZTJlYWViZTAzOTEyYzI2OGIxNGM5YjRmMS4uMWYzOGU3YTY1MmY3YTYzYzM5ZmI1Y2Uz
ZWQ0ZTM0YWNhNGRkYTg2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNl
dC13aXRoLXBsdWdpbi1mcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVz
ZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KLSAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgewogICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJl
bmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0
UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5z
UHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184551</attachid>
            <date>2013-01-24 12:15:26 -0800</date>
            <delta_ts>2013-01-28 11:10:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20130124121218.patch</filename>
            <type>text/plain</type>
            <size>47079</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTI1OTIzNWQwMDcxZTlh
YWMwMjlkMWY0MjYyZjEzMWE0NzczZWVlZC4uM2E1MjgyYTE0NmI3MTkyNTY0OTkxNzBiODdmNzdj
NjEwYWU2NTc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTI0ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFs
cy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RS
dW5uZXIpOiBBZGQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCB0byB0aGUgbGlzdCBvZiBvdmVy
cmlkYWJsZSB2YWx1ZXMuCisKIDIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3Rv
cGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNp
ZGUgZXdrX2Zhdmljb25fZGF0YWJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggODk1NjBi
N2UzZWZhNzBiNzk4OTlmMjkwNjg1MDE5NTg2N2I5M2E0Yi4uMWU3OThkNjM1YzE1OWE2MzliNTVi
ZjRmOTFhMWExZGI4OGJiMWViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTIwNCw2ICsy
MDQsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVz
dFJ1bm5lcihXZWJQYWdlR3JvdXBQcm94eSogcGFnZQogICAgIG1hY3JvKFdlYktpdENhbnZhc1Vz
ZXNBY2NlbGVyYXRlZERyYXdpbmcsIENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcsIGNhbnZh
c1VzZXNBY2NlbGVyYXRlZERyYXdpbmcpIFwKICAgICBtYWNybyhXZWJLaXRDU1NDdXN0b21GaWx0
ZXJFbmFibGVkLCBDU1NDdXN0b21GaWx0ZXJFbmFibGVkLCBjc3NDdXN0b21GaWx0ZXJFbmFibGVk
KSBcCiAgICAgbWFjcm8oV2ViS2l0Q1NTR3JpZExheW91dEVuYWJsZWQsIENTU0dyaWRMYXlvdXRF
bmFibGVkLCBjc3NHcmlkTGF5b3V0RW5hYmxlZCkgXAorICAgIG1hY3JvKFdlYktpdEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQsIEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIGZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRKYXZhRW5hYmxlZCwgSmF2YUVuYWJsZWQsIGphdmFF
bmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0SmF2YVNjcmlwdEVuYWJsZWQsIFNjcmlwdEVuYWJs
ZWQsIGphdmFTY3JpcHRFbmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0TG9hZFNpdGVJY29uc0tl
eSwgTG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcsIGxvYWRzU2l0ZUlj
b25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKSBcCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDg1ZmExZjYxYjQxYTY5OWIwZjc0Zjc1
ZTRhMmY3MjhlYWE2YWQ2NC4uYjJkZmYzNjcwYzU4MzNiMzM4OGFjZTk4ZGM4MzU0YTQxZmMzYzlj
YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQyIEBACisyMDEzLTAxLTI0ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVz
dENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGVzdFJ1bm5lci5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gRFJUIGFuZCBXVFIuIFdlYktpdCBBUEkKKyAgICAgICAg
bWV0aG9kcyBhcmUgbGVmdCBiZWNhdXNlIHRoZXJlIG1heSBiZSB1c2VycyBvZiBpdC4gQWRkIGEg
dGVzdCBmb3IgQXBwbGUgTWFjCisgICAgICAgIHRvIGVuc3VyZSB0aGF0IHRoZSBBUEkgZm9yIHRo
ZSBwcmVmZXJlbmNlIHN0aWxsIHdvcmtzIHVzaW5nIG92ZXJyaWRlUHJlZmVyZW5jZS4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoVGVzdFJ1bm5l
cjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVy
Lmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFj
a2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6
RHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNw
cDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJl
c2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2d0ay9UZXN0UnVubmVyR3RrLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVz
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYlBhZ2U6OnJlc2V0U2V0dGluZ3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3F0L1Rlc3RSdW5uZXJRdC5jcHA6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1
bm5lclF0Lmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAocmVzZXREZWZhdWx0c1RvQ29uc2lz
dGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL1Rlc3RSdW5uZXJXaW4u
Y3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJXeC5jcHA6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVy
LmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisKIDIwMTMtMDEtMjQgIFRpbSAnbWl0aHJv
JyBBbnNlbGwgIDxtaXRocm9AbWl0aGlzLmNvbT4KIAogICAgICAgICBBZGRpbmcgImhhcy1sYW5k
ZWQiIGNvbW1hbmQgdG8gd2Via2l0LXBhdGNoIHdoaWNoIGNvbXBhcmVzIGEKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZWM2NGMwZmM4OTY1MmZkYmI4NTM3NmY1NDZlYjc4ZTYw
MTJkMjY4OS4uMDMwYWExNmEzZThhMTdkYmQ1MWI0MjZiNjRiY2M3M2ZiZDlmZmE4NCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKQEAgLTEyOTksMTggKzEyOTksNiBAQCBzdGF0aWMg
SlNWYWx1ZVJlZiBzZXRQcmludGluZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09i
amVjdFJlZiBmdW5jdGlvbgogfQogCiAKLXN0YXRpYyBKU1ZhbHVlUmVmIHNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVu
Y3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25z
dCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCi17Ci0gICAg
Ly8gSGFzIG1hYyAmIHdpbmRvd3MgaW1wbGVtZW50YXRpb24KLSAgICBpZiAoYXJndW1lbnRDb3Vu
dCA8IDEpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKLQot
ICAgIFRlc3RSdW5uZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxUZXN0UnVubmVyKj4oSlNP
YmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKLSAgICBjb250cm9sbGVyLT5zZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1lbnRzWzBdKSk7
Ci0KLSAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Ci19Ci0KIHN0YXRp
YyBKU1ZhbHVlUmVmIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzQ2FsbGJhY2so
SlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0
aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVu
dHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIC8vIEhhcyBtYWMgJiB3aW5kb3dz
IGltcGxlbWVudGF0aW9uCkBAIC0yMjc2LDcgKzIyNjQsNiBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBU
ZXN0UnVubmVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJzZXREZWZlcnNMb2FkaW5n
Iiwgc2V0RGVmZXJzTG9hZGluZ0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFVzZURl
ZmVycmVkRnJhbWVMb2FkaW5nIiwgc2V0VXNlRGVmZXJyZWRGcmFtZUxvYWRpbmdDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2No
ZW1lIiwgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZUNhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCi0gICAgICAgIHsgInNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQiLCBzZXRGcmFtZUZs
YXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0R2VvbG9jYXRp
b25QZXJtaXNzaW9uIiwgc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAic2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyIsIHNldEhhbmRs
ZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJz
ZXRJY29uRGF0YWJhc2VFbmFibGVkIiwgc2V0SWNvbkRhdGFiYXNlRW5hYmxlZENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmggYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmgKaW5kZXggNjc5NWNhZTlmMWM4OTliMWFj
ZmI2MTEzYThkOTJkNjg1YzdjYTFkYi4uMmQyNzE1NmNiODA5ZGEyMmM0MjVmMzkyMTRiMjA5OWEy
NWM0MWJlNCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaApAQCAtMTE2LDcgKzExNiw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlRm9yVXNlcihKU0NvbnRleHRSZWYsIEpTVmFsdWVS
ZWYgbm9kZU9iamVjdCwgSlNTdHJpbmdSZWYgdmFsdWUpOwogICAgIHZvaWQgc2V0Vmlld01vZGVN
ZWRpYUZlYXR1cmUoSlNTdHJpbmdSZWYpOwogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQo
Ym9vbCBmbGFnKTsKLSAgICB2b2lkIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoYm9vbCk7CiAg
ICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRT
Y3JvbGxiYXJQb2xpY3koSlNTdHJpbmdSZWYgb3JpZW50YXRpb24sIEpTU3RyaW5nUmVmIHBvbGlj
eSk7CiAgICAgdm9pZCBzdGFydFNwZWVjaElucHV0KEpTQ29udGV4dFJlZiBpbnB1dEVsZW1lbnQp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9EdW1wUmVuZGVy
VHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVl
LmNwcAppbmRleCBlNGJmZTM4NzlkNmVjYTIwMmY1ZTk1YzFhNDE0ZDZkYjJiMTNkZWI5Li43MTY1
MmRjZDEyMzhhMTM2NDM3MmIwOTgzNTgwYmMwMmQyODM4MTA1IDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMzE5LDcgKzMx
OSw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVU
ZXN0aW5nKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zCiAgICAgc2V0dGluZ3MtPnNldFNhbnNTZXJp
ZkZvbnRGYW1pbHkoIkFyaWFsIik7CiAgICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWls
eSgiVGltZXMiKTsKICAgICBzZXR0aW5ncy0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOwot
ICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBzZXR0
aW5ncy0+c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSgwKTsKICAgICBzZXR0aW5ncy0+c2V0UGx1Z2lu
c0VuYWJsZWQodHJ1ZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNr
YmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxh
Y2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAKaW5kZXggMmIxY2VmNjI4NWJjN2ViZWUy
NzJiYzNkMTUwN2I2MGZkZGY0NzZhNS4uNWMxMzk0YTQ4MWM3OTYyOGVlMWFiNDFmMjNhM2JlNzI2
MmJmZTlkNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0
UnVubmVyQmxhY2tCZXJyeS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJy
eS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAKQEAgLTUyMywxMSArNTIzLDYgQEAgYm9vbCBUZXN0
UnVubmVyOjpjYWxsU2hvdWxkQ2xvc2VPbldlYlZpZXcoKQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxl
KQotewotICAgIEJsYWNrQmVycnk6OldlYktpdDo6RHVtcFJlbmRlclRyZWU6OmN1cnJlbnRJbnN0
YW5jZSgpLT5wYWdlKCktPnNldHRpbmdzKCktPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoZW5h
YmxlKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQo
Ym9vbCBlbmFibGUpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcAppbmRleCAxN2ZhZjQ4YjU3MDQxYzE2MTY5MWJiZDkz
MzE3MTljOTAzNGQzMzYwLi43MzBjNTYyYmUyOGFiMjBkMzk2MmFlNjE2MmZkMGFhODM1ZDE1Y2Rh
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL1Rlc3RSdW5uZXJFZmwuY3BwCkBAIC0zMjMs
MTEgKzMyMyw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBm
bGFnKQogICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hzc19hdWRpdG9yX3NldChicm93c2Vy
LT5tYWluVmlldygpLCBmbGFnKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9m
cmFtZV9mbGF0dGVuaW5nX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKLX0KLQogdm9p
ZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBmbGFnKQogewog
ICAgIGV3a192aWV3X3NldHRpbmdfc3BhdGlhbF9uYXZpZ2F0aW9uX3NldChicm93c2VyLT5tYWlu
VmlldygpLCBmbGFnKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUu
Y3BwCmluZGV4IGZhZGMzZWM3NjAxMGFmOTZhMGFkMzRmYTA2M2U4YWY5MDllZWY5MDUuLjExYjgw
OTIzOTRjZDkxNGI5Mjc1ZmQ0MzczZjUzMjI1NWJhZTZiYjkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNDQ1LDcgKzQ0NSw2IEBAIHN0YXRpYyB2
b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgICAgICAgICAgICAgICAi
aHRtbDUtbG9jYWwtc3RvcmFnZS1kYXRhYmFzZS1wYXRoIiwgbG9jYWxTdG9yYWdlUGF0aC5nZXQo
KSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS14c3MtYXVkaXRvciIsIEZBTFNFLAogICAgICAg
ICAgICAgICAgICAiZW5hYmxlLXNwYXRpYWwtbmF2aWdhdGlvbiIsIEZBTFNFLAotICAgICAgICAg
ICAgICAgICAiZW5hYmxlLWZyYW1lLWZsYXR0ZW5pbmciLCBGQUxTRSwKICAgICAgICAgICAgICAg
ICAgImphdmFzY3JpcHQtY2FuLWFjY2Vzcy1jbGlwYm9hcmQiLCBUUlVFLAogICAgICAgICAgICAg
ICAgICAiamF2YXNjcmlwdC1jYW4tb3Blbi13aW5kb3dzLWF1dG9tYXRpY2FsbHkiLCBUUlVFLAog
ICAgICAgICAgICAgICAgICAiZW5hYmxlLW9mZmxpbmUtd2ViLWFwcGxpY2F0aW9uLWNhY2hlIiwg
VFJVRSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3Rr
LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcAppbmRleCBl
NTRiZmVmM2I1NTZlZTQwMDVmZDQ0YTRmNjE3YjY4NTNkN2FjNTI2Li40NjM4OGQ1OGQ1NGVjOTA4
ZTE0ZGY0MDAwYzU2MWM5ZGQ4MWZmYTdiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1Rl
c3RSdW5uZXJHdGsuY3BwCkBAIC0zODcsMTUgKzM4Nyw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0
WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChz
ZXR0aW5ncyksICJlbmFibGUteHNzLWF1ZGl0b3IiLCBmbGFnLCBOVUxMKTsKIH0KIAotdm9pZCBU
ZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBX
ZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZy
YW1lKTsKLSAgICBBU1NFUlQodmlldyk7Ci0KLSAgICBXZWJLaXRXZWJTZXR0aW5ncyogc2V0dGlu
Z3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRpbmdzKHZpZXcpOwotICAgIGdfb2JqZWN0X3Nl
dChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtZnJhbWUtZmxhdHRlbmluZyIsIGZsYWcsIE5V
TEwpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChi
b29sIGZsYWcpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVf
Z2V0X3dlYl92aWV3KG1haW5GcmFtZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0KaW5kZXggODAzYWQxNTlkMTg1ZjhiNzc3MWU2ZTk1NTNhNmI3NzQ1MGJmZGU4
NS4uNDM2MWIzMGE0NTgyZmQ0OWNmODcwYzAzMDdiOTliMTQzNDc4ZTY5YyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtNjYyLDcgKzY2Miw2IEBAIHN0
YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJl
bmNlcyBzZXRKYXZhU2NyaXB0RXhwZXJpbWVudHNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVu
Y2VzIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseTpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTpOT107Ci0gICAg
W3ByZWZlcmVuY2VzIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQ6Tk9dOwogICAgIFtwcmVmZXJl
bmNlcyBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQ6Tk9dOwogICAgIGlmIChwZXJzaXN0ZW50
VXNlclN0eWxlU2hlZXRMb2NhdGlvbikgewogICAgICAgICBbcHJlZmVyZW5jZXMgc2V0VXNlclN0
eWxlU2hlZXRMb2NhdGlvbjpbTlNVUkwgVVJMV2l0aFN0cmluZzooTlNTdHJpbmcgKikocGVyc2lz
dGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24uZ2V0KCkpXV07CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9UZXN0UnVubmVyTWFjLm1tCmluZGV4IDVlYTEwMGIyN2Y3OTA0NDBiNTI3M2M4OGMyOWM4
N2RiMmNlZWRlOTIuLjU0NWQzOGE5OTRiMGYwNzIzZTUwNGY4ZDhhNjI3ZGFhNjE1ZjM5NWUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC01NTQsMTEgKzU1
NCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVk
KQogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNTQXVkaXRvckVu
YWJsZWQ6ZW5hYmxlZF07CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZl
cmVuY2VzXSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOmVuYWJsZWRdOwotfQotCiB2b2lkIFRl
c3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAg
ICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRTcGF0aWFsTmF2aWdhdGlv
bkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9E
dW1wUmVuZGVyVHJlZVF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJU
cmVlUXQuY3BwCmluZGV4IDI0MDliNmFiNzhiMTFlZjA2ZmU5NDBlNTE4YTQ1Y2U1MzMxZGY5MzUu
LmI5NDRiOTk3MWRjODhjYzMzNzliMzA1MmM0NGMxYmJhODkwNzVkZTIgMTAwNzU1Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC0xOTIsNyArMTkyLDYgQEAg
dm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkKIAogICAgIG1fZHJ0LT50ZXN0UnVubmVyKCkt
PnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVzdFJ1bm5lcigp
LT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCh0cnVlKTsKLSAgICBtX2RydC0+dGVzdFJ1
bm5lcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVz
dFJ1bm5lcigpLT5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQodHJ1ZSk7CiAgICAgbV9kcnQt
PnRlc3RSdW5uZXIoKS0+c2V0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZChmYWxzZSk7
CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0RGVmZXJzTG9hZGluZyhmYWxzZSk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcAppbmRleCA0YWE0MzA0MGNlZTk4ZDg0
YzliM2JkNDhiM2Q2ZWFhNzg2YTkyZWNlLi4wYWViNmVmZDFjOGE5MGYzMTE3NTVjMzU3ZTNmM2Zj
Y2IzZTdhNzVlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVy
UXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHAKQEAg
LTQ0NCwxMSArNDQ0LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9y
KGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpCiAgICAgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OndlYkluc3BlY3RvckV4ZWN1dGVTY3JpcHQobV9kcnQtPnBhZ2VBZGFwdGVyKCks
IGNhbGxJZCwgc2NyaXB0KTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2RydC0+cGFnZUFkYXB0ZXIoKSwgZW5hYmxlZCk7
Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6Z29CYWNrKCkKIHsKICAgICBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6Z29CYWNrKG1fZHJ0LT5wYWdlQWRhcHRlcigpKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvVGVzdFJ1bm5lclF0LmgKaW5kZXggMjcxOTQxODhlYWY4MTg1YTk0MTVhN2VkNTYyZDY0NGY2
NGYwY2Y1My4uYjFiM2ExZDFhMjNlMmM1NjA0ODViZTU5MDE1NDAyZTRkZjYxYTE2ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKQEAgLTE1OSw3ICsxNTksNiBAQCBwdWJs
aWMgUV9TTE9UUzoKICAgICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CiAgICAgdm9pZCBldmFs
dWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpOwog
ICAgIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7Ci0gICAgdm9pZCBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9t
RmlsZVVSTHMoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZp
bGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFwcENhY2hlTWF4aW11bVNpemUodW5z
aWduZWQgbG9uZyBsb25nIHF1b3RhKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJl
bmRlclRyZWUuY3BwCmluZGV4IGU5ZTg0Yjg0OGFlNzE3ZjQxYWM5NmM0NzI5ZGQyOTE2MWE0Y2Iy
ZWEuLjVkMTlhNGJlMjZjZGMzYzc5ZjJlMWIyODAyOGJlY2MyMjNmZWM0ZTAgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODY1LDcgKzg2NSw2IEBA
IHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdlYlByZWZlcmVu
Y2VzKiBwcmVmZXJlbmNlcykKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRTaG91bGRQYWludE5h
dGl2ZUNvbnRyb2xzKEZBTFNFKTsgLy8gRklYTUUgLSBuZWVkIHRvIG1ha2UgRFJUIHBhc3Mgd2l0
aCBXaW5kb3dzIG5hdGl2ZSBjb250cm9scyA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjU1OTI+CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0SmF2YVNjcmlwdENhbkFj
Y2Vzc0NsaXBib2FyZChUUlVFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRYU1NBdWRpdG9y
RW5hYmxlZChGQUxTRSk7Ci0gICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVGbGF0dGVuaW5n
RW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGluZVdlYkFwcGxp
Y2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUpOwogICAgICAgICBwcmVmc1ByaXZhdGUtPnNldExvYWRz
U2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKEZBTFNFKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAKaW5kZXggNzUxNmVkYjJm
NzRlNWQ5NWFmY2NmMDMyNDQzNTQ2Yjc3Y2M2NDYxOS4uOWQ1MDZhZWQwNWMyNjZlNWMxM2IyYWNm
ZDVkMjgyOTZjZjJmZTk3MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1Rl
c3RSdW5uZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0UnVubmVy
V2luLmNwcApAQCAtNDc2LDIzICs0NzYsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNldFhTU0F1ZGl0
b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBwcmVmc1ByaXZhdGUtPnNldFhTU0F1ZGl0b3JF
bmFibGVkKGVuYWJsZWQpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsK
LSAgICBpZiAoRkFJTEVEKGZyYW1lLT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwotICAgIGlmIChG
QUlMRUQod2ViVmlldy0+cHJlZmVyZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlPiBwcmVmc1ByaXZhdGUoUXVl
cnksIHByZWZlcmVuY2VzKTsKLSAgICBpZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGVuYWJsZWQp
OwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29s
IGVuYWJsZWQpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBmb3IgU3BhdGlhbE5hdmlnYXRp
b24gbGF5b3V0IHRlc3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd3gvVGVz
dFJ1bm5lcld4LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5uZXJXeC5jcHAK
aW5kZXggZjg0NjUyYjQxODg3N2NmMjJhOWVmNjNmZDU4M2IxNzIwYzJlNzIxMi4uMThlODYxNzU5
MzgzNTQyNjY3ZTU1NTY3Y2Q2MGVlYjI1ZDdiNGQ3NSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93
eC9UZXN0UnVubmVyV3guY3BwCkBAIC0xODQsMTEgKzE4NCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6
c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIC8vIEZJWE1FOiBpbXBsZW1l
bnQKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wg
ZW5hYmxlZCkKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci19Ci0KIHZvaWQgVGVzdFJ1bm5l
cjo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogewog
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IGYy
NzEzYzc4MmNjOTJmNDFlY2FmN2NhMWZmYmY3NTE1OWVkNTczMzguLjgyZDI0NDVlZjFlNmI5ZDQz
ZmZhYmFhZjNlZWI4NzU1OWQ0ZDUzYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAt
NTYsNyArNTYsNiBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBzZXRYU1NBdWRp
dG9yRW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2Fs
QWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0QWxsb3dG
aWxlQWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xlYW4gdmFsdWUpOwotICAgIHZvaWQgc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBsdWdp
bnNFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFj
Y2Vzc0NsaXBib2FyZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93
c2luZ0VuYWJsZWQoaW4gYm9vbGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBiMjhkNjU3OTU0Njg5
YmM5MjA2NjNkNzkxYTJkMzY1ZTVkNzFhZTk1Li42ODhiY2RkMmY4MGY3NjQwZDNlNDI1MmNkNDRl
M2I5MmRmYTRlYzgyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTM4NSwxMSArMzg1LDYgQEAgdm9pZCBUZXN0UnVu
bmVyOjpzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVkKQogICAgIFdL
QnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKEluamVjdGVkQnVuZGxlOjpzaGFy
ZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFi
bGVkKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJv
b2wgZW5hYmxlZCkKLXsKLSAgICBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoSW5q
ZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCku
cGFnZUdyb3VwKCksIGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFBsdWdpbnNF
bmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBXS0J1bmRsZVNldFBsdWdpbnNFbmFibGVkKElu
amVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgp
LnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggNTlhZDEyZWUxNGJkNzFkYmIwZWMxZjAw
NjFhNDkxZDY0MGE2NWZjNi4uYzJjZmEyMDZkMGMxNWUyMzQzMmU5OTRmMmZlYzExYzFhZjRhYjEy
OSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmgKQEAgLTEwMCw3ICsxMDAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRYU1NBdWRp
dG9yRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZp
bGVVUkxzKGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJv
b2wpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sKTsKICAgICB2b2lk
IHNldFBsdWdpbnNFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlwdENhbkFjY2Vz
c0NsaXBib2FyZChib29sKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9v
bCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggNGJlZTAxODAyODE5OWQ2M2M1NzdiNjBmNzg0NDUwYjAzMGQ0NDNjYS4uNWY3
NDBjZjI3YWFiMWM0ZTU1YWU1YzY0ZWJiZjRhOGRjNDhmZGZlMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5
IEBACisyMDEzLTAxLTI0ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xs
ZXIgdG8gd2luZG93LmludGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gdXNlIGludGVybmFsLnNldHRp
bmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIHdoaWNoIGlzIGF1dG9tYXRpY2FsbHkKKyAg
ICAgICAgZ2VuZXJhdGVkIGZyb20gU2V0dGluZ3MuaW4uCisgICAgICAgIEFkZCBhIE1hYyBvbmx5
IHRlc3QgdGhhdCB1c2VzIG92ZXJyaWRlUHJlZmVyZW5jZSB0byB0ZXN0IHRoZSBBUEkuCisKKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sOgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZh
bmNlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRz
Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGlu
Zy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xs
aW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhl
aWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWw6CisgICAgICAgICogZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Ny
b2xsLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWw6CisgICAgICAgICogZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1sOgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0
aW9uLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS10aW55Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0
b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJl
c291cmNlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
czogQ2hyb21pdW0gZG9lc24ndCB1c2UgZnJhbWUgZmxhdHRlbmluZyBvbiBtb2JpbGUgZWl0aGVy
LgorICAgICAgICAqIHBsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sOgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1hZHZh
bmNlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxh
dHRlbmluZy1ncmlkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRz
Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGlu
Zy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xs
aW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sOgorICAgICAgICAqIGZh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhl
aWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWw6CisgICAgICAgICogZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1hbmQtc2Ny
b2xsLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWw6CisgICAgICAgICogZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy5odG1sOgor
ICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0
aW9uLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS10aW55Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25h
di1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0
b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sOgorICAgICAgICAqIGh0dHAvdGVz
dHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJsb2NraW5nLXJl
c291cmNlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9zZXQtcHJl
ZmVyZW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL3NldC1wcmVmZXJlbmNlLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHBsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbDoKKwogMjAxMy0wMS0yMiAg
Um9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW5saW5lIENvbnRh
aW5pbmcgT25seSBDb2xsYXBzZWQgV2hpdGVzcGFjZSBOb3QgR2V0dGluZyBhIExpbmVib3gKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRv
Y3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2
Zy1kb2N1bWVudC5odG1sCmluZGV4IGUzNWUzMjA5NzZjZDhhYzEyZWY1NzA5YTRmODVkYjFiYzdm
NDdiYjYuLjg0MDBlNDNkYWVmNmFhMjFmZWVmMTRhOGRiMmEwODM3NzUzODM1MTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3ZnLWRvY3VtZW50
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9jcmFzaC1zdmct
ZG9jdW1lbnQuaHRtbApAQCAtMSw4ICsxLDggQEAKIDxib2R5PgogPHNjcmlwdD4KIAotaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
ICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFkdmFuY2VkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctYWR2YW5jZWQuaHRtbAppbmRleCAwNzRjOTM4ZmI5YTAzYmYxMzIxMWQyYTk4MmMxYTAwNmU5
NmIyOTMxLi5iODgzMmFkYWIyZDIzZjE0ZWI2ZmQyMDRmN2UyYmU4ZTAxMWY3OWZjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctYWR2YW5jZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQog
ICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBG
b3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNl
dEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWwKaW5kZXgg
ZTIyMDk0Mzg5OWFmMDg3NWNmNGM5NjFhMDFmZDZhMDY2MzEwMGRjNi4uOTM0NjJmZjI4ZjczMjFj
YzI2MjkzMjQ3NTNiNzM3YzMxZTUzYjIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctZ3JpZC5o
dG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
ICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgLy8gRm9y
Y2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdo
dDsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggMzVkYWI3
OTFjOGRjYzJiYWJhOTgyYWFkYjFhNzcxNDJlNjk0OWM1ZC4uNTlkNTdkNDc2MjJlMjZiYzE5NzBj
ZThmNzVmZTcyZmM3YzczYzY0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zaW1wbGUuaHRt
bApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFt
ZS1yZXNpemUuaHRtbAppbmRleCAzMjlkYTdiMTI3NmQxMGM3MTJiMmJmZTlkMzYwYjhlZTQ4YTYw
YWM3Li5hYzMzZTAxODI2ZmFiMWFiZTI2MjNiYWM2ZWU3ZmQ0MjM1ZGU4NjM3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmct
c3ViZnJhbWUtcmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCkBAIC0xLDkgKzEs
OSBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFt
ZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sCmluZGV4
IDgyNzNiYTdkMTRhZDg3ZWE0MTgyNDZiZTViZTkzZmExZjZhN2ViODMuLmQ2Njk2NTM5NjEwNmYx
OTUzMGQzZGFlODllZjNlOGJlOTJlZDFlNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNldHMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctc3ViZnJhbWVzZXRzLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25v
dXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbAppbmRleCAwMmIwYjk5MjhhY2I2OTcz
YWE3OGU0NTA0MDhkNGI2YmQ0ZGIzODk0Li5mYzExNGRhYTY0MTkxYTA1MDhiNTFiZGViYWFkODhm
OWQ4OGEzMGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCkBAIC0xLDEwICsxLDEw
IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
LSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KQEAgLTIwLDcgKzIwLDcgQEAK
ICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8Ym9keSBvbnJl
c2l6ZT0ndGVzdDIoKTsnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0
bWwKaW5kZXggY2I2MmZkOTk3NzdkZmQyMDEwYmU4M2ZkMTFjNTIzMDFjY2QwMzllNi4uZmIxYTQ1
ZWY1YzE5NjczMTYyNjcwZmE0Y2JjNWZmZWUzNWI0NmRiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNo
cm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0Owog
ICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdp
dGgtanMtZm9yY2VkLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGlu
Zy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAppbmRleCAzZDE2ZDBhOTc3MTgyZTQ5ZmY0NGYz
YWE5ZjA5M2E3NTlkNjM4ZWVkLi4xMGJmY2VmMTg4MGMxMjgzZDhiNzY5MmQyMTQ1MWVhMmFhYzIx
NDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLXdpdGgtanMt
Zm9yY2VkLWxheW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmct
d2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKQEAgLTQsOSArNCw5IEBACiAKICAgICAgICAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5h
bHMpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
Zml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhl
aWdodC1uby1zY3JvbGxpbmcuaHRtbAppbmRleCA5OWI5NWM4M2Y0NmI5YjBhMWJkZmY0YjM5MWZi
ZmZkNTQ0MTE3NGZiLi5jZTYxYmIzYWViZDZkNzBjMmZjNDY4YTc1NTNmNDRmOTAwOWM2MThjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13
aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZv
cmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1z
aXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwKaW5kZXggYWFmMjY1
Zjc2NDQ3NTQxYWVjODNhYjFhMjZkZDljNmIyOWQ5NTI3Ni4uMzNiYzFiODUwMzllNTZmMTg2ZTlj
YjBkNWZmNDMzOTk1OTVmZmY1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8t
c2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRtbApAQCAtNCw5
ICs0LDkgQEAKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVu
aW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQt
aGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1m
bGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAppbmRleCAxM2U5Yzg2NjUyNTFm
OGE5MzUwMTMxNWQwYzBiNzM1N2MyOThkODNkLi4wODgzYzAwY2Q4YzY0MjYxMzYwNGJkNTZjZjAz
NGI4YWE1ZDFmZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVk
LXdpZHRoLWFuZC1oZWlnaHQuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAg
ICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctZml4ZWQtd2lkdGguaHRtbAppbmRleCBiZWNjZjkxYjEzMmMxNjdlZGFlZTU4NThlODk5
MzU3MWNmYTAwN2YzLi4zZWVmMDUzYjg4OTIxMWNkOTdlOWQ2MjU0N2UyNmMxZWNhYWRiN2ZjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
ICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1uZXN0ZWQuaHRt
bAppbmRleCAxNGE4MThhNzM2ZTE0ODU3MThlNTZiN2Y5ZGZlMDRlNjhjZWU0NThhLi5lM2MxMmFk
YzdkODRhODAwMDg1NGNlM2RlMDNlMDM4YWQzNjVhNjQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
bmVzdGVkLmh0bWwKQEAgLTksOCArOSw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0
LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAgICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0
ZW5pbmctb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCmluZGV4IGU4MTEwOTRkNDEyMzE2OTcy
ZmUxOTY5N2RjZWFlZWNiNDcwZGRhZjYuLmQwYzhhZmIyNDRkNjU5ZWVjOGZlOTE3Y2MxM2RlN2Iz
ZDBjZWQ2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRtbApAQCAtMyw4
ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAg
ICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1
bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1h
bmQtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFt
ZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbAppbmRleCAwOTJmZDMwYzJj
NTc2MTY5ZGQ4YTcyY2NkMDY2NDRlZjI4NWY0Yjk4Li5lZjYzOGI5ZjA1ODg4OTAwZjU1MjliNmM3
N2M0YTdlOGM0ZjQ4ZTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91
dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5p
bnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9m
LXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5
b3V0Lmh0bWwKaW5kZXggOTAwYWI4MWQzMWFlYjQxMjkyMDY0MGM4ZmQ5ZjYxYWFmODIxOTRiMS4u
MjhhZWU2NzM0ZTNkMGFiOWNhZmU1MmVjMWFiZDIyOGUwNTAyNTJlMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Yt
dmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJl
bGF5b3V0Lmh0bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAg
ICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICB9
CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1v
Zi12aWV3Lmh0bWwKaW5kZXggYzQ2NmE3MjI5NGQ3YTUxYmI0MzkyNzUzZmE1M2NlOWZlY2M3Zjcx
Zi4uNGU4MDc0NmI0NDg5ZWZjYjY0YzBlZjIzMmU5ZjBmYmFhZjIwZGUzYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQt
b2Ytdmlldy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbApAQCAtMyw4ICszLDggQEAKICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAg
ICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3Jj
ZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhl
aWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2VsZWN0aW9uLWNy
YXNoLmh0bWwKaW5kZXggMDc1MTgxZjYzNjZlY2M2MTlkNGMyOGNjNjVjZTIyODY5NjE1ZGQ1OC4u
Yzg4YTExMmVhMWEzNGEyNTFlOTc4ZTEwZGI2MTYwOTU2ZDdlYTI3YyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rp
b24tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCkBAIC0yLDkgKzIsOSBAQAogPGhl
YWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlv
biB0ZXN0KCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggZDg3M2Y1OWZlMjVkMDAyMzhkMTY1MDQ4
NzAyZTJhZTVjNzMxMTRmNC4uMjcxYjg3NzMwYjFiMjU0Mjk4NzBiOTRmZThmODE4NmMwNzY1ODJm
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCkBAIC0zLDggKzMsOCBAQAogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8v
IEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zm
c2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwKaW5kZXggZGU4M2VjN2Y3MjQ5ODY5OTM0MTdmMzEy
N2M3MmYyMTU4N2M5MGQzOS4uZWIwMTFlYmE2MzkyMDE5OTA3MzQ1ZTNiYzZhMDAxOGEwYjI1M2U3
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
dGlueS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1l
LXRpbnkuaHRtbApAQCAtNSw4ICs1LDggQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdCB0
aGF0IGZyYW1lIGZsYXR0ZW5pbmcgaXMgbm90IHVzZWQgZm9yIHRpbnkgZnJhbWVzLiBUaGlzIHRl
c3QgcmVxdWlyZXMgRFJUIG9yIHVzZXIgYWdlbnQgd2l0aCBmbGF0dGVuaW5nIGVuYWJsZWQuIik7
CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVuY3Rpb24gY2hl
Y2tSZXN1bHQoZnJhbWVOYW1lLCBleHBlY3RlZFdpZHRoLCBleHBlY3RlZEhlaWdodCkKIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1l
LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NwYXRpYWwtbmF2aWdh
dGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IDgzMzM1ZGFjM2Ey
YjY4MjUwZDc5ZDM0ZmFmYWVkZDFkZmI2ZmEwOWYuLjlkMTFiMmNiNmRlMDdiODk5NDcyM2MzY2Jm
YmE0NzQ1ZmE3NTBmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZp
Z2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUu
aHRtbApAQCAtMzcsOCArMzcsOCBAQAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICAgewot
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CiAKICAgICAgIC8vIHN0YXJ0aW5nIHRoZSB0ZXN0IGl0c2VsZjogZ2V0IHRvIGEga25vd24gcGxh
Y2UuCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKS5mb2N1cygpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93LWlmcmFtZS1m
bGF0dGVuZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL25hcnJvdy1p
ZnJhbWUtZmxhdHRlbmVkLmh0bWwKaW5kZXggM2YxY2VjNDE2M2U2N2MyMTg2YjI4MmJhZmRjZTZl
NmZmMzhjMzcxNC4uMzJhMGYzMWI1MTdhNGRmYzYxZDdlZTA0NjE3ZjZmMGNhNDFhYzk1NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93LWlmcmFtZS1m
bGF0dGVuZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9uYXJy
b3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sCkBAIC0xNCw4ICsxNCw4IEBAIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CiB9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2Fybikgewog
ICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3Npemlu
ZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFu
dWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2
aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3Ig
ZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7CiB9Ci1pZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKHRydWUpOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiA8L3NjcmlwdD4KIAogPC9oZWFkPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5n
LTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJs
b2NraW5nLXJlc291cmNlLmh0bWwKaW5kZXggOGEyMTlkNTQ4NzNiMmYwYjRiYjViZTRlZDVlOWM2
MjdjMzFjZjk4My4uYmE5ZGRjZWRhMWQ1ZGNiM2Y0ODQ3MGJmZTFjY2U4Mjk4NDU3ZmUwOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0dGVuaW5nLTNs
ZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1i
bG9ja2luZy1yZXNvdXJjZS5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50
ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5z
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8
L3NjcmlwdD4KICAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9PC9z
dHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGEzYzhlNTE0ZGI2NjAxOGEzODRjZTFhZWJhNzBlMmUzZWZkNjZlNTAuLjk4NTUwNzMy
NGI1NTE4NDkzNGJhY2ZkNDM1MzcxNWU3YzIxZTkyNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtODE0LDcgKzgxNCw3IEBAIGZhc3Qv
ZG9tL0VsZW1lbnQvaWQtaW4tZGVsZXRlYnV0dG9uLmh0bWwgWyBXb250Rml4IF0KIGZhc3QvZmFz
dC1tb2JpbGUtc2Nyb2xsaW5nL2ZpeGVkLXBvc2l0aW9uLWVsZW1lbnQuaHRtbCBbIFdvbnRGaXgg
XQogZmFzdC9mYXN0LW1vYmlsZS1zY3JvbGxpbmcvbm8tZml4ZWQtcG9zaXRpb24tZWxlbWVudHMu
aHRtbCBbIFdvbnRGaXggXQogCi0jIFRlc3RzIGZvciBmcmFtZXNldCBmbGF0dGVuaW5nLiBSZWxl
dmFudCBvbmx5IG9uIG1vYmlsZSBicm93c2Vycy4KKyMgVGVzdHMgZm9yIGZyYW1lc2V0IGZsYXR0
ZW5pbmcgd2hpY2ggaXMgbm90IHVzZWQgYnkgQ2hyb21pdW0uCiBmYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nIFsgV29udEZpeCBdCiBmYXN0L3RleHQtYXV0b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0
ZW5lZC5odG1sIFsgV29udEZpeCBdCiBodHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmct
M2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sIFsgV29udEZpeCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmNhYWQwZmE0NGIzMzM4ZDY2NDRiZmJhODhmMzc1Mzg4ZTZmMjk5OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L3NldC1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rlc3QgZm9yIGlm
cmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lkZSB0aGUgRFJU
LgorCitUaGlzIGlubmVyIGZyYW1lIHNob3VsZCBiZSA0MDBweCBpbiBlYWNoIGRpcmVjdGlvbiBh
bmQgaXQgbXVzdCBub3QgYmUgc2Nyb2xsYWJsZSBvciBoYXZlIHNjcm9sbGJhcnMuCisKKworCitQ
QVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxh
dHRlbmluZy9zZXQtcHJlZmVyZW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvZnJhbWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZlcmVuY2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjNm
ZWMzODI1OTdjMjJkMDFjM2ExOWQxN2NmNzAxNjVhNjkzYTc0Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZl
cmVuY2UuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgoraWZy
YW1lIHsKKyAgICB3aWR0aDogMjAlOworICAgIGhlaWdodDogMjAlOworICAgIGJvcmRlcjogMDsK
K30gIAorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNvdXJjZXMvY2hl
Y2stbGF5b3V0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5j
ZSgiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIsICIxIik7CisKK3dpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpCit7CisgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0OworICAgIGNoZWNr
TGF5b3V0KCcjdGVzdCcpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c3R5bGU+
Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9PC9zdHlsZT4KKzxwPlRlc3QgZm9yIGlm
cmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lkZSB0aGUgRFJU
LjwvcD4KKzxwPlRoaXMgaW5uZXIgZnJhbWUgc2hvdWxkIGJlIDQwMHB4IGluIGVhY2ggZGlyZWN0
aW9uIGFuZCBpdCBtdXN0IG5vdCBiZSBzY3JvbGxhYmxlIG9yIGhhdmUgc2Nyb2xsYmFycy48L3A+
CisKKzxwIGlkPSJ0ZXN0Ij48aWZyYW1lIGRhdGEtZXhwZWN0ZWQtd2lkdGg9NDAwIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PTQwMCBzcmM9ImRhdGE6dGV4dC9odG1sLAorICAgIDxzdHlsZT5ib2R5IHsg
YmFja2dyb3VuZC1jb2xvcjogcmVkOyBtYXJnaW46IDA7IH08L3N0eWxlPgorICAgIDxib2R5Pgor
ICAgICAgICA8ZGl2IHN0eWxlPSd3aWR0aDogNDAwcHg7IGhlaWdodDogNDAwcHg7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyc+PC9kaXY+CisgICAgPC9ib2R5PgorIj48L3A+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1
Z2luLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdpdGgtcGx1Z2lu
LWZyYW1lLmh0bWwKaW5kZXggMzc1YjQ3ZjgzNmVlMjQ0ZTJlYWViZTAzOTEyYzI2OGIxNGM5YjRm
MS4uMWYzOGU3YTY1MmY3YTYzYzM5ZmI1Y2UzZWQ0ZTM0YWNhNGRkYTg2YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbApAQCAt
MSw5ICsxLDkgQEAKIDxodG1sPgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJz
ZXQ9InV0Zi04Ij4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAg
IHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAg
IHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNhY2hlUHJlZmVy
ZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zUHJlZmVyZW5jZUtleSIsIDEpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185013</attachid>
            <date>2013-01-28 11:10:45 -0800</date>
            <delta_ts>2013-02-11 13:06:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87149-20130128110732.patch</filename>
            <type>text/plain</type>
            <size>46176</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMTI1OTIzNWQwMDcxZTlh
YWMwMjlkMWY0MjYyZjEzMWE0NzczZWVlZC4uODhjMzY3NzgzMjM1ZTMwMTkzZjc2NjA5M2U5MWJi
ZTBhNmQ2YjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTI4ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVzdENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFs
cy5zZXR0aW5ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RS
dW5uZXIpOiBBZGQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCB0byB0aGUgbGlzdCBvZiBvdmVy
cmlkYWJsZSB2YWx1ZXMuCisKIDIwMTMtMDEtMjQgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3Rv
cGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIFVzZSBDIEFQSSBpbnNp
ZGUgZXdrX2Zhdmljb25fZGF0YWJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggODk1NjBi
N2UzZWZhNzBiNzk4OTlmMjkwNjg1MDE5NTg2N2I5M2E0Yi4uMWU3OThkNjM1YzE1OWE2MzliNTVi
ZjRmOTFhMWExZGI4OGJiMWViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTIwNCw2ICsy
MDQsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVz
dFJ1bm5lcihXZWJQYWdlR3JvdXBQcm94eSogcGFnZQogICAgIG1hY3JvKFdlYktpdENhbnZhc1Vz
ZXNBY2NlbGVyYXRlZERyYXdpbmcsIENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcsIGNhbnZh
c1VzZXNBY2NlbGVyYXRlZERyYXdpbmcpIFwKICAgICBtYWNybyhXZWJLaXRDU1NDdXN0b21GaWx0
ZXJFbmFibGVkLCBDU1NDdXN0b21GaWx0ZXJFbmFibGVkLCBjc3NDdXN0b21GaWx0ZXJFbmFibGVk
KSBcCiAgICAgbWFjcm8oV2ViS2l0Q1NTR3JpZExheW91dEVuYWJsZWQsIENTU0dyaWRMYXlvdXRF
bmFibGVkLCBjc3NHcmlkTGF5b3V0RW5hYmxlZCkgXAorICAgIG1hY3JvKFdlYktpdEZyYW1lRmxh
dHRlbmluZ0VuYWJsZWQsIEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIGZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQpIFwKICAgICBtYWNybyhXZWJLaXRKYXZhRW5hYmxlZCwgSmF2YUVuYWJsZWQsIGphdmFF
bmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0SmF2YVNjcmlwdEVuYWJsZWQsIFNjcmlwdEVuYWJs
ZWQsIGphdmFTY3JpcHRFbmFibGVkKSBcCiAgICAgbWFjcm8oV2ViS2l0TG9hZFNpdGVJY29uc0tl
eSwgTG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcsIGxvYWRzU2l0ZUlj
b25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKSBcCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDg1ZmExZjYxYjQxYTY5OWIwZjc0Zjc1
ZTRhMmY3MjhlYWE2YWQ2NC4uOGQ0NGI1NjkyOTE4ZmZkZDE0ZGY0ZmFkY2Y1NjI1MTkzODQ1M2U1
NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQwIEBACisyMDEzLTAxLTI4ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVz
dENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdGVzdFJ1bm5lci5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gRFJUIGFuZCBXVFIuIFdlYktpdCBBUEkKKyAgICAgICAg
bWV0aG9kcyBhcmUgbGVmdCBiZWNhdXNlIHRoZXJlIG1heSBiZSB1c2VycyBvZiBpdC4gQWRkIGEg
dGVzdCBmb3IgQXBwbGUgTWFjCisgICAgICAgIHRvIGVuc3VyZSB0aGF0IHRoZSBBUEkgZm9yIHRo
ZSBwcmVmZXJlbmNlIHN0aWxsIHdvcmtzIHVzaW5nIG92ZXJyaWRlUHJlZmVyZW5jZS4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAoVGVzdFJ1bm5l
cjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVy
Lmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFj
a2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6
RHVtcFJlbmRlclRyZWU6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L1Rlc3RSdW5uZXJCbGFja0JlcnJ5LmNw
cDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvVGVzdFJ1bm5lckVmbC5jcHA6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJl
c2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2d0ay9UZXN0UnVubmVyR3RrLmNwcDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJl
ZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlBhZ2U6OnJlc2V0U2V0dGluZ3MpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5jcHA6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0Lmg6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAgICAo
cmVzZXREZWZhdWx0c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3d4L1Rl
c3RSdW5uZXJXeC5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisKIDIw
MTMtMDEtMjQgIFRpbSAnbWl0aHJvJyBBbnNlbGwgIDxtaXRocm9AbWl0aGlzLmNvbT4KIAogICAg
ICAgICBBZGRpbmcgImhhcy1sYW5kZWQiIGNvbW1hbmQgdG8gd2Via2l0LXBhdGNoIHdoaWNoIGNv
bXBhcmVzIGEKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKaW5kZXggZWM2NGMwZmM4OTY1
MmZkYmI4NTM3NmY1NDZlYjc4ZTYwMTJkMjY4OS4uMDMwYWExNmEzZThhMTdkYmQ1MWI0MjZiNjRi
Y2M3M2ZiZDlmZmE4NCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5l
ci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5jcHAKQEAgLTEyOTks
MTggKzEyOTksNiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRQcmludGluZ0NhbGxiYWNrKEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbgogfQogCiAKLXN0YXRpYyBKU1Zh
bHVlUmVmIHNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29u
dGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVf
dCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVm
KiBleGNlcHRpb24pCi17Ci0gICAgLy8gSGFzIG1hYyAmIHdpbmRvd3MgaW1wbGVtZW50YXRpb24K
LSAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVu
ZGVmaW5lZChjb250ZXh0KTsKLQotICAgIFRlc3RSdW5uZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNf
Y2FzdDxUZXN0UnVubmVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKLSAgICBj
b250cm9sbGVyLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29u
dGV4dCwgYXJndW1lbnRzWzBdKSk7Ci0KLSAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQo
Y29udGV4dCk7Ci19Ci0KIHN0YXRpYyBKU1ZhbHVlUmVmIHNldEFsbG93VW5pdmVyc2FsQWNjZXNz
RnJvbUZpbGVVUkxzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1
bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29u
c3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAg
IC8vIEhhcyBtYWMgJiB3aW5kb3dzIGltcGxlbWVudGF0aW9uCkBAIC0yMjc2LDcgKzIyNjQsNiBA
QCBKU1N0YXRpY0Z1bmN0aW9uKiBUZXN0UnVubmVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAg
ICB7ICJzZXREZWZlcnNMb2FkaW5nIiwgc2V0RGVmZXJzTG9hZGluZ0NhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CiAgICAgICAgIHsgInNldFVzZURlZmVycmVkRnJhbWVMb2FkaW5nIiwgc2V0VXNlRGVmZXJyZWRG
cmFtZUxvYWRpbmdDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXREb21haW5SZWxheGF0
aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lIiwgc2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZv
clVSTFNjaGVtZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCi0gICAgICAgIHsgInNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQiLCBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAg
ICAgICAgeyAic2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uIiwgc2V0R2VvbG9jYXRpb25QZXJtaXNz
aW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0SGFuZGxlc0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlcyIsIHNldEhhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5nZXNDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXRJY29uRGF0YWJhc2VFbmFibGVkIiwgc2V0SWNvbkRhdGFi
YXNlRW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0UnVubmVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0UnVubmVyLmgKaW5k
ZXggNjc5NWNhZTlmMWM4OTliMWFjZmI2MTEzYThkOTJkNjg1YzdjYTFkYi4uMmQyNzE1NmNiODA5
ZGEyMmM0MjVmMzkyMTRiMjA5OWEyNWM0MWJlNCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIu
aApAQCAtMTE2LDcgKzExNiw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlRm9yVXNlcihK
U0NvbnRleHRSZWYsIEpTVmFsdWVSZWYgbm9kZU9iamVjdCwgSlNTdHJpbmdSZWYgdmFsdWUpOwog
ICAgIHZvaWQgc2V0Vmlld01vZGVNZWRpYUZlYXR1cmUoSlNTdHJpbmdSZWYpOwogICAgIHZvaWQg
c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKTsKLSAgICB2b2lkIHNldEZyYW1lRmxhdHRl
bmluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQo
Ym9vbCk7CiAgICAgdm9pZCBzZXRTY3JvbGxiYXJQb2xpY3koSlNTdHJpbmdSZWYgb3JpZW50YXRp
b24sIEpTU3RyaW5nUmVmIHBvbGljeSk7CiAgICAgdm9pZCBzdGFydFNwZWVjaElucHV0KEpTQ29u
dGV4dFJlZiBpbnB1dEVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
YmxhY2tiZXJyeS9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFj
a2JlcnJ5L0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCBlNGJmZTM4NzlkNmVjYTIwMmY1ZTk1YzFh
NDE0ZDZkYjJiMTNkZWI5Li43MTY1MmRjZDEyMzhhMTM2NDM3MmIwOTgzNTgwYmMwMmQyODM4MTA1
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJU
cmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0R1bXBSZW5kZXJU
cmVlLmNwcApAQCAtMzE5LDcgKzMxOSw2IEBAIHZvaWQgRHVtcFJlbmRlclRyZWU6OnJlc2V0VG9D
b25zaXN0ZW50U3RhdGVCZWZvcmVUZXN0aW5nKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zCiAgICAg
c2V0dGluZ3MtPnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoIkFyaWFsIik7CiAgICAgc2V0dGluZ3Mt
PnNldFN0YW5kYXJkRm9udEZhbWlseSgiVGltZXMiKTsKICAgICBzZXR0aW5ncy0+c2V0WFNTQXVk
aXRvckVuYWJsZWQoZmFsc2UpOwotICAgIHNldHRpbmdzLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKGZhbHNlKTsKICAgICBzZXR0aW5ncy0+c2V0TWF4aW11bVBhZ2VzSW5DYWNoZSgwKTsKICAg
ICBzZXR0aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQodHJ1ZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvVGVzdFJ1bm5lckJsYWNrQmVycnkuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAKaW5k
ZXggMmIxY2VmNjI4NWJjN2ViZWUyNzJiYzNkMTUwN2I2MGZkZGY0NzZhNS4uNWMxMzk0YTQ4MWM3
OTYyOGVlMWFiNDFmMjNhM2JlNzI2MmJmZTlkNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvYmxhY2tiZXJyeS9UZXN0UnVubmVyQmxhY2tCZXJyeS5jcHAKQEAgLTUyMywx
MSArNTIzLDYgQEAgYm9vbCBUZXN0UnVubmVyOjpjYWxsU2hvdWxkQ2xvc2VPbldlYlZpZXcoKQog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKGJvb2wgZW5hYmxlKQotewotICAgIEJsYWNrQmVycnk6OldlYktpdDo6RHVtcFJl
bmRlclRyZWU6OmN1cnJlbnRJbnN0YW5jZSgpLT5wYWdlKCktPnNldHRpbmdzKCktPnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQoZW5hYmxlKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0
aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9UZXN0UnVubmVyRWZsLmNwcAppbmRleCAxN2Zh
ZjQ4YjU3MDQxYzE2MTY5MWJiZDkzMzE3MTljOTAzNGQzMzYwLi43MzBjNTYyYmUyOGFiMjBkMzk2
MmFlNjE2MmZkMGFhODM1ZDE1Y2RhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvVGVzdFJ1bm5lckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL1Rlc3RS
dW5uZXJFZmwuY3BwCkBAIC0zMjMsMTEgKzMyMyw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNT
QXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX3hz
c19hdWRpdG9yX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKIH0KIAotdm9pZCBUZXN0
UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZmxhZykKLXsKLSAgICBld2tf
dmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChicm93c2VyLT5tYWluVmll
dygpLCBmbGFnKTsKLX0KLQogdm9pZCBUZXN0UnVubmVyOjpzZXRTcGF0aWFsTmF2aWdhdGlvbkVu
YWJsZWQoYm9vbCBmbGFnKQogewogICAgIGV3a192aWV3X3NldHRpbmdfc3BhdGlhbF9uYXZpZ2F0
aW9uX3NldChicm93c2VyLT5tYWluVmlldygpLCBmbGFnKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGZhZGMzZWM3NjAxMGFmOTZhMGFkMzRmYTA2
M2U4YWY5MDllZWY5MDUuLjExYjgwOTIzOTRjZDkxNGI5Mjc1ZmQ0MzczZjUzMjI1NWJhZTZiYjkg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNDQ1
LDcgKzQ0NSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMo
KQogICAgICAgICAgICAgICAgICAiaHRtbDUtbG9jYWwtc3RvcmFnZS1kYXRhYmFzZS1wYXRoIiwg
bG9jYWxTdG9yYWdlUGF0aC5nZXQoKSwKICAgICAgICAgICAgICAgICAgImVuYWJsZS14c3MtYXVk
aXRvciIsIEZBTFNFLAogICAgICAgICAgICAgICAgICAiZW5hYmxlLXNwYXRpYWwtbmF2aWdhdGlv
biIsIEZBTFNFLAotICAgICAgICAgICAgICAgICAiZW5hYmxlLWZyYW1lLWZsYXR0ZW5pbmciLCBG
QUxTRSwKICAgICAgICAgICAgICAgICAgImphdmFzY3JpcHQtY2FuLWFjY2Vzcy1jbGlwYm9hcmQi
LCBUUlVFLAogICAgICAgICAgICAgICAgICAiamF2YXNjcmlwdC1jYW4tb3Blbi13aW5kb3dzLWF1
dG9tYXRpY2FsbHkiLCBUUlVFLAogICAgICAgICAgICAgICAgICAiZW5hYmxlLW9mZmxpbmUtd2Vi
LWFwcGxpY2F0aW9uLWNhY2hlIiwgVFJVRSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2d0ay9UZXN0UnVubmVyR3RrLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9UZXN0
UnVubmVyR3RrLmNwcAppbmRleCBlNTRiZmVmM2I1NTZlZTQwMDVmZDQ0YTRmNjE3YjY4NTNkN2Fj
NTI2Li40NjM4OGQ1OGQ1NGVjOTA4ZTE0ZGY0MDAwYzU2MWM5ZGQ4MWZmYTdiIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvVGVzdFJ1bm5lckd0ay5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZ3RrL1Rlc3RSdW5uZXJHdGsuY3BwCkBAIC0zODcsMTUgKzM4Nyw2IEBA
IHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBmbGFnKQogICAgIGdf
b2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUteHNzLWF1ZGl0b3IiLCBmbGFn
LCBOVUxMKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KGJvb2wgZmxhZykKLXsKLSAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFt
ZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKLSAgICBBU1NFUlQodmlldyk7Ci0KLSAgICBXZWJL
aXRXZWJTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRpbmdzKHZp
ZXcpOwotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyksICJlbmFibGUtZnJhbWUt
ZmxhdHRlbmluZyIsIGZsYWcsIE5VTEwpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRp
YWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGZsYWcpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogdmll
dyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFtZSk7CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCmluZGV4IDVlYTEwMGIyN2Y3OTA0NDBiNTI3
M2M4OGMyOWM4N2RiMmNlZWRlOTIuLjU0NWQzOGE5OTRiMGYwNzIzZTUwNGY4ZDhhNjI3ZGFhNjE1
ZjM5NWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC01
NTQsMTEgKzU1NCw2IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9v
bCBlbmFibGVkKQogICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gc2V0WFNT
QXVkaXRvckVuYWJsZWQ6ZW5hYmxlZF07CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCi17Ci0gICAgW1tbbWFpbkZyYW1lIHdlYlZp
ZXddIHByZWZlcmVuY2VzXSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOmVuYWJsZWRdOwotfQot
CiB2b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJs
ZWQpCiB7CiAgICAgW1tbbWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBzZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQ6ZW5hYmxlZF07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IDI0MDliNmFiNzhiMTFlZjA2ZmU5NDBlNTE4YTQ1Y2U1
MzMxZGY5MzUuLmI5NDRiOTk3MWRjODhjYzMzNzliMzA1MmM0NGMxYmJhODkwNzVkZTIgMTAwNzU1
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC0xOTIsNyAr
MTkyLDYgQEAgdm9pZCBXZWJQYWdlOjpyZXNldFNldHRpbmdzKCkKIAogICAgIG1fZHJ0LT50ZXN0
UnVubmVyKCktPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGZhbHNlKTsKICAgICBtX2RydC0+dGVz
dFJ1bm5lcigpLT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCh0cnVlKTsKLSAgICBtX2Ry
dC0+dGVzdFJ1bm5lcigpLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKGZhbHNlKTsKICAgICBt
X2RydC0+dGVzdFJ1bm5lcigpLT5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQodHJ1ZSk7CiAg
ICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxl
ZChmYWxzZSk7CiAgICAgbV9kcnQtPnRlc3RSdW5uZXIoKS0+c2V0RGVmZXJzTG9hZGluZyhmYWxz
ZSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXN0UnVubmVyUXQuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmNwcAppbmRleCA0YWE0MzA0
MGNlZTk4ZDg0YzliM2JkNDhiM2Q2ZWFhNzg2YTkyZWNlLi4wYWViNmVmZDFjOGE5MGYzMTE3NTVj
MzU3ZTNmM2ZjY2IzZTdhNzVlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9U
ZXN0UnVubmVyUXQuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJR
dC5jcHAKQEAgLTQ0NCwxMSArNDQ0LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBzY3JpcHQpCiAgICAgRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQ6OndlYkluc3BlY3RvckV4ZWN1dGVTY3JpcHQobV9kcnQtPnBhZ2VB
ZGFwdGVyKCksIGNhbGxJZCwgc2NyaXB0KTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2RydC0+cGFnZUFkYXB0ZXIoKSwg
ZW5hYmxlZCk7Ci19Ci0KIHZvaWQgVGVzdFJ1bm5lcjo6Z29CYWNrKCkKIHsKICAgICBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdDo6Z29CYWNrKG1fZHJ0LT5wYWdlQWRhcHRlcigpKTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L1Rlc3RSdW5uZXJRdC5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKaW5kZXggMjcxOTQxODhlYWY4MTg1YTk0MTVhN2Vk
NTYyZDY0NGY2NGYwY2Y1My4uYjFiM2ExZDFhMjNlMmM1NjA0ODViZTU5MDE1NDAyZTRkZjYxYTE2
ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGVzdFJ1bm5lclF0LmgKQEAgLTE1OSw3ICsxNTks
NiBAQCBwdWJsaWMgUV9TTE9UUzoKICAgICB2b2lkIGNsb3NlV2ViSW5zcGVjdG9yKCk7CiAgICAg
dm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBjb25zdCBRU3RyaW5nJiBz
Y3JpcHQpOwogICAgIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7Ci0gICAgdm9pZCBzZXRG
cmFtZUZsYXR0ZW5pbmdFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxB
Y2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGUpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzKGJvb2wgZW5hYmxlKTsKICAgICB2b2lkIHNldEFwcENhY2hlTWF4aW11
bVNpemUodW5zaWduZWQgbG9uZyBsb25nIHF1b3RhKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93
aW4vRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IGU5ZTg0Yjg0OGFlNzE3ZjQxYWM5NmM0NzI5ZGQy
OTE2MWE0Y2IyZWEuLjVkMTlhNGJlMjZjZGMzYzc5ZjJlMWIyODAyOGJlY2MyMjNmZWM0ZTAgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtODY1LDcg
Kzg2NSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoSVdl
YlByZWZlcmVuY2VzKiBwcmVmZXJlbmNlcykKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRTaG91
bGRQYWludE5hdGl2ZUNvbnRyb2xzKEZBTFNFKTsgLy8gRklYTUUgLSBuZWVkIHRvIG1ha2UgRFJU
IHBhc3Mgd2l0aCBXaW5kb3dzIG5hdGl2ZSBjb250cm9scyA8aHR0cDovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjU1OTI+CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0SmF2YVNj
cmlwdENhbkFjY2Vzc0NsaXBib2FyZChUUlVFKTsKICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRY
U1NBdWRpdG9yRW5hYmxlZChGQUxTRSk7Ci0gICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0RnJhbWVG
bGF0dGVuaW5nRW5hYmxlZChGQUxTRSk7CiAgICAgICAgIHByZWZzUHJpdmF0ZS0+c2V0T2ZmbGlu
ZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFRSVUUpOwogICAgICAgICBwcmVmc1ByaXZhdGUt
PnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKEZBTFNFKTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldp
bi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVGVzdFJ1bm5lcldpbi5jcHAKaW5kZXgg
NzUxNmVkYjJmNzRlNWQ5NWFmY2NmMDMyNDQzNTQ2Yjc3Y2M2NDYxOS4uOWQ1MDZhZWQwNWMyNjZl
NWMxM2IyYWNmZDVkMjgyOTZjZjJmZTk3MCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL1Rlc3RSdW5uZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9U
ZXN0UnVubmVyV2luLmNwcApAQCAtNDc2LDIzICs0NzYsNiBAQCB2b2lkIFRlc3RSdW5uZXI6OnNl
dFhTU0F1ZGl0b3JFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBwcmVmc1ByaXZhdGUtPnNldFhT
U0F1ZGl0b3JFbmFibGVkKGVuYWJsZWQpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIENPTVB0cjxJV2ViVmlldz4g
d2ViVmlldzsKLSAgICBpZiAoRkFJTEVEKGZyYW1lLT53ZWJWaWV3KCZ3ZWJWaWV3KSkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXM+IHByZWZlcmVuY2VzOwot
ICAgIGlmIChGQUlMRUQod2ViVmlldy0+cHJlZmVyZW5jZXMoJnByZWZlcmVuY2VzKSkpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIENPTVB0cjxJV2ViUHJlZmVyZW5jZXNQcml2YXRlPiBwcmVmc1By
aXZhdGUoUXVlcnksIHByZWZlcmVuY2VzKTsKLSAgICBpZiAoIXByZWZzUHJpdmF0ZSkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgcHJlZnNQcml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVk
KGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNldFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZChib29sIGVuYWJsZWQpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBmb3IgU3BhdGlh
bE5hdmlnYXRpb24gbGF5b3V0IHRlc3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvd3gvVGVzdFJ1bm5lcld4LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3d4L1Rlc3RSdW5u
ZXJXeC5jcHAKaW5kZXggZjg0NjUyYjQxODg3N2NmMjJhOWVmNjNmZDU4M2IxNzIwYzJlNzIxMi4u
MThlODYxNzU5MzgzNTQyNjY3ZTU1NTY3Y2Q2MGVlYjI1ZDdiNGQ3NSAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd3gvVGVzdFJ1bm5lcld4LmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93eC9UZXN0UnVubmVyV3guY3BwCkBAIC0xODQsMTEgKzE4NCw2IEBAIHZvaWQgVGVz
dFJ1bm5lcjo6c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIC8vIEZJWE1F
OiBpbXBsZW1lbnQKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdFbmFi
bGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50Ci19Ci0KIHZvaWQg
VGVzdFJ1bm5lcjo6c2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFi
bGVkKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRs
CmluZGV4IGYyNzEzYzc4MmNjOTJmNDFlY2FmN2NhMWZmYmY3NTE1OWVkNTczMzguLjgyZDI0NDVl
ZjFlNmI5ZDQzZmZhYmFhZjNlZWI4NzU1OWQ0ZDUzYjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVy
LmlkbApAQCAtNTYsNyArNTYsNiBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgdm9pZCBz
ZXRYU1NBdWRpdG9yRW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldEFsbG93
VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQg
c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGluIGJvb2xlYW4gdmFsdWUpOwotICAgIHZv
aWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lk
IHNldFBsdWdpbnNFbmFibGVkKGluIGJvb2xlYW4gdmFsdWUpOwogICAgIHZvaWQgc2V0SmF2YVNj
cmlwdENhbkFjY2Vzc0NsaXBib2FyZChpbiBib29sZWFuIHZhbHVlKTsKICAgICB2b2lkIHNldFBy
aXZhdGVCcm93c2luZ0VuYWJsZWQoaW4gYm9vbGVhbiB2YWx1ZSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAppbmRleCBiMjhk
NjU3OTU0Njg5YmM5MjA2NjNkNzkxYTJkMzY1ZTVkNzFhZTk1Li42ODhiY2RkMmY4MGY3NjQwZDNl
NDI1MmNkNDRlM2I5MmRmYTRlYzgyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKQEAgLTM4NSwxMSArMzg1LDYgQEAgdm9p
ZCBUZXN0UnVubmVyOjpzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCBlbmFibGVk
KQogICAgIFdLQnVuZGxlU2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKEluamVjdGVkQnVu
ZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnBhZ2VHcm91
cCgpLCBlbmFibGVkKTsKIH0KIAotdm9pZCBUZXN0UnVubmVyOjpzZXRGcmFtZUZsYXR0ZW5pbmdF
bmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBXS0J1bmRsZVNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBJbmplY3RlZEJ1bmRsZTo6
c2hhcmVkKCkucGFnZUdyb3VwKCksIGVuYWJsZWQpOwotfQotCiB2b2lkIFRlc3RSdW5uZXI6OnNl
dFBsdWdpbnNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBXS0J1bmRsZVNldFBsdWdpbnNF
bmFibGVkKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5idW5kbGUoKSwgSW5qZWN0ZWRCdW5kbGU6
OnNoYXJlZCgpLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggNTlhZDEyZWUxNGJkNzFk
YmIwZWMxZjAwNjFhNDkxZDY0MGE2NWZjNi4uYzJjZmEyMDZkMGMxNWUyMzQzMmU5OTRmMmZlYzEx
YzFhZjRhYjEyOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmgKQEAgLTEwMCw3ICsxMDAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRYU1NBdWRpdG9yRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNj
ZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZp
bGVVUkxzKGJvb2wpOwotICAgIHZvaWQgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChib29sKTsK
ICAgICB2b2lkIHNldFBsdWdpbnNFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0SmF2YVNjcmlw
dENhbkFjY2Vzc0NsaXBib2FyZChib29sKTsKICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoYm9vbCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGJlZTAxODAyODE5OWQ2M2M1NzdiNjBmNzg0NDUwYjAzMGQ0
NDNjYS4uYmE4YWJlZWU1ZGY4ZjhjOWFmY2MwM2RhMDBiNzJkOTAxOTI0ODRiYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDY5IEBACisyMDEzLTAxLTI4ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTW92ZSBzZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkIGZyb20gbGF5b3V0VGVz
dENvbnRyb2xsZXIgdG8gd2luZG93LmludGVybmFscy5zZXR0aW5ncworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODcxNDkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gdXNlIGludGVy
bmFsLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIHdoaWNoIGlzIGF1dG9tYXRp
Y2FsbHkKKyAgICAgICAgZ2VuZXJhdGVkIGZyb20gU2V0dGluZ3MuaW4uCisgICAgICAgIEFkZCBh
IE1hYyBvbmx5IHRlc3QgdGhhdCB1c2VzIG92ZXJyaWRlUHJlZmVyZW5jZSB0byB0ZXN0IHRoZSBB
UEkuCisKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVu
dC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1hZHZhbmNlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3Vi
ZnJhbWVzZXRzLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5v
LXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQt
bm8tc2Nyb2xsaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sOgorICAg
ICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmll
dy1hbmQtc2Nyb2xsLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmll
dy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctc2VsZWN0aW9uLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3RleHQtYXV0b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJs
b2NraW5nLXJlc291cmNlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9uczogQ2hyb21pdW0gZG9lc24ndCB1c2UgZnJhbWUgZmxhdHRlbmluZyBvbiBtb2Jp
bGUgZWl0aGVyLgorICAgICAgICAqIHBsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2NyYXNoLXN2Zy1kb2N1bWVu
dC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRl
bmluZy1hZHZhbmNlZC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJh
bWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc3Vi
ZnJhbWVzZXRzLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUt
ZmxhdHRlbmluZy1jcmFzaC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
aWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtaGVpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5v
LXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQt
bm8tc2Nyb2xsaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LXplcm8tc2l6ZS5odG1sOgorICAg
ICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmll
dy1hbmQtc2Nyb2xsLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWw6CisgICAg
ICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmll
dy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctc2VsZWN0aW9uLWNyYXNoLmh0bWw6CisgICAgICAgICogZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWw6CisgICAgICAgICogZmFzdC9zcGF0aWFsLW5hdmln
YXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3RleHQtYXV0b3NpemluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sOgorICAgICAgICAq
IGh0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGluZy13aXRoLWJs
b2NraW5nLXJlc291cmNlLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL3NldC1wcmVmZXJlbmNlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUuaHRtbDoKKwogMjAx
My0wMS0yMiAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW5s
aW5lIENvbnRhaW5pbmcgT25seSBDb2xsYXBzZWQgV2hpdGVzcGFjZSBOb3QgR2V0dGluZyBhIExp
bmVib3gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jh
c2gtc3ZnLWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2NyYXNoLXN2Zy1kb2N1bWVudC5odG1sCmluZGV4IGUzNWUzMjA5NzZjZDhhYzEyZWY1NzA5YTRm
ODVkYjFiYzdmNDdiYjYuLjg0MDBlNDNkYWVmNmFhMjFmZWVmMTRhOGRiMmEwODM3NzUzODM1MTEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvY3Jhc2gtc3Zn
LWRvY3VtZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9j
cmFzaC1zdmctZG9jdW1lbnQuaHRtbApAQCAtMSw4ICsxLDggQEAKIDxib2R5PgogPHNjcmlwdD4K
IAotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCh0cnVlKTsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWFk
dmFuY2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbAppbmRleCAwNzRjOTM4ZmI5YTAzYmYxMzIxMWQyYTk4
MmMxYTAwNmU5NmIyOTMxLi5iODgzMmFkYWIyZDIzZjE0ZWI2ZmQyMDRmN2UyYmU4ZTAxMWY3OWZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctYWR2YW5jZWQuaHRtbApAQCAtMyw4ICszLDgg
QEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0g
ICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAg
ICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5i
b2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1ncmlkLmh0
bWwKaW5kZXggZTIyMDk0Mzg5OWFmMDg3NWNmNGM5NjFhMDFmZDZhMDY2MzEwMGRjNi4uOTM0NjJm
ZjI4ZjczMjFjYzI2MjkzMjQ3NTNiNzM3YzMxZTUzYjIxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLWdyaWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5p
bmctZ3JpZC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICB7Ci0gICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5h
YmxlZCh0cnVlKTsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICBkb2N1bWVudC5ib2R5Lm9m
ZnNldEhlaWdodDsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5k
ZXggMzVkYWI3OTFjOGRjYzJiYWJhOTgyYWFkYjFhNzcxNDJlNjk0OWM1ZC4uNTlkNTdkNDc2MjJl
MjZiYzE5NzBjZThmNzVmZTcyZmM3YzczYzY0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1z
aW1wbGUuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKICAg
ICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotICAgICAgICAgICAgdGVzdFJ1
bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0K
IAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZS1yZXNpemUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmlu
Zy1zdWJmcmFtZS1yZXNpemUuaHRtbAppbmRleCAzMjlkYTdiMTI3NmQxMGM3MTJiMmJmZTlkMzYw
YjhlZTQ4YTYwYWM3Li5hYzMzZTAxODI2ZmFiMWFiZTI2MjNiYWM2ZWU3ZmQ0MjM1ZGU4NjM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0LWZs
YXR0ZW5pbmctc3ViZnJhbWUtcmVzaXplLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lLXJlc2l6ZS5odG1sCkBA
IC0xLDkgKzEsOSBAQAogPGh0bWw+CiA8aGVhZD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+Ci0gICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci0gICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1
bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRl
bmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9mcmFtZXNldC1mbGF0dGVuaW5nLXN1YmZyYW1lc2V0cy5o
dG1sCmluZGV4IDgyNzNiYTdkMTRhZDg3ZWE0MTgyNDZiZTViZTkzZmExZjZhN2ViODMuLmQ2Njk2
NTM5NjEwNmYxOTUzMGQzZGFlODllZjNlOGJlOTJlZDFlNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvZnJhbWVzZXQtZmxhdHRlbmluZy1zdWJmcmFtZXNl
dHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2ZyYW1lc2V0
LWZsYXR0ZW5pbmctc3ViZnJhbWVzZXRzLmh0bWwKQEAgLTMsOCArMyw4IEBACiAgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAg
ICAgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ug
c3luY2hyb25vdXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWln
aHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJh
bWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctY3Jhc2guaHRtbAppbmRleCAwMmIwYjk5
MjhhY2I2OTczYWE3OGU0NTA0MDhkNGI2YmQ0ZGIzODk0Li5mYzExNGRhYTY0MTkxYTA1MDhiNTFi
ZGViYWFkODhmOWQ4OGEzMGY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1jcmFzaC5odG1sCkBAIC0x
LDEwICsxLDEwIEBACiA8aHRtbD4KIDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KQEAgLTIwLDcg
KzIwLDcgQEAKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1l
RmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgICA8
Ym9keSBvbnJlc2l6ZT0ndGVzdDIoKTsnPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC1oZWlnaHQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQt
aGVpZ2h0Lmh0bWwKaW5kZXggY2I2MmZkOTk3NzdkZmQyMDEwYmU4M2ZkMTFjNTIzMDFjY2QwMzll
Ni4uZmIxYTQ1ZWY1YzE5NjczMTYyNjcwZmE0Y2JjNWZmZWUzNWI0NmRiOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhl
ZC1oZWlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLWhlaWdodC5odG1sCkBAIC0zLDggKzMsOCBAQAogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIC8vIEZv
cmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Ny
b2xsaW5nLXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFt
ZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5v
LXNjcm9sbGluZy13aXRoLWpzLWZvcmNlZC1sYXlvdXQuaHRtbAppbmRleCAzZDE2ZDBhOTc3MTgy
ZTQ5ZmY0NGYzYWE5ZjA5M2E3NTlkNjM4ZWVkLi4xMGJmY2VmMTg4MGMxMjgzZDhiNzY5MmQyMTQ1
MWVhMmFhYzIxNDRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5n
LXdpdGgtanMtZm9yY2VkLWxheW91dC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVz
L2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1z
Y3JvbGxpbmctd2l0aC1qcy1mb3JjZWQtbGF5b3V0Lmh0bWwKQEAgLTQsOSArNCw5IEBACiAKICAg
ICAgICAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRv
dy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lk
dGgtYW5kLWhlaWdodC1uby1zY3JvbGxpbmcuaHRtbAppbmRleCA5OWI5NWM4M2Y0NmI5YjBhMWJk
ZmY0YjM5MWZiZmZkNTQ0MTE3NGZiLi5jZTYxYmIzYWViZDZkNzBjMmZjNDY4YTc1NTNmNDRmOTAw
OWM2MThjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtbm8tc2Nyb2xsaW5nLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1maXhlZC13aWR0aC1hbmQtaGVpZ2h0LW5vLXNjcm9sbGluZy5odG1sCkBAIC0zLDggKzMsOCBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAg
ICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWln
aHQtemVyby1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQtemVyby1zaXplLmh0bWwKaW5k
ZXggYWFmMjY1Zjc2NDQ3NTQxYWVjODNhYjFhMjZkZDljNmIyOWQ5NTI3Ni4uMzNiYzFiODUwMzll
NTZmMTg2ZTljYjBkNWZmNDMzOTk1OTVmZmY1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC1hbmQtaGVp
Z2h0LXplcm8tc2l6ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGgtYW5kLWhlaWdodC16ZXJvLXNpemUuaHRt
bApAQCAtNCw5ICs0LDkgQEAKIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewot
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5b3V0LgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13
aWR0aC1hbmQtaGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5n
L2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbAppbmRleCAxM2U5
Yzg2NjUyNTFmOGE5MzUwMTMxNWQwYzBiNzM1N2MyOThkODNkLi4wODgzYzAwY2Q4YzY0MjYxMzYw
NGJkNTZjZjAzNGI4YWE1ZDFmZmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLWZpeGVkLXdpZHRoLWFuZC1oZWlnaHQuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgog
PGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdp
bmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUp
OworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmct
Zml4ZWQtd2lkdGguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctZml4ZWQtd2lkdGguaHRtbAppbmRleCBiZWNjZjkxYjEzMmMxNjdlZGFl
ZTU4NThlODk5MzU3MWNmYTAwN2YzLi4zZWVmMDUzYjg4OTIxMWNkOTdlOWQ2MjU0N2UyNmMxZWNh
YWRiN2ZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lm
cmFtZS1mbGF0dGVuaW5nLWZpeGVkLXdpZHRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1maXhlZC13aWR0aC5odG1sCkBAIC0z
LDggKzMsOCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKLSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAg
ICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsK
ICAgICAgICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1u
ZXN0ZWQuaHRtbAppbmRleCAxNGE4MThhNzM2ZTE0ODU3MThlNTZiN2Y5ZGZlMDRlNjhjZWU0NThh
Li5lM2MxMmFkYzdkODRhODAwMDg1NGNlM2RlMDNlMDM4YWQzNjVhNjQ4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW5lc3Rl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZs
YXR0ZW5pbmctbmVzdGVkLmh0bWwKQEAgLTksOCArOSw4IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgewotICAg
ICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFt
ZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25v
dXMgbGF5b3V0LgogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CiAgICAg
ICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZy
YW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW9mZnNjcmVlbi5odG1sCmluZGV4IGU4MTEwOTRk
NDEyMzE2OTcyZmUxOTY5N2RjZWFlZWNiNDcwZGRhZjYuLmQwYzhhZmIyNDRkNjU5ZWVjOGZlOTE3
Y2MxM2RlN2IzZDBjZWQ2Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2Zs
YXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb2Zmc2NyZWVuLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vZmZzY3JlZW4uaHRt
bApAQCAtMyw4ICszLDggQEAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5p
bmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQo
dHJ1ZSk7CiAgICAgICAgICAgICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAg
ICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQt
b2Ytdmlldy1hbmQtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVu
aW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbAppbmRleCAw
OTJmZDMwYzJjNTc2MTY5ZGQ4YTcyY2NkMDY2NDRlZjI4NWY0Yjk4Li5lZjYzOGI5ZjA1ODg4OTAw
ZjU1MjliNmM3N2M0YTdlOGM0ZjQ4ZTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0
dGVuaW5nLW91dC1vZi12aWV3LWFuZC1zY3JvbGwuaHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1s
PgogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYm
IHdpbmRvdy5pbnRlcm5hbHMpIHsKICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRy
dWUpOworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0Vu
YWJsZWQodHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiB0ZXN0KCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5p
bmctb3V0LW9mLXZpZXctc2Nyb2xsLWFuZC1yZWxheW91dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3JvbGwt
YW5kLXJlbGF5b3V0Lmh0bWwKaW5kZXggOTAwYWI4MWQzMWFlYjQxMjkyMDY0MGM4ZmQ5ZjYxYWFm
ODIxOTRiMS4uMjhhZWU2NzM0ZTNkMGFiOWNhZmU1MmVjMWFiZDIyOGUwNTAyNTJlMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1vdXQtb2Ytdmlldy1zY3JvbGwtYW5kLXJlbGF5b3V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1vdXQtb2Ytdmlldy1zY3Jv
bGwtYW5kLXJlbGF5b3V0Lmh0bWwKQEAgLTEsOSArMSw5IEBACiA8aHRtbD4KIDxoZWFkPgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJu
YWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLSAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwog
ICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gdGVzdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLW91dC1vZi12aWV3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVu
aW5nLW91dC1vZi12aWV3Lmh0bWwKaW5kZXggYzQ2NmE3MjI5NGQ3YTUxYmI0MzkyNzUzZmE1M2Nl
OWZlY2M3ZjcxZi4uNGU4MDc0NmI0NDg5ZWZjYjY0YzBlZjIzMmU5ZjBmYmFhZjIwZGUzYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRl
bmluZy1vdXQtb2Ytdmlldy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctb3V0LW9mLXZpZXcuaHRtbApAQCAtMyw4ICszLDggQEAK
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgIGZ1bmN0aW9uIHRl
c3QoKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAgICAg
ICAvLyBGb3JjZSBzeW5jaHJvbm91cyBsYXlvdXQuCiAgICAgICAgICAgICBkb2N1bWVudC5ib2R5
Lm9mZnNldEhlaWdodDsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmluZy1zZWxlY3Rpb24tY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2Vs
ZWN0aW9uLWNyYXNoLmh0bWwKaW5kZXggMDc1MTgxZjYzNjZlY2M2MTlkNGMyOGNjNjVjZTIyODY5
NjE1ZGQ1OC4uYzg4YTExMmVhMWEzNGEyNTFlOTc4ZTEwZGI2MTYwOTU2ZDdlYTI3YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJhbWUtZmxhdHRlbmlu
Zy1zZWxlY3Rpb24tY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9mbGF0
dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNlbGVjdGlvbi1jcmFzaC5odG1sCkBAIC0yLDkgKzIs
OSBAQAogPGhlYWQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAg
ICBmdW5jdGlvbiB0ZXN0KCkgewotICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
ewogICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAgICAgICAg
ICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVl
KTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLy8gRm9yY2Ugc3luY2hyb25vdXMgbGF5
b3V0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9pZnJh
bWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0
ZW5pbmcvaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKaW5kZXggZDg3M2Y1OWZlMjVkMDAy
MzhkMTY1MDQ4NzAyZTJhZTVjNzMxMTRmNC4uMjcxYjg3NzMwYjFiMjU0Mjk4NzBiOTRmZThmODE4
NmMwNzY1ODJmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtZmxhdHRlbmluZy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zy
YW1lcy9mbGF0dGVuaW5nL2lmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCkBAIC0zLDggKzMs
OCBAQAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgICAgICAgZnVuY3Rp
b24gdGVzdCgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
LSAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKICAgICAg
ICAgICAgIC8vIEZvcmNlIHN5bmNocm9ub3VzIGxheW91dC4KICAgICAgICAgICAgIGRvY3VtZW50
LmJvZHkub2Zmc2V0SGVpZ2h0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2ZyYW1lcy9mbGF0dGVuaW5nL2lmcmFtZS10aW55Lmh0bWwKaW5kZXggZGU4M2VjN2Y3MjQ5ODY5
OTM0MTdmMzEyN2M3MmYyMTU4N2M5MGQzOS4uZWIwMTFlYmE2MzkyMDE5OTA3MzQ1ZTNiYzZhMDAx
OGEwYjI1M2U3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZmxhdHRlbmlu
Zy9pZnJhbWUtdGlueS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5p
bmcvaWZyYW1lLXRpbnkuaHRtbApAQCAtNSw4ICs1LDggQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IGZyYW1lIGZsYXR0ZW5pbmcgaXMgbm90IHVzZWQgZm9yIHRpbnkgZnJhbWVz
LiBUaGlzIHRlc3QgcmVxdWlyZXMgRFJUIG9yIHVzZXIgYWdlbnQgd2l0aCBmbGF0dGVuaW5nIGVu
YWJsZWQuIik7CiAKLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldEZy
YW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKIAogZnVu
Y3Rpb24gY2hlY2tSZXN1bHQoZnJhbWVOYW1lLCBleHBlY3RlZFdpZHRoLCBleHBlY3RlZEhlaWdo
dCkKIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc3BhdGlhbC1uYXZpZ2F0aW9uL3Nu
YXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NwYXRp
YWwtbmF2aWdhdGlvbi9zbmF2LWlmcmFtZS1mbGF0dGVuaW5nLXNpbXBsZS5odG1sCmluZGV4IDgz
MzM1ZGFjM2EyYjY4MjUwZDc5ZDM0ZmFmYWVkZDFkZmI2ZmEwOWYuLjlkMTFiMmNiNmRlMDdiODk5
NDcyM2MzY2JmYmE0NzQ1ZmE3NTBmZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc3Bh
dGlhbC1uYXZpZ2F0aW9uL3NuYXYtaWZyYW1lLWZsYXR0ZW5pbmctc2ltcGxlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zcGF0aWFsLW5hdmlnYXRpb24vc25hdi1pZnJhbWUtZmxhdHRlbmlu
Zy1zaW1wbGUuaHRtbApAQCAtMzcsOCArMzcsOCBAQAogCiAgICAgZnVuY3Rpb24gcnVuVGVzdCgp
CiAgICAgewotICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVy
LnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CisgICAgICBpZiAod2luZG93LmludGVy
bmFscykKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJs
ZWQodHJ1ZSk7CiAKICAgICAgIC8vIHN0YXJ0aW5nIHRoZSB0ZXN0IGl0c2VsZjogZ2V0IHRvIGEg
a25vd24gcGxhY2UuCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RhcnQiKS5mb2N1
cygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93
LWlmcmFtZS1mbGF0dGVuZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L25hcnJvdy1pZnJhbWUtZmxhdHRlbmVkLmh0bWwKaW5kZXggM2YxY2VjNDE2M2U2N2MyMTg2YjI4
MmJhZmRjZTZlNmZmMzhjMzcxNC4uMzJhMGYzMWI1MTdhNGRmYzYxZDdlZTA0NjE3ZjZmMGNhNDFh
Yzk1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbmFycm93
LWlmcmFtZS1mbGF0dGVuZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9uYXJyb3ctaWZyYW1lLWZsYXR0ZW5lZC5odG1sCkBAIC0xNCw4ICsxNCw4IEBAIGlmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CiB9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUu
d2FybikgewogICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQg
QXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJl
ZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBt
b2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBo
b25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7
CiB9Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5zZXRGcmFtZUZsYXR0
ZW5pbmdFbmFibGVkKHRydWUpOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiA8L3NjcmlwdD4KIAog
PC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1m
bGF0dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9pZnJhbWUtZmxhdHRlbmluZy0zbGV2ZWwtbmVzdGlu
Zy13aXRoLWJsb2NraW5nLXJlc291cmNlLmh0bWwKaW5kZXggOGEyMTlkNTQ4NzNiMmYwYjRiYjVi
ZTRlZDVlOWM2MjdjMzFjZjk4My4uYmE5ZGRjZWRhMWQ1ZGNiM2Y0ODQ3MGJmZTFjY2U4Mjk4NDU3
ZmUwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2lmcmFtZS1mbGF0
dGVuaW5nLTNsZXZlbC1uZXN0aW5nLXdpdGgtYmxvY2tpbmctcmVzb3VyY2UuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZsYXR0ZW5pbmctM2xldmVsLW5lc3Rp
bmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sCkBAIC0xLDEwICsxLDEwIEBACiA8aHRtbD4K
IDxoZWFkPgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3
aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICAgICAgdGVz
dFJ1bm5lci5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKHRydWUpOworICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7CiAgICAgICAg
IH0KICAgICA8L3NjcmlwdD4KICAgICA8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOyB9PC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGEzYzhlNTE0ZGI2NjAxOGEzODRjZTFhZWJhNzBlMmUzZWZkNjZlNTAu
Ljk4NTUwNzMyNGI1NTE4NDkzNGJhY2ZkNDM1MzcxNWU3YzIxZTkyNmEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtODE0LDcgKzgxNCw3
IEBAIGZhc3QvZG9tL0VsZW1lbnQvaWQtaW4tZGVsZXRlYnV0dG9uLmh0bWwgWyBXb250Rml4IF0K
IGZhc3QvZmFzdC1tb2JpbGUtc2Nyb2xsaW5nL2ZpeGVkLXBvc2l0aW9uLWVsZW1lbnQuaHRtbCBb
IFdvbnRGaXggXQogZmFzdC9mYXN0LW1vYmlsZS1zY3JvbGxpbmcvbm8tZml4ZWQtcG9zaXRpb24t
ZWxlbWVudHMuaHRtbCBbIFdvbnRGaXggXQogCi0jIFRlc3RzIGZvciBmcmFtZXNldCBmbGF0dGVu
aW5nLiBSZWxldmFudCBvbmx5IG9uIG1vYmlsZSBicm93c2Vycy4KKyMgVGVzdHMgZm9yIGZyYW1l
c2V0IGZsYXR0ZW5pbmcgd2hpY2ggaXMgbm90IHVzZWQgYnkgQ2hyb21pdW0uCiBmYXN0L2ZyYW1l
cy9mbGF0dGVuaW5nIFsgV29udEZpeCBdCiBmYXN0L3RleHQtYXV0b3NpemluZy9uYXJyb3ctaWZy
YW1lLWZsYXR0ZW5lZC5odG1sIFsgV29udEZpeCBdCiBodHRwL3Rlc3RzL21pc2MvaWZyYW1lLWZs
YXR0ZW5pbmctM2xldmVsLW5lc3Rpbmctd2l0aC1ibG9ja2luZy1yZXNvdXJjZS5odG1sIFsgV29u
dEZpeCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mcmFtZXMv
ZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9mcmFtZXMvZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmNhYWQwZmE0NGIzMzM4ZDY2NDRiZmJhODhmMzc1Mzg4ZTZmMjk5OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ZyYW1lcy9m
bGF0dGVuaW5nL3NldC1wcmVmZXJlbmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1Rl
c3QgZm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lk
ZSB0aGUgRFJULgorCitUaGlzIGlubmVyIGZyYW1lIHNob3VsZCBiZSA0MDBweCBpbiBlYWNoIGRp
cmVjdGlvbiBhbmQgaXQgbXVzdCBub3QgYmUgc2Nyb2xsYWJsZSBvciBoYXZlIHNjcm9sbGJhcnMu
CisKKworCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
cmFtZXMvZmxhdHRlbmluZy9zZXQtcHJlZmVyZW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcvc2V0LXByZWZlcmVuY2UuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kYjNmZWMzODI1OTdjMjJkMDFjM2ExOWQxN2NmNzAxNjVhNjkzYTc0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZnJhbWVzL2ZsYXR0ZW5pbmcv
c2V0LXByZWZlcmVuY2UuaHRtbApAQCAtMCwwICsxLDM0IEBACis8aHRtbD4KKzxoZWFkPgorPHN0
eWxlPgoraWZyYW1lIHsKKyAgICB3aWR0aDogMjAlOworICAgIGhlaWdodDogMjAlOworICAgIGJv
cmRlcjogMDsKK30gIAorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9yZXNv
dXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCIsICIxIik7CisKK3dpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0Owor
ICAgIGNoZWNrTGF5b3V0KCcjdGVzdCcpOworfTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c3R5bGU+Ym9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9PC9zdHlsZT4KKzxwPlRl
c3QgZm9yIGlmcmFtZSBmbGF0dGVuaW5nLiBUaGUgZmxhdHRlbmluZyBvbmx5IHdvcmtzIGluc2lk
ZSB0aGUgRFJULjwvcD4KKzxwPlRoaXMgaW5uZXIgZnJhbWUgc2hvdWxkIGJlIDQwMHB4IGluIGVh
Y2ggZGlyZWN0aW9uIGFuZCBpdCBtdXN0IG5vdCBiZSBzY3JvbGxhYmxlIG9yIGhhdmUgc2Nyb2xs
YmFycy48L3A+CisKKzxwIGlkPSJ0ZXN0Ij48aWZyYW1lIGRhdGEtZXhwZWN0ZWQtd2lkdGg9NDAw
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PTQwMCBzcmM9ImRhdGE6dGV4dC9odG1sLAorICAgIDxzdHls
ZT5ib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyBtYXJnaW46IDA7IH08L3N0eWxlPgorICAg
IDxib2R5PgorICAgICAgICA8ZGl2IHN0eWxlPSd3aWR0aDogNDAwcHg7IGhlaWdodDogNDAwcHg7
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyc+PC9kaXY+CisgICAgPC9ib2R5PgorIj48L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0
LXdpdGgtcGx1Z2luLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL2ZyYW1lc2V0LXdp
dGgtcGx1Z2luLWZyYW1lLmh0bWwKaW5kZXggMzc1YjQ3ZjgzNmVlMjQ0ZTJlYWViZTAzOTEyYzI2
OGIxNGM5YjRmMS4uMWYzOGU3YTY1MmY3YTYzYzM5ZmI1Y2UzZWQ0ZTM0YWNhNGRkYTg2YyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGx1Z2lucy9mcmFtZXNldC13aXRoLXBsdWdpbi1mcmFtZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvZnJhbWVzZXQtd2l0aC1wbHVnaW4tZnJhbWUu
aHRtbApAQCAtMSw5ICsxLDkgQEAKIDxodG1sPgogPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIGNoYXJzZXQ9InV0Zi04Ij4KLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgewogICAgICAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci0gICAgICAgIHRlc3RSdW5uZXIuc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQodHJ1ZSk7
CiAgICAgICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRVc2VzUGFnZUNh
Y2hlUHJlZmVyZW5jZUtleSIsIDEpOwogICAgICAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVy
ZW5jZSgiV2ViS2l0UGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zUHJlZmVyZW5jZUtleSIsIDEpOwog
ICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>