<?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>76216</bug_id>
          
          <creation_ts>2012-01-12 14:46:39 -0800</creation_ts>
          <short_desc>Focus events should use FocusEvent interface (instead of UIEvents) and expose relatedTarget property</short_desc>
          <delta_ts>2013-02-07 00:41:19 -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>Tools / Tests</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>76214</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Terry Anderson">tdanderson</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>cbiesinger</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fsamuel</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>rjkroege</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>syoichi</cc>
    
    <cc>tdanderson</cc>
    
    <cc>tdresser</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>535192</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-12 14:46:39 -0800</bug_when>
    <thetext>WebKit does not support DOM 3 Events FocusEvent

We dispatch blur/focus events, but they are not themselves FocusEvent objects (they&apos;re not even UIEvent objects), thus they don&apos;t have things like relatedTarget set on them.

http://www.w3.org/TR/DOM-Level-3-Events/#webidl-events-FocusEvent

I noticed this when investigating these IETC tests:
http://samples.msdn.microsoft.com/ietestcenter/domevents/focusin.relatedTarget.html
http://samples.msdn.microsoft.com/ietestcenter/domevents/focusout.relatedTarget.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538981</commentid>
    <comment_count>1</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-01-19 13:30:43 -0800</bug_when>
    <thetext>I will be taking a look at this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>541999</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-01-24 21:49:03 -0800</bug_when>
    <thetext>Great!  Let us know if we can help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549156</commentid>
    <comment_count>3</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-03 15:25:33 -0800</bug_when>
    <thetext>Running http://samples.msdn.microsoft.com/ietestcenter/domevents/focusin.relatedTarget.html on chromium linux: clicking on the button does not actually dispatch a focusin event, but tabbing to the button does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553163</commentid>
    <comment_count>4</comment_count>
      <attachid>126303</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-09 07:50:47 -0800</bug_when>
    <thetext>Created attachment 126303
Layout test for 76216

Layout test to verify that relatedTarget is set appropriately when focusin and focusout events are dispatched by tabbing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553522</commentid>
    <comment_count>5</comment_count>
      <attachid>126378</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-09 14:45:13 -0800</bug_when>
    <thetext>Created attachment 126378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553524</commentid>
    <comment_count>6</comment_count>
      <attachid>126378</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-09 14:47:52 -0800</bug_when>
    <thetext>Comment on attachment 126378
Patch

The change looks OK, but the ChangeLog needs work.  I assume your&apos;e just moving the *Mediator classes?  Can you explain what all your doing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553528</commentid>
    <comment_count>7</comment_count>
      <attachid>126378</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-02-09 14:54:56 -0800</bug_when>
    <thetext>Comment on attachment 126378
Patch

Attachment 126378 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11487448</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553539</commentid>
    <comment_count>8</comment_count>
      <attachid>126381</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-09 15:03:10 -0800</bug_when>
    <thetext>Created attachment 126381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553541</commentid>
    <comment_count>9</comment_count>
      <attachid>126381</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-09 15:06:10 -0800</bug_when>
    <thetext>Comment on attachment 126381
Patch

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

So you made no logic changes besides adding the FocusEvent class?  Is that correct?

&gt; Source/WebCore/ChangeLog:9
&gt; +        Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute.  Moved
&gt; +        the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent.  Now when
&gt; +        focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget
&gt; +        attribute set accordingly.

I probably would have done these two things in separate changes...

&gt; Source/WebCore/dom/EventFactory.in:12
&gt; +FocusEvents interfaceName=FocusEvent

FocusEvents?  I don&apos;t see this used.  Sounds like a separate change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553580</commentid>
    <comment_count>10</comment_count>
      <attachid>126381</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-02-09 15:51:25 -0800</bug_when>
    <thetext>Comment on attachment 126381
Patch

Attachment 126381 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11485417</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553590</commentid>
    <comment_count>11</comment_count>
      <attachid>126381</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-02-09 16:07:39 -0800</bug_when>
    <thetext>Comment on attachment 126381
Patch

Attachment 126381 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/11487457</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553610</commentid>
    <comment_count>12</comment_count>
      <attachid>126381</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-02-09 16:29:38 -0800</bug_when>
    <thetext>Comment on attachment 126381
Patch

Attachment 126381 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/11487470</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553615</commentid>
    <comment_count>13</comment_count>
      <attachid>126381</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-09 16:40:21 -0800</bug_when>
    <thetext>Comment on attachment 126381
Patch

Attachment 126381 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11496118

New failing tests:
fast/dom/shadow/shadow-boundary-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555666</commentid>
    <comment_count>14</comment_count>
      <attachid>126847</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-13 15:19:10 -0800</bug_when>
    <thetext>Created attachment 126847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555703</commentid>
    <comment_count>15</comment_count>
      <attachid>126853</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-13 16:00:56 -0800</bug_when>
    <thetext>Created attachment 126853
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556434</commentid>
    <comment_count>16</comment_count>
      <attachid>127003</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-14 11:22:07 -0800</bug_when>
    <thetext>Created attachment 127003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556490</commentid>
    <comment_count>17</comment_count>
      <attachid>127003</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-14 12:26:00 -0800</bug_when>
    <thetext>Comment on attachment 127003
Patch

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

The diff is a bit broken, but otherwise looks OK.  Upload a new patch and we&apos;re good to go.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:996
&gt; -		4123081B138C429700BCCFCA /* WebCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93F19B1A08245E5A001E9ABC /* WebCore.framework */; };
&gt; +		4123081B138C429700BCCFCA /* .framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93F19B1A08245E5A001E9ABC /* .framework */; };

I think this is an error.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:7819
&gt; -		417DA6D013734E02007C57FB /* libWebCoreTestSupport.dylib */ = {isa = PBXFileReference; explicitFileType = &quot;compiled.mach-o.dylib&quot;; includeInIndex = 0; path = libWebCoreTestSupport.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
&gt; +		417DA6D013734E02007C57FB /* .dylib */ = {isa = PBXFileReference; explicitFileType = &quot;compiled.mach-o.dylib&quot;; includeInIndex = 0; path = .dylib; sourceTree = BUILT_PRODUCTS_DIR; };
&gt;  		417DA71B13735DFA007C57FB /* JSInternals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSInternals.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };

This too.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:10142
&gt; -		93F19B1A08245E5A001E9ABC /* WebCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
&gt; +		93F19B1A08245E5A001E9ABC /* .framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = .framework; sourceTree = BUILT_PRODUCTS_DIR; };

Same error.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:24278
&gt; +&lt;&lt;&lt;&lt;&lt;&lt;&lt; HEAD
&gt; +				B6D9D23514EABD260090D75E /* FocusEvent.h in Headers */,
&gt; +				B6D9D27B14EAC0860090D75E /* JSFocusEvent.h in Headers */,
&gt; +=======
&gt;  				C598905714E9C28000E8D18B /* PasteboardStrategy.h in Headers */,
&gt;  				C598905814E9C29900E8D18B /* PlatformPasteboard.h in Headers */,
&gt; +&gt;&gt;&gt;&gt;&gt;&gt;&gt; gclient

Merge confict.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556556</commentid>
    <comment_count>18</comment_count>
      <attachid>127030</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-14 13:29:16 -0800</bug_when>
    <thetext>Created attachment 127030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556558</commentid>
    <comment_count>19</comment_count>
      <attachid>127030</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-14 13:32:06 -0800</bug_when>
    <thetext>Comment on attachment 127030
Patch

LGTM.  Please let the EWS bots munch on it before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557038</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 01:30:05 -0800</bug_when>
    <thetext>Attachment 127003 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
From git://git.webkit.org/WebKit
   a9730c4..2ce77d7  master     -&gt; origin/master
Partial-rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc ...
Currently at 107794 = c59b9dab74417b86c7b5b60a4408ab3e5d1659a8
r107793 = 2ce77d76874b9ee77991fecb540696485733202a
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
	M	Source/WebCore/ChangeLog
	M	Source/WebCore/platform/graphics/FontCache.cpp
107794 = c59b9dab74417b86c7b5b60a4408ab3e5d1659a8 already exists! Why are we refetching it?
 at /usr/lib/git-core/git-svn line 5210

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557245</commentid>
    <comment_count>21</comment_count>
      <attachid>127181</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-15 07:06:17 -0800</bug_when>
    <thetext>Created attachment 127181
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557295</commentid>
    <comment_count>22</comment_count>
      <attachid>127181</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 08:30:07 -0800</bug_when>
    <thetext>Comment on attachment 127181
Patch

Rejecting attachment 127181 from commit-queue.

tdanderson@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557463</commentid>
    <comment_count>23</comment_count>
      <attachid>127181</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 12:31:29 -0800</bug_when>
    <thetext>Comment on attachment 127181
Patch

Rejecting attachment 127181 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
sing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;, &apos;--force-update&apos;]&quot; exit_code: 9
ntinue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/11532272</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557512</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 13:34:32 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 127181:

perf/mouse-event.html bug 78736 (author: eae@chromium.org)
inspector/debugger/script-formatter-console.html bug 78737 (author: pfeldman@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557780</commentid>
    <comment_count>25</comment_count>
      <attachid>127181</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-15 17:51:05 -0800</bug_when>
    <thetext>Comment on attachment 127181
Patch

Rejecting attachment 127181 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
kit-commit-queue/Source/WebKit/chromium/tools/win --revision 122122 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
43&gt;At revision 122122.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/11527929</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558211</commentid>
    <comment_count>26</comment_count>
      <attachid>127383</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2012-02-16 08:23:46 -0800</bug_when>
    <thetext>Created attachment 127383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558224</commentid>
    <comment_count>27</comment_count>
      <attachid>127383</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-16 08:37:04 -0800</bug_when>
    <thetext>Comment on attachment 127383
Patch

The cq got sick yesterday with the git.webkit.org outage.  The failures had nothing to do with your patch as far as I can tell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558282</commentid>
    <comment_count>28</comment_count>
      <attachid>127383</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 09:51:42 -0800</bug_when>
    <thetext>Comment on attachment 127383
Patch

Clearing flags on attachment: 127383

Committed r107952: &lt;http://trac.webkit.org/changeset/107952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558283</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-16 09:51:51 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816228</commentid>
    <comment_count>30</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-24 22:20:18 -0800</bug_when>
    <thetext>This change has been rolled out in r108034.

Do you have any plan to support FocusEvent in WebKit?

(I&apos;m asking this just because I wanted to implement a constructor for FocusEvent.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>816677</commentid>
    <comment_count>31</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-01-25 09:50:49 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; This change has been rolled out in r108034.
&gt; 
&gt; Do you have any plan to support FocusEvent in WebKit?
&gt; 
&gt; (I&apos;m asking this just because I wanted to implement a constructor for FocusEvent.)

This was my starter bug from a year ago and to be honest I didn&apos;t realize it got rolled out until seeing your comment here!

If you want to take ownership of this issue and try to re-land this patch, please feel free to assign yourself to the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818708</commentid>
    <comment_count>32</comment_count>
      <attachid>185197</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-29 01:31:01 -0800</bug_when>
    <thetext>Created attachment 185197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818719</commentid>
    <comment_count>33</comment_count>
      <attachid>185197</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-29 01:38:15 -0800</bug_when>
    <thetext>Comment on attachment 185197
Patch

Attachment 185197 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16183073</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818733</commentid>
    <comment_count>34</comment_count>
      <attachid>185203</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-29 01:55:21 -0800</bug_when>
    <thetext>Created attachment 185203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818795</commentid>
    <comment_count>35</comment_count>
      <attachid>185203</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-29 03:23:15 -0800</bug_when>
    <thetext>Comment on attachment 185203
Patch

Attachment 185203 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16115145

New failing tests:
fast/events/related-target-focusevent.html
fast/forms/month-multiple-fields/month-multiple-fields-blur-and-focus-events.html
fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html
fast/forms/time-multiple-fields/time-multiple-fields-blur-and-focus-events.html
fast/forms/date-multiple-fields/date-multiple-fields-blur-and-focus-events.html
fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events.html
fast/dom/shadow/shadow-boundary-events.html
fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818831</commentid>
    <comment_count>36</comment_count>
      <attachid>185203</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-29 04:37:28 -0800</bug_when>
    <thetext>Comment on attachment 185203
Patch

Attachment 185203 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16115169

New failing tests:
fast/events/related-target-focusevent.html
fast/forms/month-multiple-fields/month-multiple-fields-blur-and-focus-events.html
fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html
fast/forms/time-multiple-fields/time-multiple-fields-blur-and-focus-events.html
fast/forms/date-multiple-fields/date-multiple-fields-blur-and-focus-events.html
fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events.html
fast/dom/shadow/shadow-boundary-events.html
fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818888</commentid>
    <comment_count>37</comment_count>
      <attachid>185233</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-29 06:17:08 -0800</bug_when>
    <thetext>Created attachment 185233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818980</commentid>
    <comment_count>38</comment_count>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-01-29 08:40:18 -0800</bug_when>
    <thetext>(In reply to comment #37)
&gt; Created an attachment (id=185233) [details]
&gt; Patch

Be sure to keep an eye on the two chromium mac tests that failed for my patch: https://bugs.webkit.org/show_bug.cgi?id=78832. From looking at the logs, EWS didn&apos;t catch fast/dom/shadow/shadow-boundary-events.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>818986</commentid>
    <comment_count>39</comment_count>
      <attachid>185233</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-29 08:49:32 -0800</bug_when>
    <thetext>Comment on attachment 185233
Patch

Attachment 185233 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16203186

New failing tests:
fast/forms/month-multiple-fields/month-multiple-fields-blur-and-focus-events.html
fast/forms/time-multiple-fields/time-multiple-fields-state-change-on-focus-or-blur.html
fast/forms/time-multiple-fields/time-multiple-fields-blur-and-focus-events.html
fast/forms/date-multiple-fields/date-multiple-fields-blur-and-focus-events.html
fast/dom/shadow/shadow-boundary-events.html
fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events.html
fast/forms/week-multiple-fields/week-multiple-fields-blur-and-focus-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819125</commentid>
    <comment_count>40</comment_count>
      <attachid>185233</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 11:20:45 -0800</bug_when>
    <thetext>Comment on attachment 185233
Patch

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

New failing tests:
fast/events/related-target-focusevent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819270</commentid>
    <comment_count>41</comment_count>
      <attachid>185233</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-29 13:23:20 -0800</bug_when>
    <thetext>Comment on attachment 185233
Patch

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

New failing tests:
fast/events/related-target-focusevent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819812</commentid>
    <comment_count>42</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-29 22:41:09 -0800</bug_when>
    <thetext>Out of curiosity, why do we want to support this?  Is there a site that requires it?  Is it a good feature?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819813</commentid>
    <comment_count>43</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-29 22:44:35 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; Out of curiosity, why do we want to support this?  Is there a site that requires it?  Is it a good feature?

Terry, Eric: do you have any background context?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819814</commentid>
    <comment_count>44</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-29 22:50:58 -0800</bug_when>
    <thetext>I filed this based on IE Test Center tests.  It&apos;s not at all clear to me that we want this.  Just because IE has it doesn&apos;t mean we should. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819816</commentid>
    <comment_count>45</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-29 22:52:50 -0800</bug_when>
    <thetext>That said... it does kinda make sense that an Event would have its own class.  At least a DOM-level event generated by the browser. :)  My position was one of ambivalence.  I&apos;m really neither for nor against w/o further research.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819818</commentid>
    <comment_count>46</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-29 22:54:54 -0800</bug_when>
    <thetext>Because it&apos;s in the spec is the only reason for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819821</commentid>
    <comment_count>47</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-29 22:56:22 -0800</bug_when>
    <thetext>I just tested in Chrome and FF on my Mac and neither of them even seemed to dispatch the focus event for the button.  I&apos;m not sure we send focus events for buttons on Mac?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819823</commentid>
    <comment_count>48</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-29 22:58:40 -0800</bug_when>
    <thetext>The focusout test however, results in a UIEvent in Chrome, but nothing in Firefox.

It would appear that focus events are not universally supported in the first place, let alone with the spec&apos;d prototype chain. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819826</commentid>
    <comment_count>49</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-29 23:01:17 -0800</bug_when>
    <thetext>Again, I feel il-informed, and would love comment from one of the spec authors.  Or even what they believe their implementation status is.  It seems fine to wait on this bug until something actually needs it (which is inevitable now that one major browser supports these).

As noted from my testing above, it&apos;s possible that focus events don&apos;t even make sense on a system like Mac where buttons don&apos;t get focused from clicks!

Interestingly, testing fucus using tab (which can focus a button) doesn&apos;t dispatch the events in FF either, but again, does in Chrome, just with the &quot;wrong&quot; type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819832</commentid>
    <comment_count>50</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-29 23:18:15 -0800</bug_when>
    <thetext>Adding focusin/focusout may introduce new security vulnerabilities if they can fire when focus/blur doesn&apos;t fire.

In general, these synchronous focus related events are evil and we should not try to support them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819833</commentid>
    <comment_count>51</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-01-29 23:20:42 -0800</bug_when>
    <thetext>I agree synchronous JS events are bad-news.  I should clarify that this bug is about what prototype chain we have on the event we send, whether or not we send it, btw. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819834</commentid>
    <comment_count>52</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-29 23:21:19 -0800</bug_when>
    <thetext>(In reply to comment #51)
&gt; I agree synchronous JS events are bad-news.  I should clarify that this bug is about what prototype chain we have on the event we send, whether or not we send it, btw. :)

We should probably rename the bug title then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819835</commentid>
    <comment_count>53</comment_count>
      <attachid>185233</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-29 23:24:59 -0800</bug_when>
    <thetext>Comment on attachment 185233
Patch

Clearing r? for now, as the topic looks controversial and the patch breaks several tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820230</commentid>
    <comment_count>54</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-01-30 08:39:31 -0800</bug_when>
    <thetext>Heh. Glad I asked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820327</commentid>
    <comment_count>55</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-01-30 10:57:59 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; Out of curiosity, why do we want to support this?  Is there a site that requires it?  Is it a good feature?

It&apos;s a good feature and we absolutely should do it. Knowing which element is getting blurred during a focus event (and vice versa) is very useful and practically impossible to keep track of in JS code. 

I don&apos;t know of a site that requires it, but we get web developers asking for this all the time.

(In reply to comment #53)
&gt; (From update of attachment 185233 [details])
&gt; Clearing r? for now, as the topic looks controversial and the patch breaks several tests.

Lets try to get this in. There&apos;s no controversy. The working group discussed this and there was all-around support. Also, this is a dupe of bug 100785. The approach in bug 100785 seems much simpler. Is there a case that approach gets wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820389</commentid>
    <comment_count>56</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-01-30 12:04:26 -0800</bug_when>
    <thetext>(In reply to comment #55)
&gt; (In reply to comment #42)
&gt; &gt; Out of curiosity, why do we want to support this?  Is there a site that requires it?  Is it a good feature?
&gt; 
&gt; It&apos;s a good feature and we absolutely should do it. Knowing which element is getting blurred during a focus event (and vice versa) is very useful and practically impossible to keep track of in JS code. 
&gt; 
&gt; I don&apos;t know of a site that requires it, but we get web developers asking for this all the time.
&gt; 
&gt; (In reply to comment #53)
&gt; &gt; (From update of attachment 185233 [details] [details])
&gt; &gt; Clearing r? for now, as the topic looks controversial and the patch breaks several tests.
&gt; 
&gt; Lets try to get this in. There&apos;s no controversy. The working group discussed this and there was all-around support. Also, this is a dupe of bug 100785. The approach in bug 100785 seems much simpler. Is there a case that approach gets wrong?

Yeah, my concern was if we were adding new event or firing it often. It seems like we&apos;re not doing that, so using the right interface object seems like an obvious improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>822330</commentid>
    <comment_count>57</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-01-31 22:29:58 -0800</bug_when>
    <thetext>(In reply to comment #55)
&gt; Lets try to get this in. There&apos;s no controversy. The working group discussed this and there was all-around support. Also, this is a dupe of bug 100785. The approach in bug 100785 seems much simpler. Is there a case that approach gets wrong?

The approach looks good but it looks like our approaches are the same. Tests about relatedTarget of focus/blur/focusin/focusout events are failing on both of our patches. Let me polish them up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824043</commentid>
    <comment_count>58</comment_count>
      <attachid>186302</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-03 22:02:49 -0800</bug_when>
    <thetext>Created attachment 186302
Patch

probably fixed all crashes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824050</commentid>
    <comment_count>59</comment_count>
      <attachid>186302</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-03 22:13:23 -0800</bug_when>
    <thetext>Comment on attachment 186302
Patch

Attachment 186302 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16369051</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824054</commentid>
    <comment_count>60</comment_count>
      <attachid>186302</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-02-03 22:15:12 -0800</bug_when>
    <thetext>Comment on attachment 186302
Patch

Attachment 186302 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/16366139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824055</commentid>
    <comment_count>61</comment_count>
      <attachid>186305</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-03 22:15:46 -0800</bug_when>
    <thetext>Created attachment 186305
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824064</commentid>
    <comment_count>62</comment_count>
      <attachid>186305</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-03 22:24:57 -0800</bug_when>
    <thetext>Comment on attachment 186305
Patch

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:19541
&gt; +                                B6D9D27A14EAC0860090D75E /* JSFocusEvent.cpp */,
&gt; +                                B6D9D27914EAC0860090D75E /* JSFocusEvent.h */,

Looks like hte indent is wrong.

&gt; Source/WebCore/dom/FocusEvent.cpp:42
&gt; +};

Extra ;

&gt; Source/WebCore/dom/FocusEvent.h:54
&gt; +    FocusEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;AbstractView&gt;, int, PassRefPtr&lt;EventTarget&gt;);

What is int detail?  Is it ever used?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824066</commentid>
    <comment_count>63</comment_count>
      <attachid>186305</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-03 22:28:17 -0800</bug_when>
    <thetext>Comment on attachment 186305
Patch

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

&gt;&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:19541
&gt;&gt; +                                B6D9D27914EAC0860090D75E /* JSFocusEvent.h */,
&gt; 
&gt; Looks like hte indent is wrong.

Will fix.

&gt;&gt; Source/WebCore/dom/FocusEvent.h:54
&gt;&gt; +    FocusEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;AbstractView&gt;, int, PassRefPtr&lt;EventTarget&gt;);
&gt; 
&gt; What is int detail?  Is it ever used?

detail is an attribute of UIEvent (https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-uievent). Regarding focusin/focusout events triggered inside WebCore, detail is always set to 0. (Please look at the diff of Node.cpp.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824068</commentid>
    <comment_count>64</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-03 22:30:48 -0800</bug_when>
    <thetext>I see, so detail is something that can be set from JS but not ever from our impl?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824070</commentid>
    <comment_count>65</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-03 22:32:08 -0800</bug_when>
    <thetext>(In reply to comment #64)
&gt; I see, so detail is something that can be set from JS but not ever from our impl?

Yes, I think so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824131</commentid>
    <comment_count>66</comment_count>
      <attachid>186305</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-04 01:15:01 -0800</bug_when>
    <thetext>Comment on attachment 186305
Patch

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

New failing tests:
fast/events/related-target-focusevent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824138</commentid>
    <comment_count>67</comment_count>
      <attachid>186305</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-04 01:23:39 -0800</bug_when>
    <thetext>Comment on attachment 186305
Patch

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

New failing tests:
fast/events/related-target-focusevent.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824143</commentid>
    <comment_count>68</comment_count>
      <attachid>186305</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 01:30:27 -0800</bug_when>
    <thetext>Comment on attachment 186305
Patch

Attachment 186305 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16377015

New failing tests:
fast/dom/shadow/shadow-boundary-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824178</commentid>
    <comment_count>69</comment_count>
      <attachid>186305</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 03:00:21 -0800</bug_when>
    <thetext>Comment on attachment 186305
Patch

Attachment 186305 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16368140

New failing tests:
fast/dom/shadow/shadow-boundary-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824953</commentid>
    <comment_count>70</comment_count>
      <attachid>186509</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-04 17:40:53 -0800</bug_when>
    <thetext>Created attachment 186509
WIP: to see bot results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825059</commentid>
    <comment_count>71</comment_count>
      <attachid>186509</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 20:20:06 -0800</bug_when>
    <thetext>Comment on attachment 186509
WIP: to see bot results

Attachment 186509 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16366568

New failing tests:
fast/dom/shadow/shadow-boundary-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825067</commentid>
    <comment_count>72</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-04 20:24:07 -0800</bug_when>
    <thetext>(In reply to comment #71)
&gt; (From update of attachment 186509 [details])
&gt; Attachment 186509 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/16366568
&gt; 
&gt; New failing tests:
&gt; fast/dom/shadow/shadow-boundary-events.html

Now it looks like that this is the only failure. I don&apos;t understand why the test fails in the chromium-linux bot even though the test passes in my local linux release/debug environment. Any idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825102</commentid>
    <comment_count>73</comment_count>
      <attachid>186509</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 21:14:28 -0800</bug_when>
    <thetext>Comment on attachment 186509
WIP: to see bot results

Attachment 186509 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16375517

New failing tests:
fast/dom/shadow/shadow-boundary-events.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825974</commentid>
    <comment_count>74</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-05 17:53:27 -0800</bug_when>
    <thetext>(In reply to comment #73)
&gt; (From update of attachment 186509 [details])
&gt; Attachment 186509 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/16375517
&gt; 
&gt; New failing tests:
&gt; fast/dom/shadow/shadow-boundary-events.html

Is there any way to retrieve the bot result? Given that the test is passing on my local chromium-release build, there is no hint for debugging...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826344</commentid>
    <comment_count>75</comment_count>
      <attachid>186829</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 04:46:24 -0800</bug_when>
    <thetext>Created attachment 186829
another try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826667</commentid>
    <comment_count>76</comment_count>
      <attachid>186829</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-06 12:49:55 -0800</bug_when>
    <thetext>Comment on attachment 186829
another try

Lots of tabs in the XCode file. :(  I know XCode is a big pain in the ass to edit, sorry. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826746</commentid>
    <comment_count>77</comment_count>
    <who name="Christian Biesinger">cbiesinger</who>
    <bug_when>2013-02-06 14:04:50 -0800</bug_when>
    <thetext>*** Bug 100785 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826747</commentid>
    <comment_count>78</comment_count>
    <who name="Christian Biesinger">cbiesinger</who>
    <bug_when>2013-02-06 14:05:47 -0800</bug_when>
    <thetext>Do you not need the event constructor attributes in the IDL file? Like what my patch had:

+[
+    ConstructorConditional=DOM4_EVENTS_CONSTRUCTOR,
+    ConstructorTemplate=Event
+]
+interface FocusEvent : UIEvent
+{
+    [InitializedByEventConstructor] readonly attribute EventTarget      relatedTarget;
+};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826881</commentid>
    <comment_count>79</comment_count>
      <attachid>186947</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 16:46:12 -0800</bug_when>
    <thetext>Created attachment 186947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826884</commentid>
    <comment_count>80</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 16:46:49 -0800</bug_when>
    <thetext>(In reply to comment #76)
&gt; (From update of attachment 186829 [details])
&gt; Lots of tabs in the XCode file. :(  I know XCode is a big pain in the ass to edit, sorry. :(

eric: Thanks. Fixed the tab issue. Now bots are green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826885</commentid>
    <comment_count>81</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 16:47:47 -0800</bug_when>
    <thetext>(In reply to comment #78)
&gt; Do you not need the event constructor attributes in the IDL file? Like what my patch had:

Let me do it in a follow-up patch with test cases. I&apos;ll also upload a couple of follow-up patches for refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826897</commentid>
    <comment_count>82</comment_count>
      <attachid>186947</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-06 16:58:00 -0800</bug_when>
    <thetext>Comment on attachment 186947
Patch

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

This looks fantastic!

&gt; Source/WebCore/dom/FocusEvent.cpp:42
&gt; +};

Extra ;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826902</commentid>
    <comment_count>83</comment_count>
      <attachid>186951</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 17:03:10 -0800</bug_when>
    <thetext>Created attachment 186951
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826905</commentid>
    <comment_count>84</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-02-06 17:04:14 -0800</bug_when>
    <thetext>I think we should support these on focus/blur as well. See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html for the www-dom discussion.

Doesn&apos;t need to block this patch, but it&apos;d be a nice followup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826908</commentid>
    <comment_count>85</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 17:05:53 -0800</bug_when>
    <thetext>(In reply to comment #84)
&gt; I think we should support these on focus/blur as well. See http://lists.w3.org/Archives/Public/www-dom/2012OctDec/0061.html for the www-dom discussion.

Will do! (though I hit a bunch of crashes when I tried it:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827110</commentid>
    <comment_count>86</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-07 00:31:41 -0800</bug_when>
    <thetext>Committed r142072: &lt;http://trac.webkit.org/changeset/142072&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>126303</attachid>
            <date>2012-02-09 07:50:47 -0800</date>
            <delta_ts>2012-02-09 07:50:47 -0800</delta_ts>
            <desc>Layout test for 76216</desc>
            <filename>related-target-focusevent.html</filename>
            <type>text/html</type>
            <size>2848</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgogICAgPHNjcmlwdD4KICAgICAgICAKICAgICAgICBmdW5jdGlvbiBsb2co
bXNnKQogICAgICAgIHsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZycp
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicpKTsKICAgICAg
ICB9CgogICAgICAgIGZ1bmN0aW9uIHRlc3QoKSAKICAgICAgICB7ICAgICAgIAogICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKCiAgICAgICAgICAgIHZhciBJTkVWRU5UID0g
ImZvY3VzaW4iOwogICAgICAgICAgICB2YXIgT1VURVZFTlQgPSAiZm9jdXNvdXQiOwogICAgICAg
ICAgICAKICAgICAgICAgICAgdmFyIGIxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRv
bjEnKTsKICAgICAgICAgICAgdmFyIGIyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRv
bjInKTsKICAgICAgICAgICAgdmFyIGIzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRv
bjMnKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGIxLmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVO
VCwgVGVzdEluRXZlbnQsIHRydWUpOwogICAgICAgICAgICBiMi5hZGRFdmVudExpc3RlbmVyKElO
RVZFTlQsIFRlc3RJbkV2ZW50LCB0cnVlKTsKICAgICAgICAgICAgYjMuYWRkRXZlbnRMaXN0ZW5l
cihJTkVWRU5ULCBUZXN0SW5FdmVudCwgdHJ1ZSk7CiAgICAgICAgICAgIAogICAgICAgICAgICBi
MS5hZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOwogICAgICAg
ICAgICBiMi5hZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOwog
ICAgICAgICAgICBiMy5hZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRy
dWUpOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAKICAgICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCA0OyBpKyspIAogICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bign
XHQnKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZnVuY3Rpb24gVGVzdEluRXZlbnQoZXZ0
KSAKICAgICAgICB7CiAgICAgICAgICAgIGlmIChldnQucmVsYXRlZFRhcmdldCkKICAgICAgICAg
ICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRz
IHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0LmlubmVyVGV4dCk7CiAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIg
cmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFy
Z2V0KTsgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICBmdW5jdGlvbiBUZXN0T3V0RXZlbnQo
ZXZ0KSAKICAgICAgICB7CiAgICAgICAgICAgIGlmIChldnQucmVsYXRlZFRhcmdldCkKICAgICAg
ICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNvdXQs
IGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVsYXRlZFRhcmdldC5pbm5lclRleHQpOwog
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBsb2coZXZ0LnRhcmdldC5pbm5lclRleHQg
KyAiIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyAiICsgZXZ0LnJlbGF0
ZWRUYXJnZXQpOwogICAgICAgICAgICAgCiAgICAgICAgfQogICAgPC9zY3JpcHQ+CjwvaGVhZD4K
PGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgo8cD5MYXlvdXQgdGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2IiB0YWJpbmRleD0tMT5odHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTY8L2E+LiAgQ2hlY2tzIHRo
YXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVjdHMgaXMg
YmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNw
YXRjaGVkLiAgPGI+UHJlc3MgdGFiIGZvdXIgdGltZXM8L2I+IHRvIGRpc3BhdGNoIGEgZm9jdXNp
biBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVhY2ggb2YgdGhlIGJ1dHRvbnMgYmVsb3cuPC9wPgog
ICAgPGJ1dHRvbiBpZD0iYnV0dG9uMSI+TWVvdzwvYnV0dG9uPgogICAgPGJ1dHRvbiBpZD0iYnV0
dG9uMiI+UHVycjwvYnV0dG9uPgogICAgPGJ1dHRvbiBpZD0iYnV0dG9uMyI+RnVyITwvYnV0dG9u
PgogICAgPGJ1dHRvbiBpZD0iaW5wdXRkb25lIj5Eb25lPC9idXR0b24+CiAgICA8cD5FeHBlY3Rl
ZCBSZXN1bHQ8L3A+CiAgICA8cHJlPgpNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVk
VGFyZ2V0IGlzIG51bGwKTWVvdyByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQg
aXMgUHVycgpQdXJyIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIE1lb3cK
UHVyciByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQpGdXIhIHJl
Y2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKRnVyISByZWNlaXZlZCBm
b2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRG9uZQogICAgPC9wcmU+CiAgICA8cD5BY3R1
YWwgUmVzdWx0PC9wPgogICAgPHByZSBpZD0ibG9nIj48L3ByZT4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126378</attachid>
            <date>2012-02-09 14:45:13 -0800</date>
            <delta_ts>2012-02-09 15:03:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120209174511.patch</filename>
            <type>text/plain</type>
            <size>35438</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVlZjA3MWQzNTg0OGVm
ZjFjZmE5YWU3ZDlhNjI2ZDM1ZTQyMmI3Ny4uMjg5MjQwYjBkZTc4YmIwZmNkYjVkMDFhYzgyZTky
NDFlMDljNzRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTAyLTA5ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3JlbGF0ZWQt
dGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwOgorICAgICAgICAqIGRvbS9FdmVudERp
c3BhdGNoTWVkaWF0b3IuaDoKKyAgICAgICAgKiBkb20vRXZlbnRGYWN0b3J5LmluOgorICAgICAg
ICAqIGRvbS9Gb2N1c0V2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9jdXNFdmVudDo6fkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6
aW5pdEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW50ZXJmYWNl
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpldmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6
CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgKiBkb20vRm9jdXNFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmguCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OnJlbGF0ZWRUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6c2V0UmVsYXRlZFRhcmdldCk6CisgICAgICAgIChGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAg
ICAgKEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZTo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlz
cGF0Y2hGb2N1c091dEV2ZW50KToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAg
ICogZG9tL1VJRXZlbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTIt
MDItMDggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHRvZ2dsZSBFZGl0IGFzIEhUTUwgb24gRjIsIGRyYWcgbm9kZXMgdXAgLyBk
b3duIHVwb24gQ3RybChDbWQpIFVwIC8gRG93bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlNGE1MjI3
MWI3NDc4NDlmZjg0ZGVhZDU0ODQyZTA3Mjc5NDNiNGFhLi5hZTBjYzgyYjcyZGRlMmI5NWY2MjJj
MTBjMGYxZWJhMGI4OTUyZjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02MjQsNiArNjI0LDcgQEAK
ICAgICAgICAgICAgICdkb20vVGV4dC5oJywKICAgICAgICAgICAgICdkb20vVGV4dEV2ZW50SW5w
dXRUeXBlLmgnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50LmgnLAorICAgICAgICAgICAgJ2Rv
bS9Gb2N1c0V2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmgn
LAogICAgICAgICAgICAgJ2RvbS9Vc2VyR2VzdHVyZUluZGljYXRvci5oJywKICAgICAgICAgICAg
ICdkb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCcsCkBAIC04MTUsNiArODE2LDcgQEAK
ICAgICAgICAgICAgICdkb20vVG91Y2hMaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RyZWVX
YWxrZXIuaWRsJywKICAgICAgICAgICAgICdkb20vVUlFdmVudC5pZGwnLAorICAgICAgICAgICAg
J2RvbS9Gb2N1c0V2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2
ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsJywK
ICAgICAgICAgICAgICdkb20vV2ViS2l0TmFtZWRGbG93LmlkbCcsCkBAIC01MTI2LDYgKzUxMjgs
NyBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9t
L1RyZWVXYWxrZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuY3BwJywKKyAgICAgICAg
ICAgICdkb20vRm9jdXNFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50V2l0aEtl
eVN0YXRlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmNwcCcs
CiAgICAgICAgICAgICAnZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmNwcCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwCmluZGV4IGIyNDc0Y2I5
NTFlNmM5MTQ2M2NmOWYzMTU4NmRlYzNlNzIzMDlmMzMuLmE3NWU3ZWQzYzM1YTA5NTc3Mjk3ZmM4
Mjk3MWJkZmYzYWVhYzVmNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERp
c3BhdGNoTWVkaWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNo
TWVkaWF0b3IuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC01MSwzOCArNTEsNCBAQCBib29sIEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0CiAg
ICAgcmV0dXJuIGRpc3BhdGNoZXItPmRpc3BhdGNoRXZlbnQobV9ldmVudC5nZXQoKSk7CiB9CiAK
LVBhc3NSZWZQdHI8Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKLXsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKG9sZEZvY3Vz
ZWROb2RlKSk7Ci19Ci0KLUZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0V2ZW50RGlz
cGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotICAgIDogRXZl
bnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmZvY3VzRXZlbnQs
IGZhbHNlLCBmYWxzZSkpCi0gICAgLCBtX29sZEZvY3VzZWROb2RlKG9sZEZvY3VzZWROb2RlKQot
ewotfQotCi1ib29sIEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2
ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsKLSAgICBkaXNwYXRjaGVyLT5hZGp1
c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fb2xkRm9jdXNlZE5vZGUpOwotICAgIHJldHVybiBF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Ci19Ci0KLVBh
c3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gQmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yKG5ld0ZvY3VzZWROb2Rl
KSk7Ci19Ci0KLUJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OkJsdXJFdmVudERpc3BhdGNoTWVk
aWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLSAgICA6IEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcihFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQsIGZhbHNlLCBm
YWxzZSkpCi0gICAgLCBtX25ld0ZvY3VzZWROb2RlKG5ld0ZvY3VzZWROb2RlKQotewotfQotCi1i
b29sIEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRj
aGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRU
YXJnZXQoZXZlbnQoKSwgbV9uZXdGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCmlu
ZGV4IDI2ZTVkMmYyMTJlOWRkMGI1Yzg0NWE0NDdmZDRkNzQ1YmFlZDU4NmMuLmNhOTlkNTgxMDEy
MDY1ZjE5OWQwNjI3ZDYzOGE5MDNkNDZhMzgzNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnREaXNwYXRjaE1lZGlhdG9yLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTU3LDIzICs1Nyw2IEBAIHByaXZhdGU6CiAgICAg
UmVmUHRyPEV2ZW50PiBtX2V2ZW50OwogfTsKIAotY2xhc3MgRm9jdXNFdmVudERpc3BhdGNoTWVk
aWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQ
dHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBGb2N1c0V2
ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKLSAg
ICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKLSAg
ICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKLX07Ci0KLWNsYXNzIEJsdXJFdmVudERp
c3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUo
UGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0
IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9k
ZSk7Ci0gICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29u
c3Q7Ci0gICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Ci19OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3Rv
cnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCmluZGV4IDFiNTAwY2Q3
OTlhOGZjNDZjZGM5YWU3OWZhZTA4MDZkZTBhYWQxZGQuLjk2NzRiNTM2MmU2MmE4MWVlMGYxYWRh
ZDUwODkzMTQ2YjE0ZmM0MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZh
Y3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgpAQCAtOCw2
ICs4LDggQEAgQ2xvc2VFdmVudAogQ29tcG9zaXRpb25FdmVudAogQ3VzdG9tRXZlbnQKIEVycm9y
RXZlbnQKK0ZvY3VzRXZlbnQKK0ZvY3VzRXZlbnRzIGludGVyZmFjZU5hbWU9Rm9jdXNFdmVudAog
SGFzaENoYW5nZUV2ZW50CiBLZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VO
YW1lPUtleWJvYXJkRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MjRmYTljNDRmZDBiMDcwMmQ0MGEwZjc5Y2NhNDkxM2MxYzYzYTNkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCkBAIC0wLDAgKzEsMTcxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2
ZW50RGlzcGF0Y2hlci5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKK3sKK30KKworRm9jdXNFdmVudDo6
fkZvY3VzRXZlbnQoKQoreworfQorCit2b2lkIEZvY3VzRXZlbnQ6OmluaXRGb2N1c0V2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwg
UGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZl
bnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpCit7CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIAorICAgIGluaXRVSUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2Vs
YWJsZSwgdmlldywgMCk7CisgICAgCisgICAgbV9yZWxhdGVkVGFyZ2V0ID0gcmVsYXRlZFRhcmdl
dDsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBGb2N1c0V2ZW50OjppbnRlcmZhY2VOYW1lKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvckZvY3VzRXZlbnQ7
Cit9CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBi
b29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4g
dmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkK
KyAgICA6IFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwp
CisgICAgLCBtX3JlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCkKK3sKK30KKworCisKK1Bhc3NS
ZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8
Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBvbGRGb2N1c2VkTm9kZSkpOworfQorCitGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBh
c3NSZWZQdHI8Rm9jdXNFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5v
ZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCisgICAgLCBtX29sZEZvY3Vz
ZWROb2RlKG9sZEZvY3VzZWROb2RlKQoreworfQorCitib29sIEZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25z
dAoreworICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmRpc2FibGVkKCkpIC8vIERvbid0IGV2
ZW4gc2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250cm9scy4KKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgCisgICAgaWYgKGV2ZW50KCktPnR5cGUoKS5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsgLy8gU2hvdWxkbid0IGhhcHBlbi4KKyAgICAKKyAgICBSZWZQdHI8RXZl
bnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQgPSBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0
KGV2ZW50KCksIG1fb2xkRm9jdXNlZE5vZGUpOworICAgIGV2ZW50KCktPnNldFJlbGF0ZWRUYXJn
ZXQocmVsYXRlZFRhcmdldCk7CisgICAgIAorICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7ICAgCit9CisKK0ZvY3VzRXZlbnQqIEZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Rm9jdXNFdmVudCo+KEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSk7Cit9
CisKKworCitQYXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c091
dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gZXZl
bnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgbmV3Rm9jdXNlZE5v
ZGUpKTsKK30KKworRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnRE
aXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8
Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQp
CisgICAgLCBtX25ld0ZvY3VzZWROb2RlKG5ld0ZvY3VzZWROb2RlKQoreworfQorCitib29sIEZv
Y3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hl
ciogZGlzcGF0Y2hlcikgY29uc3QKK3sKKyAgICBpZiAoZGlzcGF0Y2hlci0+bm9kZSgpLT5kaXNh
YmxlZCgpKSAvLyBEb24ndCBldmVuIHNlbmQgRE9NIGV2ZW50cyBmb3IgZGlzYWJsZWQgY29udHJv
bHMuCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIGlmIChldmVudCgpLT50eXBlKCku
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFNob3VsZG4ndCBoYXBwZW4uCisg
ICAgCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0ID0gZGlzcGF0Y2hlci0+
YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKKyAgICBldmVu
dCgpLT5zZXRSZWxhdGVkVGFyZ2V0KHJlbGF0ZWRUYXJnZXQpOworICAgICAKKyAgICByZXR1cm4g
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOworfQorCitG
b2N1c0V2ZW50KiBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSBjb25zdAor
eworICAgIHJldHVybiBzdGF0aWNfY2FzdDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpldmVudCgpKTsKK30KKworCisKK1Bhc3NSZWZQdHI8Rm9jdXNFdmVudERpc3BhdGNoTWVk
aWF0b3I+IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2Rl
PiBvbGRGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKG9sZEZvY3VzZWROb2RlKSk7Cit9CisKK0ZvY3VzRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG9s
ZEZvY3VzZWROb2RlKQorICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLmZvY3VzRXZlbnQsIGZhbHNlLCBmYWxzZSkpCisgICAgLCBtX29sZEZvY3Vz
ZWROb2RlKG9sZEZvY3VzZWROb2RlKQoreworfQorCitib29sIEZvY3VzRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QK
K3sKKyAgICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fb2xkRm9j
dXNlZE5vZGUpOworICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZl
bnQoZGlzcGF0Y2hlcik7Cit9CisKKworCitQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVk
aWF0b3I+IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+
IG5ld0ZvY3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQmx1ckV2ZW50RGlz
cGF0Y2hNZWRpYXRvcihuZXdGb2N1c2VkTm9kZSkpOworfQorCitCbHVyRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9j
dXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVu
dE5hbWVzKCkuYmx1ckV2ZW50LCBmYWxzZSwgZmFsc2UpKQorICAgICwgbV9uZXdGb2N1c2VkTm9k
ZShuZXdGb2N1c2VkTm9kZSkKK3sKK30KKworYm9vbCBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKK3sKKyAg
ICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5v
ZGUpOworICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlz
cGF0Y2hlcik7Cit9CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2
ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTcxYjNiYTllYjU3ZmU1NGM5OTRjMTE2ZmMxNTVhMDliNmFiZTI3
ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmgKQEAg
LTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEZvY3VzRXZlbnRfaAorI2RlZmluZSBGb2N1c0V2ZW50X2gK
KworI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hNZWRpYXRvci5oIgorI2luY2x1ZGUgIlVJRXZlbnQu
aCIKKworCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBGb2N1c0V2ZW50IDogcHVi
bGljIFVJRXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+
IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZlbnQp
OworICAgIH0KKyAgICAgICAKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxh
YmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0
cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgRm9jdXNFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRl
dGFpbCwgcmVsYXRlZFRhcmdldCkpOworICAgIH0KKyAgICAgICAKKyAgICB2aXJ0dWFsIH5Gb2N1
c0V2ZW50KCk7CisgICAgdm9pZCBpbml0Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RW
aWV3PiwgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCk7
CisgICAgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3JlbGF0
ZWRUYXJnZXQuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFJlbGF0ZWRUYXJnZXQoUGFzc1JlZlB0cjxF
dmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkgeyBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFy
Z2V0OyB9CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBj
b25zdDsKKyAgICAKK3ByaXZhdGU6CisgICAgRm9jdXNFdmVudCgpOworICAgIEZvY3VzRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRU
YXJnZXQ+IHJlbGF0ZWRUYXJnZXQpOyAgICAgICAgCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBt
X3JlbGF0ZWRUYXJnZXQ7Cit9OworICAgIAorICAgIAorY2xhc3MgRm9jdXNJbkV2ZW50RGlzcGF0
Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQ
YXNzUmVmUHRyPEZvY3VzRXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsK
K3ByaXZhdGU6CisgICAgZXhwbGljaXQgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNz
UmVmUHRyPEZvY3VzRXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKKyAg
ICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKKyAg
ICBGb2N1c0V2ZW50KiBldmVudCgpIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3Vz
ZWROb2RlOworfTsKKyAgICAKKyAKK2NsYXNzIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
IDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRy
PEZvY3VzRXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKK3ByaXZhdGU6
CisgICAgZXhwbGljaXQgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxG
b2N1c0V2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7CisgICAgdmlydHVh
bCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7CisgICAgRm9jdXNF
dmVudCogZXZlbnQoKSBjb25zdDsKKyAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsK
K307CisgICAgCisgICAgCitjbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1Ymxp
YyBFdmVudERpc3BhdGNoTWVkaWF0b3IgeyAgICAKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4g
b2xkRm9jdXNlZE5vZGUpOworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBGb2N1c0V2ZW50RGlzcGF0
Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKKyAgICB2aXJ0dWFs
IGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKKyAgICBSZWZQdHI8
Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKK307IAorICAgIAorCitjbGFzcyBCbHVyRXZlbnREaXNw
YXRjaE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7ICAgICAgIAorcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNy
ZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsgICAgICAgIAorcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4g
bmV3Rm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlz
cGF0Y2hlciopIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBtX25ld0ZvY3VzZWROb2RlOworfTsg
ICAgIAorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBGb2N1c0V2ZW50X2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTMwZjJiMTkzYWYyMzc4ZTVk
NzI1OGM0ZjM5ZmY2NjZiOTM3MTNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzRXZlbnQuaWRsCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgZXZlbnRzIHsKKworICAg
IC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDM6CisgICAgaW50ZXJmYWNlIEZvY3VzRXZlbnQg
OiBVSUV2ZW50IHsKKworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRXZlbnRUYXJnZXQgICAg
ICByZWxhdGVkVGFyZ2V0OworCisgICAgICAgIHZvaWQgaW5pdEZvY3VzRXZlbnQoaW4gW09wdGlv
bmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBi
b29sZWFuIGNhbkJ1YmJsZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBib29sZWFuIGNhbmNlbGFibGUsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRE9NV2luZG93IHZpZXcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gbG9uZyBkZXRhaWwsIAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1
bHRWYWx1ZV0gRXZlbnRUYXJnZXQgcmVsYXRlZFRhcmdldCk7CisKKyAgICB9OworCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKaW5kZXggMzliOGZhODk1Y2RmN2IyMTQzODkzYjlkZDVmNTI3OWQzNmU2ZGQwNC4u
OTVlNDNhNDhmN2VhMTYwOWE3YzU1MDkyYTU1ZTAzM2U4Y2Q3Y2JiMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRl
ICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZv
Y3VzRXZlbnQuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgog
I2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCkBAIC0yNzY0LDE0ICsyNzY1LDE0IEBAIHZvaWQgTm9k
ZTo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBh
c3NSZWZQdHI8Tm9kZT4KIHsKICAgICBBU1NFUlQoIWV2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7
CiAgICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2
ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50KTsKLSAgICBkaXNwYXRjaFNj
b3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCkt
PmRlZmF1bHRWaWV3KCksIDApLCBvbGRGb2N1c2VkTm9kZSkpOworICAgIGRpc3BhdGNoU2NvcGVk
RXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0
ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+
ZGVmYXVsdFZpZXcoKSwgMCwgb2xkRm9jdXNlZE5vZGUpLCBvbGRGb2N1c2VkTm9kZSkpOwogfQog
CiB2b2lkIE5vZGU6OmRpc3BhdGNoRm9jdXNPdXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKIHsKICAgICBBU1NFUlQo
IWV2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CiAgICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkuZm9jdXNvdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUZv
Y3VzT3V0RXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZv
Y3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2ZW50
VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDApLCBuZXdGb2N1
c2VkTm9kZSkpOworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3Vz
T3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVudDo6Y3JlYXRlKGV2ZW50
VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDAsIG5ld0ZvY3Vz
ZWROb2RlKSwgbmV3Rm9jdXNlZE5vZGUpKTsKIH0KIAogdm9pZCBOb2RlOjpkaXNwYXRjaERPTUFj
dGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL1VJRXZlbnQuY3BwCmluZGV4IGZmM2ZmNGFmY2Y5YjIxMjExYjdiNTMxZmFmNTQ3
ZDEzZWY4ZmQ1NjkuLmI1NTM5ZWM1MjhkNmZmMWViYTc5YzU1NDQwOGI3MzY3ODMzNjYyZTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVUlFdmVudC5jcHAKQEAgLTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDEgVG9iaWFzIEFudG9uIChhbnRvbkBzdHVkLmZiaS5maC1kYXJtc3RhZHQuZGUpCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtLndlaW5pZ0BnbWFpbC5jb20pCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDMsIDIwMDUsIDIwMDYsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTExMCwzOCArMTExLDQgQEAgdm9pZCBV
SUV2ZW50Ojp3YXJuRGVwcmVjYXRlZExheWVyWFlVc2FnZSgpCiAgICAgICAgIG1fdmlldy0+Y29u
c29sZSgpLT5hZGRNZXNzYWdlKEpTTWVzc2FnZVNvdXJjZSwgTG9nTWVzc2FnZVR5cGUsIFdhcm5p
bmdNZXNzYWdlTGV2ZWwsIGNvbnNvbGVNZXNzYWdlKTsKIH0KIAotUGFzc1JlZlB0cjxGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVh
dGUoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5v
ZGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlh
dG9yKGV2ZW50LCBvbGRGb2N1c2VkTm9kZSkpOwotfQotCi1Gb2N1c0luRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+IGV2
ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRj
aE1lZGlhdG9yKGV2ZW50KQotICAgICwgbV9vbGRGb2N1c2VkTm9kZShvbGRGb2N1c2VkTm9kZSkK
LXsKLX0KLQotYm9vbCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50
KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsKLSAgICBkaXNwYXRjaGVyLT5h
ZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fb2xkRm9jdXNlZE5vZGUpOwotICAgIHJldHVy
biBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Ci19Ci0K
LVBhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzT3V0RXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQ
dHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1
c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgbmV3Rm9jdXNlZE5vZGUpKTsKLX0KLQot
Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlh
dG9yKFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWRO
b2RlKQotICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50KQotICAgICwgbV9uZXdGb2N1
c2VkTm9kZShuZXdGb2N1c2VkTm9kZSkKLXsKLX0KLQotYm9vbCBGb2N1c091dEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNv
bnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25l
d0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRj
aEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJ
RXZlbnQuaAppbmRleCBkMTI5NGM5NTJmYzFiZDA3NzhjMWI2MTNjMDFlMDQ3YTVlYjhlOWZhLi40
ZGZiYTI2YmNkNjNmZTQ3MDZiMzMwZDY1OTBiODYzM2Y1YTUxNDEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50
LmgKQEAgLTMsNiArMyw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMDEgVG9iaWFzIEFudG9uIChh
bnRvbkBzdHVkLmZiaS5maC1kYXJtc3RhZHQuZGUpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2Ft
dWVsIFdlaW5pZyAoc2FtLndlaW5pZ0BnbWFpbC5jb20pCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDMs
IDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKQEAgLTc1LDI0ICs3Niw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgaW50IG1fZGV0YWlsOwogICAgIH07CiAKLSAgICBjbGFzcyBGb2N1c0luRXZlbnRE
aXNwYXRjaE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7Ci0gICAgcHVi
bGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlh
dG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNl
ZE5vZGUpOwotICAgIHByaXZhdGU6Ci0gICAgICAgIGV4cGxpY2l0IEZvY3VzSW5FdmVudERpc3Bh
dGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNl
ZE5vZGUpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNo
ZXIqKSBjb25zdDsKLSAgICAgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNlZE5vZGU7Ci0gICAg
fTsKLQotICAgIGNsYXNzIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVibGljIEV2
ZW50RGlzcGF0Y2hNZWRpYXRvciB7Ci0gICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8RXZl
bnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICBwcml2YXRlOgotICAg
ICAgICBleHBsaWNpdCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEV2
ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7Ci0gICAgICAgIHZpcnR1YWwg
Ym9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OwotICAgICAgICBSZWZQ
dHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsKLSAgICB9OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBVSUV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRl
eCA0MWFjZTA0ZDBlNTY4M2VlMWM1MGU0MjAyZDg0ODY0NzNhNThiOGUzLi5iZmI5NWYzNDEzYjZi
M2I4MGI2NWJkYmUzNmEzYWE2NWNmZmRjYTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CkBAIC0xLDYgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwg
MjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC01MDksNiArNTA5LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAg
ICAgIGF0dHJpYnV0ZSBDb21wb3NpdGlvbkV2ZW50Q29uc3RydWN0b3IgQ29tcG9zaXRpb25FdmVu
dDsKICAgICAgICAgYXR0cmlidXRlIEN1c3RvbUV2ZW50Q29uc3RydWN0b3IgQ3VzdG9tRXZlbnQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBFcnJvckV2ZW50Q29uc3RydWN0b3IgRXJyb3JFdmVudDsKKyAg
ICAgICAgYXR0cmlidXRlIEZvY3VzRXZlbnRDb25zdHJ1Y3RvciBGb2N1c0V2ZW50OwogICAgICAg
ICBhdHRyaWJ1dGUgSGFzaENoYW5nZUV2ZW50Q29uc3RydWN0b3IgSGFzaENoYW5nZUV2ZW50Owog
ICAgICAgICBhdHRyaWJ1dGUgS2V5Ym9hcmRFdmVudENvbnN0cnVjdG9yIEtleWJvYXJkRXZlbnQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBNZXNzYWdlRXZlbnRDb25zdHJ1Y3RvciBNZXNzYWdlRXZlbnQ7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggYzk0Njk3YjExM2NjN2I0ZWNhYWNhODYxNmE4MDQwMjNjOGQ0NWQ4OC4uZTZmY2I4
OTNjYjc3YzhlZmQ1NmY3ZmU4Y2I0OWY2ZGVlNmQzNzI5YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDEyLTAyLTA5ICBUZXJyeSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFdlYktpdCBkb2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9l
dmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRlZC10YXJn
ZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTItMDItMDggIFBh
dmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHRvZ2dsZSBFZGl0IGFzIEhUTUwgb24gRjIsIGRyYWcgbm9kZXMgdXAgLyBkb3duIHVwb24g
Q3RybChDbWQpIFVwIC8gRG93bi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2
ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA2MzU5ZTk5YTk3NWIzY2I5OWFjNTY1MDNl
MzMyZDg3YzU1MzZiODg5Li5hNGViYmIwZGFhNjA2NGZlMjgyOWE3NDdjYjMzMWFmMWU1MWZlMjQz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0yMSw2ICsyMSwxMCBAQCBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdD
dXN0b21FdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuQ3VzdG9tRXZlbnQgaXMgdAogUEFT
UyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkVy
cm9yRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcp
IGluc3RhbmNlb2Ygd2luZG93LkV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0Vycm9yRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkVycm9yRXZlbnQgaXMgdHJ1
ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2lu
ZG93LkZvY3VzRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNF
dmVudCcpIGluc3RhbmNlb2Ygd2luZG93LlVJRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5j
cmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50IGlzIHRydWUK
K1BBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0g
d2luZG93LkZvY3VzRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFz
aENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuSGFzaENoYW5nZUV2ZW50IGlzIHRydWUK
IFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LkV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFu
Z2VFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSGFzaENoYW5nZUV2ZW50IGlzIHRydWUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCmluZGV4IDYzZGJh
MDRiYTE1MWI1N2U5MGIzMjMzYmU0YWJlNmRhNTAzYTlhYWMuLmE5ODI5NjZmMzFiZjhmZjI5NmRk
YTYwMDFjMTQwNTliNjJlOTI3M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQt
Y3JlYXRpb24uaHRtbApAQCAtMzcsNiArMzcsMTIgQEAKICAgICBzaG91bGRCZVRydWUoImRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsK
ICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykuY29u
c3RydWN0b3IgPT09IHdpbmRvdy5FcnJvckV2ZW50Iik7CiAKKyAgICAvLyBGb2N1c0V2ZW50Cisg
ICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3Rh
bmNlb2Ygd2luZG93LkZvY3VzRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuVUlFdmVudCIpOworICAg
IHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5j
ZW9mIHdpbmRvdy5FdmVudCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0ZvY3VzRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkZvY3VzRXZlbnQiKTsgICAg
CisKICAgICAvLyBIYXNoQ2hhbmdlRXZlbnQKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5IYXNoQ2hhbmdl
RXZlbnQiKTsKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hh
bmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44NTkwZDVlMzM2MzcxM2Q4ZjY2ZWFhMjQ3OGVkYmIxNDQwNmFi
YmI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10
YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorTGF5b3V0IHRl
c3QgZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNi4gQ2hl
Y2tzIHRoYXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVj
dHMgaXMgYmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFy
ZSBkaXNwYXRjaGVkLiBQcmVzcyB0YWIgZm91ciB0aW1lcyB0byBkaXNwYXRjaCBhIGZvY3VzaW4g
YW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LgorCitNZW93
ICBQdXJyICBGdXIhICBEb25lCitFeHBlY3RlZCBSZXN1bHQKKworTWVvdyByZWNlaXZlZCBmb2N1
c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBudWxsCitNZW93IHJlY2VpdmVkIGZvY3Vzb3V0LCBp
dHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitQdXJyIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxh
dGVkVGFyZ2V0IGlzIE1lb3cKK1B1cnIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFy
Z2V0IGlzIEZ1ciEKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMg
UHVycgorRnVyISByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRG9uZQor
ICAgIAorQWN0dWFsIFJlc3VsdAorCitNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVk
VGFyZ2V0IGlzIG51bGwKK01lb3cgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0
IGlzIFB1cnIKK1B1cnIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVv
dworUHVyciByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVy
ISByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2Vp
dmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBEb25lCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kYzU1ZWRmMGE2MjhhMTBlNzY2ZjM1NzI1MGNlZDE2ZTg1Zjk1Yjk3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNl
dmVudC5odG1sCkBAIC0wLDAgKzEsNzMgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdD4K
KyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIGxvZyhtc2cpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlv
biB0ZXN0KCkgCisgICAgICAgIHsgICAgICAgCisgICAgICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSAKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIHZhciBJTkVWRU5UID0gImZvY3VzaW4iOworICAg
ICAgICAgICAgdmFyIE9VVEVWRU5UID0gImZvY3Vzb3V0IjsKKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgdmFyIGIxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjEnKTsKKyAgICAg
ICAgICAgIHZhciBiMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJyk7CisgICAg
ICAgICAgICB2YXIgYjMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMycpOworICAg
ICAgICAgICAgCisgICAgICAgICAgICBiMS5hZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRlc3RJ
bkV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAgIGIyLmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVOVCwg
VGVzdEluRXZlbnQsIHRydWUpOworICAgICAgICAgICAgYjMuYWRkRXZlbnRMaXN0ZW5lcihJTkVW
RU5ULCBUZXN0SW5FdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGIxLmFk
ZEV2ZW50TGlzdGVuZXIoT1VURVZFTlQsIFRlc3RPdXRFdmVudCwgdHJ1ZSk7CisgICAgICAgICAg
ICBiMi5hZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAg
ICAgICAgICAgYjMuYWRkRXZlbnRMaXN0ZW5lcihPVVRFVkVOVCwgVGVzdE91dEV2ZW50LCB0cnVl
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgIAorICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCA0OyBpKyspIAorICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURv
d24oJ1x0Jyk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIFRlc3RJbkV2
ZW50KGV2dCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChldnQucmVsYXRlZFRhcmdldCkK
KyAgICAgICAgICAgICAgICBsb2coZXZ0LnRhcmdldC5pbm5lclRleHQgKyAiIHJlY2VpdmVkIGZv
Y3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVsYXRlZFRhcmdldC5pbm5lclRl
eHQpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0Lmlu
bmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2
dC5yZWxhdGVkVGFyZ2V0KTsgIAorICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlv
biBUZXN0T3V0RXZlbnQoZXZ0KSAKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGV2dC5yZWxh
dGVkVGFyZ2V0KQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIg
cmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVsYXRlZFRh
cmdldC5pbm5lclRleHQpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZyhl
dnQudGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFy
Z2V0IGlzICIgKyBldnQucmVsYXRlZFRhcmdldCk7CisgICAgICAgICAgICAgCisgICAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxwPkxheW91
dCB0ZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzYyMTYiIHRhYmluZGV4PS0xPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjIxNjwvYT4uICBDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUg
Zm9yIEZvY3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNp
bi9mb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuICA8Yj5QcmVzcyB0YWIgZm91ciB0aW1l
czwvYj4gdG8gZGlzcGF0Y2ggYSBmb2N1c2luIGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBv
ZiB0aGUgYnV0dG9ucyBiZWxvdy48L3A+CisgICAgPGJ1dHRvbiBpZD0iYnV0dG9uMSI+TWVvdzwv
YnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImJ1dHRvbjIiPlB1cnI8L2J1dHRvbj4KKyAgICA8YnV0
dG9uIGlkPSJidXR0b24zIj5GdXIhPC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iaW5wdXRkb25l
Ij5Eb25lPC9idXR0b24+CisgICAgPHA+RXhwZWN0ZWQgUmVzdWx0PC9wPgorICAgIDxwcmU+CitN
ZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIG51bGwKK01lb3cgcmVj
ZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK1B1cnIgcmVjZWl2ZWQg
Zm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVvdworUHVyciByZWNlaXZlZCBmb2N1c291
dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVyISByZWNlaXZlZCBmb2N1c2luLCBpdHMg
cmVsYXRlZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRl
ZFRhcmdldCBpcyBEb25lCisgICAgPC9wcmU+CisgICAgPHA+QWN0dWFsIFJlc3VsdDwvcD4KKyAg
ICA8cHJlIGlkPSJsb2ciPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126381</attachid>
            <date>2012-02-09 15:03:10 -0800</date>
            <delta_ts>2012-02-13 15:19:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120209180309.patch</filename>
            <type>text/plain</type>
            <size>35773</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVlZjA3MWQzNTg0OGVm
ZjFjZmE5YWU3ZDlhNjI2ZDM1ZTQyMmI3Ny4uMTZhYzU5YmNkZWYzZjdhZDVkZjFiNTdkN2QyYjAy
ZDk4NDNkNDc5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTAyLTA5ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIENyZWF0ZWQg
YSBuZXcgRm9jdXNFdmVudCBjbGFzcyAoZXh0ZW5kcyBVSUV2ZW50KSB3aXRoIGEgcmVsYXRlZFRh
cmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixG
b2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4g
IE5vdyB3aGVuCisgICAgICAgIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRj
aGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRlZCB3aXRoIHRoZSByZWxhdGVkVGFyZ2V0CisgICAg
ICAgIGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQt
Zm9jdXNldmVudC5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogZG9t
L0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHA6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5oOgorICAgICAgICAqIGRvbS9FdmVudEZhY3RvcnkuaW46CisgICAgICAgICogZG9t
L0ZvY3VzRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNFdmVudDo6Rm9jdXNFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2
ZW50Ojp+Rm9jdXNFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50Ojppbml0Rm9j
dXNFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjppbnRlcmZhY2VOYW1lKToK
KyAgICAgICAgKFdlYkNvcmU6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzSW5FdmVudERp
c3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJ
bkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNP
dXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1
c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3Bh
dGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6
OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZl
bnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkJs
dXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpCbHVy
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQpOgor
ICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
Rm9jdXNFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJD
b3JlOjpGb2N1c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKEZvY3VzSW5FdmVu
dERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3IpOgorICAgICAgICAoRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoQmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpk
aXNwYXRjaEZvY3VzSW5FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZv
Y3VzT3V0RXZlbnQpOgorICAgICAgICAqIGRvbS9VSUV2ZW50LmNwcDoKKyAgICAgICAgKiBkb20v
VUlFdmVudC5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMi0wMi0wOCAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogdG9nZ2xlIEVkaXQgYXMgSFRNTCBvbiBGMiwgZHJhZyBub2RlcyB1cCAvIGRvd24gdXBv
biBDdHJsKENtZCkgVXAgLyBEb3duLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGU0YTUyMjcxYjc0Nzg0
OWZmODRkZWFkNTQ4NDJlMDcyNzk0M2I0YWEuLmFlMGNjODJiNzJkZGUyYjk1ZjYyMmMxMGMwZjFl
YmEwYjg5NTJmNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYyNCw2ICs2MjQsNyBAQAogICAgICAg
ICAgICAgJ2RvbS9UZXh0LmgnLAogICAgICAgICAgICAgJ2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUu
aCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaCcsCisgICAgICAgICAgICAnZG9tL0ZvY3Vz
RXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaCcsCiAgICAg
ICAgICAgICAnZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgnLAogICAgICAgICAgICAgJ2RvbS9V
c2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oJywKQEAgLTgxNSw2ICs4MTYsNyBAQAogICAgICAg
ICAgICAgJ2RvbS9Ub3VjaExpc3QuaWRsJywKICAgICAgICAgICAgICdkb20vVHJlZVdhbGtlci5p
ZGwnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9tL0Zv
Y3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsJywKQEAgLTUxMjYsNiArNTEyOCw3IEBACiAg
ICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuY3BwJywKICAgICAgICAgICAgICdkb20vVHJlZVdh
bGtlci5oJywKICAgICAgICAgICAgICdkb20vVUlFdmVudC5jcHAnLAorICAgICAgICAgICAgJ2Rv
bS9Gb2N1c0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUu
Y3BwJywKICAgICAgICAgICAgICdkb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwJywKICAgICAg
ICAgICAgICdkb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuY3BwJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKaW5kZXggYjI0NzRjYjk1MWU2Yzkx
NDYzY2Y5ZjMxNTg2ZGVjM2U3MjMwOWYzMy4uYTc1ZTdlZDNjMzVhMDk1NzcyOTdmYzgyOTcxYmRm
ZjNhZWFjNWY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRv
ci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTUxLDM4ICs1MSw0IEBAIGJvb2wgRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpk
aXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKICAgICByZXR1
cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2ZW50LmdldCgpKTsKIH0KIAotUGFzc1Jl
ZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUp
KTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1l
ZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3Bh
dGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2Us
IGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCi17Ci19Ci0K
LWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNw
YXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0
ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0
cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRv
cHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUpKTsKLX0K
LQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQ
YXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRjaE1lZGlh
dG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFsc2UsIGZhbHNlKSkK
LSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgQmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRp
c3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChl
dmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgKaW5kZXggMjZl
NWQyZjIxMmU5ZGQwYjVjODQ1YTQ0N2ZkNGQ3NDViYWVkNTg2Yy4uY2E5OWQ1ODEwMTIwNjVmMTk5
ZDA2MjdkNjM4YTkwM2Q0NmEzODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3Bh
dGNoTWVkaWF0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQpAQCAtNTcsMjMgKzU3LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8
RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvciA6
IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2Rl
PiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZvY3VzRXZlbnREaXNw
YXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotICAgIHZpcnR1
YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OwotICAgIFJlZlB0
cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hN
ZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVm
UHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQmx1ckV2
ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAg
ICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKLSAg
ICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsKLX07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbiBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4KaW5kZXggMWI1MDBjZDc5OWE4ZmM0
NmNkYzlhZTc5ZmFlMDgwNmRlMGFhZDFkZC4uOTY3NGI1MzYyZTYyYTgxZWUwZjFhZGFkNTA4OTMx
NDZiMTRmYzQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCkBAIC04LDYgKzgsOCBA
QCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JFdmVudAor
Rm9jdXNFdmVudAorRm9jdXNFdmVudHMgaW50ZXJmYWNlTmFtZT1Gb2N1c0V2ZW50CiBIYXNoQ2hh
bmdlRXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJkRXZlbnRzIGludGVyZmFjZU5hbWU9S2V5
Ym9hcmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyNGZhOWM0
NGZkMGIwNzAyZDQwYTBmNzljY2E0OTEzYzFjNjNhM2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAKQEAgLTAsMCArMSwxNzEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgorCisjaW5jbHVkZSAiRXZlbnREaXNw
YXRjaGVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoKQoreworfQorCitGb2N1c0V2ZW50Ojp+Rm9jdXNF
dmVudCgpCit7Cit9CisKK3ZvaWQgRm9jdXNFdmVudDo6aW5pdEZvY3VzRXZlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVm
UHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdl
dD4gcmVsYXRlZFRhcmdldCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2
aWV3LCAwKTsKKyAgICAKKyAgICBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0OworfQor
Citjb25zdCBBdG9taWNTdHJpbmcmIEZvY3VzRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAor
eworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yRm9jdXNFdmVudDsKK30KKwor
Rm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2Fu
QnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBp
bnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIDog
VUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkKKyAgICAs
IG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQoreworfQorCisKKworUGFzc1JlZlB0cjxG
b2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBv
bGRGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5FdmVudERp
c3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9sZEZvY3VzZWROb2RlKSk7Cit9CisKK0ZvY3VzSW5FdmVu
dERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0
cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKKyAg
ICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKKyAgICAsIG1fb2xkRm9jdXNlZE5vZGUo
b2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRv
cjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Cit7Cisg
ICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkgLy8gRG9uJ3QgZXZlbiBzZW5k
IERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNvbnRyb2xzLgorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAKKyAgICBpZiAoZXZlbnQoKS0+dHlwZSgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOyAvLyBTaG91bGRuJ3QgaGFwcGVuLgorICAgIAorICAgIFJlZlB0cjxFdmVudFRhcmdl
dD4gcmVsYXRlZFRhcmdldCA9IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQo
KSwgbV9vbGRGb2N1c2VkTm9kZSk7CisgICAgZXZlbnQoKS0+c2V0UmVsYXRlZFRhcmdldChyZWxh
dGVkVGFyZ2V0KTsKKyAgICAgCisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlz
cGF0Y2hFdmVudChkaXNwYXRjaGVyKTsgICAKK30KKworRm9jdXNFdmVudCogRm9jdXNJbkV2ZW50
RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpKTsKK30KKworCisK
K1Bhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzT3V0RXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFz
c1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9kZSkpOwor
fQorCitGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNo
TWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKKyAgICAs
IG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNPdXRF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNw
YXRjaGVyKSBjb25zdAoreworICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmRpc2FibGVkKCkp
IC8vIERvbid0IGV2ZW4gc2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250cm9scy4KKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgaWYgKGV2ZW50KCktPnR5cGUoKS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gU2hvdWxkbid0IGhhcHBlbi4KKyAgICAKKyAg
ICBSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQgPSBkaXNwYXRjaGVyLT5hZGp1c3RS
ZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5vZGUpOworICAgIGV2ZW50KCktPnNl
dFJlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCk7CisgICAgIAorICAgIHJldHVybiBFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Cit9CisKK0ZvY3VzRXZl
bnQqIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2
ZW50KCkpOworfQorCisKKworUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4g
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZv
Y3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKK30KKworRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0
b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNl
ZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKKyAgICAsIG1fb2xkRm9jdXNlZE5vZGUo
b2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAg
IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9k
ZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNw
YXRjaGVyKTsKK30KKworCisKK1Bhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4g
Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9j
dXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCbHVyRXZlbnREaXNwYXRjaE1l
ZGlhdG9yKG5ld0ZvY3VzZWROb2RlKSk7Cit9CisKK0JsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6
OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9k
ZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5ibHVyRXZlbnQsIGZhbHNlLCBmYWxzZSkpCisgICAgLCBtX25ld0ZvY3VzZWROb2RlKG5ld0Zv
Y3VzZWROb2RlKQoreworfQorCitib29sIEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3Bh
dGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAgIGRpc3Bh
dGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9uZXdGb2N1c2VkTm9kZSk7Cisg
ICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVy
KTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45NzFiM2JhOWViNTdmZTU0Yzk5NGMxMTZmYzE1NWEwOWI2YWJlMjdmCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApAQCAtMCwwICsx
LDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgRm9jdXNFdmVudF9oCisjZGVmaW5lIEZvY3VzRXZlbnRfaAorCisjaW5j
bHVkZSAiRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgiCisjaW5jbHVkZSAiVUlFdmVudC5oIgorCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnQgOiBwdWJsaWMgVUlF
dmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gY3JlYXRl
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudCk7CisgICAg
fQorICAgICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZShjb25z
dCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBh
c3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50
VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCBy
ZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorICAgICAgIAorICAgIHZpcnR1YWwgfkZvY3VzRXZlbnQo
KTsKKyAgICB2b2lkIGluaXRGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9v
bCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+LCBp
bnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KTsKKyAgICBF
dmVudFRhcmdldCogcmVsYXRlZFRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVsYXRlZFRhcmdl
dC5nZXQoKTsgfQorICAgIHZvaWQgc2V0UmVsYXRlZFRhcmdldChQYXNzUmVmUHRyPEV2ZW50VGFy
Z2V0PiByZWxhdGVkVGFyZ2V0KSB7IG1fcmVsYXRlZFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7IH0K
KyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0Owor
ICAgIAorcHJpdmF0ZToKKyAgICBGb2N1c0V2ZW50KCk7CisgICAgRm9jdXNFdmVudChjb25zdCBB
dG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NS
ZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4g
cmVsYXRlZFRhcmdldCk7ICAgICAgICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IG1fcmVsYXRl
ZFRhcmdldDsKK307CisgICAgCisgICAgCitjbGFzcyBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlh
dG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQ
dHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworcHJpdmF0
ZToKKyAgICBleHBsaWNpdCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8
Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAgIHZpcnR1
YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIEZvY3Vz
RXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNlZE5vZGU7
Cit9OworICAgIAorIAorY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJs
aWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNF
dmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOworcHJpdmF0ZToKKyAgICBl
eHBsaWNpdCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEZvY3VzRXZl
bnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKKyAgICB2aXJ0dWFsIGJvb2wg
ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKKyAgICBGb2N1c0V2ZW50KiBl
dmVudCgpIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBtX25ld0ZvY3VzZWROb2RlOworfTsKKyAg
ICAKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVibGljIEV2ZW50
RGlzcGF0Y2hNZWRpYXRvciB7ICAgIAorcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZv
Y3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1
c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlh
dG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9vbCBk
aXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBt
X29sZEZvY3VzZWROb2RlOworfTsgCisgICAgCisKK2NsYXNzIEJsdXJFdmVudERpc3BhdGNoTWVk
aWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsgICAgICAgCitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBh
c3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOyAgICAgICAgCitwcml2YXRlOgorICAgIGV4
cGxpY2l0IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1
c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVy
KikgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Cit9OyAgICAgCisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEZvY3VzRXZlbnRfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhMzBmMmIxOTNhZjIzNzhlNWQ3MjU4YzRm
MzlmZjY2NmI5MzcxM2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAgLy8gSW50
cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgRm9jdXNFdmVudCA6IFVJRXZl
bnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCAgICAgIHJlbGF0
ZWRUYXJnZXQ7CisKKyAgICAgICAgdm9pZCBpbml0Rm9jdXNFdmVudChpbiBbT3B0aW9uYWw9Q2Fs
bFdpdGhEZWZhdWx0VmFsdWVdIERPTVN0cmluZyB0eXBlLCAKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIGJvb2xlYW4g
Y2FuQnViYmxlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9u
YWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIGJvb2xlYW4gY2FuY2VsYWJsZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBET01XaW5kb3cgdmlldywgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4g
W09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSBsb25nIGRldGFpbCwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVl
XSBFdmVudFRhcmdldCByZWxhdGVkVGFyZ2V0KTsKKworICAgIH07CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAppbmRleCAzOWI4ZmE4OTVjZGY3YjIxNDM4OTNiOWRkNWY1Mjc5ZDM2ZTZkZDA0Li45NWU0M2E0
OGY3ZWExNjA5YTdjNTUwOTJhNTVlMDMzZThjZDdjYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC01
OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50
TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVk
ZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTI3NjQsMTQgKzI3NjUsMTQgQEAgdm9pZCBOb2RlOjpkaXNw
YXRjaEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0
cjxOb2RlPgogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBB
U1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQgfHwgZXZlbnRUeXBl
ID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZl
bnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShV
SUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVs
dFZpZXcoKSwgMCksIG9sZEZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERp
c3BhdGNoTWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3Vz
RXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0
VmlldygpLCAwLCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7CiB9CiAKIHZvaWQg
Tm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBl
LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewogICAgIEFTU0VSVCghZXZlbnRE
aXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMo
KS5mb2N1c291dEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRF
dmVudCk7Ci0gICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0
cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG5ld0ZvY3VzZWROb2Rl
KSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVu
dERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0
cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgbmV3Rm9jdXNlZE5vZGUp
LCBuZXdGb2N1c2VkTm9kZSkpOwogfQogCiB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVF
dmVudChpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVUlFdmVudC5jcHAKaW5kZXggZmYzZmY0YWZjZjliMjEyMTFiN2I1MzFmYWY1NDdkMTNlZjhm
ZDU2OS4uYjU1MzllYzUyOGQ2ZmYxZWJhNzljNTU0NDA4YjczNjc4MzM2NjJlMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9VSUV2ZW50LmNwcApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2Jp
YXMgQW50b24gKGFudG9uQHN0dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAo
QykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdo
dCAoQykgMjAwMywgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTEwLDM4ICsxMTEsNCBAQCB2b2lkIFVJRXZlbnQ6
Ondhcm5EZXByZWNhdGVkTGF5ZXJYWVVzYWdlKCkKICAgICAgICAgbV92aWV3LT5jb25zb2xlKCkt
PmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3Nh
Z2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogfQogCi1QYXNzUmVmUHRyPEZvY3VzSW5FdmVudERp
c3BhdGNoTWVkaWF0b3I+IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNz
UmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKLXsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoZXZl
bnQsIG9sZEZvY3VzZWROb2RlKSk7Ci19Ci0KLUZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6
OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBh
c3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0
b3IoZXZlbnQpCi0gICAgLCBtX29sZEZvY3VzZWROb2RlKG9sZEZvY3VzZWROb2RlKQotewotfQot
Ci1ib29sIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnRE
aXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJl
bGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50
RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1Jl
ZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNPdXRFdmVudERpc3BhdGNo
TWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2Rl
PiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzT3V0RXZl
bnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9kZSkpOwotfQotCi1Gb2N1c091
dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFz
c1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi0g
ICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCi0gICAgLCBtX25ld0ZvY3VzZWROb2Rl
KG5ld0ZvY3VzZWROb2RlKQotewotfQotCi1ib29sIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsK
LSAgICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNl
ZE5vZGUpOwotICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQo
ZGlzcGF0Y2hlcik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5o
CmluZGV4IGQxMjk0Yzk1MmZjMWJkMDc3OGMxYjYxM2MwMWUwNDdhNWViOGU5ZmEuLjRkZmJhMjZi
Y2Q2M2ZlNDcwNmIzMzBkNjU5MGI4NjMzZjVhNTE0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9VSUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaApAQCAt
Myw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMgQW50b24gKGFudG9uQHN0
dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vp
bmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwpAQCAtNzUsMjQgKzc2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBpbnQgbV9kZXRhaWw7CiAgICAgfTsKIAotICAgIGNsYXNzIEZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0g
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IGNy
ZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7
Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgZXhwbGljaXQgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7
Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNv
bnN0OwotICAgICAgICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKLSAgICB9OwotCi0g
ICAgY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNw
YXRjaE1lZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZv
Y3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4sIFBh
c3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgIHByaXZhdGU6Ci0gICAgICAgIGV4
cGxpY2l0IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+LCBQ
YXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRp
c3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7Ci0gICAgICAgIFJlZlB0cjxOb2Rl
PiBtX25ld0ZvY3VzZWROb2RlOwotICAgIH07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIFVJRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDQxYWNl
MDRkMGU1NjgzZWUxYzUwZTQyMDJkODQ4NjQ3M2E1OGI4ZTMuLmJmYjk1ZjM0MTNiNmIzYjgwYjY1
YmRiZTM2YTNhYTY1Y2ZmZGNhOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEs
NiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEy
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTUwOSw2ICs1MDksNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0
cmlidXRlIENvbXBvc2l0aW9uRXZlbnRDb25zdHJ1Y3RvciBDb21wb3NpdGlvbkV2ZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgQ3VzdG9tRXZlbnRDb25zdHJ1Y3RvciBDdXN0b21FdmVudDsKICAgICAg
ICAgYXR0cmlidXRlIEVycm9yRXZlbnRDb25zdHJ1Y3RvciBFcnJvckV2ZW50OworICAgICAgICBh
dHRyaWJ1dGUgRm9jdXNFdmVudENvbnN0cnVjdG9yIEZvY3VzRXZlbnQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBIYXNoQ2hhbmdlRXZlbnRDb25zdHJ1Y3RvciBIYXNoQ2hhbmdlRXZlbnQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBLZXlib2FyZEV2ZW50Q29uc3RydWN0b3IgS2V5Ym9hcmRFdmVudDsKICAgICAg
ICAgYXR0cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBjOTQ2OTdiMTEzY2M3YjRlY2FhY2E4NjE2YTgwNDAyM2M4ZDQ1ZDg4Li5lNmZjYjg5M2NiNzdj
OGVmZDU2ZjdmZThjYjQ5ZjZkZWU2ZDM3MjlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTIt
MDItMDkgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgRE9NIDMgRXZlbnRzIEZvY3VzRXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9l
dmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQt
Y3JlYXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1
c2V2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRl
ZC10YXJnZXQtZm9jdXNldmVudC5odG1sOiBBZGRlZC4KKwogMjAxMi0wMi0wOCAgUGF2ZWwgRmVs
ZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogdG9n
Z2xlIEVkaXQgYXMgSFRNTCBvbiBGMiwgZHJhZyBub2RlcyB1cCAvIGRvd24gdXBvbiBDdHJsKENt
ZCkgVXAgLyBEb3duLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQt
Y3JlYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3Jl
YXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDYzNTllOTlhOTc1YjNjYjk5YWM1NjUwM2UzMzJkODdj
NTUzNmI4ODkuLmE0ZWJiYjBkYWE2MDY0ZmUyODI5YTc0N2NiMzMxYWYxZTUxZmUyNDMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50
eHQKQEAgLTIxLDYgKzIxLDEwIEBAIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2
ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5DdXN0b21FdmVudCBpcyB0CiBQQVNTIGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXJyb3JFdmVu
dCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFu
Y2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJy
b3JFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRXJyb3JFdmVudCBpcyB0cnVlCitQQVNT
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRm9j
dXNFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50Jykg
aW5zdGFuY2VvZiB3aW5kb3cuVUlFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQorUEFTUyBk
b2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cu
Rm9jdXNFdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdl
RXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQgaXMgdHJ1ZQogUEFTUyBk
b2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cu
RXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50
JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQgaXMgdHJ1ZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwKaW5kZXggNjNkYmEwNGJhMTUx
YjU3ZTkwYjMyMzNiZTRhYmU2ZGE1MDNhOWFhYy4uYTk4Mjk2NmYzMWJmOGZmMjk2ZGRhNjAwMWMx
NDA1OWI2MmU5MjczYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQt
Y3JlYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlv
bi5odG1sCkBAIC0zNyw2ICszNywxMiBAQAogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwogICAgIHNo
b3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKS5jb25zdHJ1Y3Rv
ciA9PT0gd2luZG93LkVycm9yRXZlbnQiKTsKIAorICAgIC8vIEZvY3VzRXZlbnQKKyAgICBzaG91
bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3
aW5kb3cuRm9jdXNFdmVudCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5VSUV2ZW50Iik7CisgICAgc2hvdWxk
QmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2lu
ZG93LkV2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9j
dXNFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRm9jdXNFdmVudCIpOyAgICAKKwogICAg
IC8vIEhhc2hDaGFuZ2VFdmVudAogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93Lkhhc2hDaGFuZ2VFdmVudCIp
OwogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVu
dCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg1OTBkNWUzMzYzNzEzZDhmNjZlYWEyNDc4ZWRiYjE0NDA2YWJiYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1m
b2N1c2V2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitMYXlvdXQgdGVzdCBmb3Ig
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2LiBDaGVja3MgdGhh
dCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9yIEZvY3VzRXZlbnQgb2JqZWN0cyBpcyBi
ZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9mb2N1c291dCBldmVudHMgYXJlIGRpc3Bh
dGNoZWQuIFByZXNzIHRhYiBmb3VyIHRpbWVzIHRvIGRpc3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9j
dXNvdXQgZXZlbnQgZm9yIGVhY2ggb2YgdGhlIGJ1dHRvbnMgYmVsb3cuCisKK01lb3cgIFB1cnIg
IEZ1ciEgIERvbmUKK0V4cGVjdGVkIFJlc3VsdAorCitNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0
cyByZWxhdGVkVGFyZ2V0IGlzIG51bGwKK01lb3cgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxh
dGVkVGFyZ2V0IGlzIFB1cnIKK1B1cnIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJn
ZXQgaXMgTWVvdworUHVyciByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMg
RnVyIQorRnVyISByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitG
dXIhIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBEb25lCisgICAgCitB
Y3R1YWwgUmVzdWx0CisKK01lb3cgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQg
aXMgbnVsbAorTWVvdyByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVy
cgorUHVyciByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBNZW93CitQdXJy
IHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBGdXIhCitGdXIhIHJlY2Vp
dmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK0Z1ciEgcmVjZWl2ZWQgZm9j
dXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIERvbmUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRjNTVlZGYwYTYyOGExMGU3NjZmMzU3MjUwY2VkMTZlODVmOTViOTcKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0
bWwKQEAgLTAsMCArMSw3MyBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAg
ICAKKyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykKKyAgICAgICAgeworICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZycpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKG1zZyArICdcbicpKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3Qo
KSAKKyAgICAgICAgeyAgICAgICAKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIAorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKworICAgICAgICAgICAgdmFyIElORVZFTlQgPSAiZm9jdXNpbiI7CisgICAgICAgICAg
ICB2YXIgT1VURVZFTlQgPSAiZm9jdXNvdXQiOworICAgICAgICAgICAgCisgICAgICAgICAgICB2
YXIgYjEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMScpOworICAgICAgICAgICAg
dmFyIGIyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjInKTsKKyAgICAgICAgICAg
IHZhciBiMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJyk7CisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIGIxLmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVOVCwgVGVzdEluRXZlbnQs
IHRydWUpOworICAgICAgICAgICAgYjIuYWRkRXZlbnRMaXN0ZW5lcihJTkVWRU5ULCBUZXN0SW5F
dmVudCwgdHJ1ZSk7CisgICAgICAgICAgICBiMy5hZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRl
c3RJbkV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgYjEuYWRkRXZlbnRM
aXN0ZW5lcihPVVRFVkVOVCwgVGVzdE91dEV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAgIGIyLmFk
ZEV2ZW50TGlzdGVuZXIoT1VURVZFTlQsIFRlc3RPdXRFdmVudCwgdHJ1ZSk7CisgICAgICAgICAg
ICBiMy5hZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAg
ICAgICAgICAgCisgICAgICAgICAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgCisgICAgICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDQ7IGkrKykgCisgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQn
KTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gVGVzdEluRXZlbnQoZXZ0
KSAKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGV2dC5yZWxhdGVkVGFyZ2V0KQorICAgICAg
ICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwg
aXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0LmlubmVyVGV4dCk7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0
ICsgIiByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyAiICsgZXZ0LnJlbGF0
ZWRUYXJnZXQpOyAgCisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIFRlc3RP
dXRFdmVudChldnQpIAorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXZ0LnJlbGF0ZWRUYXJn
ZXQpCisgICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZl
ZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0Lmlu
bmVyVGV4dCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKGV2dC50YXJn
ZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMg
IiArIGV2dC5yZWxhdGVkVGFyZ2V0KTsKKyAgICAgICAgICAgICAKKyAgICAgICAgfQorICAgIDwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+TGF5b3V0IHRlc3Qg
Zm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIx
NiIgdGFiaW5kZXg9LTE+aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
MjE2PC9hPi4gIENoZWNrcyB0aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9j
dXNFdmVudCBvYmplY3RzIGlzIGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vz
b3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZC4gIDxiPlByZXNzIHRhYiBmb3VyIHRpbWVzPC9iPiB0
byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBi
dXR0b25zIGJlbG93LjwvcD4KKyAgICA8YnV0dG9uIGlkPSJidXR0b24xIj5NZW93PC9idXR0b24+
CisgICAgPGJ1dHRvbiBpZD0iYnV0dG9uMiI+UHVycjwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9
ImJ1dHRvbjMiPkZ1ciE8L2J1dHRvbj4KKyAgICA8YnV0dG9uIGlkPSJpbnB1dGRvbmUiPkRvbmU8
L2J1dHRvbj4KKyAgICA8cD5FeHBlY3RlZCBSZXN1bHQ8L3A+CisgICAgPHByZT4KK01lb3cgcmVj
ZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgbnVsbAorTWVvdyByZWNlaXZlZCBm
b2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgorUHVyciByZWNlaXZlZCBmb2N1c2lu
LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBNZW93CitQdXJyIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMg
cmVsYXRlZFRhcmdldCBpcyBGdXIhCitGdXIhIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVk
VGFyZ2V0IGlzIFB1cnIKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0
IGlzIERvbmUKKyAgICA8L3ByZT4KKyAgICA8cD5BY3R1YWwgUmVzdWx0PC9wPgorICAgIDxwcmUg
aWQ9ImxvZyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126847</attachid>
            <date>2012-02-13 15:19:10 -0800</date>
            <delta_ts>2012-02-13 16:00:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120213181909.patch</filename>
            <type>text/plain</type>
            <size>46718</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJlYzViYTYzMWUzNDc5
NGVkZWJjMDAxMjhkZTljYWZiODQ1OTgxMy4uODdjZDJjNjJkYzUzMDFjYjBkM2UwZDE3NjZmODM3
ZmUwMjg3YWFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTEzICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIENyZWF0ZWQg
YSBuZXcgRm9jdXNFdmVudCBjbGFzcyAoZXh0ZW5kcyBVSUV2ZW50KSB3aXRoIGEgcmVsYXRlZFRh
cmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixG
b2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4g
IE5vdyB3aGVuCisgICAgICAgIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRj
aGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRlZCB3aXRoIHRoZSByZWxhdGVkVGFyZ2V0CisgICAg
ICAgIGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5nbHkuICBObyBvdGhlciBsb2dpYyBjaGFuZ2VzIGhh
dmUgYmVlbiBtYWRlIGJlc2lkZXMgYWRkaW5nIHRoZQorICAgICAgICBGb2N1c0V2ZW50IGNsYXNz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAg
ICAgICAgIC0gSW5jbHVkZWQgbWVudGlvbiBvZiBGb2N1c0V2ZW50IC8gSlNGb2N1c0V2ZW50IGlu
IHRoZSBhYm92ZSBlaWdodCBmaWxlcyB0bworICAgICAgICAgICAgICBob3BlZnVsbHkgYWxsb3cg
dGhlIHBhdGNoIHRvIGJ1aWxkIG9uIHRoZSBkaWZmZXJlbnQgcGxhdGZvcm1zIChleGNlcHQgZm9y
CisgICAgICAgICAgICAgIHdpbiBhbmQgbWFjKQorICAgICAgICAqIGRvbS9FdmVudERpc3BhdGNo
TWVkaWF0b3IuY3BwOgorICAgICAgICAqIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaDoKKyAg
ICAgICAgKiBkb20vRXZlbnRGYWN0b3J5LmluOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZl
bnQ6OkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6fkZvY3VzRXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW5pdEZvY3VzRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW50ZXJmYWNlTmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNPdXRFdmVudERpc3Bh
dGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0V2ZW50RGlz
cGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Qmx1ckV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpC
bHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBkb20v
Rm9jdXNFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRj
aE1lZGlhdG9yLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEZvY3VzRXZlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzRXZlbnQ6OnJlbGF0ZWRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVu
dDo6c2V0UmVsYXRlZFRhcmdldCk6CisgICAgICAgIChGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlh
dG9yKToKKyAgICAgICAgKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAg
KEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEJsdXJFdmVudERpc3BhdGNo
TWVkaWF0b3IpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50LmlkbDogQWRkZWQuCisgICAgICAg
ICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0Y2hGb2N1c0lu
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KToK
KyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAgICogZG9tL1VJRXZlbnQuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMDItMTMgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHdyYXAgc2V0
dGluZ3Mgc2VsZWN0b3IgdGV4dCBhbmQgYWRkaW5nIGEgcnVsZSB3aXRoIHVuZG9hYmxlIGFjdGlv
bnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRlMDkwZTYxNjMxNDE4ZmQwNDNjOGE4OTE2ZDc2
ZjcyOWEyNDg1OGQuLmU3YWJlMmY0Y2UxNTRiMGQ2MmRhMWU1MWY4YjUzOGY2ZDZlNGIwNmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNTgsNiArMTU4LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJ
TEVTCiAgICAgZG9tL0Vycm9yRXZlbnQuaWRsCiAgICAgZG9tL0V2ZW50RXhjZXB0aW9uLmlkbAog
ICAgIGRvbS9FdmVudC5pZGwKKyAgICBkb20vRm9jdXNFdmVudC5pZGwKICAgICBkb20vSGFzaENo
YW5nZUV2ZW50LmlkbAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmlkbAogICAgIGRvbS9NZXNzYWdl
Q2hhbm5lbC5pZGwKQEAgLTU1OCw2ICs1NTksNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
ZG9tL0V2ZW50VGFyZ2V0LmNwcAogICAgIGRvbS9FeGNlcHRpb25CYXNlLmNwcAogICAgIGRvbS9F
eGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwCisgICAgZG9tL0ZvY3VzRXZlbnQuY3BwCiAgICAg
ZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAogICAgIGRvbS9JY29uVVJMLmNwcAogICAgIGRvbS9L
ZXlib2FyZEV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDQ3ODEyNzg0
ODhhMTU5MTNkODA5NDJhNjM2OGJlYzJkMjhlYmUwMTUuLmU1ZDk0YmJmMGUxNmQzZjAzNTVjZmRm
N2NhMTE5MmVjZmM5ZjRhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTEyOSw2
ICsxMjksNyBAQAogI2luY2x1ZGUgIkpTRmlsZVdyaXRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpT
RmxvYXQzMkFycmF5LmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0NjRBcnJheS5jcHAiCisjaW5jbHVk
ZSAiSlNGb2N1c0V2ZW50LmNwcCIKICNpbmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIKICNpbmNs
dWRlICJKU0dlb3Bvc2l0aW9uLmNwcCIKICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVudC5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3MGZjNzQ0ODk0MDJlZDMyMjdmMjc2
MmExMDdhYzJiYzJiMWVkY2UzLi40NDE1YmE4ZjkxNDgzY2QxY2VjN2Y4MDMxNDljZDM4MTFkZmVm
NGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTExMSw2ICsxMTEsNyBAQCBC
SU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudExpc3RlbmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9Gb2N1c0V2ZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL01lc3NhZ2VDaGFu
bmVsLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggNjEwY2ZmMTk5ZjRjYzdk
N2NiZjIzMmViNzRiOGNhODQzM2U4NWEyOS4uYzA1NGQ0NGRkMzI0NzI2MzY4YzNlZTcwMWZlOGZm
Y2U5YmExZmVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMTQyLDYgKzE0Miw3
IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBc
CiAjICAgICQkUFdEL2RvbS9FdmVudExpc3RlbmVyLmlkbCBcCiAjICAgICQkUFdEL2RvbS9FdmVu
dFRhcmdldC5pZGwgXAorICAgICQkUFdEL2RvbS9Gb2N1c0V2ZW50LmlkbCBcCiAgICAgJCRQV0Qv
ZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9LZXlib2FyZEV2ZW50Lmlk
bCBcCiAgICAgJCRQV0QvZG9tL01vdXNlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDA2NjVhMDA1YjdmY2Y0ODUzMDc0ZGEzYmUzNzI3OTBlYzNiMTJmNTcuLjBl
YTYzODRjZTliYTlhOGJhMjBjMDhlNjU0OGMwNWI2YzkyNWY2MmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtMTgzLDYgKzE4Myw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyAr
PSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0Zsb2F0NjRBcnJheS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNF
dmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Vv
cG9zaXRpb24uY3BwIFwKQEAgLTY5OSw2ICs3MDEsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwK
IAkkKFdlYkNvcmUpL2RvbS9FcnJvckV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vRXZlbnQu
aWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAorCSQoV2ViQ29yZSkv
ZG9tL0ZvY3VzRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRs
IFwKIAkkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20v
TWVzc2FnZUNoYW5uZWwuaWRsIFwKQEAgLTE1NjMsNiArMTU2Niw4IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0Zv
Y3VzRXZlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
aW5kZXggYWQwNzg3YmYxZDUwMTY3OGIxNDY1M2IzNWIxM2M0Mjc0M2U4ZDhmMS4uMWYwYmU5ZTlj
MzBmNjM2YzVlNjRkOWNmOTQ1NjdjNmE2NmJjNjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC01MjEsNiAr
NTIxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCiAgICAgZG9t
L0V4Y2VwdGlvbkJhc2UuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNw
cCBcCisgICAgZG9tL0ZvY3VzRXZlbnQuY3BwIFwKICAgICBkb20vR2VuZXJpY0V2ZW50UXVldWUu
Y3BwIFwKICAgICBkb20vSWNvblVSTC5jcHAgXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmNwcCBc
CkBAIC0xNjM1LDYgKzE2MzYsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQu
aCBcCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUuaCBc
CisgICAgZG9tL0ZvY3VzRXZlbnQuaCBcCiAgICAgZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbi5oIFwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5oIFwKICAgICBkb20vTWVzc2FnZUNoYW5u
ZWwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOWQzZjgyYzE5NDQzNzJiYmE5N2I4NGViNTVmZTM4
MjA0MGMyZmI5Yy4uOWEyODMyYmIyOWNhMDYzNTQ3M2M1YzcxNjI2ZTAzYWYwNmMwYzRlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtNjAwLDYgKzYwMCw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50
VGFyZ2V0LmgnLAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25Db2RlLmgnLAogICAgICAgICAg
ICAgJ2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCcsCisgICAgICAgICAgICAnZG9tL0Zv
Y3VzRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lv
bi5oJywKICAgICAgICAgICAgICdkb20vS2V5Ym9hcmRFdmVudC5oJywKICAgICAgICAgICAgICdk
b20vTWVzc2FnZVBvcnQuaCcsCkBAIC02MjUsNiArNjI2LDcgQEAKICAgICAgICAgICAgICdkb20v
VGV4dC5oJywKICAgICAgICAgICAgICdkb20vVGV4dEV2ZW50SW5wdXRUeXBlLmgnLAogICAgICAg
ICAgICAgJ2RvbS9VSUV2ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmgnLAogICAgICAgICAgICAgJ2Rv
bS9Vc2VyR2VzdHVyZUluZGljYXRvci5oJywKICAgICAgICAgICAgICdkb20vVXNlclR5cGluZ0dl
c3R1cmVJbmRpY2F0b3IuaCcsCkBAIC03ODQsNiArNzg2LDcgQEAKICAgICAgICAgICAgICdkb20v
RXZlbnRFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwn
LAogICAgICAgICAgICAgJ2RvbS9FdmVudFRhcmdldC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9G
b2N1c0V2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9LZXlib2FyZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01l
c3NhZ2VDaGFubmVsLmlkbCcsCkBAIC04MTYsNiArODE5LDcgQEAKICAgICAgICAgICAgICdkb20v
VG91Y2hMaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAg
ICAgICAgICdkb20vVUlFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsJywKICAgICAgICAgICAgICdkb20v
V2ViS2l0TmFtZWRGbG93LmlkbCcsCkBAIC01MDI1LDYgKzUwMjksNyBAQAogICAgICAgICAgICAg
J2RvbS9FeGNlcHRpb25CYXNlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2Uu
aCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAnLAorICAg
ICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgnLAog
ICAgICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaCcsCkBAIC01MTQxLDYgKzUxNDYsNyBA
QAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Ry
ZWVXYWxrZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuY3BwJywKKyAgICAgICAgICAg
ICdkb20vRm9jdXNFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50V2l0aEtleVN0
YXRlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmNwcCcsCkBAIC03MTUw
LDYgKzcxNTYsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNGaWxlV3JpdGVyU3luYy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5o
JywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Rm9jdXNFdmVudC5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Vv
cG9zaXRpb24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDhlYzRiZmI2
YjcxMzJhMjc4YTA2MDQxMTVjZWRhY2JmMzQxZGZmMDAuLjY0Yjg2Zjg0M2E1MjcxYjhlYmI4Mjhi
ZTYyYThhZjg4MzI5ZWM1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJ
bk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtODAs
NiArODAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNlcHRp
b25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgorI2lu
Y2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1ZGUg
IktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKaW5kZXggYjI0NzRjYjk1
MWU2YzkxNDYzY2Y5ZjMxNTg2ZGVjM2U3MjMwOWYzMy4uYTc1ZTdlZDNjMzVhMDk1NzcyOTdmYzgy
OTcxYmRmZjNhZWFjNWY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlz
cGF0Y2hNZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTUxLDM4ICs1MSw0IEBAIGJvb2wgRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKICAg
ICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2ZW50LmdldCgpKTsKIH0KIAot
UGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNl
ZE5vZGUpKTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNw
YXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVu
dERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwg
ZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCi17
Ci19Ci0KLWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZl
bnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVz
dFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFz
c1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUp
KTsKLX0KLQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRj
aE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFsc2UsIGZh
bHNlKSkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJv
b2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNo
ZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRh
cmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1l
ZGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgKaW5k
ZXggMjZlNWQyZjIxMmU5ZGQwYjVjODQ1YTQ0N2ZkNGQ3NDViYWVkNTg2Yy4uY2E5OWQ1ODEwMTIw
NjVmMTk5ZDA2MjdkNjM4YTkwM2Q0NmEzODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dERpc3BhdGNoTWVkaWF0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTcsMjMgKzU3LDYgQEAgcHJpdmF0ZToKICAgICBS
ZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0
cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZvY3VzRXZl
bnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotICAg
IHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OwotICAg
IFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3MgQmx1ckV2ZW50RGlz
cGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQ
YXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0gICAgZXhwbGljaXQg
Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2Rl
KTsKLSAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25z
dDsKLSAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsKLX07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9y
eS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4KaW5kZXggMWI1MDBjZDc5
OWE4ZmM0NmNkYzlhZTc5ZmFlMDgwNmRlMGFhZDFkZC4uOTY3NGI1MzYyZTYyYTgxZWUwZjFhZGFk
NTA4OTMxNDZiMTRmYzQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFj
dG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCkBAIC04LDYg
KzgsOCBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JF
dmVudAorRm9jdXNFdmVudAorRm9jdXNFdmVudHMgaW50ZXJmYWNlTmFtZT1Gb2N1c0V2ZW50CiBI
YXNoQ2hhbmdlRXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJkRXZlbnRzIGludGVyZmFjZU5h
bWU9S2V5Ym9hcmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUy
NGZhOWM0NGZkMGIwNzAyZDQwYTBmNzljY2E0OTEzYzFjNjNhM2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAKQEAgLTAsMCArMSwxNzEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgorCisjaW5jbHVkZSAiRXZl
bnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoKQoreworfQorCitGb2N1c0V2ZW50Ojp+
Rm9jdXNFdmVudCgpCit7Cit9CisKK3ZvaWQgRm9jdXNFdmVudDo6aW5pdEZvY3VzRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQ
YXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVu
dFRhcmdldD4gcmVsYXRlZFRhcmdldCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxh
YmxlLCB2aWV3LCAwKTsKKyAgICAKKyAgICBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0
OworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEZvY3VzRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBj
b25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yRm9jdXNFdmVudDsK
K30KKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJv
b2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2
aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQor
ICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkK
KyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQoreworfQorCisKKworUGFzc1Jl
ZlB0cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0luRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxO
b2RlPiBvbGRGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5F
dmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9sZEZvY3VzZWROb2RlKSk7Cit9CisKK0ZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFz
c1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9k
ZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKKyAgICAsIG1fb2xkRm9jdXNl
ZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0
Cit7CisgICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkgLy8gRG9uJ3QgZXZl
biBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNvbnRyb2xzLgorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAKKyAgICBpZiAoZXZlbnQoKS0+dHlwZSgpLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOyAvLyBTaG91bGRuJ3QgaGFwcGVuLgorICAgIAorICAgIFJlZlB0cjxFdmVu
dFRhcmdldD4gcmVsYXRlZFRhcmdldCA9IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQo
ZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7CisgICAgZXZlbnQoKS0+c2V0UmVsYXRlZFRhcmdl
dChyZWxhdGVkVGFyZ2V0KTsKKyAgICAgCisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRv
cjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsgICAKK30KKworRm9jdXNFdmVudCogRm9jdXNJ
bkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpKTsKK30K
KworCisKK1Bhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzT3V0
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVu
dCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9k
ZSkpOworfQorCitGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERp
c3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxO
b2RlPiBuZXdGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkK
KyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9j
dXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVy
KiBkaXNwYXRjaGVyKSBjb25zdAoreworICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmRpc2Fi
bGVkKCkpIC8vIERvbid0IGV2ZW4gc2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250cm9s
cy4KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgaWYgKGV2ZW50KCktPnR5cGUoKS5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gU2hvdWxkbid0IGhhcHBlbi4KKyAg
ICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQgPSBkaXNwYXRjaGVyLT5h
ZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5vZGUpOworICAgIGV2ZW50
KCktPnNldFJlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCk7CisgICAgIAorICAgIHJldHVybiBF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Cit9CisKK0Zv
Y3VzRXZlbnQqIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmV2ZW50KCkpOworfQorCisKKworUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+
IG9sZEZvY3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERp
c3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKK30KKworRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xk
Rm9jdXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKKyAgICAsIG1fb2xkRm9jdXNl
ZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAor
eworICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1
c2VkTm9kZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVu
dChkaXNwYXRjaGVyKTsKK30KKworCisKK1Bhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcj4gQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4g
bmV3Rm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCbHVyRXZlbnREaXNw
YXRjaE1lZGlhdG9yKG5ld0ZvY3VzZWROb2RlKSk7Cit9CisKK0JsdXJFdmVudERpc3BhdGNoTWVk
aWF0b3I6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1
c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5ibHVyRXZlbnQsIGZhbHNlLCBmYWxzZSkpCisgICAgLCBtX25ld0ZvY3VzZWROb2Rl
KG5ld0ZvY3VzZWROb2RlKQoreworfQorCitib29sIEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAg
IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9uZXdGb2N1c2VkTm9k
ZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNw
YXRjaGVyKTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45NzFiM2JhOWViNTdmZTU0Yzk5NGMxMTZmYzE1NWEwOWI2YWJlMjdm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApAQCAt
MCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgRm9jdXNFdmVudF9oCisjZGVmaW5lIEZvY3VzRXZlbnRfaAor
CisjaW5jbHVkZSAiRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgiCisjaW5jbHVkZSAiVUlFdmVudC5o
IgorCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnQgOiBwdWJs
aWMgVUlFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4g
Y3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudCk7
CisgICAgfQorICAgICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFi
bGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRy
PEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0
YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorICAgICAgIAorICAgIHZpcnR1YWwgfkZvY3Vz
RXZlbnQoKTsKKyAgICB2b2lkIGluaXRGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZp
ZXc+LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KTsK
KyAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVsYXRl
ZFRhcmdldC5nZXQoKTsgfQorICAgIHZvaWQgc2V0UmVsYXRlZFRhcmdldChQYXNzUmVmUHRyPEV2
ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KSB7IG1fcmVsYXRlZFRhcmdldCA9IHJlbGF0ZWRUYXJn
ZXQ7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNv
bnN0OworICAgIAorcHJpdmF0ZToKKyAgICBGb2N1c0V2ZW50KCk7CisgICAgRm9jdXNFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRh
cmdldD4gcmVsYXRlZFRhcmdldCk7ICAgICAgICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IG1f
cmVsYXRlZFRhcmdldDsKK307CisgICAgCisgICAgCitjbGFzcyBGb2N1c0luRXZlbnREaXNwYXRj
aE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBh
c3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NS
ZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAg
IHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAg
IEZvY3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNl
ZE5vZGU7Cit9OworICAgIAorIAorY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3Ig
OiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8
Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEZv
Y3VzRXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKKyAgICB2aXJ0dWFs
IGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKKyAgICBGb2N1c0V2
ZW50KiBldmVudCgpIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBtX25ld0ZvY3VzZWROb2RlOwor
fTsKKyAgICAKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVibGlj
IEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7ICAgIAorcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBv
bGRGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRj
aE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwg
Ym9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIFJlZlB0cjxO
b2RlPiBtX29sZEZvY3VzZWROb2RlOworfTsgCisgICAgCisKK2NsYXNzIEJsdXJFdmVudERpc3Bh
dGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsgICAgICAgCitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3Jl
YXRlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOyAgICAgICAgCitwcml2YXRlOgor
ICAgIGV4cGxpY2l0IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNw
YXRjaGVyKikgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Cit9OyAg
ICAgCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEZvY3VzRXZlbnRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MmM2Mjg2NTQyM2RiMWZiOWMz
ZDJlODA2M2M1MjllNjQ0YmRjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNFdmVudC5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAg
Ly8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgRm9jdXNFdmVudCA6
IFVJRXZlbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCAgICAg
IHJlbGF0ZWRUYXJnZXQ7CisKKyAgICAgICAgdm9pZCBpbml0Rm9jdXNFdmVudChpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVh
biBjYW5CdWJibGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gY2FuY2VsYWJsZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
RE9NV2luZG93IHZpZXcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgZGV0YWlsLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBFdmVu
dFRhcmdldCByZWxhdGVkVGFyZ2V0KTsKKworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRl
eCA3ODFiY2FkZWY1NGFiZjQzN2VjYzdhMWIxNTA4NjlmMzcyMzliODY1Li4xMDI0MjZjZGNiZjFl
NzBjZTU3MzRhNzQ3ZDgxMWUzYWY2ODIwZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC01OCw2ICs1
OCw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRN
TEVsZW1lbnQuaCIKQEAgLTI3NjYsMTQgKzI3NjcsMTQgQEAgdm9pZCBOb2RlOjpkaXNwYXRjaEZv
Y3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2Rl
PgogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQo
ZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQgfHwgZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNw
YXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50
OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXco
KSwgMCksIG9sZEZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNo
TWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZlbnQ6
OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0Vmlldygp
LCAwLCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7CiB9CiAKIHZvaWQgTm9kZTo6
ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNz
UmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRj
aEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1
c291dEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVudCk7
Ci0gICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBm
YWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG5ld0ZvY3VzZWROb2RlKSk7Cisg
ICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERpc3Bh
dGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBm
YWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgbmV3Rm9jdXNlZE5vZGUpLCBuZXdG
b2N1c2VkTm9kZSkpOwogfQogCiB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChp
bnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlF
dmVudC5jcHAKaW5kZXggZmYzZmY0YWZjZjliMjEyMTFiN2I1MzFmYWY1NDdkMTNlZjhmZDU2OS4u
YjU1MzllYzUyOGQ2ZmYxZWJhNzljNTU0NDA4YjczNjc4MzM2NjJlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2
ZW50LmNwcApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMgQW50
b24gKGFudG9uQHN0dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykgMjAw
NiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAoQykg
MjAwMywgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwpAQCAtMTEwLDM4ICsxMTEsNCBAQCB2b2lkIFVJRXZlbnQ6Ondhcm5E
ZXByZWNhdGVkTGF5ZXJYWVVzYWdlKCkKICAgICAgICAgbV92aWV3LT5jb25zb2xlKCktPmFkZE1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgY29uc29sZU1lc3NhZ2UpOwogfQogCi1QYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3I+IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRy
PEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9s
ZEZvY3VzZWROb2RlKSk7Ci19Ci0KLUZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQ
dHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZl
bnQpCi0gICAgLCBtX29sZEZvY3VzZWROb2RlKG9sZEZvY3VzZWROb2RlKQotewotfQotCi1ib29s
IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRj
aGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRU
YXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxG
b2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdG
b2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzT3V0RXZlbnREaXNw
YXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9kZSkpOwotfQotCi1Gb2N1c091dEV2ZW50
RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0
cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi0gICAgOiBF
dmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCi0gICAgLCBtX25ld0ZvY3VzZWROb2RlKG5ld0Zv
Y3VzZWROb2RlKQotewotfQotCi1ib29sIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpk
aXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsKLSAgICBk
aXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5vZGUp
OwotICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0
Y2hlcik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9VSUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCmluZGV4
IGQxMjk0Yzk1MmZjMWJkMDc3OGMxYjYxM2MwMWUwNDdhNWViOGU5ZmEuLjRkZmJhMjZiY2Q2M2Zl
NDcwNmIzMzBkNjU5MGI4NjMzZjVhNTE0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9VSUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaApAQCAtMyw2ICsz
LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMgQW50b24gKGFudG9uQHN0dWQuZmJp
LmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChz
YW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtNzUsMjQgKzc2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBpbnQg
bV9kZXRhaWw7CiAgICAgfTsKIAotICAgIGNsYXNzIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0
b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQ
YXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci0gICAg
cHJpdmF0ZToKLSAgICAgICAgZXhwbGljaXQgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQ
YXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci0gICAg
ICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0Owot
ICAgICAgICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKLSAgICB9OwotCi0gICAgY2xh
c3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1l
ZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzT3V0
RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQ
dHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgIHByaXZhdGU6Ci0gICAgICAgIGV4cGxpY2l0
IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVm
UHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRpc3BhdGNo
RXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7Ci0gICAgICAgIFJlZlB0cjxOb2RlPiBtX25l
d0ZvY3VzZWROb2RlOwotICAgIH07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIFVJRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDMzMWU2MmM4MWQ0
Njk1ZGFkYzI2NzQxNDkyMjA4YzBhNmMwMTdjZjUuLjM5YmY1MTRjYmY1NjdiM2YyZGQ1OTlhNGM4
NTNkMjBlMDliNDI3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEsNiArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTUxMCw2ICs1MTAsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRl
IENvbXBvc2l0aW9uRXZlbnRDb25zdHJ1Y3RvciBDb21wb3NpdGlvbkV2ZW50OwogICAgICAgICBh
dHRyaWJ1dGUgQ3VzdG9tRXZlbnRDb25zdHJ1Y3RvciBDdXN0b21FdmVudDsKICAgICAgICAgYXR0
cmlidXRlIEVycm9yRXZlbnRDb25zdHJ1Y3RvciBFcnJvckV2ZW50OworICAgICAgICBhdHRyaWJ1
dGUgRm9jdXNFdmVudENvbnN0cnVjdG9yIEZvY3VzRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBI
YXNoQ2hhbmdlRXZlbnRDb25zdHJ1Y3RvciBIYXNoQ2hhbmdlRXZlbnQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBLZXlib2FyZEV2ZW50Q29uc3RydWN0b3IgS2V5Ym9hcmRFdmVudDsKICAgICAgICAgYXR0
cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMWY5
ZjYzYTdlNDVkODRjOGExODUwMzIyMWZiOWY0OTAzNDE3NTkyLi42NjJlZGRhZjZmNmQ3ODQzOTc1
MGQ3OTMyYjM3YzY1OGEwMmE3YzJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDItMTMg
IFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Vi
S2l0IGRvZXMgbm90IHN1cHBvcnQgRE9NIDMgRXZlbnRzIEZvY3VzRXZlbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbDoKKyAgICAgICAgICAgIC0gQ2hhbmdlZCB0
aGUgZm9jdXNpbi9mb2N1c291dCBwYXJ0cyBvZiB0aGlzIGxheW91dCB0ZXN0IHRvIGluY2x1ZGUg
dGhlCisgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLCB3aGljaCBpcyBub3cg
c2V0IG9uIEZvY3VzRXZlbnQgb2JqZWN0cworICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50LWNy
ZWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlv
bi5odG1sOgorICAgICAgICAgICAgLSBBZGRlZCB0aGUgY3JlYXRpb24gb2YgRm9jdXNFdmVudHMg
dG8gdGhpcyBsYXlvdXQgdGVzdAorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0
LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9y
ZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgLSBUaGlz
IGlzIGEgbmV3IGxheW91dCB0ZXN0IEkgY3JlYXRlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgcGF0
Y2gKKwogMjAxMi0wMi0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3Rvcjogd3JhcCBzZXR0aW5ncyBzZWxlY3RvciB0ZXh0IGFuZCBh
ZGRpbmcgYSBydWxlIHdpdGggdW5kb2FibGUgYWN0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVj
dGVkLnR4dAppbmRleCA5YTVmOWRiMzcxMTBlNTQ2OTAwOTJkYTQ3Yjk4NGZkM2I2M2I2NjZmLi40
MGNlYmMyN2NlZWMxMGRlNGM2M2M3NGQ0NzUxN2MzYjc3YTBlMzQ1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVu
dHMtZXhwZWN0ZWQudHh0CkBAIC02MSwxMyArNjEsMTMgQEAgUEFTUyBkaXNwYXRjaGVkRXZlbnQo
Im1vdXNlb3V0IikgaXMgWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0coPC1zaGFk
b3cKIAogTW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9k
ZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2
QiB0byBkaXZDCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2QyhAZGl2
QykiLCAiZGl2QyhAZGl2QSkiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMg
WyJkaXZCKEBkaXZCKSIsICJkaXZCKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9j
dXNpbiIpIGlzIFsiZGl2Qyg8LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2QikoQGRpdkEpIl0K
K1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2Qig8LWRpdkMpKEBkaXZC
KSIsICJkaXZCKDwtZGl2QykoQGRpdkEpIl0KIAogT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZv
Y3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBi
b3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJl
eW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIHNoYWRv
d0Qvc2hhZG93Ri9zaGFkb3dHL2RpdkggdG8gc2hhZG93RC9zaGFkb3dLL2RpdkwKLVBBU1MgZGlz
cGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFk
b3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQi
KSBpcyBbImRpdkgoQGRpdkgpIiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRv
d0YpIiwgInNoYWRvd0YoQGRpdkUpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikg
aXMgWyJkaXZMKDwtc2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93
SykiLCAic2hhZG93Syg8LXNoYWRvd0YpKEBkaXZKKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgi
Zm9jdXNvdXQiKSBpcyBbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNoYWRv
d0spKEBzaGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwgInNoYWRvd0Yo
PC1zaGFkb3dLKShAZGl2RSkiXQogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJs
aW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuCiBNb3Zp
bmcgZm9jdXMgZnJvbSBkaXZCIHRvIGRpdkMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCmluZGV4IGYwNjMwYzcyYzZi
OWQwZjRlODUyYTRlNmM3N2UxNTRkMzRjOWMzZGMuLmU0NzkwNGI3MjVjYmVhZmMyNWY3MjNkZjVh
MTBkMTMzYjVlOGM3OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbApAQCAtMTg3LDEzICsxODcsMTMgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgLy8gVGVzdCBmb3IgZm9jdXNpbi9mb2N1c291dCBldmVudHMuCiAg
ICAgbW92ZUZvY3VzKCdkaXZCJywgJ2RpdkMnLAogICAgICAgICAgICAgICAnTW92ZSBmb2N1cyBm
cm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Yg
c2hhZG93IGJvdW5kYXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vz
aW4iKScsICdbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0nKTsKLSAgICBzaG91bGRCZSgn
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2QihAZGl2QikiLCAiZGl2QihAZGl2
QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRp
dkMoPC1kaXZCKShAZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdJyk7CisgICAgc2hvdWxk
QmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoPC1kaXZDKShAZGl2Qiki
LCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdJyk7CiAKICAgICBtb3ZlRm9jdXMoJ3NoYWRvd0Qvc2hh
ZG93Ri9zaGFkb3dHL2RpdkgnLCAnc2hhZG93RC9zaGFkb3dLL2RpdkwnLAogICAgICAgICAgICAg
ICAnT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0
ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0
IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3Vu
ZGFyeS4nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJk
aXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdJyk7Ci0g
ICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoQGRpdkgp
IiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwgInNoYWRvd0YoQGRp
dkUpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJk
aXZMKDwtc2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93SykiLCAi
c2hhZG93Syg8LXNoYWRvd0YpKEBkaXZKKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRF
dmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8
LXNoYWRvd0spKEBzaGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwgInNo
YWRvd0YoPC1zaGFkb3dLKShAZGl2RSkiXScpOwogCiAgICAgLy8gT21pdHRlZCB0ZXN0IGNhc2Vz
IHdoZXJlIGVpdGhlciBhIG9sZEZvY3VzZWROb2RlIG9yIG5ld0ZvY3VzZWROb2RlIGlzIGFuIGFu
Y2VzdG9yIG9mIHRoZSBvdGhlci4KICAgICAvLyBEdWUgdG8gYSBmb2N1cyB0cmFuc2ZlciBtZWNo
YW5pc20gb24gc2hhZG93IGhvc3RzLCBhIGZvY3VzZWQgbm9kZSBzaG91bGQgYmUgYSBsZWFmIG5v
ZGUgaW4gZ2VuZXJhbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNy
ZWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA2MzU5ZTk5YTk3NWIzY2I5OWFjNTY1MDNlMzMyZDg3
YzU1MzZiODg5Li5hNGViYmIwZGFhNjA2NGZlMjgyOWE3NDdjYjMzMWFmMWU1MWZlMjQzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0yMSw2ICsyMSwxMCBAQCBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21F
dmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuQ3VzdG9tRXZlbnQgaXMgdAogUEFTUyBkb2N1
bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkVycm9yRXZl
bnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3Rh
bmNlb2Ygd2luZG93LkV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vy
cm9yRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkVycm9yRXZlbnQgaXMgdHJ1ZQorUEFT
UyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkZv
Y3VzRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcp
IGluc3RhbmNlb2Ygd2luZG93LlVJRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVF
dmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50IGlzIHRydWUKK1BBU1Mg
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93
LkZvY3VzRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5n
ZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuSGFzaENoYW5nZUV2ZW50IGlzIHRydWUKIFBBU1Mg
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93
LkV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVu
dCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSGFzaENoYW5nZUV2ZW50IGlzIHRydWUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCmluZGV4IDYzZGJhMDRiYTE1
MWI1N2U5MGIzMjMzYmU0YWJlNmRhNTAzYTlhYWMuLmE5ODI5NjZmMzFiZjhmZjI5NmRkYTYwMDFj
MTQwNTliNjJlOTI3M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRp
b24uaHRtbApAQCAtMzcsNiArMzcsMTIgQEAKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKICAgICBz
aG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykuY29uc3RydWN0
b3IgPT09IHdpbmRvdy5FcnJvckV2ZW50Iik7CiAKKyAgICAvLyBGb2N1c0V2ZW50CisgICAgc2hv
dWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LkZvY3VzRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuVUlFdmVudCIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdp
bmRvdy5FdmVudCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Zv
Y3VzRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkZvY3VzRXZlbnQiKTsgICAgCisKICAg
ICAvLyBIYXNoQ2hhbmdlRXZlbnQKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQi
KTsKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZl
bnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NTkwZDVlMzM2MzcxM2Q4ZjY2ZWFhMjQ3OGVkYmIxNDQwNmFiYmI0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQt
Zm9jdXNldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorTGF5b3V0IHRlc3QgZm9y
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNi4gQ2hlY2tzIHRo
YXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVjdHMgaXMg
YmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNw
YXRjaGVkLiBQcmVzcyB0YWIgZm91ciB0aW1lcyB0byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZv
Y3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LgorCitNZW93ICBQdXJy
ICBGdXIhICBEb25lCitFeHBlY3RlZCBSZXN1bHQKKworTWVvdyByZWNlaXZlZCBmb2N1c2luLCBp
dHMgcmVsYXRlZFRhcmdldCBpcyBudWxsCitNZW93IHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVs
YXRlZFRhcmdldCBpcyBQdXJyCitQdXJyIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFy
Z2V0IGlzIE1lb3cKK1B1cnIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlz
IEZ1ciEKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgor
RnVyISByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRG9uZQorICAgIAor
QWN0dWFsIFJlc3VsdAorCitNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0
IGlzIG51bGwKK01lb3cgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1
cnIKK1B1cnIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVvdworUHVy
ciByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVyISByZWNl
aXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2VpdmVkIGZv
Y3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBEb25lCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kYzU1ZWRmMGE2MjhhMTBlNzY2ZjM1NzI1MGNlZDE2ZTg1Zjk1Yjk3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5o
dG1sCkBAIC0wLDAgKzEsNzMgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAgCisgICAgICAgIGZ1bmN0aW9uIGxvZyhtc2cpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0
KCkgCisgICAgICAgIHsgICAgICAgCisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSAKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKKyAgICAgICAgICAgIHZhciBJTkVWRU5UID0gImZvY3VzaW4iOworICAgICAgICAg
ICAgdmFyIE9VVEVWRU5UID0gImZvY3Vzb3V0IjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAg
dmFyIGIxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjEnKTsKKyAgICAgICAgICAg
IHZhciBiMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJyk7CisgICAgICAgICAg
ICB2YXIgYjMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMycpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBiMS5hZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRlc3RJbkV2ZW50
LCB0cnVlKTsKKyAgICAgICAgICAgIGIyLmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVOVCwgVGVzdElu
RXZlbnQsIHRydWUpOworICAgICAgICAgICAgYjMuYWRkRXZlbnRMaXN0ZW5lcihJTkVWRU5ULCBU
ZXN0SW5FdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGIxLmFkZEV2ZW50
TGlzdGVuZXIoT1VURVZFTlQsIFRlc3RPdXRFdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICBiMi5h
ZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAgICAgICAg
ICAgYjMuYWRkRXZlbnRMaXN0ZW5lcihPVVRFVkVOVCwgVGVzdE91dEV2ZW50LCB0cnVlKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgIAorICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCA0OyBpKyspIAorICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0
Jyk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIFRlc3RJbkV2ZW50KGV2
dCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChldnQucmVsYXRlZFRhcmdldCkKKyAgICAg
ICAgICAgICAgICBsb2coZXZ0LnRhcmdldC5pbm5lclRleHQgKyAiIHJlY2VpdmVkIGZvY3VzaW4s
IGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVsYXRlZFRhcmdldC5pbm5lclRleHQpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4
dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxh
dGVkVGFyZ2V0KTsgIAorICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBUZXN0
T3V0RXZlbnQoZXZ0KSAKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGV2dC5yZWxhdGVkVGFy
Z2V0KQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2
ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVsYXRlZFRhcmdldC5p
bm5lclRleHQpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFy
Z2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlz
ICIgKyBldnQucmVsYXRlZFRhcmdldCk7CisgICAgICAgICAgICAgCisgICAgICAgIH0KKyAgICA8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxwPkxheW91dCB0ZXN0
IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYy
MTYiIHRhYmluZGV4PS0xPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NjIxNjwvYT4uICBDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9yIEZv
Y3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9mb2N1
c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuICA8Yj5QcmVzcyB0YWIgZm91ciB0aW1lczwvYj4g
dG8gZGlzcGF0Y2ggYSBmb2N1c2luIGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUg
YnV0dG9ucyBiZWxvdy48L3A+CisgICAgPGJ1dHRvbiBpZD0iYnV0dG9uMSI+TWVvdzwvYnV0dG9u
PgorICAgIDxidXR0b24gaWQ9ImJ1dHRvbjIiPlB1cnI8L2J1dHRvbj4KKyAgICA8YnV0dG9uIGlk
PSJidXR0b24zIj5GdXIhPC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iaW5wdXRkb25lIj5Eb25l
PC9idXR0b24+CisgICAgPHA+RXhwZWN0ZWQgUmVzdWx0PC9wPgorICAgIDxwcmU+CitNZW93IHJl
Y2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIG51bGwKK01lb3cgcmVjZWl2ZWQg
Zm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK1B1cnIgcmVjZWl2ZWQgZm9jdXNp
biwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVvdworUHVyciByZWNlaXZlZCBmb2N1c291dCwgaXRz
IHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVyISByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRl
ZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdl
dCBpcyBEb25lCisgICAgPC9wcmU+CisgICAgPHA+QWN0dWFsIFJlc3VsdDwvcD4KKyAgICA8cHJl
IGlkPSJsb2ciPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126853</attachid>
            <date>2012-02-13 16:00:56 -0800</date>
            <delta_ts>2012-02-14 11:22:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120213190055.patch</filename>
            <type>text/plain</type>
            <size>46718</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJlYzViYTYzMWUzNDc5
NGVkZWJjMDAxMjhkZTljYWZiODQ1OTgxMy4uODdjZDJjNjJkYzUzMDFjYjBkM2UwZDE3NjZmODM3
ZmUwMjg3YWFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTEzICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIENyZWF0ZWQg
YSBuZXcgRm9jdXNFdmVudCBjbGFzcyAoZXh0ZW5kcyBVSUV2ZW50KSB3aXRoIGEgcmVsYXRlZFRh
cmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixG
b2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4g
IE5vdyB3aGVuCisgICAgICAgIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRj
aGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRlZCB3aXRoIHRoZSByZWxhdGVkVGFyZ2V0CisgICAg
ICAgIGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5nbHkuICBObyBvdGhlciBsb2dpYyBjaGFuZ2VzIGhh
dmUgYmVlbiBtYWRlIGJlc2lkZXMgYWRkaW5nIHRoZQorICAgICAgICBGb2N1c0V2ZW50IGNsYXNz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogZG9tL0RPTUFsbEluT25lLmNwcDoKKyAgICAg
ICAgICAgIC0gSW5jbHVkZWQgbWVudGlvbiBvZiBGb2N1c0V2ZW50IC8gSlNGb2N1c0V2ZW50IGlu
IHRoZSBhYm92ZSBlaWdodCBmaWxlcyB0bworICAgICAgICAgICAgICBob3BlZnVsbHkgYWxsb3cg
dGhlIHBhdGNoIHRvIGJ1aWxkIG9uIHRoZSBkaWZmZXJlbnQgcGxhdGZvcm1zIChleGNlcHQgZm9y
CisgICAgICAgICAgICAgIHdpbiBhbmQgbWFjKQorICAgICAgICAqIGRvbS9FdmVudERpc3BhdGNo
TWVkaWF0b3IuY3BwOgorICAgICAgICAqIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaDoKKyAg
ICAgICAgKiBkb20vRXZlbnRGYWN0b3J5LmluOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZl
bnQ6OkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6fkZvY3VzRXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW5pdEZvY3VzRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW50ZXJmYWNlTmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNPdXRFdmVudERpc3Bh
dGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0V2ZW50RGlz
cGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Qmx1ckV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpC
bHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBkb20v
Rm9jdXNFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRj
aE1lZGlhdG9yLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKEZvY3VzRXZlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzRXZlbnQ6OnJlbGF0ZWRUYXJnZXQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVu
dDo6c2V0UmVsYXRlZFRhcmdldCk6CisgICAgICAgIChGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlh
dG9yKToKKyAgICAgICAgKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAg
KEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEJsdXJFdmVudERpc3BhdGNo
TWVkaWF0b3IpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50LmlkbDogQWRkZWQuCisgICAgICAg
ICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0Y2hGb2N1c0lu
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KToK
KyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAgICogZG9tL1VJRXZlbnQuaDoKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMDItMTMgIFBhdmVsIEZlbGRtYW4g
IDxwZmVsZG1hbkBnb29nbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHdyYXAgc2V0
dGluZ3Mgc2VsZWN0b3IgdGV4dCBhbmQgYWRkaW5nIGEgcnVsZSB3aXRoIHVuZG9hYmxlIGFjdGlv
bnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGRlMDkwZTYxNjMxNDE4ZmQwNDNjOGE4OTE2ZDc2
ZjcyOWEyNDg1OGQuLmU3YWJlMmY0Y2UxNTRiMGQ2MmRhMWU1MWY4YjUzOGY2ZDZlNGIwNmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNTgsNiArMTU4LDcgQEAgU0VUKFdlYkNvcmVfSURMX0ZJ
TEVTCiAgICAgZG9tL0Vycm9yRXZlbnQuaWRsCiAgICAgZG9tL0V2ZW50RXhjZXB0aW9uLmlkbAog
ICAgIGRvbS9FdmVudC5pZGwKKyAgICBkb20vRm9jdXNFdmVudC5pZGwKICAgICBkb20vSGFzaENo
YW5nZUV2ZW50LmlkbAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmlkbAogICAgIGRvbS9NZXNzYWdl
Q2hhbm5lbC5pZGwKQEAgLTU1OCw2ICs1NTksNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
ZG9tL0V2ZW50VGFyZ2V0LmNwcAogICAgIGRvbS9FeGNlcHRpb25CYXNlLmNwcAogICAgIGRvbS9F
eGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwCisgICAgZG9tL0ZvY3VzRXZlbnQuY3BwCiAgICAg
ZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAogICAgIGRvbS9JY29uVVJMLmNwcAogICAgIGRvbS9L
ZXlib2FyZEV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IDQ3ODEyNzg0
ODhhMTU5MTNkODA5NDJhNjM2OGJlYzJkMjhlYmUwMTUuLmU1ZDk0YmJmMGUxNmQzZjAzNTVjZmRm
N2NhMTE5MmVjZmM5ZjRhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTEyOSw2
ICsxMjksNyBAQAogI2luY2x1ZGUgIkpTRmlsZVdyaXRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpT
RmxvYXQzMkFycmF5LmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0NjRBcnJheS5jcHAiCisjaW5jbHVk
ZSAiSlNGb2N1c0V2ZW50LmNwcCIKICNpbmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIKICNpbmNs
dWRlICJKU0dlb3Bvc2l0aW9uLmNwcCIKICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVudC5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3MGZjNzQ0ODk0MDJlZDMyMjdmMjc2
MmExMDdhYzJiYzJiMWVkY2UzLi40NDE1YmE4ZjkxNDgzY2QxY2VjN2Y4MDMxNDljZDM4MTFkZmVm
NGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTExMSw2ICsxMTEsNyBAQCBC
SU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudExpc3RlbmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9k
b20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9Gb2N1c0V2ZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL01lc3NhZ2VDaGFu
bmVsLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggNjEwY2ZmMTk5ZjRjYzdk
N2NiZjIzMmViNzRiOGNhODQzM2U4NWEyOS4uYzA1NGQ0NGRkMzI0NzI2MzY4YzNlZTcwMWZlOGZm
Y2U5YmExZmVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMTQyLDYgKzE0Miw3
IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBc
CiAjICAgICQkUFdEL2RvbS9FdmVudExpc3RlbmVyLmlkbCBcCiAjICAgICQkUFdEL2RvbS9FdmVu
dFRhcmdldC5pZGwgXAorICAgICQkUFdEL2RvbS9Gb2N1c0V2ZW50LmlkbCBcCiAgICAgJCRQV0Qv
ZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9LZXlib2FyZEV2ZW50Lmlk
bCBcCiAgICAgJCRQV0QvZG9tL01vdXNlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDA2NjVhMDA1YjdmY2Y0ODUzMDc0ZGEzYmUzNzI3OTBlYzNiMTJmNTcuLjBl
YTYzODRjZTliYTlhOGJhMjBjMDhlNjU0OGMwNWI2YzkyNWY2MmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtMTgzLDYgKzE4Myw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyAr
PSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0Zsb2F0NjRBcnJheS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNF
dmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmggXAogCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Vv
cG9zaXRpb24uY3BwIFwKQEAgLTY5OSw2ICs3MDEsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwK
IAkkKFdlYkNvcmUpL2RvbS9FcnJvckV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vRXZlbnQu
aWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAorCSQoV2ViQ29yZSkv
ZG9tL0ZvY3VzRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRs
IFwKIAkkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20v
TWVzc2FnZUNoYW5uZWwuaWRsIFwKQEAgLTE1NjMsNiArMTU2Niw4IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0Zv
Y3VzRXZlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9JZ25vcmVEZXN0cnVjdGl2ZVdyaXRlQ291bnRJbmNyZW1lbnRlci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmggXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
aW5kZXggYWQwNzg3YmYxZDUwMTY3OGIxNDY1M2IzNWIxM2M0Mjc0M2U4ZDhmMS4uMWYwYmU5ZTlj
MzBmNjM2YzVlNjRkOWNmOTQ1NjdjNmE2NmJjNjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC01MjEsNiAr
NTIxLDcgQEAgU09VUkNFUyArPSBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCiAgICAgZG9t
L0V4Y2VwdGlvbkJhc2UuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNw
cCBcCisgICAgZG9tL0ZvY3VzRXZlbnQuY3BwIFwKICAgICBkb20vR2VuZXJpY0V2ZW50UXVldWUu
Y3BwIFwKICAgICBkb20vSWNvblVSTC5jcHAgXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmNwcCBc
CkBAIC0xNjM1LDYgKzE2MzYsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQu
aCBcCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUuaCBc
CisgICAgZG9tL0ZvY3VzRXZlbnQuaCBcCiAgICAgZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlz
c2lvbi5oIFwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5oIFwKICAgICBkb20vTWVzc2FnZUNoYW5u
ZWwuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggOWQzZjgyYzE5NDQzNzJiYmE5N2I4NGViNTVmZTM4
MjA0MGMyZmI5Yy4uOWEyODMyYmIyOWNhMDYzNTQ3M2M1YzcxNjI2ZTAzYWYwNmMwYzRlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtNjAwLDYgKzYwMCw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50
VGFyZ2V0LmgnLAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25Db2RlLmgnLAogICAgICAgICAg
ICAgJ2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCcsCisgICAgICAgICAgICAnZG9tL0Zv
Y3VzRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lv
bi5oJywKICAgICAgICAgICAgICdkb20vS2V5Ym9hcmRFdmVudC5oJywKICAgICAgICAgICAgICdk
b20vTWVzc2FnZVBvcnQuaCcsCkBAIC02MjUsNiArNjI2LDcgQEAKICAgICAgICAgICAgICdkb20v
VGV4dC5oJywKICAgICAgICAgICAgICdkb20vVGV4dEV2ZW50SW5wdXRUeXBlLmgnLAogICAgICAg
ICAgICAgJ2RvbS9VSUV2ZW50LmgnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmgnLAog
ICAgICAgICAgICAgJ2RvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmgnLAogICAgICAgICAgICAgJ2Rv
bS9Vc2VyR2VzdHVyZUluZGljYXRvci5oJywKICAgICAgICAgICAgICdkb20vVXNlclR5cGluZ0dl
c3R1cmVJbmRpY2F0b3IuaCcsCkBAIC03ODQsNiArNzg2LDcgQEAKICAgICAgICAgICAgICdkb20v
RXZlbnRFeGNlcHRpb24uaWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwn
LAogICAgICAgICAgICAgJ2RvbS9FdmVudFRhcmdldC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9G
b2N1c0V2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwnLAog
ICAgICAgICAgICAgJ2RvbS9LZXlib2FyZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01l
c3NhZ2VDaGFubmVsLmlkbCcsCkBAIC04MTYsNiArODE5LDcgQEAKICAgICAgICAgICAgICdkb20v
VG91Y2hMaXN0LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAg
ICAgICAgICdkb20vVUlFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50Lmlk
bCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsJywKICAgICAgICAgICAgICdkb20v
V2ViS2l0TmFtZWRGbG93LmlkbCcsCkBAIC01MDI1LDYgKzUwMjksNyBAQAogICAgICAgICAgICAg
J2RvbS9FeGNlcHRpb25CYXNlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2Uu
aCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAnLAorICAg
ICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmgnLAog
ICAgICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaCcsCkBAIC01MTQxLDYgKzUxNDYsNyBA
QAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1Ry
ZWVXYWxrZXIuaCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuY3BwJywKKyAgICAgICAgICAg
ICdkb20vRm9jdXNFdmVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50V2l0aEtleVN0
YXRlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmNwcCcsCiAg
ICAgICAgICAgICAnZG9tL1VzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmNwcCcsCkBAIC03MTUw
LDYgKzcxNTYsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNGaWxlV3JpdGVyU3luYy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5o
JywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Rm9jdXNFdmVudC5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAnLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Vv
cG9zaXRpb24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDhlYzRiZmI2
YjcxMzJhMjc4YTA2MDQxMTVjZWRhY2JmMzQxZGZmMDAuLjY0Yjg2Zjg0M2E1MjcxYjhlYmI4Mjhi
ZTYyYThhZjg4MzI5ZWM1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJ
bk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtODAs
NiArODAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNlcHRp
b25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgorI2lu
Y2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1ZGUg
IktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKaW5kZXggYjI0NzRjYjk1
MWU2YzkxNDYzY2Y5ZjMxNTg2ZGVjM2U3MjMwOWYzMy4uYTc1ZTdlZDNjMzVhMDk1NzcyOTdmYzgy
OTcxYmRmZjNhZWFjNWY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlz
cGF0Y2hNZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTUxLDM4ICs1MSw0IEBAIGJvb2wgRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKICAg
ICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2ZW50LmdldCgpKTsKIH0KIAot
UGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNl
ZE5vZGUpKTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNw
YXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVu
dERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwg
ZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCi17
Ci19Ci0KLWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZl
bnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVz
dFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFz
c1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUp
KTsKLX0KLQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRj
aE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFsc2UsIGZh
bHNlKSkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJv
b2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNo
ZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRh
cmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1l
ZGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgKaW5k
ZXggMjZlNWQyZjIxMmU5ZGQwYjVjODQ1YTQ0N2ZkNGQ3NDViYWVkNTg2Yy4uY2E5OWQ1ODEwMTIw
NjVmMTk5ZDA2MjdkNjM4YTkwM2Q0NmEzODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dERpc3BhdGNoTWVkaWF0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTcsMjMgKzU3LDYgQEAgcHJpdmF0ZToKICAgICBS
ZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0
cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZvY3VzRXZl
bnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotICAg
IHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OwotICAg
IFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3MgQmx1ckV2ZW50RGlz
cGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQ
YXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0gICAgZXhwbGljaXQg
Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2Rl
KTsKLSAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25z
dDsKLSAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsKLX07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9y
eS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4KaW5kZXggMWI1MDBjZDc5
OWE4ZmM0NmNkYzlhZTc5ZmFlMDgwNmRlMGFhZDFkZC4uOTY3NGI1MzYyZTYyYTgxZWUwZjFhZGFk
NTA4OTMxNDZiMTRmYzQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFj
dG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCkBAIC04LDYg
KzgsOCBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JF
dmVudAorRm9jdXNFdmVudAorRm9jdXNFdmVudHMgaW50ZXJmYWNlTmFtZT1Gb2N1c0V2ZW50CiBI
YXNoQ2hhbmdlRXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJkRXZlbnRzIGludGVyZmFjZU5h
bWU9S2V5Ym9hcmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUy
NGZhOWM0NGZkMGIwNzAyZDQwYTBmNzljY2E0OTEzYzFjNjNhM2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAKQEAgLTAsMCArMSwxNzEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9y
c2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgorCisjaW5jbHVkZSAiRXZl
bnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoKQoreworfQorCitGb2N1c0V2ZW50Ojp+
Rm9jdXNFdmVudCgpCit7Cit9CisKK3ZvaWQgRm9jdXNFdmVudDo6aW5pdEZvY3VzRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQ
YXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVu
dFRhcmdldD4gcmVsYXRlZFRhcmdldCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxh
YmxlLCB2aWV3LCAwKTsKKyAgICAKKyAgICBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0
OworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEZvY3VzRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBj
b25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yRm9jdXNFdmVudDsK
K30KKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJv
b2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2
aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQor
ICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkK
KyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQoreworfQorCisKKworUGFzc1Jl
ZlB0cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0luRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxO
b2RlPiBvbGRGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5F
dmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9sZEZvY3VzZWROb2RlKSk7Cit9CisKK0ZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFz
c1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9k
ZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKKyAgICAsIG1fb2xkRm9jdXNl
ZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0
Cit7CisgICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkgLy8gRG9uJ3QgZXZl
biBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNvbnRyb2xzLgorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAKKyAgICBpZiAoZXZlbnQoKS0+dHlwZSgpLmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOyAvLyBTaG91bGRuJ3QgaGFwcGVuLgorICAgIAorICAgIFJlZlB0cjxFdmVu
dFRhcmdldD4gcmVsYXRlZFRhcmdldCA9IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQo
ZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7CisgICAgZXZlbnQoKS0+c2V0UmVsYXRlZFRhcmdl
dChyZWxhdGVkVGFyZ2V0KTsKKyAgICAgCisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRv
cjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsgICAKK30KKworRm9jdXNFdmVudCogRm9jdXNJ
bkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpKTsKK30K
KworCisKK1Bhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzT3V0
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVu
dCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9k
ZSkpOworfQorCitGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERp
c3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxO
b2RlPiBuZXdGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkK
KyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9j
dXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVy
KiBkaXNwYXRjaGVyKSBjb25zdAoreworICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmRpc2Fi
bGVkKCkpIC8vIERvbid0IGV2ZW4gc2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250cm9s
cy4KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgaWYgKGV2ZW50KCktPnR5cGUoKS5p
c0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gU2hvdWxkbid0IGhhcHBlbi4KKyAg
ICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQgPSBkaXNwYXRjaGVyLT5h
ZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5vZGUpOworICAgIGV2ZW50
KCktPnNldFJlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCk7CisgICAgIAorICAgIHJldHVybiBF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Cit9CisKK0Zv
Y3VzRXZlbnQqIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmV2ZW50KCkpOworfQorCisKKworUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+
IG9sZEZvY3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERp
c3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKK30KKworRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xk
Rm9jdXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKKyAgICAsIG1fb2xkRm9jdXNl
ZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAor
eworICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1
c2VkTm9kZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVu
dChkaXNwYXRjaGVyKTsKK30KKworCisKK1Bhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcj4gQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4g
bmV3Rm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCbHVyRXZlbnREaXNw
YXRjaE1lZGlhdG9yKG5ld0ZvY3VzZWROb2RlKSk7Cit9CisKK0JsdXJFdmVudERpc3BhdGNoTWVk
aWF0b3I6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1
c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5ibHVyRXZlbnQsIGZhbHNlLCBmYWxzZSkpCisgICAgLCBtX25ld0ZvY3VzZWROb2Rl
KG5ld0ZvY3VzZWROb2RlKQoreworfQorCitib29sIEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAg
IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9uZXdGb2N1c2VkTm9k
ZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNw
YXRjaGVyKTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45NzFiM2JhOWViNTdmZTU0Yzk5NGMxMTZmYzE1NWEwOWI2YWJlMjdm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApAQCAt
MCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgRm9jdXNFdmVudF9oCisjZGVmaW5lIEZvY3VzRXZlbnRfaAor
CisjaW5jbHVkZSAiRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgiCisjaW5jbHVkZSAiVUlFdmVudC5o
IgorCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnQgOiBwdWJs
aWMgVUlFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4g
Y3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudCk7
CisgICAgfQorICAgICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFi
bGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRy
PEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0
YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorICAgICAgIAorICAgIHZpcnR1YWwgfkZvY3Vz
RXZlbnQoKTsKKyAgICB2b2lkIGluaXRGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZp
ZXc+LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KTsK
KyAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVsYXRl
ZFRhcmdldC5nZXQoKTsgfQorICAgIHZvaWQgc2V0UmVsYXRlZFRhcmdldChQYXNzUmVmUHRyPEV2
ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KSB7IG1fcmVsYXRlZFRhcmdldCA9IHJlbGF0ZWRUYXJn
ZXQ7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNv
bnN0OworICAgIAorcHJpdmF0ZToKKyAgICBGb2N1c0V2ZW50KCk7CisgICAgRm9jdXNFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRh
cmdldD4gcmVsYXRlZFRhcmdldCk7ICAgICAgICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IG1f
cmVsYXRlZFRhcmdldDsKK307CisgICAgCisgICAgCitjbGFzcyBGb2N1c0luRXZlbnREaXNwYXRj
aE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBh
c3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NS
ZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAg
IHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAg
IEZvY3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNl
ZE5vZGU7Cit9OworICAgIAorIAorY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3Ig
OiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8
Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEZv
Y3VzRXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKKyAgICB2aXJ0dWFs
IGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKKyAgICBGb2N1c0V2
ZW50KiBldmVudCgpIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBtX25ld0ZvY3VzZWROb2RlOwor
fTsKKyAgICAKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVibGlj
IEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7ICAgIAorcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBv
bGRGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRj
aE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwg
Ym9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIFJlZlB0cjxO
b2RlPiBtX29sZEZvY3VzZWROb2RlOworfTsgCisgICAgCisKK2NsYXNzIEJsdXJFdmVudERpc3Bh
dGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsgICAgICAgCitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3Jl
YXRlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOyAgICAgICAgCitwcml2YXRlOgor
ICAgIGV4cGxpY2l0IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNw
YXRjaGVyKikgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Cit9OyAg
ICAgCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEZvY3VzRXZlbnRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MmM2Mjg2NTQyM2RiMWZiOWMz
ZDJlODA2M2M1MjllNjQ0YmRjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNFdmVudC5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBldmVudHMgeworCisgICAg
Ly8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgRm9jdXNFdmVudCA6
IFVJRXZlbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCAgICAg
IHJlbGF0ZWRUYXJnZXQ7CisKKyAgICAgICAgdm9pZCBpbml0Rm9jdXNFdmVudChpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVh
biBjYW5CdWJibGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gY2FuY2VsYWJsZSwgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0g
RE9NV2luZG93IHZpZXcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgZGV0YWlsLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBFdmVu
dFRhcmdldCByZWxhdGVkVGFyZ2V0KTsKKworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRl
eCA3ODFiY2FkZWY1NGFiZjQzN2VjYzdhMWIxNTA4NjlmMzcyMzliODY1Li4xMDI0MjZjZGNiZjFl
NzBjZTU3MzRhNzQ3ZDgxMWUzYWY2ODIwZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC01OCw2ICs1
OCw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRN
TEVsZW1lbnQuaCIKQEAgLTI3NjYsMTQgKzI3NjcsMTQgQEAgdm9pZCBOb2RlOjpkaXNwYXRjaEZv
Y3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2Rl
PgogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQo
ZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQgfHwgZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNw
YXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50
OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXco
KSwgMCksIG9sZEZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNo
TWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZlbnQ6
OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0Vmlldygp
LCAwLCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7CiB9CiAKIHZvaWQgTm9kZTo6
ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNz
UmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRj
aEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1
c291dEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVudCk7
Ci0gICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBm
YWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG5ld0ZvY3VzZWROb2RlKSk7Cisg
ICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERpc3Bh
dGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBm
YWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgbmV3Rm9jdXNlZE5vZGUpLCBuZXdG
b2N1c2VkTm9kZSkpOwogfQogCiB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChp
bnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlF
dmVudC5jcHAKaW5kZXggZmYzZmY0YWZjZjliMjEyMTFiN2I1MzFmYWY1NDdkMTNlZjhmZDU2OS4u
YjU1MzllYzUyOGQ2ZmYxZWJhNzljNTU0NDA4YjczNjc4MzM2NjJlMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2
ZW50LmNwcApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMgQW50
b24gKGFudG9uQHN0dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykgMjAw
NiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAoQykg
MjAwMywgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwpAQCAtMTEwLDM4ICsxMTEsNCBAQCB2b2lkIFVJRXZlbnQ6Ondhcm5E
ZXByZWNhdGVkTGF5ZXJYWVVzYWdlKCkKICAgICAgICAgbV92aWV3LT5jb25zb2xlKCktPmFkZE1l
c3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VMZXZl
bCwgY29uc29sZU1lc3NhZ2UpOwogfQogCi1QYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3I+IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRy
PEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9s
ZEZvY3VzZWROb2RlKSk7Ci19Ci0KLUZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQ
dHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZl
bnQpCi0gICAgLCBtX29sZEZvY3VzZWROb2RlKG9sZEZvY3VzZWROb2RlKQotewotfQotCi1ib29s
IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRj
aGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRU
YXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxG
b2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdG
b2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzT3V0RXZlbnREaXNw
YXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9kZSkpOwotfQotCi1Gb2N1c091dEV2ZW50
RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0
cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi0gICAgOiBF
dmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCi0gICAgLCBtX25ld0ZvY3VzZWROb2RlKG5ld0Zv
Y3VzZWROb2RlKQotewotfQotCi1ib29sIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpk
aXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsKLSAgICBk
aXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5vZGUp
OwotICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0
Y2hlcik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9VSUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCmluZGV4
IGQxMjk0Yzk1MmZjMWJkMDc3OGMxYjYxM2MwMWUwNDdhNWViOGU5ZmEuLjRkZmJhMjZiY2Q2M2Zl
NDcwNmIzMzBkNjU5MGI4NjMzZjVhNTE0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9VSUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaApAQCAtMyw2ICsz
LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMgQW50b24gKGFudG9uQHN0dWQuZmJp
LmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChz
YW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtNzUsMjQgKzc2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBpbnQg
bV9kZXRhaWw7CiAgICAgfTsKIAotICAgIGNsYXNzIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0
b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQ
YXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci0gICAg
cHJpdmF0ZToKLSAgICAgICAgZXhwbGljaXQgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQ
YXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci0gICAg
ICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0Owot
ICAgICAgICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKLSAgICB9OwotCi0gICAgY2xh
c3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1l
ZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzT3V0
RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQ
dHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgIHByaXZhdGU6Ci0gICAgICAgIGV4cGxpY2l0
IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVm
UHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRpc3BhdGNo
RXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7Ci0gICAgICAgIFJlZlB0cjxOb2RlPiBtX25l
d0ZvY3VzZWROb2RlOwotICAgIH07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIFVJRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDMzMWU2MmM4MWQ0
Njk1ZGFkYzI2NzQxNDkyMjA4YzBhNmMwMTdjZjUuLjM5YmY1MTRjYmY1NjdiM2YyZGQ1OTlhNGM4
NTNkMjBlMDliNDI3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEsNiArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTUxMCw2ICs1MTAsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmlidXRl
IENvbXBvc2l0aW9uRXZlbnRDb25zdHJ1Y3RvciBDb21wb3NpdGlvbkV2ZW50OwogICAgICAgICBh
dHRyaWJ1dGUgQ3VzdG9tRXZlbnRDb25zdHJ1Y3RvciBDdXN0b21FdmVudDsKICAgICAgICAgYXR0
cmlidXRlIEVycm9yRXZlbnRDb25zdHJ1Y3RvciBFcnJvckV2ZW50OworICAgICAgICBhdHRyaWJ1
dGUgRm9jdXNFdmVudENvbnN0cnVjdG9yIEZvY3VzRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBI
YXNoQ2hhbmdlRXZlbnRDb25zdHJ1Y3RvciBIYXNoQ2hhbmdlRXZlbnQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBLZXlib2FyZEV2ZW50Q29uc3RydWN0b3IgS2V5Ym9hcmRFdmVudDsKICAgICAgICAgYXR0
cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMWY5
ZjYzYTdlNDVkODRjOGExODUwMzIyMWZiOWY0OTAzNDE3NTkyLi42NjJlZGRhZjZmNmQ3ODQzOTc1
MGQ3OTMyYjM3YzY1OGEwMmE3YzJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDItMTMg
IFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Vi
S2l0IGRvZXMgbm90IHN1cHBvcnQgRE9NIDMgRXZlbnRzIEZvY3VzRXZlbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbDoKKyAgICAgICAgICAgIC0gQ2hhbmdlZCB0
aGUgZm9jdXNpbi9mb2N1c291dCBwYXJ0cyBvZiB0aGlzIGxheW91dCB0ZXN0IHRvIGluY2x1ZGUg
dGhlCisgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLCB3aGljaCBpcyBub3cg
c2V0IG9uIEZvY3VzRXZlbnQgb2JqZWN0cworICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50LWNy
ZWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlv
bi5odG1sOgorICAgICAgICAgICAgLSBBZGRlZCB0aGUgY3JlYXRpb24gb2YgRm9jdXNFdmVudHMg
dG8gdGhpcyBsYXlvdXQgdGVzdAorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0
LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9y
ZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgLSBUaGlz
IGlzIGEgbmV3IGxheW91dCB0ZXN0IEkgY3JlYXRlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgcGF0
Y2gKKwogMjAxMi0wMi0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3Rvcjogd3JhcCBzZXR0aW5ncyBzZWxlY3RvciB0ZXh0IGFuZCBh
ZGRpbmcgYSBydWxlIHdpdGggdW5kb2FibGUgYWN0aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVj
dGVkLnR4dAppbmRleCA5YTVmOWRiMzcxMTBlNTQ2OTAwOTJkYTQ3Yjk4NGZkM2I2M2I2NjZmLi40
MGNlYmMyN2NlZWMxMGRlNGM2M2M3NGQ0NzUxN2MzYjc3YTBlMzQ1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVu
dHMtZXhwZWN0ZWQudHh0CkBAIC02MSwxMyArNjEsMTMgQEAgUEFTUyBkaXNwYXRjaGVkRXZlbnQo
Im1vdXNlb3V0IikgaXMgWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0coPC1zaGFk
b3cKIAogTW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9k
ZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2
QiB0byBkaXZDCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2QyhAZGl2
QykiLCAiZGl2QyhAZGl2QSkiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMg
WyJkaXZCKEBkaXZCKSIsICJkaXZCKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9j
dXNpbiIpIGlzIFsiZGl2Qyg8LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2QikoQGRpdkEpIl0K
K1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2Qig8LWRpdkMpKEBkaXZC
KSIsICJkaXZCKDwtZGl2QykoQGRpdkEpIl0KIAogT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZv
Y3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBi
b3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJl
eW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIHNoYWRv
d0Qvc2hhZG93Ri9zaGFkb3dHL2RpdkggdG8gc2hhZG93RC9zaGFkb3dLL2RpdkwKLVBBU1MgZGlz
cGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFk
b3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQi
KSBpcyBbImRpdkgoQGRpdkgpIiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRv
d0YpIiwgInNoYWRvd0YoQGRpdkUpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikg
aXMgWyJkaXZMKDwtc2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93
SykiLCAic2hhZG93Syg8LXNoYWRvd0YpKEBkaXZKKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgi
Zm9jdXNvdXQiKSBpcyBbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNoYWRv
d0spKEBzaGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwgInNoYWRvd0Yo
PC1zaGFkb3dLKShAZGl2RSkiXQogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJs
aW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuCiBNb3Zp
bmcgZm9jdXMgZnJvbSBkaXZCIHRvIGRpdkMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCmluZGV4IGYwNjMwYzcyYzZi
OWQwZjRlODUyYTRlNmM3N2UxNTRkMzRjOWMzZGMuLmU0NzkwNGI3MjVjYmVhZmMyNWY3MjNkZjVh
MTBkMTMzYjVlOGM3OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbApAQCAtMTg3LDEzICsxODcsMTMgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgLy8gVGVzdCBmb3IgZm9jdXNpbi9mb2N1c291dCBldmVudHMuCiAg
ICAgbW92ZUZvY3VzKCdkaXZCJywgJ2RpdkMnLAogICAgICAgICAgICAgICAnTW92ZSBmb2N1cyBm
cm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Yg
c2hhZG93IGJvdW5kYXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vz
aW4iKScsICdbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0nKTsKLSAgICBzaG91bGRCZSgn
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2QihAZGl2QikiLCAiZGl2QihAZGl2
QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRp
dkMoPC1kaXZCKShAZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdJyk7CisgICAgc2hvdWxk
QmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoPC1kaXZDKShAZGl2Qiki
LCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdJyk7CiAKICAgICBtb3ZlRm9jdXMoJ3NoYWRvd0Qvc2hh
ZG93Ri9zaGFkb3dHL2RpdkgnLCAnc2hhZG93RC9zaGFkb3dLL2RpdkwnLAogICAgICAgICAgICAg
ICAnT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0
ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0
IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3Vu
ZGFyeS4nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJk
aXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdJyk7Ci0g
ICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoQGRpdkgp
IiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwgInNoYWRvd0YoQGRp
dkUpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJk
aXZMKDwtc2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93SykiLCAi
c2hhZG93Syg8LXNoYWRvd0YpKEBkaXZKKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRF
dmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8
LXNoYWRvd0spKEBzaGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwgInNo
YWRvd0YoPC1zaGFkb3dLKShAZGl2RSkiXScpOwogCiAgICAgLy8gT21pdHRlZCB0ZXN0IGNhc2Vz
IHdoZXJlIGVpdGhlciBhIG9sZEZvY3VzZWROb2RlIG9yIG5ld0ZvY3VzZWROb2RlIGlzIGFuIGFu
Y2VzdG9yIG9mIHRoZSBvdGhlci4KICAgICAvLyBEdWUgdG8gYSBmb2N1cyB0cmFuc2ZlciBtZWNo
YW5pc20gb24gc2hhZG93IGhvc3RzLCBhIGZvY3VzZWQgbm9kZSBzaG91bGQgYmUgYSBsZWFmIG5v
ZGUgaW4gZ2VuZXJhbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNy
ZWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA2MzU5ZTk5YTk3NWIzY2I5OWFjNTY1MDNlMzMyZDg3
YzU1MzZiODg5Li5hNGViYmIwZGFhNjA2NGZlMjgyOWE3NDdjYjMzMWFmMWU1MWZlMjQzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0yMSw2ICsyMSwxMCBAQCBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdDdXN0b21F
dmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuQ3VzdG9tRXZlbnQgaXMgdAogUEFTUyBkb2N1
bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkVycm9yRXZl
bnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3Rh
bmNlb2Ygd2luZG93LkV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vy
cm9yRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkVycm9yRXZlbnQgaXMgdHJ1ZQorUEFT
UyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkZv
Y3VzRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcp
IGluc3RhbmNlb2Ygd2luZG93LlVJRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVF
dmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50IGlzIHRydWUKK1BBU1Mg
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93
LkZvY3VzRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5n
ZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuSGFzaENoYW5nZUV2ZW50IGlzIHRydWUKIFBBU1Mg
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93
LkV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVu
dCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuSGFzaENoYW5nZUV2ZW50IGlzIHRydWUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCmluZGV4IDYzZGJhMDRiYTE1
MWI1N2U5MGIzMjMzYmU0YWJlNmRhNTAzYTlhYWMuLmE5ODI5NjZmMzFiZjhmZjI5NmRkYTYwMDFj
MTQwNTliNjJlOTI3M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRp
b24uaHRtbApAQCAtMzcsNiArMzcsMTIgQEAKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNy
ZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKICAgICBz
aG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykuY29uc3RydWN0
b3IgPT09IHdpbmRvdy5FcnJvckV2ZW50Iik7CiAKKyAgICAvLyBGb2N1c0V2ZW50CisgICAgc2hv
dWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LkZvY3VzRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuVUlFdmVudCIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdp
bmRvdy5FdmVudCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Zv
Y3VzRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkZvY3VzRXZlbnQiKTsgICAgCisKICAg
ICAvLyBIYXNoQ2hhbmdlRXZlbnQKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQi
KTsKICAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZl
bnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NTkwZDVlMzM2MzcxM2Q4ZjY2ZWFhMjQ3OGVkYmIxNDQwNmFiYmI0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQt
Zm9jdXNldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorTGF5b3V0IHRlc3QgZm9y
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNi4gQ2hlY2tzIHRo
YXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVjdHMgaXMg
YmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNw
YXRjaGVkLiBQcmVzcyB0YWIgZm91ciB0aW1lcyB0byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZv
Y3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LgorCitNZW93ICBQdXJy
ICBGdXIhICBEb25lCitFeHBlY3RlZCBSZXN1bHQKKworTWVvdyByZWNlaXZlZCBmb2N1c2luLCBp
dHMgcmVsYXRlZFRhcmdldCBpcyBudWxsCitNZW93IHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVs
YXRlZFRhcmdldCBpcyBQdXJyCitQdXJyIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFy
Z2V0IGlzIE1lb3cKK1B1cnIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlz
IEZ1ciEKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgor
RnVyISByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRG9uZQorICAgIAor
QWN0dWFsIFJlc3VsdAorCitNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0
IGlzIG51bGwKK01lb3cgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1
cnIKK1B1cnIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVvdworUHVy
ciByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVyISByZWNl
aXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2VpdmVkIGZv
Y3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBEb25lCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kYzU1ZWRmMGE2MjhhMTBlNzY2ZjM1NzI1MGNlZDE2ZTg1Zjk1Yjk3Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5o
dG1sCkBAIC0wLDAgKzEsNzMgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAgCisgICAgICAgIGZ1bmN0aW9uIGxvZyhtc2cpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsb2cnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShtc2cgKyAnXG4nKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0
KCkgCisgICAgICAgIHsgICAgICAgCisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSAKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKKyAgICAgICAgICAgIHZhciBJTkVWRU5UID0gImZvY3VzaW4iOworICAgICAgICAg
ICAgdmFyIE9VVEVWRU5UID0gImZvY3Vzb3V0IjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAg
dmFyIGIxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjEnKTsKKyAgICAgICAgICAg
IHZhciBiMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJyk7CisgICAgICAgICAg
ICB2YXIgYjMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMycpOworICAgICAgICAg
ICAgCisgICAgICAgICAgICBiMS5hZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRlc3RJbkV2ZW50
LCB0cnVlKTsKKyAgICAgICAgICAgIGIyLmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVOVCwgVGVzdElu
RXZlbnQsIHRydWUpOworICAgICAgICAgICAgYjMuYWRkRXZlbnRMaXN0ZW5lcihJTkVWRU5ULCBU
ZXN0SW5FdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGIxLmFkZEV2ZW50
TGlzdGVuZXIoT1VURVZFTlQsIFRlc3RPdXRFdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICBiMi5h
ZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAgICAgICAg
ICAgYjMuYWRkRXZlbnRMaXN0ZW5lcihPVVRFVkVOVCwgVGVzdE91dEV2ZW50LCB0cnVlKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgIAorICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCA0OyBpKyspIAorICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0
Jyk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIFRlc3RJbkV2ZW50KGV2
dCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChldnQucmVsYXRlZFRhcmdldCkKKyAgICAg
ICAgICAgICAgICBsb2coZXZ0LnRhcmdldC5pbm5lclRleHQgKyAiIHJlY2VpdmVkIGZvY3VzaW4s
IGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVsYXRlZFRhcmdldC5pbm5lclRleHQpOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4
dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxh
dGVkVGFyZ2V0KTsgIAorICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBUZXN0
T3V0RXZlbnQoZXZ0KSAKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGV2dC5yZWxhdGVkVGFy
Z2V0KQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2
ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVsYXRlZFRhcmdldC5p
bm5lclRleHQpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFy
Z2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlz
ICIgKyBldnQucmVsYXRlZFRhcmdldCk7CisgICAgICAgICAgICAgCisgICAgICAgIH0KKyAgICA8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxwPkxheW91dCB0ZXN0
IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYy
MTYiIHRhYmluZGV4PS0xPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
NjIxNjwvYT4uICBDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9yIEZv
Y3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9mb2N1
c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuICA8Yj5QcmVzcyB0YWIgZm91ciB0aW1lczwvYj4g
dG8gZGlzcGF0Y2ggYSBmb2N1c2luIGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUg
YnV0dG9ucyBiZWxvdy48L3A+CisgICAgPGJ1dHRvbiBpZD0iYnV0dG9uMSI+TWVvdzwvYnV0dG9u
PgorICAgIDxidXR0b24gaWQ9ImJ1dHRvbjIiPlB1cnI8L2J1dHRvbj4KKyAgICA8YnV0dG9uIGlk
PSJidXR0b24zIj5GdXIhPC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iaW5wdXRkb25lIj5Eb25l
PC9idXR0b24+CisgICAgPHA+RXhwZWN0ZWQgUmVzdWx0PC9wPgorICAgIDxwcmU+CitNZW93IHJl
Y2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIG51bGwKK01lb3cgcmVjZWl2ZWQg
Zm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK1B1cnIgcmVjZWl2ZWQgZm9jdXNp
biwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVvdworUHVyciByZWNlaXZlZCBmb2N1c291dCwgaXRz
IHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVyISByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRl
ZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdl
dCBpcyBEb25lCisgICAgPC9wcmU+CisgICAgPHA+QWN0dWFsIFJlc3VsdDwvcD4KKyAgICA8cHJl
IGlkPSJsb2ciPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127003</attachid>
            <date>2012-02-14 11:22:07 -0800</date>
            <delta_ts>2012-02-14 13:29:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120214142206.patch</filename>
            <type>text/plain</type>
            <size>58840</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlN2Q3YWFhYzdlMTk5
YmNhNGY2ZGE3NzNmMDZiNjg0Yzk4ZjVlMC4uN2JiM2UxODdlYWIyM2U5ZjZjNDYyNzk3MjVhY2Jk
MjllY2I0MDE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTE0ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIENyZWF0ZWQg
YSBuZXcgRm9jdXNFdmVudCBjbGFzcyAoZXh0ZW5kcyBVSUV2ZW50KSB3aXRoIGEgcmVsYXRlZFRh
cmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixG
b2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4g
IE5vdyB3aGVuCisgICAgICAgIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRj
aGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRlZCB3aXRoIHRoZSByZWxhdGVkVGFyZ2V0CisgICAg
ICAgIGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5nbHkuICBObyBvdGhlciBsb2dpYyBjaGFuZ2VzIGhh
dmUgYmVlbiBtYWRlIGJlc2lkZXMgYWRkaW5nIHRoZQorICAgICAgICBGb2N1c0V2ZW50IGNsYXNz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICAgICAtIElu
Y2x1ZGVkIG1lbnRpb24gb2YgRm9jdXNFdmVudCAvIEpTRm9jdXNFdmVudCBpbiB0aGUgYWJvdmUg
ZWlnaHQgZmlsZXMgdG8KKyAgICAgICAgICAgICAgaG9wZWZ1bGx5IGFsbG93IHRoZSBwYXRjaCB0
byBidWlsZCBvbiB0aGUgZGlmZmVyZW50IHBsYXRmb3JtcywgaW5jbHVkaW5nIG1hYworICAgICAg
ICAqIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwOgorICAgICAgICAqIGRvbS9FdmVudERp
c3BhdGNoTWVkaWF0b3IuaDoKKyAgICAgICAgKiBkb20vRXZlbnRGYWN0b3J5LmluOgorICAgICAg
ICAqIGRvbS9Gb2N1c0V2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9jdXNFdmVudDo6fkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6
aW5pdEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW50ZXJmYWNl
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpldmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6
CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgKiBkb20vRm9jdXNFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmguCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OnJlbGF0ZWRUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6c2V0UmVsYXRlZFRhcmdldCk6CisgICAgICAgIChGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAg
ICAgKEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZTo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlz
cGF0Y2hGb2N1c091dEV2ZW50KToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAg
ICogZG9tL1VJRXZlbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTIt
MDItMTQgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogTWFrZSBTY3JpcHRzTmF2aWdhdG9yIGRlZmF1bHQgZmlsZSBzZWxlY3Rv
ci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZGUwOTBlNjE2MzE0MThmZDA0M2M4YTg5MTZkNzZm
NzI5YTI0ODU4ZC4uZTdhYmUyZjRjZTE1NGIwZDYyZGExZTUxZjhiNTM4ZjZkNmU0YjA2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1OCw2ICsxNTgsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklM
RVMKICAgICBkb20vRXJyb3JFdmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAg
ICAgZG9tL0V2ZW50LmlkbAorICAgIGRvbS9Gb2N1c0V2ZW50LmlkbAogICAgIGRvbS9IYXNoQ2hh
bmdlRXZlbnQuaWRsCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaWRsCiAgICAgZG9tL01lc3NhZ2VD
aGFubmVsLmlkbApAQCAtNTU4LDYgKzU1OSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBk
b20vRXZlbnRUYXJnZXQuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9tL0V4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAKKyAgICBkb20vRm9jdXNFdmVudC5jcHAKICAgICBk
b20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCiAgICAgZG9tL0ljb25VUkwuY3BwCiAgICAgZG9tL0tl
eWJvYXJkRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNDc4MTI3ODQ4
OGExNTkxM2Q4MDk0MmE2MzY4YmVjMmQyOGViZTAxNS4uZTVkOTRiYmYwZTE2ZDNmMDM1NWNmZGY3
Y2ExMTkyZWNmYzlmNGFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTI5LDYg
KzEyOSw3IEBACiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNG
bG9hdDMyQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQ2NEFycmF5LmNwcCIKKyNpbmNsdWRl
ICJKU0ZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1
ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgogI2luY2x1ZGUgIkpTSGFzaENoYW5nZUV2ZW50LmNwcCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDcwZmM3NDQ4OTQwMmVkMzIyN2YyNzYy
YTEwN2FjMmJjMmIxZWRjZTMuLjQ0MTViYThmOTE0ODNjZDFjZWM3ZjgwMzE0OWNkMzgxMWRmZWY0
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTExLDYgKzExMSw3IEBAIEJJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9FdmVudFRhcmdldC5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5u
ZWwuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA2MTBjZmYxOTlmNGNjN2Q3
Y2JmMjMyZWI3NGI4Y2E4NDMzZTg1YTI5Li5jMDU0ZDQ0ZGQzMjQ3MjYzNjhjM2VlNzAxZmU4ZmZj
ZTliYTFmZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xNDIsNiArMTQyLDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwK
ICMgICAgJCRQV0QvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50
VGFyZ2V0LmlkbCBcCisgICAgJCRQV0QvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkJFBXRC9k
b20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0tleWJvYXJkRXZlbnQuaWRs
IFwKICAgICAkJFBXRC9kb20vTW91c2VFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KaW5kZXggZGI4MDIxMTQwZDkwNDliM2I1ZjQ0YTk4NDMwZjZmZjA1MjFiYWFhMS4uNDdh
YThmMmNjMmZmN2FiMmQ2Y2RkZjFjZTIyMWMzMWU5MzNlOWY4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCkBAIC0xODMsNiArMTgzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRmxvYXQ2NEFycmF5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2
ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dlb2xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9w
b3NpdGlvbi5jcHAgXApAQCAtNzAzLDYgKzcwNSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvZG9tL0Vycm9yRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudC5p
ZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9k
b20vRm9jdXNFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwg
XAogCSQoV2ViQ29yZSkvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9N
ZXNzYWdlQ2hhbm5lbC5pZGwgXApAQCAtMTU2OSw2ICsxNTcyLDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCA2Zjc2OWIxZGFjNDA2NWI5MTE5MTFmMzhhNjkzODY0OTQxN2Y2MDU0Li5hNWFkOGZlYTM5
NTJhYjA1MTlhZGEzOTVjYmNmYWQzZmQwM2E0YzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTUyMSw2ICs1
MjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQuY3BwIFwKICAgICBkb20v
RXhjZXB0aW9uQmFzZS5jcHAgXAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3Bw
IFwKKyAgICBkb20vRm9jdXNFdmVudC5jcHAgXAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5j
cHAgXAogICAgIGRvbS9JY29uVVJMLmNwcCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuY3BwIFwK
QEAgLTE2MzUsNiArMTYzNiw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5o
IFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwK
KyAgICBkb20vRm9jdXNFdmVudC5oIFwKICAgICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNz
aW9uLmggXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmggXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5l
bC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmYjE2YTVmZjljOTUwOWNmOWJiZTBmZjQwODllNDFm
ZjQwMDUxYTMxLi4zZGQ5MjM2Mzk0NTEyNjM5NzVmZTdlOTQ1NzBmNTFmZDEwMWZlMTc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC02MDAsNiArNjAwLDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRU
YXJnZXQuaCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGUuaCcsCiAgICAgICAgICAg
ICAnZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oJywKKyAgICAgICAgICAgICdkb20vRm9j
dXNFdmVudC5oJywKICAgICAgICAgICAgICdkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9u
LmgnLAogICAgICAgICAgICAgJ2RvbS9LZXlib2FyZEV2ZW50LmgnLAogICAgICAgICAgICAgJ2Rv
bS9NZXNzYWdlUG9ydC5oJywKQEAgLTYyNSw2ICs2MjYsNyBAQAogICAgICAgICAgICAgJ2RvbS9U
ZXh0LmgnLAogICAgICAgICAgICAgJ2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaCcsCiAgICAgICAg
ICAgICAnZG9tL1VJRXZlbnQuaCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaCcsCiAg
ICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaCcsCiAgICAgICAgICAgICAnZG9t
L1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgnLAogICAgICAgICAgICAgJ2RvbS9Vc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5oJywKQEAgLTc4NCw2ICs3ODYsNyBAQAogICAgICAgICAgICAgJ2RvbS9F
dmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCisgICAgICAgICAgICAnZG9tL0Zv
Y3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVz
c2FnZUNoYW5uZWwuaWRsJywKQEAgLTgxNiw2ICs4MTksNyBAQAogICAgICAgICAgICAgJ2RvbS9U
b3VjaExpc3QuaWRsJywKICAgICAgICAgICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9X
ZWJLaXROYW1lZEZsb3cuaWRsJywKQEAgLTUwMjcsNiArNTAzMSw3IEBACiAgICAgICAgICAgICAn
ZG9tL0V4Y2VwdGlvbkJhc2UuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5o
JywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAg
ICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2
ZW50UXVldWUuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAg
ICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5oJywKQEAgLTUxNDMsNiArNTE0OCw3IEBA
CiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuY3BwJywKICAgICAgICAgICAgICdkb20vVHJl
ZVdhbGtlci5oJywKICAgICAgICAgICAgICdkb20vVUlFdmVudC5jcHAnLAorICAgICAgICAgICAg
J2RvbS9Gb2N1c0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3Rh
dGUuY3BwJywKICAgICAgICAgICAgICdkb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwJywKICAg
ICAgICAgICAgICdkb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuY3BwJywKQEAgLTcxNTIs
NiArNzE1OCw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJyYXkuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5Lmgn
LAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNG
b2N1c0V2ZW50LmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9w
b3NpdGlvbi5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDRjYmViZTBlNjczZDYyMDNiZjdmOThjMjIzNDY2MDNiYjU4YmUy
ODIuLjJjYzlmN2EwYzYxYTAwOTM4MTdhMWRmYmU5MmFmOGEyOTMyOGM1NjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk5Myw3
ICs5OTMsNyBAQAogCQk0MTBCN0U3MjEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRD
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLzsg
fTsKIAkJNDExMDQ2NDEwRkEyMjJBNjAwQkE0MzZBIC8qIFNjcmlwdEV2ZW50TGlzdGVuZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTA0NjNGMEZB
MjIyQTYwMEJBNDM2QSAvKiBTY3JpcHRFdmVudExpc3RlbmVyLmggKi87IH07CiAJCTQxMTA0NjQy
MEZBMjIyQTYwMEJBNDM2QSAvKiBTY3JpcHRFdmVudExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTA0NjQwMEZBMjIyQTYwMEJBNDM2
QSAvKiBTY3JpcHRFdmVudExpc3RlbmVyLmNwcCAqLzsgfTsKLQkJNDEyMzA4MUIxMzhDNDI5NzAw
QkNDRkNBIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGMTlCMUEwODI0NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUu
ZnJhbWV3b3JrICovOyB9OworCQk0MTIzMDgxQjEzOEM0Mjk3MDBCQ0NGQ0EgLyogLmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjE5
QjFBMDgyNDVFNUEwMDFFOUFCQyAvKiAuZnJhbWV3b3JrICovOyB9OwogCQk0MTIzMDkxMzEzOEM0
MkZGMDBCQ0NGQ0EgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjgyMTYyOTkwMjlGNEZCNTAxMDAwMTMx
IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJNDEyM0U1NjkxMjdCMzA0MTAw
MEZFRUE3IC8qIFdpbmRvd0V2ZW50Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyM0U1NjcxMjdCMzA0MTAwMEZFRUE3IC8qIFdpbmRvd0V2
ZW50Q29udGV4dC5oICovOyB9OwogCQk0MTIzRTU2QTEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93
RXZlbnRDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMjNFNTY4MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQuY3Bw
ICovOyB9OwpAQCAtNDk4MCw2ICs0OTgwLDEwIEBACiAJCUI2NTY2MjcwMTIwQjEyMjcwMDZFQTg1
QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCNjU2NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlv
bi5oICovOyB9OwogCQlCNjU2NjI3MTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU2
NjI2RjEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5jcHAgKi87IH07CiAJCUI2
OTFDMUY5MTIwNkQ0QTAwMDI1RDk4MCAvKiBJREJEYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTg1QTZBMzExRDRGQjNEMDA0QzNFNEIg
LyogSURCRGF0YWJhc2UuY3BwICovOyB9OworCQlCNkQ5RDIzNTE0RUFCRDI2MDA5MEQ3NUUgLyog
Rm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjZEOUQyMzMxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCAqLzsgfTsKKwkJQjZE
OUQyMzYxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjZEOUQyMzQxNEVBQkQyNjAwOTBENzVFIC8q
IEZvY3VzRXZlbnQuY3BwICovOyB9OworCQlCNkQ5RDI3QjE0RUFDMDg2MDA5MEQ3NUUgLyogSlNG
b2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi87IH07CisJCUI2
RDlEMjdDMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjZEOUQyN0ExNEVBQzA4NjAwOTBENzVF
IC8qIEpTRm9jdXNFdmVudC5jcHAgKi87IH07CiAJCUI3MUZFNkRGMTEwOTFDQjMwMERBRUY3NyAv
KiBQcmludENvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEI3NzZENDNBMTEwNDUyNUQwMEJFQjBFQyAvKiBQcmludENvbnRleHQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCNzM0QjE4MTExOUI5
OTExMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjczNEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRU
cmFuc2NvZGVyLmNwcCAqLzsgfTsKIAkJQjczNEIxODMxMTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRU
cmFuc2NvZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCAqLzsgfTsKQEAg
LTc4MTEsNyArNzgxNSw3IEBACiAJCTQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNv
bnRyb2xFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNv
bnRyb2xFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTdEQTRDRTEz
NzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTdEQTRD
RjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEludGVybmFscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuZHls
aWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21w
aWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBsaWJXZWJDb3Jl
VGVzdFN1cHBvcnQuZHlsaWI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJ
CTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiAuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNs
dWRlSW5JbmRleCA9IDA7IHBhdGggPSAuZHlsaWI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CiAJCTQxN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFscy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxN0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBK
U0ludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ludGVybmFs
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgxM0Y5MTEzODE4QUQ2MDA1N0FB
QTQgLyogSW50ZXJuYWxzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBJbnRlcm5hbHMuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAxMzUsNyArMTAxMzksNyBAQAogCQk5
M0VFQzFGNjA5QzI4Nzc3MDBDNTE1RDEgLyogVGV4dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gVGV4dC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzRUVDMUY3MDlDMjg3
NzcwMEM1MTVEMSAvKiBXaGVlbEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXaGVl
bEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNGMTlCMTkwODI0NUU1
OTAwMUU5QUJDIC8qIEluZm8ucGxpc3QgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgaW5k
ZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRoID0g
SW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFi
cyA9IDA7IH07Ci0JCTkzRjE5QjFBMDgyNDVFNUEwMDFFOUFCQyAvKiBXZWJDb3JlLmZyYW1ld29y
ayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gd3JhcHBl
ci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IFdlYkNvcmUuZnJhbWV3b3Jr
OyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQk5M0YxOUIxQTA4MjQ1RTVB
MDAxRTlBQkMgLyogLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBs
aWNpdEZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0
aCA9IC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTkz
RjFEMzFBMDU1OENDNUMwMDgyMUJDMCAvKiBsaWJpY3Vjb3JlLmR5bGliICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxp
YiI7IG5hbWUgPSBsaWJpY3Vjb3JlLmR5bGliOyBwYXRoID0gL3Vzci9saWIvbGliaWN1Y29yZS5k
eWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKIAkJOTNGMUQ1QjcxMkQ1MzJDNDAw
ODMyQkVDIC8qIFdlYkdMTG9zZUNvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gV2ViR0xMb3NlQ29udGV4dC5jcHA7IHBhdGggPSBjYW52YXMvV2ViR0xMb3Nl
Q29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzRjFENUI4MTJENTMy
QzQwMDgzMkJFQyAvKiBXZWJHTExvc2VDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYkdMTG9zZUNvbnRleHQuaDsgcGF0aCA9IGNhbnZhcy9XZWJHTExvc2VDb250
ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTg5MSw2ICsxMTg5NSwxMSBA
QAogCQlCNjU2NjI2RDEyMEIxMTZCMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjU2NjI2
RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0lEQlRyYW5zYWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUI2NTY2MjZGMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCVHJhbnNhY3Rpb24u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3
NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb2N1
c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjM0MTRFQUJEMjYw
MDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEZvY3VzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5
RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9jdXNFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRm9jdXNFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlE
Mjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGb2N1c0V2ZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjczNEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFu
c2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFu
c2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRy
YW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29k
ZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMzE3LDcgKzEzMzI2LDcgQEAKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQk0MTIzMDkxMzEzOEM0MkZG
MDBCQ0NGQ0EgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCi0J
CQkJNDEyMzA4MUIxMzhDNDI5NzAwQkNDRkNBIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCisJCQkJNDEyMzA4MUIxMzhDNDI5NzAwQkNDRkNBIC8qIC5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTEzMzgzLDggKzEzMzkyLDggQEAKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNUQ4N0JCNEYxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNv
cmVFeHBvcnRGaWxlR2VuZXJhdG9yICovLAotCQkJCTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAv
KiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIgKi8sCi0JCQkJOTNGMTlCMUEwODI0NUU1QTAw
MUU5QUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovLAorCQkJCTQxN0RBNkQwMTM3MzRFMDIwMDdD
NTdGQiAvKiAuZHlsaWIgKi8sCisJCQkJOTNGMTlCMUEwODI0NUU1QTAwMUU5QUJDIC8qIC5mcmFt
ZXdvcmsgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwogCQkJc291cmNlVHJlZSA9IFNP
VVJDRV9ST09UOwpAQCAtMTgwNjQsNiArMTgwNzMsOCBAQAogCQkJCUUxQURFREQ5MEU3NkJEOTMw
MDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0LmNwcCAqLywKIAkJCQlFMUFERUREODBFNzZCRDkzMDA0
QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5oICovLAogCQkJCUE4NjYyOUNDMDlEQTJCNDcwMDk2MzNB
NSAvKiBKU01vdXNlRXZlbnQuY3BwICovLAorCQkJCUI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAv
KiBKU0ZvY3VzRXZlbnQuaCAqLywKKwkJCQlCNkQ5RDI3QTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNG
b2N1c0V2ZW50LmNwcCAqLywKIAkJCQlBODY2MjlDQjA5REEyQjQ3MDA5NjMzQTUgLyogSlNNb3Vz
ZUV2ZW50LmggKi8sCiAJCQkJNjVERjMxRTcwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25F
dmVudC5jcHAgKi8sCiAJCQkJNjVERjMxRTgwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTTXV0YXRpb25F
dmVudC5oICovLApAQCAtMjA0NzcsNiArMjA0ODgsNyBAQAogCQlGNTIzRDMyNDAyREU0NDc4MDE4
NjM1Q0EgLyogZG9tICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQlCNkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9jdXNFdmVudC5pZGwgKi8sCiAJCQkJ
RTFDNERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5jcHAgKi8sCiAJCQkJ
RTFDNERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovLAogCQkJCUE4
QzRBN0ZDMDlENTYzMjcwMDAzQUM4RCAvKiBBdHRyLmNwcCAqLywKQEAgLTIwODI1LDYgKzIwODM3
LDggQEAKIAkJCQk5M0VFQzFGNzA5QzI4Nzc3MDBDNTE1RDEgLyogV2hlZWxFdmVudC5pZGwgKi8s
CiAJCQkJNDEyM0U1NjgxMjdCMzA0MTAwMEZFRUE3IC8qIFdpbmRvd0V2ZW50Q29udGV4dC5jcHAg
Ki8sCiAJCQkJNDEyM0U1NjcxMjdCMzA0MTAwMEZFRUE3IC8qIFdpbmRvd0V2ZW50Q29udGV4dC5o
ICovLAorCQkJCUI2RDlEMjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi8sCisJ
CQkJQjZEOUQyMzQxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwICovLAogCQkJKTsK
IAkJCXBhdGggPSBkb207CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjQyNTUsOCAr
MjQyNjksMTMgQEAKIAkJCQk0QURFMjVGQTE0RTNCQjRDMDA0QzIyMTMgLyogV2ViU29ja2V0RXh0
ZW5zaW9uUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFOTJGQzE0RTU0MDU4MDA4
N0ZGQkEgLyogU2hhZG93Um9vdExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3Q0MzQUUzMTRF
OEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKKzw8
PDw8PDwgSEVBRAorCQkJCUI2RDlEMjM1MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCNkQ5RDI3QjE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2
ZW50LmggaW4gSGVhZGVycyAqLywKKz09PT09PT0KIAkJCQlDNTk4OTA1NzE0RTlDMjgwMDBFOEQx
OEIgLyogUGFzdGVib2FyZFN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTk4OTA1ODE0
RTlDMjk5MDBFOEQxOEIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLywKKz4+
Pj4+Pj4gZ2NsaWVudAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMjQyNzgsNyArMjQyOTcsNyBAQAogCQkJKTsKIAkJCW5hbWUgPSBX
ZWJDb3JlVGVzdFN1cHBvcnQ7CiAJCQlwcm9kdWN0TmFtZSA9IFdlYkNvcmVUZXN0U3VwcG9ydDsK
LQkJCXByb2R1Y3RSZWZlcmVuY2UgPSA0MTdEQTZEMDEzNzM0RTAyMDA3QzU3RkIgLyogbGliV2Vi
Q29yZVRlc3RTdXBwb3J0LmR5bGliICovOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDQxN0RBNkQw
MTM3MzRFMDIwMDdDNTdGQiAvKiAuZHlsaWIgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBw
bGUucHJvZHVjdC10eXBlLmxpYnJhcnkuZHluYW1pYyI7CiAJCX07CiAJCTVEODdCQjRFMTFFM0VB
RUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAqLyA9IHsKQEAgLTI0MzI2
LDcgKzI0MzQ1LDcgQEAKIAkJCW5hbWUgPSBXZWJDb3JlOwogCQkJcHJvZHVjdEluc3RhbGxQYXRo
ID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3M7CiAJCQlwcm9kdWN0TmFtZSA9IFdlYktpdDsKLQkJCXByb2R1Y3RSZWZlcmVu
Y2UgPSA5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi87CisJ
CQlwcm9kdWN0UmVmZXJlbmNlID0gOTNGMTlCMUEwODI0NUU1QTAwMUU5QUJDIC8qIC5mcmFtZXdv
cmsgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmZyYW1ld29y
ayI7CiAJCX07CiAvKiBFbmQgUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KQEAgLTI3MTk5LDcg
KzI3MjE4LDEyIEBACiAJCQkJNEE5NTdGMDYxNEUyNDEyQTAwNDlEQkZCIC8qIFdlYlNvY2tldEV4
dGVuc2lvbkRpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTcyRTkyRkIxNEU1NDA1
ODAwODdGRkJBIC8qIFNoYWRvd1Jvb3RMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3Q0Mz
QUUyMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAorPDw8PDw8PCBIRUFECisJCQkJQjZEOUQyMzYxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3Vz
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8q
IEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKz09PT09PT0KIAkJCQlDNTk4OTAyRTE0
RTlCMEY4MDBFOEQxOEIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tIGluIFNvdXJjZXMgKi8s
Cis+Pj4+Pj4+IGdjbGllbnQKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJ
bk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDhlYzRi
ZmI2YjcxMzJhMjc4YTA2MDQxMTVjZWRhY2JmMzQxZGZmMDAuLjY0Yjg2Zjg0M2E1MjcxYjhlYmI4
MjhiZTYyYThhZjg4MzI5ZWM1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01B
bGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAt
ODAsNiArODAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNl
cHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgor
I2luY2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1
ZGUgIktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKaW5kZXggYjI0NzRj
Yjk1MWU2YzkxNDYzY2Y5ZjMxNTg2ZGVjM2U3MjMwOWYzMy4uYTc1ZTdlZDNjMzVhMDk1NzcyOTdm
YzgyOTcxYmRmZjNhZWFjNWY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hNZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0
Y2hNZWRpYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEs
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDM4ICs1MSw0IEBAIGJvb2wgRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QK
ICAgICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2ZW50LmdldCgpKTsKIH0K
IAotUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3Bh
dGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9j
dXNlZE5vZGUpKTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBF
dmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVu
dCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUp
Ci17Ci19Ci0KLWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQo
RXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFk
anVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJu
IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQot
UGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5v
ZGUpKTsKLX0KLQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNw
YXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFsc2Us
IGZhbHNlKSkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19Ci0K
LWJvb2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3Bh
dGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRl
ZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRj
aE1lZGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgK
aW5kZXggMjZlNWQyZjIxMmU5ZGQwYjVjODQ1YTQ0N2ZkNGQ3NDViYWVkNTg2Yy4uY2E5OWQ1ODEw
MTIwNjVmMTk5ZDA2MjdkNjM4YTkwM2Q0NmEzODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudERpc3BhdGNoTWVkaWF0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTcsMjMgKzU3LDYgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1Jl
ZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZvY3Vz
RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwot
ICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0Owot
ICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3MgQmx1ckV2ZW50
RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0
ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0gICAgZXhwbGlj
aXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWRO
b2RlKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBj
b25zdDsKLSAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsKLX07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFj
dG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3RvcnkuaW4KaW5kZXggMWI1MDBj
ZDc5OWE4ZmM0NmNkYzlhZTc5ZmFlMDgwNmRlMGFhZDFkZC4uOTY3NGI1MzYyZTYyYTgxZWUwZjFh
ZGFkNTA4OTMxNDZiMTRmYzQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCkBAIC04
LDYgKzgsOCBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJy
b3JFdmVudAorRm9jdXNFdmVudAorRm9jdXNFdmVudHMgaW50ZXJmYWNlTmFtZT1Gb2N1c0V2ZW50
CiBIYXNoQ2hhbmdlRXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJkRXZlbnRzIGludGVyZmFj
ZU5hbWU9S2V5Ym9hcmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3Vz
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmUyNGZhOWM0NGZkMGIwNzAyZDQwYTBmNzljY2E0OTEzYzFjNjNhM2QKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAKQEAgLTAsMCArMSwxNzEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgorCisjaW5jbHVkZSAi
RXZlbnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoKQoreworfQorCitGb2N1c0V2ZW50
Ojp+Rm9jdXNFdmVudCgpCit7Cit9CisKK3ZvaWQgRm9jdXNFdmVudDo6aW5pdEZvY3VzRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxF
dmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAg
ICAgICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5j
ZWxhYmxlLCB2aWV3LCAwKTsKKyAgICAKKyAgICBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFy
Z2V0OworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEZvY3VzRXZlbnQ6OmludGVyZmFjZU5hbWUo
KSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yRm9jdXNFdmVu
dDsKK30KKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3
PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0
KQorICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFp
bCkKKyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQoreworfQorCisKKworUGFz
c1JlZlB0cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0luRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0
cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9sZEZvY3VzZWROb2RlKSk7Cit9CisKK0Zv
Y3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3Io
UGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2Vk
Tm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKKyAgICAsIG1fb2xkRm9j
dXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNJbkV2ZW50RGlzcGF0
Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNv
bnN0Cit7CisgICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkgLy8gRG9uJ3Qg
ZXZlbiBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNvbnRyb2xzLgorICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAKKyAgICBpZiAoZXZlbnQoKS0+dHlwZSgpLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOyAvLyBTaG91bGRuJ3QgaGFwcGVuLgorICAgIAorICAgIFJlZlB0cjxF
dmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCA9IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJn
ZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7CisgICAgZXZlbnQoKS0+c2V0UmVsYXRlZFRh
cmdldChyZWxhdGVkVGFyZ2V0KTsKKyAgICAgCisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsgICAKK30KKworRm9jdXNFdmVudCogRm9j
dXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiBz
dGF0aWNfY2FzdDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpKTsK
K30KKworCisKK1Bhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3Vz
T3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBl
dmVudCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2Vk
Tm9kZSkpOworfQorCitGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVu
dERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0
cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVu
dCkKKyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wg
Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRj
aGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmRp
c2FibGVkKCkpIC8vIERvbid0IGV2ZW4gc2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250
cm9scy4KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgaWYgKGV2ZW50KCktPnR5cGUo
KS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gU2hvdWxkbid0IGhhcHBlbi4K
KyAgICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQgPSBkaXNwYXRjaGVy
LT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5vZGUpOworICAgIGV2
ZW50KCktPnNldFJlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCk7CisgICAgIAorICAgIHJldHVy
biBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Cit9CisK
K0ZvY3VzRXZlbnQqIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmV2ZW50KCkpOworfQorCisKKworUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5v
ZGU+IG9sZEZvY3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVu
dERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKK30KKworRm9jdXNFdmVudERpc3Bh
dGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4g
b2xkRm9jdXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKKyAgICAsIG1fb2xkRm9j
dXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25z
dAoreworICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRG
b2N1c2VkTm9kZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hF
dmVudChkaXNwYXRjaGVyKTsKK30KKworCisKK1Bhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcj4gQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Tm9k
ZT4gbmV3Rm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBCbHVyRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKG5ld0ZvY3VzZWROb2RlKSk7Cit9CisKK0JsdXJFdmVudERpc3BhdGNo
TWVkaWF0b3I6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBuZXdG
b2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5ibHVyRXZlbnQsIGZhbHNlLCBmYWxzZSkpCisgICAgLCBtX25ld0ZvY3VzZWRO
b2RlKG5ld0ZvY3VzZWROb2RlKQoreworfQorCitib29sIEJsdXJFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAorewor
ICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9uZXdGb2N1c2Vk
Tm9kZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChk
aXNwYXRjaGVyKTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3Vz
RXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45NzFiM2JhOWViNTdmZTU0Yzk5NGMxMTZmYzE1NWEwOWI2YWJl
MjdmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApA
QCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgRm9jdXNFdmVudF9oCisjZGVmaW5lIEZvY3VzRXZlbnRf
aAorCisjaW5jbHVkZSAiRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgiCisjaW5jbHVkZSAiVUlFdmVu
dC5oIgorCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnQgOiBw
dWJsaWMgVUlFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVu
dD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVu
dCk7CisgICAgfQorICAgICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNy
ZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVm
UHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywg
ZGV0YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorICAgICAgIAorICAgIHZpcnR1YWwgfkZv
Y3VzRXZlbnQoKTsKKyAgICB2b2lkIGluaXRGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFj
dFZpZXc+LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0
KTsKKyAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVs
YXRlZFRhcmdldC5nZXQoKTsgfQorICAgIHZvaWQgc2V0UmVsYXRlZFRhcmdldChQYXNzUmVmUHRy
PEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KSB7IG1fcmVsYXRlZFRhcmdldCA9IHJlbGF0ZWRU
YXJnZXQ7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgp
IGNvbnN0OworICAgIAorcHJpdmF0ZToKKyAgICBGb2N1c0V2ZW50KCk7CisgICAgRm9jdXNFdmVu
dChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFi
bGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVu
dFRhcmdldD4gcmVsYXRlZFRhcmdldCk7ICAgICAgICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+
IG1fcmVsYXRlZFRhcmdldDsKK307CisgICAgCisgICAgCitjbGFzcyBGb2N1c0luRXZlbnREaXNw
YXRjaE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRl
KFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUp
OworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBh
c3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwor
ICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0Owor
ICAgIEZvY3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9j
dXNlZE5vZGU7Cit9OworICAgIAorIAorY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQ
dHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOworcHJpdmF0
ZToKKyAgICBleHBsaWNpdCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRy
PEZvY3VzRXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKKyAgICB2aXJ0
dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKKyAgICBGb2N1
c0V2ZW50KiBldmVudCgpIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBtX25ld0ZvY3VzZWROb2Rl
OworfTsKKyAgICAKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVi
bGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7ICAgIAorcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2Rl
PiBvbGRGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZvY3VzRXZlbnREaXNw
YXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAgIHZpcnR1
YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIFJlZlB0
cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOworfTsgCisgICAgCisKK2NsYXNzIEJsdXJFdmVudERp
c3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsgICAgICAgCitw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4g
Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOyAgICAgICAgCitwcml2YXRl
OgorICAgIGV4cGxpY2l0IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2Rl
PiBuZXdGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnRE
aXNwYXRjaGVyKikgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Cit9
OyAgICAgCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEZvY3VzRXZlbnRf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4MmM2Mjg2NTQyM2RiMWZi
OWMzZDJlODA2M2M1MjllNjQ0YmRjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRm9jdXNFdmVudC5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVsZSBldmVudHMgeworCisg
ICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRlcmZhY2UgRm9jdXNFdmVu
dCA6IFVJRXZlbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCAg
ICAgIHJlbGF0ZWRUYXJnZXQ7CisKKyAgICAgICAgdm9pZCBpbml0Rm9jdXNFdmVudChpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZSwgCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9v
bGVhbiBjYW5CdWJibGUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtP
cHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gY2FuY2VsYWJsZSwgCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5l
ZF0gRE9NV2luZG93IHZpZXcsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
IFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgZGV0YWlsLCAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBF
dmVudFRhcmdldCByZWxhdGVkVGFyZ2V0KTsKKworICAgIH07CisKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApp
bmRleCAzZDlhYzNlNWIwYTFhMjEyNzc0YjJmMmU5ZjUwZmI4Y2E2YmJjMDBkLi41Y2UwMjA4NGIw
ZGJiOTBjMmU0NjFmN2E2OWU4NzhlY2JmYzlmOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC01OCw2
ICs1OCw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFt
ZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5o
IgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAi
SFRNTEVsZW1lbnQuaCIKQEAgLTI3NjAsMTQgKzI3NjEsMTQgQEAgdm9pZCBOb2RlOjpkaXNwYXRj
aEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxO
b2RlPgogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NF
UlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQgfHwgZXZlbnRUeXBlID09
IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2
ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZp
ZXcoKSwgMCksIG9sZEZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3Bh
dGNoTWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZl
bnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0Vmll
dygpLCAwLCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7CiB9CiAKIHZvaWQgTm9k
ZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQ
YXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewogICAgIEFTU0VSVCghZXZlbnREaXNw
YXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5m
b2N1c291dEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVu
dCk7Ci0gICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVu
dERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVl
LCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG5ld0ZvY3VzZWROb2RlKSk7
CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVl
LCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgbmV3Rm9jdXNlZE5vZGUpLCBu
ZXdGb2N1c2VkTm9kZSkpOwogfQogCiB2b2lkIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVu
dChpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
VUlFdmVudC5jcHAKaW5kZXggZmYzZmY0YWZjZjliMjEyMTFiN2I1MzFmYWY1NDdkMTNlZjhmZDU2
OS4uYjU1MzllYzUyOGQ2ZmYxZWJhNzljNTU0NDA4YjczNjc4MzM2NjJlMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9V
SUV2ZW50LmNwcApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMg
QW50b24gKGFudG9uQHN0dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAo
QykgMjAwMywgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTEwLDM4ICsxMTEsNCBAQCB2b2lkIFVJRXZlbnQ6Ondh
cm5EZXByZWNhdGVkTGF5ZXJYWVVzYWdlKCkKICAgICAgICAgbV92aWV3LT5jb25zb2xlKCktPmFk
ZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwgV2FybmluZ01lc3NhZ2VM
ZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogfQogCi1QYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3Bh
dGNoTWVkaWF0b3I+IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVm
UHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKLXsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQs
IG9sZEZvY3VzZWROb2RlKSk7Ci19Ci0KLUZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZv
Y3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NS
ZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3Io
ZXZlbnQpCi0gICAgLCBtX29sZEZvY3VzZWROb2RlKG9sZEZvY3VzZWROb2RlKQotewotfQotCi1i
b29sIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNw
YXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0
ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0
cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNPdXRFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzT3V0RXZlbnRE
aXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9kZSkpOwotfQotCi1Gb2N1c091dEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1Jl
ZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi0gICAg
OiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCi0gICAgLCBtX25ld0ZvY3VzZWROb2RlKG5l
d0ZvY3VzZWROb2RlKQotewotfQotCi1ib29sIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsKLSAg
ICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5v
ZGUpOwotICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlz
cGF0Y2hlcik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCmlu
ZGV4IGQxMjk0Yzk1MmZjMWJkMDc3OGMxYjYxM2MwMWUwNDdhNWViOGU5ZmEuLjRkZmJhMjZiY2Q2
M2ZlNDcwNmIzMzBkNjU5MGI4NjMzZjVhNTE0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9VSUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaApAQCAtMyw2
ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMgQW50b24gKGFudG9uQHN0dWQu
ZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vpbmln
IChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtNzUsMjQgKzc2LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBp
bnQgbV9kZXRhaWw7CiAgICAgfTsKIAotICAgIGNsYXNzIEZvY3VzSW5FdmVudERpc3BhdGNoTWVk
aWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0
ZShQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci0g
ICAgcHJpdmF0ZToKLSAgICAgICAgZXhwbGljaXQgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRv
cihQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci0g
ICAgICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0
OwotICAgICAgICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKLSAgICB9OwotCi0gICAg
Y2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRj
aE1lZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3Vz
T3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NS
ZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgIHByaXZhdGU6Ci0gICAgICAgIGV4cGxp
Y2l0IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNz
UmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRpc3Bh
dGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7Ci0gICAgICAgIFJlZlB0cjxOb2RlPiBt
X25ld0ZvY3VzZWROb2RlOwotICAgIH07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIFVJRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDMzMWU2MmM4
MWQ0Njk1ZGFkYzI2NzQxNDkyMjA4YzBhNmMwMTdjZjUuLjM5YmY1MTRjYmY1NjdiM2YyZGQ1OTlh
NGM4NTNkMjBlMDliNDI3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTEsNiAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTUxMCw2ICs1MTAsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmli
dXRlIENvbXBvc2l0aW9uRXZlbnRDb25zdHJ1Y3RvciBDb21wb3NpdGlvbkV2ZW50OwogICAgICAg
ICBhdHRyaWJ1dGUgQ3VzdG9tRXZlbnRDb25zdHJ1Y3RvciBDdXN0b21FdmVudDsKICAgICAgICAg
YXR0cmlidXRlIEVycm9yRXZlbnRDb25zdHJ1Y3RvciBFcnJvckV2ZW50OworICAgICAgICBhdHRy
aWJ1dGUgRm9jdXNFdmVudENvbnN0cnVjdG9yIEZvY3VzRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBIYXNoQ2hhbmdlRXZlbnRDb25zdHJ1Y3RvciBIYXNoQ2hhbmdlRXZlbnQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBLZXlib2FyZEV2ZW50Q29uc3RydWN0b3IgS2V5Ym9hcmRFdmVudDsKICAgICAgICAg
YXR0cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAy
YmI4YjY4MTk5NzgwYjVmMDQ2NTA1ZjJmNzBhMzZlYjA1OGU0NTI1Li5hNDhlZWE1YzNiOTVlYWNm
ZWNiNDhhMGVkMTQxODNkM2UxZDU0NzIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDIt
MTQgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
V2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgRE9NIDMgRXZlbnRzIEZvY3VzRXZlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbDoKKyAgICAgICAgICAgIC0gQ2hhbmdl
ZCB0aGUgZm9jdXNpbi9mb2N1c291dCBwYXJ0cyBvZiB0aGlzIGxheW91dCB0ZXN0IHRvIGluY2x1
ZGUgdGhlCisgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLCB3aGljaCBpcyBu
b3cgc2V0IG9uIEZvY3VzRXZlbnQgb2JqZWN0cworICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50
LWNyZWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVudC1jcmVh
dGlvbi5odG1sOgorICAgICAgICAgICAgLSBBZGRlZCB0aGUgY3JlYXRpb24gb2YgRm9jdXNFdmVu
dHMgdG8gdGhpcyBsYXlvdXQgdGVzdAorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFy
Z2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgLSBU
aGlzIGlzIGEgbmV3IGxheW91dCB0ZXN0IEkgY3JlYXRlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMg
cGF0Y2gKKwogMjAxMi0wMi0xNCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIFNjcmlwdHNOYXZpZ2F0b3IgZGVmYXVs
dCBmaWxlIHNlbGVjdG9yLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IDlhNWY5
ZGIzNzExMGU1NDY5MDA5MmRhNDdiOTg0ZmQzYjYzYjY2NmYuLjQwY2ViYzI3Y2VlYzEwZGU0YzYz
Yzc0ZDQ3NTE3YzNiNzdhMGUzNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQKQEAg
LTYxLDEzICs2MSwxMyBAQCBQQVNTIGRpc3BhdGNoZWRFdmVudCgibW91c2VvdXQiKSBpcyBbImRp
dkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNoYWRvdwogCiBNb3ZlIGZvY3VzIGZy
b20gYSBub2RlIHRvIGl0cyBzaWJsaW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBz
aGFkb3cgYm91bmRhcnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBkaXZCIHRvIGRpdkMKLVBBU1MgZGlz
cGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZDKEBkaXZDKSIsICJkaXZDKEBkaXZBKSJd
Ci1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBbImRpdkIoQGRpdkIpIiwgImRp
dkIoQGRpdkEpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZDKDwt
ZGl2QikoQGRpdkMpIiwgImRpdkMoPC1kaXZCKShAZGl2QSkiXQorUEFTUyBkaXNwYXRjaGVkRXZl
bnQoImZvY3Vzb3V0IikgaXMgWyJkaXZCKDwtZGl2QykoQGRpdkIpIiwgImRpdkIoPC1kaXZDKShA
ZGl2QSkiXQogCiBPbGQgZm9jdXNlZCBub2RlIGFuZCBuZXcgZm9jdXNlZCBub2RlIGV4aXN0IGlu
IHNlcGFyYXRlZCBzdWJ0cmVlcywgY3Jvc3Npbmcgc2hhZG93IGJvdW5kYXJpZXMuIE1ha2luZyBz
dXJlIHRoYXQgYW4gZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQgYmV5b25kIHRoZSBsb3dlc3QgY29t
bW9uIGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gc2hhZG93RC9zaGFkb3dGL3NoYWRvd0cv
ZGl2SCB0byBzaGFkb3dEL3NoYWRvd0svZGl2TAotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vz
aW4iKSBpcyBbImRpdkwoQGRpdkwpIiwgInNoYWRvd0soQHNoYWRvd0spIiwgInNoYWRvd0soQGRp
dkopIl0KLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2SChAZGl2SCki
LCAic2hhZG93RyhAc2hhZG93RykiLCAic2hhZG93RihAc2hhZG93RikiLCAic2hhZG93RihAZGl2
RSkiXQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkwoPC1zaGFkb3dG
KShAZGl2TCkiLCAic2hhZG93Syg8LXNoYWRvd0YpKEBzaGFkb3dLKSIsICJzaGFkb3dLKDwtc2hh
ZG93RikoQGRpdkopIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2
SCg8LXNoYWRvd0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hhZG93SykoQHNoYWRvd0cpIiwgInNo
YWRvd0YoPC1zaGFkb3dLKShAc2hhZG93RikiLCAic2hhZG93Rig8LXNoYWRvd0spKEBkaXZFKSJd
CiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVz
IGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIGRpdkIg
dG8gZGl2QwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1i
b3VuZGFyeS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
Ym91bmRhcnktZXZlbnRzLmh0bWwKaW5kZXggZjA2MzBjNzJjNmI5ZDBmNGU4NTJhNGU2Yzc3ZTE1
NGQzNGM5YzNkYy4uZTQ3OTA0YjcyNWNiZWFmYzI1ZjcyM2RmNWExMGQxMzNiNWU4Yzc5MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVu
dHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5
LWV2ZW50cy5odG1sCkBAIC0xODcsMTMgKzE4NywxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAv
LyBUZXN0IGZvciBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cy4KICAgICBtb3ZlRm9jdXMoJ2RpdkIn
LCAnZGl2QycsCiAgICAgICAgICAgICAgICdNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBz
aWJsaW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuJyk7
Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2QyhAZGl2
QykiLCAiZGl2QyhAZGl2QSkiXScpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZv
Y3Vzb3V0IiknLCAnWyJkaXZCKEBkaXZCKSIsICJkaXZCKEBkaXZBKSJdJyk7CisgICAgc2hvdWxk
QmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2Qyg8LWRpdkIpKEBkaXZDKSIs
ICJkaXZDKDwtZGl2QikoQGRpdkEpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50
KCJmb2N1c291dCIpJywgJ1siZGl2Qig8LWRpdkMpKEBkaXZCKSIsICJkaXZCKDwtZGl2QykoQGRp
dkEpIl0nKTsKIAogICAgIG1vdmVGb2N1cygnc2hhZG93RC9zaGFkb3dGL3NoYWRvd0cvZGl2SCcs
ICdzaGFkb3dEL3NoYWRvd0svZGl2TCcsCiAgICAgICAgICAgICAgICdPbGQgZm9jdXNlZCBub2Rl
IGFuZCBuZXcgZm9jdXNlZCBub2RlIGV4aXN0IGluIHNlcGFyYXRlZCBzdWJ0cmVlcywgY3Jvc3Np
bmcgc2hhZG93IGJvdW5kYXJpZXMuIE1ha2luZyBzdXJlIHRoYXQgYW4gZXZlbnQgaXMgbm90IGRp
c3BhdGNoZWQgYmV5b25kIHRoZSBsb3dlc3QgY29tbW9uIGJvdW5kYXJ5LicpOwotICAgIHNob3Vs
ZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkwoQGRpdkwpIiwgInNoYWRv
d0soQHNoYWRvd0spIiwgInNoYWRvd0soQGRpdkopIl0nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0
Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2SChAZGl2SCkiLCAic2hhZG93RyhAc2hhZG93
RykiLCAic2hhZG93RihAc2hhZG93RikiLCAic2hhZG93RihAZGl2RSkiXScpOworICAgIHNob3Vs
ZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkwoPC1zaGFkb3dGKShAZGl2
TCkiLCAic2hhZG93Syg8LXNoYWRvd0YpKEBzaGFkb3dLKSIsICJzaGFkb3dLKDwtc2hhZG93Riko
QGRpdkopIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywg
J1siZGl2SCg8LXNoYWRvd0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hhZG93SykoQHNoYWRvd0cp
IiwgInNoYWRvd0YoPC1zaGFkb3dLKShAc2hhZG93RikiLCAic2hhZG93Rig8LXNoYWRvd0spKEBk
aXZFKSJdJyk7CiAKICAgICAvLyBPbWl0dGVkIHRlc3QgY2FzZXMgd2hlcmUgZWl0aGVyIGEgb2xk
Rm9jdXNlZE5vZGUgb3IgbmV3Rm9jdXNlZE5vZGUgaXMgYW4gYW5jZXN0b3Igb2YgdGhlIG90aGVy
LgogICAgIC8vIER1ZSB0byBhIGZvY3VzIHRyYW5zZmVyIG1lY2hhbmlzbSBvbiBzaGFkb3cgaG9z
dHMsIGEgZm9jdXNlZCBub2RlIHNob3VsZCBiZSBhIGxlYWYgbm9kZSBpbiBnZW5lcmFsLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IDYzNTllOTlhOTc1YjNjYjk5YWM1NjUwM2UzMzJkODdjNTUzNmI4ODkuLmE0ZWJiYjBk
YWE2MDY0ZmUyODI5YTc0N2NiMzMxYWYxZTUxZmUyNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTIxLDYgKzIxLDEw
IEBAIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50JykuY29uc3RydWN0b3Ig
PT09IHdpbmRvdy5DdXN0b21FdmVudCBpcyB0CiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdF
cnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXJyb3JFdmVudCBpcyB0cnVlCiBQQVNTIGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQg
aXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpLmNvbnN0cnVj
dG9yID09PSB3aW5kb3cuRXJyb3JFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRm9jdXNFdmVudCBpcyB0cnVlCitQ
QVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cu
VUlFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50Jykg
aW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVu
dCgnRm9jdXNFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRm9jdXNFdmVudCBpcyB0cnVl
CiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBpbnN0YW5jZW9m
IHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVu
dCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQogUEFT
UyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50JykuY29uc3RydWN0b3IgPT09
IHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLmh0bWwKaW5kZXggNjNkYmEwNGJhMTUxYjU3ZTkwYjMyMzNiZTRhYmU2
ZGE1MDNhOWFhYy4uYTk4Mjk2NmYzMWJmOGZmMjk2ZGRhNjAwMWMxNDA1OWI2MmU5MjczYiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCkBAIC0zNyw2ICsz
NywxMiBAQAogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZl
bnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1l
bnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkVycm9y
RXZlbnQiKTsKIAorICAgIC8vIEZvY3VzRXZlbnQKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRm9jdXNFdmVudCIp
OworICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBp
bnN0YW5jZW9mIHdpbmRvdy5VSUV2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5j
cmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CisgICAg
c2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpLmNvbnN0cnVj
dG9yID09PSB3aW5kb3cuRm9jdXNFdmVudCIpOyAgICAKKwogICAgIC8vIEhhc2hDaGFuZ2VFdmVu
dAogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVu
dCcpIGluc3RhbmNlb2Ygd2luZG93Lkhhc2hDaGFuZ2VFdmVudCIpOwogICAgIHNob3VsZEJlVHJ1
ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2lu
ZG93LkV2ZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVk
LXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1OTBk
NWUzMzYzNzEzZDhmNjZlYWEyNDc4ZWRiYjE0NDA2YWJiYjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDIxIEBACitMYXlvdXQgdGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2LiBDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdl
dCBhdHRyaWJ1dGUgZm9yIEZvY3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5
IHdoZW4gZm9jdXNpbi9mb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuIFByZXNzIHRhYiBm
b3VyIHRpbWVzIHRvIGRpc3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVh
Y2ggb2YgdGhlIGJ1dHRvbnMgYmVsb3cuCisKK01lb3cgIFB1cnIgIEZ1ciEgIERvbmUKK0V4cGVj
dGVkIFJlc3VsdAorCitNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlz
IG51bGwKK01lb3cgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIK
K1B1cnIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVvdworUHVyciBy
ZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVyISByZWNlaXZl
ZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2VpdmVkIGZvY3Vz
b3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBEb25lCisgICAgCitBY3R1YWwgUmVzdWx0CisKK01l
b3cgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgbnVsbAorTWVvdyByZWNl
aXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgorUHVyciByZWNlaXZlZCBm
b2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBNZW93CitQdXJyIHJlY2VpdmVkIGZvY3Vzb3V0
LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBGdXIhCitGdXIhIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyBy
ZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVk
VGFyZ2V0IGlzIERvbmUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVs
YXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVs
YXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNTVlZGYwYTYyOGExMGU3
NjZmMzU3MjUwY2VkMTZlODVmOTViOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKQEAgLTAsMCArMSw3MyBA
QAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICAKKyAgICAgICAgZnVuY3Rp
b24gbG9nKG1zZykKKyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xvZycpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicp
KTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSAKKyAgICAgICAgeyAgICAg
ICAKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAorICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICAg
ICAgdmFyIElORVZFTlQgPSAiZm9jdXNpbiI7CisgICAgICAgICAgICB2YXIgT1VURVZFTlQgPSAi
Zm9jdXNvdXQiOworICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgYjEgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnYnV0dG9uMScpOworICAgICAgICAgICAgdmFyIGIyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjInKTsKKyAgICAgICAgICAgIHZhciBiMyA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGIx
LmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVOVCwgVGVzdEluRXZlbnQsIHRydWUpOworICAgICAgICAg
ICAgYjIuYWRkRXZlbnRMaXN0ZW5lcihJTkVWRU5ULCBUZXN0SW5FdmVudCwgdHJ1ZSk7CisgICAg
ICAgICAgICBiMy5hZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRlc3RJbkV2ZW50LCB0cnVlKTsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgYjEuYWRkRXZlbnRMaXN0ZW5lcihPVVRFVkVOVCwg
VGVzdE91dEV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAgIGIyLmFkZEV2ZW50TGlzdGVuZXIoT1VU
RVZFTlQsIFRlc3RPdXRFdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICBiMy5hZGRFdmVudExpc3Rl
bmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAgICAgICAgICAgCisgICAgICAg
ICAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykgCisg
ICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgZnVuY3Rpb24gVGVzdEluRXZlbnQoZXZ0KSAKKyAgICAgICAgeworICAg
ICAgICAgICAgaWYgKGV2dC5yZWxhdGVkVGFyZ2V0KQorICAgICAgICAgICAgICAgIGxvZyhldnQu
dGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQg
aXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0LmlubmVyVGV4dCk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1
c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyAiICsgZXZ0LnJlbGF0ZWRUYXJnZXQpOyAgCisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIFRlc3RPdXRFdmVudChldnQpIAorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoZXZ0LnJlbGF0ZWRUYXJnZXQpCisgICAgICAgICAgICAg
ICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJl
bGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0LmlubmVyVGV4dCk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiBy
ZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFy
Z2V0KTsKKyAgICAgICAgICAgICAKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+TGF5b3V0IHRlc3QgZm9yIDxhIGhyZWY9Imh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNiIgdGFiaW5kZXg9LTE+aHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2PC9hPi4gIENoZWNrcyB0
aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNFdmVudCBvYmplY3RzIGlz
IGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlz
cGF0Y2hlZC4gIDxiPlByZXNzIHRhYiBmb3VyIHRpbWVzPC9iPiB0byBkaXNwYXRjaCBhIGZvY3Vz
aW4gYW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LjwvcD4K
KyAgICA8YnV0dG9uIGlkPSJidXR0b24xIj5NZW93PC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0i
YnV0dG9uMiI+UHVycjwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImJ1dHRvbjMiPkZ1ciE8L2J1
dHRvbj4KKyAgICA8YnV0dG9uIGlkPSJpbnB1dGRvbmUiPkRvbmU8L2J1dHRvbj4KKyAgICA8cD5F
eHBlY3RlZCBSZXN1bHQ8L3A+CisgICAgPHByZT4KK01lb3cgcmVjZWl2ZWQgZm9jdXNpbiwgaXRz
IHJlbGF0ZWRUYXJnZXQgaXMgbnVsbAorTWVvdyByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0
ZWRUYXJnZXQgaXMgUHVycgorUHVyciByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdl
dCBpcyBNZW93CitQdXJyIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBG
dXIhCitGdXIhIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK0Z1
ciEgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIERvbmUKKyAgICA8L3By
ZT4KKyAgICA8cD5BY3R1YWwgUmVzdWx0PC9wPgorICAgIDxwcmUgaWQ9ImxvZyI+PC9wcmU+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127030</attachid>
            <date>2012-02-14 13:29:16 -0800</date>
            <delta_ts>2012-02-15 07:06:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120214162914.patch</filename>
            <type>text/plain</type>
            <size>52813</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlN2Q3YWFhYzdlMTk5
YmNhNGY2ZGE3NzNmMDZiNjg0Yzk4ZjVlMC4uN2JiM2UxODdlYWIyM2U5ZjZjNDYyNzk3MjVhY2Jk
MjllY2I0MDE4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTE0ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIENyZWF0ZWQg
YSBuZXcgRm9jdXNFdmVudCBjbGFzcyAoZXh0ZW5kcyBVSUV2ZW50KSB3aXRoIGEgcmVsYXRlZFRh
cmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixG
b2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4g
IE5vdyB3aGVuCisgICAgICAgIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRj
aGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRlZCB3aXRoIHRoZSByZWxhdGVkVGFyZ2V0CisgICAg
ICAgIGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5nbHkuICBObyBvdGhlciBsb2dpYyBjaGFuZ2VzIGhh
dmUgYmVlbiBtYWRlIGJlc2lkZXMgYWRkaW5nIHRoZQorICAgICAgICBGb2N1c0V2ZW50IGNsYXNz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICAgICAtIElu
Y2x1ZGVkIG1lbnRpb24gb2YgRm9jdXNFdmVudCAvIEpTRm9jdXNFdmVudCBpbiB0aGUgYWJvdmUg
ZWlnaHQgZmlsZXMgdG8KKyAgICAgICAgICAgICAgaG9wZWZ1bGx5IGFsbG93IHRoZSBwYXRjaCB0
byBidWlsZCBvbiB0aGUgZGlmZmVyZW50IHBsYXRmb3JtcywgaW5jbHVkaW5nIG1hYworICAgICAg
ICAqIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwOgorICAgICAgICAqIGRvbS9FdmVudERp
c3BhdGNoTWVkaWF0b3IuaDoKKyAgICAgICAgKiBkb20vRXZlbnRGYWN0b3J5LmluOgorICAgICAg
ICAqIGRvbS9Gb2N1c0V2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9jdXNFdmVudDo6fkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6
aW5pdEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW50ZXJmYWNl
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpldmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6
CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgKiBkb20vRm9jdXNFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmguCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OnJlbGF0ZWRUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6c2V0UmVsYXRlZFRhcmdldCk6CisgICAgICAgIChGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAg
ICAgKEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZTo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlz
cGF0Y2hGb2N1c091dEV2ZW50KToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAg
ICogZG9tL1VJRXZlbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTIt
MDItMTQgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogTWFrZSBTY3JpcHRzTmF2aWdhdG9yIGRlZmF1bHQgZmlsZSBzZWxlY3Rv
ci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZGUwOTBlNjE2MzE0MThmZDA0M2M4YTg5MTZkNzZm
NzI5YTI0ODU4ZC4uZTdhYmUyZjRjZTE1NGIwZDYyZGExZTUxZjhiNTM4ZjZkNmU0YjA2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1OCw2ICsxNTgsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklM
RVMKICAgICBkb20vRXJyb3JFdmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAg
ICAgZG9tL0V2ZW50LmlkbAorICAgIGRvbS9Gb2N1c0V2ZW50LmlkbAogICAgIGRvbS9IYXNoQ2hh
bmdlRXZlbnQuaWRsCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaWRsCiAgICAgZG9tL01lc3NhZ2VD
aGFubmVsLmlkbApAQCAtNTU4LDYgKzU1OSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBk
b20vRXZlbnRUYXJnZXQuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9tL0V4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAKKyAgICBkb20vRm9jdXNFdmVudC5jcHAKICAgICBk
b20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCiAgICAgZG9tL0ljb25VUkwuY3BwCiAgICAgZG9tL0tl
eWJvYXJkRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNDc4MTI3ODQ4
OGExNTkxM2Q4MDk0MmE2MzY4YmVjMmQyOGViZTAxNS4uZTVkOTRiYmYwZTE2ZDNmMDM1NWNmZGY3
Y2ExMTkyZWNmYzlmNGFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTI5LDYg
KzEyOSw3IEBACiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNG
bG9hdDMyQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQ2NEFycmF5LmNwcCIKKyNpbmNsdWRl
ICJKU0ZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1
ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgogI2luY2x1ZGUgIkpTSGFzaENoYW5nZUV2ZW50LmNwcCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDcwZmM3NDQ4OTQwMmVkMzIyN2YyNzYy
YTEwN2FjMmJjMmIxZWRjZTMuLjQ0MTViYThmOTE0ODNjZDFjZWM3ZjgwMzE0OWNkMzgxMWRmZWY0
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTExLDYgKzExMSw3IEBAIEJJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9FdmVudFRhcmdldC5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5u
ZWwuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA2MTBjZmYxOTlmNGNjN2Q3
Y2JmMjMyZWI3NGI4Y2E4NDMzZTg1YTI5Li5jMDU0ZDQ0ZGQzMjQ3MjYzNjhjM2VlNzAxZmU4ZmZj
ZTliYTFmZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xNDIsNiArMTQyLDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwK
ICMgICAgJCRQV0QvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50
VGFyZ2V0LmlkbCBcCisgICAgJCRQV0QvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkJFBXRC9k
b20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0tleWJvYXJkRXZlbnQuaWRs
IFwKICAgICAkJFBXRC9kb20vTW91c2VFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KaW5kZXggZGI4MDIxMTQwZDkwNDliM2I1ZjQ0YTk4NDMwZjZmZjA1MjFiYWFhMS4uNDdh
YThmMmNjMmZmN2FiMmQ2Y2RkZjFjZTIyMWMzMWU5MzNlOWY4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCkBAIC0xODMsNiArMTgzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRmxvYXQ2NEFycmF5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2
ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dlb2xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9w
b3NpdGlvbi5jcHAgXApAQCAtNzAzLDYgKzcwNSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvZG9tL0Vycm9yRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudC5p
ZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9k
b20vRm9jdXNFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwg
XAogCSQoV2ViQ29yZSkvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9N
ZXNzYWdlQ2hhbm5lbC5pZGwgXApAQCAtMTU2OSw2ICsxNTcyLDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCA2Zjc2OWIxZGFjNDA2NWI5MTE5MTFmMzhhNjkzODY0OTQxN2Y2MDU0Li5hNWFkOGZlYTM5
NTJhYjA1MTlhZGEzOTVjYmNmYWQzZmQwM2E0YzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTUyMSw2ICs1
MjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQuY3BwIFwKICAgICBkb20v
RXhjZXB0aW9uQmFzZS5jcHAgXAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3Bw
IFwKKyAgICBkb20vRm9jdXNFdmVudC5jcHAgXAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5j
cHAgXAogICAgIGRvbS9JY29uVVJMLmNwcCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuY3BwIFwK
QEAgLTE2MzUsNiArMTYzNiw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5o
IFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwK
KyAgICBkb20vRm9jdXNFdmVudC5oIFwKICAgICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNz
aW9uLmggXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmggXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5l
bC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmYjE2YTVmZjljOTUwOWNmOWJiZTBmZjQwODllNDFm
ZjQwMDUxYTMxLi4zZGQ5MjM2Mzk0NTEyNjM5NzVmZTdlOTQ1NzBmNTFmZDEwMWZlMTc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC02MDAsNiArNjAwLDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRU
YXJnZXQuaCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGUuaCcsCiAgICAgICAgICAg
ICAnZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oJywKKyAgICAgICAgICAgICdkb20vRm9j
dXNFdmVudC5oJywKICAgICAgICAgICAgICdkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9u
LmgnLAogICAgICAgICAgICAgJ2RvbS9LZXlib2FyZEV2ZW50LmgnLAogICAgICAgICAgICAgJ2Rv
bS9NZXNzYWdlUG9ydC5oJywKQEAgLTYyNSw2ICs2MjYsNyBAQAogICAgICAgICAgICAgJ2RvbS9U
ZXh0LmgnLAogICAgICAgICAgICAgJ2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaCcsCiAgICAgICAg
ICAgICAnZG9tL1VJRXZlbnQuaCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaCcsCiAg
ICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaCcsCiAgICAgICAgICAgICAnZG9t
L1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgnLAogICAgICAgICAgICAgJ2RvbS9Vc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5oJywKQEAgLTc4NCw2ICs3ODYsNyBAQAogICAgICAgICAgICAgJ2RvbS9F
dmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCisgICAgICAgICAgICAnZG9tL0Zv
Y3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVz
c2FnZUNoYW5uZWwuaWRsJywKQEAgLTgxNiw2ICs4MTksNyBAQAogICAgICAgICAgICAgJ2RvbS9U
b3VjaExpc3QuaWRsJywKICAgICAgICAgICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9X
ZWJLaXROYW1lZEZsb3cuaWRsJywKQEAgLTUwMjcsNiArNTAzMSw3IEBACiAgICAgICAgICAgICAn
ZG9tL0V4Y2VwdGlvbkJhc2UuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5o
JywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAg
ICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2
ZW50UXVldWUuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAg
ICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5oJywKQEAgLTUxNDMsNiArNTE0OCw3IEBA
CiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuY3BwJywKICAgICAgICAgICAgICdkb20vVHJl
ZVdhbGtlci5oJywKICAgICAgICAgICAgICdkb20vVUlFdmVudC5jcHAnLAorICAgICAgICAgICAg
J2RvbS9Gb2N1c0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3Rh
dGUuY3BwJywKICAgICAgICAgICAgICdkb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwJywKICAg
ICAgICAgICAgICdkb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuY3BwJywKQEAgLTcxNTIs
NiArNzE1OCw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJyYXkuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5Lmgn
LAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNG
b2N1c0V2ZW50LmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9w
b3NpdGlvbi5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDRjYmViZTBlNjczZDYyMDNiZjdmOThjMjIzNDY2MDNiYjU4YmUy
ODIuLmM1YmI5MTBkOTI0YTU2MGQyZDY2YjhmNDJmYmQ1Nzc1MjU4NTYwODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ5ODAs
NiArNDk4MCwxMCBAQAogCQlCNjU2NjI3MDEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2Fj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1
NjYyNkUxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uaCAqLzsgfTsKIAkJQjY1
NjYyNzExMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1NjYyNkYxMjBCMTIyNzAwNkVB
ODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uY3BwICovOyB9OwogCQlCNjkxQzFGOTEyMDZENEEwMDAy
NUQ5ODAgLyogSURCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzU4NUE2QTMxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlLmNw
cCAqLzsgfTsKKwkJQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjMzMTRFQUJE
MjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi87IH07CisJCUI2RDlEMjM2MTRFQUJEMjYwMDkw
RDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAq
LzsgfTsKKwkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjZEOUQyNzkxNEVBQzA4
NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oICovOyB9OworCQlCNkQ5RDI3QzE0RUFDMDg2MDA5
MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQu
Y3BwICovOyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVGNzcgLyogUHJpbnRDb250ZXh0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNzc2RDQzQTEx
MDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODExMTlCOTkxMTAwNjU4N0JEIC8qIEZv
bnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgKi87
IH07CiAJCUI3MzRCMTgzMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjczNEIxODIxMTlCOTkx
RDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi87IH07CkBAIC0xMTg5MSw2ICsxMTg5NSwx
MSBAQAogCQlCNjU2NjI2RDEyMEIxMTZCMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjU2
NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0lEQlRyYW5zYWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUI2NTY2MjZGMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCVHJhbnNhY3Rp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDIzMzE0RUFCRDI2MDA5
MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
b2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjM0MTRFQUJE
MjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZvY3VzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
NkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9jdXNFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gRm9jdXNFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2
RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGb2N1c0V2ZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjczNEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRU
cmFuc2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRU
cmFuc2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9u
dFRyYW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5z
Y29kZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmludENvbnRleHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MDY0LDYgKzE4MDczLDggQEAKIAkJCQlFMUFE
RUREOTBFNzZCRDkzMDA0QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5jcHAgKi8sCiAJCQkJRTFBREVE
RDgwRTc2QkQ5MzAwNEExQTVFIC8qIEpTTWVzc2FnZVBvcnQuaCAqLywKIAkJCQlBODY2MjlDQzA5
REEyQjQ3MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmNwcCAqLywKKwkJCQlCNkQ5RDI3OTE0RUFD
MDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi8sCisJCQkJQjZEOUQyN0ExNEVBQzA4NjAw
OTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgKi8sCiAJCQkJQTg2NjI5Q0IwOURBMkI0NzAwOTYz
M0E1IC8qIEpTTW91c2VFdmVudC5oICovLAogCQkJCTY1REYzMUU3MDlEMUNDNjAwMDBCRTMyNSAv
KiBKU011dGF0aW9uRXZlbnQuY3BwICovLAogCQkJCTY1REYzMUU4MDlEMUNDNjAwMDBCRTMyNSAv
KiBKU011dGF0aW9uRXZlbnQuaCAqLywKQEAgLTIwNDc3LDYgKzIwNDg4LDcgQEAKIAkJRjUyM0Qz
MjQwMkRFNDQ3ODAxODYzNUNBIC8qIGRvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJQjZEOUQyNzIxNEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQu
aWRsICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3Qu
Y3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3Qu
aCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3MDAwM0FDOEQgLyogQXR0ci5jcHAgKi8sCkBAIC0y
MDgyNSw2ICsyMDgzNyw4IEBACiAJCQkJOTNFRUMxRjcwOUMyODc3NzAwQzUxNUQxIC8qIFdoZWVs
RXZlbnQuaWRsICovLAogCQkJCTQxMjNFNTY4MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVu
dENvbnRleHQuY3BwICovLAogCQkJCTQxMjNFNTY3MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dF
dmVudENvbnRleHQuaCAqLywKKwkJCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNF
dmVudC5oICovLAorCQkJCUI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNw
cCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZG9tOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTI0MjU1LDYgKzI0MjY5LDggQEAKIAkJCQk0QURFMjVGQTE0RTNCQjRDMDA0QzIyMTMgLyog
V2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFOTJG
QzE0RTU0MDU4MDA4N0ZGQkEgLyogU2hhZG93Um9vdExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3Q0MzQUUzMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQlCNkQ5RDIzNTE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU5ODkwNTcxNEU5QzI4MDAwRThEMThCIC8qIFBhc3Rl
Ym9hcmRTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU5ODkwNTgxNEU5QzI5OTAwRThE
MThCIC8qIFBsYXRmb3JtUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwpAQCAtMjcx
OTksNiArMjcyMTUsOCBAQAogCQkJCTRBOTU3RjA2MTRFMjQxMkEwMDQ5REJGQiAvKiBXZWJTb2Nr
ZXRFeHRlbnNpb25EaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3MkU5MkZCMTRF
NTQwNTgwMDg3RkZCQSAvKiBTaGFkb3dSb290TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
N0NDM0FFMjE0RThFNEEyMDA4OTQ5ODggLyogTmF2aWdhdG9yU3VwcGxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlCNkQ5RDIzNjE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlCNkQ5RDI3QzE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1OTg5MDJFMTRFOUIwRjgwMEU4RDE4QiAvKiBQ
bGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCmluZGV4IDhlYzRiZmI2YjcxMzJhMjc4YTA2MDQxMTVjZWRhY2JmMzQxZGZmMDAuLjY0Yjg2
Zjg0M2E1MjcxYjhlYmI4MjhiZTYyYThhZjg4MzI5ZWM1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcApAQCAtODAsNiArODAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIK
ICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxh
Y2Vob2xkZXIuY3BwIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25V
UkwuY3BwIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VD
aGFubmVsLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNo
TWVkaWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5j
cHAKaW5kZXggYjI0NzRjYjk1MWU2YzkxNDYzY2Y5ZjMxNTg2ZGVjM2U3MjMwOWYzMy4uYTc1ZTdl
ZDNjMzVhMDk1NzcyOTdmYzgyOTcxYmRmZjNhZWFjNWY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDM4ICs1MSw0IEBAIGJvb2wg
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlz
cGF0Y2hlcikgY29uc3QKICAgICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2
ZW50LmdldCgpKTsKIH0KIAotUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4g
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZv
Y3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0
b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNl
ZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUo
b2xkRm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAg
IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9k
ZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNw
YXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVy
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2Vk
Tm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0
b3IobmV3Rm9jdXNlZE5vZGUpKTsKLX0KLQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQot
ICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJs
dXJFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNl
ZE5vZGUpCi17Ci19Ci0KLWJvb2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hF
dmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hl
ci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICBy
ZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNw
YXRjaE1lZGlhdG9yLmgKaW5kZXggMjZlNWQyZjIxMmU5ZGQwYjVjODQ1YTQ0N2ZkNGQ3NDViYWVk
NTg2Yy4uY2E5OWQ1ODEwMTIwNjVmMTk5ZDA2MjdkNjM4YTkwM2Q0NmEzODM1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTcsMjMgKzU3LDYg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1
c0V2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3Igewot
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9y
PiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAg
IGV4cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xk
Rm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0
Y2hlciopIGNvbnN0OwotICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQot
Y2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVk
aWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNo
TWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZh
dGU6Ci0gICAgZXhwbGljaXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5v
ZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVu
dERpc3BhdGNoZXIqKSBjb25zdDsKLSAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsK
LX07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3Rvcnku
aW4KaW5kZXggMWI1MDBjZDc5OWE4ZmM0NmNkYzlhZTc5ZmFlMDgwNmRlMGFhZDFkZC4uOTY3NGI1
MzYyZTYyYTgxZWUwZjFhZGFkNTA4OTMxNDZiMTRmYzQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRG
YWN0b3J5LmluCkBAIC04LDYgKzgsOCBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBD
dXN0b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAorRm9jdXNFdmVudHMgaW50ZXJmYWNl
TmFtZT1Gb2N1c0V2ZW50CiBIYXNoQ2hhbmdlRXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJk
RXZlbnRzIGludGVyZmFjZU5hbWU9S2V5Ym9hcmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmUyNGZhOWM0NGZkMGIwNzAyZDQwYTBmNzljY2E0OTEzYzFjNjNhM2QK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAKQEAg
LTAsMCArMSwxNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5o
IgorCisjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoKQorewor
fQorCitGb2N1c0V2ZW50Ojp+Rm9jdXNFdmVudCgpCit7Cit9CisKK3ZvaWQgRm9jdXNFdmVudDo6
aW5pdEZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwg
Ym9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFp
bCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkKK3sKKyAgICBpZiAoZGlz
cGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwg
Y2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCAwKTsKKyAgICAKKyAgICBtX3JlbGF0ZWRUYXJn
ZXQgPSByZWxhdGVkVGFyZ2V0OworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIEZvY3VzRXZlbnQ6
OmludGVyZmFjZU5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJm
YWNlRm9yRm9jdXNFdmVudDsKK30KKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQ
dHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0
PiByZWxhdGVkVGFyZ2V0KQorICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFi
bGUsIHZpZXcsIGRldGFpbCkKKyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQor
eworfQorCisKKworUGFzc1JlZlB0cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBl
dmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9sZEZvY3VzZWRO
b2RlKSk7Cit9CisKK0ZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzSW5FdmVudERp
c3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxO
b2RlPiBvbGRGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkK
KyAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9j
dXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIq
IGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJs
ZWQoKSkgLy8gRG9uJ3QgZXZlbiBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNvbnRyb2xz
LgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAgICBpZiAoZXZlbnQoKS0+dHlwZSgpLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBTaG91bGRuJ3QgaGFwcGVuLgorICAg
IAorICAgIFJlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCA9IGRpc3BhdGNoZXItPmFk
anVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7CisgICAgZXZlbnQo
KS0+c2V0UmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KTsKKyAgICAgCisgICAgcmV0dXJuIEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsgICAKK30KKwor
Rm9jdXNFdmVudCogRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSBjb25zdAor
eworICAgIHJldHVybiBzdGF0aWNfY2FzdDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpldmVudCgpKTsKK30KKworCisKK1Bhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNo
TWVkaWF0b3I+IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0
cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2
ZW50LCBuZXdGb2N1c2VkTm9kZSkpOworfQorCitGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRv
cjo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBl
dmVudCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcihldmVudCkKKyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUp
Cit7Cit9CisKK2Jvb2wgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZl
bnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAgIGlmIChkaXNwYXRj
aGVyLT5ub2RlKCktPmRpc2FibGVkKCkpIC8vIERvbid0IGV2ZW4gc2VuZCBET00gZXZlbnRzIGZv
ciBkaXNhYmxlZCBjb250cm9scy4KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgaWYg
KGV2ZW50KCktPnR5cGUoKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gU2hv
dWxkbid0IGhhcHBlbi4KKyAgICAKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJn
ZXQgPSBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNl
ZE5vZGUpOworICAgIGV2ZW50KCktPnNldFJlbGF0ZWRUYXJnZXQocmVsYXRlZFRhcmdldCk7Cisg
ICAgIAorICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlz
cGF0Y2hlcik7Cit9CisKK0ZvY3VzRXZlbnQqIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpldmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkpOworfQorCisKKworUGFzc1JlZlB0cjxGb2N1
c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0
ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKK30KKwor
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBh
c3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0
b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkK
KyAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9j
dXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBk
aXNwYXRjaGVyKSBjb25zdAoreworICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQo
ZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKK30KKworCisKK1Bhc3NSZWZQdHI8Qmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRl
KFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yKG5ld0ZvY3VzZWROb2RlKSk7Cit9CisKK0Js
dXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1Jl
ZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihF
dmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5ibHVyRXZlbnQsIGZhbHNlLCBmYWxzZSkpCisgICAg
LCBtX25ld0ZvY3VzZWROb2RlKG5ld0ZvY3VzZWROb2RlKQoreworfQorCitib29sIEJsdXJFdmVu
dERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRj
aGVyKSBjb25zdAoreworICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQo
KSwgbV9uZXdGb2N1c2VkTm9kZSk7CisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzFiM2JhOWViNTdmZTU0Yzk5NGMx
MTZmYzE1NWEwOWI2YWJlMjdmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0ZvY3VzRXZlbnQuaApAQCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAg
KiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisg
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRm9jdXNFdmVudF9oCisjZGVm
aW5lIEZvY3VzRXZlbnRfaAorCisjaW5jbHVkZSAiRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgiCisj
aW5jbHVkZSAiVUlFdmVudC5oIgorCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNz
IEZvY3VzRXZlbnQgOiBwdWJsaWMgVUlFdmVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Rm9jdXNFdmVudD4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgRm9jdXNFdmVudCk7CisgICAgfQorICAgICAgIAorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEZvY3VzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnVi
YmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQg
ZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2Fu
Y2VsYWJsZSwgdmlldywgZGV0YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorICAgICAgIAor
ICAgIHZpcnR1YWwgfkZvY3VzRXZlbnQoKTsKKyAgICB2b2lkIGluaXRGb2N1c0V2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFz
c1JlZlB0cjxBYnN0cmFjdFZpZXc+LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0
PiByZWxhdGVkVGFyZ2V0KTsKKyAgICBFdmVudFRhcmdldCogcmVsYXRlZFRhcmdldCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVsYXRlZFRhcmdldC5nZXQoKTsgfQorICAgIHZvaWQgc2V0UmVsYXRlZFRh
cmdldChQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KSB7IG1fcmVsYXRlZFRh
cmdldCA9IHJlbGF0ZWRUYXJnZXQ7IH0KKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYg
aW50ZXJmYWNlTmFtZSgpIGNvbnN0OworICAgIAorcHJpdmF0ZToKKyAgICBGb2N1c0V2ZW50KCk7
CisgICAgRm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxl
LCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50IGRldGFpbCwg
UGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCk7ICAgICAgICAKKyAgICBSZWZQ
dHI8RXZlbnRUYXJnZXQ+IG1fcmVsYXRlZFRhcmdldDsKK307CisgICAgCisgICAgCitjbGFzcyBG
b2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRv
ciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4g
b2xkRm9jdXNlZE5vZGUpOworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBGb2N1c0luRXZlbnREaXNw
YXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xk
Rm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0
Y2hlciopIGNvbnN0OworICAgIEZvY3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRy
PE5vZGU+IG1fb2xkRm9jdXNlZE5vZGU7Cit9OworICAgIAorIAorY2xhc3MgRm9jdXNPdXRFdmVu
dERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4g
Y3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNl
ZE5vZGUpOworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWRO
b2RlKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBj
b25zdDsKKyAgICBGb2N1c0V2ZW50KiBldmVudCgpIGNvbnN0OworICAgIFJlZlB0cjxOb2RlPiBt
X25ld0ZvY3VzZWROb2RlOworfTsKKyAgICAKKyAgICAKK2NsYXNzIEZvY3VzRXZlbnREaXNwYXRj
aE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7ICAgIAorcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUo
UGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0
IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5v
ZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNv
bnN0OworICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOworfTsgCisgICAgCisKK2Ns
YXNzIEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlh
dG9yIHsgICAgICAgCitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Qmx1ckV2ZW50RGlz
cGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOyAg
ICAgICAgCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3Io
UGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3Bh
dGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3
Rm9jdXNlZE5vZGU7Cit9OyAgICAgCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEZvY3VzRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZl
bnQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4
MmM2Mjg2NTQyM2RiMWZiOWMzZDJlODA2M2M1MjllNjQ0YmRjNWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwKQEAgLTAsMCArMSw0NyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK21vZHVs
ZSBldmVudHMgeworCisgICAgLy8gSW50cm9kdWNlZCBpbiBET00gTGV2ZWwgMzoKKyAgICBpbnRl
cmZhY2UgRm9jdXNFdmVudCA6IFVJRXZlbnQgeworCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBFdmVudFRhcmdldCAgICAgIHJlbGF0ZWRUYXJnZXQ7CisKKyAgICAgICAgdm9pZCBpbml0Rm9j
dXNFdmVudChpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZSwg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gYm9vbGVhbiBjYW5CdWJibGUsIAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4gY2FuY2Vs
YWJsZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURl
ZmF1bHRJc1VuZGVmaW5lZF0gRE9NV2luZG93IHZpZXcsIAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGxvbmcgZGV0YWls
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBFdmVudFRhcmdldCByZWxhdGVkVGFyZ2V0KTsKKworICAgIH07CisKK30K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Ob2RlLmNwcAppbmRleCAzZDlhYzNlNWIwYTFhMjEyNzc0YjJmMmU5ZjUwZmI4Y2E2YmJj
MDBkLi41Y2UwMjA4NGIwZGJiOTBjMmU0NjFmN2E2OWU4NzhlY2JmYzlmOGYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2lu
Y2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVk
ZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTI3NjAsMTQgKzI3NjEsMTQgQEAgdm9p
ZCBOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgUGFzc1JlZlB0cjxOb2RlPgogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRl
bigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQg
fHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3Bh
dGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0
b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1l
bnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG9sZEZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hT
Y29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
Y3JlYXRlKEZvY3VzRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVu
dCgpLT5kZWZhdWx0VmlldygpLCAwLCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7
CiB9CiAKIHZvaWQgTm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewogICAgIEFT
U0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09
IGV2ZW50TmFtZXMoKS5mb2N1c291dEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCku
RE9NRm9jdXNPdXRFdmVudCk7Ci0gICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0
b3IoRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUo
ZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG5l
d0ZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3Io
Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUo
ZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgbmV3
Rm9jdXNlZE5vZGUpLCBuZXdGb2N1c2VkTm9kZSkpOwogfQogCiB2b2lkIE5vZGU6OmRpc3BhdGNo
RE9NQWN0aXZhdGVFdmVudChpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5n
RXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAKaW5kZXggZmYzZmY0YWZjZjliMjEyMTFiN2I1MzFm
YWY1NDdkMTNlZjhmZDU2OS4uYjU1MzllYzUyOGQ2ZmYxZWJhNzljNTU0NDA4YjczNjc4MzM2NjJl
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAo
QykgMjAwMSBUb2JpYXMgQW50b24gKGFudG9uQHN0dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAq
IENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkK
ICAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTEwLDM4ICsxMTEsNCBAQCB2
b2lkIFVJRXZlbnQ6Ondhcm5EZXByZWNhdGVkTGF5ZXJYWVVzYWdlKCkKICAgICAgICAgbV92aWV3
LT5jb25zb2xlKCktPmFkZE1lc3NhZ2UoSlNNZXNzYWdlU291cmNlLCBMb2dNZXNzYWdlVHlwZSwg
V2FybmluZ01lc3NhZ2VMZXZlbCwgY29uc29sZU1lc3NhZ2UpOwogfQogCi1QYXNzUmVmUHRyPEZv
Y3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6
OmNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1
c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3IoZXZlbnQsIG9sZEZvY3VzZWROb2RlKSk7Ci19Ci0KLUZvY3VzSW5FdmVudERpc3Bh
dGNoTWVkaWF0b3I6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVu
dD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERp
c3BhdGNoTWVkaWF0b3IoZXZlbnQpCi0gICAgLCBtX29sZEZvY3VzZWROb2RlKG9sZEZvY3VzZWRO
b2RlKQotewotfQotCi1ib29sIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNo
RXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNo
ZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAg
cmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsK
LX0KLQotUGFzc1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNPdXRF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFz
c1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9kZSkpOwot
fQotCi1Gb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNo
TWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9j
dXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCi0gICAgLCBtX25l
d0ZvY3VzZWROb2RlKG5ld0ZvY3VzZWROb2RlKQotewotfQotCi1ib29sIEZvY3VzT3V0RXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hl
cikgY29uc3QKLXsKLSAgICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCks
IG1fbmV3Rm9jdXNlZE5vZGUpOwotICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRp
c3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVUlFdmVudC5oCmluZGV4IGQxMjk0Yzk1MmZjMWJkMDc3OGMxYjYxM2MwMWUwNDdhNWViOGU5
ZmEuLjRkZmJhMjZiY2Q2M2ZlNDcwNmIzMzBkNjU5MGI4NjMzZjVhNTE0MTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJ
RXZlbnQuaApAQCAtMyw2ICszLDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAwMSBUb2JpYXMgQW50
b24gKGFudG9uQHN0dWQuZmJpLmZoLWRhcm1zdGFkdC5kZSkKICAqIENvcHlyaWdodCAoQykgMjAw
NiBTYW11ZWwgV2VpbmlnIChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKICAqIENvcHlyaWdodCAoQykg
MjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtNzUsMjQgKzc2LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBpbnQgbV9kZXRhaWw7CiAgICAgfTsKIAotICAgIGNsYXNzIEZvY3VzSW5F
dmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLSAg
ICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRG
b2N1c2VkTm9kZSk7Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgZXhwbGljaXQgRm9jdXNJbkV2ZW50
RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRG
b2N1c2VkTm9kZSk7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlz
cGF0Y2hlciopIGNvbnN0OwotICAgICAgICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsK
LSAgICB9OwotCi0gICAgY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJs
aWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0
cjxFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgIHByaXZhdGU6
Ci0gICAgICAgIGV4cGxpY2l0IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQ
dHI8RXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICAgICAgdmly
dHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7Ci0gICAgICAg
IFJlZlB0cjxOb2RlPiBtX25ld0ZvY3VzZWROb2RlOwotICAgIH07Ci0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIFVJRXZlbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CmluZGV4IDMzMWU2MmM4MWQ0Njk1ZGFkYzI2NzQxNDkyMjA4YzBhNmMwMTdjZjUuLjM5YmY1MTRj
YmY1NjdiM2YyZGQ1OTlhNGM4NTNkMjBlMDliNDI3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKQEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExLCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUxMCw2ICs1MTAsNyBAQCBtb2R1bGUgd2luZG93IHsK
ICAgICAgICAgYXR0cmlidXRlIENvbXBvc2l0aW9uRXZlbnRDb25zdHJ1Y3RvciBDb21wb3NpdGlv
bkV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgQ3VzdG9tRXZlbnRDb25zdHJ1Y3RvciBDdXN0b21F
dmVudDsKICAgICAgICAgYXR0cmlidXRlIEVycm9yRXZlbnRDb25zdHJ1Y3RvciBFcnJvckV2ZW50
OworICAgICAgICBhdHRyaWJ1dGUgRm9jdXNFdmVudENvbnN0cnVjdG9yIEZvY3VzRXZlbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBIYXNoQ2hhbmdlRXZlbnRDb25zdHJ1Y3RvciBIYXNoQ2hhbmdlRXZl
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBLZXlib2FyZEV2ZW50Q29uc3RydWN0b3IgS2V5Ym9hcmRF
dmVudDsKICAgICAgICAgYXR0cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VF
dmVudDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAyYmI4YjY4MTk5NzgwYjVmMDQ2NTA1ZjJmNzBhMzZlYjA1OGU0NTI1Li5h
NDhlZWE1YzNiOTVlYWNmZWNiNDhhMGVkMTQxODNkM2UxZDU0NzIxIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMTItMDItMTQgIFRlcnJ5IEFuZGVyc29uICA8dGRhbmRlcnNvbkBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgRE9NIDMgRXZlbnRzIEZvY3Vz
RXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbDoKKyAgICAg
ICAgICAgIC0gQ2hhbmdlZCB0aGUgZm9jdXNpbi9mb2N1c291dCBwYXJ0cyBvZiB0aGlzIGxheW91
dCB0ZXN0IHRvIGluY2x1ZGUgdGhlCisgICAgICAgICAgICAgIHJlbGF0ZWRUYXJnZXQgYXR0cmli
dXRlLCB3aGljaCBpcyBub3cgc2V0IG9uIEZvY3VzRXZlbnQgb2JqZWN0cworICAgICAgICAqIGZh
c3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sOgorICAgICAgICAgICAgLSBBZGRlZCB0aGUgY3JlYXRp
b24gb2YgRm9jdXNFdmVudHMgdG8gdGhpcyBsYXlvdXQgdGVzdAorICAgICAgICAqIGZhc3QvZXZl
bnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAgICAgLSBUaGlzIGlzIGEgbmV3IGxheW91dCB0ZXN0IEkgY3JlYXRlZCBzcGVjaWZp
Y2FsbHkgZm9yIHRoaXMgcGF0Y2gKKwogMjAxMi0wMi0xNCAgVnNldm9sb2QgVmxhc292ICA8dnNl
dmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBNYWtlIFNjcmlwdHNO
YXZpZ2F0b3IgZGVmYXVsdCBmaWxlIHNlbGVjdG9yLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDlhNWY5ZGIzNzExMGU1NDY5MDA5MmRhNDdiOTg0ZmQzYjYzYjY2NmYuLjQwY2Vi
YzI3Y2VlYzEwZGU0YzYzYzc0ZDQ3NTE3YzNiNzdhMGUzNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1l
eHBlY3RlZC50eHQKQEAgLTYxLDEzICs2MSwxMyBAQCBQQVNTIGRpc3BhdGNoZWRFdmVudCgibW91
c2VvdXQiKSBpcyBbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNoYWRvdwog
CiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJsaW5nIG5vZGUuIEFsbCBub2RlcyBh
cmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBkaXZCIHRv
IGRpdkMKLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZDKEBkaXZDKSIs
ICJkaXZDKEBkaXZBKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBbImRp
dkIoQGRpdkIpIiwgImRpdkIoQGRpdkEpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2lu
IikgaXMgWyJkaXZDKDwtZGl2QikoQGRpdkMpIiwgImRpdkMoPC1kaXZCKShAZGl2QSkiXQorUEFT
UyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMgWyJkaXZCKDwtZGl2QykoQGRpdkIpIiwg
ImRpdkIoPC1kaXZDKShAZGl2QSkiXQogCiBPbGQgZm9jdXNlZCBub2RlIGFuZCBuZXcgZm9jdXNl
ZCBub2RlIGV4aXN0IGluIHNlcGFyYXRlZCBzdWJ0cmVlcywgY3Jvc3Npbmcgc2hhZG93IGJvdW5k
YXJpZXMuIE1ha2luZyBzdXJlIHRoYXQgYW4gZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQgYmV5b25k
IHRoZSBsb3dlc3QgY29tbW9uIGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gc2hhZG93RC9z
aGFkb3dGL3NoYWRvd0cvZGl2SCB0byBzaGFkb3dEL3NoYWRvd0svZGl2TAotUEFTUyBkaXNwYXRj
aGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkwoQGRpdkwpIiwgInNoYWRvd0soQHNoYWRvd0sp
IiwgInNoYWRvd0soQGRpdkopIl0KLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlz
IFsiZGl2SChAZGl2SCkiLCAic2hhZG93RyhAc2hhZG93RykiLCAic2hhZG93RihAc2hhZG93Riki
LCAic2hhZG93RihAZGl2RSkiXQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBb
ImRpdkwoPC1zaGFkb3dGKShAZGl2TCkiLCAic2hhZG93Syg8LXNoYWRvd0YpKEBzaGFkb3dLKSIs
ICJzaGFkb3dLKDwtc2hhZG93RikoQGRpdkopIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1
c291dCIpIGlzIFsiZGl2SCg8LXNoYWRvd0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hhZG93Syko
QHNoYWRvd0cpIiwgInNoYWRvd0YoPC1zaGFkb3dLKShAc2hhZG93RikiLCAic2hhZG93Rig8LXNo
YWRvd0spKEBkaXZFKSJdCiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcg
bm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4KIE1vdmluZyBm
b2N1cyBmcm9tIGRpdkIgdG8gZGl2QwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKaW5kZXggZjA2MzBjNzJjNmI5ZDBm
NGU4NTJhNGU2Yzc3ZTE1NGQzNGM5YzNkYy4uZTQ3OTA0YjcyNWNiZWFmYzI1ZjcyM2RmNWExMGQx
MzNiNWU4Yzc5MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1ib3VuZGFyeS1ldmVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCkBAIC0xODcsMTMgKzE4NywxMyBAQCBmdW5jdGlv
biB0ZXN0KCkKICAgICAvLyBUZXN0IGZvciBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cy4KICAgICBt
b3ZlRm9jdXMoJ2RpdkInLCAnZGl2QycsCiAgICAgICAgICAgICAgICdNb3ZlIGZvY3VzIGZyb20g
YSBub2RlIHRvIGl0cyBzaWJsaW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFk
b3cgYm91bmRhcnkuJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIp
JywgJ1siZGl2QyhAZGl2QykiLCAiZGl2QyhAZGl2QSkiXScpOwotICAgIHNob3VsZEJlKCdkaXNw
YXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZCKEBkaXZCKSIsICJkaXZCKEBkaXZBKSJd
Jyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2Qyg8
LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2QikoQGRpdkEpIl0nKTsKKyAgICBzaG91bGRCZSgn
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2Qig8LWRpdkMpKEBkaXZCKSIsICJk
aXZCKDwtZGl2QykoQGRpdkEpIl0nKTsKIAogICAgIG1vdmVGb2N1cygnc2hhZG93RC9zaGFkb3dG
L3NoYWRvd0cvZGl2SCcsICdzaGFkb3dEL3NoYWRvd0svZGl2TCcsCiAgICAgICAgICAgICAgICdP
bGQgZm9jdXNlZCBub2RlIGFuZCBuZXcgZm9jdXNlZCBub2RlIGV4aXN0IGluIHNlcGFyYXRlZCBz
dWJ0cmVlcywgY3Jvc3Npbmcgc2hhZG93IGJvdW5kYXJpZXMuIE1ha2luZyBzdXJlIHRoYXQgYW4g
ZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQgYmV5b25kIHRoZSBsb3dlc3QgY29tbW9uIGJvdW5kYXJ5
LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkwo
QGRpdkwpIiwgInNoYWRvd0soQHNoYWRvd0spIiwgInNoYWRvd0soQGRpdkopIl0nKTsKLSAgICBz
aG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2SChAZGl2SCkiLCAi
c2hhZG93RyhAc2hhZG93RykiLCAic2hhZG93RihAc2hhZG93RikiLCAic2hhZG93RihAZGl2RSki
XScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkwo
PC1zaGFkb3dGKShAZGl2TCkiLCAic2hhZG93Syg8LXNoYWRvd0YpKEBzaGFkb3dLKSIsICJzaGFk
b3dLKDwtc2hhZG93RikoQGRpdkopIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50
KCJmb2N1c291dCIpJywgJ1siZGl2SCg8LXNoYWRvd0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hh
ZG93SykoQHNoYWRvd0cpIiwgInNoYWRvd0YoPC1zaGFkb3dLKShAc2hhZG93RikiLCAic2hhZG93
Rig8LXNoYWRvd0spKEBkaXZFKSJdJyk7CiAKICAgICAvLyBPbWl0dGVkIHRlc3QgY2FzZXMgd2hl
cmUgZWl0aGVyIGEgb2xkRm9jdXNlZE5vZGUgb3IgbmV3Rm9jdXNlZE5vZGUgaXMgYW4gYW5jZXN0
b3Igb2YgdGhlIG90aGVyLgogICAgIC8vIER1ZSB0byBhIGZvY3VzIHRyYW5zZmVyIG1lY2hhbmlz
bSBvbiBzaGFkb3cgaG9zdHMsIGEgZm9jdXNlZCBub2RlIHNob3VsZCBiZSBhIGxlYWYgbm9kZSBp
biBnZW5lcmFsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3Jl
YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRp
b24tZXhwZWN0ZWQudHh0CmluZGV4IDYzNTllOTlhOTc1YjNjYjk5YWM1NjUwM2UzMzJkODdjNTUz
NmI4ODkuLmE0ZWJiYjBkYWE2MDY0ZmUyODI5YTc0N2NiMzMxYWYxZTUxZmUyNDMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQK
QEAgLTIxLDYgKzIxLDEwIEBAIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50
JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5DdXN0b21FdmVudCBpcyB0CiBQQVNTIGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXJyb3JFdmVudCBp
cyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2Vv
ZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JF
dmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRXJyb3JFdmVudCBpcyB0cnVlCitQQVNTIGRv
Y3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRm9jdXNF
dmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5z
dGFuY2VvZiB3aW5kb3cuVUlFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50
KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1
bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRm9j
dXNFdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZl
bnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1
bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZl
bnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50Jyku
Y29uc3RydWN0b3IgPT09IHdpbmRvdy5IYXNoQ2hhbmdlRXZlbnQgaXMgdHJ1ZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwKaW5kZXggNjNkYmEwNGJhMTUxYjU3
ZTkwYjMyMzNiZTRhYmU2ZGE1MDNhOWFhYy4uYTk4Mjk2NmYzMWJmOGZmMjk2ZGRhNjAwMWMxNDA1
OWI2MmU5MjczYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3Jl
YXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5o
dG1sCkBAIC0zNyw2ICszNywxMiBAQAogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRl
RXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCIpOwogICAgIHNob3Vs
ZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKS5jb25zdHJ1Y3RvciA9
PT0gd2luZG93LkVycm9yRXZlbnQiKTsKIAorICAgIC8vIEZvY3VzRXZlbnQKKyAgICBzaG91bGRC
ZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5k
b3cuRm9jdXNFdmVudCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQo
J0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5VSUV2ZW50Iik7CisgICAgc2hvdWxkQmVU
cnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93
LkV2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNF
dmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRm9jdXNFdmVudCIpOyAgICAKKwogICAgIC8v
IEhhc2hDaGFuZ2VFdmVudAogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQo
J0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93Lkhhc2hDaGFuZ2VFdmVudCIpOwog
ICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcp
IGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg1OTBkNWUzMzYzNzEzZDhmNjZlYWEyNDc4ZWRiYjE0NDA2YWJiYjQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1
c2V2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitMYXlvdXQgdGVzdCBmb3IgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2LiBDaGVja3MgdGhhdCB0
aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9yIEZvY3VzRXZlbnQgb2JqZWN0cyBpcyBiZWlu
ZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9mb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNo
ZWQuIFByZXNzIHRhYiBmb3VyIHRpbWVzIHRvIGRpc3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9jdXNv
dXQgZXZlbnQgZm9yIGVhY2ggb2YgdGhlIGJ1dHRvbnMgYmVsb3cuCisKK01lb3cgIFB1cnIgIEZ1
ciEgIERvbmUKK0V4cGVjdGVkIFJlc3VsdAorCitNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyBy
ZWxhdGVkVGFyZ2V0IGlzIG51bGwKK01lb3cgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVk
VGFyZ2V0IGlzIFB1cnIKK1B1cnIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQg
aXMgTWVvdworUHVyciByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVy
IQorRnVyISByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitGdXIh
IHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBEb25lCisgICAgCitBY3R1
YWwgUmVzdWx0CisKK01lb3cgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMg
bnVsbAorTWVvdyByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgor
UHVyciByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBNZW93CitQdXJyIHJl
Y2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBGdXIhCitGdXIhIHJlY2VpdmVk
IGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNv
dXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIERvbmUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRj
NTVlZGYwYTYyOGExMGU3NjZmMzU3MjUwY2VkMTZlODVmOTViOTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwK
QEAgLTAsMCArMSw3MyBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICAK
KyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykKKyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZycpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKG1zZyArICdcbicpKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSAK
KyAgICAgICAgeyAgICAgICAKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIAorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKworICAgICAgICAgICAgdmFyIElORVZFTlQgPSAiZm9jdXNpbiI7CisgICAgICAgICAgICB2
YXIgT1VURVZFTlQgPSAiZm9jdXNvdXQiOworICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIg
YjEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMScpOworICAgICAgICAgICAgdmFy
IGIyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjInKTsKKyAgICAgICAgICAgIHZh
ciBiMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJyk7CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIGIxLmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVOVCwgVGVzdEluRXZlbnQsIHRy
dWUpOworICAgICAgICAgICAgYjIuYWRkRXZlbnRMaXN0ZW5lcihJTkVWRU5ULCBUZXN0SW5FdmVu
dCwgdHJ1ZSk7CisgICAgICAgICAgICBiMy5hZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRlc3RJ
bkV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgYjEuYWRkRXZlbnRMaXN0
ZW5lcihPVVRFVkVOVCwgVGVzdE91dEV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAgIGIyLmFkZEV2
ZW50TGlzdGVuZXIoT1VURVZFTlQsIFRlc3RPdXRFdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICBi
My5hZGRFdmVudExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAgICAg
ICAgICAgCisgICAgICAgICAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgCisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDQ7IGkrKykgCisgICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gVGVzdEluRXZlbnQoZXZ0KSAK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKGV2dC5yZWxhdGVkVGFyZ2V0KQorICAgICAgICAg
ICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVyVGV4dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRz
IHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0LmlubmVyVGV4dCk7CisgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsg
IiByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyAiICsgZXZ0LnJlbGF0ZWRU
YXJnZXQpOyAgCisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIFRlc3RPdXRF
dmVudChldnQpIAorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXZ0LnJlbGF0ZWRUYXJnZXQp
CisgICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBm
b2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0LmlubmVy
VGV4dCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQu
aW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiAr
IGV2dC5yZWxhdGVkVGFyZ2V0KTsKKyAgICAgICAgICAgICAKKyAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPHA+TGF5b3V0IHRlc3QgZm9y
IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNiIg
dGFiaW5kZXg9LTE+aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2
PC9hPi4gIENoZWNrcyB0aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNF
dmVudCBvYmplY3RzIGlzIGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0
IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZC4gIDxiPlByZXNzIHRhYiBmb3VyIHRpbWVzPC9iPiB0byBk
aXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0
b25zIGJlbG93LjwvcD4KKyAgICA8YnV0dG9uIGlkPSJidXR0b24xIj5NZW93PC9idXR0b24+Cisg
ICAgPGJ1dHRvbiBpZD0iYnV0dG9uMiI+UHVycjwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImJ1
dHRvbjMiPkZ1ciE8L2J1dHRvbj4KKyAgICA8YnV0dG9uIGlkPSJpbnB1dGRvbmUiPkRvbmU8L2J1
dHRvbj4KKyAgICA8cD5FeHBlY3RlZCBSZXN1bHQ8L3A+CisgICAgPHByZT4KK01lb3cgcmVjZWl2
ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgbnVsbAorTWVvdyByZWNlaXZlZCBmb2N1
c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgorUHVyciByZWNlaXZlZCBmb2N1c2luLCBp
dHMgcmVsYXRlZFRhcmdldCBpcyBNZW93CitQdXJyIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVs
YXRlZFRhcmdldCBpcyBGdXIhCitGdXIhIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFy
Z2V0IGlzIFB1cnIKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlz
IERvbmUKKyAgICA8L3ByZT4KKyAgICA8cD5BY3R1YWwgUmVzdWx0PC9wPgorICAgIDxwcmUgaWQ9
ImxvZyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127181</attachid>
            <date>2012-02-15 07:06:17 -0800</date>
            <delta_ts>2012-02-16 08:23:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120215100615.patch</filename>
            <type>text/plain</type>
            <size>52818</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3NzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRlN2Q3YWFhYzdlMTk5
YmNhNGY2ZGE3NzNmMDZiNjg0Yzk4ZjVlMC4uZDY5MWVjNzFlODliMzVmYjU2NTgyMTAzYmY0NDYz
Y2NhODZhMWNhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTE1ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIENyZWF0ZWQg
YSBuZXcgRm9jdXNFdmVudCBjbGFzcyAoZXh0ZW5kcyBVSUV2ZW50KSB3aXRoIGEgcmVsYXRlZFRh
cmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixG
b2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4g
IE5vdyB3aGVuCisgICAgICAgIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRj
aGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRlZCB3aXRoIHRoZSByZWxhdGVkVGFyZ2V0CisgICAg
ICAgIGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5nbHkuICBObyBvdGhlciBsb2dpYyBjaGFuZ2VzIGhh
dmUgYmVlbiBtYWRlIGJlc2lkZXMgYWRkaW5nIHRoZQorICAgICAgICBGb2N1c0V2ZW50IGNsYXNz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICAgICAtIElu
Y2x1ZGVkIG1lbnRpb24gb2YgRm9jdXNFdmVudCAvIEpTRm9jdXNFdmVudCBpbiB0aGUgYWJvdmUg
ZWlnaHQgZmlsZXMgdG8KKyAgICAgICAgICAgICAgaG9wZWZ1bGx5IGFsbG93IHRoZSBwYXRjaCB0
byBidWlsZCBvbiB0aGUgZGlmZmVyZW50IHBsYXRmb3JtcywgaW5jbHVkaW5nIG1hYworICAgICAg
ICAqIGRvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwOgorICAgICAgICAqIGRvbS9FdmVudERp
c3BhdGNoTWVkaWF0b3IuaDoKKyAgICAgICAgKiBkb20vRXZlbnRGYWN0b3J5LmluOgorICAgICAg
ICAqIGRvbS9Gb2N1c0V2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9jdXNFdmVudDo6fkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6
aW5pdEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6aW50ZXJmYWNl
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpldmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6
CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2
ZW50KToKKyAgICAgICAgKiBkb20vRm9jdXNFdmVudC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmguCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OnJlbGF0ZWRUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6c2V0UmVsYXRlZFRhcmdldCk6CisgICAgICAgIChGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAg
ICAgKEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZTo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlz
cGF0Y2hGb2N1c091dEV2ZW50KToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAg
ICogZG9tL1VJRXZlbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTIt
MDItMTQgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogTWFrZSBTY3JpcHRzTmF2aWdhdG9yIGRlZmF1bHQgZmlsZSBzZWxlY3Rv
ci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZGUwOTBlNjE2MzE0MThmZDA0M2M4YTg5MTZkNzZm
NzI5YTI0ODU4ZC4uZTdhYmUyZjRjZTE1NGIwZDYyZGExZTUxZjhiNTM4ZjZkNmU0YjA2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1OCw2ICsxNTgsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklM
RVMKICAgICBkb20vRXJyb3JFdmVudC5pZGwKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAg
ICAgZG9tL0V2ZW50LmlkbAorICAgIGRvbS9Gb2N1c0V2ZW50LmlkbAogICAgIGRvbS9IYXNoQ2hh
bmdlRXZlbnQuaWRsCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaWRsCiAgICAgZG9tL01lc3NhZ2VD
aGFubmVsLmlkbApAQCAtNTU4LDYgKzU1OSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBk
b20vRXZlbnRUYXJnZXQuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9tL0V4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAKKyAgICBkb20vRm9jdXNFdmVudC5jcHAKICAgICBk
b20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCiAgICAgZG9tL0ljb25VUkwuY3BwCiAgICAgZG9tL0tl
eWJvYXJkRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNDc4MTI3ODQ4
OGExNTkxM2Q4MDk0MmE2MzY4YmVjMmQyOGViZTAxNS4uZTVkOTRiYmYwZTE2ZDNmMDM1NWNmZGY3
Y2ExMTkyZWNmYzlmNGFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTI5LDYg
KzEyOSw3IEBACiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNG
bG9hdDMyQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQ2NEFycmF5LmNwcCIKKyNpbmNsdWRl
ICJKU0ZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1
ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgogI2luY2x1ZGUgIkpTSGFzaENoYW5nZUV2ZW50LmNwcCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDcwZmM3NDQ4OTQwMmVkMzIyN2YyNzYy
YTEwN2FjMmJjMmIxZWRjZTMuLjQ0MTViYThmOTE0ODNjZDFjZWM3ZjgwMzE0OWNkMzgxMWRmZWY0
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTExLDYgKzExMSw3IEBAIEJJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9FdmVudFRhcmdldC5pZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5u
ZWwuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA2MTBjZmYxOTlmNGNjN2Q3
Y2JmMjMyZWI3NGI4Y2E4NDMzZTg1YTI5Li5jMDU0ZDQ0ZGQzMjQ3MjYzNjhjM2VlNzAxZmU4ZmZj
ZTliYTFmZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xNDIsNiArMTQyLDcg
QEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwK
ICMgICAgJCRQV0QvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50
VGFyZ2V0LmlkbCBcCisgICAgJCRQV0QvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkJFBXRC9k
b20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0tleWJvYXJkRXZlbnQuaWRs
IFwKICAgICAkJFBXRC9kb20vTW91c2VFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KaW5kZXggZGI4MDIxMTQwZDkwNDliM2I1ZjQ0YTk4NDMwZjZmZjA1MjFiYWFhMS4uNDdh
YThmMmNjMmZmN2FiMmQ2Y2RkZjFjZTIyMWMzMWU5MzNlOWY4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCkBAIC0xODMsNiArMTgzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmggXAogCURlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRmxvYXQ2NEFycmF5LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2
ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dlb2xvY2F0aW9uLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9w
b3NpdGlvbi5jcHAgXApAQCAtNzAzLDYgKzcwNSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvZG9tL0Vycm9yRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudC5p
ZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9k
b20vRm9jdXNFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwg
XAogCSQoV2ViQ29yZSkvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9N
ZXNzYWdlQ2hhbm5lbC5pZGwgXApAQCAtMTU2OSw2ICsxNTcyLDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmggXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCiAJU291cmNlL1dl
YkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyLmggXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpp
bmRleCA2Zjc2OWIxZGFjNDA2NWI5MTE5MTFmMzhhNjkzODY0OTQxN2Y2MDU0Li5hNWFkOGZlYTM5
NTJhYjA1MTlhZGEzOTVjYmNmYWQzZmQwM2E0YzAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTUyMSw2ICs1
MjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQuY3BwIFwKICAgICBkb20v
RXhjZXB0aW9uQmFzZS5jcHAgXAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3Bw
IFwKKyAgICBkb20vRm9jdXNFdmVudC5jcHAgXAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5j
cHAgXAogICAgIGRvbS9JY29uVVJMLmNwcCBcCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuY3BwIFwK
QEAgLTE2MzUsNiArMTYzNiw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5o
IFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwK
KyAgICBkb20vRm9jdXNFdmVudC5oIFwKICAgICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNz
aW9uLmggXAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmggXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5l
bC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmYjE2YTVmZjljOTUwOWNmOWJiZTBmZjQwODllNDFm
ZjQwMDUxYTMxLi4zZGQ5MjM2Mzk0NTEyNjM5NzVmZTdlOTQ1NzBmNTFmZDEwMWZlMTc1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC02MDAsNiArNjAwLDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRU
YXJnZXQuaCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGUuaCcsCiAgICAgICAgICAg
ICAnZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oJywKKyAgICAgICAgICAgICdkb20vRm9j
dXNFdmVudC5oJywKICAgICAgICAgICAgICdkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9u
LmgnLAogICAgICAgICAgICAgJ2RvbS9LZXlib2FyZEV2ZW50LmgnLAogICAgICAgICAgICAgJ2Rv
bS9NZXNzYWdlUG9ydC5oJywKQEAgLTYyNSw2ICs2MjYsNyBAQAogICAgICAgICAgICAgJ2RvbS9U
ZXh0LmgnLAogICAgICAgICAgICAgJ2RvbS9UZXh0RXZlbnRJbnB1dFR5cGUuaCcsCiAgICAgICAg
ICAgICAnZG9tL1VJRXZlbnQuaCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaCcsCiAg
ICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuaCcsCiAgICAgICAgICAgICAnZG9t
L1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgnLAogICAgICAgICAgICAgJ2RvbS9Vc2VyVHlwaW5nR2Vz
dHVyZUluZGljYXRvci5oJywKQEAgLTc4NCw2ICs3ODYsNyBAQAogICAgICAgICAgICAgJ2RvbS9F
dmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCisgICAgICAgICAgICAnZG9tL0Zv
Y3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVz
c2FnZUNoYW5uZWwuaWRsJywKQEAgLTgxNiw2ICs4MTksNyBAQAogICAgICAgICAgICAgJ2RvbS9U
b3VjaExpc3QuaWRsJywKICAgICAgICAgICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaWRs
JywKICAgICAgICAgICAgICdkb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9X
ZWJLaXROYW1lZEZsb3cuaWRsJywKQEAgLTUwMjcsNiArNTAzMSw3IEBACiAgICAgICAgICAgICAn
ZG9tL0V4Y2VwdGlvbkJhc2UuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5o
JywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAg
ICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2
ZW50UXVldWUuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAg
ICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5oJywKQEAgLTUxNDMsNiArNTE0OCw3IEBA
CiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuY3BwJywKICAgICAgICAgICAgICdkb20vVHJl
ZVdhbGtlci5oJywKICAgICAgICAgICAgICdkb20vVUlFdmVudC5jcHAnLAorICAgICAgICAgICAg
J2RvbS9Gb2N1c0V2ZW50LmNwcCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3Rh
dGUuY3BwJywKICAgICAgICAgICAgICdkb20vVXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwJywKICAg
ICAgICAgICAgICdkb20vVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuY3BwJywKQEAgLTcxNTIs
NiArNzE1OCw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJyYXkuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5Lmgn
LAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNG
b2N1c0V2ZW50LmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9w
b3NpdGlvbi5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IDRjYmViZTBlNjczZDYyMDNiZjdmOThjMjIzNDY2MDNiYjU4YmUy
ODIuLmM1YmI5MTBkOTI0YTU2MGQyZDY2YjhmNDJmYmQ1Nzc1MjU4NTYwODYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ5ODAs
NiArNDk4MCwxMCBAQAogCQlCNjU2NjI3MDEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2Fj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1
NjYyNkUxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uaCAqLzsgfTsKIAkJQjY1
NjYyNzExMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1NjYyNkYxMjBCMTIyNzAwNkVB
ODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uY3BwICovOyB9OwogCQlCNjkxQzFGOTEyMDZENEEwMDAy
NUQ5ODAgLyogSURCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzU4NUE2QTMxMUQ0RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlLmNw
cCAqLzsgfTsKKwkJQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjMzMTRFQUJE
MjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi87IH07CisJCUI2RDlEMjM2MTRFQUJEMjYwMDkw
RDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAq
LzsgfTsKKwkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjZEOUQyNzkxNEVBQzA4
NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oICovOyB9OworCQlCNkQ5RDI3QzE0RUFDMDg2MDA5
MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQu
Y3BwICovOyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVGNzcgLyogUHJpbnRDb250ZXh0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNzc2RDQzQTEx
MDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODExMTlCOTkxMTAwNjU4N0JEIC8qIEZv
bnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgKi87
IH07CiAJCUI3MzRCMTgzMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjczNEIxODIxMTlCOTkx
RDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi87IH07CkBAIC0xMTg5MSw2ICsxMTg5NSwx
MSBAQAogCQlCNjU2NjI2RDEyMEIxMTZCMDA2RUE4NUMgLyogSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjU2
NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU0lEQlRyYW5zYWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUI2NTY2MjZGMTIwQjEyMjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCVHJhbnNhY3Rp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDIzMzE0RUFCRDI2MDA5
MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
b2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjM0MTRFQUJE
MjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEZvY3VzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlC
NkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9jdXNFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gRm9jdXNFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2
RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGb2N1c0V2ZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjczNEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRU
cmFuc2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRU
cmFuc2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9u
dFRyYW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5z
Y29kZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcmludENvbnRleHQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MDY0LDYgKzE4MDczLDggQEAKIAkJCQlFMUFE
RUREOTBFNzZCRDkzMDA0QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5jcHAgKi8sCiAJCQkJRTFBREVE
RDgwRTc2QkQ5MzAwNEExQTVFIC8qIEpTTWVzc2FnZVBvcnQuaCAqLywKIAkJCQlBODY2MjlDQzA5
REEyQjQ3MDA5NjMzQTUgLyogSlNNb3VzZUV2ZW50LmNwcCAqLywKKwkJCQlCNkQ5RDI3OTE0RUFD
MDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi8sCisJCQkJQjZEOUQyN0ExNEVBQzA4NjAw
OTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgKi8sCiAJCQkJQTg2NjI5Q0IwOURBMkI0NzAwOTYz
M0E1IC8qIEpTTW91c2VFdmVudC5oICovLAogCQkJCTY1REYzMUU3MDlEMUNDNjAwMDBCRTMyNSAv
KiBKU011dGF0aW9uRXZlbnQuY3BwICovLAogCQkJCTY1REYzMUU4MDlEMUNDNjAwMDBCRTMyNSAv
KiBKU011dGF0aW9uRXZlbnQuaCAqLywKQEAgLTIwNDc3LDYgKzIwNDg4LDcgQEAKIAkJRjUyM0Qz
MjQwMkRFNDQ3ODAxODYzNUNBIC8qIGRvbSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJQjZEOUQyNzIxNEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQu
aWRsICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3Qu
Y3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3Qu
aCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3MDAwM0FDOEQgLyogQXR0ci5jcHAgKi8sCkBAIC0y
MDgyNSw2ICsyMDgzNyw4IEBACiAJCQkJOTNFRUMxRjcwOUMyODc3NzAwQzUxNUQxIC8qIFdoZWVs
RXZlbnQuaWRsICovLAogCQkJCTQxMjNFNTY4MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVu
dENvbnRleHQuY3BwICovLAogCQkJCTQxMjNFNTY3MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dF
dmVudENvbnRleHQuaCAqLywKKwkJCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNF
dmVudC5oICovLAorCQkJCUI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNw
cCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZG9tOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTI0MjU1LDYgKzI0MjY5LDggQEAKIAkJCQk0QURFMjVGQTE0RTNCQjRDMDA0QzIyMTMgLyog
V2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFOTJG
QzE0RTU0MDU4MDA4N0ZGQkEgLyogU2hhZG93Um9vdExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3Q0MzQUUzMTRFOEU0QTIwMDg5NDk4OCAvKiBOYXZpZ2F0b3JTdXBwbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQlCNkQ5RDIzNTE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU5ODkwNTcxNEU5QzI4MDAwRThEMThCIC8qIFBhc3Rl
Ym9hcmRTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU5ODkwNTgxNEU5QzI5OTAwRThE
MThCIC8qIFBsYXRmb3JtUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwpAQCAtMjcx
OTksNiArMjcyMTUsOCBAQAogCQkJCTRBOTU3RjA2MTRFMjQxMkEwMDQ5REJGQiAvKiBXZWJTb2Nr
ZXRFeHRlbnNpb25EaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU3MkU5MkZCMTRF
NTQwNTgwMDg3RkZCQSAvKiBTaGFkb3dSb290TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
N0NDM0FFMjE0RThFNEEyMDA4OTQ5ODggLyogTmF2aWdhdG9yU3VwcGxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlCNkQ5RDIzNjE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQlCNkQ5RDI3QzE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM1OTg5MDJFMTRFOUIwRjgwMEU4RDE4QiAvKiBQ
bGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCmluZGV4IDhlYzRiZmI2YjcxMzJhMjc4YTA2MDQxMTVjZWRhY2JmMzQxZGZmMDAuLjY0Yjg2
Zjg0M2E1MjcxYjhlYmI4MjhiZTYyYThhZjg4MzI5ZWM1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcApAQCAtODAsNiArODAsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIK
ICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxh
Y2Vob2xkZXIuY3BwIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25V
UkwuY3BwIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuY3BwIgogI2luY2x1ZGUgIk1lc3NhZ2VD
aGFubmVsLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNo
TWVkaWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5j
cHAKaW5kZXggYjI0NzRjYjk1MWU2YzkxNDYzY2Y5ZjMxNTg2ZGVjM2U3MjMwOWYzMy4uYTc1ZTdl
ZDNjMzVhMDk1NzcyOTdmYzgyOTcxYmRmZjNhZWFjNWY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUxLDM4ICs1MSw0IEBAIGJvb2wg
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlz
cGF0Y2hlcikgY29uc3QKICAgICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2
ZW50LmdldCgpKTsKIH0KIAotUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4g
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZv
Y3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0
b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNl
ZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUo
b2xkRm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAg
IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9k
ZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNw
YXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVy
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2Vk
Tm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0
b3IobmV3Rm9jdXNlZE5vZGUpKTsKLX0KLQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQot
ICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJs
dXJFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNl
ZE5vZGUpCi17Ci19Ci0KLWJvb2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hF
dmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hl
ci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICBy
ZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNw
YXRjaE1lZGlhdG9yLmgKaW5kZXggMjZlNWQyZjIxMmU5ZGQwYjVjODQ1YTQ0N2ZkNGQ3NDViYWVk
NTg2Yy4uY2E5OWQ1ODEwMTIwNjVmMTk5ZDA2MjdkNjM4YTkwM2Q0NmEzODM1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNTcsMjMgKzU3LDYg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1
c0V2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3Igewot
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9y
PiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAg
IGV4cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xk
Rm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0
Y2hlciopIGNvbnN0OwotICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQot
Y2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVk
aWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNo
TWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZh
dGU6Ci0gICAgZXhwbGljaXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5v
ZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVu
dERpc3BhdGNoZXIqKSBjb25zdDsKLSAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsK
LX07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudEZhY3Rvcnku
aW4KaW5kZXggMWI1MDBjZDc5OWE4ZmM0NmNkYzlhZTc5ZmFlMDgwNmRlMGFhZDFkZC4uOTY3NGI1
MzYyZTYyYTgxZWUwZjFhZGFkNTA4OTMxNDZiMTRmYzQxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRG
YWN0b3J5LmluCkBAIC04LDYgKzgsOCBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBD
dXN0b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAorRm9jdXNFdmVudHMgaW50ZXJmYWNl
TmFtZT1Gb2N1c0V2ZW50CiBIYXNoQ2hhbmdlRXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJk
RXZlbnRzIGludGVyZmFjZU5hbWU9S2V5Ym9hcmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjMwMDg5MzA4ZDQ5NTQ0NDljN2IyYTAyMzY3NDE1YjNhNDFkOGU1ODMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAKQEAg
LTAsMCArMSwxNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5o
IgorCisjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoKQorewor
fQorCitGb2N1c0V2ZW50Ojp+Rm9jdXNFdmVudCgpCit7Cit9CisKK3ZvaWQgRm9jdXNFdmVudDo6
aW5pdEZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwg
Ym9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFp
bCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkKK3sKKyAgICBpZiAoZGlz
cGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaW5pdFVJRXZlbnQodHlwZSwg
Y2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwpOworICAgIAorICAgIG1fcmVsYXRl
ZFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgRm9jdXNF
dmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5p
bnRlcmZhY2VGb3JGb2N1c0V2ZW50OworfQorCitGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFz
c1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRU
YXJnZXQ+IHJlbGF0ZWRUYXJnZXQpCisgICAgOiBVSUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2Fu
Y2VsYWJsZSwgdmlldywgZGV0YWlsKQorICAgICwgbV9yZWxhdGVkVGFyZ2V0KHJlbGF0ZWRUYXJn
ZXQpCit7Cit9CisKKworCitQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+
IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEZvY3VzRXZl
bnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQoreworICAgIHJldHVy
biBhZG9wdFJlZihuZXcgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgb2xkRm9j
dXNlZE5vZGUpKTsKK30KKworRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNJbkV2
ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGV2ZW50LCBQYXNzUmVm
UHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQorICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2
ZW50KQorICAgICwgbV9vbGRGb2N1c2VkTm9kZShvbGRGb2N1c2VkTm9kZSkKK3sKK30KKworYm9v
bCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0
Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKK3sKKyAgICBpZiAoZGlzcGF0Y2hlci0+bm9kZSgpLT5k
aXNhYmxlZCgpKSAvLyBEb24ndCBldmVuIHNlbmQgRE9NIGV2ZW50cyBmb3IgZGlzYWJsZWQgY29u
dHJvbHMuCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIGlmIChldmVudCgpLT50eXBl
KCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFNob3VsZG4ndCBoYXBwZW4u
CisgICAgCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0ID0gZGlzcGF0Y2hl
ci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX29sZEZvY3VzZWROb2RlKTsKKyAgICBl
dmVudCgpLT5zZXRSZWxhdGVkVGFyZ2V0KHJlbGF0ZWRUYXJnZXQpOworICAgICAKKyAgICByZXR1
cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOyAgIAor
fQorCitGb2N1c0V2ZW50KiBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihFdmVudERpc3BhdGNo
TWVkaWF0b3I6OmV2ZW50KCkpOworfQorCisKKworUGFzc1JlZlB0cjxGb2N1c091dEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcj4gRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNz
UmVmUHRyPEZvY3VzRXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2Rl
KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3IoZXZlbnQsIG5ld0ZvY3VzZWROb2RlKSk7Cit9CisKK0ZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEZvY3VzRXZl
bnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQorICAgIDogRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKGV2ZW50KQorICAgICwgbV9uZXdGb2N1c2VkTm9kZShuZXdGb2N1c2Vk
Tm9kZSkKK3sKK30KKworYm9vbCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0
Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAgaWYgKGRp
c3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkgLy8gRG9uJ3QgZXZlbiBzZW5kIERPTSBldmVu
dHMgZm9yIGRpc2FibGVkIGNvbnRyb2xzLgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAKKyAg
ICBpZiAoZXZlbnQoKS0+dHlwZSgpLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAv
LyBTaG91bGRuJ3QgaGFwcGVuLgorICAgIAorICAgIFJlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRl
ZFRhcmdldCA9IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9uZXdG
b2N1c2VkTm9kZSk7CisgICAgZXZlbnQoKS0+c2V0UmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0
KTsKKyAgICAgCisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVu
dChkaXNwYXRjaGVyKTsKK30KKworRm9jdXNFdmVudCogRm9jdXNPdXRFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Rm9jdXNFdmVu
dCo+KEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSk7Cit9CisKKworCitQYXNzUmVmUHRy
PEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcihvbGRGb2N1c2VkTm9kZSkpOwor
fQorCitGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0
b3IoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcihFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50LCBmYWxzZSwgZmFs
c2UpKQorICAgICwgbV9vbGRGb2N1c2VkTm9kZShvbGRGb2N1c2VkTm9kZSkKK3sKK30KKworYm9v
bCBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNo
ZXIqIGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRh
cmdldChldmVudCgpLCBtX29sZEZvY3VzZWROb2RlKTsKKyAgICByZXR1cm4gRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOworfQorCisKKworUGFzc1JlZlB0
cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUpKTsKK30K
KworQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQ
YXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQorICAgIDogRXZlbnREaXNwYXRjaE1lZGlh
dG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFsc2UsIGZhbHNlKSkK
KyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgQmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRp
c3BhdGNoZXIpIGNvbnN0Cit7CisgICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChl
dmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKKyAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOworfQorCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3MWIzYmE5ZWI1N2ZlNTRj
OTk0YzExNmZjMTU1YTA5YjZhYmUyN2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRm9jdXNFdmVudC5oCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGb2N1c0V2ZW50X2gK
KyNkZWZpbmUgRm9jdXNFdmVudF9oCisKKyNpbmNsdWRlICJFdmVudERpc3BhdGNoTWVkaWF0b3Iu
aCIKKyNpbmNsdWRlICJVSUV2ZW50LmgiCisKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAor
Y2xhc3MgRm9jdXNFdmVudCA6IHB1YmxpYyBVSUV2ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBGb2N1c0V2ZW50KTsKKyAgICB9CisgICAgICAgCisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Rm9jdXNFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBj
YW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcs
IGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZlbnQodHlwZSwgY2FuQnViYmxl
LCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwsIHJlbGF0ZWRUYXJnZXQpKTsKKyAgICB9CisgICAg
ICAgCisgICAgdmlydHVhbCB+Rm9jdXNFdmVudCgpOworICAgIHZvaWQgaW5pdEZvY3VzRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRU
YXJnZXQ+IHJlbGF0ZWRUYXJnZXQpOworICAgIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9yZWxhdGVkVGFyZ2V0LmdldCgpOyB9CisgICAgdm9pZCBzZXRSZWxh
dGVkVGFyZ2V0KFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpIHsgbV9yZWxh
dGVkVGFyZ2V0ID0gcmVsYXRlZFRhcmdldDsgfQorICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3Ry
aW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisgICAgCitwcml2YXRlOgorICAgIEZvY3VzRXZl
bnQoKTsKKyAgICBGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5C
dWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+LCBpbnQgZGV0
YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KTsgICAgICAgIAorICAg
IFJlZlB0cjxFdmVudFRhcmdldD4gbV9yZWxhdGVkVGFyZ2V0OworfTsKKyAgICAKKyAgICAKK2Ns
YXNzIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1l
ZGlhdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0luRXZlbnREaXNw
YXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiwgUGFzc1JlZlB0cjxO
b2RlPiBvbGRGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZvY3VzSW5FdmVu
dERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiwgUGFzc1JlZlB0cjxOb2Rl
PiBvbGRGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnRE
aXNwYXRjaGVyKikgY29uc3Q7CisgICAgRm9jdXNFdmVudCogZXZlbnQoKSBjb25zdDsKKyAgICBS
ZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKK307CisgICAgCisgCitjbGFzcyBGb2N1c091
dEV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3Igewor
cHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlh
dG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBuZXdG
b2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9j
dXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hl
ciopIGNvbnN0OworICAgIEZvY3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5v
ZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Cit9OworICAgIAorICAgIAorY2xhc3MgRm9jdXNFdmVudERp
c3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsgICAgCitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNy
ZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKK3ByaXZhdGU6CisgICAgZXhw
bGljaXQgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1
c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVy
KikgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNlZE5vZGU7Cit9OyAKKyAgICAK
KworY2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNo
TWVkaWF0b3IgeyAgICAgICAKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxCbHVyRXZl
bnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9k
ZSk7ICAgICAgICAKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKKyAgICB2aXJ0dWFsIGJvb2wg
ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKKyAgICBSZWZQdHI8Tm9kZT4g
bV9uZXdGb2N1c2VkTm9kZTsKK307ICAgICAKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRm9jdXNFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjgyYzYyODY1NDIzZGIxZmI5YzNkMmU4MDYzYzUyOWU2NDRiZGM1YQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbApAQCAtMCwwICsxLDQ3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBP
V05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
bW9kdWxlIGV2ZW50cyB7CisKKyAgICAvLyBJbnRyb2R1Y2VkIGluIERPTSBMZXZlbCAzOgorICAg
IGludGVyZmFjZSBGb2N1c0V2ZW50IDogVUlFdmVudCB7CisKKyAgICAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIEV2ZW50VGFyZ2V0ICAgICAgcmVsYXRlZFRhcmdldDsKKworICAgICAgICB2b2lkIGlu
aXRGb2N1c0V2ZW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB0
eXBlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVm
YXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGNhbkJ1YmJsZSwgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBj
YW5jZWxhYmxlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9u
YWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01XaW5kb3cgdmlldywgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gbG9uZyBk
ZXRhaWwsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1E
ZWZhdWx0SXNVbmRlZmluZWRdIEV2ZW50VGFyZ2V0IHJlbGF0ZWRUYXJnZXQpOworCisgICAgfTsK
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDNkOWFjM2U1YjBhMWEyMTI3NzRiMmYyZTlmNTBmYjhj
YTZiYmMwMGQuLjVjZTAyMDg0YjBkYmI5MGMyZTQ2MWY3YTY5ZTg3OGVjYmZjOWY4ZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgi
CiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNp
bmNsdWRlICJGb2N1c0V2ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgpAQCAtMjc2MCwxNCArMjc2MSwxNCBA
QCB2b2lkIE5vZGU6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+CiB7CiAgICAgQVNTRVJUKCFldmVudERpc3BhdGNoRm9y
YmlkZGVuKCkpOwogICAgIEFTU0VSVChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmZvY3VzaW5F
dmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUZvY3VzSW5FdmVudCk7Ci0gICAg
ZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBk
b2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKSwgb2xkRm9jdXNlZE5vZGUpKTsKKyAgICBkaXNw
YXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpjcmVhdGUoRm9jdXNFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRv
Y3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDAsIG9sZEZvY3VzZWROb2RlKSwgb2xkRm9jdXNlZE5v
ZGUpKTsKIH0KIAogdm9pZCBOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCiB7CiAg
ICAgQVNTRVJUKCFldmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwogICAgIEFTU0VSVChldmVudFR5
cGUgPT0gZXZlbnROYW1lcygpLmZvY3Vzb3V0RXZlbnQgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFt
ZXMoKS5ET01Gb2N1c091dEV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcihGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNy
ZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAw
KSwgbmV3Rm9jdXNlZE5vZGUpKTsKKyAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZlbnQ6OmNy
ZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAw
LCBuZXdGb2N1c2VkTm9kZSksIG5ld0ZvY3VzZWROb2RlKSk7CiB9CiAKIHZvaWQgTm9kZTo6ZGlz
cGF0Y2hET01BY3RpdmF0ZUV2ZW50KGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnQ+IHVuZGVy
bHlpbmdFdmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcAppbmRleCBmZjNmZjRhZmNmOWIyMTIxMWI3
YjUzMWZhZjU0N2QxM2VmOGZkNTY5Li5iNTUzOWVjNTI4ZDZmZjFlYmE3OWM1NTQ0MDhiNzM2Nzgz
MzY2MmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCkBAIC0zLDYgKzMsNyBAQAogICogQ29weXJp
Z2h0IChDKSAyMDAxIFRvYmlhcyBBbnRvbiAoYW50b25Ac3R1ZC5mYmkuZmgtZGFybXN0YWR0LmRl
KQogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbS53ZWluaWdAZ21haWwu
Y29tKQogICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA1LCAyMDA2LCAyMDA4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xMTAsMzggKzExMSw0
IEBAIHZvaWQgVUlFdmVudDo6d2FybkRlcHJlY2F0ZWRMYXllclhZVXNhZ2UoKQogICAgICAgICBt
X3ZpZXctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VU
eXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2FnZSk7CiB9CiAKLVBhc3NSZWZQ
dHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9s
ZEZvY3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNJbkV2ZW50RGlz
cGF0Y2hNZWRpYXRvcihldmVudCwgb2xkRm9jdXNlZE5vZGUpKTsKLX0KLQotRm9jdXNJbkV2ZW50
RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRy
PEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKLSAgICA6IEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9j
dXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlz
cGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlz
cGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX29sZEZvY3VzZWROb2RlKTsK
LSAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNo
ZXIpOwotfQotCi1QYXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1
c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50
LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG5ld0ZvY3VzZWROb2Rl
KSk7Ci19Ci0KLUZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c091dEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSkKLSAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKLSAgICAs
IG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNPdXRF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNw
YXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZl
bnQoKSwgbV9uZXdGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRv
cjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9VSUV2ZW50LmgKaW5kZXggZDEyOTRjOTUyZmMxYmQwNzc4YzFiNjEzYzAxZTA0N2E1
ZWI4ZTlmYS4uNGRmYmEyNmJjZDYzZmU0NzA2YjMzMGQ2NTkwYjg2MzNmNWE1MTQxMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVUlFdmVudC5oCkBAIC0zLDYgKzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDAxIFRvYmlh
cyBBbnRvbiAoYW50b25Ac3R1ZC5mYmkuZmgtZGFybXN0YWR0LmRlKQogICogQ29weXJpZ2h0IChD
KSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbS53ZWluaWdAZ21haWwuY29tKQogICogQ29weXJpZ2h0
IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC03NSwyNCArNzYsNiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIGludCBtX2RldGFpbDsKICAgICB9OwogCi0gICAgY2xhc3MgRm9j
dXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3Ig
ewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlz
cGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+
IG9sZEZvY3VzZWROb2RlKTsKLSAgICBwcml2YXRlOgotICAgICAgICBleHBsaWNpdCBGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+
IG9sZEZvY3VzZWROb2RlKTsKLSAgICAgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZl
bnREaXNwYXRjaGVyKikgY29uc3Q7Ci0gICAgICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWRO
b2RlOwotICAgIH07Ci0KLSAgICBjbGFzcyBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6
IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNz
UmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7Ci0gICAgcHJp
dmF0ZToKLSAgICAgICAgZXhwbGljaXQgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFz
c1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgICAg
ICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKLSAg
ICAgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Ci0gICAgfTsKLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVUlFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKaW5kZXggMzMxZTYyYzgxZDQ2OTVkYWRjMjY3NDE0OTIyMDhjMGE2YzAxN2NmNS4uMzli
ZjUxNGNiZjU2N2IzZjJkZDU5OWE0Yzg1M2QyMGUwOWI0Mjc5MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmlkbApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIw
MDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEwLDYgKzUxMCw3IEBAIG1vZHVsZSB3aW5k
b3cgewogICAgICAgICBhdHRyaWJ1dGUgQ29tcG9zaXRpb25FdmVudENvbnN0cnVjdG9yIENvbXBv
c2l0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBDdXN0b21FdmVudENvbnN0cnVjdG9yIEN1
c3RvbUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgRXJyb3JFdmVudENvbnN0cnVjdG9yIEVycm9y
RXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBGb2N1c0V2ZW50Q29uc3RydWN0b3IgRm9jdXNFdmVu
dDsKICAgICAgICAgYXR0cmlidXRlIEhhc2hDaGFuZ2VFdmVudENvbnN0cnVjdG9yIEhhc2hDaGFu
Z2VFdmVudDsKICAgICAgICAgYXR0cmlidXRlIEtleWJvYXJkRXZlbnRDb25zdHJ1Y3RvciBLZXli
b2FyZEV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgTWVzc2FnZUV2ZW50Q29uc3RydWN0b3IgTWVz
c2FnZUV2ZW50OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDJiYjhiNjgxOTk3ODBiNWYwNDY1MDVmMmY3MGEzNmViMDU4ZTQ1
MjUuLmIyNzJlZmQwNmEyMzQwMWFiNTBmNmFkNzBhNDhmNDlhNDc4MzY1ZmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxMi0wMi0xNSAgVGVycnkgQW5kZXJzb24gIDx0ZGFuZGVyc29uQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBXZWJLaXQgZG9lcyBub3Qgc3VwcG9ydCBET00gMyBFdmVudHMg
Rm9jdXNFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sOgor
ICAgICAgICAgICAgLSBDaGFuZ2VkIHRoZSBmb2N1c2luL2ZvY3Vzb3V0IHBhcnRzIG9mIHRoaXMg
bGF5b3V0IHRlc3QgdG8gaW5jbHVkZSB0aGUKKyAgICAgICAgICAgICAgcmVsYXRlZFRhcmdldCBh
dHRyaWJ1dGUsIHdoaWNoIGlzIG5vdyBzZXQgb24gRm9jdXNFdmVudCBvYmplY3RzCisgICAgICAg
ICogZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWw6CisgICAgICAgICAgICAtIEFkZGVkIHRoZSBj
cmVhdGlvbiBvZiBGb2N1c0V2ZW50cyB0byB0aGlzIGxheW91dCB0ZXN0CisgICAgICAgICogZmFz
dC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbDogQWRk
ZWQuCisgICAgICAgICAgICAtIFRoaXMgaXMgYSBuZXcgbGF5b3V0IHRlc3QgSSBjcmVhdGVkIHNw
ZWNpZmljYWxseSBmb3IgdGhpcyBwYXRjaAorCiAyMDEyLTAyLTE0ICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE1ha2UgU2Ny
aXB0c05hdmlnYXRvciBkZWZhdWx0IGZpbGUgc2VsZWN0b3IuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBl
Y3RlZC50eHQKaW5kZXggOWE1ZjlkYjM3MTEwZTU0NjkwMDkyZGE0N2I5ODRmZDNiNjNiNjY2Zi4u
NDBjZWJjMjdjZWVjMTBkZTRjNjNjNzRkNDc1MTdjM2I3N2EwZTM0NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZl
bnRzLWV4cGVjdGVkLnR4dApAQCAtNjEsMTMgKzYxLDEzIEBAIFBBU1MgZGlzcGF0Y2hlZEV2ZW50
KCJtb3VzZW91dCIpIGlzIFsiZGl2SCg8LXNoYWRvd0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hh
ZG93CiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5v
ZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIGRp
dkIgdG8gZGl2QwotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkMoQGRp
dkMpIiwgImRpdkMoQGRpdkEpIl0KLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlz
IFsiZGl2QihAZGl2QikiLCAiZGl2QihAZGl2QSkiXQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZv
Y3VzaW4iKSBpcyBbImRpdkMoPC1kaXZCKShAZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJd
CitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBbImRpdkIoPC1kaXZDKShAZGl2
QikiLCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdCiAKIE9sZCBmb2N1c2VkIG5vZGUgYW5kIG5ldyBm
b2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9zc2luZyBzaGFkb3cg
Ym91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCBi
ZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91bmRhcnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBzaGFk
b3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIIHRvIHNoYWRvd0Qvc2hhZG93Sy9kaXZMCi1QQVNTIGRp
c3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2TChAZGl2TCkiLCAic2hhZG93SyhAc2hh
ZG93SykiLCAic2hhZG93SyhAZGl2SikiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0
IikgaXMgWyJkaXZIKEBkaXZIKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJzaGFkb3dGKEBzaGFk
b3dGKSIsICJzaGFkb3dGKEBkaXZFKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIp
IGlzIFsiZGl2TCg8LXNoYWRvd0YpKEBkaXZMKSIsICJzaGFkb3dLKDwtc2hhZG93RikoQHNoYWRv
d0spIiwgInNoYWRvd0soPC1zaGFkb3dGKShAZGl2SikiXQorUEFTUyBkaXNwYXRjaGVkRXZlbnQo
ImZvY3Vzb3V0IikgaXMgWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0coPC1zaGFk
b3dLKShAc2hhZG93RykiLCAic2hhZG93Rig8LXNoYWRvd0spKEBzaGFkb3dGKSIsICJzaGFkb3dG
KDwtc2hhZG93SykoQGRpdkUpIl0KIAogTW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2li
bGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LgogTW92
aW5nIGZvY3VzIGZyb20gZGl2QiB0byBkaXZDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbAppbmRleCBmMDYzMGM3MmM2
YjlkMGY0ZTg1MmE0ZTZjNzdlMTU0ZDM0YzljM2RjLi5lNDc5MDRiNzI1Y2JlYWZjMjVmNzIzZGY1
YTEwZDEzM2I1ZThjNzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKQEAgLTE4NywxMyArMTg3LDEzIEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgIC8vIFRlc3QgZm9yIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzLgog
ICAgIG1vdmVGb2N1cygnZGl2QicsICdkaXZDJywKICAgICAgICAgICAgICAgJ01vdmUgZm9jdXMg
ZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9m
IHNoYWRvdyBib3VuZGFyeS4nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1
c2luIiknLCAnWyJkaXZDKEBkaXZDKSIsICJkaXZDKEBkaXZBKSJdJyk7Ci0gICAgc2hvdWxkQmUo
J2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoQGRpdkIpIiwgImRpdkIoQGRp
dkEpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJk
aXZDKDwtZGl2QikoQGRpdkMpIiwgImRpdkMoPC1kaXZCKShAZGl2QSkiXScpOworICAgIHNob3Vs
ZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZCKDwtZGl2QykoQGRpdkIp
IiwgImRpdkIoPC1kaXZDKShAZGl2QSkiXScpOwogCiAgICAgbW92ZUZvY3VzKCdzaGFkb3dEL3No
YWRvd0Yvc2hhZG93Ry9kaXZIJywgJ3NoYWRvd0Qvc2hhZG93Sy9kaXZMJywKICAgICAgICAgICAg
ICAgJ09sZCBmb2N1c2VkIG5vZGUgYW5kIG5ldyBmb2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJh
dGVkIHN1YnRyZWVzLCBjcm9zc2luZyBzaGFkb3cgYm91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhh
dCBhbiBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCBiZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91
bmRhcnkuJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1si
ZGl2TChAZGl2TCkiLCAic2hhZG93SyhAc2hhZG93SykiLCAic2hhZG93SyhAZGl2SikiXScpOwot
ICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZIKEBkaXZI
KSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJzaGFkb3dGKEBzaGFkb3dGKSIsICJzaGFkb3dGKEBk
aXZFKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1si
ZGl2TCg8LXNoYWRvd0YpKEBkaXZMKSIsICJzaGFkb3dLKDwtc2hhZG93RikoQHNoYWRvd0spIiwg
InNoYWRvd0soPC1zaGFkb3dGKShAZGl2SikiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVk
RXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0co
PC1zaGFkb3dLKShAc2hhZG93RykiLCAic2hhZG93Rig8LXNoYWRvd0spKEBzaGFkb3dGKSIsICJz
aGFkb3dGKDwtc2hhZG93SykoQGRpdkUpIl0nKTsKIAogICAgIC8vIE9taXR0ZWQgdGVzdCBjYXNl
cyB3aGVyZSBlaXRoZXIgYSBvbGRGb2N1c2VkTm9kZSBvciBuZXdGb2N1c2VkTm9kZSBpcyBhbiBh
bmNlc3RvciBvZiB0aGUgb3RoZXIuCiAgICAgLy8gRHVlIHRvIGEgZm9jdXMgdHJhbnNmZXIgbWVj
aGFuaXNtIG9uIHNoYWRvdyBob3N0cywgYSBmb2N1c2VkIG5vZGUgc2hvdWxkIGJlIGEgbGVhZiBu
b2RlIGluIGdlbmVyYWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVu
dC1jcmVhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1j
cmVhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNjM1OWU5OWE5NzViM2NiOTlhYzU2NTAzZTMzMmQ4
N2M1NTM2Yjg4OS4uYTRlYmJiMGRhYTYwNjRmZTI4MjlhNzQ3Y2IzMzFhZjFlNTFmZTI0MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVk
LnR4dApAQCAtMjEsNiArMjEsMTAgQEAgUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnQ3VzdG9t
RXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkN1c3RvbUV2ZW50IGlzIHQKIFBBU1MgZG9j
dW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FcnJvckV2
ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0
YW5jZW9mIHdpbmRvdy5FdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdF
cnJvckV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5FcnJvckV2ZW50IGlzIHRydWUKK1BB
U1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5G
b2N1c0V2ZW50IGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQn
KSBpbnN0YW5jZW9mIHdpbmRvdy5VSUV2ZW50IGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuY3JlYXRl
RXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCBpcyB0cnVlCitQQVNT
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRv
dy5Gb2N1c0V2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFu
Z2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93Lkhhc2hDaGFuZ2VFdmVudCBpcyB0cnVlCiBQQVNT
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRv
dy5FdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZl
bnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93Lkhhc2hDaGFuZ2VFdmVudCBpcyB0cnVlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAppbmRleCA2M2RiYTA0YmEx
NTFiNTdlOTBiMzIzM2JlNGFiZTZkYTUwM2E5YWFjLi5hOTgyOTY2ZjMxYmY4ZmYyOTZkZGE2MDAx
YzE0MDU5YjYyZTkyNzNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVu
dC1jcmVhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0
aW9uLmh0bWwKQEAgLTM3LDYgKzM3LDEyIEBACiAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5j
cmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CiAgICAg
c2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpLmNvbnN0cnVj
dG9yID09PSB3aW5kb3cuRXJyb3JFdmVudCIpOwogCisgICAgLy8gRm9jdXNFdmVudAorICAgIHNo
b3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9m
IHdpbmRvdy5Gb2N1c0V2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVF
dmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LlVJRXZlbnQiKTsKKyAgICBzaG91
bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3
aW5kb3cuRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdG
b2N1c0V2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5Gb2N1c0V2ZW50Iik7ICAgIAorCiAg
ICAgLy8gSGFzaENoYW5nZUV2ZW50CiAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVF
dmVudCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuSGFzaENoYW5nZUV2ZW50
Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2
ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODU5MGQ1ZTMzNjM3MTNkOGY2NmVhYTI0NzhlZGJiMTQ0MDZhYmJiNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0
LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK0xheW91dCB0ZXN0IGZv
ciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYuIENoZWNrcyB0
aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNFdmVudCBvYmplY3RzIGlz
IGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlz
cGF0Y2hlZC4gUHJlc3MgdGFiIGZvdXIgdGltZXMgdG8gZGlzcGF0Y2ggYSBmb2N1c2luIGFuZCBm
b2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUgYnV0dG9ucyBiZWxvdy4KKworTWVvdyAgUHVy
ciAgRnVyISAgRG9uZQorRXhwZWN0ZWQgUmVzdWx0CisKK01lb3cgcmVjZWl2ZWQgZm9jdXNpbiwg
aXRzIHJlbGF0ZWRUYXJnZXQgaXMgbnVsbAorTWVvdyByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJl
bGF0ZWRUYXJnZXQgaXMgUHVycgorUHVyciByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRh
cmdldCBpcyBNZW93CitQdXJyIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBp
cyBGdXIhCitGdXIhIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIK
K0Z1ciEgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIERvbmUKKyAgICAK
K0FjdHVhbCBSZXN1bHQKKworTWVvdyByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdl
dCBpcyBudWxsCitNZW93IHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQ
dXJyCitQdXJyIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIE1lb3cKK1B1
cnIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIEZ1ciEKK0Z1ciEgcmVj
ZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgorRnVyISByZWNlaXZlZCBm
b2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRG9uZQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGM1NWVkZjBhNjI4YTEwZTc2NmYzNTcyNTBjZWQxNmU4NWY5NWI5NwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQu
aHRtbApAQCAtMCwwICsxLDczIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIAorICAgICAgICBmdW5jdGlvbiBsb2cobXNnKQorICAgICAgICB7CisgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbG9nJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUobXNnICsgJ1xuJykpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVz
dCgpIAorICAgICAgICB7ICAgICAgIAorICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworCisgICAgICAgICAgICB2YXIgSU5FVkVOVCA9ICJmb2N1c2luIjsKKyAgICAgICAg
ICAgIHZhciBPVVRFVkVOVCA9ICJmb2N1c291dCI7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IHZhciBiMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24xJyk7CisgICAgICAgICAg
ICB2YXIgYjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMicpOworICAgICAgICAg
ICAgdmFyIGIzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjMnKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgYjEuYWRkRXZlbnRMaXN0ZW5lcihJTkVWRU5ULCBUZXN0SW5FdmVu
dCwgdHJ1ZSk7CisgICAgICAgICAgICBiMi5hZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRlc3RJ
bkV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAgIGIzLmFkZEV2ZW50TGlzdGVuZXIoSU5FVkVOVCwg
VGVzdEluRXZlbnQsIHRydWUpOworICAgICAgICAgICAgCisgICAgICAgICAgICBiMS5hZGRFdmVu
dExpc3RlbmVyKE9VVEVWRU5ULCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAgICAgICAgICAgYjIu
YWRkRXZlbnRMaXN0ZW5lcihPVVRFVkVOVCwgVGVzdE91dEV2ZW50LCB0cnVlKTsKKyAgICAgICAg
ICAgIGIzLmFkZEV2ZW50TGlzdGVuZXIoT1VURVZFTlQsIFRlc3RPdXRFdmVudCwgdHJ1ZSk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAKKyAgICAgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgNDsgaSsrKSAKKyAgICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCdc
dCcpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBUZXN0SW5FdmVudChl
dnQpIAorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXZ0LnJlbGF0ZWRUYXJnZXQpCisgICAg
ICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1c2lu
LCBpdHMgcmVsYXRlZFRhcmdldCBpcyAiICsgZXZ0LnJlbGF0ZWRUYXJnZXQuaW5uZXJUZXh0KTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coZXZ0LnRhcmdldC5pbm5lclRl
eHQgKyAiIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzICIgKyBldnQucmVs
YXRlZFRhcmdldCk7ICAKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gVGVz
dE91dEV2ZW50KGV2dCkgCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChldnQucmVsYXRlZFRh
cmdldCkKKyAgICAgICAgICAgICAgICBsb2coZXZ0LnRhcmdldC5pbm5lclRleHQgKyAiIHJlY2Vp
dmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyAiICsgZXZ0LnJlbGF0ZWRUYXJnZXQu
aW5uZXJUZXh0KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBsb2coZXZ0LnRh
cmdldC5pbm5lclRleHQgKyAiIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBp
cyAiICsgZXZ0LnJlbGF0ZWRUYXJnZXQpOworICAgICAgICAgICAgIAorICAgICAgICB9CisgICAg
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8cD5MYXlvdXQgdGVz
dCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2
MjE2IiB0YWJpbmRleD0tMT5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzYyMTY8L2E+LiAgQ2hlY2tzIHRoYXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBG
b2N1c0V2ZW50IG9iamVjdHMgaXMgYmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9j
dXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVkLiAgPGI+UHJlc3MgdGFiIGZvdXIgdGltZXM8L2I+
IHRvIGRpc3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVhY2ggb2YgdGhl
IGJ1dHRvbnMgYmVsb3cuPC9wPgorICAgIDxidXR0b24gaWQ9ImJ1dHRvbjEiPk1lb3c8L2J1dHRv
bj4KKyAgICA8YnV0dG9uIGlkPSJidXR0b24yIj5QdXJyPC9idXR0b24+CisgICAgPGJ1dHRvbiBp
ZD0iYnV0dG9uMyI+RnVyITwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImlucHV0ZG9uZSI+RG9u
ZTwvYnV0dG9uPgorICAgIDxwPkV4cGVjdGVkIFJlc3VsdDwvcD4KKyAgICA8cHJlPgorTWVvdyBy
ZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBudWxsCitNZW93IHJlY2VpdmVk
IGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitQdXJyIHJlY2VpdmVkIGZvY3Vz
aW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIE1lb3cKK1B1cnIgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0
cyByZWxhdGVkVGFyZ2V0IGlzIEZ1ciEKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0
ZWRUYXJnZXQgaXMgUHVycgorRnVyISByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJn
ZXQgaXMgRG9uZQorICAgIDwvcHJlPgorICAgIDxwPkFjdHVhbCBSZXN1bHQ8L3A+CisgICAgPHBy
ZSBpZD0ibG9nIj48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127383</attachid>
            <date>2012-02-16 08:23:46 -0800</date>
            <delta_ts>2013-01-29 01:30:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20120216112345.patch</filename>
            <type>text/plain</type>
            <size>52957</size>
            <attacher name="Terry Anderson">tdanderson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3OTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDMwNmNiY2Y3ODJjMzdi
ZWI4MDY1Yjg0ZDc1ZWUwZThkYzQ5NjlhNi4uYWMzYTRkNjFjZTEwNTU2OGFmZWNkYWU2NDMzNWVj
NWNjYWY3NjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTAyLTE2ICBUZXJy
eSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCBk
b2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIENyZWF0ZWQg
YSBuZXcgRm9jdXNFdmVudCBjbGFzcyAoZXh0ZW5kcyBVSUV2ZW50KSB3aXRoIGEgcmVsYXRlZFRh
cmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixG
b2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4g
IE5vdyB3aGVuCisgICAgICAgIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRj
aGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRlZCB3aXRoIHRoZSByZWxhdGVkVGFyZ2V0CisgICAg
ICAgIGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5nbHkuICBObyBvdGhlciBsb2dpYyBjaGFuZ2VzIGhh
dmUgYmVlbiBtYWRlIGJlc2lkZXMgYWRkaW5nIHRoZQorICAgICAgICBGb2N1c0V2ZW50IGNsYXNz
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAg
ICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAg
ICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICAgICAtIElu
Y2x1ZGVkIG1lbnRpb24gb2YgRm9jdXNFdmVudCAvIEpTRm9jdXNFdmVudCBpbiB0aGUgYWJvdmUg
ZmlsZXMgdG8KKyAgICAgICAgICAgICAgYWxsb3cgdGhlIHBhdGNoIHRvIGJ1aWxkIG9uIHRoZSBk
aWZmZXJlbnQgcGxhdGZvcm1zCisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5j
cHA6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oOgorICAgICAgICAqIGRv
bS9FdmVudEZhY3RvcnkuaW46CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Rm9jdXNF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50Ojp+Rm9jdXNFdmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50Ojppbml0Rm9jdXNFdmVudCk6CisgICAgICAgIChXZWJD
b3JlOjpGb2N1c0V2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKToK
KyAgICAgICAgKFdlYkNvcmU6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNo
RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
ZXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRv
cjo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Rm9j
dXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdl
YkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlh
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNw
YXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpC
bHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkJsdXJFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50
Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3Iu
aC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNFdmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVu
dDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpzZXRSZWxh
dGVkVGFyZ2V0KToKKyAgICAgICAgKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAg
ICAgICAoRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoRm9jdXNFdmVu
dERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6
CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBkb20vTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorICAgICAgICAq
IGRvbS9VSUV2ZW50LmNwcDoKKyAgICAgICAgKiBkb20vVUlFdmVudC5oOgorICAgICAgICAqIHBh
Z2UvRE9NV2luZG93LmlkbDoKKwogMjAxMi0wMi0xNSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFu
QGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogZXhwbGljaXRseSBtYXJrIHVu
ZG9hYmxlIHN0YXRlIGZyb20gdGhlIGZyb250LWVuZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
YzQ2MmE4ZTU2Mzg2NDcyMGY4MGNiMDFlMzdiYmY3OGMwMGUzY2RmNi4uNGE0ZjYyNjgyYTZlYWYw
MmIxNDMwNGVlYzRlYmM3MzBiNjJhZmE1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE1OCw2
ICsxNTgsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vRXJyb3JFdmVudC5pZGwK
ICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAgZG9tL0V2ZW50LmlkbAorICAgIGRvbS9G
b2N1c0V2ZW50LmlkbAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsCiAgICAgZG9tL0tleWJv
YXJkRXZlbnQuaWRsCiAgICAgZG9tL01lc3NhZ2VDaGFubmVsLmlkbApAQCAtNTU4LDYgKzU1OSw3
IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRUYXJnZXQuY3BwCiAgICAgZG9t
L0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAK
KyAgICBkb20vRm9jdXNFdmVudC5jcHAKICAgICBkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCiAg
ICAgZG9tL0ljb25VUkwuY3BwCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAKaW5kZXggNDc4MTI3ODQ4OGExNTkxM2Q4MDk0MmE2MzY4YmVjMmQyOGVi
ZTAxNS4uZTVkOTRiYmYwZTE2ZDNmMDM1NWNmZGY3Y2ExMTkyZWNmYzlmNGFkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTI5LDYgKzEyOSw3IEBACiAjaW5jbHVkZSAiSlNGaWxl
V3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgogI2luY2x1ZGUg
IkpTRmxvYXQ2NEFycmF5LmNwcCIKKyNpbmNsdWRlICJKU0ZvY3VzRXZlbnQuY3BwIgogI2luY2x1
ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgogI2lu
Y2x1ZGUgIkpTSGFzaENoYW5nZUV2ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDcwZmM3NDQ4OTQwMmVkMzIyN2YyNzYyYTEwN2FjMmJjMmIxZWRjZTMuLjQ0MTViYThm
OTE0ODNjZDFjZWM3ZjgwMzE0OWNkMzgxMWRmZWY0YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMTExLDYgKzExMSw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlz
dGVuZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudFRhcmdldC5pZGwgXAorICAgICQo
V2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9IYXNoQ2hh
bmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLnByaQppbmRleCA2MTBjZmYxOTlmNGNjN2Q3Y2JmMjMyZWI3NGI4Y2E4NDMzZTg1YTI5Li5j
MDU0ZDQ0ZGQzMjQ3MjYzNjhjM2VlNzAxZmU4ZmZjZTliYTFmZWU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMucHJpCkBAIC0xNDIsNiArMTQyLDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAk
JFBXRC9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50TGlzdGVu
ZXIuaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCisgICAgJCRQV0QvZG9t
L0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAg
ICAgJCRQV0QvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vTW91c2VFdmVu
dC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBi
L1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYzdjNTAxNzVmMTQ0ZWU3
N2ZlOTk1MzkyNjhiODcyMDE5ZGM3NjM2Zi4uZmI4MTdiZjUxZTc5YjdiZmRjMDU5N2JmMWVlNTE3
YjQwNThlNDk0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xODMsNiArMTgz
LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRmxvYXQzMkFycmF5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJy
YXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xv
Y2F0aW9uLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmggXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9wb3NpdGlvbi5jcHAgXApAQCAtNzAzLDYgKzcw
NSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvZG9tL0Vycm9yRXZlbnQu
aWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50
RXhjZXB0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXAogCSQoV2Vi
Q29yZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0tleWJvYXJk
RXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgXApAQCAtMTU2
OSw2ICsxNTcyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20v
RXhjZXB0aW9uQ29kZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNl
aG9sZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRl
ci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL2RvbS9Gb2N1c0V2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlw
dGluZ1Blcm1pc3Npb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0lnbm9yZURlc3RydWN0aXZl
V3JpdGVDb3VudEluY3JlbWVudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25D
b2RlUGxhY2Vob2xkZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
IGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBmMzI1NWEzNTVlYzI2ZTIzOWE2YzUx
YzMxYjUxOGUyZjEwNGVkNGQ5Li4zNzc2NzQxYzEwMjc5NTZiZDE0ZDQ4NTU1MTk3MmVlNmJiOWM5
ZTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKQEAgLTUyMSw2ICs1MjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBk
b20vRXZlbnRUYXJnZXQuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5jcHAgXAogICAgIGRv
bS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKKyAgICBkb20vRm9jdXNFdmVudC5jcHAg
XAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAgXAogICAgIGRvbS9JY29uVVJMLmNwcCBc
CiAgICAgZG9tL0tleWJvYXJkRXZlbnQuY3BwIFwKQEAgLTE2MzUsNiArMTYzNiw3IEBAIEhFQURF
UlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5oIFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5o
IFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwKKyAgICBkb20vRm9jdXNFdmVudC5oIFwKICAg
ICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggXAogICAgIGRvbS9LZXlib2FyZEV2
ZW50LmggXAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBk
NDMwNWFlZTFkOTI2OTY2NDY4ZTVlNzczOGQyZDZiNmZhM2IyYWRkLi5iMDcyOWIzZDY0YzRkMmM4
OWMyMzg2ZGE2OWYzMWM3YThmOGMwN2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02MDAsNiArNjAw
LDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRUYXJnZXQuaCcsCiAgICAgICAgICAgICAnZG9t
L0V4Y2VwdGlvbkNvZGUuaCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhv
bGRlci5oJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5oJywKICAgICAgICAgICAgICdk
b20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmgnLAogICAgICAgICAgICAgJ2RvbS9LZXli
b2FyZEV2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlUG9ydC5oJywKQEAgLTYyNSw2
ICs2MjYsNyBAQAogICAgICAgICAgICAgJ2RvbS9UZXh0LmgnLAogICAgICAgICAgICAgJ2RvbS9U
ZXh0RXZlbnRJbnB1dFR5cGUuaCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnQuaCcsCisgICAg
ICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaCcsCiAgICAgICAgICAgICAnZG9tL1VJRXZlbnRXaXRo
S2V5U3RhdGUuaCcsCiAgICAgICAgICAgICAnZG9tL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmgnLAog
ICAgICAgICAgICAgJ2RvbS9Vc2VyVHlwaW5nR2VzdHVyZUluZGljYXRvci5oJywKQEAgLTc4NCw2
ICs3ODYsNyBAQAogICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAg
ICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFy
Z2V0LmlkbCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaWRsJywKICAgICAgICAgICAg
ICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZl
bnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZUNoYW5uZWwuaWRsJywKQEAgLTgxNiw2
ICs4MTksNyBAQAogICAgICAgICAgICAgJ2RvbS9Ub3VjaExpc3QuaWRsJywKICAgICAgICAgICAg
ICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcsCisg
ICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsJywKQEAgLTUw
MjksNiArNTAzMyw3IEBACiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuY3BwJywKICAg
ICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5oJywKICAgICAgICAgICAgICdkb20vRXhjZXB0
aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuY3Bw
JywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwJywKICAgICAgICAgICAg
ICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VF
dmVudC5oJywKQEAgLTUxNDUsNiArNTE1MCw3IEBACiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxr
ZXIuY3BwJywKICAgICAgICAgICAgICdkb20vVHJlZVdhbGtlci5oJywKICAgICAgICAgICAgICdk
b20vVUlFdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmNwcCcsCiAgICAg
ICAgICAgICAnZG9tL1VJRXZlbnRXaXRoS2V5U3RhdGUuY3BwJywKICAgICAgICAgICAgICdkb20v
VXNlckdlc3R1cmVJbmRpY2F0b3IuY3BwJywKICAgICAgICAgICAgICdkb20vVXNlclR5cGluZ0dl
c3R1cmVJbmRpY2F0b3IuY3BwJywKQEAgLTcxNTgsNiArNzE2NCw4IEBACiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNG
bG9hdDMyQXJyYXkuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmNwcCcsCisgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dl
b2xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9wb3NpdGlvbi5jcHAnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDkwNzRlZjk5
OTY3MjI4YTQzYjg4MjA5ZDEwYmY1ODk1ZDA1ZTlhMWMuLjI1NTViY2FhNzNlZjc3ZThlMjIwZGUx
MjY0MjRhOTU1M2EyYmQ4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ5ODYsNiArNDk4NiwxMCBAQAogCQlCNjU2NjI3MDEy
MEIxMjI3MDA2RUE4NUMgLyogSlNJREJUcmFuc2FjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1NjYyNkUxMjBCMTIyNzAwNkVBODVDIC8qIEpT
SURCVHJhbnNhY3Rpb24uaCAqLzsgfTsKIAkJQjY1NjYyNzExMjBCMTIyNzAwNkVBODVDIC8qIEpT
SURCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjY1NjYyNkYxMjBCMTIyNzAwNkVBODVDIC8qIEpTSURCVHJhbnNhY3Rpb24uY3Bw
ICovOyB9OwogCQlCNjkxQzFGOTEyMDZENEEwMDAyNUQ5ODAgLyogSURCRGF0YWJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzU4NUE2QTMxMUQ0
RkIzRDAwNEMzRTRCIC8qIElEQkRhdGFiYXNlLmNwcCAqLzsgfTsKKwkJQjZEOUQyMzUxNEVBQkQy
NjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI2RDlEMjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50Lmgg
Ki87IH07CisJCUI2RDlEMjM2MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJE
MjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLzsgfTsKKwkJQjZEOUQyN0IxNEVBQzA4NjAw
OTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjZEOUQyNzkxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5o
ICovOyB9OworCQlCNkQ5RDI3QzE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjdBMTRF
QUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovOyB9OwogCQlCNzFGRTZERjExMDkx
Q0IzMDBEQUVGNzcgLyogUHJpbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250
ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
QjczNEIxODExMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1
ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgKi87IH07CiAJCUI3MzRCMTgzMTE5Qjk5MUQwMDY1
ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjczNEIxODIxMTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVy
LmggKi87IH07CkBAIC0xMTkwNSw2ICsxMTkwOSwxMSBAQAogCQlCNjU2NjI2RDEyMEIxMTZCMDA2
RUE4NUMgLyogSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjU2NjI2RTEyMEIxMjI3MDA2RUE4NUMgLyogSlNJ
REJUcmFuc2FjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0lEQlRy
YW5zYWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2NTY2MjZGMTIwQjEy
MjcwMDZFQTg1QyAvKiBKU0lEQlRyYW5zYWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSURCVHJhbnNhY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvY3VzRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyog
Rm9jdXNFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRm9jdXNFdmVudC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBK
U0ZvY3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjdBMTRFQUMwODYwMDkw
RDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNGb2N1c0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjcz
NEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
NzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29kZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0Ex
MTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE4MDgwLDYgKzE4MDg5LDggQEAKIAkJCQlFMUFERUREOTBFNzZCRDkzMDA0QTFBNUUgLyogSlNN
ZXNzYWdlUG9ydC5jcHAgKi8sCiAJCQkJRTFBREVERDgwRTc2QkQ5MzAwNEExQTVFIC8qIEpTTWVz
c2FnZVBvcnQuaCAqLywKIAkJCQlBODY2MjlDQzA5REEyQjQ3MDA5NjMzQTUgLyogSlNNb3VzZUV2
ZW50LmNwcCAqLywKKwkJCQlCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50
LmggKi8sCisJCQkJQjZEOUQyN0ExNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAg
Ki8sCiAJCQkJQTg2NjI5Q0IwOURBMkI0NzAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5oICovLAog
CQkJCTY1REYzMUU3MDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuY3BwICovLAog
CQkJCTY1REYzMUU4MDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuaCAqLywKQEAg
LTIwNDk4LDYgKzIwNTA5LDcgQEAKIAkJRjUyM0QzMjQwMkRFNDQ3ODAxODYzNUNBIC8qIGRvbSAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQjZEOUQyNzIx
NEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovLAogCQkJCUUxQzRERTZEMEVBNzVD
NjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVD
MUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAqLywKIAkJCQlBOEM0QTdGQzA5RDU2MzI3
MDAwM0FDOEQgLyogQXR0ci5jcHAgKi8sCkBAIC0yMDg0Niw2ICsyMDg1OCw4IEBACiAJCQkJOTNF
RUMxRjcwOUMyODc3NzAwQzUxNUQxIC8qIFdoZWVsRXZlbnQuaWRsICovLAogCQkJCTQxMjNFNTY4
MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQuY3BwICovLAogCQkJCTQxMjNF
NTY3MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQuaCAqLywKKwkJCQlCNkQ5
RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovLAorCQkJCUI2RDlEMjM0MTRF
QUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZG9t
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI0Mjc1LDYgKzI0Mjg5LDggQEAKIAkJ
CQk0QURFMjVGQTE0RTNCQjRDMDA0QzIyMTMgLyogV2ViU29ja2V0RXh0ZW5zaW9uUHJvY2Vzc29y
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzJFOTJGQzE0RTU0MDU4MDA4N0ZGQkEgLyogU2hhZG93
Um9vdExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3Q0MzQUUzMTRFOEU0QTIwMDg5NDk4OCAv
KiBOYXZpZ2F0b3JTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlCNkQ5RDIzNTE0RUFC
RDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjZEOUQyN0Ix
NEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU5
ODkwNTcxNEU5QzI4MDAwRThEMThCIC8qIFBhc3RlYm9hcmRTdHJhdGVneS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQzU5ODkwNTgxNEU5QzI5OTAwRThEMThCIC8qIFBsYXRmb3JtUGFzdGVib2FyZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ0RkNFNTIxNEVDNzlCQzAwMEQxN0EzIC8qIEZyYWN0aW9u
YWxMYXlvdXRVbml0LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MjIzLDYgKzI3MjM5LDggQEAKIAkJ
CQk0QTk1N0YwNjE0RTI0MTJBMDA0OURCRkIgLyogV2ViU29ja2V0RXh0ZW5zaW9uRGlzcGF0Y2hl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzJFOTJGQjE0RTU0MDU4MDA4N0ZGQkEgLyogU2hh
ZG93Um9vdExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdDQzNBRTIxNEU4RTRBMjAwODk0
OTg4IC8qIE5hdmlnYXRvclN1cHBsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjZEOUQy
MzYxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
QjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDNTk4OTAyRTE0RTlCMEY4MDBFOEQxOEIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkTWFj
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0RkNFNUExNEVDNzlFNzAwMEQxN0EzIC8qIEZyYWN0
aW9uYWxMYXlvdXRSZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NEZDRTVDMTRFQzc5RTcw
MDBEMTdBMyAvKiBGcmFjdGlvbmFsTGF5b3V0U2l6ZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IDhlYzRiZmI2YjcxMzJhMjc4YTA2MDQxMTVjZWRh
Y2JmMzQxZGZmMDAuLjY0Yjg2Zjg0M2E1MjcxYjhlYmI4MjhiZTYyYThhZjg4MzI5ZWM1NWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtODAsNiArODAsNyBAQAogI2luY2x1ZGUg
IkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuY3Bw
IgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuY3BwIgog
I2luY2x1ZGUgIk1lc3NhZ2VDaGFubmVsLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hNZWRpYXRvci5jcHAKaW5kZXggYjI0NzRjYjk1MWU2YzkxNDYzY2Y5ZjMxNTg2ZGVj
M2U3MjMwOWYzMy4uYTc1ZTdlZDNjMzVhMDk1NzcyOTdmYzgyOTcxYmRmZjNhZWFjNWY2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTUx
LDM4ICs1MSw0IEBAIGJvb2wgRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2
ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKICAgICByZXR1cm4gZGlzcGF0Y2hlci0+
ZGlzcGF0Y2hFdmVudChtX2V2ZW50LmdldCgpKTsKIH0KIAotUGFzc1JlZlB0cjxGb2N1c0V2ZW50
RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNz
UmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKLX0KLQotRm9jdXNF
dmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQ
dHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZl
bnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAs
IG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNFdmVu
dERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRj
aGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQo
KSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNw
YXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0
cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJF
dmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUpKTsKLX0KLQotQmx1ckV2ZW50RGlz
cGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+
IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVh
dGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fbmV3Rm9j
dXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgQmx1ckV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0
Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0Zv
Y3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2
ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgKaW5kZXggMjZlNWQyZjIxMmU5ZGQwYjVj
ODQ1YTQ0N2ZkNGQ3NDViYWVkNTg2Yy4uY2E5OWQ1ODEwMTIwNjVmMTk5ZDA2MjdkNjM4YTkwM2Q0
NmEzODM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRp
YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaApA
QCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQpAQCAtNTcsMjMgKzU3LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7
CiB9OwogCi1jbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERp
c3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZl
bnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9k
ZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBh
c3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRj
aEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OwotICAgIFJlZlB0cjxOb2RlPiBtX29sZEZv
Y3VzZWROb2RlOwotfTsKLQotY2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1Ymxp
YyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0Zv
Y3VzZWROb2RlKTsKLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICB2aXJ0dWFsIGJvb2wg
ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsKLSAgICBSZWZQdHI8Tm9kZT4g
bV9uZXdGb2N1c2VkTm9kZTsKLX07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudEZhY3RvcnkuaW4KaW5kZXggMWI1MDBjZDc5OWE4ZmM0NmNkYzlhZTc5ZmFlMDgw
NmRlMGFhZDFkZC4uOTY3NGI1MzYyZTYyYTgxZWUwZjFhZGFkNTA4OTMxNDZiMTRmYzQxYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RmFjdG9yeS5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRGYWN0b3J5LmluCkBAIC04LDYgKzgsOCBAQCBDbG9zZUV2ZW50CiBD
b21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAorRm9j
dXNFdmVudHMgaW50ZXJmYWNlTmFtZT1Gb2N1c0V2ZW50CiBIYXNoQ2hhbmdlRXZlbnQKIEtleWJv
YXJkRXZlbnQKIEtleWJvYXJkRXZlbnRzIGludGVyZmFjZU5hbWU9S2V5Ym9hcmRFdmVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0ZvY3VzRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMwMDg5MzA4ZDQ5NTQ0NDljN2IyYTAy
MzY3NDE1YjNhNDFkOGU1ODMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Rm9jdXNFdmVudC5jcHAKQEAgLTAsMCArMSwxNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
ICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3
cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiRm9jdXNFdmVudC5oIgorCisjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCisjaW5j
bHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0ZvY3VzRXZlbnQ6
OkZvY3VzRXZlbnQoKQoreworfQorCitGb2N1c0V2ZW50Ojp+Rm9jdXNFdmVudCgpCit7Cit9CisK
K3ZvaWQgRm9jdXNFdmVudDo6aW5pdEZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmll
dz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdl
dCkKK3sKKyAgICBpZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAg
aW5pdFVJRXZlbnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwpOwor
ICAgIAorICAgIG1fcmVsYXRlZFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7Cit9CisKK2NvbnN0IEF0
b21pY1N0cmluZyYgRm9jdXNFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JGb2N1c0V2ZW50OworfQorCitGb2N1c0V2ZW50
OjpGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJv
b2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWws
IFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpCisgICAgOiBVSUV2ZW50KHR5
cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsKQorICAgICwgbV9yZWxhdGVk
VGFyZ2V0KHJlbGF0ZWRUYXJnZXQpCit7Cit9CisKKworCitQYXNzUmVmUHRyPEZvY3VzSW5FdmVu
dERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQ
YXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWRO
b2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihldmVudCwgb2xkRm9jdXNlZE5vZGUpKTsKK30KKworRm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEZvY3VzRXZl
bnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQorICAgIDogRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKGV2ZW50KQorICAgICwgbV9vbGRGb2N1c2VkTm9kZShvbGRGb2N1c2Vk
Tm9kZSkKK3sKK30KKworYm9vbCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRj
aEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKK3sKKyAgICBpZiAoZGlz
cGF0Y2hlci0+bm9kZSgpLT5kaXNhYmxlZCgpKSAvLyBEb24ndCBldmVuIHNlbmQgRE9NIGV2ZW50
cyBmb3IgZGlzYWJsZWQgY29udHJvbHMuCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAg
IGlmIChldmVudCgpLT50eXBlKCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7IC8v
IFNob3VsZG4ndCBoYXBwZW4uCisgICAgCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVk
VGFyZ2V0ID0gZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX29sZEZv
Y3VzZWROb2RlKTsKKyAgICBldmVudCgpLT5zZXRSZWxhdGVkVGFyZ2V0KHJlbGF0ZWRUYXJnZXQp
OworICAgICAKKyAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50
KGRpc3BhdGNoZXIpOyAgIAorfQorCitGb2N1c0V2ZW50KiBGb2N1c0luRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpldmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZl
bnQqPihFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkpOworfQorCisKKworUGFzc1JlZlB0
cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNPdXRFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5v
ZGU+IG5ld0ZvY3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNPdXRF
dmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG5ld0ZvY3VzZWROb2RlKSk7Cit9CisKK0ZvY3Vz
T3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQ
YXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWRO
b2RlKQorICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50KQorICAgICwgbV9uZXdGb2N1
c2VkTm9kZShuZXdGb2N1c2VkTm9kZSkKK3sKK30KKworYm9vbCBGb2N1c091dEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNv
bnN0Cit7CisgICAgaWYgKGRpc3BhdGNoZXItPm5vZGUoKS0+ZGlzYWJsZWQoKSkgLy8gRG9uJ3Qg
ZXZlbiBzZW5kIERPTSBldmVudHMgZm9yIGRpc2FibGVkIGNvbnRyb2xzLgorICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAKKyAgICBpZiAoZXZlbnQoKS0+dHlwZSgpLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOyAvLyBTaG91bGRuJ3QgaGFwcGVuLgorICAgIAorICAgIFJlZlB0cjxF
dmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCA9IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJn
ZXQoZXZlbnQoKSwgbV9uZXdGb2N1c2VkTm9kZSk7CisgICAgZXZlbnQoKS0+c2V0UmVsYXRlZFRh
cmdldChyZWxhdGVkVGFyZ2V0KTsKKyAgICAgCisgICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKK30KKworRm9jdXNFdmVudCogRm9jdXNP
dXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Rm9jdXNFdmVudCo+KEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSk7Cit9
CisKKworCitQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0V2ZW50
RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcihv
bGRGb2N1c2VkTm9kZSkpOworfQorCitGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNF
dmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKKyAg
ICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mb2N1
c0V2ZW50LCBmYWxzZSwgZmFsc2UpKQorICAgICwgbV9vbGRGb2N1c2VkTm9kZShvbGRGb2N1c2Vk
Tm9kZSkKK3sKK30KKworYm9vbCBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hF
dmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAgZGlzcGF0Y2hl
ci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX29sZEZvY3VzZWROb2RlKTsKKyAgICBy
ZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwor
fQorCisKKworUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkK
K3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3
Rm9jdXNlZE5vZGUpKTsKK30KKworQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50
RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQorICAgIDog
RXZlbnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVu
dCwgZmFsc2UsIGZhbHNlKSkKKyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUp
Cit7Cit9CisKK2Jvb2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChF
dmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAgZGlzcGF0Y2hlci0+YWRq
dXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKKyAgICByZXR1cm4g
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOworfQorCisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9G
b2N1c0V2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk3MWIzYmE5ZWI1N2ZlNTRjOTk0YzExNmZjMTU1YTA5YjZhYmUyN2YKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCkBAIC0wLDAgKzEsMTA4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAq
IGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBGb2N1c0V2ZW50X2gKKyNkZWZpbmUgRm9jdXNFdmVudF9oCisKKyNpbmNsdWRlICJFdmVu
dERpc3BhdGNoTWVkaWF0b3IuaCIKKyNpbmNsdWRlICJVSUV2ZW50LmgiCisKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworICAgIAorY2xhc3MgRm9jdXNFdmVudCA6IHB1YmxpYyBVSUV2ZW50IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBjcmVhdGUoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50KTsKKyAgICB9CisgICAgICAg
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxB
YnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJl
bGF0ZWRUYXJnZXQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZl
bnQodHlwZSwgY2FuQnViYmxlLCBjYW5jZWxhYmxlLCB2aWV3LCBkZXRhaWwsIHJlbGF0ZWRUYXJn
ZXQpKTsKKyAgICB9CisgICAgICAgCisgICAgdmlydHVhbCB+Rm9jdXNFdmVudCgpOworICAgIHZv
aWQgaW5pdEZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJs
ZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCBkZXRhaWws
IFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpOworICAgIEV2ZW50VGFyZ2V0
KiByZWxhdGVkVGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZWxhdGVkVGFyZ2V0LmdldCgpOyB9
CisgICAgdm9pZCBzZXRSZWxhdGVkVGFyZ2V0KFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0
ZWRUYXJnZXQpIHsgbV9yZWxhdGVkVGFyZ2V0ID0gcmVsYXRlZFRhcmdldDsgfQorICAgIHZpcnR1
YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CisgICAgCitwcml2
YXRlOgorICAgIEZvY3VzRXZlbnQoKTsKKyAgICBGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0
cmFjdFZpZXc+LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFy
Z2V0KTsgICAgICAgIAorICAgIFJlZlB0cjxFdmVudFRhcmdldD4gbV9yZWxhdGVkVGFyZ2V0Owor
fTsKKyAgICAKKyAgICAKK2NsYXNzIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJs
aWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2
ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4
cGxpY2l0IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50
PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRp
c3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7CisgICAgRm9jdXNFdmVudCogZXZl
bnQoKSBjb25zdDsKKyAgICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKK307CisgICAg
CisgCitjbGFzcyBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERp
c3BhdGNoTWVkaWF0b3IgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzT3V0
RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiwgUGFz
c1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIGV4cGxpY2l0IEZv
Y3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NS
ZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2
ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIEZvY3VzRXZlbnQqIGV2ZW50KCkgY29u
c3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Cit9OworICAgIAorICAgIAor
Y2xhc3MgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1l
ZGlhdG9yIHsgICAgCitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVudERp
c3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsK
K3ByaXZhdGU6CisgICAgZXhwbGljaXQgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1Jl
ZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZl
bnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNl
ZE5vZGU7Cit9OyAKKyAgICAKKworY2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1
YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgeyAgICAgICAKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxO
b2RlPiBuZXdGb2N1c2VkTm9kZSk7ICAgICAgICAKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsK
KyAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdDsK
KyAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsKK307ICAgICAKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRm9jdXNFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNF
dmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjgyYzYyODY1NDIzZGIxZmI5YzNkMmU4MDYzYzUyOWU2NDRi
ZGM1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50Lmlk
bApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworbW9kdWxlIGV2ZW50cyB7CisKKyAgICAvLyBJbnRyb2R1Y2VkIGlu
IERPTSBMZXZlbCAzOgorICAgIGludGVyZmFjZSBGb2N1c0V2ZW50IDogVUlFdmVudCB7CisKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEV2ZW50VGFyZ2V0ICAgICAgcmVsYXRlZFRhcmdldDsK
KworICAgICAgICB2b2lkIGluaXRGb2N1c0V2ZW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIERPTVN0cmluZyB0eXBlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGNhbkJ1YmJsZSwgCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1Vu
ZGVmaW5lZF0gYm9vbGVhbiBjYW5jZWxhYmxlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01XaW5kb3cgdmlldywg
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJ
c1VuZGVmaW5lZF0gbG9uZyBkZXRhaWwsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIEV2ZW50VGFyZ2V0IHJlbGF0ZWRU
YXJnZXQpOworCisgICAgfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDllY2YwMDIzYjljNzAy
ODMzZTc4ZDk1NDZkN2Y5MTY5NWQ3MjYxOWYuLjVjZDNiZGU4ODZjNGUzNDI4ODhkODRjNDdkOTYz
NDk3ZDcxM2U5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRl
ICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgpAQCAt
MjgwMiwxNCArMjgwMywxNCBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+CiB7CiAgICAgQVNTRVJU
KCFldmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwogICAgIEFTU0VSVChldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLmZvY3VzaW5FdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUZv
Y3VzSW5FdmVudCk7Ci0gICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9j
dXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0ZShldmVudFR5
cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKSwgb2xkRm9jdXNl
ZE5vZGUpKTsKKyAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVudDo6Y3JlYXRlKGV2ZW50VHlw
ZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDAsIG9sZEZvY3VzZWRO
b2RlKSwgb2xkRm9jdXNlZE5vZGUpKTsKIH0KIAogdm9pZCBOb2RlOjpkaXNwYXRjaEZvY3VzT3V0
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3
Rm9jdXNlZE5vZGUpCiB7CiAgICAgQVNTRVJUKCFldmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwog
ICAgIEFTU0VSVChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmZvY3Vzb3V0RXZlbnQgfHwgZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c091dEV2ZW50KTsKLSAgICBkaXNwYXRjaFNj
b3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgp
LT5kZWZhdWx0VmlldygpLCAwKSwgbmV3Rm9jdXNlZE5vZGUpKTsKKyAgICBkaXNwYXRjaFNjb3Bl
ZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3Jl
YXRlKEZvY3VzRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgp
LT5kZWZhdWx0VmlldygpLCAwLCBuZXdGb2N1c2VkTm9kZSksIG5ld0ZvY3VzZWROb2RlKSk7CiB9
CiAKIHZvaWQgTm9kZTo6ZGlzcGF0Y2hET01BY3RpdmF0ZUV2ZW50KGludCBkZXRhaWwsIFBhc3NS
ZWZQdHI8RXZlbnQ+IHVuZGVybHlpbmdFdmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9VSUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcAppbmRleCBm
ZjNmZjRhZmNmOWIyMTIxMWI3YjUzMWZhZjU0N2QxM2VmOGZkNTY5Li5iNTUzOWVjNTI4ZDZmZjFl
YmE3OWM1NTQ0MDhiNzM2NzgzMzY2MmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
VUlFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCkBAIC0zLDYg
KzMsNyBAQAogICogQ29weXJpZ2h0IChDKSAyMDAxIFRvYmlhcyBBbnRvbiAoYW50b25Ac3R1ZC5m
YmkuZmgtZGFybXN0YWR0LmRlKQogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcg
KHNhbS53ZWluaWdAZ21haWwuY29tKQogICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA1LCAyMDA2
LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0xMTAsMzggKzExMSw0IEBAIHZvaWQgVUlFdmVudDo6d2FybkRlcHJlY2F0ZWRMYXllclhZ
VXNhZ2UoKQogICAgICAgICBtX3ZpZXctPmNvbnNvbGUoKS0+YWRkTWVzc2FnZShKU01lc3NhZ2VT
b3VyY2UsIExvZ01lc3NhZ2VUeXBlLCBXYXJuaW5nTWVzc2FnZUxldmVsLCBjb25zb2xlTWVzc2Fn
ZSk7CiB9CiAKLVBhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNJ
bkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQ
YXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgb2xkRm9jdXNlZE5vZGUpKTsK
LX0KLQotRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcihQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1
c2VkTm9kZSkKLSAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKLSAgICAsIG1fb2xk
Rm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNJbkV2ZW50RGlz
cGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIp
IGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBt
X29sZEZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNw
YXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCi1QYXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNw
YXRjaE1lZGlhdG9yPiBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NS
ZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZl
bnQsIG5ld0ZvY3VzZWROb2RlKSk7Ci19Ci0KLUZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwg
UGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLSAgICA6IEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihldmVudCkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19
Ci0KLWJvb2wgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZl
bnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVz
dFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9uZXdGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgKaW5kZXggZDEyOTRjOTUyZmMxYmQw
Nzc4YzFiNjEzYzAxZTA0N2E1ZWI4ZTlmYS4uNGRmYmEyNmJjZDYzZmU0NzA2YjMzMGQ2NTkwYjg2
MzNmNWE1MTQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCkBAIC0zLDYgKzMsNyBAQAogICogQ29weXJp
Z2h0IChDKSAyMDAxIFRvYmlhcyBBbnRvbiAoYW50b25Ac3R1ZC5mYmkuZmgtZGFybXN0YWR0LmRl
KQogICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbS53ZWluaWdAZ21haWwu
Y29tKQogICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC03NSwyNCAr
NzYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGludCBtX2RldGFpbDsKICAgICB9
OwogCi0gICAgY2xhc3MgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVu
dERpc3BhdGNoTWVkaWF0b3IgewotICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8RXZlbnQ+
LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKLSAgICBwcml2YXRlOgotICAgICAg
ICBleHBsaWNpdCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+
LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKLSAgICAgICAgdmlydHVhbCBib29s
IGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7Ci0gICAgICAgIFJlZlB0cjxO
b2RlPiBtX29sZEZvY3VzZWROb2RlOwotICAgIH07Ci0KLSAgICBjbGFzcyBGb2N1c091dEV2ZW50
RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotICAgIHB1
YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVk
aWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1
c2VkTm9kZSk7Ci0gICAgcHJpdmF0ZToKLSAgICAgICAgZXhwbGljaXQgRm9jdXNPdXRFdmVudERp
c3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9j
dXNlZE5vZGUpOwotICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3Bh
dGNoZXIqKSBjb25zdDsKLSAgICAgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Ci0g
ICAgfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVUlFdmVudF9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggNjY2ZDdkMDEyY2FjYjZmNWM1NDMwYmRiZjdi
ODZjOWUxYzZlMTEzNi4uMzRkOThiMDhmY2EyNjg4ODFkYTNjODkyNGI0ODllZTc4YmMyNDFkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMSw2ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTExLDYgKzUx
MSw3IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgQ29tcG9zaXRpb25FdmVu
dENvbnN0cnVjdG9yIENvbXBvc2l0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBDdXN0b21F
dmVudENvbnN0cnVjdG9yIEN1c3RvbUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgRXJyb3JFdmVu
dENvbnN0cnVjdG9yIEVycm9yRXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBGb2N1c0V2ZW50Q29u
c3RydWN0b3IgRm9jdXNFdmVudDsKICAgICAgICAgYXR0cmlidXRlIEhhc2hDaGFuZ2VFdmVudENv
bnN0cnVjdG9yIEhhc2hDaGFuZ2VFdmVudDsKICAgICAgICAgYXR0cmlidXRlIEtleWJvYXJkRXZl
bnRDb25zdHJ1Y3RvciBLZXlib2FyZEV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgTWVzc2FnZUV2
ZW50Q29uc3RydWN0b3IgTWVzc2FnZUV2ZW50OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc5YmMyY2I2OGRhMTE5MDQ3MGZh
N2NkODQ4NzY5NzQwYTJlYjIxMGIuLmQxNTRmMGEzN2I4NTA1MTllZTBhMjljYzA2ZTI3Y2RlYmNm
OWI1NGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMi0wMi0xNiAgVGVycnkgQW5kZXJzb24g
IDx0ZGFuZGVyc29uQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQgZG9lcyBub3Qgc3Vw
cG9ydCBET00gMyBFdmVudHMgRm9jdXNFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZl
bnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5k
YXJ5LWV2ZW50cy5odG1sOgorICAgICAgICAgICAgLSBDaGFuZ2VkIHRoZSBmb2N1c2luL2ZvY3Vz
b3V0IHBhcnRzIG9mIHRoaXMgbGF5b3V0IHRlc3QgdG8gaW5jbHVkZSB0aGUKKyAgICAgICAgICAg
ICAgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUsIHdoaWNoIGlzIG5vdyBzZXQgb24gRm9jdXNFdmVu
dCBvYmplY3RzCisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWw6CisgICAgICAg
ICAgICAtIEFkZGVkIHRoZSBjcmVhdGlvbiBvZiBGb2N1c0V2ZW50cyB0byB0aGlzIGxheW91dCB0
ZXN0CisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZv
Y3VzZXZlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICAgICAtIFRoaXMgaXMgYSBuZXcgbGF5b3V0
IHRlc3QgSSBjcmVhdGVkIHNwZWNpZmljYWxseSBmb3IgdGhpcyBwYXRjaAorCiAyMDEyLTAyLTE2
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCBHVEsgcmViYXNlbGluZSBhZnRlciByMTA3ODY5IGFuZCBza2lwIGEgZmFpbGluZyB0
ZXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3Vu
ZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0CmluZGV4IDlhNWY5ZGIzNzExMGU1NDY5
MDA5MmRhNDdiOTg0ZmQzYjYzYjY2NmYuLjQwY2ViYzI3Y2VlYzEwZGU0YzYzYzc0ZDQ3NTE3YzNi
NzdhMGUzNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
Ym91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTYxLDEzICs2MSwx
MyBAQCBQQVNTIGRpc3BhdGNoZWRFdmVudCgibW91c2VvdXQiKSBpcyBbImRpdkgoPC1zaGFkb3dL
KShAZGl2SCkiLCAic2hhZG93Ryg8LXNoYWRvdwogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRv
IGl0cyBzaWJsaW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRh
cnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBkaXZCIHRvIGRpdkMKLVBBU1MgZGlzcGF0Y2hlZEV2ZW50
KCJmb2N1c2luIikgaXMgWyJkaXZDKEBkaXZDKSIsICJkaXZDKEBkaXZBKSJdCi1QQVNTIGRpc3Bh
dGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBbImRpdkIoQGRpdkIpIiwgImRpdkIoQGRpdkEpIl0K
K1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZDKDwtZGl2QikoQGRpdkMp
IiwgImRpdkMoPC1kaXZCKShAZGl2QSkiXQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0
IikgaXMgWyJkaXZCKDwtZGl2QykoQGRpdkIpIiwgImRpdkIoPC1kaXZDKShAZGl2QSkiXQogCiBP
bGQgZm9jdXNlZCBub2RlIGFuZCBuZXcgZm9jdXNlZCBub2RlIGV4aXN0IGluIHNlcGFyYXRlZCBz
dWJ0cmVlcywgY3Jvc3Npbmcgc2hhZG93IGJvdW5kYXJpZXMuIE1ha2luZyBzdXJlIHRoYXQgYW4g
ZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQgYmV5b25kIHRoZSBsb3dlc3QgY29tbW9uIGJvdW5kYXJ5
LgogTW92aW5nIGZvY3VzIGZyb20gc2hhZG93RC9zaGFkb3dGL3NoYWRvd0cvZGl2SCB0byBzaGFk
b3dEL3NoYWRvd0svZGl2TAotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRp
dkwoQGRpdkwpIiwgInNoYWRvd0soQHNoYWRvd0spIiwgInNoYWRvd0soQGRpdkopIl0KLVBBU1Mg
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2SChAZGl2SCkiLCAic2hhZG93RyhA
c2hhZG93RykiLCAic2hhZG93RihAc2hhZG93RikiLCAic2hhZG93RihAZGl2RSkiXQorUEFTUyBk
aXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkwoPC1zaGFkb3dGKShAZGl2TCkiLCAi
c2hhZG93Syg8LXNoYWRvd0YpKEBzaGFkb3dLKSIsICJzaGFkb3dLKDwtc2hhZG93RikoQGRpdkop
Il0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2SCg8LXNoYWRvd0sp
KEBkaXZIKSIsICJzaGFkb3dHKDwtc2hhZG93SykoQHNoYWRvd0cpIiwgInNoYWRvd0YoPC1zaGFk
b3dLKShAc2hhZG93RikiLCAic2hhZG93Rig8LXNoYWRvd0spKEBkaXZFKSJdCiAKIE1vdmUgZm9j
dXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRl
IG9mIHNoYWRvdyBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIGRpdkIgdG8gZGl2QwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVu
dHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZl
bnRzLmh0bWwKaW5kZXggZjA2MzBjNzJjNmI5ZDBmNGU4NTJhNGU2Yzc3ZTE1NGQzNGM5YzNkYy4u
ZTQ3OTA0YjcyNWNiZWFmYzI1ZjcyM2RmNWExMGQxMzNiNWU4Yzc5MSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1s
CkBAIC0xODcsMTMgKzE4NywxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAvLyBUZXN0IGZvciBm
b2N1c2luL2ZvY3Vzb3V0IGV2ZW50cy4KICAgICBtb3ZlRm9jdXMoJ2RpdkInLCAnZGl2QycsCiAg
ICAgICAgICAgICAgICdNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJsaW5nIG5vZGUu
IEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuJyk7Ci0gICAgc2hvdWxk
QmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2QyhAZGl2QykiLCAiZGl2QyhA
ZGl2QSkiXScpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAn
WyJkaXZCKEBkaXZCKSIsICJkaXZCKEBkaXZBKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNo
ZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2Qyg8LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2
QikoQGRpdkEpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIp
JywgJ1siZGl2Qig8LWRpdkMpKEBkaXZCKSIsICJkaXZCKDwtZGl2QykoQGRpdkEpIl0nKTsKIAog
ICAgIG1vdmVGb2N1cygnc2hhZG93RC9zaGFkb3dGL3NoYWRvd0cvZGl2SCcsICdzaGFkb3dEL3No
YWRvd0svZGl2TCcsCiAgICAgICAgICAgICAgICdPbGQgZm9jdXNlZCBub2RlIGFuZCBuZXcgZm9j
dXNlZCBub2RlIGV4aXN0IGluIHNlcGFyYXRlZCBzdWJ0cmVlcywgY3Jvc3Npbmcgc2hhZG93IGJv
dW5kYXJpZXMuIE1ha2luZyBzdXJlIHRoYXQgYW4gZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQgYmV5
b25kIHRoZSBsb3dlc3QgY29tbW9uIGJvdW5kYXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRj
aGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkwoQGRpdkwpIiwgInNoYWRvd0soQHNoYWRvd0sp
IiwgInNoYWRvd0soQGRpdkopIl0nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJm
b2N1c291dCIpJywgJ1siZGl2SChAZGl2SCkiLCAic2hhZG93RyhAc2hhZG93RykiLCAic2hhZG93
RihAc2hhZG93RikiLCAic2hhZG93RihAZGl2RSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRj
aGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkwoPC1zaGFkb3dGKShAZGl2TCkiLCAic2hhZG93
Syg8LXNoYWRvd0YpKEBzaGFkb3dLKSIsICJzaGFkb3dLKDwtc2hhZG93RikoQGRpdkopIl0nKTsK
KyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2SCg8LXNo
YWRvd0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hhZG93SykoQHNoYWRvd0cpIiwgInNoYWRvd0Yo
PC1zaGFkb3dLKShAc2hhZG93RikiLCAic2hhZG93Rig8LXNoYWRvd0spKEBkaXZFKSJdJyk7CiAK
ICAgICAvLyBPbWl0dGVkIHRlc3QgY2FzZXMgd2hlcmUgZWl0aGVyIGEgb2xkRm9jdXNlZE5vZGUg
b3IgbmV3Rm9jdXNlZE5vZGUgaXMgYW4gYW5jZXN0b3Igb2YgdGhlIG90aGVyLgogICAgIC8vIER1
ZSB0byBhIGZvY3VzIHRyYW5zZmVyIG1lY2hhbmlzbSBvbiBzaGFkb3cgaG9zdHMsIGEgZm9jdXNl
ZCBub2RlIHNob3VsZCBiZSBhIGxlYWYgbm9kZSBpbiBnZW5lcmFsLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDYzNTll
OTlhOTc1YjNjYjk5YWM1NjUwM2UzMzJkODdjNTUzNmI4ODkuLmE0ZWJiYjBkYWE2MDY0ZmUyODI5
YTc0N2NiMzMxYWYxZTUxZmUyNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTIxLDYgKzIxLDEwIEBAIFBBU1MgZG9j
dW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5D
dXN0b21FdmVudCBpcyB0CiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50Jykg
aW5zdGFuY2VvZiB3aW5kb3cuRXJyb3JFdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0
ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQogUEFT
UyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5k
b3cuRXJyb3JFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2
ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRm9jdXNFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuVUlFdmVudCBpcyB0
cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3
aW5kb3cuRXZlbnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVu
dCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRm9jdXNFdmVudCBpcyB0cnVlCiBQQVNTIGRvY3Vt
ZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5IYXNo
Q2hhbmdlRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5n
ZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5j
cmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IYXNo
Q2hhbmdlRXZlbnQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
ZXZlbnQtY3JlYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0
aW9uLmh0bWwKaW5kZXggNjNkYmEwNGJhMTUxYjU3ZTkwYjMyMzNiZTRhYmU2ZGE1MDNhOWFhYy4u
YTk4Mjk2NmYzMWJmOGZmMjk2ZGRhNjAwMWMxNDA1OWI2MmU5MjczYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCkBAIC0zNyw2ICszNywxMiBAQAogICAg
IHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0YW5j
ZW9mIHdpbmRvdy5FdmVudCIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0Vycm9yRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkVycm9yRXZlbnQiKTsKIAor
ICAgIC8vIEZvY3VzRXZlbnQKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50
KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRm9jdXNFdmVudCIpOworICAgIHNob3Vs
ZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdp
bmRvdy5VSUV2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgn
Rm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVl
KCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5k
b3cuRm9jdXNFdmVudCIpOyAgICAKKwogICAgIC8vIEhhc2hDaGFuZ2VFdmVudAogICAgIHNob3Vs
ZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNl
b2Ygd2luZG93Lkhhc2hDaGFuZ2VFdmVudCIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQu
Y3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1
c2V2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFy
Z2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg1OTBkNWUzMzYzNzEzZDhm
NjZlYWEyNDc4ZWRiYjE0NDA2YWJiYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIxIEBACitMYXlvdXQgdGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc2MjE2LiBDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUg
Zm9yIEZvY3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNp
bi9mb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuIFByZXNzIHRhYiBmb3VyIHRpbWVzIHRv
IGRpc3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVhY2ggb2YgdGhlIGJ1
dHRvbnMgYmVsb3cuCisKK01lb3cgIFB1cnIgIEZ1ciEgIERvbmUKK0V4cGVjdGVkIFJlc3VsdAor
CitNZW93IHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIG51bGwKK01lb3cg
cmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK1B1cnIgcmVjZWl2
ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgTWVvdworUHVyciByZWNlaXZlZCBmb2N1
c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgRnVyIQorRnVyISByZWNlaXZlZCBmb2N1c2luLCBp
dHMgcmVsYXRlZFRhcmdldCBpcyBQdXJyCitGdXIhIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVs
YXRlZFRhcmdldCBpcyBEb25lCisgICAgCitBY3R1YWwgUmVzdWx0CisKK01lb3cgcmVjZWl2ZWQg
Zm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgbnVsbAorTWVvdyByZWNlaXZlZCBmb2N1c291
dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgUHVycgorUHVyciByZWNlaXZlZCBmb2N1c2luLCBpdHMg
cmVsYXRlZFRhcmdldCBpcyBNZW93CitQdXJyIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRl
ZFRhcmdldCBpcyBGdXIhCitGdXIhIHJlY2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0
IGlzIFB1cnIKK0Z1ciEgcmVjZWl2ZWQgZm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIERv
bmUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQt
Zm9jdXNldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQt
Zm9jdXNldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNTVlZGYwYTYyOGExMGU3NjZmMzU3MjUwY2Vk
MTZlODVmOTViOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9y
ZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gbG9nKG1zZykK
KyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xvZycpLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicpKTsKKyAgICAgICAg
fQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSAKKyAgICAgICAgeyAgICAgICAKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAorICAgICAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICAgICAgdmFyIElORVZF
TlQgPSAiZm9jdXNpbiI7CisgICAgICAgICAgICB2YXIgT1VURVZFTlQgPSAiZm9jdXNvdXQiOwor
ICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgYjEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYnV0dG9uMScpOworICAgICAgICAgICAgdmFyIGIyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2J1dHRvbjInKTsKKyAgICAgICAgICAgIHZhciBiMyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdidXR0b24zJyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGIxLmFkZEV2ZW50TGlz
dGVuZXIoSU5FVkVOVCwgVGVzdEluRXZlbnQsIHRydWUpOworICAgICAgICAgICAgYjIuYWRkRXZl
bnRMaXN0ZW5lcihJTkVWRU5ULCBUZXN0SW5FdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICBiMy5h
ZGRFdmVudExpc3RlbmVyKElORVZFTlQsIFRlc3RJbkV2ZW50LCB0cnVlKTsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgYjEuYWRkRXZlbnRMaXN0ZW5lcihPVVRFVkVOVCwgVGVzdE91dEV2ZW50
LCB0cnVlKTsKKyAgICAgICAgICAgIGIyLmFkZEV2ZW50TGlzdGVuZXIoT1VURVZFTlQsIFRlc3RP
dXRFdmVudCwgdHJ1ZSk7CisgICAgICAgICAgICBiMy5hZGRFdmVudExpc3RlbmVyKE9VVEVWRU5U
LCBUZXN0T3V0RXZlbnQsIHRydWUpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoIXdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykgCisgICAgICAgICAgICAg
ICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgZnVuY3Rpb24gVGVzdEluRXZlbnQoZXZ0KSAKKyAgICAgICAgeworICAgICAgICAgICAgaWYg
KGV2dC5yZWxhdGVkVGFyZ2V0KQorICAgICAgICAgICAgICAgIGxvZyhldnQudGFyZ2V0LmlubmVy
VGV4dCArICIgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5y
ZWxhdGVkVGFyZ2V0LmlubmVyVGV4dCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVs
YXRlZFRhcmdldCBpcyAiICsgZXZ0LnJlbGF0ZWRUYXJnZXQpOyAgCisgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgIGZ1bmN0aW9uIFRlc3RPdXRFdmVudChldnQpIAorICAgICAgICB7CisgICAg
ICAgICAgICBpZiAoZXZ0LnJlbGF0ZWRUYXJnZXQpCisgICAgICAgICAgICAgICAgbG9nKGV2dC50
YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQg
aXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0LmlubmVyVGV4dCk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgbG9nKGV2dC50YXJnZXQuaW5uZXJUZXh0ICsgIiByZWNlaXZlZCBmb2N1
c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMgIiArIGV2dC5yZWxhdGVkVGFyZ2V0KTsKKyAgICAg
ICAgICAgICAKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ0ZXN0KCkiPgorPHA+TGF5b3V0IHRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNiIgdGFiaW5kZXg9LTE+aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2PC9hPi4gIENoZWNrcyB0aGF0IHRoZSByZWxh
dGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNFdmVudCBvYmplY3RzIGlzIGJlaW5nIHNldCBj
b3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZC4gIDxi
PlByZXNzIHRhYiBmb3VyIHRpbWVzPC9iPiB0byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vz
b3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LjwvcD4KKyAgICA8YnV0dG9u
IGlkPSJidXR0b24xIj5NZW93PC9idXR0b24+CisgICAgPGJ1dHRvbiBpZD0iYnV0dG9uMiI+UHVy
cjwvYnV0dG9uPgorICAgIDxidXR0b24gaWQ9ImJ1dHRvbjMiPkZ1ciE8L2J1dHRvbj4KKyAgICA8
YnV0dG9uIGlkPSJpbnB1dGRvbmUiPkRvbmU8L2J1dHRvbj4KKyAgICA8cD5FeHBlY3RlZCBSZXN1
bHQ8L3A+CisgICAgPHByZT4KK01lb3cgcmVjZWl2ZWQgZm9jdXNpbiwgaXRzIHJlbGF0ZWRUYXJn
ZXQgaXMgbnVsbAorTWVvdyByZWNlaXZlZCBmb2N1c291dCwgaXRzIHJlbGF0ZWRUYXJnZXQgaXMg
UHVycgorUHVyciByZWNlaXZlZCBmb2N1c2luLCBpdHMgcmVsYXRlZFRhcmdldCBpcyBNZW93CitQ
dXJyIHJlY2VpdmVkIGZvY3Vzb3V0LCBpdHMgcmVsYXRlZFRhcmdldCBpcyBGdXIhCitGdXIhIHJl
Y2VpdmVkIGZvY3VzaW4sIGl0cyByZWxhdGVkVGFyZ2V0IGlzIFB1cnIKK0Z1ciEgcmVjZWl2ZWQg
Zm9jdXNvdXQsIGl0cyByZWxhdGVkVGFyZ2V0IGlzIERvbmUKKyAgICA8L3ByZT4KKyAgICA8cD5B
Y3R1YWwgUmVzdWx0PC9wPgorICAgIDxwcmUgaWQ9ImxvZyI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185197</attachid>
            <date>2013-01-29 01:31:01 -0800</date>
            <delta_ts>2013-01-29 01:55:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20130129182747.patch</filename>
            <type>text/plain</type>
            <size>38982</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNmMTY5Nzg5OGYyZDNm
YTcxMWYxZDIyN2U0YWZkZDg1MGUyNWNmYy4uMjI4MDlmMzQ2ODhiMjUzYjkwOWZjMDRlMDE1NTFj
NGZmMjM2MjUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTAxLTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgRE9N
IDMgRXZlbnRzIEZvY3VzRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc2MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRz
LyNldmVudHMtRm9jdXNFdmVudAorCisgICAgICAgIENyZWF0ZWQgYSBuZXcgRm9jdXNFdmVudCBj
bGFzcyB3aXRoIGEgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUg
e0ZvY3VzLEJsdXIsRm9jdXNJbixGb2N1c091dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3Nl
cyBpbnNpZGUgRm9jdXNFdmVudC4KKyAgICAgICAgTm93IHdoZW4gZm9jdXNpbiBvciBmb2N1c291
dCBldmVudHMgYXJlIGRpc3BhdGNoZWQsIGEgRm9jdXNFdmVudCBpcyBjcmVhdGVkIHdpdGgKKyAg
ICAgICAgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIHNldCBhY2NvcmRpbmdseS4KKworICAg
ICAgICBUZXN0OiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5w
cmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NQWxsSW5PbmUuY3BwOgorICAgICAg
ICAqIGRvbS9FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudDo6aXNGb2N1c0V2ZW50
KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9FdmVudC5oOgorICAgICAgICAo
RXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudENvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRDb250ZXh0OjpoYW5kbGVMb2NhbEV2ZW50cyk6CisgICAgICAgICogZG9tL0V2ZW50
RGlzcGF0Y2hNZWRpYXRvci5jcHA6CisgICAgICAgICogZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRv
ci5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIGRvbS9Ob2RlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2
ZW50KToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAgICogZG9tL1VJRXZlbnQu
aDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTMtMDEtMjcgIEtlbnRhcm8g
SGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBDb21wb3Np
dGlvbkV2ZW50IGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGNlY2E0ZmMyYmY4
NjBjMDcyNTI2OWRhYjBkMjNjYmNhMjFmNjI5OTcuLjA4NGE4OTc3ZmIzYmJjNDM5NjMxZTAzODIx
ZTY0YzJlOGIzODhjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zNjgsNiArMzY4LDcgQEAg
c2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL0V2ZW50RXhjZXB0aW9uLmlkbAogICAgIGRv
bS9FdmVudC5pZGwKICAgICBkb20vRXZlbnRUYXJnZXQuaWRsCisgICAgZG9tL0ZvY3VzRXZlbnQu
aWRsCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwKICAgICBkb20vS2V5Ym9hcmRFdmVudC5p
ZGwKICAgICBkb20vTWVzc2FnZUNoYW5uZWwuaWRsCkBAIC0xMTc3LDYgKzExNzgsNyBAQCBzZXQo
V2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcAogICAgIGRvbS9FeGNlcHRp
b25CYXNlLmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwCisgICAgZG9t
L0ZvY3VzRXZlbnQuY3BwCiAgICAgZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcAogICAgIGRvbS9H
ZXN0dXJlRXZlbnQuY3BwCiAgICAgZG9tL0ljb25VUkwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5jcHAKaW5kZXggM2U0ZjU5MDgwZGRiNmEzNDhkOTc5YjgzODljOWViYTlhYThlNTcyNy4uMDMy
MzZjMGRjNzJjOGIxNWZmMTIzMzM1Y2Q3NTI0NTZkM2VkZWQwZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLmNwcApAQCAtMTM2LDYgKzEzNiw3IEBACiAjaW5jbHVkZSAiSlNGaWxlV3JpdGVyU3lu
Yy5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQ2
NEFycmF5LmNwcCIKKyNpbmNsdWRlICJKU0ZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkpTR2Vv
bG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgogI2luY2x1ZGUgIkpT
SGFzaENoYW5nZUV2ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGJk
NWY0NTg0NTY4MjQ5NWFmOTZlOGRmMGI5NGJiYWNkZjdkZjNkZmQuLjg4MmVlN2U4MzlkYjhiMDhm
NjYwNmQxYTYyOGYzZjRkNDRmYzE5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMjM1LDYgKzIzNSw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9F
dmVudEV4Y2VwdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlzdGVuZXIuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudFRhcmdldC5pZGwgXAorICAgICQoV2ViQ29yZSkv
ZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpp
bmRleCA0YjIyODJlNTlmOWIxODBjMTI2OGI1ODI0OWI1YmJlZGJhZGEzZDQ0Li40MTE5ZGY2ZjEw
YzI2NDQ1NzAzMWJiODZhMDk0Y2RjYWQ0MzlkZTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
cHJpCkBAIC0yNDgsNiArMjQ4LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9kb20v
RXZlbnRFeGNlcHRpb24uaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50TGlzdGVuZXIuaWRsIFwK
ICAgICAkJFBXRC9kb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICAkJFBXRC9kb20vRm9jdXNFdmVu
dC5pZGwgXAogICAgICQkUFdEL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKICAgICAkJFBXRC9k
b20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9Nb3VzZUV2ZW50LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBjNDZiMzJjMmFmM2Q3MzgwNWVmNTVkMjc0
YTEwMzU0YmMwMjlmZTFiLi4xYzE0YmIwMWE4ZTkxYzdiZGM0NzcwYWYyN2M2NGZjZjE2Njg1Yjgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI4Niw2ICsyODYsOCBAQCB3ZWJj
b3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMy
QXJyYXkuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0NjRBcnJheS5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJyYXkuaCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Rm9jdXNFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2FtZXBhZC5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHYW1lcGFkLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNHYW1lcGFkTGlzdC5jcHAgXApAQCAtMTM4Miw2ICsxMzg0LDcgQEAgZG9tX2JpbmRp
bmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9kb20vRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2Rv
bS9FdmVudFRhcmdldC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBc
CisJJChXZWJDb3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0hhc2hD
aGFuZ2VFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKIAkk
KFdlYkNvcmUpL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgXApAQCAtMjg1MSw2ICsyODU0LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2
ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24u
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAgXAogCVNvdXJjZS9XZWJD
b3JlL2RvbS9HZXN0dXJlRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA0YjljZGZhY2JiYTkzMmZm
ZWJjZjQzNDUyZjJlYmVlYzBkOGZlNDMzLi4xODAwOTY3MjFlMmZlNjVkOGZiNWZlNGVkNmNjM2Zk
ZjBjNWMwYzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTQwMSw2ICs0MDEsNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBkb20vRXZlbnRUYXJnZXQuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQmFzZS5jcHAgXAog
ICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKKyAgICBkb20vRm9jdXNFdmVu
dC5jcHAgXAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAgXAogICAgIGRvbS9HZXN0dXJl
RXZlbnQuY3BwIFwKICAgICBkb20vSWNvblVSTC5jcHAgXApAQCAtMTYxMCw2ICsxNjExLDcgQEAg
SEVBREVSUyArPSBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmggXAogICAgIGRvbS9FeGNlcHRpb25C
YXNlLmggXAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmggXAorICAgIGRvbS9Gb2N1c0V2ZW50Lmgg
XAogICAgIGRvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCiAgICAgZG9tL0dlc3R1
cmVFdmVudC5oIFwKICAgICBkb20vSWRUYXJnZXRPYnNlcnZlci5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBmYTM1MGVhZDA5NWI2YTY5ODU0NDk2OWNjNTFmN2NjYjRhZmM0ZTE1Li5lYjYzOTc1ZmY2
YmQwZjQ0ZmViN2Q4ODRlNTkyNmM2MjhmYWMzYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMjQs
NiArMjI0LDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24uaWRsJywKICAgICAg
ICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudFRh
cmdldC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmlkbCcsCiAgICAgICAgICAg
ICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9LZXlib2FyZEV2
ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmlkbCcsCkBAIC0yNTks
NiArMjYwLDcgQEAKICAgICAgICAgICAgICdkb20vVHJhbnNpdGlvbkV2ZW50LmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAgICAgICAgICdkb20vVUlFdmVudC5p
ZGwnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9t
L1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdE5hbWVk
Rmxvdy5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsJywK
QEAgLTI4MjIsNiArMjgyNCw3IEBACiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuY3Bw
JywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5oJywKICAgICAgICAgICAgICdkb20v
RXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZl
bnQuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwJywKICAgICAg
ICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAgICAgICAgICAgICAnZG9tL0dlc3R1
cmVFdmVudC5jcHAnLApAQCAtMjk1OCw2ICsyOTYxLDcgQEAKICAgICAgICAgICAgICdkb20vVHJl
ZVdhbGtlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmgnLAogICAgICAgICAg
ICAgJ2RvbS9VSUV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuY3BwJywK
ICAgICAgICAgICAgICdkb20vVUlFdmVudFdpdGhLZXlTdGF0ZS5jcHAnLAogICAgICAgICAgICAg
J2RvbS9Vc2VyQWN0aW9uRWxlbWVudFNldC5oJywKICAgICAgICAgICAgICdkb20vVXNlckFjdGlv
bkVsZW1lbnRTZXQuY3BwJywKQEAgLTYzNTMsNiArNjM1Nyw4IEBACiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9h
dDMyQXJyYXkuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmNwcCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xv
Y2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0dlb2xvY2F0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9wb3NpdGlvbi5jcHAnLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDliYjM2YzMwYTM0
NDU4OTg4OGFhNWVkZjU4YTU2NWNhMzRiMzRmN2IuLjJhNDE2ZmUzOTEwZmRkY2E3OWVlMjE0MzMy
OTQ4ZjRlMTY5NDg4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTUzNTQsNiArNTM1NCwxMCBAQAogCQlCNjU4RkZBMjE1MjJF
RjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU4RkZBMDE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRp
b05vZGVMaXN0LmggKi87IH07CiAJCUI2NThGRkE1MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05v
ZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI2NThGRkEzMTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0LmNwcCAqLzsgfTsKIAkJ
QjY1OEZGQTYxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2NThGRkE0MTUyMkVGQUEwMERENTU5
NSAvKiBSYWRpb05vZGVMaXN0LmggKi87IH07CisJCUI2RDlEMjM1MTRFQUJEMjYwMDkwRDc1RSAv
KiBGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovOyB9OworCQlC
NkQ5RDIzNjE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDIzNDE0RUFCRDI2MDA5MEQ3NUUg
LyogRm9jdXNFdmVudC5jcHAgKi87IH07CisJCUI2RDlEMjdCMTRFQUMwODYwMDkwRDc1RSAvKiBK
U0ZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLzsgfTsKKwkJ
QjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDI3QTE0RUFDMDg2MDA5MEQ3
NUUgLyogSlNGb2N1c0V2ZW50LmNwcCAqLzsgfTsKIAkJQjcxRkU2REYxMTA5MUNCMzAwREFFRjc3
IC8qIFByaW50Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUI3MzRCMTgxMTE5
Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNzM0QjE4MDExOUI5OTExMDA2NTg3QkQgLyogRm9u
dFRyYW5zY29kZXIuY3BwICovOyB9OwogCQlCNzM0QjE4MzExOUI5OTFEMDA2NTg3QkQgLyogRm9u
dFRyYW5zY29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEI3MzRCMTgyMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oICovOyB9OwpA
QCAtMTI4NDksNiArMTI4NTMsMTEgQEAKIAkJQjY1OEZGQTAxNTIyRUYzQTAwREQ1NTk1IC8qIEpT
UmFkaW9Ob2RlTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JhZGlv
Tm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY1OEZGQTMxNTIyRUZB
QTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmFkaW9Ob2RlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUI2NThGRkE0MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhZGlvTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQjZEOUQyMzMxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9jdXNFdmVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDIzNDE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb2N1c0V2ZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjZEOUQyNzIxNEVBQkYwMzAwOTBENzVF
IC8qIEZvY3VzRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZvY3VzRXZlbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUg
LyogSlNGb2N1c0V2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRm9j
dXNFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDI3QTE0RUFDMDg2
MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRm9jdXNFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGb250VHJhbnNjb2Rlci5jcHA7IHBhdGggPSB0
cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjczNEIxODIxMTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmg7IHBhdGggPSB0cmFuc2Nv
ZGVyL0ZvbnRUcmFuc2NvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3NzZE
NDNBMTEwNDUyNUQwMEJFQjBFQyAvKiBQcmludENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHJpbnRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xOTUzMSw2ICsxOTU0MCw4IEBACiAJCQkJRTFBREVERDkwRTc2QkQ5MzAwNEExQTVFIC8q
IEpTTWVzc2FnZVBvcnQuY3BwICovLAogCQkJCUUxQURFREQ4MEU3NkJEOTMwMDRBMUE1RSAvKiBK
U01lc3NhZ2VQb3J0LmggKi8sCiAJCQkJQTg2NjI5Q0MwOURBMkI0NzAwOTYzM0E1IC8qIEpTTW91
c2VFdmVudC5jcHAgKi8sCisJCQkJQjZEOUQyNzkxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNF
dmVudC5oICovLAorCQkJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQu
Y3BwICovLAogCQkJCUE4NjYyOUNCMDlEQTJCNDcwMDk2MzNBNSAvKiBKU01vdXNlRXZlbnQuaCAq
LywKIAkJCQk2NURGMzFFNzA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50LmNwcCAq
LywKIAkJCQk2NURGMzFFODA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlvbkV2ZW50LmggKi8s
CkBAIC0yMjE4Niw2ICsyMjE5Nyw3IEBACiAJCUY1MjNEMzI0MDJERTQ0NzgwMTg2MzVDQSAvKiBk
b20gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUI2RDlE
MjcyMTRFQUJGMDMwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmlkbCAqLywKIAkJCQlFMUM0REU2RDBF
QTc1QzY1MDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0LmNwcCAqLywKIAkJCQlFMUM0REU2ODBF
QTc1QzFFMDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0LmggKi8sCiAJCQkJQTc1Q0JFNDMxNjlF
OTEzRDAwMDNBNjBGIC8qIEFuY2VzdG9yQ2hhaW5XYWxrZXIuY3BwICovLApAQCAtMjI1ODMsNiAr
MjI1OTUsOCBAQAogCQkJCTkzRUVDMUY3MDlDMjg3NzcwMEM1MTVEMSAvKiBXaGVlbEV2ZW50Lmlk
bCAqLywKIAkJCQk0MTIzRTU2ODEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93RXZlbnRDb250ZXh0
LmNwcCAqLywKIAkJCQk0MTIzRTU2NzEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93RXZlbnRDb250
ZXh0LmggKi8sCisJCQkJQjZEOUQyMzMxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCAq
LywKKwkJCQlCNkQ5RDIzNDE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgKi8sCiAJ
CQkpOwogCQkJcGF0aCA9IGRvbTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNDE1
Myw2ICsyNDE2Nyw3IEBACiAJCQkJRDcyRjZEN0ExNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJl
YWRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDk5M0JFNjBCMkYyQjFDMDA1MDQ5
N0YgLyogRm9jdXNDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNjIyODc4NDBCNERC
MzIyMDAwQzM0REYgLyogRm9jdXNEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUI2RDlE
MjM1MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MkMzREE2MTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNC
OTJENEYxMjkzNTUwQjAwQzgzODdGIC8qIEZvbnRCYXNlbGluZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjJDM0RBNjMwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYWNoZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNDY1MSw2ICsyNDY2Niw3IEBACiAJCQkJODkzQzQ3QkMxMjM4QTBBOTAwMkIzRDg2IC8q
IEpTRmlsZVdyaXRlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUVFQ0YwMzEwNTA3
MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTZFQkM1
RUIwMTM4QjUwRjIwMEEwQ0Y4QSAvKiBKU0Zsb2F0NjRBcnJheS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkRBMTVFQUMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZFODBEQTY0MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGRTgwREE2NjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3Np
dGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQ1OSw2ICsyNzQ3NSw3IEBACiAJCQkJQjI3NTM1
N0EwQjA1MzgxNDAwMkNFNjRGIC8qIEZsb2F0U2l6ZU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUQ3MkY2RDc5MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxNDk5M0JFNTBCMkYyQjFDMDA1MDQ5N0YgLyogRm9jdXNDb250cm9s
bGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI2RDlEMjM2MTRFQUJEMjYwMDkwRDc1RSAvKiBG
b2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyQzNEQTYwMEQwMDZDRDYwMEVGNkYy
NiAvKiBGb250LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyQzNEQTYyMEQwMDZDRDYwMEVGNkYy
NiAvKiBGb250Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZDN0MwRDAwQTVDMTAw
MzAwNzREIC8qIEZvbnRDYWNoZU1hYy5tbSBpbiBTb3VyY2VzICovLApAQCAtMjc5NTgsNiArMjc5
NzUsNyBAQAogCQkJCTg5M0M0N0JCMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxs
YmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUVFQ0YwMjEwNTA3MEM0MDAwOTlGQUIgLyog
SlNGbG9hdDMyQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkVCQzVFQUYxMzhCNTBGMjAw
QTBDRjhBIC8qIEpTRmxvYXQ2NEFycmF5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI2RDlEMjdD
MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkRBMTVFQUIxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRkU4MERBNjMwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkU4MEQ3QUIwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb25D
dXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAppbmRl
eCBhZjQxZDg4MWVjODJmOGE0OTdmM2IyYzE4NzQ4ODFmYTRmNTExOTg4Li5iZDU5OGEwMjM0YjQ0
ZjA2NGJmZDZiMzczMGUxYTNlNjJhYmFmODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5j
cHAKQEAgLTg0LDYgKzg0LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5jcHAiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQmFzZS5jcHAiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVy
LmNwcCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmNwcCIKICNpbmNsdWRlICJJY29uVVJMLmNwcCIK
ICNpbmNsdWRlICJJZFRhcmdldE9ic2VydmVyLmNwcCIKICNpbmNsdWRlICJJZFRhcmdldE9ic2Vy
dmVyUmVnaXN0cnkuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggYzFlNjA5ZmY0MGEwNjExYTcy
YzJjN2MxMTA4MTUxMmJlYjI4ZGM1NS4uN2Q4Y2ZkMzMwZmU5MDBhNDBmYjUyMmNkNmVmNmMxNTc5
ZTQ4YWYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0xMTcsNiArMTE3LDExIEBAIGJvb2wgRXZl
bnQ6OmlzVUlFdmVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIEV2ZW50
Ojppc0ZvY3VzRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIEV2
ZW50Ojppc01vdXNlRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
LmgKaW5kZXggMzZmMDI5MzU2YWFmY2IwNzFjMzFmMDMwMTYxNjc1OTdmNmQyNWRiOC4uNzUzMWY4
ZmU4YWU1MjdjMTAzNjE4Y2Y5YTU1NmMwMGJlYjg1MWI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTEy
Myw2ICsxMjMsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBUaGVzZSBldmVudHMgYXJlIGdlbmVyYWwg
Y2xhc3NlcyBvZiBldmVudHMuCiAgICAgdmlydHVhbCBib29sIGlzVUlFdmVudCgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzRXZlbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNNb3VzZUV2ZW50KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzS2V5Ym9hcmRFdmVudCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50Q29udGV4dC5jcHAKaW5kZXggODg3ZjY4M2IyNmJmOTMxZGU4MDA0Nzc3YWM0NDVi
NzFhZTA0ZGUzYy4uZDYwNTlkZmMzOWJjOTYzMzljNjg0OGM2MzdiNTM2ZmE5Y2Q3ODUxZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50Lmgi
CisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJOb2RlLmgiCiAKQEAgLTUxLDYgKzUyLDEwIEBAIHZvaWQgRXZlbnRDb250ZXh0OjpoYW5k
bGVMb2NhbEV2ZW50cyhFdmVudCogZXZlbnQpIGNvbnN0CiAgICAgZXZlbnQtPnNldEN1cnJlbnRU
YXJnZXQobV9jdXJyZW50VGFyZ2V0LmdldCgpKTsKICAgICBpZiAobV9yZWxhdGVkVGFyZ2V0Lmdl
dCgpICYmIGV2ZW50LT5pc01vdXNlRXZlbnQoKSkKICAgICAgICAgdG9Nb3VzZUV2ZW50KGV2ZW50
KS0+c2V0UmVsYXRlZFRhcmdldChtX3JlbGF0ZWRUYXJnZXQuZ2V0KCkpOworICAgIC8qCisgICAg
ZWxzZSBpZiAobV9yZWxhdGVkVGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc0ZvY3VzRXZlbnQoKSkK
KyAgICAgICAgdG9Gb2N1c0V2ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdldChtX3JlbGF0ZWRU
YXJnZXQpOworICAgICovCiAgICAgbV9ub2RlLT5oYW5kbGVMb2NhbEV2ZW50cyhldmVudCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKaW5kZXgg
OGRiM2NiMWJhOTIxZDM3MGJkNjdlNDVkZGNhZmQ4NjYyM2YzN2YyZi4uZTY4Mzc0MDA3MDQ1MzBj
YTVmNTI3OGQwZjhiNjMxOTRkNDE5MzAxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
RGlzcGF0Y2hNZWRpYXRvci5jcHAKQEAgLTUyLDM4ICs1Miw0IEBAIGJvb2wgRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29u
c3QKICAgICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2ZW50LmdldCgpKTsK
IH0KIAotUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQot
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xk
Rm9jdXNlZE5vZGUpKTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZl
bnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAg
OiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNF
dmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5v
ZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZl
bnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXIt
PmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0
dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0K
LQotUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNl
ZE5vZGUpKTsKLX0KLQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0
Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFs
c2UsIGZhbHNlKSkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19
Ci0KLWJvb2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERp
c3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVs
YXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNw
YXRjaE1lZGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9y
LmgKaW5kZXggMjZiNjMwNWEyZWU2M2Q3MDhlYzRjNDcwZGI1YWY3Mjc5Yzc5Y2VjYS4uYzMzNDM0
ODc0MDc4N2ViY2YzYTE4ZDBmNmViNjNmOTZiZTZhOGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaApAQCAtNTcsMjQgKzU3LDYgQEAgcHJpdmF0ZToKICAg
ICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hN
ZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1Jl
ZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZvY3Vz
RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwot
ICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0IE9W
RVJSSURFOwotICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3Mg
Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3Ig
ewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVkaWF0
b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0g
ICAgZXhwbGljaXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5l
d0ZvY3VzZWROb2RlKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3Bh
dGNoZXIqKSBjb25zdCBPVkVSUklERTsKLSAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9k
ZTsKLX07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDUxMWJkZjQxY2U2OTRk
MjU0YTRiNmY0N2Q2YmJkNWVlYjFiYjQ0OTIuLjIyMDQ4Y2U3ZmMzMmFiNDQ4ZWViM2M0ZWUzMGZk
NzMwZjlmYzZjN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC04LDYgKzgsNyBAQCBD
bG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JFdmVudAorRm9j
dXNFdmVudAogSGFzaENoYW5nZUV2ZW50CiBLZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBp
bnRlcmZhY2VOYW1lPUtleWJvYXJkRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA0MTE2OTAxOWQy
ZWIxYTk2N2ZjYzU2Y2FmMjJlMDIyM2Q1N2JmOWY5Li44MGRiZWRjMzcxZTJiZGQ2ZDA2YjliYTky
ODc2OTdkZTgzMmRjN2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC01OSw2ICs1OSw3IEBACiAjaW5j
bHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIkZy
YW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIK
QEAgLTIzNDcsMjAgKzIzNDgsNiBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoU3VidHJlZU1vZGlmaWVk
RXZlbnQoKQogICAgIGRpc3BhdGNoU2NvcGVkRXZlbnQoTXV0YXRpb25FdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5ET01TdWJ0cmVlTW9kaWZpZWRFdmVudCwgdHJ1ZSkpOwogfQogCi12b2lkIE5v
ZGU6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQ
YXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAgIEFTU0VSVCghTm9FdmVudERp
c3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7Ci0gICAgQVNTRVJU
KGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcihGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVu
dDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3
KCksIDApLCBvbGRGb2N1c2VkTm9kZSkpOwotfQotCi12b2lkIE5vZGU6OmRpc3BhdGNoRm9jdXNP
dXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSkKLXsKLSAgICBBU1NFUlQoIU5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6
aXNFdmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwotICAgIEFTU0VSVChldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLmZvY3Vzb3V0RXZlbnQgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01G
b2N1c091dEV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihG
b2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0ZShldmVu
dFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKSwgbmV3Rm9j
dXNlZE5vZGUpKTsKLX0KLQogYm9vbCBOb2RlOjpkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50
IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KQogewogICAgIEFTU0VS
VCghTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7
CkBAIC0yNDEyLDYgKzIzOTksMjAgQEAgYm9vbCBOb2RlOjpkaXNwYXRjaFdoZWVsRXZlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkKICAgICByZXR1cm4gRXZlbnREaXNwYXRjaGVy
OjpkaXNwYXRjaEV2ZW50KHRoaXMsIFdoZWVsRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUo
ZXZlbnQsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCkpKTsKIH0KIAordm9pZCBOb2RlOjpkaXNw
YXRjaEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0
cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKK3sKKyAgICBBU1NFUlQoIU5vRXZlbnREaXNwYXRjaEFz
c2VydGlvbjo6aXNFdmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOworICAgIEFTU0VSVChldmVudFR5
cGUgPT0gZXZlbnROYW1lcygpLmZvY3VzaW5FdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1l
cygpLkRPTUZvY3VzSW5FdmVudCk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVk
aWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZlbnQ6OmNy
ZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAw
LCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7Cit9CisKK3ZvaWQgTm9kZTo6ZGlz
cGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVm
UHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQoreworICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNo
QXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CisgICAgQVNTRVJUKGV2ZW50
VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLkRPTUZvY3VzT3V0RXZlbnQpOworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRj
aE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVu
dDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3
KCksIDAsIG5ld0ZvY3VzZWROb2RlKSwgbmV3Rm9jdXNlZE5vZGUpKTsKK30KKwogdm9pZCBOb2Rl
OjpkaXNwYXRjaEZvY3VzRXZlbnQoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKIHsK
ICAgICBpZiAoZG9jdW1lbnQoKS0+cGFnZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1VJRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCmluZGV4IGI5
N2FiMDBlMmY2ZmVkNmE1ZmU0ZjkzYmRhNDA3NTE5YjM1MDQ0YzguLjBlNjM0ZTQwOTQ3M2E3YmQ4
Y2Y5MzU3MGNiOWJhNzM0OThjNWQ0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9V
SUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAKQEAgLTExNSwz
OCArMTE1LDQgQEAgaW50IFVJRXZlbnQ6OndoaWNoKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0K
IAotUGFzc1JlZlB0cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0luRXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQ
dHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBvbGRGb2N1c2VkTm9kZSkpOwotfQotCi1G
b2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9y
KFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2Rl
KQotICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50KQotICAgICwgbV9vbGRGb2N1c2Vk
Tm9kZShvbGRGb2N1c2VkTm9kZSkKLXsKLX0KLQotYm9vbCBGb2N1c0luRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QK
LXsKLSAgICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fb2xkRm9j
dXNlZE5vZGUpOwotICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZl
bnQoZGlzcGF0Y2hlcik7Ci19Ci0KLVBhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVk
aWF0b3I+IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxF
dmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgbmV3
Rm9jdXNlZE5vZGUpKTsKLX0KLQotRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3Vz
T3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVm
UHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2
ZW50KQotICAgICwgbV9uZXdGb2N1c2VkTm9kZShuZXdGb2N1c2VkTm9kZSkKLXsKLX0KLQotYm9v
bCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3Bh
dGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRl
ZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaAppbmRleCBmYmQxMzA5ODg4OWQ4M2FhMTFhOTNi
NmQxYmM0N2ZmZGE5NmZmZDRmLi4wYzkwOTU3ZWZjNjNiNGRmNjUyMjNjM2QzYzExMmEzZmNjYTlm
NTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgKQEAgLTg0LDI0ICs4NCw2IEBAIHByaXZhdGU6CiAgICAg
aW50IG1fZGV0YWlsOwogfTsKIAotY2xhc3MgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6
IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPEV2
ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4
cGxpY2l0IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4sIFBh
c3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRj
aEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0IE9WRVJSSURFOwotICAgIFJlZlB0cjxOb2Rl
PiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVk
aWF0b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLXB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NS
ZWZQdHI8RXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6
Ci0gICAgZXhwbGljaXQgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxF
dmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9v
bCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0IE9WRVJSSURFOwotICAgIFJl
ZlB0cjxOb2RlPiBtX25ld0ZvY3VzZWROb2RlOwotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gVUlFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXgg
YzI2NDU2ZDE3NGYyNzVlMTZjMjRlNWRkNmZmZjgxMmZhYTgwYjM5Mi4uYjI3OWM0Y2I1NTRjNmQw
MTIzNzIwNDFkMzdjMTcxOTg3N2ZlOWE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApA
QCAtNTQ2LDYgKzU0Niw3IEBACiAgICAgYXR0cmlidXRlIENvbXBvc2l0aW9uRXZlbnRDb25zdHJ1
Y3RvciBDb21wb3NpdGlvbkV2ZW50OwogICAgIGF0dHJpYnV0ZSBDdXN0b21FdmVudENvbnN0cnVj
dG9yIEN1c3RvbUV2ZW50OwogICAgIGF0dHJpYnV0ZSBFcnJvckV2ZW50Q29uc3RydWN0b3IgRXJy
b3JFdmVudDsKKyAgICBhdHRyaWJ1dGUgRm9jdXNFdmVudENvbnN0cnVjdG9yIEZvY3VzRXZlbnQ7
CiAgICAgYXR0cmlidXRlIEhhc2hDaGFuZ2VFdmVudENvbnN0cnVjdG9yIEhhc2hDaGFuZ2VFdmVu
dDsKICAgICBhdHRyaWJ1dGUgS2V5Ym9hcmRFdmVudENvbnN0cnVjdG9yIEtleWJvYXJkRXZlbnQ7
CiAgICAgYXR0cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA3MDcyOTFmMjA1NTRiYjViZTgxZjY3MWRhYmEwMjA3ZWMxNTRkNTA5Li43YjY0ZmQ4ZmQ1
ZGJlMTU1NjNhYzRiNmFjYTk2MzJhNGE2YTI4ODA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIw
MTMtMDEtMjkgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBET00gMyBFdmVudHMgRm9jdXNFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00t
TGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgQ3JlYXRlZCBhIG5l
dyBGb2N1c0V2ZW50IGNsYXNzIHdpdGggYSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZS4gIE1vdmVk
CisgICAgICAgIHRoZSB7Rm9jdXMsQmx1cixGb2N1c0luLEZvY3VzT3V0fUV2ZW50RGlzcGF0Y2hN
ZWRpYXRvciBjbGFzc2VzIGluc2lkZSBGb2N1c0V2ZW50LgorICAgICAgICBOb3cgd2hlbiBmb2N1
c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwgYSBGb2N1c0V2ZW50IGlzIGNy
ZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgc2V0IGFjY29y
ZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3Vz
ZXZlbnQuaHRtbAorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1l
dmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91
bmRhcnktZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWw6
CisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3Vz
ZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMjcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBDb21wb3NpdGlvbkV2ZW50IGNvbnN0
cnVjdG9yCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJv
dW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggOWE1ZjlkYjM3MTEwZTU0
NjkwMDkyZGE0N2I5ODRmZDNiNjNiNjY2Zi4uY2ZkY2MyZTMxODJmM2E4NDRlMWY2ZTk0OWY0NWQ3
MDBlMzA1NzgzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNjEsMjMgKzYx
LDIzIEBAIFBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJtb3VzZW91dCIpIGlzIFsiZGl2SCg8LXNoYWRv
d0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hhZG93CiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5vZGUg
dG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3Vu
ZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIGRpdkIgdG8gZGl2QwotUEFTUyBkaXNwYXRjaGVkRXZl
bnQoImZvY3VzaW4iKSBpcyBbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0KLVBBU1MgZGlz
cGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2QihAZGl2QikiLCAiZGl2QihAZGl2QSki
XQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkMoPC1kaXZCKShAZGl2
QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNv
dXQiKSBpcyBbImRpdkIoPC1kaXZDKShAZGl2QikiLCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdCiAK
IE9sZCBmb2N1c2VkIG5vZGUgYW5kIG5ldyBmb2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJhdGVk
IHN1YnRyZWVzLCBjcm9zc2luZyBzaGFkb3cgYm91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhhdCBh
biBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCBiZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91bmRh
cnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBzaGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIIHRvIHNo
YWRvd0Qvc2hhZG93Sy9kaXZMCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsi
ZGl2TChAZGl2TCkiLCAic2hhZG93SyhAc2hhZG93SykiLCAic2hhZG93SyhAZGl2SikiXQotUEFT
UyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMgWyJkaXZIKEBkaXZIKSIsICJzaGFkb3dH
KEBzaGFkb3dHKSIsICJzaGFkb3dGKEBzaGFkb3dGKSIsICJzaGFkb3dGKEBkaXZFKSJdCitGQUlM
IGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIHNob3VsZCBiZSBkaXZMKDwtc2hhZG93RikoQGRp
dkwpLHNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93Syksc2hhZG93Syg8LXNoYWRvd0YpKEBkaXZK
KS4gV2FzIGRpdkwoPC1kaXZIKShAZGl2TCksc2hhZG93Syg8LWRpdkgpKEBzaGFkb3dLKSxzaGFk
b3dLKDwtZGl2SCkoQGRpdkopLHNoYWRvd0QoPC1kaXZIKShAc2hhZG93RCksc2hhZG93RCg8LWRp
dkgpKEBkaXZBKS4KK0ZBSUwgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIHNob3VsZCBiZSBk
aXZIKDwtc2hhZG93SykoQGRpdkgpLHNoYWRvd0coPC1zaGFkb3dLKShAc2hhZG93Ryksc2hhZG93
Rig8LXNoYWRvd0spKEBzaGFkb3dGKSxzaGFkb3dGKDwtc2hhZG93SykoQGRpdkUpLiBXYXMgZGl2
SCg8LWRpdkwpKEBkaXZIKSxzaGFkb3dHKDwtZGl2TCkoQHNoYWRvd0cpLHNoYWRvd0YoPC1kaXZM
KShAc2hhZG93Riksc2hhZG93Rig8LWRpdkwpKEBkaXZFKSxzaGFkb3dEKDwtZGl2TCkoQHNoYWRv
d0QpLHNoYWRvd0QoPC1kaXZMKShAZGl2QSkuCiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8g
aXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFy
eS4KIE1vdmluZyBmb2N1cyBmcm9tIGRpdkIgdG8gZGl2QwotUEFTUyBkaXNwYXRjaGVkRXZlbnQo
ImZvY3VzIikgaXMgWyJkaXZDKEBkaXZBKShjYXB0dXJpbmcgcGhhc2UpIiwgImRpdkMoQGRpdkMp
Il0KLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJibHVyIikgaXMgWyJkaXZCKEBkaXZBKShjYXB0dXJp
bmcgcGhhc2UpIiwgImRpdkIoQGRpdkIpIl0KK0ZBSUwgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1cyIp
IHNob3VsZCBiZSBkaXZDKEBkaXZBKShjYXB0dXJpbmcgcGhhc2UpLGRpdkMoQGRpdkMpLiBXYXMg
ZGl2Qyg8LWRpdkIpKEBkaXZBKShjYXB0dXJpbmcgcGhhc2UpLGRpdkMoPC1kaXZCKShAZGl2Qyku
CitGQUlMIGRpc3BhdGNoZWRFdmVudCgiYmx1ciIpIHNob3VsZCBiZSBkaXZCKEBkaXZBKShjYXB0
dXJpbmcgcGhhc2UpLGRpdkIoQGRpdkIpLiBXYXMgZGl2Qig8LWRpdkMpKEBkaXZBKShjYXB0dXJp
bmcgcGhhc2UpLGRpdkIoPC1kaXZDKShAZGl2QikuCiAKIE9sZCBmb2N1c2VkIG5vZGUgYW5kIG5l
dyBmb2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9zc2luZyBzaGFk
b3cgYm91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3QgZGlzcGF0Y2hl
ZCBiZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91bmRhcnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBz
aGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIIHRvIHNoYWRvd0Qvc2hhZG93Sy9kaXZMCi1QQVNT
IGRpc3BhdGNoZWRFdmVudCgiZm9jdXMiKSBpcyBbInNoYWRvd0soQGRpdkopKGNhcHR1cmluZyBw
aGFzZSkiLCAic2hhZG93SyhAc2hhZG93SykiLCAiZGl2TChAZGl2TCkiXQotUEFTUyBkaXNwYXRj
aGVkRXZlbnQoImJsdXIiKSBpcyBbInNoYWRvd0YoQGRpdkUpKGNhcHR1cmluZyBwaGFzZSkiLCAi
c2hhZG93RihAc2hhZG93RikiLCAic2hhZG93RyhAc2hhZG93RykiLCAiZGl2SChAZGl2SCkiXQor
RkFJTCBkaXNwYXRjaGVkRXZlbnQoImZvY3VzIikgc2hvdWxkIGJlIHNoYWRvd0soQGRpdkopKGNh
cHR1cmluZyBwaGFzZSksc2hhZG93SyhAc2hhZG93SyksZGl2TChAZGl2TCkuIFdhcyBzaGFkb3dE
KDwtZGl2SCkoQGRpdkEpKGNhcHR1cmluZyBwaGFzZSksc2hhZG93RCg8LWRpdkgpKEBzaGFkb3dE
KSxzaGFkb3dLKDwtZGl2SCkoQGRpdkopKGNhcHR1cmluZyBwaGFzZSksc2hhZG93Syg8LWRpdkgp
KEBzaGFkb3dLKSxkaXZMKDwtZGl2SCkoQGRpdkwpLgorRkFJTCBkaXNwYXRjaGVkRXZlbnQoImJs
dXIiKSBzaG91bGQgYmUgc2hhZG93RihAZGl2RSkoY2FwdHVyaW5nIHBoYXNlKSxzaGFkb3dGKEBz
aGFkb3dGKSxzaGFkb3dHKEBzaGFkb3dHKSxkaXZIKEBkaXZIKS4gV2FzIHNoYWRvd0QoPC1kaXZM
KShAZGl2QSkoY2FwdHVyaW5nIHBoYXNlKSxzaGFkb3dEKDwtZGl2TCkoQHNoYWRvd0QpLHNoYWRv
d0YoPC1kaXZMKShAZGl2RSkoY2FwdHVyaW5nIHBoYXNlKSxzaGFkb3dGKDwtZGl2TCkoQHNoYWRv
d0YpLHNoYWRvd0coPC1kaXZMKShAc2hhZG93RyksZGl2SCg8LWRpdkwpKEBkaXZIKS4KIFBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwK
aW5kZXggOTMzZGU3NDdmN2U4NGE2OTUyYjM3YjIwM2E2OTU4ZWQ4OGJkMjVmZS4uOGRmYzBjNzY0
NTg2MzIyMjI5ZjVlN2ViMDQzODZmYTU4M2Y2YjJmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCkBAIC0xODAs
MTMgKzE4MCwxMyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAvLyBUZXN0IGZvciBmb2N1c2luL2Zv
Y3Vzb3V0IGV2ZW50cy4KICAgICBtb3ZlRm9jdXMoJ2RpdkInLCAnZGl2QycsCiAgICAgICAgICAg
ICAgICdNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJsaW5nIG5vZGUuIEFsbCBub2Rl
cyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3Bh
dGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2QyhAZGl2QykiLCAiZGl2QyhAZGl2QSkiXScp
OwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZCKEBk
aXZCKSIsICJkaXZCKEBkaXZBKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgi
Zm9jdXNpbiIpJywgJ1siZGl2Qyg8LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2QikoQGRpdkEp
Il0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2
Qig8LWRpdkMpKEBkaXZCKSIsICJkaXZCKDwtZGl2QykoQGRpdkEpIl0nKTsKIAogICAgIG1vdmVG
b2N1cygnc2hhZG93RC9zaGFkb3dGL3NoYWRvd0cvZGl2SCcsICdzaGFkb3dEL3NoYWRvd0svZGl2
TCcsCiAgICAgICAgICAgICAgICdPbGQgZm9jdXNlZCBub2RlIGFuZCBuZXcgZm9jdXNlZCBub2Rl
IGV4aXN0IGluIHNlcGFyYXRlZCBzdWJ0cmVlcywgY3Jvc3Npbmcgc2hhZG93IGJvdW5kYXJpZXMu
IE1ha2luZyBzdXJlIHRoYXQgYW4gZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQgYmV5b25kIHRoZSBs
b3dlc3QgY29tbW9uIGJvdW5kYXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQo
ImZvY3VzaW4iKScsICdbImRpdkwoQGRpdkwpIiwgInNoYWRvd0soQHNoYWRvd0spIiwgInNoYWRv
d0soQGRpdkopIl0nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIp
JywgJ1siZGl2SChAZGl2SCkiLCAic2hhZG93RyhAc2hhZG93RykiLCAic2hhZG93RihAc2hhZG93
RikiLCAic2hhZG93RihAZGl2RSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQo
ImZvY3VzaW4iKScsICdbImRpdkwoPC1zaGFkb3dGKShAZGl2TCkiLCAic2hhZG93Syg8LXNoYWRv
d0YpKEBzaGFkb3dLKSIsICJzaGFkb3dLKDwtc2hhZG93RikoQGRpdkopIl0nKTsKKyAgICBzaG91
bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2SCg8LXNoYWRvd0spKEBk
aXZIKSIsICJzaGFkb3dHKDwtc2hhZG93SykoQHNoYWRvd0cpIiwgInNoYWRvd0YoPC1zaGFkb3dL
KShAc2hhZG93RikiLCAic2hhZG93Rig8LXNoYWRvd0spKEBkaXZFKSJdJyk7CiAKICAgICAvLyBP
bWl0dGVkIHRlc3QgY2FzZXMgd2hlcmUgZWl0aGVyIGEgb2xkRm9jdXNlZE5vZGUgb3IgbmV3Rm9j
dXNlZE5vZGUgaXMgYW4gYW5jZXN0b3Igb2YgdGhlIG90aGVyLgogICAgIC8vIER1ZSB0byBhIGZv
Y3VzIHRyYW5zZmVyIG1lY2hhbmlzbSBvbiBzaGFkb3cgaG9zdHMsIGEgZm9jdXNlZCBub2RlIHNo
b3VsZCBiZSBhIGxlYWYgbm9kZSBpbiBnZW5lcmFsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDA1NzI5ZDc2OTkwM2U0
YWZiMTg3ZDc3OTgyOTczODc0NzZlYTAwZmEuLjUxYmQ5YWUzZTgxOTc3YTExMjVhNTEyODM3N2Q5
MzViOTAyMmQ0NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNy
ZWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1j
cmVhdGlvbi1leHBlY3RlZC50eHQKQEAgLTIxLDYgKzIxLDEwIEBAIFBBU1MgZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoJ0N1c3RvbUV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5DdXN0b21FdmVu
dCBpcyB0CiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykgaW5zdGFuY2Vv
ZiB3aW5kb3cuRXJyb3JFdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdF
cnJvckV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVu
dC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRXJyb3JF
dmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5z
dGFuY2VvZiB3aW5kb3cuRm9jdXNFdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2
ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuVUlFdmVudCBpcyB0cnVlCitQQVNT
IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZl
bnQgaXMgdHJ1ZQorUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpLmNvbnN0
cnVjdG9yID09PSB3aW5kb3cuRm9jdXNFdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0
ZUV2ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5IYXNoQ2hhbmdlRXZl
bnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50Jykg
aW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQgaXMgdHJ1ZQogUEFTUyBkb2N1bWVudC5jcmVhdGVFdmVu
dCgnSGFzaENoYW5nZUV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5IYXNoQ2hhbmdlRXZl
bnQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3Jl
YXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwK
aW5kZXggNmE1ZTJjODdjMzA2ZGMyNThjYTUzNzE2NmI2ZDdmODQ3OGRlY2IwNy4uM2U0ZjY2YWQx
MmIxZDA0ZjgwN2FhNGY4MGE0OGI1NzA4ZmI0NmQ2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCkBAIC0zNyw2ICszNywxMiBAQAogICAgIHNob3VsZEJl
VHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRv
dy5FdmVudCIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9y
RXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkVycm9yRXZlbnQiKTsKIAorICAgIC8vIEZv
Y3VzRXZlbnQKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2
ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRm9jdXNFdmVudCIpOworICAgIHNob3VsZEJlVHJ1ZSgi
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5VSUV2
ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVu
dCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVu
dC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRm9jdXNF
dmVudCIpOyAgICAKKwogICAgIC8vIEhhc2hDaGFuZ2VFdmVudAogICAgIHNob3VsZEJlVHJ1ZSgi
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93
Lkhhc2hDaGFuZ2VFdmVudCIpOwogICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LkV2ZW50Iik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3Vz
ZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNjU5YjViMTAwM2ViYmMxMjM5ZDY4OWJk
NDA3MzJkZTFiYTk0YmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBA
CitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgbnVsbAorUEFTUyBldmVudC5yZWxhdGVkVGFy
Z2V0IGlzIGJ1dHRvbjIKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBidXR0b24xCitQQVNT
IGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgYnV0dG9uMworUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0
IGlzIGJ1dHRvbjIKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBidXR0b240CitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK0NoZWNrcyB0aGF0IHRo
ZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNFdmVudCBvYmplY3RzIGlzIGJlaW5n
IHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hl
ZC4gUHJlc3MgdGFiIGZvdXIgdGltZXMgdG8gZGlzcGF0Y2ggYSBmb2N1c2luIGFuZCBmb2N1c291
dCBldmVudCBmb3IgZWFjaCBvZiB0aGUgYnV0dG9ucyBiZWxvdy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0J1dHRvbjEgQnV0dG9uMiBCdXR0b24zIEJ1dHRvbjQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMGUzNTAzOGU5OTQxMDcwMDhmYTMyOGU2OWEyNzYwM2QzZWE5ZTRkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQt
Zm9jdXNldmVudC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8YnV0dG9uIGlkPSJidXR0b24xIj5C
dXR0b24xPC9idXR0b24+Cis8YnV0dG9uIGlkPSJidXR0b24yIj5CdXR0b24yPC9idXR0b24+Cis8
YnV0dG9uIGlkPSJidXR0b24zIj5CdXR0b24zPC9idXR0b24+Cis8YnV0dG9uIGlkPSJidXR0b240
Ij5CdXR0b240PC9idXR0b24+Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rl
c2NyaXB0aW9uKCJDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9yIEZv
Y3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9mb2N1
c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuICA8Yj5QcmVzcyB0YWIgZm91ciB0aW1lczwvYj4g
dG8gZGlzcGF0Y2ggYSBmb2N1c2luIGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUg
YnV0dG9ucyBiZWxvdy4iKTsKKwordmFyIGJ1dHRvbjEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYnV0dG9uMScpOwordmFyIGJ1dHRvbjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0
dG9uMicpOwordmFyIGJ1dHRvbjMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYnV0dG9uMycp
OworCitidXR0b24xLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCBmdW5jdGlvbihldmVudCkg
eyBzaG91bGRCZSgnZXZlbnQucmVsYXRlZFRhcmdldCcsICdudWxsJyk7IH0pOworYnV0dG9uMS5h
ZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdl
dmVudC5yZWxhdGVkVGFyZ2V0JywgJ2J1dHRvbjInKTsgfSk7CitidXR0b24yLmFkZEV2ZW50TGlz
dGVuZXIoImZvY3VzaW4iLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgnZXZlbnQucmVsYXRl
ZFRhcmdldCcsICdidXR0b24xJyk7IH0pOworYnV0dG9uMi5hZGRFdmVudExpc3RlbmVyKCJmb2N1
c291dCIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0Jywg
J2J1dHRvbjMnKTsgfSk7CitidXR0b24zLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCBmdW5j
dGlvbihldmVudCkgeyBzaG91bGRCZSgnZXZlbnQucmVsYXRlZFRhcmdldCcsICdidXR0b24yJyk7
IH0pOworYnV0dG9uMy5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsIGZ1bmN0aW9uKGV2ZW50
KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ2J1dHRvbjQnKTsgZmluaXNoSlNU
ZXN0KCk7IH0pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykgeworICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ1x0Jyk7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185203</attachid>
            <date>2013-01-29 01:55:21 -0800</date>
            <delta_ts>2013-01-29 06:17:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20130129185207.patch</filename>
            <type>text/plain</type>
            <size>53072</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNmMTY5Nzg5OGYyZDNm
YTcxMWYxZDIyN2U0YWZkZDg1MGUyNWNmYy4uZWIzNWQzNWQyN2JlOGNkYmYzNGFlOTE3ZDk1NDg0
YTllZjMwNzY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDEzLTAxLTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQgZG9lcyBu
b3Qgc3VwcG9ydCBET00gMyBFdmVudHMgRm9jdXNFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00t
TGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgQ3JlYXRlZCBhIG5l
dyBGb2N1c0V2ZW50IGNsYXNzIHdpdGggYSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZS4gIE1vdmVk
CisgICAgICAgIHRoZSB7Rm9jdXMsQmx1cixGb2N1c0luLEZvY3VzT3V0fUV2ZW50RGlzcGF0Y2hN
ZWRpYXRvciBjbGFzc2VzIGluc2lkZSBGb2N1c0V2ZW50LgorICAgICAgICBOb3cgd2hlbiBmb2N1
c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwgYSBGb2N1c0V2ZW50IGlzIGNy
ZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgc2V0IGFjY29y
ZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3Vz
ZXZlbnQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9u
ZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
Ojppc0ZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50
Lmg6CisgICAgICAgIChFdmVudCk6CisgICAgICAgICogZG9tL0V2ZW50Q29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFdmVudENvbnRleHQ6OmhhbmRsZUxvY2FsRXZlbnRzKToKKyAgICAg
ICAgKiBkb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmNwcDoKKyAgICAgICAgKiBkb20vRXZlbnRE
aXNwYXRjaE1lZGlhdG9yLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAg
ICogZG9tL0ZvY3VzRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Rm9jdXNFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50Ojp+Rm9jdXNFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50Ojpp
bnRlcmZhY2VOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OmlzRm9jdXNFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9j
dXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZl
bnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZv
Y3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZv
Y3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlh
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpk
aXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpldmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1
c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkJs
dXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCk6Cisg
ICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKEZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OnJlbGF0ZWRUYXJnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6c2V0UmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJD
b3JlOjp0b0ZvY3VzRXZlbnQpOgorICAgICAgICAoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRv
cik6CisgICAgICAgIChGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChG
b2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChCbHVyRXZlbnREaXNwYXRjaE1l
ZGlhdG9yKToKKyAgICAgICAgKiBkb20vRm9jdXNFdmVudC5pZGw6IEFkZGVkLgorICAgICAgICAq
IGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoRm9jdXNJbkV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0
Y2hGb2N1c091dEV2ZW50KToKKyAgICAgICAgKiBkb20vVUlFdmVudC5jcHA6CisgICAgICAgICog
ZG9tL1VJRXZlbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTMtMDEt
MjcgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEltcGxl
bWVudCBDb21wb3NpdGlvbkV2ZW50IGNvbnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGNlY2E0ZmMyYmY4NjBjMDcyNTI2OWRhYjBkMjNjYmNhMjFmNjI5OTcuLjA4NGE4OTc3ZmIzYmJj
NDM5NjMxZTAzODIxZTY0YzJlOGIzODhjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zNjgs
NiArMzY4LDcgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL0V2ZW50RXhjZXB0aW9u
LmlkbAogICAgIGRvbS9FdmVudC5pZGwKICAgICBkb20vRXZlbnRUYXJnZXQuaWRsCisgICAgZG9t
L0ZvY3VzRXZlbnQuaWRsCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwKICAgICBkb20vS2V5
Ym9hcmRFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZUNoYW5uZWwuaWRsCkBAIC0xMTc3LDYgKzEx
NzgsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcAogICAg
IGRvbS9FeGNlcHRpb25CYXNlLmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIu
Y3BwCisgICAgZG9tL0ZvY3VzRXZlbnQuY3BwCiAgICAgZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNw
cAogICAgIGRvbS9HZXN0dXJlRXZlbnQuY3BwCiAgICAgZG9tL0ljb25VUkwuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKaW5kZXggM2U0ZjU5MDgwZGRiNmEzNDhkOTc5YjgzODljOWViYTlh
YThlNTcyNy4uMDMyMzZjMGRjNzJjOGIxNWZmMTIzMzM1Y2Q3NTI0NTZkM2VkZWQwZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTM2LDYgKzEzNiw3IEBACiAjaW5jbHVkZSAiSlNG
aWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgogI2luY2x1
ZGUgIkpTRmxvYXQ2NEFycmF5LmNwcCIKKyNpbmNsdWRlICJKU0ZvY3VzRXZlbnQuY3BwIgogI2lu
Y2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgog
I2luY2x1ZGUgIkpTSGFzaENoYW5nZUV2ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IGJkNWY0NTg0NTY4MjQ5NWFmOTZlOGRmMGI5NGJiYWNkZjdkZjNkZmQuLjg4MmVl
N2U4MzlkYjhiMDhmNjYwNmQxYTYyOGYzZjRkNDRmYzE5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMjM1LDYgKzIzNSw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50
TGlzdGVuZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudFRhcmdldC5pZGwgXAorICAg
ICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9IYXNo
Q2hhbmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLnByaQppbmRleCA0YjIyODJlNTlmOWIxODBjMTI2OGI1ODI0OWI1YmJlZGJhZGEzZDQ0
Li40MTE5ZGY2ZjEwYzI2NDQ1NzAzMWJiODZhMDk0Y2RjYWQ0MzlkZTIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpCkBAIC0yNDgsNiArMjQ4LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAg
ICAkJFBXRC9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50TGlz
dGVuZXIuaWRsIFwKICAgICAkJFBXRC9kb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICAkJFBXRC9k
b20vRm9jdXNFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwK
ICAgICAkJFBXRC9kb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9Nb3VzZUV2
ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCBjNDZiMzJjMmFmM2Q3
MzgwNWVmNTVkMjc0YTEwMzU0YmMwMjlmZTFiLi4xYzE0YmIwMWE4ZTkxYzdiZGM0NzcwYWYyN2M2
NGZjZjE2Njg1YjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI4Niw2ICsy
ODYsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNGbG9hdDMyQXJyYXkuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0NjRB
cnJheS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJyYXkuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRm9jdXNFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Ft
ZXBhZC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHYW1lcGFkLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHYW1lcGFkTGlzdC5jcHAgXApAQCAtMTM4Miw2ICsxMzg0LDcg
QEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9kb20vRXZlbnQuaWRsIFwKIAkk
KFdlYkNvcmUpL2RvbS9FdmVudFRhcmdldC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50RXhj
ZXB0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXAogCSQoV2ViQ29y
ZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0tleWJvYXJkRXZl
bnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgXApAQCAtMjg1MSw2
ICsyODU0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhj
ZXB0aW9uQ29kZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9s
ZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3Jl
L2RvbS9Gb2N1c0V2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGlu
Z1Blcm1pc3Npb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9HZXN0dXJlRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA0Yjlj
ZGZhY2JiYTkzMmZmZWJjZjQzNDUyZjJlYmVlYzBkOGZlNDMzLi4xODAwOTY3MjFlMmZlNjVkOGZi
NWZlNGVkNmNjM2ZkZjBjNWMwYzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTQwMSw2ICs0MDEsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQuY3BwIFwKICAgICBkb20vRXhjZXB0aW9u
QmFzZS5jcHAgXAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKKyAgICBk
b20vRm9jdXNFdmVudC5jcHAgXAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAgXAogICAg
IGRvbS9HZXN0dXJlRXZlbnQuY3BwIFwKICAgICBkb20vSWNvblVSTC5jcHAgXApAQCAtMTYxMCw2
ICsxNjExLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmggXAogICAgIGRv
bS9FeGNlcHRpb25CYXNlLmggXAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmggXAorICAgIGRvbS9G
b2N1c0V2ZW50LmggXAogICAgIGRvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCiAg
ICAgZG9tL0dlc3R1cmVFdmVudC5oIFwKICAgICBkb20vSWRUYXJnZXRPYnNlcnZlci5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCBmYTM1MGVhZDA5NWI2YTY5ODU0NDk2OWNjNTFmN2NjYjRhZmM0ZTE1
Li5lYjYzOTc1ZmY2YmQwZjQ0ZmViN2Q4ODRlNTkyNmM2MjhmYWMzYWI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC0yMjQsNiArMjI0LDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24u
aWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAg
J2RvbS9FdmVudFRhcmdldC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9LZXlib2FyZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmlk
bCcsCkBAIC0yNTksNiArMjYwLDcgQEAKICAgICAgICAgICAgICdkb20vVHJhbnNpdGlvbkV2ZW50
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaWRsJywKICAgICAgICAgICAgICdk
b20vVUlFdmVudC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmlkbCcsCiAgICAg
ICAgICAgICAnZG9tL1dlYktpdEFuaW1hdGlvbkV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9t
L1dlYktpdE5hbWVkRmxvdy5pZGwnLAogICAgICAgICAgICAgJ2RvbS9XZWJLaXRUcmFuc2l0aW9u
RXZlbnQuaWRsJywKQEAgLTI4MjIsNiArMjgyNCw3IEBACiAgICAgICAgICAgICAnZG9tL0V4Y2Vw
dGlvbkJhc2UuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5oJywKICAgICAg
ICAgICAgICdkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAgICAgICAgICAn
ZG9tL0ZvY3VzRXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUu
Y3BwJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAgICAgICAgICAg
ICAnZG9tL0dlc3R1cmVFdmVudC5jcHAnLApAQCAtMjk1OCw2ICsyOTYxLDcgQEAKICAgICAgICAg
ICAgICdkb20vVHJlZVdhbGtlci5jcHAnLAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fsa2VyLmgn
LAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL0ZvY3Vz
RXZlbnQuY3BwJywKICAgICAgICAgICAgICdkb20vVUlFdmVudFdpdGhLZXlTdGF0ZS5jcHAnLAog
ICAgICAgICAgICAgJ2RvbS9Vc2VyQWN0aW9uRWxlbWVudFNldC5oJywKICAgICAgICAgICAgICdk
b20vVXNlckFjdGlvbkVsZW1lbnRTZXQuY3BwJywKQEAgLTYzNTMsNiArNjM1Nyw4IEBACiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZpbGVXcml0
ZXJTeW5jLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNGbG9hdDMyQXJyYXkuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmgnLAorICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmNwcCcsCisg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3Vz
RXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0dlb2xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9wb3NpdGlvbi5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IDliYjM2YzMwYTM0NDU4OTg4OGFhNWVkZjU4YTU2NWNhMzRiMzRmN2IuLjJhNDE2ZmUzOTEwZmRk
Y2E3OWVlMjE0MzMyOTQ4ZjRlMTY5NDg4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUzNTQsNiArNTM1NCwxMCBAQAogCQlC
NjU4RkZBMjE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU4RkZBMDE1MjJFRjNBMDBERDU1
OTUgLyogSlNSYWRpb05vZGVMaXN0LmggKi87IH07CiAJCUI2NThGRkE1MTUyMkVGQUEwMERENTU5
NSAvKiBSYWRpb05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEI2NThGRkEzMTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0LmNw
cCAqLzsgfTsKIAkJQjY1OEZGQTYxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2NThGRkE0MTUy
MkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0LmggKi87IH07CisJCUI2RDlEMjM1MTRFQUJE
MjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5o
ICovOyB9OworCQlCNkQ5RDIzNjE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDIzNDE0RUFC
RDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgKi87IH07CisJCUI2RDlEMjdCMTRFQUMwODYw
MDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQu
aCAqLzsgfTsKKwkJQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDI3QTE0
RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCAqLzsgfTsKIAkJQjcxRkU2REYxMTA5
MUNCMzAwREFFRjc3IC8qIFByaW50Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29u
dGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUI3MzRCMTgxMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNzM0QjE4MDExOUI5OTExMDA2
NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwICovOyB9OwogCQlCNzM0QjE4MzExOUI5OTFEMDA2
NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgyMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rl
ci5oICovOyB9OwpAQCAtMTI4NDksNiArMTI4NTMsMTEgQEAKIAkJQjY1OEZGQTAxNTIyRUYzQTAw
REQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU1JhZGlvTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY1
OEZGQTMxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFkaW9Ob2RlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUI2NThGRkE0MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhZGlvTm9kZUxpc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjZEOUQyMzMxNEVBQkQyNjAwOTBENzVFIC8qIEZv
Y3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9jdXNFdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDIzNDE0RUFCRDI2MDA5MEQ3NUUg
LyogRm9jdXNFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBG
b2N1c0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjZEOUQyNzIxNEVB
QkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZv
Y3VzRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDI3OTE0RUFD
MDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTRm9jdXNFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5
RDI3QTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRm9jdXNFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBGb250VHJhbnNjb2Rlci5j
cHA7IHBhdGggPSB0cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjczNEIxODIxMTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmg7IHBh
dGggPSB0cmFuc2NvZGVyL0ZvbnRUcmFuc2NvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUI3NzZENDNBMTEwNDUyNUQwMEJFQjBFQyAvKiBQcmludENvbnRleHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpbnRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xOTUzMSw2ICsxOTU0MCw4IEBACiAJCQkJRTFBREVERDkwRTc2QkQ5
MzAwNEExQTVFIC8qIEpTTWVzc2FnZVBvcnQuY3BwICovLAogCQkJCUUxQURFREQ4MEU3NkJEOTMw
MDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0LmggKi8sCiAJCQkJQTg2NjI5Q0MwOURBMkI0NzAwOTYz
M0E1IC8qIEpTTW91c2VFdmVudC5jcHAgKi8sCisJCQkJQjZEOUQyNzkxNEVBQzA4NjAwOTBENzVF
IC8qIEpTRm9jdXNFdmVudC5oICovLAorCQkJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBK
U0ZvY3VzRXZlbnQuY3BwICovLAogCQkJCUE4NjYyOUNCMDlEQTJCNDcwMDk2MzNBNSAvKiBKU01v
dXNlRXZlbnQuaCAqLywKIAkJCQk2NURGMzFFNzA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlv
bkV2ZW50LmNwcCAqLywKIAkJCQk2NURGMzFFODA5RDFDQzYwMDAwQkUzMjUgLyogSlNNdXRhdGlv
bkV2ZW50LmggKi8sCkBAIC0yMjE4Niw2ICsyMjE5Nyw3IEBACiAJCUY1MjNEMzI0MDJERTQ0Nzgw
MTg2MzVDQSAvKiBkb20gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCUI2RDlEMjcyMTRFQUJGMDMwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmlkbCAqLywKIAkJ
CQlFMUM0REU2RDBFQTc1QzY1MDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0LmNwcCAqLywKIAkJ
CQlFMUM0REU2ODBFQTc1QzFFMDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0LmggKi8sCiAJCQkJ
QTc1Q0JFNDMxNjlFOTEzRDAwMDNBNjBGIC8qIEFuY2VzdG9yQ2hhaW5XYWxrZXIuY3BwICovLApA
QCAtMjI1ODMsNiArMjI1OTUsOCBAQAogCQkJCTkzRUVDMUY3MDlDMjg3NzcwMEM1MTVEMSAvKiBX
aGVlbEV2ZW50LmlkbCAqLywKIAkJCQk0MTIzRTU2ODEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93
RXZlbnRDb250ZXh0LmNwcCAqLywKIAkJCQk0MTIzRTU2NzEyN0IzMDQxMDAwRkVFQTcgLyogV2lu
ZG93RXZlbnRDb250ZXh0LmggKi8sCisJCQkJQjZEOUQyMzMxNEVBQkQyNjAwOTBENzVFIC8qIEZv
Y3VzRXZlbnQuaCAqLywKKwkJCQlCNkQ5RDIzNDE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVu
dC5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGRvbTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkBAIC0yNDE1Myw2ICsyNDE2Nyw3IEBACiAJCQkJRDcyRjZEN0ExNTMxNTlBMzAwMUVFNDRF
IC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDk5M0JFNjBC
MkYyQjFDMDA1MDQ5N0YgLyogRm9jdXNDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkw
NjIyODc4NDBCNERCMzIyMDAwQzM0REYgLyogRm9jdXNEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCUI2RDlEMjM1MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMkMzREE2MTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNCOTJENEYxMjkzNTUwQjAwQzgzODdGIC8qIEZvbnRCYXNlbGluZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJDM0RBNjMwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYWNoZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNDY1MSw2ICsyNDY2Niw3IEBACiAJCQkJODkzQzQ3QkMxMjM4QTBB
OTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
OUVFQ0YwMzEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTZFQkM1RUIwMTM4QjUwRjIwMEEwQ0Y4QSAvKiBKU0Zsb2F0NjRBcnJheS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkRBMTVFQUMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5v
ZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFODBEQTY0MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dl
b2xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTgwREE2NjBFOUM0NzAzMDAwRDZGNzUg
LyogSlNHZW9wb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQ1OSw2ICsyNzQ3NSw3IEBA
CiAJCQkJQjI3NTM1N0EwQjA1MzgxNDAwMkNFNjRGIC8qIEZsb2F0U2l6ZU1hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUQ3MkY2RDc5MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDk5M0JFNTBCMkYyQjFDMDA1MDQ5N0YgLyog
Rm9jdXNDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI2RDlEMjM2MTRFQUJEMjYw
MDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyQzNEQTYwMEQw
MDZDRDYwMEVGNkYyNiAvKiBGb250LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyQzNEQTYyMEQw
MDZDRDYwMEVGNkYyNiAvKiBGb250Q2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZD
N0MwRDAwQTVDMTAwMzAwNzREIC8qIEZvbnRDYWNoZU1hYy5tbSBpbiBTb3VyY2VzICovLApAQCAt
Mjc5NTgsNiArMjc5NzUsNyBAQAogCQkJCTg5M0M0N0JCMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0Zp
bGVXcml0ZXJDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUVFQ0YwMjEwNTA3MEM0
MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkVCQzVF
QUYxMzhCNTBGMjAwQTBDRjhBIC8qIEpTRmxvYXQ2NEFycmF5LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUI2RDlEMjdDMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRkRBMTVFQUIxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRkU4MERBNjMwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkU4MEQ3QUIwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpT
R2VvbG9jYXRpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbElu
T25lLmNwcAppbmRleCBhZjQxZDg4MWVjODJmOGE0OTdmM2IyYzE4NzQ4ODFmYTRmNTExOTg4Li5i
ZDU5OGEwMjM0YjQ0ZjA2NGJmZDZiMzczMGUxYTNlNjJhYmFmODMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01BbGxJbk9uZS5jcHAKQEAgLTg0LDYgKzg0LDcgQEAKICNpbmNsdWRlICJFdmVudFRhcmdldC5j
cHAiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQmFzZS5jcHAiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZVBsYWNlaG9sZGVyLmNwcCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmNwcCIKICNpbmNsdWRlICJJ
Y29uVVJMLmNwcCIKICNpbmNsdWRlICJJZFRhcmdldE9ic2VydmVyLmNwcCIKICNpbmNsdWRlICJJ
ZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggYzFlNjA5
ZmY0MGEwNjExYTcyYzJjN2MxMTA4MTUxMmJlYjI4ZGM1NS4uN2Q4Y2ZkMzMwZmU5MDBhNDBmYjUy
MmNkNmVmNmMxNTc5ZTQ4YWYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0xMTcsNiArMTE3LDEx
IEBAIGJvb2wgRXZlbnQ6OmlzVUlFdmVudCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Citib29sIEV2ZW50Ojppc0ZvY3VzRXZlbnQoKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOwor
fQorCiBib29sIEV2ZW50Ojppc01vdXNlRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmgKaW5kZXggMzZmMDI5MzU2YWFmY2IwNzFjMzFmMDMwMTYxNjc1OTdmNmQy
NWRiOC4uNzUzMWY4ZmU4YWU1MjdjMTAzNjE4Y2Y5YTU1NmMwMGJlYjg1MWI3ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50LmgKQEAgLTEyMyw2ICsxMjMsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBUaGVzZSBldmVudHMg
YXJlIGdlbmVyYWwgY2xhc3NlcyBvZiBldmVudHMuCiAgICAgdmlydHVhbCBib29sIGlzVUlFdmVu
dCgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzRXZlbnQoKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzS2V5
Ym9hcmRFdmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKaW5kZXggODg3ZjY4M2IyNmJmOTMxZGU4
MDA0Nzc3YWM0NDViNzFhZTA0ZGUzYy4uZDYwNTlkZmMzOWJjOTYzMzljNjg0OGM2MzdiNTM2ZmE5
Y2Q3ODUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZl
bnQuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAKQEAgLTUxLDYgKzUyLDEwIEBAIHZvaWQgRXZlbnRD
b250ZXh0OjpoYW5kbGVMb2NhbEV2ZW50cyhFdmVudCogZXZlbnQpIGNvbnN0CiAgICAgZXZlbnQt
PnNldEN1cnJlbnRUYXJnZXQobV9jdXJyZW50VGFyZ2V0LmdldCgpKTsKICAgICBpZiAobV9yZWxh
dGVkVGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc01vdXNlRXZlbnQoKSkKICAgICAgICAgdG9Nb3Vz
ZUV2ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdldChtX3JlbGF0ZWRUYXJnZXQuZ2V0KCkpOwor
ICAgIC8qCisgICAgZWxzZSBpZiAobV9yZWxhdGVkVGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc0Zv
Y3VzRXZlbnQoKSkKKyAgICAgICAgdG9Gb2N1c0V2ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdl
dChtX3JlbGF0ZWRUYXJnZXQpOworICAgICovCiAgICAgbV9ub2RlLT5oYW5kbGVMb2NhbEV2ZW50
cyhldmVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3Bh
dGNoTWVkaWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRv
ci5jcHAKaW5kZXggOGRiM2NiMWJhOTIxZDM3MGJkNjdlNDVkZGNhZmQ4NjYyM2YzN2YyZi4uZTY4
Mzc0MDA3MDQ1MzBjYTVmNTI3OGQwZjhiNjMxOTRkNDE5MzAxYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKQEAgLTUyLDM4ICs1Miw0IEBAIGJvb2wg
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlz
cGF0Y2hlcikgY29uc3QKICAgICByZXR1cm4gZGlzcGF0Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2
ZW50LmdldCgpKTsKIH0KIAotUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4g
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZv
Y3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKLX0KLQotRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0
b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNl
ZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5h
bWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fb2xkRm9jdXNlZE5vZGUo
b2xkRm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAotewotICAg
IGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9k
ZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNw
YXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVy
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2Vk
Tm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0
b3IobmV3Rm9jdXNlZE5vZGUpKTsKLX0KLQotQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1
ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQot
ICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmJs
dXJFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNl
ZE5vZGUpCi17Ci19Ci0KLWJvb2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hF
dmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hl
ci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICBy
ZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNw
YXRjaE1lZGlhdG9yLmgKaW5kZXggMjZiNjMwNWEyZWU2M2Q3MDhlYzRjNDcwZGI1YWY3Mjc5Yzc5
Y2VjYS4uYzMzNDM0ODc0MDc4N2ViY2YzYTE4ZDBmNmViNjNmOTZiZTZhOGZlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuaApAQCAtNTcsMjQgKzU3LDYgQEAg
cHJpdmF0ZToKICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZlbnQ7CiB9OwogCi1jbGFzcyBGb2N1c0V2
ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBj
cmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4
cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9j
dXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hl
ciopIGNvbnN0IE9WRVJSSURFOwotICAgIFJlZlB0cjxOb2RlPiBtX29sZEZvY3VzZWROb2RlOwot
fTsKLQotY2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3Bh
dGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJFdmVudERp
c3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsK
LXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVm
UHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVu
dChFdmVudERpc3BhdGNoZXIqKSBjb25zdCBPVkVSUklERTsKLSAgICBSZWZQdHI8Tm9kZT4gbV9u
ZXdGb2N1c2VkTm9kZTsKLX07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDUx
MWJkZjQxY2U2OTRkMjU0YTRiNmY0N2Q2YmJkNWVlYjFiYjQ0OTIuLjIyMDQ4Y2U3ZmMzMmFiNDQ4
ZWViM2M0ZWUzMGZkNzMwZjlmYzZjN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC04
LDYgKzgsNyBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJy
b3JFdmVudAorRm9jdXNFdmVudAogSGFzaENoYW5nZUV2ZW50CiBLZXlib2FyZEV2ZW50CiBLZXli
b2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1lPUtleWJvYXJkRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2
ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xOTIyNjA4OWJkZTEyMzRhMDE0Y2UyNzRlNmNiNWU0ZWQwZGQz
ZjAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3Bw
CkBAIC0wLDAgKzEsMTU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJGb2N1c0V2ZW50LmgiCisKKyNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIKKyNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworRm9jdXNFdmVu
dDo6Rm9jdXNFdmVudCgpCit7Cit9CisKK0ZvY3VzRXZlbnQ6On5Gb2N1c0V2ZW50KCkKK3sKK30K
KworY29uc3QgQXRvbWljU3RyaW5nJiBGb2N1c0V2ZW50OjppbnRlcmZhY2VOYW1lKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvckZvY3VzRXZlbnQ7Cit9CisK
K2Jvb2wgRm9jdXNFdmVudDo6aXNGb2N1c0V2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3
PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0
KQorICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFp
bCkKKyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQoreworICAgIGZwcmludGYo
c3RkZXJyLCAiaW5pdGlhbGl6ZSAlcCBtX3JlbGF0ZWRUYXJnZXQ9JXBcbiIsIHRoaXMsIG1fcmVs
YXRlZFRhcmdldC5nZXQoKSk7Cit9CisKK1Bhc3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcj4gRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8
Rm9jdXNFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50
LCBvbGRGb2N1c2VkTm9kZSkpOworfQorCitGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpG
b2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gZXZlbnQs
IFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVk
aWF0b3IoZXZlbnQpCisgICAgLCBtX29sZEZvY3VzZWROb2RlKG9sZEZvY3VzZWROb2RlKQorewor
fQorCitib29sIEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZl
bnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAgIGlmIChkaXNwYXRjaGVyLT5u
b2RlKCktPmRpc2FibGVkKCkpIC8vIERvbid0IGV2ZW4gc2VuZCBET00gZXZlbnRzIGZvciBkaXNh
YmxlZCBjb250cm9scy4KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgaWYgKGV2ZW50
KCktPnR5cGUoKS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gU2hvdWxkbid0
IGhhcHBlbi4KKyAgICAKKyAgICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50
KCksIG1fb2xkRm9jdXNlZE5vZGUpOworICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6
OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7ICAgCit9CisKK0ZvY3VzRXZlbnQqIEZvY3VzSW5F
dmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Rm9jdXNFdmVudCo+KEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSk7Cit9CisK
K1Bhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzT3V0RXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFz
c1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBuZXdGb2N1c2VkTm9kZSkpOwor
fQorCitGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNPdXRFdmVudERpc3BhdGNo
TWVkaWF0b3IoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCkKKyAgICAs
IG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgRm9jdXNPdXRF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNw
YXRjaGVyKSBjb25zdAoreworICAgIGlmIChkaXNwYXRjaGVyLT5ub2RlKCktPmRpc2FibGVkKCkp
IC8vIERvbid0IGV2ZW4gc2VuZCBET00gZXZlbnRzIGZvciBkaXNhYmxlZCBjb250cm9scy4KKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgCisgICAgaWYgKGV2ZW50KCktPnR5cGUoKS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsgLy8gU2hvdWxkbid0IGhhcHBlbi4KKyAgICAKKyAg
ICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5v
ZGUpOworICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlz
cGF0Y2hlcik7Cit9CisKK0ZvY3VzRXZlbnQqIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
OjpldmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihF
dmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkpOworfQorCitQYXNzUmVmUHRyPEZvY3VzRXZl
bnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFBh
c3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcihvbGRGb2N1c2VkTm9kZSkpOworfQorCitGb2N1
c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1Jl
ZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKKyAgICA6IEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihG
b2N1c0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmZvY3VzRXZlbnQsIGZhbHNlLCBmYWxzZSwg
MCwgMCwgb2xkRm9jdXNlZE5vZGUpKQorICAgICwgbV9vbGRGb2N1c2VkTm9kZShvbGRGb2N1c2Vk
Tm9kZSkKK3sKK30KKworYm9vbCBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hF
dmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAgZGlzcGF0Y2hl
ci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX29sZEZvY3VzZWROb2RlKTsKKyAgICBy
ZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwor
fQorCitGb2N1c0V2ZW50KiBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQoKSBjb25z
dAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpldmVudCgpKTsKK30KKworUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlh
dG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3Bh
dGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUpKTsKK30KKworQmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3Vz
ZWROb2RlKQorICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuYmx1ckV2ZW50LCBmYWxzZSwgZmFsc2UsIDAsIDAsIG5ld0ZvY3VzZWROb2Rl
KSkKKyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wg
Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIq
IGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdl
dChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKKyAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOworfQorCitGb2N1c0V2ZW50KiBCbHVy
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEZvY3VzRXZlbnQqPihFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Rm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jYjVjNWQwMTI4ZWMwODk5MTcxNDlmYWQ5MzM4YzI5YTEyNTc2MDVkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApAQCAtMCwwICsxLDEwOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEZvY3VzRXZlbnRfaAorI2RlZmluZSBGb2N1c0V2ZW50X2gK
KworI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hNZWRpYXRvci5oIgorI2luY2x1ZGUgIkV2ZW50VGFy
Z2V0LmgiCisjaW5jbHVkZSAiVUlFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAg
CitjbGFzcyBGb2N1c0V2ZW50IDogcHVibGljIFVJRXZlbnQgeworcHVibGljOgorICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYobmV3IEZvY3VzRXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PEZvY3VzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnVi
YmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQg
ZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2Fu
Y2VsYWJsZSwgdmlldywgZGV0YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorCisgICAgdmly
dHVhbCB+Rm9jdXNFdmVudCgpOworCisgICAgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQoKSBj
b25zdCB7IHJldHVybiBtX3JlbGF0ZWRUYXJnZXQuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFJlbGF0
ZWRUYXJnZXQoUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkgeyBtX3JlbGF0
ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0OyB9CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJp
bmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c0V2ZW50
KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRm9jdXNFdmVudCgpOworICAgIEZvY3VzRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRU
YXJnZXQ+IHJlbGF0ZWRUYXJnZXQpOyAgICAgICAgCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBt
X3JlbGF0ZWRUYXJnZXQ7Cit9OworICAgIAoraW5saW5lIEZvY3VzRXZlbnQqIHRvRm9jdXNFdmVu
dChFdmVudCogZXZlbnQpCit7CisgICAgQVNTRVJUKGV2ZW50ICYmIGV2ZW50LT5pc0ZvY3VzRXZl
bnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihldmVudCk7Cit9Cisg
ICAgCitjbGFzcyBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlz
cGF0Y2hNZWRpYXRvciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Rm9jdXNJbkV2
ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NS
ZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworcHJpdmF0ZToKKyAgICBGb2N1c0luRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4g
b2xkRm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlz
cGF0Y2hlciopIGNvbnN0OworICAgIEZvY3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVm
UHRyPE5vZGU+IG1fb2xkRm9jdXNlZE5vZGU7Cit9OworCitjbGFzcyBGb2N1c091dEV2ZW50RGlz
cGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgeworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVh
dGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9k
ZSk7Citwcml2YXRlOgorICAgIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQ
dHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOworICAgIHZp
cnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIEZv
Y3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5v
ZGU7Cit9OworICAgIAorY2xhc3MgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IgOiBwdWJsaWMg
RXZlbnREaXNwYXRjaE1lZGlhdG9yIHsgICAgCitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG9s
ZEZvY3VzZWROb2RlKTsKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRm9jdXNFdmVudERpc3BhdGNo
TWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7CisgICAgdmlydHVhbCBi
b29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7CisgICAgRm9jdXNFdmVu
dCogZXZlbnQoKSBjb25zdDsKKyAgICBSZWZQdHI8Tm9kZT4gbV9vbGRGb2N1c2VkTm9kZTsKK307
IAorCitjbGFzcyBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVibGljIEV2ZW50RGlzcGF0
Y2hNZWRpYXRvciB7ICAgICAgIAorcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJsdXJF
dmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWRO
b2RlKTsgICAgICAgIAorcHJpdmF0ZToKKyAgICBleHBsaWNpdCBCbHVyRXZlbnREaXNwYXRjaE1l
ZGlhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9v
bCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIEZvY3VzRXZlbnQq
IGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Cit9OyAg
ICAgCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEZvY3VzRXZlbnRfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsIGIvU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZWIwZjFiMWQ5YzlhZDE2Yzlk
NDU0OTYxYTE2NzcwYzg1NDUyMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNFdmVudC5pZGwKQEAgLTAsMCArMSwyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitpbnRlcmZh
Y2UgRm9jdXNFdmVudCA6IFVJRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRh
cmdldCByZWxhdGVkVGFyZ2V0OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA0MTE2OTAxOWQyZWIx
YTk2N2ZjYzU2Y2FmMjJlMDIyM2Q1N2JmOWY5Li44MGRiZWRjMzcxZTJiZGQ2ZDA2YjliYTkyODc2
OTdkZTgzMmRjN2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC01OSw2ICs1OSw3IEBACiAjaW5jbHVk
ZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAg
LTIzNDcsMjAgKzIzNDgsNiBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoU3VidHJlZU1vZGlmaWVkRXZl
bnQoKQogICAgIGRpc3BhdGNoU2NvcGVkRXZlbnQoTXV0YXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5ET01TdWJ0cmVlTW9kaWZpZWRFdmVudCwgdHJ1ZSkpOwogfQogCi12b2lkIE5vZGU6
OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNz
UmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAgIEFTU0VSVCghTm9FdmVudERpc3Bh
dGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7Ci0gICAgQVNTRVJUKGV2
ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcihGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVudDo6
Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCks
IDApLCBvbGRGb2N1c2VkTm9kZSkpOwotfQotCi12b2lkIE5vZGU6OmRpc3BhdGNoRm9jdXNPdXRF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2RlPiBuZXdG
b2N1c2VkTm9kZSkKLXsKLSAgICBBU1NFUlQoIU5vRXZlbnREaXNwYXRjaEFzc2VydGlvbjo6aXNF
dmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwotICAgIEFTU0VSVChldmVudFR5cGUgPT0gZXZlbnRO
YW1lcygpLmZvY3Vzb3V0RXZlbnQgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1
c091dEV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1
c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0ZShldmVudFR5
cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKSwgbmV3Rm9jdXNl
ZE5vZGUpKTsKLX0KLQogYm9vbCBOb2RlOjpkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRl
dGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KQogewogICAgIEFTU0VSVCgh
Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CkBA
IC0yNDEyLDYgKzIzOTksMjAgQEAgYm9vbCBOb2RlOjpkaXNwYXRjaFdoZWVsRXZlbnQoY29uc3Qg
UGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkKICAgICByZXR1cm4gRXZlbnREaXNwYXRjaGVyOjpk
aXNwYXRjaEV2ZW50KHRoaXMsIFdoZWVsRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoZXZl
bnQsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCkpKTsKIH0KIAordm9pZCBOb2RlOjpkaXNwYXRj
aEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxO
b2RlPiBvbGRGb2N1c2VkTm9kZSkKK3sKKyAgICBBU1NFUlQoIU5vRXZlbnREaXNwYXRjaEFzc2Vy
dGlvbjo6aXNFdmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOworICAgIEFTU0VSVChldmVudFR5cGUg
PT0gZXZlbnROYW1lcygpLmZvY3VzaW5FdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygp
LkRPTUZvY3VzSW5FdmVudCk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0
b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZlbnQ6OmNyZWF0
ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwLCBv
bGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7Cit9CisKK3ZvaWQgTm9kZTo6ZGlzcGF0
Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRy
PE5vZGU+IG5ld0ZvY3VzZWROb2RlKQoreworICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNoQXNz
ZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CisgICAgQVNTRVJUKGV2ZW50VHlw
ZSA9PSBldmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1l
cygpLkRPTUZvY3VzT3V0RXZlbnQpOworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1l
ZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVudDo6
Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCks
IDAsIG5ld0ZvY3VzZWROb2RlKSwgbmV3Rm9jdXNlZE5vZGUpKTsKK30KKwogdm9pZCBOb2RlOjpk
aXNwYXRjaEZvY3VzRXZlbnQoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKIHsKICAg
ICBpZiAoZG9jdW1lbnQoKS0+cGFnZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1VJRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuY3BwCmluZGV4IGI5N2Fi
MDBlMmY2ZmVkNmE1ZmU0ZjkzYmRhNDA3NTE5YjM1MDQ0YzguLjBlNjM0ZTQwOTQ3M2E3YmQ4Y2Y5
MzU3MGNiOWJhNzM0OThjNWQ0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAKQEAgLTExNSwzOCAr
MTE1LDQgQEAgaW50IFVJRXZlbnQ6OndoaWNoKCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAot
UGFzc1JlZlB0cjxGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c0luRXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8
Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBvbGRGb2N1c2VkTm9kZSkpOwotfQotCi1Gb2N1
c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBh
c3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQot
ICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50KQotICAgICwgbV9vbGRGb2N1c2VkTm9k
ZShvbGRGb2N1c2VkTm9kZSkKLXsKLX0KLQotYm9vbCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsK
LSAgICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxhdGVkVGFyZ2V0KGV2ZW50KCksIG1fb2xkRm9jdXNl
ZE5vZGUpOwotICAgIHJldHVybiBFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQo
ZGlzcGF0Y2hlcik7Ci19Ci0KLVBhc3NSZWZQdHI8Rm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3I+IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxFdmVu
dD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi17Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgbmV3Rm9j
dXNlZE5vZGUpKTsKLX0KLQotRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0
RXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8RXZlbnQ+IGV2ZW50LCBQYXNzUmVmUHRy
PE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50
KQotICAgICwgbV9uZXdGb2N1c2VkTm9kZShuZXdGb2N1c2VkTm9kZSkKLXsKLX0KLQotYm9vbCBG
b2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNo
ZXIqIGRpc3BhdGNoZXIpIGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRh
cmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaAppbmRleCBmYmQxMzA5ODg4OWQ4M2FhMTFhOTNiNmQx
YmM0N2ZmZGE5NmZmZDRmLi4wYzkwOTU3ZWZjNjNiNGRmNjUyMjNjM2QzYzExMmEzZmNjYTlmNTY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9VSUV2ZW50LmgKQEAgLTg0LDI0ICs4NCw2IEBAIHByaXZhdGU6CiAgICAgaW50
IG1fZGV0YWlsOwogfTsKIAotY2xhc3MgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1
YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50
PiwgUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxp
Y2l0IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NS
ZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2
ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0IE9WRVJSSURFOwotICAgIFJlZlB0cjxOb2RlPiBt
X29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3MgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsKLXB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQ
dHI8RXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0g
ICAgZXhwbGljaXQgRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVu
dD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBk
aXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0IE9WRVJSSURFOwotICAgIFJlZlB0
cjxOb2RlPiBtX25ld0ZvY3VzZWROb2RlOwotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gVUlFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYzI2
NDU2ZDE3NGYyNzVlMTZjMjRlNWRkNmZmZjgxMmZhYTgwYjM5Mi4uYjI3OWM0Y2I1NTRjNmQwMTIz
NzIwNDFkMzdjMTcxOTg3N2ZlOWE1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAt
NTQ2LDYgKzU0Niw3IEBACiAgICAgYXR0cmlidXRlIENvbXBvc2l0aW9uRXZlbnRDb25zdHJ1Y3Rv
ciBDb21wb3NpdGlvbkV2ZW50OwogICAgIGF0dHJpYnV0ZSBDdXN0b21FdmVudENvbnN0cnVjdG9y
IEN1c3RvbUV2ZW50OwogICAgIGF0dHJpYnV0ZSBFcnJvckV2ZW50Q29uc3RydWN0b3IgRXJyb3JF
dmVudDsKKyAgICBhdHRyaWJ1dGUgRm9jdXNFdmVudENvbnN0cnVjdG9yIEZvY3VzRXZlbnQ7CiAg
ICAgYXR0cmlidXRlIEhhc2hDaGFuZ2VFdmVudENvbnN0cnVjdG9yIEhhc2hDaGFuZ2VFdmVudDsK
ICAgICBhdHRyaWJ1dGUgS2V5Ym9hcmRFdmVudENvbnN0cnVjdG9yIEtleWJvYXJkRXZlbnQ7CiAg
ICAgYXR0cmlidXRlIE1lc3NhZ2VFdmVudENvbnN0cnVjdG9yIE1lc3NhZ2VFdmVudDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA3MDcyOTFmMjA1NTRiYjViZTgxZjY3MWRhYmEwMjA3ZWMxNTRkNTA5Li5mOGQzMzBhNzJiZWRk
YzMzNzJiZDJmZmRlMDkwZWRmNGU4NjM3MzEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTMt
MDEtMjkgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdl
YktpdCBkb2VzIG5vdCBzdXBwb3J0IERPTSAzIEV2ZW50cyBGb2N1c0V2ZW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6IGh0dHA6Ly93d3cudzMu
b3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLUZvY3VzRXZlbnQKKworICAgICAgICBD
cmVhdGVkIGEgbmV3IEZvY3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmli
dXRlLiAgTW92ZWQKKyAgICAgICAgdGhlIHtGb2N1cyxCbHVyLEZvY3VzSW4sRm9jdXNPdXR9RXZl
bnREaXNwYXRjaE1lZGlhdG9yIGNsYXNzZXMgaW5zaWRlIEZvY3VzRXZlbnQuCisgICAgICAgIE5v
dyB3aGVuIGZvY3VzaW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVkLCBhIEZvY3Vz
RXZlbnQgaXMgY3JlYXRlZCB3aXRoCisgICAgICAgIHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0
ZSBzZXQgYWNjb3JkaW5nbHkuCisKKyAgICAgICAgVGVzdDogZmFzdC9ldmVudHMvcmVsYXRlZC10
YXJnZXQtZm9jdXNldmVudC5odG1sCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVu
dC1jcmVhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvZXZlbnQtY3Jl
YXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2
ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRlZC10
YXJnZXQtZm9jdXNldmVudC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMS0yNyAgS2VudGFybyBIYXJh
ICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IENvbXBvc2l0aW9u
RXZlbnQgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA5YTVm
OWRiMzcxMTBlNTQ2OTAwOTJkYTQ3Yjk4NGZkM2I2M2I2NjZmLi5jZmRjYzJlMzE4MmYzYTg0NGUx
ZjZlOTQ5ZjQ1ZDcwMGUzMDU3ODNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0CkBA
IC02MSwyMyArNjEsMjMgQEAgUEFTUyBkaXNwYXRjaGVkRXZlbnQoIm1vdXNlb3V0IikgaXMgWyJk
aXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0coPC1zaGFkb3cKIAogTW92ZSBmb2N1cyBm
cm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Yg
c2hhZG93IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2QiB0byBkaXZDCi1QQVNTIGRp
c3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2QyhAZGl2QykiLCAiZGl2QyhAZGl2QSki
XQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMgWyJkaXZCKEBkaXZCKSIsICJk
aXZCKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2Qyg8
LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2QikoQGRpdkEpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2
ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2Qig8LWRpdkMpKEBkaXZCKSIsICJkaXZCKDwtZGl2Qyko
QGRpdkEpIl0KIAogT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBp
biBzZXBhcmF0ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcg
c3VyZSB0aGF0IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNv
bW1vbiBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIHNoYWRvd0Qvc2hhZG93Ri9zaGFkb3dH
L2RpdkggdG8gc2hhZG93RC9zaGFkb3dLL2RpdkwKLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1
c2luIikgaXMgWyJkaXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBk
aXZKKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBbImRpdkgoQGRpdkgp
IiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwgInNoYWRvd0YoQGRp
dkUpIl0KK0ZBSUwgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgc2hvdWxkIGJlIGRpdkwoPC1z
aGFkb3dGKShAZGl2TCksc2hhZG93Syg8LXNoYWRvd0YpKEBzaGFkb3dLKSxzaGFkb3dLKDwtc2hh
ZG93RikoQGRpdkopLiBXYXMgZGl2TCg8LWRpdkgpKEBkaXZMKSxzaGFkb3dLKDwtZGl2SCkoQHNo
YWRvd0spLHNoYWRvd0soPC1kaXZIKShAZGl2Siksc2hhZG93RCg8LWRpdkgpKEBzaGFkb3dEKSxz
aGFkb3dEKDwtZGl2SCkoQGRpdkEpLgorRkFJTCBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0Iikg
c2hvdWxkIGJlIGRpdkgoPC1zaGFkb3dLKShAZGl2SCksc2hhZG93Ryg8LXNoYWRvd0spKEBzaGFk
b3dHKSxzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpLHNoYWRvd0YoPC1zaGFkb3dLKShAZGl2
RSkuIFdhcyBkaXZIKDwtZGl2TCkoQGRpdkgpLHNoYWRvd0coPC1kaXZMKShAc2hhZG93Ryksc2hh
ZG93Rig8LWRpdkwpKEBzaGFkb3dGKSxzaGFkb3dGKDwtZGl2TCkoQGRpdkUpLHNoYWRvd0QoPC1k
aXZMKShAc2hhZG93RCksc2hhZG93RCg8LWRpdkwpKEBkaXZBKS4KIAogTW92ZSBmb2N1cyBmcm9t
IGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hh
ZG93IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2QiB0byBkaXZDCi1QQVNTIGRpc3Bh
dGNoZWRFdmVudCgiZm9jdXMiKSBpcyBbImRpdkMoQGRpdkEpKGNhcHR1cmluZyBwaGFzZSkiLCAi
ZGl2QyhAZGl2QykiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImJsdXIiKSBpcyBbImRpdkIoQGRp
dkEpKGNhcHR1cmluZyBwaGFzZSkiLCAiZGl2QihAZGl2QikiXQorRkFJTCBkaXNwYXRjaGVkRXZl
bnQoImZvY3VzIikgc2hvdWxkIGJlIGRpdkMoQGRpdkEpKGNhcHR1cmluZyBwaGFzZSksZGl2QyhA
ZGl2QykuIFdhcyBkaXZDKDwtZGl2QikoQGRpdkEpKGNhcHR1cmluZyBwaGFzZSksZGl2Qyg8LWRp
dkIpKEBkaXZDKS4KK0ZBSUwgZGlzcGF0Y2hlZEV2ZW50KCJibHVyIikgc2hvdWxkIGJlIGRpdkIo
QGRpdkEpKGNhcHR1cmluZyBwaGFzZSksZGl2QihAZGl2QikuIFdhcyBkaXZCKDwtZGl2QykoQGRp
dkEpKGNhcHR1cmluZyBwaGFzZSksZGl2Qig8LWRpdkMpKEBkaXZCKS4KIAogT2xkIGZvY3VzZWQg
bm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3VidHJlZXMsIGNy
b3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2ZW50IGlzIG5v
dCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4KIE1vdmluZyBm
b2N1cyBmcm9tIHNoYWRvd0Qvc2hhZG93Ri9zaGFkb3dHL2RpdkggdG8gc2hhZG93RC9zaGFkb3dL
L2RpdkwKLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1cyIpIGlzIFsic2hhZG93SyhAZGl2Siko
Y2FwdHVyaW5nIHBoYXNlKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIsICJkaXZMKEBkaXZMKSJdCi1Q
QVNTIGRpc3BhdGNoZWRFdmVudCgiYmx1ciIpIGlzIFsic2hhZG93RihAZGl2RSkoY2FwdHVyaW5n
IHBoYXNlKSIsICJzaGFkb3dGKEBzaGFkb3dGKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJkaXZI
KEBkaXZIKSJdCitGQUlMIGRpc3BhdGNoZWRFdmVudCgiZm9jdXMiKSBzaG91bGQgYmUgc2hhZG93
SyhAZGl2SikoY2FwdHVyaW5nIHBoYXNlKSxzaGFkb3dLKEBzaGFkb3dLKSxkaXZMKEBkaXZMKS4g
V2FzIHNoYWRvd0QoPC1kaXZIKShAZGl2QSkoY2FwdHVyaW5nIHBoYXNlKSxzaGFkb3dEKDwtZGl2
SCkoQHNoYWRvd0QpLHNoYWRvd0soPC1kaXZIKShAZGl2SikoY2FwdHVyaW5nIHBoYXNlKSxzaGFk
b3dLKDwtZGl2SCkoQHNoYWRvd0spLGRpdkwoPC1kaXZIKShAZGl2TCkuCitGQUlMIGRpc3BhdGNo
ZWRFdmVudCgiYmx1ciIpIHNob3VsZCBiZSBzaGFkb3dGKEBkaXZFKShjYXB0dXJpbmcgcGhhc2Up
LHNoYWRvd0YoQHNoYWRvd0YpLHNoYWRvd0coQHNoYWRvd0cpLGRpdkgoQGRpdkgpLiBXYXMgc2hh
ZG93RCg8LWRpdkwpKEBkaXZBKShjYXB0dXJpbmcgcGhhc2UpLHNoYWRvd0QoPC1kaXZMKShAc2hh
ZG93RCksc2hhZG93Rig8LWRpdkwpKEBkaXZFKShjYXB0dXJpbmcgcGhhc2UpLHNoYWRvd0YoPC1k
aXZMKShAc2hhZG93Riksc2hhZG93Ryg8LWRpdkwpKEBzaGFkb3dHKSxkaXZIKDwtZGl2TCkoQGRp
dkgpLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2
ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1l
dmVudHMuaHRtbAppbmRleCA5MzNkZTc0N2Y3ZTg0YTY5NTJiMzdiMjAzYTY5NThlZDg4YmQyNWZl
Li44ZGZjMGM3NjQ1ODYzMjIyMjlmNWU3ZWIwNDM4NmZhNTgzZjZiMmZlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0
bWwKQEAgLTE4MCwxMyArMTgwLDEzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIC8vIFRlc3QgZm9y
IGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzLgogICAgIG1vdmVGb2N1cygnZGl2QicsICdkaXZDJywK
ICAgICAgICAgICAgICAgJ01vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9k
ZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4nKTsKLSAgICBzaG91
bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZDKEBkaXZDKSIsICJkaXZD
KEBkaXZBKSJdJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScs
ICdbImRpdkIoQGRpdkIpIiwgImRpdkIoQGRpdkEpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0
Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZDKDwtZGl2QikoQGRpdkMpIiwgImRpdkMoPC1k
aXZCKShAZGl2QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0
IiknLCAnWyJkaXZCKDwtZGl2QykoQGRpdkIpIiwgImRpdkIoPC1kaXZDKShAZGl2QSkiXScpOwog
CiAgICAgbW92ZUZvY3VzKCdzaGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIJywgJ3NoYWRvd0Qv
c2hhZG93Sy9kaXZMJywKICAgICAgICAgICAgICAgJ09sZCBmb2N1c2VkIG5vZGUgYW5kIG5ldyBm
b2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9zc2luZyBzaGFkb3cg
Ym91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCBi
ZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91bmRhcnkuJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3Bh
dGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2TChAZGl2TCkiLCAic2hhZG93SyhAc2hhZG93
SykiLCAic2hhZG93SyhAZGl2SikiXScpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQo
ImZvY3Vzb3V0IiknLCAnWyJkaXZIKEBkaXZIKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJzaGFk
b3dGKEBzaGFkb3dGKSIsICJzaGFkb3dGKEBkaXZFKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3Bh
dGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2TCg8LXNoYWRvd0YpKEBkaXZMKSIsICJzaGFk
b3dLKDwtc2hhZG93RikoQHNoYWRvd0spIiwgInNoYWRvd0soPC1zaGFkb3dGKShAZGl2SikiXScp
OworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZIKDwt
c2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0coPC1zaGFkb3dLKShAc2hhZG93RykiLCAic2hhZG93
Rig8LXNoYWRvd0spKEBzaGFkb3dGKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQGRpdkUpIl0nKTsK
IAogICAgIC8vIE9taXR0ZWQgdGVzdCBjYXNlcyB3aGVyZSBlaXRoZXIgYSBvbGRGb2N1c2VkTm9k
ZSBvciBuZXdGb2N1c2VkTm9kZSBpcyBhbiBhbmNlc3RvciBvZiB0aGUgb3RoZXIuCiAgICAgLy8g
RHVlIHRvIGEgZm9jdXMgdHJhbnNmZXIgbWVjaGFuaXNtIG9uIHNoYWRvdyBob3N0cywgYSBmb2N1
c2VkIG5vZGUgc2hvdWxkIGJlIGEgbGVhZiBub2RlIGluIGdlbmVyYWwuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggMDU3
MjlkNzY5OTAzZTRhZmIxODdkNzc5ODI5NzM4NzQ3NmVhMDBmYS4uNTFiZDlhZTNlODE5NzdhMTEy
NWE1MTI4Mzc3ZDkzNWI5MDIyZDQ1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMjEsNiArMjEsMTAgQEAgUEFTUyBk
b2N1bWVudC5jcmVhdGVFdmVudCgnQ3VzdG9tRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93
LkN1c3RvbUV2ZW50IGlzIHQKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQn
KSBpbnN0YW5jZW9mIHdpbmRvdy5FcnJvckV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3Jl
YXRlRXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCBpcyB0cnVlCiBQ
QVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykuY29uc3RydWN0b3IgPT09IHdp
bmRvdy5FcnJvckV2ZW50IGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3Vz
RXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5Gb2N1c0V2ZW50IGlzIHRydWUKK1BBU1MgZG9jdW1l
bnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5VSUV2ZW50IGlz
IHRydWUKK1BBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9m
IHdpbmRvdy5FdmVudCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2
ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5Gb2N1c0V2ZW50IGlzIHRydWUKIFBBU1MgZG9j
dW1lbnQuY3JlYXRlRXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93Lkhh
c2hDaGFuZ2VFdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hh
bmdlRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93Lkhh
c2hDaGFuZ2VFdmVudCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9ldmVudC1jcmVhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3Jl
YXRpb24uaHRtbAppbmRleCA2YTVlMmM4N2MzMDZkYzI1OGNhNTM3MTY2YjZkN2Y4NDc4ZGVjYjA3
Li4zZTRmNjZhZDEyYjFkMDRmODA3YWE0ZjgwYTQ4YjU3MDhmYjQ2ZDY2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwKQEAgLTM3LDYgKzM3LDEyIEBACiAg
ICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3Rh
bmNlb2Ygd2luZG93LkV2ZW50Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVF
dmVudCgnRXJyb3JFdmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRXJyb3JFdmVudCIpOwog
CisgICAgLy8gRm9jdXNFdmVudAorICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5Gb2N1c0V2ZW50Iik7CisgICAgc2hv
dWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Yg
d2luZG93LlVJRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50
KCdGb2N1c0V2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKKyAgICBzaG91bGRCZVRy
dWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykuY29uc3RydWN0b3IgPT09IHdp
bmRvdy5Gb2N1c0V2ZW50Iik7ICAgIAorCiAgICAgLy8gSGFzaENoYW5nZUV2ZW50CiAgICAgc2hv
dWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFu
Y2VvZiB3aW5kb3cuSGFzaENoYW5nZUV2ZW50Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVu
dC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQi
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZv
Y3VzZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10
YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWI2NTliNWIxMDAzZWJi
YzEyMzlkNjg5YmQ0MDczMmRlMWJhOTRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTUgQEAKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBudWxsCitQQVNTIGV2ZW50
LnJlbGF0ZWRUYXJnZXQgaXMgYnV0dG9uMgorUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIGJ1
dHRvbjEKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBidXR0b24zCitQQVNTIGV2ZW50LnJl
bGF0ZWRUYXJnZXQgaXMgYnV0dG9uMgorUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIGJ1dHRv
bjQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorQ2hl
Y2tzIHRoYXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVj
dHMgaXMgYmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFy
ZSBkaXNwYXRjaGVkLiBQcmVzcyB0YWIgZm91ciB0aW1lcyB0byBkaXNwYXRjaCBhIGZvY3VzaW4g
YW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworQnV0dG9uMSBCdXR0b24yIEJ1dHRvbjMgQnV0dG9u
NApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9j
dXNldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9j
dXNldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZTM1MDM4ZTk5NDEwNzAwOGZhMzI4ZTY5YTI3NjAz
ZDNlYTllNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxh
dGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxidXR0b24gaWQ9
ImJ1dHRvbjEiPkJ1dHRvbjE8L2J1dHRvbj4KKzxidXR0b24gaWQ9ImJ1dHRvbjIiPkJ1dHRvbjI8
L2J1dHRvbj4KKzxidXR0b24gaWQ9ImJ1dHRvbjMiPkJ1dHRvbjM8L2J1dHRvbj4KKzxidXR0b24g
aWQ9ImJ1dHRvbjQiPkJ1dHRvbjQ8L2J1dHRvbj4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJp
YnV0ZSBmb3IgRm9jdXNFdmVudCBvYmplY3RzIGlzIGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBm
b2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZC4gIDxiPlByZXNzIHRhYiBmb3Vy
IHRpbWVzPC9iPiB0byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBl
YWNoIG9mIHRoZSBidXR0b25zIGJlbG93LiIpOworCit2YXIgYnV0dG9uMSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdidXR0b24xJyk7Cit2YXIgYnV0dG9uMiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdidXR0b24yJyk7Cit2YXIgYnV0dG9uMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdidXR0b24zJyk7CisKK2J1dHRvbjEuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGZ1bmN0
aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ251bGwnKTsgfSk7
CitidXR0b24xLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsg
c2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0dG9uMicpOyB9KTsKK2J1dHRvbjIu
YWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdl
dmVudC5yZWxhdGVkVGFyZ2V0JywgJ2J1dHRvbjEnKTsgfSk7CitidXR0b24yLmFkZEV2ZW50TGlz
dGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0
ZWRUYXJnZXQnLCAnYnV0dG9uMycpOyB9KTsKK2J1dHRvbjMuYWRkRXZlbnRMaXN0ZW5lcigiZm9j
dXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0Jywg
J2J1dHRvbjInKTsgfSk7CitidXR0b24zLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVu
Y3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0dG9uNCcp
OyBmaW5pc2hKU1Rlc3QoKTsgfSk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7Cisg
ICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185233</attachid>
            <date>2013-01-29 06:17:08 -0800</date>
            <delta_ts>2013-02-03 22:02:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20130129231354.patch</filename>
            <type>text/plain</type>
            <size>53402</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxMDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTNmMTY5Nzg5OGYyZDNm
YTcxMWYxZDIyN2U0YWZkZDg1MGUyNWNmYy4uZGE3MDJjYTZjOWNhNzIzYzA3ZmQxZmZjY2U5Y2Vj
ZGJhODFmZjU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzOSBAQAorMjAxMy0wMS0yOSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViS2l0IGRvZXMg
bm90IHN1cHBvcnQgRE9NIDMgRXZlbnRzIEZvY3VzRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvRE9N
LUxldmVsLTMtRXZlbnRzLyNldmVudHMtRm9jdXNFdmVudAorCisgICAgICAgIENyZWF0ZWQgYSBu
ZXcgRm9jdXNFdmVudCBjbGFzcyB3aXRoIGEgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUuICBNb3Zl
ZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixGb2N1c091dH1FdmVudERpc3BhdGNo
TWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4KKyAgICAgICAgTm93IHdoZW4gZm9j
dXNpbiBvciBmb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQsIGEgRm9jdXNFdmVudCBpcyBj
cmVhdGVkIHdpdGgKKyAgICAgICAgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIHNldCBhY2Nv
cmRpbmdseS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1
c2V2ZW50Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAg
ICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NQWxsSW5P
bmUuY3BwOgorICAgICAgICAqIGRvbS9FdmVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dDo6aXNGb2N1c0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9FdmVu
dC5oOgorICAgICAgICAoRXZlbnQpOgorICAgICAgICAqIGRvbS9FdmVudENvbnRleHQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRDb250ZXh0OjpoYW5kbGVMb2NhbEV2ZW50cyk6CisgICAg
ICAgICogZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHA6CisgICAgICAgICogZG9tL0V2ZW50
RGlzcGF0Y2hNZWRpYXRvci5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAg
ICAqIGRvbS9Gb2N1c0V2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9jdXNFdmVudDo6fkZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudDo6
aW50ZXJmYWNlTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50Ojppc0ZvY3VzRXZl
bnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZv
Y3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNJbkV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c091dEV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6ZXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6Rm9j
dXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpC
bHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQpOgor
ICAgICAgICAqIGRvbS9Gb2N1c0V2ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChGb2N1c0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpyZWxhdGVkVGFyZ2V0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OnNldFJlbGF0ZWRUYXJnZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6dG9Gb2N1c0V2ZW50KToKKyAgICAgICAgKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0
b3IpOgorICAgICAgICAoRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAo
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAgICAoQmx1ckV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcik6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5F
dmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3Bh
dGNoRm9jdXNPdXRFdmVudCk6CisgICAgICAgICogZG9tL1VJRXZlbnQuY3BwOgorICAgICAgICAq
IGRvbS9VSUV2ZW50Lmg6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgor
ICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAg
ICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9t
L0V2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50Ojppc0ZvY3VzRXZlbnQpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChFdmVudCk6
CisgICAgICAgICogZG9tL0V2ZW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dENvbnRleHQ6OmhhbmRsZUxvY2FsRXZlbnRzKToKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRj
aE1lZGlhdG9yLmNwcDoKKyAgICAgICAgKiBkb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmg6Cisg
ICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNFdmVu
dDo6Rm9jdXNFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50Ojp+Rm9jdXNFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjppbnRlcmZhY2VOYW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnQ6OmlzRm9jdXNFdmVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRp
YXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpk
aXNwYXRjaEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVk
aWF0b3I6OmV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Rm9jdXNPdXRFdmVudERpc3BhdGNo
TWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpldmVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpGb2N1c0V2ZW50RGlzcGF0
Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRv
cjo6ZGlzcGF0Y2hFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpCbHVyRXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpCbHVy
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KToKKyAgICAgICAgKiBkb20vRm9j
dXNFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1
c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnRvRm9jdXNFdmVu
dCk6CisgICAgICAgIChGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEZv
Y3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKToKKyAgICAgICAgKEZvY3VzRXZlbnREaXNwYXRj
aE1lZGlhdG9yKToKKyAgICAgICAgKEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IpOgorICAgICAg
ICAqIGRvbS9Gb2N1c0V2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogZG9tL05vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQpOgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQp
OgorICAgICAgICAqIGRvbS9VSUV2ZW50LmNwcDoKKyAgICAgICAgKiBkb20vVUlFdmVudC5oOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDoKKwogMjAxMy0wMS0yNyAgS2VudGFybyBIYXJh
ICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IENvbXBvc2l0aW9u
RXZlbnQgY29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggY2VjYTRmYzJiZjg2MGMw
NzI1MjY5ZGFiMGQyM2NiY2EyMWY2Mjk5Ny4uMDg0YTg5NzdmYjNiYmM0Mzk2MzFlMDM4MjFlNjRj
MmU4YjM4OGNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM2OCw2ICszNjgsNyBAQCBzZXQo
V2ViQ29yZV9JRExfRklMRVMKICAgICBkb20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAgZG9tL0V2
ZW50LmlkbAogICAgIGRvbS9FdmVudFRhcmdldC5pZGwKKyAgICBkb20vRm9jdXNFdmVudC5pZGwK
ICAgICBkb20vSGFzaENoYW5nZUV2ZW50LmlkbAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmlkbAog
ICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5pZGwKQEAgLTExNzcsNiArMTE3OCw3IEBAIHNldChXZWJD
b3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRUYXJnZXQuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkJh
c2UuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAKKyAgICBkb20vRm9j
dXNFdmVudC5jcHAKICAgICBkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCiAgICAgZG9tL0dlc3R1
cmVFdmVudC5jcHAKICAgICBkb20vSWNvblVSTC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAppbmRleCAzZTRmNTkwODBkZGI2YTM0OGQ5NzliODM4OWM5ZWJhOWFhOGU1NzI3Li4wMzIzNmMw
ZGM3MmM4YjE1ZmYxMjMzMzVjZDc1MjQ1NmQzZWRlZDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCkBAIC0xMzYsNiArMTM2LDcgQEAKICNpbmNsdWRlICJKU0ZpbGVXcml0ZXJTeW5jLmNw
cCIKICNpbmNsdWRlICJKU0Zsb2F0MzJBcnJheS5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDY0QXJy
YXkuY3BwIgorI2luY2x1ZGUgIkpTRm9jdXNFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNHZW9sb2Nh
dGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNHZW9wb3NpdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNIYXNo
Q2hhbmdlRXZlbnQuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYmQ1ZjQ1
ODQ1NjgyNDk1YWY5NmU4ZGYwYjk0YmJhY2RmN2RmM2RmZC4uODgyZWU3ZTgzOWRiOGIwOGY2NjA2
ZDFhNjI4ZjNmNGQ0NGZjMTk2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0y
MzUsNiArMjM1LDcgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50
RXhjZXB0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRMaXN0ZW5lci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20v
Rm9jdXNFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4
IDRiMjI4MmU1OWY5YjE4MGMxMjY4YjU4MjQ5YjViYmVkYmFkYTNkNDQuLjQxMTlkZjZmMTBjMjY0
NDU3MDMxYmI4NmEwOTRjZGNhZDQzOWRlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkK
QEAgLTI0OCw2ICsyNDgsNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL2RvbS9FdmVu
dEV4Y2VwdGlvbi5pZGwgXAogIyAgICAkJFBXRC9kb20vRXZlbnRMaXN0ZW5lci5pZGwgXAogICAg
ICQkUFdEL2RvbS9FdmVudFRhcmdldC5pZGwgXAorICAgICQkUFdEL2RvbS9Gb2N1c0V2ZW50Lmlk
bCBcCiAgICAgJCRQV0QvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9L
ZXlib2FyZEV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL01vdXNlRXZlbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGM0NmIzMmMyYWYzZDczODA1ZWY1NWQyNzRhMTAz
NTRiYzAyOWZlMWIuLjFjMTRiYjAxYThlOTFjN2JkYzQ3NzBhZjI3YzY0ZmNmMTY2ODViODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjg2LDYgKzI4Niw4IEBAIHdlYmNvcmVf
YnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJh
eS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0NjRBcnJheS5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRm9jdXNFdmVudC5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1
c0V2ZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHYW1lcGFkLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dhbWVwYWQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0dhbWVwYWRMaXN0LmNwcCBcCkBAIC0xMzgyLDYgKzEzODQsNyBAQCBkb21fYmluZGluZ19p
ZGxzICs9IFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2
ZW50VGFyZ2V0LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKKwkk
KFdlYkNvcmUpL2RvbS9Gb2N1c0V2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vSGFzaENoYW5n
ZUV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogCSQoV2Vi
Q29yZSkvZG9tL01lc3NhZ2VDaGFubmVsLmlkbCBcCkBAIC0yODUxLDYgKzI4NTQsOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmggXAorCVNvdXJjZS9XZWJD
b3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQu
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUv
ZG9tL0dlc3R1cmVFdmVudC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDRiOWNkZmFjYmJhOTMyZmZlYmNm
NDM0NTJmMmViZWVjMGQ4ZmU0MzMuLjE4MDA5NjcyMWUyZmU2NWQ4ZmI1ZmU0ZWQ2Y2MzZmRmMGM1
YzBjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDAxLDYgKzQwMSw3IEBAIFNPVVJDRVMgKz0gXAogICAg
IGRvbS9FdmVudFRhcmdldC5jcHAgXAogICAgIGRvbS9FeGNlcHRpb25CYXNlLmNwcCBcCiAgICAg
ZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgXAorICAgIGRvbS9Gb2N1c0V2ZW50LmNw
cCBcCiAgICAgZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcCBcCiAgICAgZG9tL0dlc3R1cmVFdmVu
dC5jcHAgXAogICAgIGRvbS9JY29uVVJMLmNwcCBcCkBAIC0xNjEwLDYgKzE2MTEsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2Uu
aCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUuaCBcCisgICAgZG9tL0ZvY3VzRXZlbnQuaCBcCiAg
ICAgZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5oIFwKICAgICBkb20vR2VzdHVyZUV2
ZW50LmggXAogICAgIGRvbS9JZFRhcmdldE9ic2VydmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGZhMzUwZWFkMDk1YjZhNjk4NTQ0OTY5Y2M1MWY3Y2NiNGFmYzRlMTUuLmViNjM5NzVmZjZiZDBm
NDRmZWI3ZDg4NGU1OTI2YzYyOGZhYzNhYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyNCw2ICsy
MjQsNyBAQAogICAgICAgICAgICAgJ2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAg
ICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0
LmlkbCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdk
b20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZlbnQu
aWRsJywKICAgICAgICAgICAgICdkb20vTWVzc2FnZUNoYW5uZWwuaWRsJywKQEAgLTI1OSw2ICsy
NjAsNyBAQAogICAgICAgICAgICAgJ2RvbS9UcmFuc2l0aW9uRXZlbnQuaWRsJywKICAgICAgICAg
ICAgICdkb20vVHJlZVdhbGtlci5pZGwnLAogICAgICAgICAgICAgJ2RvbS9VSUV2ZW50LmlkbCcs
CisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2Vi
S2l0QW5pbWF0aW9uRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vV2ViS2l0TmFtZWRGbG93
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGwnLApAQCAt
MjgyMiw2ICsyODI0LDcgQEAKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5jcHAnLAog
ICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25CYXNlLmgnLAogICAgICAgICAgICAgJ2RvbS9FeGNl
cHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5j
cHAnLAogICAgICAgICAgICAgJ2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAnLAogICAgICAgICAg
ICAgJ2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oJywKICAgICAgICAgICAgICdkb20vR2VzdHVyZUV2
ZW50LmNwcCcsCkBAIC0yOTU4LDYgKzI5NjEsNyBAQAogICAgICAgICAgICAgJ2RvbS9UcmVlV2Fs
a2VyLmNwcCcsCiAgICAgICAgICAgICAnZG9tL1RyZWVXYWxrZXIuaCcsCiAgICAgICAgICAgICAn
ZG9tL1VJRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5jcHAnLAogICAg
ICAgICAgICAgJ2RvbS9VSUV2ZW50V2l0aEtleVN0YXRlLmNwcCcsCiAgICAgICAgICAgICAnZG9t
L1VzZXJBY3Rpb25FbGVtZW50U2V0LmgnLAogICAgICAgICAgICAgJ2RvbS9Vc2VyQWN0aW9uRWxl
bWVudFNldC5jcHAnLApAQCAtNjM1Myw2ICs2MzU3LDggQEAKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJB
cnJheS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNGbG9hdDMyQXJyYXkuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNFdmVudC5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRp
b24uY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR2VvbG9jYXRpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0dlb3Bvc2l0aW9uLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWJiMzZjMzBhMzQ0NTg5
ODg4YWE1ZWRmNThhNTY1Y2EzNGIzNGY3Yi4uMmE0MTZmZTM5MTBmZGRjYTc5ZWUyMTQzMzI5NDhm
NGUxNjk0ODg5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTM1NCw2ICs1MzU0LDEwIEBACiAJCUI2NThGRkEyMTUyMkVGM0Ew
MERENTU5NSAvKiBKU1JhZGlvTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEI2NThGRkEwMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9k
ZUxpc3QuaCAqLzsgfTsKIAkJQjY1OEZGQTUxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1
OEZGQTMxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwICovOyB9OwogCQlCNjU4
RkZBNjE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8q
IFJhZGlvTm9kZUxpc3QuaCAqLzsgfTsKKwkJQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZv
Y3VzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI2RDlEMjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi87IH07CisJCUI2RDlE
MjM2MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBG
b2N1c0V2ZW50LmNwcCAqLzsgfTsKKwkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9j
dXNFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjZEOUQyNzkxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oICovOyB9OworCQlCNkQ5
RDI3QzE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAv
KiBKU0ZvY3VzRXZlbnQuY3BwICovOyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVGNzcgLyog
UHJpbnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODExMTlCOTkx
MTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJh
bnNjb2Rlci5jcHAgKi87IH07CiAJCUI3MzRCMTgzMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJh
bnNjb2Rlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjczNEIxODIxMTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi87IH07CkBAIC0x
Mjg0OSw2ICsxMjg1MywxMSBAQAogCQlCNjU4RkZBMDE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRp
b05vZGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmFkaW9Ob2Rl
TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjU4RkZBMzE1MjJFRkFBMDBE
RDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSYWRpb05vZGVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjY1OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmFkaW9Ob2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvY3VzRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyog
Rm9jdXNFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRm9jdXNFdmVudC5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBK
U0ZvY3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjdBMTRFQUMwODYwMDkw
RDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNGb2N1c0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjcz
NEIxODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5z
Y29kZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
NzM0QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29kZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0Ex
MTA0NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE5NTMxLDYgKzE5NTQwLDggQEAKIAkJCQlFMUFERUREOTBFNzZCRDkzMDA0QTFBNUUgLyogSlNN
ZXNzYWdlUG9ydC5jcHAgKi8sCiAJCQkJRTFBREVERDgwRTc2QkQ5MzAwNEExQTVFIC8qIEpTTWVz
c2FnZVBvcnQuaCAqLywKIAkJCQlBODY2MjlDQzA5REEyQjQ3MDA5NjMzQTUgLyogSlNNb3VzZUV2
ZW50LmNwcCAqLywKKwkJCQlCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50
LmggKi8sCisJCQkJQjZEOUQyN0ExNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAg
Ki8sCiAJCQkJQTg2NjI5Q0IwOURBMkI0NzAwOTYzM0E1IC8qIEpTTW91c2VFdmVudC5oICovLAog
CQkJCTY1REYzMUU3MDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuY3BwICovLAog
CQkJCTY1REYzMUU4MDlEMUNDNjAwMDBCRTMyNSAvKiBKU011dGF0aW9uRXZlbnQuaCAqLywKQEAg
LTIyMTg2LDYgKzIyMTk3LDcgQEAKIAkJRjUyM0QzMjQwMkRFNDQ3ODAxODYzNUNBIC8qIGRvbSAq
LyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQjZEOUQyNzIx
NEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovLAogCQkJCUUxQzRERTZEMEVBNzVD
NjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3BwICovLAogCQkJCUUxQzRERTY4MEVBNzVD
MUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAqLywKIAkJCQlBNzVDQkU0MzE2OUU5MTNE
MDAwM0E2MEYgLyogQW5jZXN0b3JDaGFpbldhbGtlci5jcHAgKi8sCkBAIC0yMjU4Myw2ICsyMjU5
NSw4IEBACiAJCQkJOTNFRUMxRjcwOUMyODc3NzAwQzUxNUQxIC8qIFdoZWVsRXZlbnQuaWRsICov
LAogCQkJCTQxMjNFNTY4MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQuY3Bw
ICovLAogCQkJCTQxMjNFNTY3MTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQu
aCAqLywKKwkJCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovLAor
CQkJCUI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gZG9tOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI0MTUzLDYg
KzI0MTY3LDcgQEAKIAkJCQlENzJGNkQ3QTE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0OTkzQkU2MEIyRjJCMUMwMDUwNDk3RiAv
KiBGb2N1c0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA2MjI4Nzg0MEI0REIzMjIw
MDBDMzRERiAvKiBGb2N1c0RpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjZEOUQyMzUx
NEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNE
QTYxMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5MkQ0
RjEyOTM1NTBCMDBDODM4N0YgLyogRm9udEJhc2VsaW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MkMzREE2MzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAg
LTI0NjUxLDYgKzI0NjY2LDcgQEAKIAkJCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNG
aWxlV3JpdGVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjAzMTA1MDcwQzQw
MDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCQzVFQjAx
MzhCNTBGMjAwQTBDRjhBIC8qIEpTRmxvYXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlC
NkQ5RDI3QjE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlGREExNUVBQzEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkU4MERBNjQwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUZFODBEQTY2MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb3Bvc2l0aW9u
LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDU5LDYgKzI3NDc1LDcgQEAKIAkJCQlCMjc1MzU3QTBC
MDUzODE0MDAyQ0U2NEYgLyogRmxvYXRTaXplTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRDcy
RjZENzkxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTE0OTkzQkU1MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0NvbnRyb2xsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjZEOUQyMzYxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3Vz
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNjAwRDAwNkNENjAwRUY2RjI2IC8q
IEZvbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNjIwRDAwNkNENjAwRUY2RjI2IC8q
IEZvbnRDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkFGRkM3QzBEMDBBNUMxMDAzMDA3
NEQgLyogRm9udENhY2hlTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0yNzk1OCw2ICsyNzk3NSw3
IEBACiAJCQkJODkzQzQ3QkIxMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNr
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RUVDRjAyMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0Zs
b2F0MzJBcnJheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RUJDNUVBRjEzOEI1MEYyMDBBMENG
OEEgLyogSlNGbG9hdDY0QXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjZEOUQyN0MxNEVB
QzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREEx
NUVBQjEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGRTgwREE2MzBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlGRTgwRDdBQjBFOUMxRUQyMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbkN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01B
bGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IGFm
NDFkODgxZWM4MmY4YTQ5N2YzYjJjMTg3NDg4MWZhNGY1MTE5ODguLmJkNTk4YTAyMzRiNDRmMDY0
YmZkNmIzNzMwZTFhM2U2MmFiYWY4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApA
QCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJF
eGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3Bw
IgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2lu
Y2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXJS
ZWdpc3RyeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCBjMWU2MDlmZjQwYTA2MTFhNzJjMmM3
YzExMDgxNTEyYmViMjhkYzU1Li43ZDhjZmQzMzBmZTkwMGE0MGZiNTIyY2Q2ZWY2YzE1NzllNDhh
ZjJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTExNyw2ICsxMTcsMTEgQEAgYm9vbCBFdmVudDo6
aXNVSUV2ZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRXZlbnQ6Omlz
Rm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgRXZlbnQ6
OmlzTW91c2VFdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaApp
bmRleCAzNmYwMjkzNTZhYWZjYjA3MWMzMWYwMzAxNjE2NzU5N2Y2ZDI1ZGI4Li43NTMxZjhmZThh
ZTUyN2MxMDM2MThjZjlhNTU2YzAwYmViODUxYjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaApAQCAtMTIzLDYg
KzEyMyw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFRoZXNlIGV2ZW50cyBhcmUgZ2VuZXJhbCBjbGFz
c2VzIG9mIGV2ZW50cy4KICAgICB2aXJ0dWFsIGJvb2wgaXNVSUV2ZW50KCkgY29uc3Q7CisgICAg
dmlydHVhbCBib29sIGlzRm9jdXNFdmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc01v
dXNlRXZlbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlib2FyZEV2ZW50KCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIGlzVG91Y2hFdmVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRDb250ZXh0LmNwcAppbmRleCA4ODdmNjgzYjI2YmY5MzFkZTgwMDQ3NzdhYzQ0NWI3MWFl
MDRkZTNjLi4xNjNhZTU4NmI0NDc0ZDQ3MTI5NzA5NjQ1MTM4NGQ0ODI0MDlmZTIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRDb250ZXh0LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKKyNp
bmNsdWRlICJGb2N1c0V2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUg
Ik5vZGUuaCIKIApAQCAtNTEsNiArNTIsOCBAQCB2b2lkIEV2ZW50Q29udGV4dDo6aGFuZGxlTG9j
YWxFdmVudHMoRXZlbnQqIGV2ZW50KSBjb25zdAogICAgIGV2ZW50LT5zZXRDdXJyZW50VGFyZ2V0
KG1fY3VycmVudFRhcmdldC5nZXQoKSk7CiAgICAgaWYgKG1fcmVsYXRlZFRhcmdldC5nZXQoKSAm
JiBldmVudC0+aXNNb3VzZUV2ZW50KCkpCiAgICAgICAgIHRvTW91c2VFdmVudChldmVudCktPnNl
dFJlbGF0ZWRUYXJnZXQobV9yZWxhdGVkVGFyZ2V0LmdldCgpKTsKKyAgICBlbHNlIGlmIChtX3Jl
bGF0ZWRUYXJnZXQuZ2V0KCkgJiYgZXZlbnQtPmlzRm9jdXNFdmVudCgpKQorICAgICAgICB0b0Zv
Y3VzRXZlbnQoZXZlbnQpLT5zZXRSZWxhdGVkVGFyZ2V0KG1fcmVsYXRlZFRhcmdldCk7CiAgICAg
bV9ub2RlLT5oYW5kbGVMb2NhbEV2ZW50cyhldmVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAKaW5kZXggOGRiM2NiMWJhOTIxZDM3MGJkNjdl
NDVkZGNhZmQ4NjYyM2YzN2YyZi4uZTY4Mzc0MDA3MDQ1MzBjYTVmNTI3OGQwZjhiNjMxOTRkNDE5
MzAxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0Y2hNZWRpYXRvci5jcHAK
QEAgLTUyLDM4ICs1Miw0IEBAIGJvb2wgRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2
ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKICAgICByZXR1cm4gZGlzcGF0
Y2hlci0+ZGlzcGF0Y2hFdmVudChtX2V2ZW50LmdldCgpKTsKIH0KIAotUGFzc1JlZlB0cjxGb2N1
c0V2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0
ZShQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQotewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKLX0KLQot
Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBh
c3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0
b3IoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZm9jdXNFdmVudCwgZmFsc2UsIGZhbHNlKSkK
LSAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgRm9j
dXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBk
aXNwYXRjaGVyKSBjb25zdAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQo
ZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxCbHVyRXZl
bnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoUGFz
c1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUpKTsKLX0KLQotQmx1ckV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRy
PE5vZGU+IG5ld0ZvY3VzZWROb2RlKQotICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKEV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmJsdXJFdmVudCwgZmFsc2UsIGZhbHNlKSkKLSAgICAsIG1f
bmV3Rm9jdXNlZE5vZGUobmV3Rm9jdXNlZE5vZGUpCi17Ci19Ci0KLWJvb2wgQmx1ckV2ZW50RGlz
cGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIp
IGNvbnN0Ci17Ci0gICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBt
X25ld0ZvY3VzZWROb2RlKTsKLSAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNw
YXRjaEV2ZW50KGRpc3BhdGNoZXIpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnREaXNwYXRjaE1lZGlhdG9yLmgKaW5kZXggMjZiNjMwNWEyZWU2
M2Q3MDhlYzRjNDcwZGI1YWY3Mjc5Yzc5Y2VjYS4uYzMzNDM0ODc0MDc4N2ViY2YzYTE4ZDBmNmVi
NjNmOTZiZTZhOGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50RGlzcGF0
Y2hNZWRpYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudERpc3BhdGNoTWVkaWF0
b3IuaApAQCAtNTcsMjQgKzU3LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RXZlbnQ+IG1fZXZl
bnQ7CiB9OwogCi1jbGFzcyBGb2N1c0V2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVu
dERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3Vz
RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2Vk
Tm9kZSk7Ci1wcml2YXRlOgotICAgIGV4cGxpY2l0IEZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9y
KFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOwotICAgIHZpcnR1YWwgYm9vbCBkaXNw
YXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0IE9WRVJSSURFOwotICAgIFJlZlB0cjxO
b2RlPiBtX29sZEZvY3VzZWROb2RlOwotfTsKLQotY2xhc3MgQmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVmUHRy
PE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgQmx1ckV2ZW50
RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKTsKLSAgICB2
aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqKSBjb25zdCBPVkVSUklE
RTsKLSAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsKLX07Ci0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmluCmluZGV4IDUxMWJkZjQxY2U2OTRkMjU0YTRiNmY0N2Q2YmJkNWVlYjFi
YjQ0OTIuLjIyMDQ4Y2U3ZmMzMmFiNDQ4ZWViM2M0ZWUzMGZkNzMwZjlmYzZjN2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmluCkBAIC04LDYgKzgsNyBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlv
bkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAogSGFzaENoYW5nZUV2
ZW50CiBLZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1lPUtleWJvYXJk
RXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTgyNDQwY2MwYjgy
OGI3ZDVmY2VmY2NlOWFiZWU3YzY4MTEyNDYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCkBAIC0wLDAgKzEsMTQ4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmgiCisKKyNpbmNsdWRl
ICJFdmVudERpc3BhdGNoZXIuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudCgpCit7Cit9CisKK0ZvY3VzRXZl
bnQ6On5Gb2N1c0V2ZW50KCkKK3sKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBGb2N1c0V2ZW50
OjppbnRlcmZhY2VOYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVy
ZmFjZUZvckZvY3VzRXZlbnQ7Cit9CisKK2Jvb2wgRm9jdXNFdmVudDo6aXNGb2N1c0V2ZW50KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2
ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJibGUs
IGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkKKyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVk
VGFyZ2V0KQoreworfQorCitQYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+
IEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEZvY3VzRXZl
bnQ+IGV2ZW50LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQoreworICAgIHJldHVy
biBhZG9wdFJlZihuZXcgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgb2xkRm9j
dXNlZE5vZGUpKTsKK30KKworRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9jdXNJbkV2
ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGV2ZW50LCBQYXNzUmVm
UHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQorICAgIDogRXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2
ZW50KQorICAgICwgbV9vbGRGb2N1c2VkTm9kZShvbGRGb2N1c2VkTm9kZSkKK3sKK30KKworYm9v
bCBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0
Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKK3sKKyAgICBpZiAoZGlzcGF0Y2hlci0+bm9kZSgpLT5k
aXNhYmxlZCgpKSAvLyBEb24ndCBldmVuIHNlbmQgRE9NIGV2ZW50cyBmb3IgZGlzYWJsZWQgY29u
dHJvbHMuCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAgIGlmIChldmVudCgpLT50eXBl
KCkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7IC8vIFNob3VsZG4ndCBoYXBwZW4u
CisgICAgCisgICAgZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX29s
ZEZvY3VzZWROb2RlKTsKKyAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRj
aEV2ZW50KGRpc3BhdGNoZXIpOyAgIAorfQorCitGb2N1c0V2ZW50KiBGb2N1c0luRXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpldmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZv
Y3VzRXZlbnQqPihFdmVudERpc3BhdGNoTWVkaWF0b3I6OmV2ZW50KCkpOworfQorCitQYXNzUmVm
UHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBGb2N1c091dEV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcjo6Y3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8
Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c091
dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihldmVudCwgbmV3Rm9jdXNlZE5vZGUpKTsKK30KKworRm9j
dXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9y
KFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNl
ZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCisgICAgLCBtX25ld0Zv
Y3VzZWROb2RlKG5ld0ZvY3VzZWROb2RlKQoreworfQorCitib29sIEZvY3VzT3V0RXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciogZGlzcGF0Y2hlcikg
Y29uc3QKK3sKKyAgICBpZiAoZGlzcGF0Y2hlci0+bm9kZSgpLT5kaXNhYmxlZCgpKSAvLyBEb24n
dCBldmVuIHNlbmQgRE9NIGV2ZW50cyBmb3IgZGlzYWJsZWQgY29udHJvbHMuCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIAorICAgIGlmIChldmVudCgpLT50eXBlKCkuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7IC8vIFNob3VsZG4ndCBoYXBwZW4uCisgICAgCisgICAgZGlzcGF0
Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2RlKTsKKyAg
ICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3BhdGNoZXIp
OworfQorCitGb2N1c0V2ZW50KiBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZXZlbnQo
KSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxGb2N1c0V2ZW50Kj4oRXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpldmVudCgpKTsKK30KKworUGFzc1JlZlB0cjxGb2N1c0V2ZW50RGlzcGF0
Y2hNZWRpYXRvcj4gRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRy
PE5vZGU+IG9sZEZvY3VzZWROb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNF
dmVudERpc3BhdGNoTWVkaWF0b3Iob2xkRm9jdXNlZE5vZGUpKTsKK30KKworRm9jdXNFdmVudERp
c3BhdGNoTWVkaWF0b3I6OkZvY3VzRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Tm9k
ZT4gb2xkRm9jdXNlZE5vZGUpCisgICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5mb2N1c0V2ZW50LCBmYWxzZSwgZmFsc2UsIDAsIDAsIG9s
ZEZvY3VzZWROb2RlKSkKKyAgICAsIG1fb2xkRm9jdXNlZE5vZGUob2xkRm9jdXNlZE5vZGUpCit7
Cit9CisKK2Jvb2wgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZl
bnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25zdAoreworICAgIGRpc3BhdGNoZXItPmFkanVz
dFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRGb2N1c2VkTm9kZSk7CisgICAgcmV0dXJuIEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVyKTsKK30KKworUGFz
c1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9yPiBCbHVyRXZlbnREaXNwYXRjaE1lZGlh
dG9yOjpjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEJsdXJFdmVudERpc3BhdGNoTWVkaWF0b3IobmV3Rm9jdXNlZE5vZGUp
KTsKK30KKworQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Qmx1ckV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQorICAgIDogRXZlbnREaXNwYXRj
aE1lZGlhdG9yKEZvY3VzRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuYmx1ckV2ZW50LCBmYWxz
ZSwgZmFsc2UsIDAsIDAsIG5ld0ZvY3VzZWROb2RlKSkKKyAgICAsIG1fbmV3Rm9jdXNlZE5vZGUo
bmV3Rm9jdXNlZE5vZGUpCit7Cit9CisKK2Jvb2wgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6
ZGlzcGF0Y2hFdmVudChFdmVudERpc3BhdGNoZXIqIGRpc3BhdGNoZXIpIGNvbnN0Cit7CisgICAg
ZGlzcGF0Y2hlci0+YWRqdXN0UmVsYXRlZFRhcmdldChldmVudCgpLCBtX25ld0ZvY3VzZWROb2Rl
KTsKKyAgICByZXR1cm4gRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KGRpc3Bh
dGNoZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZjkwMjBkOTRkMWVhNDA1NjY2YzgwMDhjM2ViMzNlOGIyMjFlZGI3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApAQCAtMCww
ICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEZvY3VzRXZlbnRfaAorI2RlZmluZSBG
b2N1c0V2ZW50X2gKKworI2luY2x1ZGUgIkV2ZW50RGlzcGF0Y2hNZWRpYXRvci5oIgorI2luY2x1
ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiVUlFdmVudC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisgICAgCitjbGFzcyBGb2N1c0V2ZW50IDogcHVibGljIFVJRXZlbnQgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZlbnQpOworICAgIH0KKworICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3
PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNh
bkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAg
fQorCisgICAgdmlydHVhbCB+Rm9jdXNFdmVudCgpOworCisgICAgRXZlbnRUYXJnZXQqIHJlbGF0
ZWRUYXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3JlbGF0ZWRUYXJnZXQuZ2V0KCk7IH0KKyAgICB2
b2lkIHNldFJlbGF0ZWRUYXJnZXQoUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdl
dCkgeyBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0OyB9CisgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNGb2N1c0V2ZW50KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRm9jdXNFdmVudCgpOworICAg
IEZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9v
bCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCBkZXRhaWwsIFBhc3NS
ZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpOyAgICAgICAgCisgICAgUmVmUHRyPEV2
ZW50VGFyZ2V0PiBtX3JlbGF0ZWRUYXJnZXQ7Cit9OworICAgIAoraW5saW5lIEZvY3VzRXZlbnQq
IHRvRm9jdXNFdmVudChFdmVudCogZXZlbnQpCit7CisgICAgQVNTRVJUKGV2ZW50ICYmIGV2ZW50
LT5pc0ZvY3VzRXZlbnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZvY3VzRXZlbnQqPihl
dmVudCk7Cit9CisgICAgCitjbGFzcyBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yIDogcHVi
bGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8Rm9jdXNF
dmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworcHJpdmF0ZToKKyAgICBG
b2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NS
ZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2
ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNvbnN0OworICAgIEZvY3VzRXZlbnQqIGV2ZW50KCkgY29u
c3Q7CisgICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNlZE5vZGU7Cit9OworCitjbGFzcyBGb2N1
c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3Ig
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBu
ZXdGb2N1c2VkTm9kZSk7Citwcml2YXRlOgorICAgIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlh
dG9yKFBhc3NSZWZQdHI8Rm9jdXNFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5v
ZGUpOworICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KEV2ZW50RGlzcGF0Y2hlciopIGNv
bnN0OworICAgIEZvY3VzRXZlbnQqIGV2ZW50KCkgY29uc3Q7CisgICAgUmVmUHRyPE5vZGU+IG1f
bmV3Rm9jdXNlZE5vZGU7Cit9OworICAgIAorY2xhc3MgRm9jdXNFdmVudERpc3BhdGNoTWVkaWF0
b3IgOiBwdWJsaWMgRXZlbnREaXNwYXRjaE1lZGlhdG9yIHsgICAgCitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Rm9jdXNFdmVudERpc3BhdGNoTWVkaWF0b3I+IGNyZWF0ZShQYXNzUmVm
UHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgRm9jdXNF
dmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Cisg
ICAgdmlydHVhbCBib29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3Q7Cisg
ICAgUmVmUHRyPE5vZGU+IG1fb2xkRm9jdXNlZE5vZGU7Cit9OyAKKworY2xhc3MgQmx1ckV2ZW50
RGlzcGF0Y2hNZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgeyAgICAgICAK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxCbHVyRXZlbnREaXNwYXRjaE1lZGlhdG9y
PiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7ICAgICAgICAKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgQmx1ckV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPE5v
ZGU+IG5ld0ZvY3VzZWROb2RlKTsKKyAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChFdmVu
dERpc3BhdGNoZXIqKSBjb25zdDsKKyAgICBSZWZQdHI8Tm9kZT4gbV9uZXdGb2N1c2VkTm9kZTsK
K307ICAgICAKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRm9jdXNFdmVu
dF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRlYjBmMWIxZDljOWFk
MTZjOWQ0NTQ5NjFhMTY3NzBjODU0NTIzMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Gb2N1c0V2ZW50LmlkbApAQCAtMCwwICsxLDI4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2lu
dGVyZmFjZSBGb2N1c0V2ZW50IDogVUlFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEV2
ZW50VGFyZ2V0IHJlbGF0ZWRUYXJnZXQ7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDQxMTY5MDE5
ZDJlYjFhOTY3ZmNjNTZjYWYyMmUwMjIzZDU3YmY5ZjkuLjgwZGJlZGMzNzFlMmJkZDZkMDZiOWJh
OTI4NzY5N2RlODMyZGM3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNp
bmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmgiCiAjaW5jbHVkZSAi
RnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5o
IgpAQCAtMjM0NywyMCArMjM0OCw2IEBAIHZvaWQgTm9kZTo6ZGlzcGF0Y2hTdWJ0cmVlTW9kaWZp
ZWRFdmVudCgpCiAgICAgZGlzcGF0Y2hTY29wZWRFdmVudChNdXRhdGlvbkV2ZW50OjpjcmVhdGUo
ZXZlbnROYW1lcygpLkRPTVN1YnRyZWVNb2RpZmllZEV2ZW50LCB0cnVlKSk7CiB9CiAKLXZvaWQg
Tm9kZTo6ZGlzcGF0Y2hGb2N1c0luRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUs
IFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5vZGUpCi17Ci0gICAgQVNTRVJUKCFOb0V2ZW50
RGlzcGF0Y2hBc3NlcnRpb246OmlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKLSAgICBBU1NF
UlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQgfHwgZXZlbnRUeXBlID09
IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnRE
aXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2
ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZp
ZXcoKSwgMCksIG9sZEZvY3VzZWROb2RlKSk7Ci19Ci0KLXZvaWQgTm9kZTo6ZGlzcGF0Y2hGb2N1
c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+
IG5ld0ZvY3VzZWROb2RlKQotewotICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9u
Ojppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7Ci0gICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRP
TUZvY3VzT3V0RXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9y
KEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2
ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDApLCBuZXdG
b2N1c2VkTm9kZSkpOwotfQotCiBib29sIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChp
bnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpCiB7CiAgICAgQVNT
RVJUKCFOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb246OmlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbigp
KTsKQEAgLTI0MTIsNiArMjM5OSwyMCBAQCBib29sIE5vZGU6OmRpc3BhdGNoV2hlZWxFdmVudChj
b25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGV2ZW50KQogICAgIHJldHVybiBFdmVudERpc3BhdGNo
ZXI6OmRpc3BhdGNoRXZlbnQodGhpcywgV2hlZWxFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0
ZShldmVudCwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSkpOwogfQogCit2b2lkIE5vZGU6OmRp
c3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVm
UHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQoreworICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNo
QXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CisgICAgQVNTRVJUKGV2ZW50
VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5h
bWVzKCkuRE9NRm9jdXNJbkV2ZW50KTsKKyAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcihGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVudDo6
Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCks
IDAsIG9sZEZvY3VzZWROb2RlKSwgb2xkRm9jdXNlZE5vZGUpKTsKK30KKwordm9pZCBOb2RlOjpk
aXNwYXRjaEZvY3VzT3V0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NS
ZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCit7CisgICAgQVNTRVJUKCFOb0V2ZW50RGlzcGF0
Y2hBc3NlcnRpb246OmlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKKyAgICBBU1NFUlQoZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c291dEV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVu
dE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVudCk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3Bh
dGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2
ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZp
ZXcoKSwgMCwgbmV3Rm9jdXNlZE5vZGUpLCBuZXdGb2N1c2VkTm9kZSkpOworfQorCiB2b2lkIE5v
ZGU6OmRpc3BhdGNoRm9jdXNFdmVudChQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKQog
ewogICAgIGlmIChkb2N1bWVudCgpLT5wYWdlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVUlFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5jcHAKaW5kZXgg
Yjk3YWIwMGUyZjZmZWQ2YTVmZTRmOTNiZGE0MDc1MTliMzUwNDRjOC4uMGU2MzRlNDA5NDczYTdi
ZDhjZjkzNTcwY2I5YmE3MzQ5OGM1ZDRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1VJRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmNwcApAQCAtMTE1
LDM4ICsxMTUsNCBAQCBpbnQgVUlFdmVudDo6d2hpY2goKSBjb25zdAogICAgIHJldHVybiAwOwog
fQogCi1QYXNzUmVmUHRyPEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I+IEZvY3VzSW5FdmVu
dERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1Jl
ZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZv
Y3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQsIG9sZEZvY3VzZWROb2RlKSk7Ci19Ci0K
LUZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OkZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0
b3IoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NSZWZQdHI8Tm9kZT4gb2xkRm9jdXNlZE5v
ZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3IoZXZlbnQpCi0gICAgLCBtX29sZEZvY3Vz
ZWROb2RlKG9sZEZvY3VzZWROb2RlKQotewotfQotCi1ib29sIEZvY3VzSW5FdmVudERpc3BhdGNo
TWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKiBkaXNwYXRjaGVyKSBjb25z
dAotewotICAgIGRpc3BhdGNoZXItPmFkanVzdFJlbGF0ZWRUYXJnZXQoZXZlbnQoKSwgbV9vbGRG
b2N1c2VkTm9kZSk7Ci0gICAgcmV0dXJuIEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6ZGlzcGF0Y2hF
dmVudChkaXNwYXRjaGVyKTsKLX0KLQotUGFzc1JlZlB0cjxGb2N1c091dEV2ZW50RGlzcGF0Y2hN
ZWRpYXRvcj4gRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShQYXNzUmVmUHRy
PEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yKGV2ZW50LCBu
ZXdGb2N1c2VkTm9kZSkpOwotfQotCi1Gb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Rm9j
dXNPdXRFdmVudERpc3BhdGNoTWVkaWF0b3IoUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBhc3NS
ZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCi0gICAgOiBFdmVudERpc3BhdGNoTWVkaWF0b3Io
ZXZlbnQpCi0gICAgLCBtX25ld0ZvY3VzZWROb2RlKG5ld0ZvY3VzZWROb2RlKQotewotfQotCi1i
b29sIEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpkaXNwYXRjaEV2ZW50KEV2ZW50RGlz
cGF0Y2hlciogZGlzcGF0Y2hlcikgY29uc3QKLXsKLSAgICBkaXNwYXRjaGVyLT5hZGp1c3RSZWxh
dGVkVGFyZ2V0KGV2ZW50KCksIG1fbmV3Rm9jdXNlZE5vZGUpOwotICAgIHJldHVybiBFdmVudERp
c3BhdGNoTWVkaWF0b3I6OmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlcik7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vVUlFdmVudC5oCmluZGV4IGZiZDEzMDk4ODg5ZDgzYWExMWE5
M2I2ZDFiYzQ3ZmZkYTk2ZmZkNGYuLjBjOTA5NTdlZmM2M2I0ZGY2NTIyM2MzZDNjMTEyYTNmY2Nh
OWY1NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9VSUV2ZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1VJRXZlbnQuaApAQCAtODQsMjQgKzg0LDYgQEAgcHJpdmF0ZToKICAg
ICBpbnQgbV9kZXRhaWw7CiB9OwogCi1jbGFzcyBGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9y
IDogcHVibGljIEV2ZW50RGlzcGF0Y2hNZWRpYXRvciB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8Rm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcj4gY3JlYXRlKFBhc3NSZWZQdHI8
RXZlbnQ+LCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKLXByaXZhdGU6Ci0gICAg
ZXhwbGljaXQgRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRyPEV2ZW50Piwg
UGFzc1JlZlB0cjxOb2RlPiBvbGRGb2N1c2VkTm9kZSk7Ci0gICAgdmlydHVhbCBib29sIGRpc3Bh
dGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3QgT1ZFUlJJREU7Ci0gICAgUmVmUHRyPE5v
ZGU+IG1fb2xkRm9jdXNlZE5vZGU7Ci19OwotCi1jbGFzcyBGb2N1c091dEV2ZW50RGlzcGF0Y2hN
ZWRpYXRvciA6IHB1YmxpYyBFdmVudERpc3BhdGNoTWVkaWF0b3IgewotcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yPiBjcmVhdGUoUGFz
c1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpOwotcHJpdmF0
ZToKLSAgICBleHBsaWNpdCBGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihQYXNzUmVmUHRy
PEV2ZW50PiwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7Ci0gICAgdmlydHVhbCBi
b29sIGRpc3BhdGNoRXZlbnQoRXZlbnREaXNwYXRjaGVyKikgY29uc3QgT1ZFUlJJREU7Ci0gICAg
UmVmUHRyPE5vZGU+IG1fbmV3Rm9jdXNlZE5vZGU7Ci19OwotCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBVSUV2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRl
eCBjMjY0NTZkMTc0ZjI3NWUxNmMyNGU1ZGQ2ZmZmODEyZmFhODBiMzkyLi5iMjc5YzRjYjU1NGM2
ZDAxMjM3MjA0MWQzN2MxNzE5ODc3ZmU5YTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CkBAIC01NDYsNiArNTQ2LDcgQEAKICAgICBhdHRyaWJ1dGUgQ29tcG9zaXRpb25FdmVudENvbnN0
cnVjdG9yIENvbXBvc2l0aW9uRXZlbnQ7CiAgICAgYXR0cmlidXRlIEN1c3RvbUV2ZW50Q29uc3Ry
dWN0b3IgQ3VzdG9tRXZlbnQ7CiAgICAgYXR0cmlidXRlIEVycm9yRXZlbnRDb25zdHJ1Y3RvciBF
cnJvckV2ZW50OworICAgIGF0dHJpYnV0ZSBGb2N1c0V2ZW50Q29uc3RydWN0b3IgRm9jdXNFdmVu
dDsKICAgICBhdHRyaWJ1dGUgSGFzaENoYW5nZUV2ZW50Q29uc3RydWN0b3IgSGFzaENoYW5nZUV2
ZW50OwogICAgIGF0dHJpYnV0ZSBLZXlib2FyZEV2ZW50Q29uc3RydWN0b3IgS2V5Ym9hcmRFdmVu
dDsKICAgICBhdHRyaWJ1dGUgTWVzc2FnZUV2ZW50Q29uc3RydWN0b3IgTWVzc2FnZUV2ZW50Owpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDcwNzI5MWYyMDU1NGJiNWJlODFmNjcxZGFiYTAyMDdlYzE1NGQ1MDkuLjIzYTllNTlk
NWQzMmIyOWFmYWJmZDYzYTc0ZjAzY2Q1NWM1MGFjMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAor
MjAxMy0wMS0yOSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgRE9NIDMgRXZlbnRzIEZvY3VzRXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cDovL3d3
dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVudHMtRm9jdXNFdmVudAorCisgICAg
ICAgIENyZWF0ZWQgYSBuZXcgRm9jdXNFdmVudCBjbGFzcyB3aXRoIGEgcmVsYXRlZFRhcmdldCBh
dHRyaWJ1dGUuICBNb3ZlZAorICAgICAgICB0aGUge0ZvY3VzLEJsdXIsRm9jdXNJbixGb2N1c091
dH1FdmVudERpc3BhdGNoTWVkaWF0b3IgY2xhc3NlcyBpbnNpZGUgRm9jdXNFdmVudC4KKyAgICAg
ICAgTm93IHdoZW4gZm9jdXNpbiBvciBmb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQsIGEg
Rm9jdXNFdmVudCBpcyBjcmVhdGVkIHdpdGgKKyAgICAgICAgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0
cmlidXRlIHNldCBhY2NvcmRpbmdseS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9yZWxh
dGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2V2ZW50LWNyZWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ldmVu
dC1jcmVhdGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZv
Y3VzZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZWxh
dGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWw6IEFkZGVkLgorCisgICAgICAgICogZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFz
dC9ldmVudHMvZXZlbnQtY3JlYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZl
bnRzL2V2ZW50LWNyZWF0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRlZC10
YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9mb3Jtcy9yZXNvdXJjZXMvbXVsdGlwbGUtZmllbGRzLWJsdXItYW5kLWZvY3VzLWV2ZW50cy5q
czoKKwogMjAxMy0wMS0yNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IENvbXBvc2l0aW9uRXZlbnQgY29uc3RydWN0b3IKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnkt
ZXZlbnRzLWV4cGVjdGVkLnR4dAppbmRleCA5YTVmOWRiMzcxMTBlNTQ2OTAwOTJkYTQ3Yjk4NGZk
M2I2M2I2NjZmLi43Yzg2NjlhMDljNjJmMWIzYmFlNzM4MzEyMWU1NGI4OTdkZWU5YmRiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1i
b3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC02MSwxMyArNjEsMTEgQEAgUEFTUyBkaXNw
YXRjaGVkRXZlbnQoIm1vdXNlb3V0IikgaXMgWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNo
YWRvd0coPC1zaGFkb3cKIAogTW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBu
b2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LgogTW92aW5nIGZv
Y3VzIGZyb20gZGl2QiB0byBkaXZDCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlz
IFsiZGl2QyhAZGl2QykiLCAiZGl2QyhAZGl2QSkiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZv
Y3Vzb3V0IikgaXMgWyJkaXZCKEBkaXZCKSIsICJkaXZCKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNo
ZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2Qyg8LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2
QikoQGRpdkEpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2Qig8
LWRpdkMpKEBkaXZCKSIsICJkaXZCKDwtZGl2QykoQGRpdkEpIl0KIAogT2xkIGZvY3VzZWQgbm9k
ZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3VidHJlZXMsIGNyb3Nz
aW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2ZW50IGlzIG5vdCBk
aXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4KIE1vdmluZyBmb2N1
cyBmcm9tIHNoYWRvd0Qvc2hhZG93Ri9zaGFkb3dHL2RpdkggdG8gc2hhZG93RC9zaGFkb3dLL2Rp
dkwKLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZMKEBkaXZMKSIsICJz
aGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVu
dCgiZm9jdXNvdXQiKSBpcyBbImRpdkgoQGRpdkgpIiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNo
YWRvd0YoQHNoYWRvd0YpIiwgInNoYWRvd0YoQGRpdkUpIl0KIAogTW92ZSBmb2N1cyBmcm9tIGEg
bm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93
IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2QiB0byBkaXZDCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbApp
bmRleCA5MzNkZTc0N2Y3ZTg0YTY5NTJiMzdiMjAzYTY5NThlZDg4YmQyNWZlLi44ZGZjMGM3NjQ1
ODYzMjIyMjlmNWU3ZWIwNDM4NmZhNTgzZjZiMmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKQEAgLTE4MCwx
MyArMTgwLDEzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIC8vIFRlc3QgZm9yIGZvY3VzaW4vZm9j
dXNvdXQgZXZlbnRzLgogICAgIG1vdmVGb2N1cygnZGl2QicsICdkaXZDJywKICAgICAgICAgICAg
ICAgJ01vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVz
IGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0
Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZDKEBkaXZDKSIsICJkaXZDKEBkaXZBKSJdJyk7
Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoQGRp
dkIpIiwgImRpdkIoQGRpdkEpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJm
b2N1c2luIiknLCAnWyJkaXZDKDwtZGl2QikoQGRpdkMpIiwgImRpdkMoPC1kaXZCKShAZGl2QSki
XScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZC
KDwtZGl2QykoQGRpdkIpIiwgImRpdkIoPC1kaXZDKShAZGl2QSkiXScpOwogCiAgICAgbW92ZUZv
Y3VzKCdzaGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIJywgJ3NoYWRvd0Qvc2hhZG93Sy9kaXZM
JywKICAgICAgICAgICAgICAgJ09sZCBmb2N1c2VkIG5vZGUgYW5kIG5ldyBmb2N1c2VkIG5vZGUg
ZXhpc3QgaW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9zc2luZyBzaGFkb3cgYm91bmRhcmllcy4g
TWFraW5nIHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCBiZXlvbmQgdGhlIGxv
d2VzdCBjb21tb24gYm91bmRhcnkuJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgi
Zm9jdXNpbiIpJywgJ1siZGl2TChAZGl2TCkiLCAic2hhZG93SyhAc2hhZG93SykiLCAic2hhZG93
SyhAZGl2SikiXScpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0Iikn
LCAnWyJkaXZIKEBkaXZIKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJzaGFkb3dGKEBzaGFkb3dG
KSIsICJzaGFkb3dGKEBkaXZFKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgi
Zm9jdXNpbiIpJywgJ1siZGl2TCg8LXNoYWRvd0YpKEBkaXZMKSIsICJzaGFkb3dLKDwtc2hhZG93
RikoQHNoYWRvd0spIiwgInNoYWRvd0soPC1zaGFkb3dGKShAZGl2SikiXScpOworICAgIHNob3Vs
ZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZIKDwtc2hhZG93SykoQGRp
dkgpIiwgInNoYWRvd0coPC1zaGFkb3dLKShAc2hhZG93RykiLCAic2hhZG93Rig8LXNoYWRvd0sp
KEBzaGFkb3dGKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQGRpdkUpIl0nKTsKIAogICAgIC8vIE9t
aXR0ZWQgdGVzdCBjYXNlcyB3aGVyZSBlaXRoZXIgYSBvbGRGb2N1c2VkTm9kZSBvciBuZXdGb2N1
c2VkTm9kZSBpcyBhbiBhbmNlc3RvciBvZiB0aGUgb3RoZXIuCiAgICAgLy8gRHVlIHRvIGEgZm9j
dXMgdHJhbnNmZXIgbWVjaGFuaXNtIG9uIHNoYWRvdyBob3N0cywgYSBmb2N1c2VkIG5vZGUgc2hv
dWxkIGJlIGEgbGVhZiBub2RlIGluIGdlbmVyYWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9ldmVudC1jcmVhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggMDU3MjlkNzY5OTAzZTRh
ZmIxODdkNzc5ODI5NzM4NzQ3NmVhMDBmYS4uNTFiZDlhZTNlODE5NzdhMTEyNWE1MTI4Mzc3ZDkz
NWI5MDIyZDQ1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3Jl
YXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2V2ZW50LWNy
ZWF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMjEsNiArMjEsMTAgQEAgUEFTUyBkb2N1bWVudC5jcmVh
dGVFdmVudCgnQ3VzdG9tRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93LkN1c3RvbUV2ZW50
IGlzIHQKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vycm9yRXZlbnQnKSBpbnN0YW5jZW9m
IHdpbmRvdy5FcnJvckV2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0Vy
cm9yRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdFcnJvckV2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5FcnJvckV2
ZW50IGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0
YW5jZW9mIHdpbmRvdy5Gb2N1c0V2ZW50IGlzIHRydWUKK1BBU1MgZG9jdW1lbnQuY3JlYXRlRXZl
bnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5VSUV2ZW50IGlzIHRydWUKK1BBU1Mg
ZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZlbnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5FdmVu
dCBpcyB0cnVlCitQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykuY29uc3Ry
dWN0b3IgPT09IHdpbmRvdy5Gb2N1c0V2ZW50IGlzIHRydWUKIFBBU1MgZG9jdW1lbnQuY3JlYXRl
RXZlbnQoJ0hhc2hDaGFuZ2VFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93Lkhhc2hDaGFuZ2VFdmVu
dCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIYXNoQ2hhbmdlRXZlbnQnKSBp
bnN0YW5jZW9mIHdpbmRvdy5FdmVudCBpcyB0cnVlCiBQQVNTIGRvY3VtZW50LmNyZWF0ZUV2ZW50
KCdIYXNoQ2hhbmdlRXZlbnQnKS5jb25zdHJ1Y3RvciA9PT0gd2luZG93Lkhhc2hDaGFuZ2VFdmVu
dCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ldmVudC1jcmVh
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZXZlbnQtY3JlYXRpb24uaHRtbApp
bmRleCA2YTVlMmM4N2MzMDZkYzI1OGNhNTM3MTY2YjZkN2Y4NDc4ZGVjYjA3Li4zZTRmNjZhZDEy
YjFkMDRmODA3YWE0ZjgwYTQ4YjU3MDhmYjQ2ZDY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9ldmVudC1jcmVhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2V2ZW50LWNyZWF0aW9uLmh0bWwKQEAgLTM3LDYgKzM3LDEyIEBACiAgICAgc2hvdWxkQmVU
cnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93
LkV2ZW50Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVudCgnRXJyb3JF
dmVudCcpLmNvbnN0cnVjdG9yID09PSB3aW5kb3cuRXJyb3JFdmVudCIpOwogCisgICAgLy8gRm9j
dXNFdmVudAorICAgIHNob3VsZEJlVHJ1ZSgiZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0ZvY3VzRXZl
bnQnKSBpbnN0YW5jZW9mIHdpbmRvdy5Gb2N1c0V2ZW50Iik7CisgICAgc2hvdWxkQmVUcnVlKCJk
b2N1bWVudC5jcmVhdGVFdmVudCgnRm9jdXNFdmVudCcpIGluc3RhbmNlb2Ygd2luZG93LlVJRXZl
bnQiKTsKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50
JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKKyAgICBzaG91bGRCZVRydWUoImRvY3VtZW50
LmNyZWF0ZUV2ZW50KCdGb2N1c0V2ZW50JykuY29uc3RydWN0b3IgPT09IHdpbmRvdy5Gb2N1c0V2
ZW50Iik7ICAgIAorCiAgICAgLy8gSGFzaENoYW5nZUV2ZW50CiAgICAgc2hvdWxkQmVUcnVlKCJk
b2N1bWVudC5jcmVhdGVFdmVudCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cu
SGFzaENoYW5nZUV2ZW50Iik7CiAgICAgc2hvdWxkQmVUcnVlKCJkb2N1bWVudC5jcmVhdGVFdmVu
dCgnSGFzaENoYW5nZUV2ZW50JykgaW5zdGFuY2VvZiB3aW5kb3cuRXZlbnQiKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNl
dmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWI2NTliNWIxMDAzZWJiYzEyMzlkNjg5YmQ0
MDczMmRlMWJhOTRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAK
K1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBudWxsCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJn
ZXQgaXMgYnV0dG9uMgorUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIGJ1dHRvbjEKK1BBU1Mg
ZXZlbnQucmVsYXRlZFRhcmdldCBpcyBidXR0b24zCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQg
aXMgYnV0dG9uMgorUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIGJ1dHRvbjQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorQ2hlY2tzIHRoYXQgdGhl
IHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVjdHMgaXMgYmVpbmcg
c2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVk
LiBQcmVzcyB0YWIgZm91ciB0aW1lcyB0byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vzb3V0
IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworQnV0dG9uMSBCdXR0b24yIEJ1dHRvbjMgQnV0dG9uNApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmYwZTM1MDM4ZTk5NDEwNzAwOGZhMzI4ZTY5YTI3NjAzZDNlYTllNGQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1m
b2N1c2V2ZW50Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxidXR0b24gaWQ9ImJ1dHRvbjEiPkJ1
dHRvbjE8L2J1dHRvbj4KKzxidXR0b24gaWQ9ImJ1dHRvbjIiPkJ1dHRvbjI8L2J1dHRvbj4KKzxi
dXR0b24gaWQ9ImJ1dHRvbjMiPkJ1dHRvbjM8L2J1dHRvbj4KKzxidXR0b24gaWQ9ImJ1dHRvbjQi
PkJ1dHRvbjQ8L2J1dHRvbj4KKzxzY3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVz
Y3JpcHRpb24oIkNoZWNrcyB0aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9j
dXNFdmVudCBvYmplY3RzIGlzIGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vz
b3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZC4gIDxiPlByZXNzIHRhYiBmb3VyIHRpbWVzPC9iPiB0
byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBi
dXR0b25zIGJlbG93LiIpOworCit2YXIgYnV0dG9uMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdidXR0b24xJyk7Cit2YXIgYnV0dG9uMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0
b24yJyk7Cit2YXIgYnV0dG9uMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJyk7
CisKK2J1dHRvbjEuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7
IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ251bGwnKTsgfSk7CitidXR0b24xLmFk
ZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2
ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0dG9uMicpOyB9KTsKK2J1dHRvbjIuYWRkRXZlbnRMaXN0
ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVk
VGFyZ2V0JywgJ2J1dHRvbjEnKTsgfSk7CitidXR0b24yLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vz
b3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAn
YnV0dG9uMycpOyB9KTsKK2J1dHRvbjMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGZ1bmN0
aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ2J1dHRvbjInKTsg
fSk7CitidXR0b24zLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQp
IHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0dG9uNCcpOyBmaW5pc2hKU1Rl
c3QoKTsgfSk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7CisgICAgZXZlbnRTZW5k
ZXIua2V5RG93bignXHQnKTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186302</attachid>
            <date>2013-02-03 22:02:49 -0800</date>
            <delta_ts>2013-02-03 22:15:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20130204145928.patch</filename>
            <type>text/plain</type>
            <size>31900</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZiNGI1YWQ3MWJmYTI2
MjFjMjJmNDZmNDY1YTFjNTlkOWU1N2NhMy4uNGJjOTRjNDY0NTE4OGU2ZjQ3ZGI2OWQ2NDkzZmE2
OTlmZTg2NzI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAyLTAzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1
cyBldmVudHMgYXJlIFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRv
bid0IGV4cG9zZSAucmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1F
dmVudHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEg
bmV3IEZvY3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAg
ICAgICBOb3cgd2hlbiBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwg
YSBGb2N1c0V2ZW50IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBh
dHRyaWJ1dGUgc2V0IGFjY29yZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50Ojppc0ZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChFdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvbnRleHQ6OmhhbmRsZUxv
Y2FsRXZlbnRzKToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiBkb20v
Rm9jdXNFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnRvRm9jdXNF
dmVudCk6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBk
b20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorCiAy
MDEzLTAxLTMxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQxNTAyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBhZjI0OTQ1YTdhZmI2MDAwOTE0NjdjODFjYTkwNGU0ZmZlNzkyNzE5Li5mMWIwMTc4YmJhYWJi
ZTlmMjRhZjZlMTc1MmI0MjQ3ZDQwMzIzZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzY4
LDYgKzM2OCw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9FdmVudEV4Y2VwdGlv
bi5pZGwKICAgICBkb20vRXZlbnQuaWRsCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbAorICAgIGRv
bS9Gb2N1c0V2ZW50LmlkbAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsCiAgICAgZG9tL0tl
eWJvYXJkRXZlbnQuaWRsCiAgICAgZG9tL01lc3NhZ2VDaGFubmVsLmlkbApAQCAtMTE3Niw2ICsx
MTc3LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9FdmVudFRhcmdldC5jcHAKICAg
ICBkb20vRXhjZXB0aW9uQmFzZS5jcHAKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVy
LmNwcAorICAgIGRvbS9Gb2N1c0V2ZW50LmNwcAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5j
cHAKICAgICBkb20vR2VzdHVyZUV2ZW50LmNwcAogICAgIGRvbS9JY29uVVJMLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGQxYTYxYTYyYjhhZDRjNzE3ZmE5MjEzY2VkZTVmYWY4
ZWUwMjMyNDMuLjg2ZWVhNjBkZTNhMjMzYjc5NGI0MDUzYTFjZTA5MDY3OGIxMWJjNzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTEzNiw2ICsxMzYsNyBAQAogI2luY2x1ZGUgIkpT
RmlsZVdyaXRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmNwcCIKICNpbmNs
dWRlICJKU0Zsb2F0NjRBcnJheS5jcHAiCisjaW5jbHVkZSAiSlNGb2N1c0V2ZW50LmNwcCIKICNp
bmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU0dlb3Bvc2l0aW9uLmNwcCIK
ICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA2MDVhMjFlZjNkZGZkZjJhODdmZTljYTI4YTE1ZTFhZmY5NjUwMTQzLi4zOWJk
ZThlY2M1ODkxYmExODJjYWNhNGYzYTg3YTRiMjU4NmIwZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTIzNSw2ICsyMzUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChX
ZWJDb3JlKS9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVu
dExpc3RlbmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2RvbS9Gb2N1c0V2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vSGFz
aENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vS2V5Ym9hcmRFdmVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL01lc3NhZ2VDaGFubmVsLmlkbCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkKaW5kZXggMWNiY2MzNzY2M2UzZDA5NWM4NDEyNzliMGJlNTlhMTY0ZjA3OGE0
Ni4uOGFjNzczOGRjZjlmZmYzNzJkMzk2Njc0M2NkYzM0OTZmYjMyYWQ0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLnByaQpAQCAtMjQ4LDYgKzI0OCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAg
ICAgJCRQV0QvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCiAjICAgICQkUFdEL2RvbS9FdmVudExp
c3RlbmVyLmlkbCBcCiAgICAgJCRQV0QvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCisgICAgJCRQV0Qv
ZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBc
CiAgICAgJCRQV0QvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vTW91c2VF
dmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMjdmZTc5ODMxYWVi
MTM5YmYxYjU4MTBhZmNhZjk4Nzk4NjA3OGQ1NS4uZDI4OTFiYjNjN2I3NWI1Mjg1MTQ5NzgyODU2
MTYwNmM4NTQ4M2QzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yODYsNiAr
Mjg2LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRmxvYXQzMkFycmF5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0
QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dh
bWVwYWQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2FtZXBhZC5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR2FtZXBhZExpc3QuY3BwIFwKQEAgLTEzODAsNiArMTM4Miw3
IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50LmlkbCBcCiAJ
JChXZWJDb3JlKS9kb20vRXZlbnRUYXJnZXQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudEV4
Y2VwdGlvbi5pZGwgXAorCSQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKIAkkKFdlYkNv
cmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2
ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwKQEAgLTI4NDks
NiArMjg1Miw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4
Y2VwdGlvbkNvZGUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhv
bGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIu
aCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9kb20vRm9jdXNFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRnJhZ21lbnRTY3JpcHRp
bmdQZXJtaXNzaW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9HZXN0dXJlRXZlbnQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYzRi
YzcyZWI2MjFjNmNiOTIyNGU4MTliODc3MmU2NTJlM2Y4ZDEwZi4uMmZmNTA3ZjAxNTE5ZTRhNGRj
NTE1MzRmNzdmZGZjNzJkYmYxZDU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC00MDAsNiArNDAwLDcgQEAg
U09VUkNFUyArPSBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlv
bkJhc2UuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCBcCisgICAg
ZG9tL0ZvY3VzRXZlbnQuY3BwIFwKICAgICBkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwIFwKICAg
ICBkb20vR2VzdHVyZUV2ZW50LmNwcCBcCiAgICAgZG9tL0ljb25VUkwuY3BwIFwKQEAgLTE2MTMs
NiArMTYxNCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5oIFwKICAgICBk
b20vRXhjZXB0aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwKKyAgICBkb20v
Rm9jdXNFdmVudC5oIFwKICAgICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggXAog
ICAgIGRvbS9HZXN0dXJlRXZlbnQuaCBcCiAgICAgZG9tL0lkVGFyZ2V0T2JzZXJ2ZXIuaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggMzIzM2M5OWVmMzgxNWJkZWZkNzhiMjc2NzI4OTUyODA0MGJiN2Mz
Ni4uNDkyZTY4ZTIyYWU5MjUzOGQ2OWQ0ZWMyOTJhMzBkZTM4NWI3MzYwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtMjI0LDYgKzIyNCw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50RXhjZXB0aW9u
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50TGlzdGVuZXIuaWRsJywKICAgICAgICAgICAg
ICdkb20vRXZlbnRUYXJnZXQuaWRsJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5pZGwn
LAogICAgICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdk
b20vS2V5Ym9hcmRFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlQ2hhbm5lbC5p
ZGwnLApAQCAtMjgyMSw2ICsyODIyLDggQEAKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFz
ZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25CYXNlLmgnLAogICAgICAgICAgICAg
J2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwJywKKyAgICAgICAgICAgICdkb20vRm9j
dXNFdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmgnLAogICAgICAgICAg
ICAgJ2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5oJywKICAgICAgICAgICAgICdkb20vR2VzdHVyZUV2ZW50LmNwcCcsCkBAIC02
MzU0LDYgKzYzNTcsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyU3luYy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJh
eS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRm9jdXNFdmVudC5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5o
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R2VvcG9zaXRpb24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAzMjQwZTNjZDUzYzkwYzA0NzRmMDM4MDk0ODY5ZDcyNTVj
M2Q5Y2JhLi5hM2MxMjMwMTAxMGIzZTkwYmI4ZDhjYjkwMTlhZWJiYTI3NmJhNjYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
MzU3LDYgKzUzNTcsMTAgQEAKIAkJQjY1OEZGQTIxNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9O
b2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjY1OEZGQTAxNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oICovOyB9OwogCQlC
NjU4RkZBNTE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU4RkZBMzE1MjJFRkFBMDBERDU1
OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgKi87IH07CiAJCUI2NThGRkE2MTUyMkVGQUEwMERENTU5
NSAvKiBSYWRpb05vZGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNjU4RkZBNDE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oICov
OyB9OworICAgICAgICAgICAgICAgIEI2RDlEMjM1MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5
RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovOyB9OworICAgICAgICAgICAg
ICAgIEI2RDlEMjM2MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkw
RDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLzsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDI3QjE0
RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1
c0V2ZW50LmggKi87IH07CisgICAgICAgICAgICAgICAgQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVF
IC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNkQ5RDI3QTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCAq
LzsgfTsKIAkJQjcxRkU2REYxMTA5MUNCMzAwREFFRjc3IC8qIFByaW50Q29udGV4dC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjc3NkQ0M0ExMTA0NTI1
RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUI3MzRCMTgxMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJh
bnNjb2Rlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNzM0QjE4MDExOUI5OTExMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwICovOyB9Owog
CQlCNzM0QjE4MzExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgyMTE5Qjk5MUQwMDY1
ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oICovOyB9OwpAQCAtMTI4NTUsNiArMTI4NTksMTEgQEAK
IAkJQjY1OEZGQTAxNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JhZGlvTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjY1OEZGQTMxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFkaW9Ob2RlTGlz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2NThGRkE0MTUyMkVGQUEwMERE
NTU5NSAvKiBSYWRpb05vZGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJhZGlvTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKyAgICAgICAgICAg
ICAgICBCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisgICAgICAgICAgICAgICAgQjZEOUQyMzQxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3Vz
RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9jdXNFdmVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisgICAgICAgICAgICAgICAgQjZEOUQy
NzIxNEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEZvY3VzRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworICAgICAgICAg
ICAgICAgIEI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisgICAgICAgICAgICAgICAgQjZEOUQyN0ExNEVBQzA4NjAwOTBENzVFIC8q
IEpTRm9jdXNFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0ZvY3VzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4MDEx
OUI5OTExMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gRm9udFRyYW5zY29kZXIuY3BwOyBwYXRoID0gdHJhbnNjb2Rlci9G
b250VHJhbnNjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3MzRCMTgy
MTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBGb250VHJhbnNjb2Rlci5oOyBwYXRoID0gdHJhbnNjb2Rlci9Gb250VHJh
bnNjb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzc2RDQzQTExMDQ1MjVE
MDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFByaW50Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTk1Mjgs
NiArMTk1MzcsOCBAQAogCQkJCUJDNjBEOUJFMEQyQTI2OUEwMEI5OTE4RiAvKiBKU0V2ZW50RXhj
ZXB0aW9uLmggKi8sCiAJCQkJQzZBNzAzMzI1QzlEMEI2Q0RDQkM0RDc4IC8qIEpTRXZlbnRUYXJn
ZXQuY3BwICovLAogCQkJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0
LmggKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEI2RDlEMjdBMTRFQUMwODYw
MDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi8sCiAJ
CQkJODQ4MkI3NEYxMTk4Q0I2QjAwQkZCMDA1IC8qIEpTSGFzaENoYW5nZUV2ZW50LmNwcCAqLywK
IAkJCQk4NDgyQjc1MDExOThDQjZCMDBCRkIwMDUgLyogSlNIYXNoQ2hhbmdlRXZlbnQuaCAqLywK
IAkJCQlBODY2MjlDRTA5REEyQjQ3MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCAqLywK
QEAgLTIyMzcxLDYgKzIyMzgyLDkgQEAKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyog
RXhjZXB0aW9uQ29kZS5oICovLAogCQkJCUE3Q0FDREIwMTNDRTg3NUIwMEJCQkUzRiAvKiBFeGNl
cHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwICovLAogCQkJCUE3NEJCNzZBMTNCREE4NjMwMEZGN0JG
MCAvKiBFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCAqLywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQjZEOUQyMzQxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwICov
LAorCQkJCUI2RDlEMjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi8sCisJCQkJ
QjZEOUQyNzIxNEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovLAogCQkJCUE4NTMx
MjNDMTFEMDQ3MUIwMEQ0RDA3NyAvKiBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCAqLywK
IAkJCQkwNzIwQjA5RTE0RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICov
LAogCQkJCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICov
LApAQCAtMjQxNjEsNiArMjQxNzUsNyBAQAogCQkJCUQ3MkY2RDdBMTUzMTU5QTMwMDFFRTQ0RSAv
KiBGbG93VGhyZWFkQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ5OTNCRTYwQjJG
MkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDYy
Mjg3ODQwQjREQjMyMjAwMEMzNERGIC8qIEZvY3VzRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVF
IC8qIEZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYxMEQwMDZDRDYwMEVG
NkYyNiAvKiBGb250LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5MkQ0RjEyOTM1NTBCMDBDODM4
N0YgLyogRm9udEJhc2VsaW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2MzBEMDA2Q0Q2
MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0NjU5LDYgKzI0Njc0
LDcgQEAKIAkJCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjAzMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0Zs
b2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCQzVFQjAxMzhCNTBGMjAwQTBDRjhB
IC8qIEpTRmxvYXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkRBMTVFQUMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUZFODBEQTY0MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xv
Y2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTgwREE2NjBFOUM0NzAzMDAwRDZGNzUgLyog
SlNHZW9wb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQ2OSw2ICsyNzQ4NSw3IEBACiAJ
CQkJQjI3NTM1N0EwQjA1MzgxNDAwMkNFNjRGIC8qIEZsb2F0U2l6ZU1hYy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUQ3MkY2RDc5MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDk5M0JFNTBCMkYyQjFDMDA1MDQ5N0YgLyogRm9j
dXNDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBCNkQ5RDIzNjE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMkMzREE2MDBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMkMzREE2MjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyQUZGQzdDMEQwMEE1QzEwMDMwMDc0RCAvKiBGb250Q2FjaGVN
YWMubW0gaW4gU291cmNlcyAqLywKQEAgLTI3OTY4LDYgKzI3OTg1LDcgQEAKIAkJCQk4OTNDNDdC
QjEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDlFRUNGMDIxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTZFQkM1RUFGMTM4QjUwRjIwMEEwQ0Y4QSAvKiBKU0Zsb2F0NjRB
cnJheS5jcHAgaW4gU291cmNlcyAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGREExNUVBQjEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlGRTgwREE2MzBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGRTgwRDdBQjBFOUMxRUQyMDAwRDZGNzUgLyogSlNHZW9s
b2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCmluZGV4IGFmNDFkODgxZWM4MmY4YTQ5N2YzYjJjMTg3NDg4MWZhNGY1MTE5ODguLmJkNTk4
YTAyMzRiNDRmMDY0YmZkNmIzNzMwZTFhM2U2MmFiYWY4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcApAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIK
ICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxh
Y2Vob2xkZXIuY3BwIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25V
UkwuY3BwIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIklkVGFy
Z2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCBjMWU2MDlmZjQw
YTA2MTFhNzJjMmM3YzExMDgxNTEyYmViMjhkYzU1Li5lOGJhOTA0NjZlMTQ0ZjMwN2JmNzk5MzNl
YWE0ZDg5ZDQ0ZDk1ZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTEyMiw2ICsxMjIsMTEgQEAg
Ym9vbCBFdmVudDo6aXNNb3VzZUV2ZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
K2Jvb2wgRXZlbnQ6OmlzRm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCiBib29sIEV2ZW50Ojppc0tleWJvYXJkRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggMzZmMDI5MzU2YWFmY2IwNzFjMzFmMDMwMTYxNjc1OTdm
NmQyNWRiOC4uMGNiZjliOGE4NTg5MTU4ODY0ODYwODIyODlmOTdhY2IyZDBiYTczNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgZXZlbnRz
IGFyZSBnZW5lcmFsIGNsYXNzZXMgb2YgZXZlbnRzLgogICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZl
bnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CisgICAg
dmlydHVhbCBib29sIGlzRm9jdXNFdmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0tl
eWJvYXJkRXZlbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNUb3VjaEV2ZW50KCkgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKaW5kZXggODg3ZjY4M2IyNmJmOTMx
ZGU4MDA0Nzc3YWM0NDViNzFhZTA0ZGUzYy4uMTYzYWU1ODZiNDQ3NGQ0NzEyOTcwOTY0NTEzODRk
NDgyNDA5ZmUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKQEAgLTMwLDYgKzMw
LDcgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNl
RXZlbnQuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAKQEAgLTUxLDYgKzUyLDggQEAgdm9pZCBFdmVu
dENvbnRleHQ6OmhhbmRsZUxvY2FsRXZlbnRzKEV2ZW50KiBldmVudCkgY29uc3QKICAgICBldmVu
dC0+c2V0Q3VycmVudFRhcmdldChtX2N1cnJlbnRUYXJnZXQuZ2V0KCkpOwogICAgIGlmIChtX3Jl
bGF0ZWRUYXJnZXQuZ2V0KCkgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpKQogICAgICAgICB0b01v
dXNlRXZlbnQoZXZlbnQpLT5zZXRSZWxhdGVkVGFyZ2V0KG1fcmVsYXRlZFRhcmdldC5nZXQoKSk7
CisgICAgZWxzZSBpZiAobV9yZWxhdGVkVGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc0ZvY3VzRXZl
bnQoKSkKKyAgICAgICAgdG9Gb2N1c0V2ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdldChtX3Jl
bGF0ZWRUYXJnZXQpOwogICAgIG1fbm9kZS0+aGFuZGxlTG9jYWxFdmVudHMoZXZlbnQpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDUxMWJkZjQxY2U2OTRkMjU0YTRiNmY0N2Q2
YmJkNWVlYjFiYjQ0OTIuLjIyMDQ4Y2U3ZmMzMmFiNDQ4ZWViM2M0ZWUzMGZkNzMwZjlmYzZjN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC04LDYgKzgsNyBAQCBDbG9zZUV2ZW50CiBD
b21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAogSGFz
aENoYW5nZUV2ZW50CiBLZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1l
PUtleWJvYXJkRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhOTlmZDgz
MWM3OTA0MTZmZmQ2MzkyNGZiYzdiNTVhMDZlN2VhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBGb2N1c0V2ZW50X2gKKyNkZWZpbmUgRm9jdXNFdmVudF9oCisKKyNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIlVJRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBGb2N1c0V2ZW50IDogcHVibGljIFVJRXZlbnQgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wg
Y2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3
LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJs
ZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorCisg
ICAgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3JlbGF0ZWRU
YXJnZXQuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFJlbGF0ZWRUYXJnZXQoUGFzc1JlZlB0cjxFdmVu
dFRhcmdldD4gcmVsYXRlZFRhcmdldCkgeyBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0
OyB9CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzRXZlbnQoKSBjb25zdDsKKworcHJpdmF0ZToK
KyAgICBGb2N1c0V2ZW50KCk7CisgICAgRm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RW
aWV3PiwgaW50LCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0Pik7CisKKyAgICBSZWZQdHI8RXZlbnRU
YXJnZXQ+IG1fcmVsYXRlZFRhcmdldDsKK307CisKK2lubGluZSBGb2N1c0V2ZW50KiB0b0ZvY3Vz
RXZlbnQoRXZlbnQqIGV2ZW50KQoreworICAgIEFTU0VSVChldmVudCAmJiBldmVudC0+aXNGb2N1
c0V2ZW50KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxGb2N1c0V2ZW50Kj4oZXZlbnQpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBGb2N1c0V2ZW50X2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Gb2N1c0V2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWRhYzk0ZmM4YzQ4OGU5MWI2M2Fj
MjkwMzcxNjAyYjdmNzY4NTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0ZvY3VzRXZlbnQuaWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW50ZXJmYWNl
IEZvY3VzRXZlbnQgOiBVSUV2ZW50Cit7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEV2ZW50VGFy
Z2V0IHJlbGF0ZWRUYXJnZXQ7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDQxMTY5MDE5ZDJlYjFh
OTY3ZmNjNTZjYWYyMmUwMjIzZDU3YmY5ZjkuLjljMjY5NDA2NmNlMGJjOTI3ZjBmZTY5MTM1MWJi
NDE1NDUxODZmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNpbmNsdWRl
ICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgpAQCAt
MjM1MSwxNCArMjM1MiwxNCBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+CiB7CiAgICAgQVNTRVJU
KCFOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb246OmlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsK
ICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQgfHwgZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3BhdGNoU2Nv
cGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNy
ZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+
ZGVmYXVsdFZpZXcoKSwgMCksIG9sZEZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hTY29wZWRF
dmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRl
KEZvY3VzRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5k
ZWZhdWx0VmlldygpLCAwLCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7CiB9CiAK
IHZvaWQgTm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewogICAgIEFTU0VSVCgh
Tm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CiAg
ICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCB8fCBldmVu
dFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUZvY3VzT3V0RXZlbnQpOwotICAgIGRpc3BhdGNoU2Nv
cGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpj
cmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCkt
PmRlZmF1bHRWaWV3KCksIDApLCBuZXdGb2N1c2VkTm9kZSkpOworICAgIGRpc3BhdGNoU2NvcGVk
RXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVh
dGUoRm9jdXNFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCkt
PmRlZmF1bHRWaWV3KCksIDAsIG5ld0ZvY3VzZWROb2RlKSwgbmV3Rm9jdXNlZE5vZGUpKTsKIH0K
IAogYm9vbCBOb2RlOjpkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1Jl
ZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA3OGIzNjc5NzgwNzZjMGIzYzk0
YWMxOTkxODgzODg4ZjNmMDg2NTEuLjRmNzkyMDJjM2I4ZjQyNzZmZGQ3MWEyNTI0NTA3YTcxMjBj
YTZkODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMi0wMyAgS2VudGFybyBIYXJhICA8
aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViS2l0J3MgZm9jdXMgZXZlbnRzIGFy
ZSBVSUV2ZW50cyAoaW5zdGVhZCBvZiBGb2N1c0V2ZW50KSBhbmQgdGh1cyBkb24ndCBleHBvc2Ug
LnJlbGF0ZWRUYXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTc2MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVu
dHMtRm9jdXNFdmVudAorCisgICAgICAgIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIG5ldyBGb2N1c0V2
ZW50IGNsYXNzIHdpdGggYSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZS4KKyAgICAgICAgTm93IHdo
ZW4gZm9jdXNpbiBvciBmb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQsIGEgRm9jdXNFdmVu
dCBpcyBjcmVhdGVkIHdpdGgKKyAgICAgICAgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIHNl
dCBhY2NvcmRpbmdseS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRh
cnktZXZlbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWJvdW5kYXJ5LWV2ZW50cy5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFy
Z2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTMxICBI
YXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVc2UgVG91Y2hFdmVu
dC50YXJnZXRUb3VjaGVzIHJhdGhlciB0aGFuIFRvdWNoRXZlbnQudG91Y2hlcyBzaW5jZSB0aGUg
b3JkZXIgb2YgVG91Y2hlcyBpbiBUb3VjaExpc3QgaXMgbm90IGd1YXJhbnRlZWQuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5
LWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggOWE1ZjlkYjM3MTEwZTU0NjkwMDkyZGE0N2I5ODRm
ZDNiNjNiNjY2Zi4uNDBhYTY3ZjBhYmYyMjdhMTczOWFlYTI1MjUyNmU4MTdmNTc5Y2NhOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVu
dHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
Ym91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNjEsMTMgKzYxLDEzIEBAIFBBU1MgZGlz
cGF0Y2hlZEV2ZW50KCJtb3VzZW91dCIpIGlzIFsiZGl2SCg8LXNoYWRvd0spKEBkaXZIKSIsICJz
aGFkb3dHKDwtc2hhZG93CiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcg
bm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4KIE1vdmluZyBm
b2N1cyBmcm9tIGRpdkIgdG8gZGl2QwotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBp
cyBbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0KLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJm
b2N1c291dCIpIGlzIFsiZGl2QihAZGl2QikiLCAiZGl2QihAZGl2QSkiXQorUEFTUyBkaXNwYXRj
aGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkMoPC1kaXZCKShAZGl2QykiLCAiZGl2Qyg8LWRp
dkIpKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBbImRpdkIo
PC1kaXZDKShAZGl2QikiLCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdCiAKIE9sZCBmb2N1c2VkIG5v
ZGUgYW5kIG5ldyBmb2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9z
c2luZyBzaGFkb3cgYm91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3Qg
ZGlzcGF0Y2hlZCBiZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91bmRhcnkuCiBNb3ZpbmcgZm9j
dXMgZnJvbSBzaGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIIHRvIHNoYWRvd0Qvc2hhZG93Sy9k
aXZMCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2TChAZGl2TCkiLCAi
c2hhZG93SyhAc2hhZG93SykiLCAic2hhZG93SyhAZGl2SikiXQotUEFTUyBkaXNwYXRjaGVkRXZl
bnQoImZvY3Vzb3V0IikgaXMgWyJkaXZIKEBkaXZIKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJz
aGFkb3dGKEBzaGFkb3dGKSIsICJzaGFkb3dGKEBkaXZFKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVu
dCgiZm9jdXNpbiIpIGlzIFsiZGl2TCg8LWRpdkgpKEBkaXZMKSIsICJzaGFkb3dLKDwtZGl2SCko
QHNoYWRvd0spIiwgInNoYWRvd0soPC1kaXZIKShAZGl2SikiLCAic2hhZG93RCg8LWRpdkgpKEBz
aGFkb3dEKSIsICJzaGFkb3dEKDwtZGl2SCkoQGRpdkEpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50
KCJmb2N1c291dCIpIGlzIFsiZGl2SCg8LWRpdkwpKEBkaXZIKSIsICJzaGFkb3dHKDwtZGl2TCko
QHNoYWRvd0cpIiwgInNoYWRvd0YoPC1kaXZMKShAc2hhZG93RikiLCAic2hhZG93Rig8LWRpdkwp
KEBkaXZFKSIsICJzaGFkb3dEKDwtZGl2TCkoQHNoYWRvd0QpIiwgInNoYWRvd0QoPC1kaXZMKShA
ZGl2QSkiXQogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJsaW5nIG5vZGUuIEFs
bCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuCiBNb3ZpbmcgZm9jdXMgZnJv
bSBkaXZCIHRvIGRpdkMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCmluZGV4IDkzM2RlNzQ3ZjdlODRhNjk1MmIzN2Iy
MDNhNjk1OGVkODhiZDI1ZmUuLmY3YzY5MTJhODEzMDFlZmI5MmM0MDY2NTVkNDlmMWE0MWI4ZDM3
MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRh
cnktZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1i
b3VuZGFyeS1ldmVudHMuaHRtbApAQCAtMTgwLDEzICsxODAsMTMgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgLy8gVGVzdCBmb3IgZm9jdXNpbi9mb2N1c291dCBldmVudHMuCiAgICAgbW92ZUZvY3Vz
KCdkaXZCJywgJ2RpdkMnLAogICAgICAgICAgICAgICAnTW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0
byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93IGJvdW5k
YXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRp
dkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2
ZW50KCJmb2N1c291dCIpJywgJ1siZGl2QihAZGl2QikiLCAiZGl2QihAZGl2QSkiXScpOworICAg
IHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkMoPC1kaXZCKShA
ZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNo
ZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoPC1kaXZDKShAZGl2QikiLCAiZGl2Qig8LWRp
dkMpKEBkaXZBKSJdJyk7CiAKICAgICBtb3ZlRm9jdXMoJ3NoYWRvd0Qvc2hhZG93Ri9zaGFkb3dH
L2RpdkgnLCAnc2hhZG93RC9zaGFkb3dLL2RpdkwnLAogICAgICAgICAgICAgICAnT2xkIGZvY3Vz
ZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3VidHJlZXMs
IGNyb3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2ZW50IGlz
IG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4nKTsKLSAg
ICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZMKEBkaXZMKSIs
ICJzaGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdJyk7Ci0gICAgc2hvdWxkQmUo
J2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoQGRpdkgpIiwgInNoYWRvd0co
QHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwgInNoYWRvd0YoQGRpdkUpIl0nKTsKKyAg
ICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZMKDwtZGl2SCko
QGRpdkwpIiwgInNoYWRvd0soPC1kaXZIKShAc2hhZG93SykiLCAic2hhZG93Syg8LWRpdkgpKEBk
aXZKKSIsICJzaGFkb3dEKDwtZGl2SCkoQHNoYWRvd0QpIiwgInNoYWRvd0QoPC1kaXZIKShAZGl2
QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJk
aXZIKDwtZGl2TCkoQGRpdkgpIiwgInNoYWRvd0coPC1kaXZMKShAc2hhZG93RykiLCAic2hhZG93
Rig8LWRpdkwpKEBzaGFkb3dGKSIsICJzaGFkb3dGKDwtZGl2TCkoQGRpdkUpIiwgInNoYWRvd0Qo
PC1kaXZMKShAc2hhZG93RCkiLCAic2hhZG93RCg8LWRpdkwpKEBkaXZBKSJdJyk7CiAKICAgICAv
LyBPbWl0dGVkIHRlc3QgY2FzZXMgd2hlcmUgZWl0aGVyIGEgb2xkRm9jdXNlZE5vZGUgb3IgbmV3
Rm9jdXNlZE5vZGUgaXMgYW4gYW5jZXN0b3Igb2YgdGhlIG90aGVyLgogICAgIC8vIER1ZSB0byBh
IGZvY3VzIHRyYW5zZmVyIG1lY2hhbmlzbSBvbiBzaGFkb3cgaG9zdHMsIGEgZm9jdXNlZCBub2Rl
IHNob3VsZCBiZSBhIGxlYWYgbm9kZSBpbiBnZW5lcmFsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xYjY1OWI1YjEwMDNlYmJjMTIzOWQ2ODliZDQwNzMyZGUxYmE5NGJk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJn
ZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorUEFTUyBldmVudC5y
ZWxhdGVkVGFyZ2V0IGlzIG51bGwKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBidXR0b24y
CitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgYnV0dG9uMQorUEFTUyBldmVudC5yZWxhdGVk
VGFyZ2V0IGlzIGJ1dHRvbjMKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBidXR0b24yCitQ
QVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgYnV0dG9uNAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCitDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdl
dCBhdHRyaWJ1dGUgZm9yIEZvY3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5
IHdoZW4gZm9jdXNpbi9mb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuIFByZXNzIHRhYiBm
b3VyIHRpbWVzIHRvIGRpc3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVh
Y2ggb2YgdGhlIGJ1dHRvbnMgYmVsb3cuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitCdXR0b24xIEJ1dHRvbjIgQnV0dG9uMyBCdXR0b240CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjBlMzUwMzhlOTk0MTA3MDA4ZmEzMjhlNjlhMjc2MDNkM2VhOWU0ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRt
bApAQCAtMCwwICsxLDMzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGJ1dHRvbiBpZD0iYnV0dG9uMSI+QnV0dG9uMTwvYnV0dG9u
PgorPGJ1dHRvbiBpZD0iYnV0dG9uMiI+QnV0dG9uMjwvYnV0dG9uPgorPGJ1dHRvbiBpZD0iYnV0
dG9uMyI+QnV0dG9uMzwvYnV0dG9uPgorPGJ1dHRvbiBpZD0iYnV0dG9uNCI+QnV0dG9uNDwvYnV0
dG9uPgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbigiQ2hl
Y2tzIHRoYXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVj
dHMgaXMgYmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFy
ZSBkaXNwYXRjaGVkLiAgPGI+UHJlc3MgdGFiIGZvdXIgdGltZXM8L2I+IHRvIGRpc3BhdGNoIGEg
Zm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVhY2ggb2YgdGhlIGJ1dHRvbnMgYmVsb3cu
Iik7CisKK3ZhciBidXR0b24xID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjEnKTsK
K3ZhciBidXR0b24yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjInKTsKK3ZhciBi
dXR0b24zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J1dHRvbjMnKTsKKworYnV0dG9uMS5h
ZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2
ZW50LnJlbGF0ZWRUYXJnZXQnLCAnbnVsbCcpOyB9KTsKK2J1dHRvbjEuYWRkRXZlbnRMaXN0ZW5l
cigiZm9jdXNvdXQiLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgnZXZlbnQucmVsYXRlZFRh
cmdldCcsICdidXR0b24yJyk7IH0pOworYnV0dG9uMi5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2lu
IiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0
dG9uMScpOyB9KTsKK2J1dHRvbjIuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLCBmdW5jdGlv
bihldmVudCkgeyBzaG91bGRCZSgnZXZlbnQucmVsYXRlZFRhcmdldCcsICdidXR0b24zJyk7IH0p
OworYnV0dG9uMy5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwgZnVuY3Rpb24oZXZlbnQpIHsg
c2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0dG9uMicpOyB9KTsKK2J1dHRvbjMu
YWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgn
ZXZlbnQucmVsYXRlZFRhcmdldCcsICdidXR0b240Jyk7IGZpbmlzaEpTVGVzdCgpOyB9KTsKKwor
Zm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdc
dCcpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186305</attachid>
            <date>2013-02-03 22:15:46 -0800</date>
            <delta_ts>2013-02-04 17:40:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20130204151226.patch</filename>
            <type>text/plain</type>
            <size>34169</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZiNGI1YWQ3MWJmYTI2
MjFjMjJmNDZmNDY1YTFjNTlkOWU1N2NhMy4uNGJjOTRjNDY0NTE4OGU2ZjQ3ZGI2OWQ2NDkzZmE2
OTlmZTg2NzI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAyLTAzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1
cyBldmVudHMgYXJlIFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRv
bid0IGV4cG9zZSAucmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1F
dmVudHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEg
bmV3IEZvY3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAg
ICAgICBOb3cgd2hlbiBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwg
YSBGb2N1c0V2ZW50IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBh
dHRyaWJ1dGUgc2V0IGFjY29yZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50Ojppc0ZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChFdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvbnRleHQ6OmhhbmRsZUxv
Y2FsRXZlbnRzKToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiBkb20v
Rm9jdXNFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnRvRm9jdXNF
dmVudCk6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBk
b20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorCiAy
MDEzLTAxLTMxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTQxNTAyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBhZjI0OTQ1YTdhZmI2MDAwOTE0NjdjODFjYTkwNGU0ZmZlNzkyNzE5Li5mMWIwMTc4YmJhYWJi
ZTlmMjRhZjZlMTc1MmI0MjQ3ZDQwMzIzZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzY4
LDYgKzM2OCw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9FdmVudEV4Y2VwdGlv
bi5pZGwKICAgICBkb20vRXZlbnQuaWRsCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbAorICAgIGRv
bS9Gb2N1c0V2ZW50LmlkbAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsCiAgICAgZG9tL0tl
eWJvYXJkRXZlbnQuaWRsCiAgICAgZG9tL01lc3NhZ2VDaGFubmVsLmlkbApAQCAtMTE3Niw2ICsx
MTc3LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9FdmVudFRhcmdldC5jcHAKICAg
ICBkb20vRXhjZXB0aW9uQmFzZS5jcHAKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVy
LmNwcAorICAgIGRvbS9Gb2N1c0V2ZW50LmNwcAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5j
cHAKICAgICBkb20vR2VzdHVyZUV2ZW50LmNwcAogICAgIGRvbS9JY29uVVJMLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGQxYTYxYTYyYjhhZDRjNzE3ZmE5MjEzY2VkZTVmYWY4
ZWUwMjMyNDMuLjg2ZWVhNjBkZTNhMjMzYjc5NGI0MDUzYTFjZTA5MDY3OGIxMWJjNzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTEzNiw2ICsxMzYsNyBAQAogI2luY2x1ZGUgIkpT
RmlsZVdyaXRlclN5bmMuY3BwIgogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmNwcCIKICNpbmNs
dWRlICJKU0Zsb2F0NjRBcnJheS5jcHAiCisjaW5jbHVkZSAiSlNGb2N1c0V2ZW50LmNwcCIKICNp
bmNsdWRlICJKU0dlb2xvY2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU0dlb3Bvc2l0aW9uLmNwcCIK
ICNpbmNsdWRlICJKU0hhc2hDaGFuZ2VFdmVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA2MDVhMjFlZjNkZGZkZjJhODdmZTljYTI4YTE1ZTFhZmY5NjUwMTQzLi4zOWJk
ZThlY2M1ODkxYmExODJjYWNhNGYzYTg3YTRiMjU4NmIwZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTIzNSw2ICsyMzUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChX
ZWJDb3JlKS9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVu
dExpc3RlbmVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2RvbS9Gb2N1c0V2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vSGFz
aENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vS2V5Ym9hcmRFdmVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL01lc3NhZ2VDaGFubmVsLmlkbCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkKaW5kZXggMWNiY2MzNzY2M2UzZDA5NWM4NDEyNzliMGJlNTlhMTY0ZjA3OGE0
Ni4uOGFjNzczOGRjZjlmZmYzNzJkMzk2Njc0M2NkYzM0OTZmYjMyYWQ0NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLnByaQpAQCAtMjQ4LDYgKzI0OCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAg
ICAgJCRQV0QvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCiAjICAgICQkUFdEL2RvbS9FdmVudExp
c3RlbmVyLmlkbCBcCiAgICAgJCRQV0QvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCisgICAgJCRQV0Qv
ZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBc
CiAgICAgJCRQV0QvZG9tL0tleWJvYXJkRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vTW91c2VF
dmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMjdmZTc5ODMxYWVi
MTM5YmYxYjU4MTBhZmNhZjk4Nzk4NjA3OGQ1NS4uZDI4OTFiYjNjN2I3NWI1Mjg1MTQ5NzgyODU2
MTYwNmM4NTQ4M2QzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yODYsNiAr
Mjg2LDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRmxvYXQzMkFycmF5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0
QXJyYXkuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dh
bWVwYWQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2FtZXBhZC5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTR2FtZXBhZExpc3QuY3BwIFwKQEAgLTEzODAsNiArMTM4Miw3
IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50LmlkbCBcCiAJ
JChXZWJDb3JlKS9kb20vRXZlbnRUYXJnZXQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudEV4
Y2VwdGlvbi5pZGwgXAorCSQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKIAkkKFdlYkNv
cmUpL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2
ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwKQEAgLTI4NDks
NiArMjg1Miw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4
Y2VwdGlvbkNvZGUuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhv
bGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIu
aCBcCisJU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9kb20vRm9jdXNFdmVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRnJhZ21lbnRTY3JpcHRp
bmdQZXJtaXNzaW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9HZXN0dXJlRXZlbnQuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVyZUV2ZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggYzRi
YzcyZWI2MjFjNmNiOTIyNGU4MTliODc3MmU2NTJlM2Y4ZDEwZi4uMmZmNTA3ZjAxNTE5ZTRhNGRj
NTE1MzRmNzdmZGZjNzJkYmYxZDU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC00MDAsNiArNDAwLDcgQEAg
U09VUkNFUyArPSBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlv
bkJhc2UuY3BwIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCBcCisgICAg
ZG9tL0ZvY3VzRXZlbnQuY3BwIFwKICAgICBkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwIFwKICAg
ICBkb20vR2VzdHVyZUV2ZW50LmNwcCBcCiAgICAgZG9tL0ljb25VUkwuY3BwIFwKQEAgLTE2MTMs
NiArMTYxNCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5oIFwKICAgICBk
b20vRXhjZXB0aW9uQmFzZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwKKyAgICBkb20v
Rm9jdXNFdmVudC5oIFwKICAgICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggXAog
ICAgIGRvbS9HZXN0dXJlRXZlbnQuaCBcCiAgICAgZG9tL0lkVGFyZ2V0T2JzZXJ2ZXIuaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggMzIzM2M5OWVmMzgxNWJkZWZkNzhiMjc2NzI4OTUyODA0MGJiN2Mz
Ni4uNDkyZTY4ZTIyYWU5MjUzOGQ2OWQ0ZWMyOTJhMzBkZTM4NWI3MzYwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtMjI0LDYgKzIyNCw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50RXhjZXB0aW9u
LmlkbCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50TGlzdGVuZXIuaWRsJywKICAgICAgICAgICAg
ICdkb20vRXZlbnRUYXJnZXQuaWRsJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5pZGwn
LAogICAgICAgICAgICAgJ2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdk
b20vS2V5Ym9hcmRFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlQ2hhbm5lbC5p
ZGwnLApAQCAtMjgyMSw2ICsyODIyLDggQEAKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFz
ZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25CYXNlLmgnLAogICAgICAgICAgICAg
J2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwJywKKyAgICAgICAgICAgICdkb20vRm9j
dXNFdmVudC5jcHAnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmgnLAogICAgICAgICAg
ICAgJ2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5oJywKICAgICAgICAgICAgICdkb20vR2VzdHVyZUV2ZW50LmNwcCcsCkBAIC02
MzU0LDYgKzYzNTcsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNGaWxlV3JpdGVyU3luYy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJh
eS5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTRm9jdXNFdmVudC5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAnLAogICAgICAgICAg
ICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5o
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R2VvcG9zaXRpb24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAzMjQwZTNjZDUzYzkwYzA0NzRmMDM4MDk0ODY5ZDcyNTVj
M2Q5Y2JhLi5hM2MxMjMwMTAxMGIzZTkwYmI4ZDhjYjkwMTlhZWJiYTI3NmJhNjYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01
MzU3LDYgKzUzNTcsMTAgQEAKIAkJQjY1OEZGQTIxNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9O
b2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjY1OEZGQTAxNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oICovOyB9OwogCQlC
NjU4RkZBNTE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU4RkZBMzE1MjJFRkFBMDBERDU1
OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgKi87IH07CiAJCUI2NThGRkE2MTUyMkVGQUEwMERENTU5
NSAvKiBSYWRpb05vZGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNjU4RkZBNDE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oICov
OyB9OworICAgICAgICAgICAgICAgIEI2RDlEMjM1MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5
RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovOyB9OworICAgICAgICAgICAg
ICAgIEI2RDlEMjM2MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkw
RDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLzsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDI3QjE0
RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1
c0V2ZW50LmggKi87IH07CisgICAgICAgICAgICAgICAgQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVF
IC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCNkQ5RDI3QTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCAq
LzsgfTsKIAkJQjcxRkU2REYxMTA5MUNCMzAwREFFRjc3IC8qIFByaW50Q29udGV4dC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjc3NkQ0M0ExMTA0NTI1
RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUI3MzRCMTgxMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJh
bnNjb2Rlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNzM0QjE4MDExOUI5OTExMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwICovOyB9Owog
CQlCNzM0QjE4MzExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgyMTE5Qjk5MUQwMDY1
ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oICovOyB9OwpAQCAtMTI4NTUsNiArMTI4NTksMTEgQEAK
IAkJQjY1OEZGQTAxNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JhZGlvTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjY1OEZGQTMxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFkaW9Ob2RlTGlz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2NThGRkE0MTUyMkVGQUEwMERE
NTU5NSAvKiBSYWRpb05vZGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJhZGlvTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKyAgICAgICAgICAg
ICAgICBCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisgICAgICAgICAgICAgICAgQjZEOUQyMzQxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3Vz
RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9jdXNFdmVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisgICAgICAgICAgICAgICAgQjZEOUQy
NzIxNEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IEZvY3VzRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworICAgICAgICAg
ICAgICAgIEI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisgICAgICAgICAgICAgICAgQjZEOUQyN0ExNEVBQzA4NjAwOTBENzVFIC8q
IEpTRm9jdXNFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0ZvY3VzRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4MDEx
OUI5OTExMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBuYW1lID0gRm9udFRyYW5zY29kZXIuY3BwOyBwYXRoID0gdHJhbnNjb2Rlci9G
b250VHJhbnNjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3MzRCMTgy
MTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBGb250VHJhbnNjb2Rlci5oOyBwYXRoID0gdHJhbnNjb2Rlci9Gb250VHJh
bnNjb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzc2RDQzQTExMDQ1MjVE
MDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFByaW50Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTk1Mjgs
NiArMTk1MzcsOCBAQAogCQkJCUJDNjBEOUJFMEQyQTI2OUEwMEI5OTE4RiAvKiBKU0V2ZW50RXhj
ZXB0aW9uLmggKi8sCiAJCQkJQzZBNzAzMzI1QzlEMEI2Q0RDQkM0RDc4IC8qIEpTRXZlbnRUYXJn
ZXQuY3BwICovLAogCQkJCTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0
LmggKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEI2RDlEMjdBMTRFQUMwODYw
MDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi8sCiAJ
CQkJODQ4MkI3NEYxMTk4Q0I2QjAwQkZCMDA1IC8qIEpTSGFzaENoYW5nZUV2ZW50LmNwcCAqLywK
IAkJCQk4NDgyQjc1MDExOThDQjZCMDBCRkIwMDUgLyogSlNIYXNoQ2hhbmdlRXZlbnQuaCAqLywK
IAkJCQlBODY2MjlDRTA5REEyQjQ3MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCAqLywK
QEAgLTIyMzcxLDYgKzIyMzgyLDkgQEAKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyog
RXhjZXB0aW9uQ29kZS5oICovLAogCQkJCUE3Q0FDREIwMTNDRTg3NUIwMEJCQkUzRiAvKiBFeGNl
cHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwICovLAogCQkJCUE3NEJCNzZBMTNCREE4NjMwMEZGN0JG
MCAvKiBFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCAqLywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQjZEOUQyMzQxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwICov
LAorCQkJCUI2RDlEMjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi8sCisJCQkJ
QjZEOUQyNzIxNEVBQkYwMzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovLAogCQkJCUE4NTMx
MjNDMTFEMDQ3MUIwMEQ0RDA3NyAvKiBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCAqLywK
IAkJCQkwNzIwQjA5RTE0RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICov
LAogCQkJCTA3MjBCMDlGMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICov
LApAQCAtMjQxNjEsNiArMjQxNzUsNyBAQAogCQkJCUQ3MkY2RDdBMTUzMTU5QTMwMDFFRTQ0RSAv
KiBGbG93VGhyZWFkQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ5OTNCRTYwQjJG
MkIxQzAwNTA0OTdGIC8qIEZvY3VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDYy
Mjg3ODQwQjREQjMyMjAwMEMzNERGIC8qIEZvY3VzRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVF
IC8qIEZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYxMEQwMDZDRDYwMEVG
NkYyNiAvKiBGb250LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5MkQ0RjEyOTM1NTBCMDBDODM4
N0YgLyogRm9udEJhc2VsaW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2MzBEMDA2Q0Q2
MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0NjU5LDYgKzI0Njc0
LDcgQEAKIAkJCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjAzMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0Zs
b2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCQzVFQjAxMzhCNTBGMjAwQTBDRjhB
IC8qIEpTRmxvYXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkRBMTVFQUMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUZFODBEQTY0MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xv
Y2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRTgwREE2NjBFOUM0NzAzMDAwRDZGNzUgLyog
SlNHZW9wb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQ2OSw2ICsyNzQ4NSw3IEBACiAJ
CQkJQjI3NTM1N0EwQjA1MzgxNDAwMkNFNjRGIC8qIEZsb2F0U2l6ZU1hYy5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCUQ3MkY2RDc5MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDk5M0JFNTBCMkYyQjFDMDA1MDQ5N0YgLyogRm9j
dXNDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBCNkQ5RDIzNjE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMkMzREE2MDBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCMkMzREE2MjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUIyQUZGQzdDMEQwMEE1QzEwMDMwMDc0RCAvKiBGb250Q2FjaGVN
YWMubW0gaW4gU291cmNlcyAqLywKQEAgLTI3OTY4LDYgKzI3OTg1LDcgQEAKIAkJCQk4OTNDNDdC
QjEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDlFRUNGMDIxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTZFQkM1RUFGMTM4QjUwRjIwMEEwQ0Y4QSAvKiBKU0Zsb2F0NjRB
cnJheS5jcHAgaW4gU291cmNlcyAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
QjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGREExNUVBQjEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlGRTgwREE2MzBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlGRTgwRDdBQjBFOUMxRUQyMDAwRDZGNzUgLyogSlNHZW9s
b2NhdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01BbGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUu
Y3BwCmluZGV4IGFmNDFkODgxZWM4MmY4YTQ5N2YzYjJjMTg3NDg4MWZhNGY1MTE5ODguLmJkNTk4
YTAyMzRiNDRmMDY0YmZkNmIzNzMwZTFhM2U2MmFiYWY4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFs
bEluT25lLmNwcApAQCAtODQsNiArODQsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIK
ICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxh
Y2Vob2xkZXIuY3BwIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25V
UkwuY3BwIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIklkVGFy
Z2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCBjMWU2MDlmZjQw
YTA2MTFhNzJjMmM3YzExMDgxNTEyYmViMjhkYzU1Li5lOGJhOTA0NjZlMTQ0ZjMwN2JmNzk5MzNl
YWE0ZDg5ZDQ0ZDk1ZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTEyMiw2ICsxMjIsMTEgQEAg
Ym9vbCBFdmVudDo6aXNNb3VzZUV2ZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
K2Jvb2wgRXZlbnQ6OmlzRm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCiBib29sIEV2ZW50Ojppc0tleWJvYXJkRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50LmgKaW5kZXggMzZmMDI5MzU2YWFmY2IwNzFjMzFmMDMwMTYxNjc1OTdm
NmQyNWRiOC4uMGNiZjliOGE4NTg5MTU4ODY0ODYwODIyODlmOTdhY2IyZDBiYTczNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgZXZlbnRz
IGFyZSBnZW5lcmFsIGNsYXNzZXMgb2YgZXZlbnRzLgogICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZl
bnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CisgICAg
dmlydHVhbCBib29sIGlzRm9jdXNFdmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0tl
eWJvYXJkRXZlbnQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNUb3VjaEV2ZW50KCkgY29u
c3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKaW5kZXggODg3ZjY4M2IyNmJmOTMx
ZGU4MDA0Nzc3YWM0NDViNzFhZTA0ZGUzYy4uMTYzYWU1ODZiNDQ3NGQ0NzEyOTcwOTY0NTEzODRk
NDgyNDA5ZmUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKQEAgLTMwLDYgKzMw
LDcgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2lu
Y2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNl
RXZlbnQuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAKQEAgLTUxLDYgKzUyLDggQEAgdm9pZCBFdmVu
dENvbnRleHQ6OmhhbmRsZUxvY2FsRXZlbnRzKEV2ZW50KiBldmVudCkgY29uc3QKICAgICBldmVu
dC0+c2V0Q3VycmVudFRhcmdldChtX2N1cnJlbnRUYXJnZXQuZ2V0KCkpOwogICAgIGlmIChtX3Jl
bGF0ZWRUYXJnZXQuZ2V0KCkgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpKQogICAgICAgICB0b01v
dXNlRXZlbnQoZXZlbnQpLT5zZXRSZWxhdGVkVGFyZ2V0KG1fcmVsYXRlZFRhcmdldC5nZXQoKSk7
CisgICAgZWxzZSBpZiAobV9yZWxhdGVkVGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc0ZvY3VzRXZl
bnQoKSkKKyAgICAgICAgdG9Gb2N1c0V2ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdldChtX3Jl
bGF0ZWRUYXJnZXQpOwogICAgIG1fbm9kZS0+aGFuZGxlTG9jYWxFdmVudHMoZXZlbnQpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDUxMWJkZjQxY2U2OTRkMjU0YTRiNmY0N2Q2
YmJkNWVlYjFiYjQ0OTIuLjIyMDQ4Y2U3ZmMzMmFiNDQ4ZWViM2M0ZWUzMGZkNzMwZjlmYzZjN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC04LDYgKzgsNyBAQCBDbG9zZUV2ZW50CiBD
b21wb3NpdGlvbkV2ZW50CiBDdXN0b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAogSGFz
aENoYW5nZUV2ZW50CiBLZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1l
PUtleWJvYXJkRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTY2
NGNlOWI4YTY5NDFiMDI2M2NkOGU4YmY5Y2U3YTJmMTkzYTJkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuaCIKKwor
I2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NvbnN0IEF0b21pY1N0cmluZyYgRm9jdXNFdmVudDo6aW50ZXJmYWNlTmFt
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JGb2N1c0V2
ZW50OworfQorCitib29sIEZvY3VzRXZlbnQ6OmlzRm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIHRydWU7Cit9OworCitGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKK3sKK30KKworRm9j
dXNFdmVudDo6Rm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnVi
YmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQg
ZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIDogVUlF
dmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkKKyAgICAsIG1f
cmVsYXRlZFRhcmdldChyZWxhdGVkVGFyZ2V0KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YTk5ZmQ4MzFjNzkwNDE2ZmZk
NjM5MjRmYmM3YjU1YTA2ZTdlYTRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzRXZlbnQuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Rm9jdXNFdmVudF9oCisjZGVmaW5lIEZvY3VzRXZlbnRfaAorCisjaW5jbHVkZSAiRXZlbnRUYXJn
ZXQuaCIKKyNpbmNsdWRlICJVSUV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRm9jdXNFdmVudCA6IHB1YmxpYyBVSUV2ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFz
c1JlZlB0cjxGb2N1c0V2ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBGb2N1c0V2ZW50KTsKKyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1
c0V2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwg
Ym9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFp
bCwgUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgRm9jdXNFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFi
bGUsIHZpZXcsIGRldGFpbCwgcmVsYXRlZFRhcmdldCkpOworICAgIH0KKworICAgIEV2ZW50VGFy
Z2V0KiByZWxhdGVkVGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZWxhdGVkVGFyZ2V0LmdldCgp
OyB9CisgICAgdm9pZCBzZXRSZWxhdGVkVGFyZ2V0KFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJl
bGF0ZWRUYXJnZXQpIHsgbV9yZWxhdGVkVGFyZ2V0ID0gcmVsYXRlZFRhcmdldDsgfQorCisgICAg
dmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNGb2N1c0V2ZW50KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRm9jdXNF
dmVudCgpOworICAgIEZvY3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNh
bkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCwg
UGFzc1JlZlB0cjxFdmVudFRhcmdldD4pOworCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBtX3Jl
bGF0ZWRUYXJnZXQ7Cit9OworCitpbmxpbmUgRm9jdXNFdmVudCogdG9Gb2N1c0V2ZW50KEV2ZW50
KiBldmVudCkKK3sKKyAgICBBU1NFUlQoZXZlbnQgJiYgZXZlbnQtPmlzRm9jdXNFdmVudCgpKTsK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Rm9jdXNFdmVudCo+KGV2ZW50KTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRm9jdXNFdmVudF9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFkYWM5NGZjOGM0ODhlOTFiNjNhYzI5MDM3MTYwMmI3
Zjc2ODU0NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50
LmlkbApAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2ludGVyZmFjZSBGb2N1c0V2ZW50
IDogVUlFdmVudAoreworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCByZWxhdGVk
VGFyZ2V0OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA0MTE2OTAxOWQyZWIxYTk2N2ZjYzU2Y2Fm
MjJlMDIyM2Q1N2JmOWY5Li45YzI2OTQwNjZjZTBiYzkyN2YwZmU2OTEzNTFiYjQxNTQ1MTg2Zjg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL05vZGUuY3BwCkBAIC01OSw2ICs1OSw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0
ZW5lci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVk
ZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTIzNTEsMTQgKzIz
NTIsMTQgQEAgdm9pZCBOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2RlPgogewogICAgIEFTU0VSVCghTm9FdmVudERp
c3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CiAgICAgQVNTRVJU
KGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkuRE9NRm9jdXNJbkV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcihGb2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVu
dDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3
KCksIDApLCBvbGRGb2N1c2VkTm9kZSkpOworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRj
aE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50
OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXco
KSwgMCwgb2xkRm9jdXNlZE5vZGUpLCBvbGRGb2N1c2VkTm9kZSkpOwogfQogCiB2b2lkIE5vZGU6
OmRpc3BhdGNoRm9jdXNPdXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFz
c1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSkKIHsKICAgICBBU1NFUlQoIU5vRXZlbnREaXNw
YXRjaEFzc2VydGlvbjo6aXNFdmVudERpc3BhdGNoRm9yYmlkZGVuKCkpOwogICAgIEFTU0VSVChl
dmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmZvY3Vzb3V0RXZlbnQgfHwgZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5ET01Gb2N1c091dEV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlz
cGF0Y2hNZWRpYXRvcihGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZl
bnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0Vmll
dygpLCAwKSwgbmV3Rm9jdXNlZE5vZGUpKTsKKyAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0
Y2hNZWRpYXRvcihGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZl
bnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0Vmll
dygpLCAwLCBuZXdGb2N1c2VkTm9kZSksIG5ld0ZvY3VzZWROb2RlKSk7CiB9CiAKIGJvb2wgTm9k
ZTo6ZGlzcGF0Y2hET01BY3RpdmF0ZUV2ZW50KGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnQ+
IHVuZGVybHlpbmdFdmVudCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwNzhiMzY3OTc4MDc2YzBiM2M5NGFjMTk5MTg4Mzg4
OGYzZjA4NjUxLi40Zjc5MjAyYzNiOGY0Mjc2ZmRkNzFhMjUyNDUwN2E3MTIwY2E2ZDg0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDItMDMgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCdzIGZvY3VzIGV2ZW50cyBhcmUgVUlFdmVudHMg
KGluc3RlYWQgb2YgRm9jdXNFdmVudCkgYW5kIHRodXMgZG9uJ3QgZXhwb3NlIC5yZWxhdGVkVGFy
Z2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIx
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6
IGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLUZvY3VzRXZl
bnQKKworICAgICAgICBUaGlzIHBhdGNoIGNyZWF0ZXMgYSBuZXcgRm9jdXNFdmVudCBjbGFzcyB3
aXRoIGEgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUuCisgICAgICAgIE5vdyB3aGVuIGZvY3VzaW4g
b3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVkLCBhIEZvY3VzRXZlbnQgaXMgY3JlYXRl
ZCB3aXRoCisgICAgICAgIHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBzZXQgYWNjb3JkaW5n
bHkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1l
dmVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2
ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRlZC10
YXJnZXQtZm9jdXNldmVudC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMS0zMSAgSGF5YXRvIEl0byAg
PGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXNlIFRvdWNoRXZlbnQudGFyZ2V0VG91
Y2hlcyByYXRoZXIgdGhhbiBUb3VjaEV2ZW50LnRvdWNoZXMgc2luY2UgdGhlIG9yZGVyIG9mIFRv
dWNoZXMgaW4gVG91Y2hMaXN0IGlzIG5vdCBndWFyYW50ZWVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDlhNWY5ZGIzNzExMGU1NDY5MDA5MmRhNDdiOTg0ZmQzYjYzYjY2NmYu
LjQwYWE2N2YwYWJmMjI3YTE3MzlhZWEyNTI1MjZlODE3ZjU3OWNjYTggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2
ZW50cy1leHBlY3RlZC50eHQKQEAgLTYxLDEzICs2MSwxMyBAQCBQQVNTIGRpc3BhdGNoZWRFdmVu
dCgibW91c2VvdXQiKSBpcyBbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNo
YWRvdwogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJsaW5nIG5vZGUuIEFsbCBu
b2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBk
aXZCIHRvIGRpdkMKLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZDKEBk
aXZDKSIsICJkaXZDKEBkaXZBKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBp
cyBbImRpdkIoQGRpdkIpIiwgImRpdkIoQGRpdkEpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJm
b2N1c2luIikgaXMgWyJkaXZDKDwtZGl2QikoQGRpdkMpIiwgImRpdkMoPC1kaXZCKShAZGl2QSki
XQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMgWyJkaXZCKDwtZGl2QykoQGRp
dkIpIiwgImRpdkIoPC1kaXZDKShAZGl2QSkiXQogCiBPbGQgZm9jdXNlZCBub2RlIGFuZCBuZXcg
Zm9jdXNlZCBub2RlIGV4aXN0IGluIHNlcGFyYXRlZCBzdWJ0cmVlcywgY3Jvc3Npbmcgc2hhZG93
IGJvdW5kYXJpZXMuIE1ha2luZyBzdXJlIHRoYXQgYW4gZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQg
YmV5b25kIHRoZSBsb3dlc3QgY29tbW9uIGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gc2hh
ZG93RC9zaGFkb3dGL3NoYWRvd0cvZGl2SCB0byBzaGFkb3dEL3NoYWRvd0svZGl2TAotUEFTUyBk
aXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkwoQGRpdkwpIiwgInNoYWRvd0soQHNo
YWRvd0spIiwgInNoYWRvd0soQGRpdkopIl0KLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291
dCIpIGlzIFsiZGl2SChAZGl2SCkiLCAic2hhZG93RyhAc2hhZG93RykiLCAic2hhZG93RihAc2hh
ZG93RikiLCAic2hhZG93RihAZGl2RSkiXQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4i
KSBpcyBbImRpdkwoPC1kaXZIKShAZGl2TCkiLCAic2hhZG93Syg8LWRpdkgpKEBzaGFkb3dLKSIs
ICJzaGFkb3dLKDwtZGl2SCkoQGRpdkopIiwgInNoYWRvd0QoPC1kaXZIKShAc2hhZG93RCkiLCAi
c2hhZG93RCg8LWRpdkgpKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQi
KSBpcyBbImRpdkgoPC1kaXZMKShAZGl2SCkiLCAic2hhZG93Ryg8LWRpdkwpKEBzaGFkb3dHKSIs
ICJzaGFkb3dGKDwtZGl2TCkoQHNoYWRvd0YpIiwgInNoYWRvd0YoPC1kaXZMKShAZGl2RSkiLCAi
c2hhZG93RCg8LWRpdkwpKEBzaGFkb3dEKSIsICJzaGFkb3dEKDwtZGl2TCkoQGRpdkEpIl0KIAog
TW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJl
IG91dHNpZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2QiB0byBk
aXZDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5k
YXJ5LWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3Vu
ZGFyeS1ldmVudHMuaHRtbAppbmRleCA5MzNkZTc0N2Y3ZTg0YTY5NTJiMzdiMjAzYTY5NThlZDg4
YmQyNWZlLi5mN2M2OTEyYTgxMzAxZWZiOTJjNDA2NjU1ZDQ5ZjFhNDFiOGQzNzFiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZl
bnRzLmh0bWwKQEAgLTE4MCwxMyArMTgwLDEzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIC8vIFRl
c3QgZm9yIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzLgogICAgIG1vdmVGb2N1cygnZGl2QicsICdk
aXZDJywKICAgICAgICAgICAgICAgJ01vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxp
bmcgbm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4nKTsKLSAg
ICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZDKEBkaXZDKSIs
ICJkaXZDKEBkaXZBKSJdJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNv
dXQiKScsICdbImRpdkIoQGRpdkIpIiwgImRpdkIoQGRpdkEpIl0nKTsKKyAgICBzaG91bGRCZSgn
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZDKDwtZGl2QikoQGRpdkMpIiwgImRp
dkMoPC1kaXZCKShAZGl2QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZv
Y3Vzb3V0IiknLCAnWyJkaXZCKDwtZGl2QykoQGRpdkIpIiwgImRpdkIoPC1kaXZDKShAZGl2QSki
XScpOwogCiAgICAgbW92ZUZvY3VzKCdzaGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIJywgJ3No
YWRvd0Qvc2hhZG93Sy9kaXZMJywKICAgICAgICAgICAgICAgJ09sZCBmb2N1c2VkIG5vZGUgYW5k
IG5ldyBmb2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9zc2luZyBz
aGFkb3cgYm91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3QgZGlzcGF0
Y2hlZCBiZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91bmRhcnkuJyk7Ci0gICAgc2hvdWxkQmUo
J2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2TChAZGl2TCkiLCAic2hhZG93SyhA
c2hhZG93SykiLCAic2hhZG93SyhAZGl2SikiXScpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVk
RXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZIKEBkaXZIKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIs
ICJzaGFkb3dGKEBzaGFkb3dGKSIsICJzaGFkb3dGKEBkaXZFKSJdJyk7CisgICAgc2hvdWxkQmUo
J2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpJywgJ1siZGl2TCg8LWRpdkgpKEBkaXZMKSIsICJz
aGFkb3dLKDwtZGl2SCkoQHNoYWRvd0spIiwgInNoYWRvd0soPC1kaXZIKShAZGl2SikiLCAic2hh
ZG93RCg8LWRpdkgpKEBzaGFkb3dEKSIsICJzaGFkb3dEKDwtZGl2SCkoQGRpdkEpIl0nKTsKKyAg
ICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2SCg8LWRpdkwp
KEBkaXZIKSIsICJzaGFkb3dHKDwtZGl2TCkoQHNoYWRvd0cpIiwgInNoYWRvd0YoPC1kaXZMKShA
c2hhZG93RikiLCAic2hhZG93Rig8LWRpdkwpKEBkaXZFKSIsICJzaGFkb3dEKDwtZGl2TCkoQHNo
YWRvd0QpIiwgInNoYWRvd0QoPC1kaXZMKShAZGl2QSkiXScpOwogCiAgICAgLy8gT21pdHRlZCB0
ZXN0IGNhc2VzIHdoZXJlIGVpdGhlciBhIG9sZEZvY3VzZWROb2RlIG9yIG5ld0ZvY3VzZWROb2Rl
IGlzIGFuIGFuY2VzdG9yIG9mIHRoZSBvdGhlci4KICAgICAvLyBEdWUgdG8gYSBmb2N1cyB0cmFu
c2ZlciBtZWNoYW5pc20gb24gc2hhZG93IGhvc3RzLCBhIGZvY3VzZWQgbm9kZSBzaG91bGQgYmUg
YSBsZWFmIG5vZGUgaW4gZ2VuZXJhbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWI2NTliNWIxMDAzZWJiYzEyMzlkNjg5YmQ0MDczMmRlMWJhOTRiZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZl
bnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdl
dCBpcyBudWxsCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgYnV0dG9uMgorUEFTUyBldmVu
dC5yZWxhdGVkVGFyZ2V0IGlzIGJ1dHRvbjEKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBi
dXR0b24zCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgYnV0dG9uMgorUEFTUyBldmVudC5y
ZWxhdGVkVGFyZ2V0IGlzIGJ1dHRvbjQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorQ2hlY2tzIHRoYXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRl
IGZvciBGb2N1c0V2ZW50IG9iamVjdHMgaXMgYmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3Vz
aW4vZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVkLiBQcmVzcyB0YWIgZm91ciB0aW1lcyB0
byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBi
dXR0b25zIGJlbG93LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworQnV0dG9uMSBC
dXR0b24yIEJ1dHRvbjMgQnV0dG9uNApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYwZTM1MDM4ZTk5
NDEwNzAwOGZhMzI4ZTY5YTI3NjAzZDNlYTllNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKQEAgLTAsMCAr
MSwzMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxidXR0b24gaWQ9ImJ1dHRvbjEiPkJ1dHRvbjE8L2J1dHRvbj4KKzxidXR0b24g
aWQ9ImJ1dHRvbjIiPkJ1dHRvbjI8L2J1dHRvbj4KKzxidXR0b24gaWQ9ImJ1dHRvbjMiPkJ1dHRv
bjM8L2J1dHRvbj4KKzxidXR0b24gaWQ9ImJ1dHRvbjQiPkJ1dHRvbjQ8L2J1dHRvbj4KKzxzY3Jp
cHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0IHRo
ZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNFdmVudCBvYmplY3RzIGlzIGJlaW5n
IHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hl
ZC4gIDxiPlByZXNzIHRhYiBmb3VyIHRpbWVzPC9iPiB0byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5k
IGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBidXR0b25zIGJlbG93LiIpOworCit2YXIg
YnV0dG9uMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24xJyk7Cit2YXIgYnV0dG9u
MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24yJyk7Cit2YXIgYnV0dG9uMyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdidXR0b24zJyk7CisKK2J1dHRvbjEuYWRkRXZlbnRMaXN0
ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVk
VGFyZ2V0JywgJ251bGwnKTsgfSk7CitidXR0b24xLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0
IiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0
dG9uMicpOyB9KTsKK2J1dHRvbjIuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9u
KGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ2J1dHRvbjEnKTsgfSk7
CitidXR0b24yLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsg
c2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnYnV0dG9uMycpOyB9KTsKK2J1dHRvbjMu
YWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdl
dmVudC5yZWxhdGVkVGFyZ2V0JywgJ2J1dHRvbjInKTsgfSk7CitidXR0b24zLmFkZEV2ZW50TGlz
dGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0
ZWRUYXJnZXQnLCAnYnV0dG9uNCcpOyBmaW5pc2hKU1Rlc3QoKTsgfSk7CisKK2ZvciAodmFyIGkg
PSAwOyBpIDwgNDsgaSsrKSB7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKK30KKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186509</attachid>
            <date>2013-02-04 17:40:53 -0800</date>
            <delta_ts>2013-02-06 04:46:16 -0800</delta_ts>
            <desc>WIP: to see bot results</desc>
            <filename>bug-76216-20130205103732.patch</filename>
            <type>text/plain</type>
            <size>34040</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxODI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmU1Yjg4MzQ0MGFiZGRl
M2IzNmVmNGJjZTMyNDViMDJhOGNmNjU5NC4uN2ZkMzc3ZDFkNDRjOGU4NDJhZjA3ZWEyM2RiNTc1
YjkzMDdjNzE0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAyLTAzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1
cyBldmVudHMgYXJlIFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRv
bid0IGV4cG9zZSAucmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1F
dmVudHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEg
bmV3IEZvY3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAg
ICAgICBOb3cgd2hlbiBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwg
YSBGb2N1c0V2ZW50IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBh
dHRyaWJ1dGUgc2V0IGFjY29yZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50Ojppc0ZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChFdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvbnRleHQ6OmhhbmRsZUxv
Y2FsRXZlbnRzKToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiBkb20v
Rm9jdXNFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnRvRm9jdXNF
dmVudCk6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBk
b20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorCiAy
MDEzLTAxLTMxICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBJbXBsZW1lbnQgV2hlZWxFdmVudDo6ZGVsdGFNb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IGJkMjMzYjlmMWUzOThmMDM2OTdhMDMzMjM3NTUxZDc5YzE1YmI4ZTcuLmQ3NjdiOTk3NzhiMDEw
YmY5NWQ4ZWU4NzA5MTY3N2MwYmFmY2FkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zNzAs
NiArMzcwLDcgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgZG9tL0V2ZW50RXhjZXB0aW9u
LmlkbAogICAgIGRvbS9FdmVudC5pZGwKICAgICBkb20vRXZlbnRUYXJnZXQuaWRsCisgICAgZG9t
L0ZvY3VzRXZlbnQuaWRsCiAgICAgZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwKICAgICBkb20vS2V5
Ym9hcmRFdmVudC5pZGwKICAgICBkb20vTWVzc2FnZUNoYW5uZWwuaWRsCkBAIC0xMTgwLDYgKzEx
ODEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmNwcAogICAg
IGRvbS9FeGNlcHRpb25CYXNlLmNwcAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIu
Y3BwCisgICAgZG9tL0ZvY3VzRXZlbnQuY3BwCiAgICAgZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNw
cAogICAgIGRvbS9HZXN0dXJlRXZlbnQuY3BwCiAgICAgZG9tL0ljb25VUkwuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKaW5kZXggNjU1MWM2OGQzYjE4NjBhNDA2OTg5OTNmMjE5MzYxZTRi
OTBiZTJkMS4uN2Q5NmJmYWI0N2IzOTgyZmYyY2ExOGEzMDk4NGY5MTExNTk4OGUzNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMTM2LDYgKzEzNiw3IEBACiAjaW5jbHVkZSAiSlNG
aWxlV3JpdGVyU3luYy5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDMyQXJyYXkuY3BwIgogI2luY2x1
ZGUgIkpTRmxvYXQ2NEFycmF5LmNwcCIKKyNpbmNsdWRlICJKU0ZvY3VzRXZlbnQuY3BwIgogI2lu
Y2x1ZGUgIkpTR2VvbG9jYXRpb24uY3BwIgogI2luY2x1ZGUgIkpTR2VvcG9zaXRpb24uY3BwIgog
I2luY2x1ZGUgIkpTSGFzaENoYW5nZUV2ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCmluZGV4IDYwNWEyMWVmM2RkZmRmMmE4N2ZlOWNhMjhhMTVlMWFmZjk2NTAxNDMuLjM5YmRl
OGVjYzU4OTFiYTE4MmNhY2E0ZjNhODdhNGIyNTg2YjBlZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQpAQCAtMjM1LDYgKzIzNSw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50
TGlzdGVuZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudFRhcmdldC5pZGwgXAorICAg
ICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9IYXNo
Q2hhbmdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLnByaQppbmRleCAxY2JjYzM3NjYzZTNkMDk1Yzg0MTI3OWIwYmU1OWExNjRmMDc4YTQ2
Li44YWM3NzM4ZGNmOWZmZjM3MmQzOTY2NzQzY2RjMzQ5NmZiMzJhZDQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpCkBAIC0yNDgsNiArMjQ4LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAg
ICAkJFBXRC9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKICMgICAgJCRQV0QvZG9tL0V2ZW50TGlz
dGVuZXIuaWRsIFwKICAgICAkJFBXRC9kb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICAkJFBXRC9k
b20vRm9jdXNFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsIFwK
ICAgICAkJFBXRC9kb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9Nb3VzZUV2
ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
IGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA3MWQ3YWFlN2IyNGQ5
MDc1ZWNhNTRjNzQ3ZjkyZWM2ZDFkMDVkZmEyLi4zMGUyMGYyMjYwNTFlZDliZTM2Yjk3NTQ1NDll
ZmUyNDYxM2RmZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTI4Niw2ICsy
ODYsOCBAQCB3ZWJjb3JlX2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNGbG9hdDMyQXJyYXkuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0NjRB
cnJheS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJyYXkuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRm9jdXNFdmVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2Ft
ZXBhZC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHYW1lcGFkLmggXAogCURlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNHYW1lcGFkTGlzdC5jcHAgXApAQCAtMTM4MCw2ICsxMzgyLDcg
QEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9kb20vRXZlbnQuaWRsIFwKIAkk
KFdlYkNvcmUpL2RvbS9FdmVudFRhcmdldC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50RXhj
ZXB0aW9uLmlkbCBcCisJJChXZWJDb3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXAogCSQoV2ViQ29y
ZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0tleWJvYXJkRXZl
bnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgXApAQCAtMjg1Miw2
ICsyODU1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhj
ZXB0aW9uQ29kZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9s
ZGVyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAgXAorCVNvdXJjZS9XZWJDb3Jl
L2RvbS9Gb2N1c0V2ZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9GcmFnbWVudFNjcmlwdGlu
Z1Blcm1pc3Npb24uaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2RvbS9HZXN0dXJlRXZlbnQuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBlOGY2
ZmMxNjJkMzk5NDVjNDQxYjBlNmM0Mjk5MzBkY2FkN2QwYjY1Li45YjBkZWYzM2YwZGQwOWY3NmFm
ZDljMGQ0YzNkNDI1YTgxM2UzYWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTQwMiw2ICs0MDIsNyBAQCBT
T1VSQ0VTICs9IFwKICAgICBkb20vRXZlbnRUYXJnZXQuY3BwIFwKICAgICBkb20vRXhjZXB0aW9u
QmFzZS5jcHAgXAogICAgIGRvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKKyAgICBk
b20vRm9jdXNFdmVudC5jcHAgXAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAgXAogICAg
IGRvbS9HZXN0dXJlRXZlbnQuY3BwIFwKICAgICBkb20vSWNvblVSTC5jcHAgXApAQCAtMTYxNSw2
ICsxNjE2LDcgQEAgSEVBREVSUyArPSBcCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmggXAogICAgIGRv
bS9FeGNlcHRpb25CYXNlLmggXAogICAgIGRvbS9FeGNlcHRpb25Db2RlLmggXAorICAgIGRvbS9G
b2N1c0V2ZW50LmggXAogICAgIGRvbS9GcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCBcCiAg
ICAgZG9tL0dlc3R1cmVFdmVudC5oIFwKICAgICBkb20vSWRUYXJnZXRPYnNlcnZlci5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQppbmRleCAwNzllNTI3YmM3MGFhN2I3ZDlhOWZmY2RmMzMxNDZkNzAzNTgxZjU2
Li40YTc3MzZiYTA2OWRhNmRhMzMzOWViZjIzZTEyMzI2YmRjODBlOGM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCkBAIC0yMjQsNiArMjI0LDcgQEAKICAgICAgICAgICAgICdkb20vRXZlbnRFeGNlcHRpb24u
aWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRMaXN0ZW5lci5pZGwnLAogICAgICAgICAgICAg
J2RvbS9FdmVudFRhcmdldC5pZGwnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwnLAogICAgICAgICAgICAgJ2Rv
bS9LZXlib2FyZEV2ZW50LmlkbCcsCiAgICAgICAgICAgICAnZG9tL01lc3NhZ2VDaGFubmVsLmlk
bCcsCkBAIC0yODMwLDYgKzI4MzEsOCBAQAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25CYXNl
LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0V4Y2VwdGlvbkJhc2UuaCcsCiAgICAgICAgICAgICAn
ZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAnLAorICAgICAgICAgICAgJ2RvbS9Gb2N1
c0V2ZW50LmNwcCcsCisgICAgICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuaCcsCiAgICAgICAgICAg
ICAnZG9tL0dlbmVyaWNFdmVudFF1ZXVlLmNwcCcsCiAgICAgICAgICAgICAnZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmgnLAogICAgICAgICAgICAgJ2RvbS9HZXN0dXJlRXZlbnQuY3BwJywKQEAgLTYz
NjMsNiArNjM2Niw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0ZpbGVXcml0ZXJTeW5jLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDMyQXJyYXkuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5
LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNGb2N1c0V2ZW50LmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmNwcCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dlb2xvY2F0aW9uLmgn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNH
ZW9wb3NpdGlvbi5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDliMjA4ZDI4MTlhOGI2ZjliYTVkZTk5NzA4YjM1OWUwMzdi
MmNhZGIuLmYwNTdiYmM4NzZiMWE3NGRkZGNiNmMwNmM2YjdiNDFkYmU5NTMxYWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUz
NjEsNiArNTM2MSwxMCBAQAogCQlCNjU4RkZBMjE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05v
ZGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
NjU4RkZBMDE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmggKi87IH07CiAJCUI2
NThGRkE1MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2NThGRkEzMTUyMkVGQUEwMERENTU5
NSAvKiBSYWRpb05vZGVMaXN0LmNwcCAqLzsgfTsKIAkJQjY1OEZGQTYxNTIyRUZBQTAwREQ1NTk1
IC8qIFJhZGlvTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEI2NThGRkE0MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVMaXN0LmggKi87
IH07CisgICAgICAgICAgICAgICAgQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZl
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlE
MjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi87IH07CisgICAgICAgICAgICAg
ICAgQjZEOUQyMzYxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjZEOUQyMzQxNEVBQkQyNjAwOTBE
NzVFIC8qIEZvY3VzRXZlbnQuY3BwICovOyB9OworICAgICAgICAgICAgICAgIEI2RDlEMjdCMTRF
QUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3Vz
RXZlbnQuaCAqLzsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDI3QzE0RUFDMDg2MDA5MEQ3NUUg
LyogSlNGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICov
OyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVGNzcgLyogUHJpbnRDb250ZXh0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNzc2RDQzQTExMDQ1MjVE
MDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODExMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFu
c2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgKi87IH07CiAJ
CUI3MzRCMTgzMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjczNEIxODIxMTlCOTkxRDAwNjU4
N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi87IH07CkBAIC0xMjg2Miw2ICsxMjg2NiwxMSBAQAog
CQlCNjU4RkZBMDE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVMaXN0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmFkaW9Ob2RlTGlzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCNjU4RkZBMzE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSYWRpb05vZGVMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY1OEZGQTQxNTIyRUZBQTAwREQ1
NTk1IC8qIFJhZGlvTm9kZUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmFkaW9Ob2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworICAgICAgICAgICAg
ICAgIEI2RDlEMjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvY3VzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDIzNDE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb2N1c0V2ZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDI3
MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9jdXNFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gRm9jdXNFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisgICAgICAgICAg
ICAgICAgQjZEOUQyNzkxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ZvY3VzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDI3QTE0RUFDMDg2MDA5MEQ3NUUgLyog
SlNGb2N1c0V2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
Rm9jdXNFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3MzRCMTgwMTE5
Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBGb250VHJhbnNjb2Rlci5jcHA7IHBhdGggPSB0cmFuc2NvZGVyL0Zv
bnRUcmFuc2NvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjczNEIxODIx
MTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmg7IHBhdGggPSB0cmFuc2NvZGVyL0ZvbnRUcmFu
c2NvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3NzZENDNBMTEwNDUyNUQw
MEJFQjBFQyAvKiBQcmludENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUHJpbnRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTUzNCw2
ICsxOTU0Myw4IEBACiAJCQkJQkM2MEQ5QkUwRDJBMjY5QTAwQjk5MThGIC8qIEpTRXZlbnRFeGNl
cHRpb24uaCAqLywKIAkJCQlDNkE3MDMzMjVDOUQwQjZDRENCQzRENzggLyogSlNFdmVudFRhcmdl
dC5jcHAgKi8sCiAJCQkJNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1IC8qIEpTRXZlbnRUYXJnZXQu
aCAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQjZEOUQyN0ExNEVBQzA4NjAw
OTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLywKIAkJ
CQk4NDgyQjc0RjExOThDQjZCMDBCRkIwMDUgLyogSlNIYXNoQ2hhbmdlRXZlbnQuY3BwICovLAog
CQkJCTg0ODJCNzUwMTE5OENCNkIwMEJGQjAwNSAvKiBKU0hhc2hDaGFuZ2VFdmVudC5oICovLAog
CQkJCUE4NjYyOUNFMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuY3BwICovLApA
QCAtMjIzODEsNiArMjIzOTIsOSBAQAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAvKiBF
eGNlcHRpb25Db2RlLmggKi8sCiAJCQkJQTdDQUNEQjAxM0NFODc1QjAwQkJCRTNGIC8qIEV4Y2Vw
dGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgKi8sCiAJCQkJQTc0QkI3NkExM0JEQTg2MzAwRkY3QkYw
IC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oICovLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBCNkQ5RDIzNDE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgKi8s
CisJCQkJQjZEOUQyMzMxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaCAqLywKKwkJCQlC
NkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9jdXNFdmVudC5pZGwgKi8sCiAJCQkJQTg1MzEy
M0MxMUQwNDcxQjAwRDREMDc3IC8qIEZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5oICovLAog
CQkJCTA3MjBCMDlFMTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5jcHAgKi8s
CiAJCQkJMDcyMEIwOUYxNEQzMzIzNTAwNjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmggKi8s
CkBAIC0yNDE3Niw2ICsyNDE5MCw3IEBACiAJCQkJRDcyRjZEN0ExNTMxNTlBMzAwMUVFNDRFIC8q
IEZsb3dUaHJlYWRDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDk5M0JFNjBCMkYy
QjFDMDA1MDQ5N0YgLyogRm9jdXNDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNjIy
ODc4NDBCNERCMzIyMDAwQzM0REYgLyogRm9jdXNEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCNkQ5RDIzNTE0RUFCRDI2MDA5MEQ3NUUg
LyogRm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNjEwRDAwNkNENjAwRUY2
RjI2IC8qIEZvbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjkyRDRGMTI5MzU1MEIwMEM4Mzg3
RiAvKiBGb250QmFzZWxpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYzMEQwMDZDRDYw
MEVGNkYyNiAvKiBGb250Q2FjaGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ2NzQsNiArMjQ2ODks
NyBAQAogCQkJCTg5M0M0N0JDMTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFj
ay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFRUNGMDMxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxv
YXQzMkFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RUJDNUVCMDEzOEI1MEYyMDBBMENGOEEg
LyogSlNGbG9hdDY0QXJyYXkuaCBpbiBIZWFkZXJzICovLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBCNkQ5RDI3QjE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlGREExNUVBQzEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkU4MERBNjQwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9j
YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUZFODBEQTY2MEU5QzQ3MDMwMDBENkY3NSAvKiBK
U0dlb3Bvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDgzLDYgKzI3NDk5LDcgQEAKIAkJ
CQlCMjc1MzU3QTBCMDUzODE0MDAyQ0U2NEYgLyogRmxvYXRTaXplTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRDcyRjZENzkxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0OTkzQkU1MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1
c0NvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEI2RDlEMjM2MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyQzNEQTYwMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyQzNEQTYyMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Q2FjaGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZDN0MwRDAwQTVDMTAwMzAwNzREIC8qIEZvbnRDYWNoZU1h
Yy5tbSBpbiBTb3VyY2VzICovLApAQCAtMjc5ODQsNiArMjgwMDEsNyBAQAogCQkJCTg5M0M0N0JC
MTIzOEEwQTkwMDJCM0Q4NiAvKiBKU0ZpbGVXcml0ZXJDYWxsYmFjay5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk0OUVFQ0YwMjEwNTA3MEM0MDAwOTlGQUIgLyogSlNGbG9hdDMyQXJyYXkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNkVCQzVFQUYxMzhCNTBGMjAwQTBDRjhBIC8qIEpTRmxvYXQ2NEFy
cmF5LmNwcCBpbiBTb3VyY2VzICovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC
NkQ5RDI3QzE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUZEQTE1RUFCMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0dhaW5Ob2RlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUZFODBEQTYzMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUZFODBEN0FCMEU5QzFFRDIwMDBENkY3NSAvKiBKU0dlb2xv
Y2F0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RPTUFsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5j
cHAKaW5kZXggYWY0MWQ4ODFlYzgyZjhhNDk3ZjNiMmMxODc0ODgxZmE0ZjUxMTk4OC4uYmQ1OThh
MDIzNGI0NGYwNjRiZmQ2YjM3MzBlMWEzZTYyYWJhZjgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxs
SW5PbmUuY3BwCkBAIC04NCw2ICs4NCw3IEBACiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuY3BwIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuY3BwIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGVQbGFj
ZWhvbGRlci5jcHAiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5jcHAiCiAjaW5jbHVkZSAiSWNvblVS
TC5jcHAiCiAjaW5jbHVkZSAiSWRUYXJnZXRPYnNlcnZlci5jcHAiCiAjaW5jbHVkZSAiSWRUYXJn
ZXRPYnNlcnZlclJlZ2lzdHJ5LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IDkzOWY1MTQzZTMz
OGFhNDUxZDQwNmZjMWM0YzYyMjk2OGMyNmUwYWYuLmQ1ZDFmYmUzNzU4Yjg0ZjQwODQyODM4Nzgz
ZjlkMDJmODE0NWFmNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcApAQCAtMTIyLDYgKzEyMiwxMSBAQCBi
b29sIEV2ZW50Ojppc01vdXNlRXZlbnQoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAor
Ym9vbCBFdmVudDo6aXNGb2N1c0V2ZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKIGJvb2wgRXZlbnQ6OmlzS2V5Ym9hcmRFdmVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnQuaAppbmRleCAzNmYwMjkzNTZhYWZjYjA3MWMzMWYwMzAxNjE2NzU5N2Y2
ZDI1ZGI4Li4wY2JmOWI4YTg1ODkxNTg4NjQ4NjA4MjI4OWY5N2FjYjJkMGJhNzM3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnQuaApAQCAtMTI0LDYgKzEyNCw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGVzZSBldmVudHMg
YXJlIGdlbmVyYWwgY2xhc3NlcyBvZiBldmVudHMuCiAgICAgdmlydHVhbCBib29sIGlzVUlFdmVu
dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc01vdXNlRXZlbnQoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNGb2N1c0V2ZW50KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzS2V5
Ym9hcmRFdmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1RvdWNoRXZlbnQoKSBjb25z
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRDb250ZXh0LmNwcAppbmRleCA4ODdmNjgzYjI2YmY5MzFk
ZTgwMDQ3NzdhYzQ0NWI3MWFlMDRkZTNjLi4xNjNhZTU4NmI0NDc0ZDQ3MTI5NzA5NjQ1MTM4NGQ0
ODI0MDlmZTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRDb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRDb250ZXh0LmNwcApAQCAtMzAsNiArMzAs
NyBAQAogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5j
bHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VF
dmVudC5oIgogI2luY2x1ZGUgIk5vZGUuaCIKIApAQCAtNTEsNiArNTIsOCBAQCB2b2lkIEV2ZW50
Q29udGV4dDo6aGFuZGxlTG9jYWxFdmVudHMoRXZlbnQqIGV2ZW50KSBjb25zdAogICAgIGV2ZW50
LT5zZXRDdXJyZW50VGFyZ2V0KG1fY3VycmVudFRhcmdldC5nZXQoKSk7CiAgICAgaWYgKG1fcmVs
YXRlZFRhcmdldC5nZXQoKSAmJiBldmVudC0+aXNNb3VzZUV2ZW50KCkpCiAgICAgICAgIHRvTW91
c2VFdmVudChldmVudCktPnNldFJlbGF0ZWRUYXJnZXQobV9yZWxhdGVkVGFyZ2V0LmdldCgpKTsK
KyAgICBlbHNlIGlmIChtX3JlbGF0ZWRUYXJnZXQuZ2V0KCkgJiYgZXZlbnQtPmlzRm9jdXNFdmVu
dCgpKQorICAgICAgICB0b0ZvY3VzRXZlbnQoZXZlbnQpLT5zZXRSZWxhdGVkVGFyZ2V0KG1fcmVs
YXRlZFRhcmdldCk7CiAgICAgbV9ub2RlLT5oYW5kbGVMb2NhbEV2ZW50cyhldmVudCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggYzI2OTNkYTk2ZmFlZDk4N2U0Mzc3MzFiNWZj
NzYxMTJmZjc0M2U0ZC4uNDQxNTBlNjQ5ZDkzNGQ0N2EzZmQ4YzUyMTdiYmE2Y2RlMTJiZTA5YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTgsNiArOCw3IEBAIENsb3NlRXZlbnQKIENv
bXBvc2l0aW9uRXZlbnQKIEN1c3RvbUV2ZW50CiBFcnJvckV2ZW50CitGb2N1c0V2ZW50CiBIYXNo
Q2hhbmdlRXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJkRXZlbnRzIGludGVyZmFjZU5hbWU9
S2V5Ym9hcmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlNjY0
Y2U5YjhhNjk0MWIwMjYzY2Q4ZThiZjljZTdhMmYxOTNhMmQKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgorCisj
aW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY29uc3QgQXRvbWljU3RyaW5nJiBGb2N1c0V2ZW50OjppbnRlcmZhY2VOYW1l
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZXZlbnROYW1lcygpLmludGVyZmFjZUZvckZvY3VzRXZl
bnQ7Cit9CisKK2Jvb2wgRm9jdXNFdmVudDo6aXNGb2N1c0V2ZW50KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdHJ1ZTsKK307CisKK0ZvY3VzRXZlbnQ6OkZvY3VzRXZlbnQoKQoreworfQorCitGb2N1
c0V2ZW50OjpGb2N1c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBk
ZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpCisgICAgOiBVSUV2
ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsKQorICAgICwgbV9y
ZWxhdGVkVGFyZ2V0KHJlbGF0ZWRUYXJnZXQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhOTlmZDgzMWM3OTA0MTZmZmQ2
MzkyNGZiYzdiNTVhMDZlN2VhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNFdmVudC5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBG
b2N1c0V2ZW50X2gKKyNkZWZpbmUgRm9jdXNFdmVudF9oCisKKyNpbmNsdWRlICJFdmVudFRhcmdl
dC5oIgorI2luY2x1ZGUgIlVJRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBGb2N1c0V2ZW50IDogcHVibGljIFVJRXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEZvY3VzRXZlbnQpOworICAgIH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3Vz
RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBi
b29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWls
LCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJs
ZSwgdmlldywgZGV0YWlsLCByZWxhdGVkVGFyZ2V0KSk7CisgICAgfQorCisgICAgRXZlbnRUYXJn
ZXQqIHJlbGF0ZWRUYXJnZXQoKSBjb25zdCB7IHJldHVybiBtX3JlbGF0ZWRUYXJnZXQuZ2V0KCk7
IH0KKyAgICB2b2lkIHNldFJlbGF0ZWRUYXJnZXQoUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVs
YXRlZFRhcmdldCkgeyBtX3JlbGF0ZWRUYXJnZXQgPSByZWxhdGVkVGFyZ2V0OyB9CisKKyAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OworICAgIHZp
cnR1YWwgYm9vbCBpc0ZvY3VzRXZlbnQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBGb2N1c0V2
ZW50KCk7CisgICAgRm9jdXNFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2Fu
QnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50LCBQ
YXNzUmVmUHRyPEV2ZW50VGFyZ2V0Pik7CisKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IG1fcmVs
YXRlZFRhcmdldDsKK307CisKK2lubGluZSBGb2N1c0V2ZW50KiB0b0ZvY3VzRXZlbnQoRXZlbnQq
IGV2ZW50KQoreworICAgIEFTU0VSVChldmVudCAmJiBldmVudC0+aXNGb2N1c0V2ZW50KCkpOwor
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxGb2N1c0V2ZW50Kj4oZXZlbnQpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBGb2N1c0V2ZW50X2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1
c0V2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWRhYzk0ZmM4YzQ4OGU5MWI2M2FjMjkwMzcxNjAyYjdm
NzY4NTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQu
aWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworaW50ZXJmYWNlIEZvY3VzRXZlbnQg
OiBVSUV2ZW50Cit7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEV2ZW50VGFyZ2V0IHJlbGF0ZWRU
YXJnZXQ7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IGM4NDNjNzI3MzY1NGE5MTAyN2I2ZmQwYmYw
M2VjNjA4NDRhOTU5MmIuLjM0YzI3MTMxNDBmOWFjMjU3MWI3YTRkNzRmM2NkZWZhMjM2Yzg0MmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKQEAgLTU5LDYgKzU5LDcgQEAKICNpbmNsdWRlICJFdmVudExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgpAQCAtMjM1MSwxNCArMjM1
MiwxNCBAQCB2b2lkIE5vZGU6OmRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+CiB7CiAgICAgQVNTRVJUKCFOb0V2ZW50RGlz
cGF0Y2hBc3NlcnRpb246OmlzRXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQo
ZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c2luRXZlbnQgfHwgZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNw
YXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50
OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXco
KSwgMCksIG9sZEZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNo
TWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZlbnQ6
OmNyZWF0ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0Vmlldygp
LCAwLCBvbGRGb2N1c2VkTm9kZSksIG9sZEZvY3VzZWROb2RlKSk7CiB9CiAKIHZvaWQgTm9kZTo6
ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNz
UmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewogICAgIEFTU0VSVCghTm9FdmVudERpc3Bh
dGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CiAgICAgQVNTRVJUKGV2
ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNvdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLkRPTUZvY3VzT3V0RXZlbnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNw
YXRjaE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVu
dDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3
KCksIDApLCBuZXdGb2N1c2VkTm9kZSkpOworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRj
aE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVu
dDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3
KCksIDAsIG5ld0ZvY3VzZWROb2RlKSwgbmV3Rm9jdXNlZE5vZGUpKTsKIH0KIAogYm9vbCBOb2Rl
OjpkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4g
dW5kZXJseWluZ0V2ZW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcyMzRjMzg4ZmM0MWRhMmI0YzVmZDlmOTEwNGZkNmQx
NjY0MDg2MjAuLjdmMmFjNTQ2MzNjZmRlYTA1OTM3NDE1MTJmYTE5MDZhNzY3NGEwZDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMi0wMyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgV2ViS2l0J3MgZm9jdXMgZXZlbnRzIGFyZSBVSUV2ZW50cyAo
aW5zdGVhZCBvZiBGb2N1c0V2ZW50KSBhbmQgdGh1cyBkb24ndCBleHBvc2UgLnJlbGF0ZWRUYXJn
ZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzog
aHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzLyNldmVudHMtRm9jdXNFdmVu
dAorCisgICAgICAgIFRoaXMgcGF0Y2ggY3JlYXRlcyBhIG5ldyBGb2N1c0V2ZW50IGNsYXNzIHdp
dGggYSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZS4KKyAgICAgICAgTm93IHdoZW4gZm9jdXNpbiBv
ciBmb2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQsIGEgRm9jdXNFdmVudCBpcyBjcmVhdGVk
IHdpdGgKKyAgICAgICAgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIHNldCBhY2NvcmRpbmds
eS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2
ZW50cy5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZl
bnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRh
cmdldC1mb2N1c2V2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTMxICBLZW50YXJvIEhhcmEg
IDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgV2hlZWxFdmVudDo6
ZGVsdGFNb2RlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQKaW5kZXggOWE1ZjlkYjM3MTEw
ZTU0NjkwMDkyZGE0N2I5ODRmZDNiNjNiNjY2Zi4uNDBhYTY3ZjBhYmYyMjdhMTczOWFlYTI1MjUy
NmU4MTdmNTc5Y2NhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1ib3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNjEsMTMg
KzYxLDEzIEBAIFBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJtb3VzZW91dCIpIGlzIFsiZGl2SCg8LXNo
YWRvd0spKEBkaXZIKSIsICJzaGFkb3dHKDwtc2hhZG93CiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5v
ZGUgdG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBi
b3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIGRpdkIgdG8gZGl2QwotUEFTUyBkaXNwYXRjaGVk
RXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0KLVBBU1Mg
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2QihAZGl2QikiLCAiZGl2QihAZGl2
QSkiXQorUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkMoPC1kaXZCKShA
ZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9j
dXNvdXQiKSBpcyBbImRpdkIoPC1kaXZDKShAZGl2QikiLCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJd
CiAKIE9sZCBmb2N1c2VkIG5vZGUgYW5kIG5ldyBmb2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJh
dGVkIHN1YnRyZWVzLCBjcm9zc2luZyBzaGFkb3cgYm91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhh
dCBhbiBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCBiZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91
bmRhcnkuCiBNb3ZpbmcgZm9jdXMgZnJvbSBzaGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIIHRv
IHNoYWRvd0Qvc2hhZG93Sy9kaXZMCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlz
IFsiZGl2TChAZGl2TCkiLCAic2hhZG93SyhAc2hhZG93SykiLCAic2hhZG93SyhAZGl2SikiXQot
UEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMgWyJkaXZIKEBkaXZIKSIsICJzaGFk
b3dHKEBzaGFkb3dHKSIsICJzaGFkb3dGKEBzaGFkb3dGKSIsICJzaGFkb3dGKEBkaXZFKSJdCitQ
QVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2TCg8LWRpdkgpKEBkaXZMKSIs
ICJzaGFkb3dLKDwtZGl2SCkoQHNoYWRvd0spIiwgInNoYWRvd0soPC1kaXZIKShAZGl2SikiLCAi
c2hhZG93RCg8LWRpdkgpKEBzaGFkb3dEKSIsICJzaGFkb3dEKDwtZGl2SCkoQGRpdkEpIl0KK1BB
U1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2SCg8LWRpdkwpKEBkaXZIKSIs
ICJzaGFkb3dHKDwtZGl2TCkoQHNoYWRvd0cpIiwgInNoYWRvd0YoPC1kaXZMKShAc2hhZG93Riki
LCAic2hhZG93Rig8LWRpdkwpKEBkaXZFKSIsICJzaGFkb3dEKDwtZGl2TCkoQHNoYWRvd0QpIiwg
InNoYWRvd0QoPC1kaXZMKShAZGl2QSkiXQogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0
cyBzaWJsaW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnku
CiBNb3ZpbmcgZm9jdXMgZnJvbSBkaXZCIHRvIGRpdkMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCmluZGV4IDkzM2Rl
NzQ3ZjdlODRhNjk1MmIzN2IyMDNhNjk1OGVkODhiZDI1ZmUuLmY3YzY5MTJhODEzMDFlZmI5MmM0
MDY2NTVkNDlmMWE0MWI4ZDM3MWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbApAQCAtMTgwLDEzICsxODAsMTMg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgLy8gVGVzdCBmb3IgZm9jdXNpbi9mb2N1c291dCBldmVu
dHMuCiAgICAgbW92ZUZvY3VzKCdkaXZCJywgJ2RpdkMnLAogICAgICAgICAgICAgICAnTW92ZSBm
b2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNp
ZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQo
ImZvY3VzaW4iKScsICdbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0nKTsKLSAgICBzaG91
bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2QihAZGl2QikiLCAiZGl2
QihAZGl2QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScs
ICdbImRpdkMoPC1kaXZCKShAZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdJyk7CisgICAg
c2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoPC1kaXZDKShA
ZGl2QikiLCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdJyk7CiAKICAgICBtb3ZlRm9jdXMoJ3NoYWRv
d0Qvc2hhZG93Ri9zaGFkb3dHL2RpdkgnLCAnc2hhZG93RC9zaGFkb3dLL2RpdkwnLAogICAgICAg
ICAgICAgICAnT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBz
ZXBhcmF0ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3Vy
ZSB0aGF0IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1v
biBib3VuZGFyeS4nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikn
LCAnWyJkaXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJd
Jyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgo
QGRpdkgpIiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwgInNoYWRv
d0YoQGRpdkUpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikn
LCAnWyJkaXZMKDwtZGl2SCkoQGRpdkwpIiwgInNoYWRvd0soPC1kaXZIKShAc2hhZG93SykiLCAi
c2hhZG93Syg8LWRpdkgpKEBkaXZKKSIsICJzaGFkb3dEKDwtZGl2SCkoQHNoYWRvd0QpIiwgInNo
YWRvd0QoPC1kaXZIKShAZGl2QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQo
ImZvY3Vzb3V0IiknLCAnWyJkaXZIKDwtZGl2TCkoQGRpdkgpIiwgInNoYWRvd0coPC1kaXZMKShA
c2hhZG93RykiLCAic2hhZG93Rig8LWRpdkwpKEBzaGFkb3dGKSIsICJzaGFkb3dGKDwtZGl2TCko
QGRpdkUpIiwgInNoYWRvd0QoPC1kaXZMKShAc2hhZG93RCkiLCAic2hhZG93RCg8LWRpdkwpKEBk
aXZBKSJdJyk7CiAKICAgICAvLyBPbWl0dGVkIHRlc3QgY2FzZXMgd2hlcmUgZWl0aGVyIGEgb2xk
Rm9jdXNlZE5vZGUgb3IgbmV3Rm9jdXNlZE5vZGUgaXMgYW4gYW5jZXN0b3Igb2YgdGhlIG90aGVy
LgogICAgIC8vIER1ZSB0byBhIGZvY3VzIHRyYW5zZmVyIG1lY2hhbmlzbSBvbiBzaGFkb3cgaG9z
dHMsIGEgZm9jdXNlZCBub2RlIHNob3VsZCBiZSBhIGxlYWYgbm9kZSBpbiBnZW5lcmFsLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1m
b2N1c2V2ZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOGI5YjMwMzY5M2EyYTYxZmQxNTIy
ZjAwNDY4ODE2NGIzZGIxMTc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NSBAQAorUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIG51bGwKK1BBU1MgZXZlbnQucmVsYXRl
ZFRhcmdldCBpcyBpbnB1dDIKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBpbnB1dDEKK1BB
U1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBpbnB1dDMKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdl
dCBpcyBpbnB1dDIKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBpbnB1dDQKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorQ2hlY2tzIHRoYXQgdGhl
IHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlIGZvciBGb2N1c0V2ZW50IG9iamVjdHMgaXMgYmVpbmcg
c2V0IGNvcnJlY3RseSB3aGVuIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVk
LiBQcmVzcyB0YWIgZm91ciB0aW1lcyB0byBkaXNwYXRjaCBhIGZvY3VzaW4gYW5kIGZvY3Vzb3V0
IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBpbnB1dHMgYmVsb3cuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCisgICAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDc2MzUzMjk1YjlhNjNk
ODEyNjc1YjdkOWNiZTVkYmY1YWJmNTM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1sCkBAIC0wLDAgKzEsMzMg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8aW5wdXQgaWQ9ImlucHV0MSIgdHlwZT0idGV4dCI+PC9pbnB1dD4KKzxpbnB1dCBpZD0i
aW5wdXQyIiB0eXBlPSJ0ZXh0Ij48L2lucHV0PgorPGlucHV0IGlkPSJpbnB1dDMiIHR5cGU9InRl
eHQiPjwvaW5wdXQ+Cis8aW5wdXQgaWQ9ImlucHV0NCIgdHlwZT0idGV4dCI+PC9pbnB1dD4KKzxz
Y3JpcHQ+Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworZGVzY3JpcHRpb24oIkNoZWNrcyB0aGF0
IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNFdmVudCBvYmplY3RzIGlzIGJl
aW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0
Y2hlZC4gIDxiPlByZXNzIHRhYiBmb3VyIHRpbWVzPC9iPiB0byBkaXNwYXRjaCBhIGZvY3VzaW4g
YW5kIGZvY3Vzb3V0IGV2ZW50IGZvciBlYWNoIG9mIHRoZSBpbnB1dHMgYmVsb3cuIik7CisKK3Zh
ciBpbnB1dDEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQxJyk7Cit2YXIgaW5wdXQy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MicpOwordmFyIGlucHV0MyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dDMnKTsKKworaW5wdXQxLmFkZEV2ZW50TGlzdGVuZXIo
ImZvY3VzaW4iLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgnZXZlbnQucmVsYXRlZFRhcmdl
dCcsICdudWxsJyk7IH0pOworaW5wdXQxLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVu
Y3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnaW5wdXQyJyk7
IH0pOworaW5wdXQyLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCBmdW5jdGlvbihldmVudCkg
eyBzaG91bGRCZSgnZXZlbnQucmVsYXRlZFRhcmdldCcsICdpbnB1dDEnKTsgfSk7CitpbnB1dDIu
YWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgn
ZXZlbnQucmVsYXRlZFRhcmdldCcsICdpbnB1dDMnKTsgfSk7CitpbnB1dDMuYWRkRXZlbnRMaXN0
ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVk
VGFyZ2V0JywgJ2lucHV0MicpOyB9KTsKK2lucHV0My5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291
dCIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ2lu
cHV0NCcpOyBmaW5pc2hKU1Rlc3QoKTsgfSk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsr
KSB7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnKTsKK30KKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186829</attachid>
            <date>2013-02-06 04:46:24 -0800</date>
            <delta_ts>2013-02-06 16:46:03 -0800</delta_ts>
            <desc>another try</desc>
            <filename>bug-76216-20130206214300.patch</filename>
            <type>text/plain</type>
            <size>33939</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjRlNzMyNmRjNmRmZTQw
MzY3MWJjYzJlNmUxNzViZmEzM2ZlMTU3Mi4uMzdjNDQ3MWRiZDlmMTA1ZDQ5YmE1Y2VkZWI0OTZi
ZDUxYjllNWFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAyLTAzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1
cyBldmVudHMgYXJlIFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRv
bid0IGV4cG9zZSAucmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1F
dmVudHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEg
bmV3IEZvY3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAg
ICAgICBOb3cgd2hlbiBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwg
YSBGb2N1c0V2ZW50IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBh
dHRyaWJ1dGUgc2V0IGFjY29yZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50Ojppc0ZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChFdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvbnRleHQ6OmhhbmRsZUxv
Y2FsRXZlbnRzKToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiBkb20v
Rm9jdXNFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnRvRm9jdXNF
dmVudCk6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBk
b20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorCiAy
MDEzLTAyLTA0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbVjhdIFJlbW92ZSBWOEdDQ29udHJvbGxlcjo6bV9lZGVuTm9kZXMgYW5kIG1ha2UgbWlub3Ig
RE9NIEdDIG1vcmUgcHJlY2lzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlYzI4NmJiZGQyYTFh
MmRlZTViOWFjZTQxNDk2NDgzNGFmZTBlMWY0Li45ODliYjM3NmRjNTg2ZWRjYWU1YjZhNTY1MjNm
OTUzZDg1NDc4ODE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzY5LDYgKzM2OSw3IEBAIHNl
dChXZWJDb3JlX0lETF9GSUxFUwogICAgIGRvbS9FdmVudEV4Y2VwdGlvbi5pZGwKICAgICBkb20v
RXZlbnQuaWRsCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbAorICAgIGRvbS9Gb2N1c0V2ZW50Lmlk
bAogICAgIGRvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsCiAgICAgZG9tL0tleWJvYXJkRXZlbnQuaWRs
CiAgICAgZG9tL01lc3NhZ2VDaGFubmVsLmlkbApAQCAtMTE4Miw2ICsxMTgzLDcgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIGRvbS9FdmVudFRhcmdldC5jcHAKICAgICBkb20vRXhjZXB0aW9u
QmFzZS5jcHAKICAgICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcAorICAgIGRvbS9G
b2N1c0V2ZW50LmNwcAogICAgIGRvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAKICAgICBkb20vR2Vz
dHVyZUV2ZW50LmNwcAogICAgIGRvbS9JY29uVVJMLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwCmluZGV4IDY1NTFjNjhkM2IxODYwYTQwNjk4OTkzZjIxOTM2MWU0YjkwYmUyZDEuLjdkOTZi
ZmFiNDdiMzk4MmZmMmNhMThhMzA5ODRmOTExMTU5ODhlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKQEAgLTEzNiw2ICsxMzYsNyBAQAogI2luY2x1ZGUgIkpTRmlsZVdyaXRlclN5bmMu
Y3BwIgogI2luY2x1ZGUgIkpTRmxvYXQzMkFycmF5LmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0NjRB
cnJheS5jcHAiCisjaW5jbHVkZSAiSlNGb2N1c0V2ZW50LmNwcCIKICNpbmNsdWRlICJKU0dlb2xv
Y2F0aW9uLmNwcCIKICNpbmNsdWRlICJKU0dlb3Bvc2l0aW9uLmNwcCIKICNpbmNsdWRlICJKU0hh
c2hDaGFuZ2VFdmVudC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2MDVh
MjFlZjNkZGZkZjJhODdmZTljYTI4YTE1ZTFhZmY5NjUwMTQzLi4zOWJkZThlY2M1ODkxYmExODJj
YWNhNGYzYTg3YTRiMjU4NmIwZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTIzNSw2ICsyMzUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZl
bnRFeGNlcHRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudExpc3RlbmVyLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRUYXJnZXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2Rv
bS9Gb2N1c0V2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vSGFzaENoYW5nZUV2ZW50Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9kb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvZG9tL01lc3NhZ2VDaGFubmVsLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5k
ZXggMWNiY2MzNzY2M2UzZDA5NWM4NDEyNzliMGJlNTlhMTY0ZjA3OGE0Ni4uOGFjNzczOGRjZjlm
ZmYzNzJkMzk2Njc0M2NkYzM0OTZmYjMyYWQ0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnBy
aQpAQCAtMjQ4LDYgKzI0OCw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvZG9tL0V2
ZW50RXhjZXB0aW9uLmlkbCBcCiAjICAgICQkUFdEL2RvbS9FdmVudExpc3RlbmVyLmlkbCBcCiAg
ICAgJCRQV0QvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCisgICAgJCRQV0QvZG9tL0ZvY3VzRXZlbnQu
aWRsIFwKICAgICAkJFBXRC9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9t
L0tleWJvYXJkRXZlbnQuaWRsIFwKICAgICAkJFBXRC9kb20vTW91c2VFdmVudC5pZGwgXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYWFlNWMzYjhlZWExZTg0NGQ5YWEzNDQ4YWMz
YjlkNzM5MDk1MGRhMi4uMjIxMjU1NzE3ZmE2ZjZhMzQxNGFmN2ZiNzU0ZjEzY2ZmZWJjMjEzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yODYsNiArMjg2LDggQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFy
cmF5LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGbG9hdDY0QXJyYXkuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmggXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNGb2N1c0V2ZW50LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zv
Y3VzRXZlbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dhbWVwYWQuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2FtZXBhZC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTR2FtZXBhZExpc3QuY3BwIFwKQEAgLTEzNzcsNiArMTM3OSw3IEBAIGRvbV9iaW5kaW5n
X2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9kb20v
RXZlbnRUYXJnZXQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAor
CSQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9IYXNoQ2hh
bmdlRXZlbnQuaWRsIFwKIAkkKFdlYkNvcmUpL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAJJChX
ZWJDb3JlKS9kb20vTWVzc2FnZUNoYW5uZWwuaWRsIFwKQEAgLTI4NTUsNiArMjg1OCw4IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuaCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuaCBcCisJU291cmNlL1dl
YkNvcmUvZG9tL0ZvY3VzRXZlbnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVu
dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2RvbS9HZXN0dXJlRXZlbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9kb20vR2VzdHVyZUV2ZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNTI5M2NhZDU0Y2IxZmNhZTY4
ZWRhYzliYWNkMWVkNTk2MGIxNzBlMS4uZGRlOWNlYjBkN2ZhNzQyMWE5OWNkMjg5MGJlZmUxNjE2
MWRlZWU1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC00MTQsNiArNDE0LDcgQEAgU09VUkNFUyArPSBcCiAg
ICAgZG9tL0V2ZW50VGFyZ2V0LmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuY3BwIFwKICAg
ICBkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCBcCisgICAgZG9tL0ZvY3VzRXZlbnQu
Y3BwIFwKICAgICBkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwIFwKICAgICBkb20vR2VzdHVyZUV2
ZW50LmNwcCBcCiAgICAgZG9tL0ljb25VUkwuY3BwIFwKQEAgLTE2MzIsNiArMTYzMyw3IEBAIEhF
QURFUlMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5oIFwKICAgICBkb20vRXhjZXB0aW9uQmFz
ZS5oIFwKICAgICBkb20vRXhjZXB0aW9uQ29kZS5oIFwKKyAgICBkb20vRm9jdXNFdmVudC5oIFwK
ICAgICBkb20vRnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggXAogICAgIGRvbS9HZXN0dXJl
RXZlbnQuaCBcCiAgICAgZG9tL0lkVGFyZ2V0T2JzZXJ2ZXIuaCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5k
ZXggZmMxMTU1Y2EwNmRlNzIxOTZiZjUzYTU3ZWE5YWVlMTBhNDQ5NTQ2Yy4uMGE2YmRiMzAzYjVm
Y2UyZGEzZGEwMDE0MTBmNjFiMWE5YmUxM2EyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjIzLDYg
KzIyMyw3IEBACiAgICAgICAgICAgICAnZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCcsCiAgICAgICAg
ICAgICAnZG9tL0V2ZW50TGlzdGVuZXIuaWRsJywKICAgICAgICAgICAgICdkb20vRXZlbnRUYXJn
ZXQuaWRsJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5pZGwnLAogICAgICAgICAgICAg
J2RvbS9IYXNoQ2hhbmdlRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vS2V5Ym9hcmRFdmVu
dC5pZGwnLAogICAgICAgICAgICAgJ2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwnLApAQCAtMjgzNyw2
ICsyODM4LDggQEAKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5jcHAnLAogICAgICAg
ICAgICAgJ2RvbS9FeGNlcHRpb25CYXNlLmgnLAogICAgICAgICAgICAgJ2RvbS9FeGNlcHRpb25D
b2RlUGxhY2Vob2xkZXIuY3BwJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5jcHAnLAor
ICAgICAgICAgICAgJ2RvbS9Gb2N1c0V2ZW50LmgnLAogICAgICAgICAgICAgJ2RvbS9HZW5lcmlj
RXZlbnRRdWV1ZS5jcHAnLAogICAgICAgICAgICAgJ2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oJywK
ICAgICAgICAgICAgICdkb20vR2VzdHVyZUV2ZW50LmNwcCcsCkBAIC02MzcwLDYgKzYzNzMsOCBA
QAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNG
aWxlV3JpdGVyU3luYy5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRmxvYXQzMkFycmF5LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oJywKKyAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNFdmVudC5j
cHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNGb2N1c0V2ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNHZW9sb2NhdGlvbi5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvcG9zaXRpb24uY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBjMmFmZWZkZTE1OTU5NWFkNWVjN2EzOTMwM2ExZmVhMGVjNjliOWY3Li4wYjA4N2I2
YWUzNjJjNGNjYzkxZmU2MDhmYTZhYzZmYWFkMzhlOWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MzYxLDYgKzUzNjEsMTAg
QEAKIAkJQjY1OEZGQTIxNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1OEZGQTAxNTIyRUYz
QTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oICovOyB9OwogCQlCNjU4RkZBNTE1MjJFRkFB
MDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU4RkZBMzE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2Rl
TGlzdC5jcHAgKi87IH07CiAJCUI2NThGRkE2MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVM
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNjU4
RkZBNDE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oICovOyB9OworICAgICAgICAg
ICAgICAgIEI2RDlEMjM1MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5RDIzMzE0RUFCRDI2MDA5
MEQ3NUUgLyogRm9jdXNFdmVudC5oICovOyB9OworICAgICAgICAgICAgICAgIEI2RDlEMjM2MTRF
QUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2
ZW50LmNwcCAqLzsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDI3QjE0RUFDMDg2MDA5MEQ3NUUg
LyogSlNGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCNkQ5RDI3OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi87IH07
CisgICAgICAgICAgICAgICAgQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNkQ5
RDI3QTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCAqLzsgfTsKIAkJQjcxRkU2
REYxMTA5MUNCMzAwREFFRjc3IC8qIFByaW50Q29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjc3NkQ0M0ExMTA0NTI1RDAwQkVCMEVDIC8qIFBy
aW50Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUI3MzRCMTgxMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNzM0QjE4MDExOUI5
OTExMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuY3BwICovOyB9OwogCQlCNzM0QjE4MzExOUI5
OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgyMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJh
bnNjb2Rlci5oICovOyB9OwpAQCAtMTI4NzAsNiArMTI4NzQsMTEgQEAKIAkJQjY1OEZGQTAxNTIy
RUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1JhZGlvTm9kZUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjY1OEZGQTMxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFkaW9Ob2RlTGlzdC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2NThGRkE0MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05v
ZGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhZGlvTm9kZUxpc3Qu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKyAgICAgICAgICAgICAgICBCNkQ5RDIzMzE0
RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisgICAgICAg
ICAgICAgICAgQjZEOUQyMzQxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9jdXNFdmVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisgICAgICAgICAgICAgICAgQjZEOUQyNzIxNEVBQkYwMzAwOTBE
NzVFIC8qIEZvY3VzRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEZvY3VzRXZlbnQu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworICAgICAgICAgICAgICAgIEI2RDlEMjc5
MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Cisg
ICAgICAgICAgICAgICAgQjZEOUQyN0ExNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ZvY3VzRXZlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4MDExOUI5OTExMDA2NTg3QkQg
LyogRm9udFRyYW5zY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gRm9udFRyYW5zY29kZXIuY3BwOyBwYXRoID0gdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3MzRCMTgyMTE5Qjk5MUQwMDY1ODdC
RCAvKiBGb250VHJhbnNjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBG
b250VHJhbnNjb2Rlci5oOyBwYXRoID0gdHJhbnNjb2Rlci9Gb250VHJhbnNjb2Rlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJp
bnRDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaW50Q29udGV4
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTk1NTgsNiArMTk1NjcsOCBAQAog
CQkJCUJDNjBEOUJFMEQyQTI2OUEwMEI5OTE4RiAvKiBKU0V2ZW50RXhjZXB0aW9uLmggKi8sCiAJ
CQkJQzZBNzAzMzI1QzlEMEI2Q0RDQkM0RDc4IC8qIEpTRXZlbnRUYXJnZXQuY3BwICovLAogCQkJ
CTVGQzdEQzI2Q0ZFMjU2MzIwMEI4NUFFNSAvKiBKU0V2ZW50VGFyZ2V0LmggKi8sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0Zv
Y3VzRXZlbnQuY3BwICovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCNkQ5RDI3
OTE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggKi8sCiAJCQkJODQ4MkI3NEYxMTk4
Q0I2QjAwQkZCMDA1IC8qIEpTSGFzaENoYW5nZUV2ZW50LmNwcCAqLywKIAkJCQk4NDgyQjc1MDEx
OThDQjZCMDBCRkIwMDUgLyogSlNIYXNoQ2hhbmdlRXZlbnQuaCAqLywKIAkJCQlBODY2MjlDRTA5
REEyQjQ3MDA5NjMzQTUgLyogSlNLZXlib2FyZEV2ZW50LmNwcCAqLywKQEAgLTIyNDA1LDYgKzIy
NDE2LDkgQEAKIAkJCQk5MzVGQkNGMTA5QkExNDNCMDBFMjMwQjEgLyogRXhjZXB0aW9uQ29kZS5o
ICovLAogCQkJCUE3Q0FDREIwMTNDRTg3NUIwMEJCQkUzRiAvKiBFeGNlcHRpb25Db2RlUGxhY2Vo
b2xkZXIuY3BwICovLAogCQkJCUE3NEJCNzZBMTNCREE4NjMwMEZGN0JGMCAvKiBFeGNlcHRpb25D
b2RlUGxhY2Vob2xkZXIuaCAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQjZE
OUQyMzQxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwICovLAorCQkJCUI2RDlEMjMz
MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi8sCisJCQkJQjZEOUQyNzIxNEVBQkYw
MzAwOTBENzVFIC8qIEZvY3VzRXZlbnQuaWRsICovLAogCQkJCUE4NTMxMjNDMTFEMDQ3MUIwMEQ0
RDA3NyAvKiBGcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24uaCAqLywKIAkJCQkwNzIwQjA5RTE0
RDMzMjM1MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuY3BwICovLAogCQkJCTA3MjBCMDlG
MTREMzMyMzUwMDY0Mjk1NSAvKiBHZW5lcmljRXZlbnRRdWV1ZS5oICovLApAQCAtMjQyMDQsNiAr
MjQyMTgsNyBAQAogCQkJCUQ3MkY2RDdBMTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ5OTNCRTYwQjJGMkIxQzAwNTA0OTdGIC8q
IEZvY3VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDYyMjg3ODQwQjREQjMyMjAw
MEMzNERGIC8qIEZvY3VzRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYxMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5MkQ0RjEyOTM1NTBCMDBDODM4N0YgLyogRm9udEJhc2Vs
aW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2MzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9u
dENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0NzAyLDYgKzI0NzE3LDcgQEAKIAkJCQk4OTND
NDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQ5RUVDRjAzMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNkVCQzVFQjAxMzhCNTBGMjAwQTBDRjhBIC8qIEpTRmxvYXQ2NEFy
cmF5LmggaW4gSGVhZGVycyAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQjZE
OUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkRBMTVFQUMxMkIwM0VFMTAwM0E1ODNBIC8qIEpTR2Fpbk5vZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZFODBEQTY0MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGRTgwREE2NjBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9wb3NpdGlvbi5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNzUxNSw2ICsyNzUzMSw3IEBACiAJCQkJQjI3NTM1N0EwQjA1
MzgxNDAwMkNFNjRGIC8qIEZsb2F0U2l6ZU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUQ3MkY2
RDc5MTUzMTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxNDk5M0JFNTBCMkYyQjFDMDA1MDQ5N0YgLyogRm9jdXNDb250cm9sbGVyLmNw
cCBpbiBTb3VyY2VzICovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCNkQ5RDIz
NjE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MkMzREE2MDBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MkMzREE2MjBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyQUZGQzdDMEQwMEE1QzEwMDMwMDc0RCAvKiBGb250Q2FjaGVNYWMubW0gaW4gU291cmNl
cyAqLywKQEAgLTI4MDE2LDYgKzI4MDMzLDcgQEAKIAkJCQk4OTNDNDdCQjEyMzhBMEE5MDAyQjNE
ODYgLyogSlNGaWxlV3JpdGVyQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFRUNG
MDIxMDUwNzBDNDAwMDk5RkFCIC8qIEpTRmxvYXQzMkFycmF5LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTZFQkM1RUFGMTM4QjUwRjIwMEEwQ0Y4QSAvKiBKU0Zsb2F0NjRBcnJheS5jcHAgaW4gU291
cmNlcyAqLywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQjZEOUQyN0MxNEVBQzA4
NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREExNUVB
QjEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RTgwREE2MzBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGRTgwRDdBQjBFOUMxRUQyMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbkN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJ
bk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IGFmNDFk
ODgxZWM4MmY4YTQ5N2YzYjJjMTg3NDg4MWZhNGY1MTE5ODguLmJkNTk4YTAyMzRiNDRmMDY0YmZk
NmIzNzMwZTFhM2U2MmFiYWY4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01B
bGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAt
ODQsNiArODQsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNl
cHRpb25CYXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgor
I2luY2x1ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1
ZGUgIklkVGFyZ2V0T2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXJSZWdp
c3RyeS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCA5MzlmNTE0M2UzMzhhYTQ1MWQ0MDZmYzFj
NGM2MjI5NjhjMjZlMGFmLi5kNWQxZmJlMzc1OGI4NGY0MDg0MjgzODc4M2Y5ZDAyZjgxNDVhZjVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTEyMiw2ICsxMjIsMTEgQEAgYm9vbCBFdmVudDo6aXNN
b3VzZUV2ZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRXZlbnQ6Omlz
Rm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEV2ZW50
Ojppc0tleWJvYXJkRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
LmgKaW5kZXggMzZmMDI5MzU2YWFmY2IwNzFjMzFmMDMwMTYxNjc1OTdmNmQyNWRiOC4uMGNiZjli
OGE4NTg5MTU4ODY0ODYwODIyODlmOTdhY2IyZDBiYTczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTEy
NCw2ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgZXZlbnRzIGFyZSBnZW5lcmFsIGNs
YXNzZXMgb2YgZXZlbnRzLgogICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZlbnQoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlz
Rm9jdXNFdmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRXZlbnQoKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNUb3VjaEV2ZW50KCkgY29uc3Q7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50Q29udGV4dC5jcHAKaW5kZXggODg3ZjY4M2IyNmJmOTMxZGU4MDA0Nzc3YWM0NDVi
NzFhZTA0ZGUzYy4uMTYzYWU1ODZiNDQ3NGQ0NzEyOTcwOTY0NTEzODRkNDgyNDA5ZmUyMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRl
ICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50Lmgi
CisjaW5jbHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNs
dWRlICJOb2RlLmgiCiAKQEAgLTUxLDYgKzUyLDggQEAgdm9pZCBFdmVudENvbnRleHQ6OmhhbmRs
ZUxvY2FsRXZlbnRzKEV2ZW50KiBldmVudCkgY29uc3QKICAgICBldmVudC0+c2V0Q3VycmVudFRh
cmdldChtX2N1cnJlbnRUYXJnZXQuZ2V0KCkpOwogICAgIGlmIChtX3JlbGF0ZWRUYXJnZXQuZ2V0
KCkgJiYgZXZlbnQtPmlzTW91c2VFdmVudCgpKQogICAgICAgICB0b01vdXNlRXZlbnQoZXZlbnQp
LT5zZXRSZWxhdGVkVGFyZ2V0KG1fcmVsYXRlZFRhcmdldC5nZXQoKSk7CisgICAgZWxzZSBpZiAo
bV9yZWxhdGVkVGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc0ZvY3VzRXZlbnQoKSkKKyAgICAgICAg
dG9Gb2N1c0V2ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdldChtX3JlbGF0ZWRUYXJnZXQpOwog
ICAgIG1fbm9kZS0+aGFuZGxlTG9jYWxFdmVudHMoZXZlbnQpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluCmluZGV4IGMyNjkzZGE5NmZhZWQ5ODdlNDM3NzMxYjVmYzc2MTEyZmY3NDNlNGQu
LjQ0MTUwZTY0OWQ5MzRkNDdhM2ZkOGM1MjE3YmJhNmNkZTEyYmUwOWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluCkBAIC04LDYgKzgsNyBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50
CiBDdXN0b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAogSGFzaENoYW5nZUV2ZW50CiBL
ZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1lPUtleWJvYXJkRXZlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTY2NGNlOWI4YTY5NDFiMDI2
M2NkOGU4YmY5Y2U3YTJmMTkzYTJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0ZvY3VzRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50
LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Nv
bnN0IEF0b21pY1N0cmluZyYgRm9jdXNFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JGb2N1c0V2ZW50OworfQorCitib29s
IEZvY3VzRXZlbnQ6OmlzRm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9
OworCitGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKK3sKK30KKworRm9jdXNFdmVudDo6Rm9jdXNF
dmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNl
bGFibGUsIFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVm
UHRyPEV2ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIDogVUlFdmVudCh0eXBlLCBjYW5C
dWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkKKyAgICAsIG1fcmVsYXRlZFRhcmdldChy
ZWxhdGVkVGFyZ2V0KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Zv
Y3VzRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YTk5ZmQ4MzFjNzkwNDE2ZmZkNjM5MjRmYmM3YjU1YTA2
ZTdlYTRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQu
aApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRm9jdXNFdmVudF9oCisj
ZGVmaW5lIEZvY3VzRXZlbnRfaAorCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRl
ICJVSUV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRm9jdXNFdmVudCA6
IHB1YmxpYyBVSUV2ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0V2
ZW50PiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2
ZW50KTsKKyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBjcmVhdGUo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxF
dmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgRm9jdXNFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFp
bCwgcmVsYXRlZFRhcmdldCkpOworICAgIH0KKworICAgIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFy
Z2V0KCkgY29uc3QgeyByZXR1cm4gbV9yZWxhdGVkVGFyZ2V0LmdldCgpOyB9CisgICAgdm9pZCBz
ZXRSZWxhdGVkVGFyZ2V0KFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpIHsg
bV9yZWxhdGVkVGFyZ2V0ID0gcmVsYXRlZFRhcmdldDsgfQorCisgICAgdmlydHVhbCBjb25zdCBB
dG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNG
b2N1c0V2ZW50KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRm9jdXNFdmVudCgpOworICAgIEZv
Y3VzRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBj
YW5jZWxhYmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCwgUGFzc1JlZlB0cjxFdmVu
dFRhcmdldD4pOworCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBtX3JlbGF0ZWRUYXJnZXQ7Cit9
OworCitpbmxpbmUgRm9jdXNFdmVudCogdG9Gb2N1c0V2ZW50KEV2ZW50KiBldmVudCkKK3sKKyAg
ICBBU1NFUlQoZXZlbnQgJiYgZXZlbnQtPmlzRm9jdXNFdmVudCgpKTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8Rm9jdXNFdmVudCo+KGV2ZW50KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRm9jdXNFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRm9jdXNFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDFkYWM5NGZjOGM0ODhlOTFiNjNhYzI5MDM3MTYwMmI3Zjc2ODU0NAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbApAQCAtMCwwICsx
LDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK2ludGVyZmFjZSBGb2N1c0V2ZW50IDogVUlFdmVudAorewor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCByZWxhdGVkVGFyZ2V0OworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmNwcAppbmRleCBjODQzYzcyNzM2NTRhOTEwMjdiNmZkMGJmMDNlYzYwODQ0YTk1OTJi
Li5hYjg4MDUyZjI2OGY0NzhlNWFhYzIwNDc2NGE3NjJjMWNiMWQ1MzJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
Y3BwCkBAIC01OSw2ICs1OSw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAi
Rm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3Lmgi
CiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTIzNTEsMTQgKzIzNTIsMTQgQEAgdm9pZCBO
b2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
UGFzc1JlZlB0cjxOb2RlPgogewogICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9u
Ojppc0V2ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CiAgICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBl
dmVudE5hbWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9N
Rm9jdXNJbkV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihG
b2N1c0luRXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2ZW50
VHlwZSwgdHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDApLCBvbGRGb2N1
c2VkTm9kZSkpOworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3Vz
SW5FdmVudERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRU
eXBlLCB0cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgMCksIG9sZEZv
Y3VzZWROb2RlKSk7CiB9CiAKIHZvaWQgTm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2Rl
KQogewogICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0
Y2hGb3JiaWRkZW4oKSk7CiAgICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9j
dXNvdXRFdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUZvY3VzT3V0RXZlbnQp
OwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzT3V0RXZlbnRE
aXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwg
ZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDApLCBuZXdGb2N1c2VkTm9kZSkpOwor
ICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNw
YXRjaE1lZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwg
ZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDAsIDApLCBuZXdGb2N1c2VkTm9kZSkp
OwogfQogCiBib29sIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChpbnQgZGV0YWlsLCBQ
YXNzUmVmUHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWFiZjIyMjg5NmVmNDg4
NGVmZjFlNmFiZDIyM2FhZDY3OGM2ZDAyZC4uNTAzYTRhYmVjZTA5OTAzY2RlY2RlOTI3YjlmNGU5
ZDgyNGE5YzJkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAyLTAzICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1cyBldmVu
dHMgYXJlIFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRvbid0IGV4
cG9zZSAucmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMv
I2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEgbmV3IEZv
Y3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAgICAgICBO
b3cgd2hlbiBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwgYSBGb2N1
c0V2ZW50IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1
dGUgc2V0IGFjY29yZGluZ2x5LgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1i
b3VuZGFyeS1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRl
ZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTMtMDIt
MDYgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTU1Jl
Z2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4
dAppbmRleCA5YTVmOWRiMzcxMTBlNTQ2OTAwOTJkYTQ3Yjk4NGZkM2I2M2I2NjZmLi40MGNlYmMy
N2NlZWMxMGRlNGM2M2M3NGQ0NzUxN2MzYjc3YTBlMzQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMtZXhw
ZWN0ZWQudHh0CkBAIC02MSwxMyArNjEsMTMgQEAgUEFTUyBkaXNwYXRjaGVkRXZlbnQoIm1vdXNl
b3V0IikgaXMgWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0coPC1zaGFkb3cKIAog
TW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJl
IG91dHNpZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2QiB0byBk
aXZDCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2QyhAZGl2QykiLCAi
ZGl2QyhAZGl2QSkiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IikgaXMgWyJkaXZC
KEBkaXZCKSIsICJkaXZCKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIp
IGlzIFsiZGl2Qyg8LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2QikoQGRpdkEpIl0KK1BBU1Mg
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2Qig8LWRpdkMpKEBkaXZCKSIsICJk
aXZCKDwtZGl2QykoQGRpdkEpIl0KIAogT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQg
bm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBib3VuZGFy
aWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0
aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIHNoYWRvd0Qvc2hh
ZG93Ri9zaGFkb3dHL2RpdkggdG8gc2hhZG93RC9zaGFkb3dLL2RpdkwKLVBBU1MgZGlzcGF0Y2hl
ZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIs
ICJzaGFkb3dLKEBkaXZKKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBb
ImRpdkgoQGRpdkgpIiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwg
InNoYWRvd0YoQGRpdkUpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJk
aXZMKDwtc2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93SykiLCAi
c2hhZG93Syg8LXNoYWRvd0YpKEBkaXZKKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNv
dXQiKSBpcyBbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNoYWRvd0spKEBz
aGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwgInNoYWRvd0YoPC1zaGFk
b3dLKShAZGl2RSkiXQogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBzaWJsaW5nIG5v
ZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuCiBNb3ZpbmcgZm9j
dXMgZnJvbSBkaXZCIHRvIGRpdkMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCmluZGV4IDkzM2RlNzQ3ZjdlODRhNjk1
MmIzN2IyMDNhNjk1OGVkODhiZDI1ZmUuLjhkZmMwYzc2NDU4NjMyMjIyOWY1ZTdlYjA0Mzg2ZmE1
ODNmNmIyZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
Ym91bmRhcnktZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3No
YWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbApAQCAtMTgwLDEzICsxODAsMTMgQEAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgLy8gVGVzdCBmb3IgZm9jdXNpbi9mb2N1c291dCBldmVudHMuCiAgICAgbW92
ZUZvY3VzKCdkaXZCJywgJ2RpdkMnLAogICAgICAgICAgICAgICAnTW92ZSBmb2N1cyBmcm9tIGEg
bm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93
IGJvdW5kYXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScs
ICdbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0
Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2QihAZGl2QikiLCAiZGl2QihAZGl2QSkiXScp
OworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdbImRpdkMoPC1k
aXZCKShAZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rp
c3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoPC1kaXZDKShAZGl2QikiLCAiZGl2
Qig8LWRpdkMpKEBkaXZBKSJdJyk7CiAKICAgICBtb3ZlRm9jdXMoJ3NoYWRvd0Qvc2hhZG93Ri9z
aGFkb3dHL2RpdkgnLCAnc2hhZG93RC9zaGFkb3dLL2RpdkwnLAogICAgICAgICAgICAgICAnT2xk
IGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3Vi
dHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2
ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4n
KTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZMKEBk
aXZMKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdJyk7Ci0gICAgc2hv
dWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoQGRpdkgpIiwgInNo
YWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwgInNoYWRvd0YoQGRpdkUpIl0n
KTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAnWyJkaXZMKDwt
c2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93SykiLCAic2hhZG93
Syg8LXNoYWRvd0YpKEBkaXZKKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgi
Zm9jdXNvdXQiKScsICdbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNoYWRv
d0spKEBzaGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwgInNoYWRvd0Yo
PC1zaGFkb3dLKShAZGl2RSkiXScpOwogCiAgICAgLy8gT21pdHRlZCB0ZXN0IGNhc2VzIHdoZXJl
IGVpdGhlciBhIG9sZEZvY3VzZWROb2RlIG9yIG5ld0ZvY3VzZWROb2RlIGlzIGFuIGFuY2VzdG9y
IG9mIHRoZSBvdGhlci4KICAgICAvLyBEdWUgdG8gYSBmb2N1cyB0cmFuc2ZlciBtZWNoYW5pc20g
b24gc2hhZG93IGhvc3RzLCBhIGZvY3VzZWQgbm9kZSBzaG91bGQgYmUgYSBsZWFmIG5vZGUgaW4g
Z2VuZXJhbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFy
Z2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVs
YXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzhiOWIzMDM2
OTNhMmE2MWZkMTUyMmYwMDQ2ODgxNjRiM2RiMTE3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTUgQEAKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBudWxsCitQQVNT
IGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgaW5wdXQyCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQg
aXMgaW5wdXQxCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgaW5wdXQzCitQQVNTIGV2ZW50
LnJlbGF0ZWRUYXJnZXQgaXMgaW5wdXQyCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgaW5w
dXQ0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK0No
ZWNrcyB0aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNFdmVudCBvYmpl
Y3RzIGlzIGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0IGV2ZW50cyBh
cmUgZGlzcGF0Y2hlZC4gUHJlc3MgdGFiIGZvdXIgdGltZXMgdG8gZGlzcGF0Y2ggYSBmb2N1c2lu
IGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUgaW5wdXRzIGJlbG93LgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ3
NjM1MzI5NWI5YTYzZDgxMjY3NWI3ZDljYmU1ZGJmNWFiZjUzNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbApA
QCAtMCwwICsxLDMzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGlucHV0IGlkPSJpbnB1dDEiIHR5cGU9InRleHQiPjwvaW5wdXQ+
Cis8aW5wdXQgaWQ9ImlucHV0MiIgdHlwZT0idGV4dCI+PC9pbnB1dD4KKzxpbnB1dCBpZD0iaW5w
dXQzIiB0eXBlPSJ0ZXh0Ij48L2lucHV0PgorPGlucHV0IGlkPSJpbnB1dDQiIHR5cGU9InRleHQi
PjwvaW5wdXQ+Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rlc2NyaXB0aW9u
KCJDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9yIEZvY3VzRXZlbnQg
b2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9mb2N1c291dCBldmVu
dHMgYXJlIGRpc3BhdGNoZWQuICA8Yj5QcmVzcyB0YWIgZm91ciB0aW1lczwvYj4gdG8gZGlzcGF0
Y2ggYSBmb2N1c2luIGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUgaW5wdXRzIGJl
bG93LiIpOworCit2YXIgaW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0MScp
OwordmFyIGlucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dDInKTsKK3ZhciBp
bnB1dDMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQzJyk7CisKK2lucHV0MS5hZGRF
dmVudExpc3RlbmVyKCJmb2N1c2luIiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50
LnJlbGF0ZWRUYXJnZXQnLCAnbnVsbCcpOyB9KTsKK2lucHV0MS5hZGRFdmVudExpc3RlbmVyKCJm
b2N1c291dCIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0
JywgJ2lucHV0MicpOyB9KTsKK2lucHV0Mi5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwgZnVu
Y3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnaW5wdXQxJyk7
IH0pOworaW5wdXQyLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQp
IHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnaW5wdXQzJyk7IH0pOworaW5wdXQz
LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgn
ZXZlbnQucmVsYXRlZFRhcmdldCcsICdpbnB1dDInKTsgfSk7CitpbnB1dDMuYWRkRXZlbnRMaXN0
ZW5lcigiZm9jdXNvdXQiLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgnZXZlbnQucmVsYXRl
ZFRhcmdldCcsICdpbnB1dDQnKTsgZmluaXNoSlNUZXN0KCk7IH0pOworCitmb3IgKHZhciBpID0g
MDsgaSA8IDQ7IGkrKykgeworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7Cit9Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186947</attachid>
            <date>2013-02-06 16:46:12 -0800</date>
            <delta_ts>2013-02-06 17:03:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76216-20130207094248.patch</filename>
            <type>text/plain</type>
            <size>33556</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQyMDhiYjY5ZDcyMTZk
NzdkY2M3MjdlN2FmNDVjNmQxNTYxZTVhNi4uOGRiZjFmNjEwMTM5Nzg2OTNlYWU4Nzg5MmZiYTg0
YjU1OGIyMDMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAyLTAzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1
cyBldmVudHMgYXJlIFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRv
bid0IGV4cG9zZSAucmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1F
dmVudHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEg
bmV3IEZvY3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAg
ICAgICBOb3cgd2hlbiBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwg
YSBGb2N1c0V2ZW50IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBh
dHRyaWJ1dGUgc2V0IGFjY29yZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5
cGk6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50Ojppc0ZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChFdmVudCk6CisgICAgICAgICogZG9tL0V2
ZW50Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvbnRleHQ6OmhhbmRsZUxv
Y2FsRXZlbnRzKToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiBkb20v
Rm9jdXNFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpG
b2N1c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnRvRm9jdXNF
dmVudCk6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBk
b20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorCiAy
MDEzLTAyLTA2ICBEaXJrIFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CiAKICAgICAgICAg
Q29udGV4dCdzIGN1cnJlbnRQYXRoIHNob3VsZCBjaGVjayBmb3IgcGFzc2VkIHR5cGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggYzkzM2QyZDFmZmIxMjUwNDQ5N2ZjNjM4NmE2MTVmMjExOGExNGU5
My4uYmZkNTFmZDgxYTM0NjI3MjJjODI0MzJlM2EzZWQ4NGE5MmFlMWE3ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTM3MSw2ICszNzEsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBk
b20vRXZlbnRFeGNlcHRpb24uaWRsCiAgICAgZG9tL0V2ZW50LmlkbAogICAgIGRvbS9FdmVudFRh
cmdldC5pZGwKKyAgICBkb20vRm9jdXNFdmVudC5pZGwKICAgICBkb20vSGFzaENoYW5nZUV2ZW50
LmlkbAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmlkbAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5p
ZGwKQEAgLTExODYsNiArMTE4Nyw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZl
bnRUYXJnZXQuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9tL0V4Y2VwdGlv
bkNvZGVQbGFjZWhvbGRlci5jcHAKKyAgICBkb20vRm9jdXNFdmVudC5jcHAKICAgICBkb20vR2Vu
ZXJpY0V2ZW50UXVldWUuY3BwCiAgICAgZG9tL0dlc3R1cmVFdmVudC5jcHAKICAgICBkb20vSWNv
blVSTC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA2NTUxYzY4ZDNiMTg2MGE0
MDY5ODk5M2YyMTkzNjFlNGI5MGJlMmQxLi43ZDk2YmZhYjQ3YjM5ODJmZjJjYTE4YTMwOTg0Zjkx
MTE1OTg4ZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xMzYsNiArMTM2LDcg
QEAKICNpbmNsdWRlICJKU0ZpbGVXcml0ZXJTeW5jLmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0MzJB
cnJheS5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDY0QXJyYXkuY3BwIgorI2luY2x1ZGUgIkpTRm9j
dXNFdmVudC5jcHAiCiAjaW5jbHVkZSAiSlNHZW9sb2NhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNH
ZW9wb3NpdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNIYXNoQ2hhbmdlRXZlbnQuY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjA1YTIxZWYzZGRmZGYyYTg3ZmU5Y2EyOGExNWUx
YWZmOTY1MDE0My4uMzliZGU4ZWNjNTg5MWJhMTgyY2FjYTRmM2E4N2E0YjI1ODZiMGVmYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yMzUsNiArMjM1LDcgQEAgQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9kb20vRXZlbnRMaXN0ZW5lci5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50
VGFyZ2V0LmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXAogICAgICQo
V2ViQ29yZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0tl
eWJvYXJkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDFjYmNjMzc2NjNlM2QwOTVjODQxMjc5
YjBiZTU5YTE2NGYwNzhhNDYuLjhhYzc3MzhkY2Y5ZmZmMzcyZDM5NjY3NDNjZGMzNDk2ZmIzMmFk
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTI0OCw2ICsyNDgsNyBAQCBJRExf
QklORElOR1MgKz0gXAogICAgICQkUFdEL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogIyAgICAk
JFBXRC9kb20vRXZlbnRMaXN0ZW5lci5pZGwgXAogICAgICQkUFdEL2RvbS9FdmVudFRhcmdldC5p
ZGwgXAorICAgICQkUFdEL2RvbS9Gb2N1c0V2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0hhc2hD
aGFuZ2VFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAgICAg
JCRQV0QvZG9tL01vdXNlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmlu
ZGV4IGIzOWY2Y2QzODFkYmNkYmY5YzMzYmE1MzQxMjA3MWU0MjcxZGI3M2IuLjZiOTUzZDI2MDBk
NGU2NTcxNThlNmFiY2M2MjlhY2VmZDY4MGJlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQpAQCAtMjg2LDYgKzI4Niw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oIFwKIAlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRmxvYXQ2NEFycmF5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zs
b2F0NjRBcnJheS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNFdmVudC5jcHAg
XAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNHYW1lcGFkLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dh
bWVwYWQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dhbWVwYWRMaXN0LmNwcCBcCkBA
IC0xMzgzLDYgKzEzODUsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL2Rv
bS9FdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCiAJJChXZWJD
b3JlKS9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKKwkkKFdlYkNvcmUpL2RvbS9Gb2N1c0V2ZW50
LmlkbCBcCiAJJChXZWJDb3JlKS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAJJChXZWJDb3Jl
KS9kb20vS2V5Ym9hcmRFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL01lc3NhZ2VDaGFubmVs
LmlkbCBcCkBAIC0yODY1LDYgKzI4NjgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNl
cHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9u
Q29kZVBsYWNlaG9sZGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBc
CisJU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9t
L0ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vR2Vz
dHVyZUV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5oIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCmluZGV4IGE0ZjI0ODg4YmFjZmNkMGU1NjFiZDM4NWZmMWUwMDZkMTUzM2M1ODUuLmI2
OTgzYmE2NWIzZTBiYTA4ZjQzNjkxOWM5ODFiYWU1ZmE1ZjNmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAt
NDE0LDYgKzQxNCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5jcHAgXAog
ICAgIGRvbS9FeGNlcHRpb25CYXNlLmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhv
bGRlci5jcHAgXAorICAgIGRvbS9Gb2N1c0V2ZW50LmNwcCBcCiAgICAgZG9tL0dlbmVyaWNFdmVu
dFF1ZXVlLmNwcCBcCiAgICAgZG9tL0dlc3R1cmVFdmVudC5jcHAgXAogICAgIGRvbS9JY29uVVJM
LmNwcCBcCkBAIC0xNjMyLDYgKzE2MzMsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRXZlbnRU
YXJnZXQuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNv
ZGUuaCBcCisgICAgZG9tL0ZvY3VzRXZlbnQuaCBcCiAgICAgZG9tL0ZyYWdtZW50U2NyaXB0aW5n
UGVybWlzc2lvbi5oIFwKICAgICBkb20vR2VzdHVyZUV2ZW50LmggXAogICAgIGRvbS9JZFRhcmdl
dE9ic2VydmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDE4MDQxNTZmZDQwNGEyMDQ1MTQwZDlj
MWMwOTMzMmNkNDJjZjYwZGMuLjI4YzhlN2QxZmI4ZWRiY2Y2ZmRhM2UwNmUyMTI4NzdjMWUxNTEx
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyNSw2ICsyMjUsNyBAQAogICAgICAgICAgICAgJ2Rv
bS9FdmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlk
bCcsCiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCisgICAgICAgICAgICAnZG9t
L0ZvY3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20v
TWVzc2FnZUNoYW5uZWwuaWRsJywKQEAgLTI4NDMsNiArMjg0NCw4IEBACiAgICAgICAgICAgICAn
ZG9tL0V4Y2VwdGlvbkJhc2UuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5o
JywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAg
ICAgICAgICAnZG9tL0ZvY3VzRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVu
dC5oJywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwJywKICAgICAgICAg
ICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAgICAgICAgICAgICAnZG9tL0dlc3R1cmVF
dmVudC5jcHAnLApAQCAtNjM4MCw2ICs2MzgzLDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuaCcsCiAgICAgICAg
ICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJh
eS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNGbG9hdDMyQXJyYXkuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNFdmVudC5oJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRpb24u
Y3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTR2VvbG9jYXRpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0dlb3Bvc2l0aW9uLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzJhZmVmZGUxNTk1OTVhZDVl
YzdhMzkzMDNhMWZlYTBlYzY5YjlmNy4uYjYyNjczNmQwMjRmN2ZiNmM0NDNiZjZmOTU1NzVlMDhh
MzcwMWZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNTM2MSw2ICs1MzYxLDEwIEBACiAJCUI2NThGRkEyMTUyMkVGM0EwMERE
NTU5NSAvKiBKU1JhZGlvTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI2NThGRkEwMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9kZUxp
c3QuaCAqLzsgfTsKIAkJQjY1OEZGQTUxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1OEZG
QTMxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwICovOyB9OwogCQlCNjU4RkZB
NjE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8qIFJh
ZGlvTm9kZUxpc3QuaCAqLzsgfTsKKwkJQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3Vz
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2
RDlEMjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi87IH07CisJCUI2RDlEMjM2
MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1
c0V2ZW50LmNwcCAqLzsgfTsKKwkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNF
dmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjZE
OUQyNzkxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oICovOyB9OworCQlCNkQ5RDI3
QzE0RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBK
U0ZvY3VzRXZlbnQuY3BwICovOyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVGNzcgLyogUHJp
bnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCNzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODExMTlCOTkxMTAw
NjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNj
b2Rlci5jcHAgKi87IH07CiAJCUI3MzRCMTgzMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNj
b2Rlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjcz
NEIxODIxMTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi87IH07CkBAIC0xMjg3
MCw2ICsxMjg3NCwxMSBAQAogCQlCNjU4RkZBMDE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05v
ZGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmFkaW9Ob2RlTGlz
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjU4RkZBMzE1MjJFRkFBMDBERDU1
OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSYWRpb05vZGVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY1
OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmFkaW9Ob2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvY3VzRXZlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9j
dXNFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRm9jdXNFdmVudC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0Zv
Y3VzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1
RSAvKiBKU0ZvY3VzRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNGb2N1c0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjczNEIx
ODAxMTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5zY29k
ZXIvRm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0
QjE4MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29kZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIvRm9u
dFRyYW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0
NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5
NTU4LDYgKzE5NTY3LDggQEAKIAkJCQlCQzYwRDlCRTBEMkEyNjlBMDBCOTkxOEYgLyogSlNFdmVu
dEV4Y2VwdGlvbi5oICovLAogCQkJCUM2QTcwMzMyNUM5RDBCNkNEQ0JDNEQ3OCAvKiBKU0V2ZW50
VGFyZ2V0LmNwcCAqLywKIAkJCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRh
cmdldC5oICovLAorCQkJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQu
Y3BwICovLAorCQkJCUI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAq
LywKIAkJCQk4NDgyQjc0RjExOThDQjZCMDBCRkIwMDUgLyogSlNIYXNoQ2hhbmdlRXZlbnQuY3Bw
ICovLAogCQkJCTg0ODJCNzUwMTE5OENCNkIwMEJGQjAwNSAvKiBKU0hhc2hDaGFuZ2VFdmVudC5o
ICovLAogCQkJCUE4NjYyOUNFMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuY3Bw
ICovLApAQCAtMjI0MDUsNiArMjI0MTYsOSBAQAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBC
MSAvKiBFeGNlcHRpb25Db2RlLmggKi8sCiAJCQkJQTdDQUNEQjAxM0NFODc1QjAwQkJCRTNGIC8q
IEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgKi8sCiAJCQkJQTc0QkI3NkExM0JEQTg2MzAw
RkY3QkYwIC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oICovLAorCQkJCUI2RDlEMjM0MTRF
QUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLywKKwkJCQlCNkQ5RDIzMzE0RUFCRDI2
MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovLAorCQkJCUI2RDlEMjcyMTRFQUJGMDMwMDkwRDc1
RSAvKiBGb2N1c0V2ZW50LmlkbCAqLywKIAkJCQlBODUzMTIzQzExRDA0NzFCMDBENEQwNzcgLyog
RnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggKi8sCiAJCQkJMDcyMEIwOUUxNEQzMzIzNTAw
NjQyOTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCAqLywKIAkJCQkwNzIwQjA5RjE0RDMzMjM1
MDA2NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuaCAqLywKQEAgLTI0MjA0LDYgKzI0MjE4LDcg
QEAKIAkJCQlENzJGNkQ3QTE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTE0OTkzQkU2MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA2MjI4Nzg0MEI0REIzMjIwMDBDMzRERiAv
KiBGb2N1c0RpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjZEOUQyMzUxNEVBQkQyNjAw
OTBENzVFIC8qIEZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYxMEQwMDZD
RDYwMEVGNkYyNiAvKiBGb250LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5MkQ0RjEyOTM1NTBC
MDBDODM4N0YgLyogRm9udEJhc2VsaW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2MzBE
MDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0NzAyLDYg
KzI0NzE3LDcgQEAKIAkJCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVy
Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjAzMTA1MDcwQzQwMDA5OUZBQiAv
KiBKU0Zsb2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCQzVFQjAxMzhCNTBGMjAw
QTBDRjhBIC8qIEpTRmxvYXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlCNkQ5RDI3QjE0
RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGREEx
NUVBQzEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkU4MERBNjQwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCUZFODBEQTY2MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb3Bvc2l0aW9uLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI3NTE1LDYgKzI3NTMxLDcgQEAKIAkJCQlCMjc1MzU3QTBCMDUzODE0MDAy
Q0U2NEYgLyogRmxvYXRTaXplTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRDcyRjZENzkxNTMx
NTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTE0OTkzQkU1MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0NvbnRyb2xsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQjZEOUQyMzYxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNjAwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNjIwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYWNo
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkFGRkM3QzBEMDBBNUMxMDAzMDA3NEQgLyogRm9u
dENhY2hlTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0yODAxNiw2ICsyODAzMyw3IEBACiAJCQkJ
ODkzQzQ3QkIxMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQ5RUVDRjAyMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJh
eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RUJDNUVBRjEzOEI1MEYyMDBBMENGOEEgLyogSlNG
bG9hdDY0QXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjZEOUQyN0MxNEVBQzA4NjAwOTBE
NzVFIC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREExNUVBQjEyQjAz
RUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRTgwREE2
MzBFOUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlGRTgwRDdBQjBFOUMxRUQyMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IGFmNDFkODgxZWM4
MmY4YTQ5N2YzYjJjMTg3NDg4MWZhNGY1MTE5ODguLmJkNTk4YTAyMzRiNDRmMDY0YmZkNmIzNzMw
ZTFhM2U2MmFiYWY4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9u
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtODQsNiAr
ODQsNyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25C
YXNlLmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgorI2luY2x1
ZGUgIkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1ZGUgIklk
VGFyZ2V0T2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5j
cHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCA5MzlmNTE0M2UzMzhhYTQ1MWQ0MDZmYzFjNGM2MjI5
NjhjMjZlMGFmLi5kNWQxZmJlMzc1OGI4NGY0MDg0MjgzODc4M2Y5ZDAyZjgxNDVhZjVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudC5jcHAKQEAgLTEyMiw2ICsxMjIsMTEgQEAgYm9vbCBFdmVudDo6aXNNb3VzZUV2
ZW50KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzRm9jdXNF
dmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEV2ZW50Ojppc0tl
eWJvYXJkRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5k
ZXggMzZmMDI5MzU2YWFmY2IwNzFjMzFmMDMwMTYxNjc1OTdmNmQyNWRiOC4uMGNiZjliOGE4NTg5
MTU4ODY0ODYwODIyODlmOTdhY2IyZDBiYTczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTEyNCw2ICsx
MjQsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgZXZlbnRzIGFyZSBnZW5lcmFsIGNsYXNzZXMg
b2YgZXZlbnRzLgogICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZlbnQoKSBjb25zdDsKICAgICB2aXJ0
dWFsIGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzRm9jdXNF
dmVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRXZlbnQoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNUb3VjaEV2ZW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50Q29udGV4dC5jcHAKaW5kZXggODg3ZjY4M2IyNmJmOTMxZGU4MDA0Nzc3YWM0NDViNzFhZTA0
ZGUzYy4uMTYzYWU1ODZiNDQ3NGQ0NzEyOTcwOTY0NTEzODRkNDgyNDA5ZmUyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJET01X
aW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5j
bHVkZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJO
b2RlLmgiCiAKQEAgLTUxLDYgKzUyLDggQEAgdm9pZCBFdmVudENvbnRleHQ6OmhhbmRsZUxvY2Fs
RXZlbnRzKEV2ZW50KiBldmVudCkgY29uc3QKICAgICBldmVudC0+c2V0Q3VycmVudFRhcmdldCht
X2N1cnJlbnRUYXJnZXQuZ2V0KCkpOwogICAgIGlmIChtX3JlbGF0ZWRUYXJnZXQuZ2V0KCkgJiYg
ZXZlbnQtPmlzTW91c2VFdmVudCgpKQogICAgICAgICB0b01vdXNlRXZlbnQoZXZlbnQpLT5zZXRS
ZWxhdGVkVGFyZ2V0KG1fcmVsYXRlZFRhcmdldC5nZXQoKSk7CisgICAgZWxzZSBpZiAobV9yZWxh
dGVkVGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc0ZvY3VzRXZlbnQoKSkKKyAgICAgICAgdG9Gb2N1
c0V2ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdldChtX3JlbGF0ZWRUYXJnZXQpOwogICAgIG1f
bm9kZS0+aGFuZGxlTG9jYWxFdmVudHMoZXZlbnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluCmluZGV4IGI0YjVhM2U3NzRhZDM1NGU0YmMwOTBhNDU4MGNiOTNiMTQyMzIxNTQuLmEyYzNj
OWMyMzMzMjFiMjUyYmZhZjA4ZTdkMjU1YmQ1OWE1M2RlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5h
bWVzLmluCkBAIC04LDYgKzgsNyBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0
b21FdmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAogSGFzaENoYW5nZUV2ZW50CiBLZXlib2Fy
ZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1lPUtleWJvYXJkRXZlbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Gb2N1c0V2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTY2NGNlOWI4YTY5NDFiMDI2M2NkOGU4
YmY5Y2U3YTJmMTkzYTJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Zv
Y3VzRXZlbnQuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50LmgiCisj
aW5jbHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IEF0
b21pY1N0cmluZyYgRm9jdXNFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JGb2N1c0V2ZW50OworfQorCitib29sIEZvY3Vz
RXZlbnQ6OmlzRm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9OworCitG
b2N1c0V2ZW50OjpGb2N1c0V2ZW50KCkKK3sKK30KKworRm9jdXNFdmVudDo6Rm9jdXNFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2
ZW50VGFyZ2V0PiByZWxhdGVkVGFyZ2V0KQorICAgIDogVUlFdmVudCh0eXBlLCBjYW5CdWJibGUs
IGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCkKKyAgICAsIG1fcmVsYXRlZFRhcmdldChyZWxhdGVk
VGFyZ2V0KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZl
bnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41YTk5ZmQ4MzFjNzkwNDE2ZmZkNjM5MjRmYmM3YjU1YTA2ZTdlYTRm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaApAQCAt
MCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRm9jdXNFdmVudF9oCisjZGVmaW5l
IEZvY3VzRXZlbnRfaAorCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJVSUV2
ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRm9jdXNFdmVudCA6IHB1Ymxp
YyBVSUV2ZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBj
cmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1c0V2ZW50KTsK
KyAgICB9CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxGb2N1c0V2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNz
UmVmUHRyPEFic3RyYWN0Vmlldz4gdmlldywgaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudFRh
cmdldD4gcmVsYXRlZFRhcmdldCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
Rm9jdXNFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUsIHZpZXcsIGRldGFpbCwgcmVs
YXRlZFRhcmdldCkpOworICAgIH0KKworICAgIEV2ZW50VGFyZ2V0KiByZWxhdGVkVGFyZ2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9yZWxhdGVkVGFyZ2V0LmdldCgpOyB9CisgICAgdm9pZCBzZXRSZWxh
dGVkVGFyZ2V0KFBhc3NSZWZQdHI8RXZlbnRUYXJnZXQ+IHJlbGF0ZWRUYXJnZXQpIHsgbV9yZWxh
dGVkVGFyZ2V0ID0gcmVsYXRlZFRhcmdldDsgfQorCisgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c0V2
ZW50KCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgRm9jdXNFdmVudCgpOworICAgIEZvY3VzRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxh
YmxlLCBQYXNzUmVmUHRyPEFic3RyYWN0Vmlldz4sIGludCwgUGFzc1JlZlB0cjxFdmVudFRhcmdl
dD4pOworCisgICAgUmVmUHRyPEV2ZW50VGFyZ2V0PiBtX3JlbGF0ZWRUYXJnZXQ7Cit9OworCitp
bmxpbmUgRm9jdXNFdmVudCogdG9Gb2N1c0V2ZW50KEV2ZW50KiBldmVudCkKK3sKKyAgICBBU1NF
UlQoZXZlbnQgJiYgZXZlbnQtPmlzRm9jdXNFdmVudCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Rm9jdXNFdmVudCo+KGV2ZW50KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRm9jdXNFdmVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDFkYWM5NGZjOGM0ODhlOTFiNjNhYzI5MDM3MTYwMmI3Zjc2ODU0NAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbApAQCAtMCwwICsxLDI5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK2ludGVyZmFjZSBGb2N1c0V2ZW50IDogVUlFdmVudAoreworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBFdmVudFRhcmdldCByZWxhdGVkVGFyZ2V0OworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcAppbmRleCBkNjQ5MzliNTRlMjQ4NjA4OTgzN2VkNzQ3OWMxNGQ1ZWNiZDdjZjkyLi43NGE2
NGMyYzU3OTZjODM3ZDlhZGY3ZmE1NmY2ZTIzYTNlYzAzNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBA
IC01OSw2ICs1OSw3IEBACiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lci5oIgogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiRm9jdXNF
dmVudC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5j
bHVkZSAiSFRNTEVsZW1lbnQuaCIKQEAgLTIzNTYsMTQgKzIzNTcsMTQgQEAgdm9pZCBOb2RlOjpk
aXNwYXRjaEZvY3VzSW5FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1Jl
ZlB0cjxOb2RlPgogewogICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2
ZW50RGlzcGF0Y2hGb3JiaWRkZW4oKSk7CiAgICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBldmVudE5h
bWVzKCkuZm9jdXNpbkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNJ
bkV2ZW50KTsKLSAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c0lu
RXZlbnREaXNwYXRjaE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwg
dHJ1ZSwgZmFsc2UsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDApLCBvbGRGb2N1c2VkTm9k
ZSkpOworICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVu
dERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0
cnVlLCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgMCksIG9sZEZvY3VzZWRO
b2RlKSk7CiB9CiAKIHZvaWQgTm9kZTo6ZGlzcGF0Y2hGb2N1c091dEV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+IG5ld0ZvY3VzZWROb2RlKQogewog
ICAgIEFTU0VSVCghTm9FdmVudERpc3BhdGNoQXNzZXJ0aW9uOjppc0V2ZW50RGlzcGF0Y2hGb3Ji
aWRkZW4oKSk7CiAgICAgQVNTRVJUKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZm9jdXNvdXRF
dmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLkRPTUZvY3VzT3V0RXZlbnQpOwotICAg
IGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRj
aE1lZGlhdG9yOjpjcmVhdGUoVUlFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2Us
IGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDApLCBuZXdGb2N1c2VkTm9kZSkpOworICAgIGRp
c3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzT3V0RXZlbnREaXNwYXRjaE1l
ZGlhdG9yOjpjcmVhdGUoRm9jdXNFdmVudDo6Y3JlYXRlKGV2ZW50VHlwZSwgdHJ1ZSwgZmFsc2Us
IGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIDAsIDApLCBuZXdGb2N1c2VkTm9kZSkpOwogfQog
CiBib29sIE5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVFdmVudChpbnQgZGV0YWlsLCBQYXNzUmVm
UHRyPEV2ZW50PiB1bmRlcmx5aW5nRXZlbnQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDg5YWU1ZjQ1YTE2ZmY2ZDU1NmM5
ZWZkMTg3YzUxZTZjNDAzMDcyMy4uN2EwNGNiZjA4ZTA3ZjU2OTUwM2UzMGU2NGE2MTY4ZTAxNTE4
ZjVkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAyLTAzICBLZW50YXJvIEhhcmEgIDxo
YXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1cyBldmVudHMgYXJl
IFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRvbid0IGV4cG9zZSAu
cmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50
cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEgbmV3IEZvY3VzRXZl
bnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAgICAgICBOb3cgd2hl
biBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwgYSBGb2N1c0V2ZW50
IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgc2V0
IGFjY29yZGluZ2x5LgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFy
eS1ldmVudHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
Ym91bmRhcnktZXZlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRlZC10YXJn
ZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMDYgIFN0
ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21p
dW1dIFRlc3QgZXhwZWN0YXRpb25zIHVwZGF0ZSBmb3IgU2tpYSBjaGFuZ2UuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2
ZW50cy1leHBlY3RlZC50eHQKaW5kZXggOWE1ZjlkYjM3MTEwZTU0NjkwMDkyZGE0N2I5ODRmZDNi
NjNiNjY2Zi4uNDBjZWJjMjdjZWVjMTBkZTRjNjNjNzRkNDc1MTdjM2I3N2EwZTM0NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91
bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtNjEsMTMgKzYxLDEzIEBAIFBBU1MgZGlzcGF0
Y2hlZEV2ZW50KCJtb3VzZW91dCIpIGlzIFsiZGl2SCg8LXNoYWRvd0spKEBkaXZIKSIsICJzaGFk
b3dHKDwtc2hhZG93CiAKIE1vdmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9k
ZS4gQWxsIG5vZGVzIGFyZSBvdXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4KIE1vdmluZyBmb2N1
cyBmcm9tIGRpdkIgdG8gZGl2QwotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKSBpcyBb
ImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0KLVBBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1
c291dCIpIGlzIFsiZGl2QihAZGl2QikiLCAiZGl2QihAZGl2QSkiXQorUEFTUyBkaXNwYXRjaGVk
RXZlbnQoImZvY3VzaW4iKSBpcyBbImRpdkMoPC1kaXZCKShAZGl2QykiLCAiZGl2Qyg8LWRpdkIp
KEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKSBpcyBbImRpdkIoPC1k
aXZDKShAZGl2QikiLCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdCiAKIE9sZCBmb2N1c2VkIG5vZGUg
YW5kIG5ldyBmb2N1c2VkIG5vZGUgZXhpc3QgaW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9zc2lu
ZyBzaGFkb3cgYm91bmRhcmllcy4gTWFraW5nIHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3QgZGlz
cGF0Y2hlZCBiZXlvbmQgdGhlIGxvd2VzdCBjb21tb24gYm91bmRhcnkuCiBNb3ZpbmcgZm9jdXMg
ZnJvbSBzaGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIIHRvIHNoYWRvd0Qvc2hhZG93Sy9kaXZM
Ci1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2TChAZGl2TCkiLCAic2hh
ZG93SyhAc2hhZG93SykiLCAic2hhZG93SyhAZGl2SikiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQo
ImZvY3Vzb3V0IikgaXMgWyJkaXZIKEBkaXZIKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJzaGFk
b3dGKEBzaGFkb3dGKSIsICJzaGFkb3dGKEBkaXZFKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgi
Zm9jdXNpbiIpIGlzIFsiZGl2TCg8LXNoYWRvd0YpKEBkaXZMKSIsICJzaGFkb3dLKDwtc2hhZG93
RikoQHNoYWRvd0spIiwgInNoYWRvd0soPC1zaGFkb3dGKShAZGl2SikiXQorUEFTUyBkaXNwYXRj
aGVkRXZlbnQoImZvY3Vzb3V0IikgaXMgWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRv
d0coPC1zaGFkb3dLKShAc2hhZG93RykiLCAic2hhZG93Rig8LXNoYWRvd0spKEBzaGFkb3dGKSIs
ICJzaGFkb3dGKDwtc2hhZG93SykoQGRpdkUpIl0KIAogTW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0
byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93IGJvdW5k
YXJ5LgogTW92aW5nIGZvY3VzIGZyb20gZGl2QiB0byBkaXZDCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbAppbmRleCA5
MzNkZTc0N2Y3ZTg0YTY5NTJiMzdiMjAzYTY5NThlZDg4YmQyNWZlLi44ZGZjMGM3NjQ1ODYzMjIy
MjlmNWU3ZWIwNDM4NmZhNTgzZjZiMmZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKQEAgLTE4MCwxMyArMTgw
LDEzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIC8vIFRlc3QgZm9yIGZvY3VzaW4vZm9jdXNvdXQg
ZXZlbnRzLgogICAgIG1vdmVGb2N1cygnZGl2QicsICdkaXZDJywKICAgICAgICAgICAgICAgJ01v
dmUgZm9jdXMgZnJvbSBhIG5vZGUgdG8gaXRzIHNpYmxpbmcgbm9kZS4gQWxsIG5vZGVzIGFyZSBv
dXRzaWRlIG9mIHNoYWRvdyBib3VuZGFyeS4nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2
ZW50KCJmb2N1c2luIiknLCAnWyJkaXZDKEBkaXZDKSIsICJkaXZDKEBkaXZBKSJdJyk7Ci0gICAg
c2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoQGRpdkIpIiwg
ImRpdkIoQGRpdkEpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2lu
IiknLCAnWyJkaXZDKDwtZGl2QikoQGRpdkMpIiwgImRpdkMoPC1kaXZCKShAZGl2QSkiXScpOwor
ICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZCKDwtZGl2
QykoQGRpdkIpIiwgImRpdkIoPC1kaXZDKShAZGl2QSkiXScpOwogCiAgICAgbW92ZUZvY3VzKCdz
aGFkb3dEL3NoYWRvd0Yvc2hhZG93Ry9kaXZIJywgJ3NoYWRvd0Qvc2hhZG93Sy9kaXZMJywKICAg
ICAgICAgICAgICAgJ09sZCBmb2N1c2VkIG5vZGUgYW5kIG5ldyBmb2N1c2VkIG5vZGUgZXhpc3Qg
aW4gc2VwYXJhdGVkIHN1YnRyZWVzLCBjcm9zc2luZyBzaGFkb3cgYm91bmRhcmllcy4gTWFraW5n
IHN1cmUgdGhhdCBhbiBldmVudCBpcyBub3QgZGlzcGF0Y2hlZCBiZXlvbmQgdGhlIGxvd2VzdCBj
b21tb24gYm91bmRhcnkuJyk7Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNp
biIpJywgJ1siZGl2TChAZGl2TCkiLCAic2hhZG93SyhAc2hhZG93SykiLCAic2hhZG93SyhAZGl2
SikiXScpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJk
aXZIKEBkaXZIKSIsICJzaGFkb3dHKEBzaGFkb3dHKSIsICJzaGFkb3dGKEBzaGFkb3dGKSIsICJz
aGFkb3dGKEBkaXZFKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNp
biIpJywgJ1siZGl2TCg8LXNoYWRvd0YpKEBkaXZMKSIsICJzaGFkb3dLKDwtc2hhZG93RikoQHNo
YWRvd0spIiwgInNoYWRvd0soPC1zaGFkb3dGKShAZGl2SikiXScpOworICAgIHNob3VsZEJlKCdk
aXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0IiknLCAnWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwg
InNoYWRvd0coPC1zaGFkb3dLKShAc2hhZG93RykiLCAic2hhZG93Rig8LXNoYWRvd0spKEBzaGFk
b3dGKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQGRpdkUpIl0nKTsKIAogICAgIC8vIE9taXR0ZWQg
dGVzdCBjYXNlcyB3aGVyZSBlaXRoZXIgYSBvbGRGb2N1c2VkTm9kZSBvciBuZXdGb2N1c2VkTm9k
ZSBpcyBhbiBhbmNlc3RvciBvZiB0aGUgb3RoZXIuCiAgICAgLy8gRHVlIHRvIGEgZm9jdXMgdHJh
bnNmZXIgbWVjaGFuaXNtIG9uIHNoYWRvdyBob3N0cywgYSBmb2N1c2VkIG5vZGUgc2hvdWxkIGJl
IGEgbGVhZiBub2RlIGluIGdlbmVyYWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM4YjliMzAzNjkzYTJhNjFmZDE1MjJmMDA0Njg4MTY0YjNkYjExNzUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2
ZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJn
ZXQgaXMgbnVsbAorUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIGlucHV0MgorUEFTUyBldmVu
dC5yZWxhdGVkVGFyZ2V0IGlzIGlucHV0MQorUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIGlu
cHV0MworUEFTUyBldmVudC5yZWxhdGVkVGFyZ2V0IGlzIGlucHV0MgorUEFTUyBldmVudC5yZWxh
dGVkVGFyZ2V0IGlzIGlucHV0NAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9y
IEZvY3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9m
b2N1c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuIFByZXNzIHRhYiBmb3VyIHRpbWVzIHRvIGRp
c3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVhY2ggb2YgdGhlIGlucHV0
cyBiZWxvdy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKyAgIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZkNzYzNTMyOTViOWE2M2Q4MTI2NzViN2Q5Y2JlNWRiZjVhYmY1MzQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1m
b2N1c2V2ZW50Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxpbnB1dCBpZD0iaW5wdXQxIiB0eXBl
PSJ0ZXh0Ij48L2lucHV0PgorPGlucHV0IGlkPSJpbnB1dDIiIHR5cGU9InRleHQiPjwvaW5wdXQ+
Cis8aW5wdXQgaWQ9ImlucHV0MyIgdHlwZT0idGV4dCI+PC9pbnB1dD4KKzxpbnB1dCBpZD0iaW5w
dXQ0IiB0eXBlPSJ0ZXh0Ij48L2lucHV0PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVl
OworCitkZXNjcmlwdGlvbigiQ2hlY2tzIHRoYXQgdGhlIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRl
IGZvciBGb2N1c0V2ZW50IG9iamVjdHMgaXMgYmVpbmcgc2V0IGNvcnJlY3RseSB3aGVuIGZvY3Vz
aW4vZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVkLiAgPGI+UHJlc3MgdGFiIGZvdXIgdGlt
ZXM8L2I+IHRvIGRpc3BhdGNoIGEgZm9jdXNpbiBhbmQgZm9jdXNvdXQgZXZlbnQgZm9yIGVhY2gg
b2YgdGhlIGlucHV0cyBiZWxvdy4iKTsKKwordmFyIGlucHV0MSA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpbnB1dDEnKTsKK3ZhciBpbnB1dDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
aW5wdXQyJyk7Cit2YXIgaW5wdXQzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lucHV0Mycp
OworCitpbnB1dDEuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7
IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ251bGwnKTsgfSk7CitpbnB1dDEuYWRk
RXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgnZXZl
bnQucmVsYXRlZFRhcmdldCcsICdpbnB1dDInKTsgfSk7CitpbnB1dDIuYWRkRXZlbnRMaXN0ZW5l
cigiZm9jdXNpbiIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFy
Z2V0JywgJ2lucHV0MScpOyB9KTsKK2lucHV0Mi5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIs
IGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxhdGVkVGFyZ2V0JywgJ2lucHV0
MycpOyB9KTsKK2lucHV0My5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwgZnVuY3Rpb24oZXZl
bnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnaW5wdXQyJyk7IH0pOworaW5w
dXQzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxk
QmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnaW5wdXQ0Jyk7IGZpbmlzaEpTVGVzdCgpOyB9KTsK
KworZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHsKKyAgICBldmVudFNlbmRlci5rZXlEb3du
KCdcdCcpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186951</attachid>
            <date>2013-02-06 17:03:10 -0800</date>
            <delta_ts>2013-02-07 00:41:19 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-76216-20130207095946.patch</filename>
            <type>text/plain</type>
            <size>33549</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWQyMDhiYjY5ZDcyMTZk
NzdkY2M3MjdlN2FmNDVjNmQxNTYxZTVhNi4uNTkxMDgxNmQ1ZTIyMGE4MzZmM2Q0M2U1MzkzNGQ3
ZWNlZmQ5Y2MxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDEzLTAyLTAzICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJLaXQncyBmb2N1
cyBldmVudHMgYXJlIFVJRXZlbnRzIChpbnN0ZWFkIG9mIEZvY3VzRXZlbnQpIGFuZCB0aHVzIGRv
bid0IGV4cG9zZSAucmVsYXRlZFRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRl
bC4KKworICAgICAgICBTcGVjOiBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVu
dHMvI2V2ZW50cy1Gb2N1c0V2ZW50CisKKyAgICAgICAgVGhpcyBwYXRjaCBjcmVhdGVzIGEgbmV3
IEZvY3VzRXZlbnQgY2xhc3Mgd2l0aCBhIHJlbGF0ZWRUYXJnZXQgYXR0cmlidXRlLgorICAgICAg
ICBOb3cgd2hlbiBmb2N1c2luIG9yIGZvY3Vzb3V0IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZCwgYSBG
b2N1c0V2ZW50IGlzIGNyZWF0ZWQgd2l0aAorICAgICAgICB0aGUgcmVsYXRlZFRhcmdldCBhdHRy
aWJ1dGUgc2V0IGFjY29yZGluZ2x5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL3JlbGF0
ZWQtdGFyZ2V0LWZvY3VzZXZlbnQuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAq
IGRvbS9ET01BbGxJbk9uZS5jcHA6CisgICAgICAgICogZG9tL0V2ZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50Ojppc0ZvY3VzRXZlbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogZG9tL0V2ZW50Lmg6CisgICAgICAgIChFdmVudCk6CisgICAgICAgICogZG9tL0V2ZW50
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudENvbnRleHQ6OmhhbmRsZUxvY2Fs
RXZlbnRzKToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5pbjoKKyAgICAgICAgKiBkb20vRm9j
dXNFdmVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRm9jdXNFdmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1c0V2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9jdXNFdmVudDo6cmVsYXRlZFRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpGb2N1
c0V2ZW50OjpzZXRSZWxhdGVkVGFyZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OnRvRm9jdXNFdmVu
dCk6CisgICAgICAgICogZG9tL0ZvY3VzRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBkb20v
Tm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzSW5FdmVudCk6
CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQpOgorCiAyMDEz
LTAyLTA2ICBEaXJrIFNjaHVsemUgIDxkc2NodWx6ZUBhZG9iZS5jb20+CiAKICAgICAgICAgQ29u
dGV4dCdzIGN1cnJlbnRQYXRoIHNob3VsZCBjaGVjayBmb3IgcGFzc2VkIHR5cGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKaW5kZXggYzkzM2QyZDFmZmIxMjUwNDQ5N2ZjNjM4NmE2MTVmMjExOGExNGU5My4u
YmZkNTFmZDgxYTM0NjI3MjJjODI0MzJlM2EzZWQ4NGE5MmFlMWE3ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTM3MSw2ICszNzEsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBkb20v
RXZlbnRFeGNlcHRpb24uaWRsCiAgICAgZG9tL0V2ZW50LmlkbAogICAgIGRvbS9FdmVudFRhcmdl
dC5pZGwKKyAgICBkb20vRm9jdXNFdmVudC5pZGwKICAgICBkb20vSGFzaENoYW5nZUV2ZW50Lmlk
bAogICAgIGRvbS9LZXlib2FyZEV2ZW50LmlkbAogICAgIGRvbS9NZXNzYWdlQ2hhbm5lbC5pZGwK
QEAgLTExODYsNiArMTE4Nyw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBkb20vRXZlbnRU
YXJnZXQuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuY3BwCiAgICAgZG9tL0V4Y2VwdGlvbkNv
ZGVQbGFjZWhvbGRlci5jcHAKKyAgICBkb20vRm9jdXNFdmVudC5jcHAKICAgICBkb20vR2VuZXJp
Y0V2ZW50UXVldWUuY3BwCiAgICAgZG9tL0dlc3R1cmVFdmVudC5jcHAKICAgICBkb20vSWNvblVS
TC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA2NTUxYzY4ZDNiMTg2MGE0MDY5
ODk5M2YyMTkzNjFlNGI5MGJlMmQxLi43ZDk2YmZhYjQ3YjM5ODJmZjJjYTE4YTMwOTg0ZjkxMTE1
OTg4ZTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC0xMzYsNiArMTM2LDcgQEAK
ICNpbmNsdWRlICJKU0ZpbGVXcml0ZXJTeW5jLmNwcCIKICNpbmNsdWRlICJKU0Zsb2F0MzJBcnJh
eS5jcHAiCiAjaW5jbHVkZSAiSlNGbG9hdDY0QXJyYXkuY3BwIgorI2luY2x1ZGUgIkpTRm9jdXNF
dmVudC5jcHAiCiAjaW5jbHVkZSAiSlNHZW9sb2NhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNHZW9w
b3NpdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNIYXNoQ2hhbmdlRXZlbnQuY3BwIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjA1YTIxZWYzZGRmZGYyYTg3ZmU5Y2EyOGExNWUxYWZm
OTY1MDE0My4uMzliZGU4ZWNjNTg5MWJhMTgyY2FjYTRmM2E4N2E0YjI1ODZiMGVmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yMzUsNiArMjM1LDcgQEAgQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9kb20vRXZlbnRMaXN0ZW5lci5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50VGFy
Z2V0LmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0tleWJv
YXJkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGwgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmluZGV4IDFjYmNjMzc2NjNlM2QwOTVjODQxMjc5YjBi
ZTU5YTE2NGYwNzhhNDYuLjhhYzc3MzhkY2Y5ZmZmMzcyZDM5NjY3NDNjZGMzNDk2ZmIzMmFkNDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKQEAgLTI0OCw2ICsyNDgsNyBAQCBJRExfQklO
RElOR1MgKz0gXAogICAgICQkUFdEL2RvbS9FdmVudEV4Y2VwdGlvbi5pZGwgXAogIyAgICAkJFBX
RC9kb20vRXZlbnRMaXN0ZW5lci5pZGwgXAogICAgICQkUFdEL2RvbS9FdmVudFRhcmdldC5pZGwg
XAorICAgICQkUFdEL2RvbS9Gb2N1c0V2ZW50LmlkbCBcCiAgICAgJCRQV0QvZG9tL0hhc2hDaGFu
Z2VFdmVudC5pZGwgXAogICAgICQkUFdEL2RvbS9LZXlib2FyZEV2ZW50LmlkbCBcCiAgICAgJCRQ
V0QvZG9tL01vdXNlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IGIzOWY2Y2QzODFkYmNkYmY5YzMzYmE1MzQxMjA3MWU0MjcxZGI3M2IuLjZiOTUzZDI2MDBkNGU2
NTcxNThlNmFiY2M2MjlhY2VmZDY4MGJlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtMjg2LDYgKzI4Niw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTRmxvYXQ2NEFycmF5LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0
NjRBcnJheS5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNFdmVudC5jcHAgXAor
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNGb2N1c0V2ZW50LmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNHYW1lcGFkLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dhbWVw
YWQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0dhbWVwYWRMaXN0LmNwcCBcCkBAIC0x
MzgzLDYgKzEzODUsNyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL2RvbS9F
dmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCiAJJChXZWJDb3Jl
KS9kb20vRXZlbnRFeGNlcHRpb24uaWRsIFwKKwkkKFdlYkNvcmUpL2RvbS9Gb2N1c0V2ZW50Lmlk
bCBcCiAJJChXZWJDb3JlKS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9k
b20vS2V5Ym9hcmRFdmVudC5pZGwgXAogCSQoV2ViQ29yZSkvZG9tL01lc3NhZ2VDaGFubmVsLmlk
bCBcCkBAIC0yODY1LDYgKzI4NjgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmggXAogCVNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRp
b25Db2RlUGxhY2Vob2xkZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29k
ZVBsYWNlaG9sZGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBcCisJ
U291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0Zy
YWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vR2VzdHVy
ZUV2ZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0dlc3R1cmVFdmVudC5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQu
cHJpCmluZGV4IGE0ZjI0ODg4YmFjZmNkMGU1NjFiZDM4NWZmMWUwMDZkMTUzM2M1ODUuLmI2OTgz
YmE2NWIzZTBiYTA4ZjQzNjkxOWM5ODFiYWU1ZmE1ZjNmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDE0
LDYgKzQxNCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9FdmVudFRhcmdldC5jcHAgXAogICAg
IGRvbS9FeGNlcHRpb25CYXNlLmNwcCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGVQbGFjZWhvbGRl
ci5jcHAgXAorICAgIGRvbS9Gb2N1c0V2ZW50LmNwcCBcCiAgICAgZG9tL0dlbmVyaWNFdmVudFF1
ZXVlLmNwcCBcCiAgICAgZG9tL0dlc3R1cmVFdmVudC5jcHAgXAogICAgIGRvbS9JY29uVVJMLmNw
cCBcCkBAIC0xNjMyLDYgKzE2MzMsNyBAQCBIRUFERVJTICs9IFwKICAgICBkb20vRXZlbnRUYXJn
ZXQuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkJhc2UuaCBcCiAgICAgZG9tL0V4Y2VwdGlvbkNvZGUu
aCBcCisgICAgZG9tL0ZvY3VzRXZlbnQuaCBcCiAgICAgZG9tL0ZyYWdtZW50U2NyaXB0aW5nUGVy
bWlzc2lvbi5oIFwKICAgICBkb20vR2VzdHVyZUV2ZW50LmggXAogICAgIGRvbS9JZFRhcmdldE9i
c2VydmVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDE4MDQxNTZmZDQwNGEyMDQ1MTQwZDljMWMw
OTMzMmNkNDJjZjYwZGMuLjI4YzhlN2QxZmI4ZWRiY2Y2ZmRhM2UwNmUyMTI4NzdjMWUxNTExNzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyNSw2ICsyMjUsNyBAQAogICAgICAgICAgICAgJ2RvbS9F
dmVudEV4Y2VwdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2RvbS9FdmVudExpc3RlbmVyLmlkbCcs
CiAgICAgICAgICAgICAnZG9tL0V2ZW50VGFyZ2V0LmlkbCcsCisgICAgICAgICAgICAnZG9tL0Zv
Y3VzRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vSGFzaENoYW5nZUV2ZW50LmlkbCcsCiAg
ICAgICAgICAgICAnZG9tL0tleWJvYXJkRXZlbnQuaWRsJywKICAgICAgICAgICAgICdkb20vTWVz
c2FnZUNoYW5uZWwuaWRsJywKQEAgLTI4NDMsNiArMjg0NCw4IEBACiAgICAgICAgICAgICAnZG9t
L0V4Y2VwdGlvbkJhc2UuY3BwJywKICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQmFzZS5oJywK
ICAgICAgICAgICAgICdkb20vRXhjZXB0aW9uQ29kZVBsYWNlaG9sZGVyLmNwcCcsCisgICAgICAg
ICAgICAnZG9tL0ZvY3VzRXZlbnQuY3BwJywKKyAgICAgICAgICAgICdkb20vRm9jdXNFdmVudC5o
JywKICAgICAgICAgICAgICdkb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwJywKICAgICAgICAgICAg
ICdkb20vR2VuZXJpY0V2ZW50UXVldWUuaCcsCiAgICAgICAgICAgICAnZG9tL0dlc3R1cmVFdmVu
dC5jcHAnLApAQCAtNjM4MCw2ICs2MzgzLDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRmlsZVdyaXRlclN5bmMuaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Zsb2F0MzJBcnJheS5j
cHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNGbG9hdDMyQXJyYXkuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0ZvY3VzRXZlbnQuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRm9jdXNFdmVudC5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTR2VvbG9jYXRpb24uY3Bw
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
R2VvbG9jYXRpb24uaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0dlb3Bvc2l0aW9uLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzJhZmVmZGUxNTk1OTVhZDVlYzdh
MzkzMDNhMWZlYTBlYzY5YjlmNy4uYjYyNjczNmQwMjRmN2ZiNmM0NDNiZjZmOTU1NzVlMDhhMzcw
MWZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNTM2MSw2ICs1MzYxLDEwIEBACiAJCUI2NThGRkEyMTUyMkVGM0EwMERENTU5
NSAvKiBKU1JhZGlvTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEI2NThGRkEwMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9kZUxpc3Qu
aCAqLzsgfTsKIAkJQjY1OEZGQTUxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1OEZGQTMx
NTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwICovOyB9OwogCQlCNjU4RkZBNjE1
MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjY1OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlv
Tm9kZUxpc3QuaCAqLzsgfTsKKwkJQjZEOUQyMzUxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZl
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlE
MjMzMTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmggKi87IH07CisJCUI2RDlEMjM2MTRF
QUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2
ZW50LmNwcCAqLzsgfTsKKwkJQjZEOUQyN0IxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjZEOUQy
NzkxNEVBQzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oICovOyB9OworCQlCNkQ5RDI3QzE0
RUFDMDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0Zv
Y3VzRXZlbnQuY3BwICovOyB9OwogCQlCNzFGRTZERjExMDkxQ0IzMDBEQUVGNzcgLyogUHJpbnRD
b250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Nzc2RDQzQTExMDQ1MjVEMDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQjczNEIxODExMTlCOTkxMTAwNjU4
N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEI3MzRCMTgwMTE5Qjk5MTEwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rl
ci5jcHAgKi87IH07CiAJCUI3MzRCMTgzMTE5Qjk5MUQwMDY1ODdCRCAvKiBGb250VHJhbnNjb2Rl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjczNEIx
ODIxMTlCOTkxRDAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmggKi87IH07CkBAIC0xMjg3MCw2
ICsxMjg3NCwxMSBAQAogCQlCNjU4RkZBMDE1MjJFRjNBMDBERDU1OTUgLyogSlNSYWRpb05vZGVM
aXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmFkaW9Ob2RlTGlzdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjU4RkZBMzE1MjJFRkFBMDBERDU1OTUg
LyogUmFkaW9Ob2RlTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBSYWRpb05vZGVMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjY1OEZG
QTQxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmFkaW9Ob2RlTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCNkQ5RDIzMzE0RUFCRDI2MDA5MEQ3NUUgLyogRm9jdXNFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBGb2N1c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUI2RDlEMjM0MTRFQUJEMjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvY3VzRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCNkQ5RDI3MjE0RUFCRjAzMDA5MEQ3NUUgLyogRm9jdXNF
dmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRm9jdXNFdmVudC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3Vz
RXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNGb2N1c0V2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAv
KiBKU0ZvY3VzRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNGb2N1c0V2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjczNEIxODAx
MTlCOTkxMTAwNjU4N0JEIC8qIEZvbnRUcmFuc2NvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IEZvbnRUcmFuc2NvZGVyLmNwcDsgcGF0aCA9IHRyYW5zY29kZXIv
Rm9udFRyYW5zY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNzM0QjE4
MjExOUI5OTFEMDA2NTg3QkQgLyogRm9udFRyYW5zY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gRm9udFRyYW5zY29kZXIuaDsgcGF0aCA9IHRyYW5zY29kZXIvRm9udFRy
YW5zY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0NTI1
RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NTU4
LDYgKzE5NTY3LDggQEAKIAkJCQlCQzYwRDlCRTBEMkEyNjlBMDBCOTkxOEYgLyogSlNFdmVudEV4
Y2VwdGlvbi5oICovLAogCQkJCUM2QTcwMzMyNUM5RDBCNkNEQ0JDNEQ3OCAvKiBKU0V2ZW50VGFy
Z2V0LmNwcCAqLywKIAkJCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRhcmdl
dC5oICovLAorCQkJCUI2RDlEMjdBMTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuY3Bw
ICovLAorCQkJCUI2RDlEMjc5MTRFQUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCAqLywK
IAkJCQk4NDgyQjc0RjExOThDQjZCMDBCRkIwMDUgLyogSlNIYXNoQ2hhbmdlRXZlbnQuY3BwICov
LAogCQkJCTg0ODJCNzUwMTE5OENCNkIwMEJGQjAwNSAvKiBKU0hhc2hDaGFuZ2VFdmVudC5oICov
LAogCQkJCUE4NjYyOUNFMDlEQTJCNDcwMDk2MzNBNSAvKiBKU0tleWJvYXJkRXZlbnQuY3BwICov
LApAQCAtMjI0MDUsNiArMjI0MTYsOSBAQAogCQkJCTkzNUZCQ0YxMDlCQTE0M0IwMEUyMzBCMSAv
KiBFeGNlcHRpb25Db2RlLmggKi8sCiAJCQkJQTdDQUNEQjAxM0NFODc1QjAwQkJCRTNGIC8qIEV4
Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5jcHAgKi8sCiAJCQkJQTc0QkI3NkExM0JEQTg2MzAwRkY3
QkYwIC8qIEV4Y2VwdGlvbkNvZGVQbGFjZWhvbGRlci5oICovLAorCQkJCUI2RDlEMjM0MTRFQUJE
MjYwMDkwRDc1RSAvKiBGb2N1c0V2ZW50LmNwcCAqLywKKwkJCQlCNkQ5RDIzMzE0RUFCRDI2MDA5
MEQ3NUUgLyogRm9jdXNFdmVudC5oICovLAorCQkJCUI2RDlEMjcyMTRFQUJGMDMwMDkwRDc1RSAv
KiBGb2N1c0V2ZW50LmlkbCAqLywKIAkJCQlBODUzMTIzQzExRDA0NzFCMDBENEQwNzcgLyogRnJh
Z21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uLmggKi8sCiAJCQkJMDcyMEIwOUUxNEQzMzIzNTAwNjQy
OTU1IC8qIEdlbmVyaWNFdmVudFF1ZXVlLmNwcCAqLywKIAkJCQkwNzIwQjA5RjE0RDMzMjM1MDA2
NDI5NTUgLyogR2VuZXJpY0V2ZW50UXVldWUuaCAqLywKQEAgLTI0MjA0LDYgKzI0MjE4LDcgQEAK
IAkJCQlENzJGNkQ3QTE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1RocmVhZENvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTE0OTkzQkU2MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0NvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA2MjI4Nzg0MEI0REIzMjIwMDBDMzRERiAvKiBG
b2N1c0RpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjZEOUQyMzUxNEVBQkQyNjAwOTBE
NzVFIC8qIEZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYxMEQwMDZDRDYw
MEVGNkYyNiAvKiBGb250LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5MkQ0RjEyOTM1NTBCMDBD
ODM4N0YgLyogRm9udEJhc2VsaW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2MzBEMDA2
Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0NzAyLDYgKzI0
NzE3LDcgQEAKIAkJCQk4OTNDNDdCQzEyMzhBMEE5MDAyQjNEODYgLyogSlNGaWxlV3JpdGVyQ2Fs
bGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RUVDRjAzMTA1MDcwQzQwMDA5OUZBQiAvKiBK
U0Zsb2F0MzJBcnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNkVCQzVFQjAxMzhCNTBGMjAwQTBD
RjhBIC8qIEpTRmxvYXQ2NEFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQlCNkQ5RDI3QjE0RUFD
MDg2MDA5MEQ3NUUgLyogSlNGb2N1c0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVB
QzEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU4
MERBNjQwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCUZFODBEQTY2MEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb3Bvc2l0aW9uLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI3NTE1LDYgKzI3NTMxLDcgQEAKIAkJCQlCMjc1MzU3QTBCMDUzODE0MDAyQ0U2
NEYgLyogRmxvYXRTaXplTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRDcyRjZENzkxNTMxNTlB
MzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTE0OTkzQkU1MEIyRjJCMUMwMDUwNDk3RiAvKiBGb2N1c0NvbnRyb2xsZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJQjZEOUQyMzYxNEVBQkQyNjAwOTBENzVFIC8qIEZvY3VzRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNjAwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNjIwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRDYWNoZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkFGRkM3QzBEMDBBNUMxMDAzMDA3NEQgLyogRm9udENh
Y2hlTWFjLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0yODAxNiw2ICsyODAzMyw3IEBACiAJCQkJODkz
QzQ3QkIxMjM4QTBBOTAwMkIzRDg2IC8qIEpTRmlsZVdyaXRlckNhbGxiYWNrLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQ5RUVDRjAyMTA1MDcwQzQwMDA5OUZBQiAvKiBKU0Zsb2F0MzJBcnJheS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2RUJDNUVBRjEzOEI1MEYyMDBBMENGOEEgLyogSlNGbG9h
dDY0QXJyYXkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjZEOUQyN0MxNEVBQzA4NjAwOTBENzVF
IC8qIEpTRm9jdXNFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGREExNUVBQjEyQjAzRUUx
MDAzQTU4M0EgLyogSlNHYWluTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRTgwREE2MzBF
OUM0NzAzMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlG
RTgwRDdBQjBFOUMxRUQyMDAwRDZGNzUgLyogSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NQWxsSW5PbmUuY3BwCmluZGV4IGFmNDFkODgxZWM4MmY4
YTQ5N2YzYjJjMTg3NDg4MWZhNGY1MTE5ODguLmJkNTk4YTAyMzRiNDRmMDY0YmZkNmIzNzMwZTFh
M2U2MmFiYWY4MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01BbGxJbk9uZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUFsbEluT25lLmNwcApAQCAtODQsNiArODQs
NyBAQAogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25CYXNl
LmNwcCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlUGxhY2Vob2xkZXIuY3BwIgorI2luY2x1ZGUg
IkZvY3VzRXZlbnQuY3BwIgogI2luY2x1ZGUgIkljb25VUkwuY3BwIgogI2luY2x1ZGUgIklkVGFy
Z2V0T2JzZXJ2ZXIuY3BwIgogI2luY2x1ZGUgIklkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50LmNwcAppbmRleCA5MzlmNTE0M2UzMzhhYTQ1MWQ0MDZmYzFjNGM2MjI5Njhj
MjZlMGFmLi5kNWQxZmJlMzc1OGI4NGY0MDg0MjgzODc4M2Y5ZDAyZjgxNDVhZjVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudC5jcHAKQEAgLTEyMiw2ICsxMjIsMTEgQEAgYm9vbCBFdmVudDo6aXNNb3VzZUV2ZW50
KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgRXZlbnQ6OmlzRm9jdXNFdmVu
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEV2ZW50Ojppc0tleWJv
YXJkRXZlbnQoKSBjb25zdAogewogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKaW5kZXgg
MzZmMDI5MzU2YWFmY2IwNzFjMzFmMDMwMTYxNjc1OTdmNmQyNWRiOC4uMGNiZjliOGE4NTg5MTU4
ODY0ODYwODIyODlmOTdhY2IyZDBiYTczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmgKQEAgLTEyNCw2ICsxMjQs
NyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgZXZlbnRzIGFyZSBnZW5lcmFsIGNsYXNzZXMgb2Yg
ZXZlbnRzLgogICAgIHZpcnR1YWwgYm9vbCBpc1VJRXZlbnQoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGJvb2wgaXNNb3VzZUV2ZW50KCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzRm9jdXNFdmVu
dCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc0tleWJvYXJkRXZlbnQoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNUb3VjaEV2ZW50KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
Q29udGV4dC5jcHAKaW5kZXggODg3ZjY4M2IyNmJmOTMxZGU4MDA0Nzc3YWM0NDViNzFhZTA0ZGUz
Yy4uMTYzYWU1ODZiNDQ3NGQ0NzEyOTcwOTY0NTEzODRkNDgyNDA5ZmUyMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50Q29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50Q29udGV4dC5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJET01XaW5k
b3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVk
ZSAiRm9jdXNFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb2Rl
LmgiCiAKQEAgLTUxLDYgKzUyLDggQEAgdm9pZCBFdmVudENvbnRleHQ6OmhhbmRsZUxvY2FsRXZl
bnRzKEV2ZW50KiBldmVudCkgY29uc3QKICAgICBldmVudC0+c2V0Q3VycmVudFRhcmdldChtX2N1
cnJlbnRUYXJnZXQuZ2V0KCkpOwogICAgIGlmIChtX3JlbGF0ZWRUYXJnZXQuZ2V0KCkgJiYgZXZl
bnQtPmlzTW91c2VFdmVudCgpKQogICAgICAgICB0b01vdXNlRXZlbnQoZXZlbnQpLT5zZXRSZWxh
dGVkVGFyZ2V0KG1fcmVsYXRlZFRhcmdldC5nZXQoKSk7CisgICAgZWxzZSBpZiAobV9yZWxhdGVk
VGFyZ2V0LmdldCgpICYmIGV2ZW50LT5pc0ZvY3VzRXZlbnQoKSkKKyAgICAgICAgdG9Gb2N1c0V2
ZW50KGV2ZW50KS0+c2V0UmVsYXRlZFRhcmdldChtX3JlbGF0ZWRUYXJnZXQpOwogICAgIG1fbm9k
ZS0+aGFuZGxlTG9jYWxFdmVudHMoZXZlbnQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmlu
CmluZGV4IGI0YjVhM2U3NzRhZDM1NGU0YmMwOTBhNDU4MGNiOTNiMTQyMzIxNTQuLmEyYzNjOWMy
MzMzMjFiMjUyYmZhZjA4ZTdkMjU1YmQ1OWE1M2RlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluCkBAIC04LDYgKzgsNyBAQCBDbG9zZUV2ZW50CiBDb21wb3NpdGlvbkV2ZW50CiBDdXN0b21F
dmVudAogRXJyb3JFdmVudAorRm9jdXNFdmVudAogSGFzaENoYW5nZUV2ZW50CiBLZXlib2FyZEV2
ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1lPUtleWJvYXJkRXZlbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Gb2N1c0V2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MjJmZmQyMzM1ZTExMjk3ODI4OGE2OWFiMjg4
MTkzYTQxNDhjOTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3Vz
RXZlbnQuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkZvY3VzRXZlbnQuaCIKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5j
bHVkZSAiRXZlbnROYW1lcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IEF0b21p
Y1N0cmluZyYgRm9jdXNFdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JGb2N1c0V2ZW50OworfQorCitib29sIEZvY3VzRXZl
bnQ6OmlzRm9jdXNFdmVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0ZvY3Vz
RXZlbnQ6OkZvY3VzRXZlbnQoKQoreworfQorCitGb2N1c0V2ZW50OjpGb2N1c0V2ZW50KGNvbnN0
IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFz
c1JlZlB0cjxBYnN0cmFjdFZpZXc+IHZpZXcsIGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnRU
YXJnZXQ+IHJlbGF0ZWRUYXJnZXQpCisgICAgOiBVSUV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2Fu
Y2VsYWJsZSwgdmlldywgZGV0YWlsKQorICAgICwgbV9yZWxhdGVkVGFyZ2V0KHJlbGF0ZWRUYXJn
ZXQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVhOTlmZDgzMWM3OTA0MTZmZmQ2MzkyNGZiYzdiNTVhMDZlN2VhNGYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRm9jdXNFdmVudC5oCkBAIC0wLDAg
KzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBGb2N1c0V2ZW50X2gKKyNkZWZpbmUgRm9j
dXNFdmVudF9oCisKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIlVJRXZlbnQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBGb2N1c0V2ZW50IDogcHVibGljIFVJ
RXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvY3VzRXZlbnQpOworICAg
IH0KKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvY3VzRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQ
dHI8QWJzdHJhY3RWaWV3PiB2aWV3LCBpbnQgZGV0YWlsLCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0
PiByZWxhdGVkVGFyZ2V0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBGb2N1
c0V2ZW50KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSwgdmlldywgZGV0YWlsLCByZWxhdGVk
VGFyZ2V0KSk7CisgICAgfQorCisgICAgRXZlbnRUYXJnZXQqIHJlbGF0ZWRUYXJnZXQoKSBjb25z
dCB7IHJldHVybiBtX3JlbGF0ZWRUYXJnZXQuZ2V0KCk7IH0KKyAgICB2b2lkIHNldFJlbGF0ZWRU
YXJnZXQoUGFzc1JlZlB0cjxFdmVudFRhcmdldD4gcmVsYXRlZFRhcmdldCkgeyBtX3JlbGF0ZWRU
YXJnZXQgPSByZWxhdGVkVGFyZ2V0OyB9CisKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgaW50ZXJmYWNlTmFtZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzRXZlbnQo
KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBGb2N1c0V2ZW50KCk7CisgICAgRm9jdXNFdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IFBhc3NSZWZQdHI8QWJzdHJhY3RWaWV3PiwgaW50LCBQYXNzUmVmUHRyPEV2ZW50VGFyZ2V0Pik7
CisKKyAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IG1fcmVsYXRlZFRhcmdldDsKK307CisKK2lubGlu
ZSBGb2N1c0V2ZW50KiB0b0ZvY3VzRXZlbnQoRXZlbnQqIGV2ZW50KQoreworICAgIEFTU0VSVChl
dmVudCAmJiBldmVudC0+aXNGb2N1c0V2ZW50KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxG
b2N1c0V2ZW50Kj4oZXZlbnQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBGb2N1c0V2ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50LmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
MWRhYzk0ZmM4YzQ4OGU5MWI2M2FjMjkwMzcxNjAyYjdmNzY4NTQ0Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0ZvY3VzRXZlbnQuaWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworaW50ZXJmYWNlIEZvY3VzRXZlbnQgOiBVSUV2ZW50Cit7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIEV2ZW50VGFyZ2V0IHJlbGF0ZWRUYXJnZXQ7Cit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
CmluZGV4IGQ2NDkzOWI1NGUyNDg2MDg5ODM3ZWQ3NDc5YzE0ZDVlY2JkN2NmOTIuLjc0YTY0YzJj
NTc5NmM4MzdkOWFkZjdmYTU2ZjZlMjNhM2VjMDM2YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTU5
LDYgKzU5LDcgQEAKICNpbmNsdWRlICJFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGb2N1c0V2ZW50
LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRl
ICJIVE1MRWxlbWVudC5oIgpAQCAtMjM1NiwxNCArMjM1NywxNCBAQCB2b2lkIE5vZGU6OmRpc3Bh
dGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRy
PE5vZGU+CiB7CiAgICAgQVNTRVJUKCFOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb246OmlzRXZlbnRE
aXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMo
KS5mb2N1c2luRXZlbnQgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5ET01Gb2N1c0luRXZl
bnQpOwotICAgIGRpc3BhdGNoU2NvcGVkRXZlbnREaXNwYXRjaE1lZGlhdG9yKEZvY3VzSW5FdmVu
dERpc3BhdGNoTWVkaWF0b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVl
LCBmYWxzZSwgZG9jdW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG9sZEZvY3VzZWROb2RlKSk7
CisgICAgZGlzcGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNJbkV2ZW50RGlz
cGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKEZvY3VzRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRydWUs
IGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwLCAwKSwgb2xkRm9jdXNlZE5vZGUp
KTsKIH0KIAogdm9pZCBOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8Tm9kZT4gbmV3Rm9jdXNlZE5vZGUpCiB7CiAgICAg
QVNTRVJUKCFOb0V2ZW50RGlzcGF0Y2hBc3NlcnRpb246OmlzRXZlbnREaXNwYXRjaEZvcmJpZGRl
bigpKTsKICAgICBBU1NFUlQoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5mb2N1c291dEV2ZW50
IHx8IGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuRE9NRm9jdXNPdXRFdmVudCk7Ci0gICAgZGlz
cGF0Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERpc3BhdGNoTWVk
aWF0b3I6OmNyZWF0ZShVSUV2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9j
dW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCksIG5ld0ZvY3VzZWROb2RlKSk7CisgICAgZGlzcGF0
Y2hTY29wZWRFdmVudERpc3BhdGNoTWVkaWF0b3IoRm9jdXNPdXRFdmVudERpc3BhdGNoTWVkaWF0
b3I6OmNyZWF0ZShGb2N1c0V2ZW50OjpjcmVhdGUoZXZlbnRUeXBlLCB0cnVlLCBmYWxzZSwgZG9j
dW1lbnQoKS0+ZGVmYXVsdFZpZXcoKSwgMCwgMCksIG5ld0ZvY3VzZWROb2RlKSk7CiB9CiAKIGJv
b2wgTm9kZTo6ZGlzcGF0Y2hET01BY3RpdmF0ZUV2ZW50KGludCBkZXRhaWwsIFBhc3NSZWZQdHI8
RXZlbnQ+IHVuZGVybHlpbmdFdmVudCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ODlhZTVmNDVhMTZmZjZkNTU2YzllZmQx
ODdjNTFlNmM0MDMwNzIzLi5jNzk4MzJjNDY1YzQ5YzhhNjk3NjMyMjU0NTEwNmRmODQzY2Q5MmZj
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMDItMDMgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYktpdCdzIGZvY3VzIGV2ZW50cyBhcmUgVUlF
dmVudHMgKGluc3RlYWQgb2YgRm9jdXNFdmVudCkgYW5kIHRodXMgZG9uJ3QgZXhwb3NlIC5yZWxh
dGVkVGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NjIxNgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIFNw
ZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLUZvY3Vz
RXZlbnQKKworICAgICAgICBUaGlzIHBhdGNoIGNyZWF0ZXMgYSBuZXcgRm9jdXNFdmVudCBjbGFz
cyB3aXRoIGEgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUuCisgICAgICAgIE5vdyB3aGVuIGZvY3Vz
aW4gb3IgZm9jdXNvdXQgZXZlbnRzIGFyZSBkaXNwYXRjaGVkLCBhIEZvY3VzRXZlbnQgaXMgY3Jl
YXRlZCB3aXRoCisgICAgICAgIHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBzZXQgYWNjb3Jk
aW5nbHkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFy
eS1ldmVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1
c2V2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVsYXRl
ZC10YXJnZXQtZm9jdXNldmVudC5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0wNiAgU3RlcGhlbiBD
aGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVGVz
dCBleHBlY3RhdGlvbnMgdXBkYXRlIGZvciBTa2lhIGNoYW5nZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLWV4
cGVjdGVkLnR4dAppbmRleCA5YTVmOWRiMzcxMTBlNTQ2OTAwOTJkYTQ3Yjk4NGZkM2I2M2I2NjZm
Li40MGNlYmMyN2NlZWMxMGRlNGM2M2M3NGQ0NzUxN2MzYjc3YTBlMzQ1IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1ib3VuZGFyeS1l
dmVudHMtZXhwZWN0ZWQudHh0CkBAIC02MSwxMyArNjEsMTMgQEAgUEFTUyBkaXNwYXRjaGVkRXZl
bnQoIm1vdXNlb3V0IikgaXMgWyJkaXZIKDwtc2hhZG93SykoQGRpdkgpIiwgInNoYWRvd0coPC1z
aGFkb3cKIAogTW92ZSBmb2N1cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwg
bm9kZXMgYXJlIG91dHNpZGUgb2Ygc2hhZG93IGJvdW5kYXJ5LgogTW92aW5nIGZvY3VzIGZyb20g
ZGl2QiB0byBkaXZDCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNpbiIpIGlzIFsiZGl2QyhA
ZGl2QykiLCAiZGl2QyhAZGl2QSkiXQotUEFTUyBkaXNwYXRjaGVkRXZlbnQoImZvY3Vzb3V0Iikg
aXMgWyJkaXZCKEBkaXZCKSIsICJkaXZCKEBkaXZBKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVudCgi
Zm9jdXNpbiIpIGlzIFsiZGl2Qyg8LWRpdkIpKEBkaXZDKSIsICJkaXZDKDwtZGl2QikoQGRpdkEp
Il0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpIGlzIFsiZGl2Qig8LWRpdkMpKEBk
aXZCKSIsICJkaXZCKDwtZGl2QykoQGRpdkEpIl0KIAogT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3
IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBhcmF0ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRv
dyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0aGF0IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVk
IGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBib3VuZGFyeS4KIE1vdmluZyBmb2N1cyBmcm9tIHNo
YWRvd0Qvc2hhZG93Ri9zaGFkb3dHL2RpdkggdG8gc2hhZG93RC9zaGFkb3dLL2RpdkwKLVBBU1Mg
ZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIikgaXMgWyJkaXZMKEBkaXZMKSIsICJzaGFkb3dLKEBz
aGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdCi1QQVNTIGRpc3BhdGNoZWRFdmVudCgiZm9jdXNv
dXQiKSBpcyBbImRpdkgoQGRpdkgpIiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNo
YWRvd0YpIiwgInNoYWRvd0YoQGRpdkUpIl0KK1BBU1MgZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2lu
IikgaXMgWyJkaXZMKDwtc2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hh
ZG93SykiLCAic2hhZG93Syg8LXNoYWRvd0YpKEBkaXZKKSJdCitQQVNTIGRpc3BhdGNoZWRFdmVu
dCgiZm9jdXNvdXQiKSBpcyBbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93Ryg8LXNo
YWRvd0spKEBzaGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwgInNoYWRv
d0YoPC1zaGFkb3dLKShAZGl2RSkiXQogCiBNb3ZlIGZvY3VzIGZyb20gYSBub2RlIHRvIGl0cyBz
aWJsaW5nIG5vZGUuIEFsbCBub2RlcyBhcmUgb3V0c2lkZSBvZiBzaGFkb3cgYm91bmRhcnkuCiBN
b3ZpbmcgZm9jdXMgZnJvbSBkaXZCIHRvIGRpdkMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LWJvdW5kYXJ5LWV2ZW50cy5odG1sCmluZGV4IDkzM2RlNzQ3
ZjdlODRhNjk1MmIzN2IyMDNhNjk1OGVkODhiZDI1ZmUuLjhkZmMwYzc2NDU4NjMyMjIyOWY1ZTdl
YjA0Mzg2ZmE1ODNmNmIyZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctYm91bmRhcnktZXZlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1ib3VuZGFyeS1ldmVudHMuaHRtbApAQCAtMTgwLDEzICsxODAsMTMgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgLy8gVGVzdCBmb3IgZm9jdXNpbi9mb2N1c291dCBldmVudHMu
CiAgICAgbW92ZUZvY3VzKCdkaXZCJywgJ2RpdkMnLAogICAgICAgICAgICAgICAnTW92ZSBmb2N1
cyBmcm9tIGEgbm9kZSB0byBpdHMgc2libGluZyBub2RlLiBBbGwgbm9kZXMgYXJlIG91dHNpZGUg
b2Ygc2hhZG93IGJvdW5kYXJ5LicpOwotICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZv
Y3VzaW4iKScsICdbImRpdkMoQGRpdkMpIiwgImRpdkMoQGRpdkEpIl0nKTsKLSAgICBzaG91bGRC
ZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c291dCIpJywgJ1siZGl2QihAZGl2QikiLCAiZGl2QihA
ZGl2QSkiXScpOworICAgIHNob3VsZEJlKCdkaXNwYXRjaGVkRXZlbnQoImZvY3VzaW4iKScsICdb
ImRpdkMoPC1kaXZCKShAZGl2QykiLCAiZGl2Qyg8LWRpdkIpKEBkaXZBKSJdJyk7CisgICAgc2hv
dWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkIoPC1kaXZDKShAZGl2
QikiLCAiZGl2Qig8LWRpdkMpKEBkaXZBKSJdJyk7CiAKICAgICBtb3ZlRm9jdXMoJ3NoYWRvd0Qv
c2hhZG93Ri9zaGFkb3dHL2RpdkgnLCAnc2hhZG93RC9zaGFkb3dLL2RpdkwnLAogICAgICAgICAg
ICAgICAnT2xkIGZvY3VzZWQgbm9kZSBhbmQgbmV3IGZvY3VzZWQgbm9kZSBleGlzdCBpbiBzZXBh
cmF0ZWQgc3VidHJlZXMsIGNyb3NzaW5nIHNoYWRvdyBib3VuZGFyaWVzLiBNYWtpbmcgc3VyZSB0
aGF0IGFuIGV2ZW50IGlzIG5vdCBkaXNwYXRjaGVkIGJleW9uZCB0aGUgbG93ZXN0IGNvbW1vbiBi
b3VuZGFyeS4nKTsKLSAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAn
WyJkaXZMKEBkaXZMKSIsICJzaGFkb3dLKEBzaGFkb3dLKSIsICJzaGFkb3dLKEBkaXZKKSJdJyk7
Ci0gICAgc2hvdWxkQmUoJ2Rpc3BhdGNoZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoQGRp
dkgpIiwgInNoYWRvd0coQHNoYWRvd0cpIiwgInNoYWRvd0YoQHNoYWRvd0YpIiwgInNoYWRvd0Yo
QGRpdkUpIl0nKTsKKyAgICBzaG91bGRCZSgnZGlzcGF0Y2hlZEV2ZW50KCJmb2N1c2luIiknLCAn
WyJkaXZMKDwtc2hhZG93RikoQGRpdkwpIiwgInNoYWRvd0soPC1zaGFkb3dGKShAc2hhZG93Syki
LCAic2hhZG93Syg8LXNoYWRvd0YpKEBkaXZKKSJdJyk7CisgICAgc2hvdWxkQmUoJ2Rpc3BhdGNo
ZWRFdmVudCgiZm9jdXNvdXQiKScsICdbImRpdkgoPC1zaGFkb3dLKShAZGl2SCkiLCAic2hhZG93
Ryg8LXNoYWRvd0spKEBzaGFkb3dHKSIsICJzaGFkb3dGKDwtc2hhZG93SykoQHNoYWRvd0YpIiwg
InNoYWRvd0YoPC1zaGFkb3dLKShAZGl2RSkiXScpOwogCiAgICAgLy8gT21pdHRlZCB0ZXN0IGNh
c2VzIHdoZXJlIGVpdGhlciBhIG9sZEZvY3VzZWROb2RlIG9yIG5ld0ZvY3VzZWROb2RlIGlzIGFu
IGFuY2VzdG9yIG9mIHRoZSBvdGhlci4KICAgICAvLyBEdWUgdG8gYSBmb2N1cyB0cmFuc2ZlciBt
ZWNoYW5pc20gb24gc2hhZG93IGhvc3RzLCBhIGZvY3VzZWQgbm9kZSBzaG91bGQgYmUgYSBsZWFm
IG5vZGUgaW4gZ2VuZXJhbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jl
bGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVsYXRlZC10YXJnZXQtZm9jdXNldmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzhiOWIzMDM2OTNhMmE2MWZkMTUyMmYwMDQ2ODgxNjRiM2RiMTE3NQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZlbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1BBU1MgZXZlbnQucmVsYXRlZFRhcmdldCBpcyBu
dWxsCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgaW5wdXQyCitQQVNTIGV2ZW50LnJlbGF0
ZWRUYXJnZXQgaXMgaW5wdXQxCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgaW5wdXQzCitQ
QVNTIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaXMgaW5wdXQyCitQQVNTIGV2ZW50LnJlbGF0ZWRUYXJn
ZXQgaXMgaW5wdXQ0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKK0NoZWNrcyB0aGF0IHRoZSByZWxhdGVkVGFyZ2V0IGF0dHJpYnV0ZSBmb3IgRm9jdXNF
dmVudCBvYmplY3RzIGlzIGJlaW5nIHNldCBjb3JyZWN0bHkgd2hlbiBmb2N1c2luL2ZvY3Vzb3V0
IGV2ZW50cyBhcmUgZGlzcGF0Y2hlZC4gUHJlc3MgdGFiIGZvdXIgdGltZXMgdG8gZGlzcGF0Y2gg
YSBmb2N1c2luIGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUgaW5wdXRzIGJlbG93
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworICAgCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC1mb2N1c2V2ZW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmQ3NjM1MzI5NWI5YTYzZDgxMjY3NWI3ZDljYmU1ZGJmNWFiZjUzNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3JlbGF0ZWQtdGFyZ2V0LWZvY3VzZXZl
bnQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGlucHV0IGlkPSJpbnB1dDEiIHR5cGU9InRleHQi
PjwvaW5wdXQ+Cis8aW5wdXQgaWQ9ImlucHV0MiIgdHlwZT0idGV4dCI+PC9pbnB1dD4KKzxpbnB1
dCBpZD0iaW5wdXQzIiB0eXBlPSJ0ZXh0Ij48L2lucHV0PgorPGlucHV0IGlkPSJpbnB1dDQiIHR5
cGU9InRleHQiPjwvaW5wdXQ+Cis8c2NyaXB0PgoranNUZXN0SXNBc3luYyA9IHRydWU7CisKK2Rl
c2NyaXB0aW9uKCJDaGVja3MgdGhhdCB0aGUgcmVsYXRlZFRhcmdldCBhdHRyaWJ1dGUgZm9yIEZv
Y3VzRXZlbnQgb2JqZWN0cyBpcyBiZWluZyBzZXQgY29ycmVjdGx5IHdoZW4gZm9jdXNpbi9mb2N1
c291dCBldmVudHMgYXJlIGRpc3BhdGNoZWQuICA8Yj5QcmVzcyB0YWIgZm91ciB0aW1lczwvYj4g
dG8gZGlzcGF0Y2ggYSBmb2N1c2luIGFuZCBmb2N1c291dCBldmVudCBmb3IgZWFjaCBvZiB0aGUg
aW5wdXRzIGJlbG93LiIpOworCit2YXIgaW5wdXQxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2lucHV0MScpOwordmFyIGlucHV0MiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbnB1dDIn
KTsKK3ZhciBpbnB1dDMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQzJyk7CisKK2lu
cHV0MS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c2luIiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxk
QmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnbnVsbCcpOyB9KTsKK2lucHV0MS5hZGRFdmVudExp
c3RlbmVyKCJmb2N1c291dCIsIGZ1bmN0aW9uKGV2ZW50KSB7IHNob3VsZEJlKCdldmVudC5yZWxh
dGVkVGFyZ2V0JywgJ2lucHV0MicpOyB9KTsKK2lucHV0Mi5hZGRFdmVudExpc3RlbmVyKCJmb2N1
c2luIiwgZnVuY3Rpb24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAn
aW5wdXQxJyk7IH0pOworaW5wdXQyLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IiwgZnVuY3Rp
b24oZXZlbnQpIHsgc2hvdWxkQmUoJ2V2ZW50LnJlbGF0ZWRUYXJnZXQnLCAnaW5wdXQzJyk7IH0p
OworaW5wdXQzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCBmdW5jdGlvbihldmVudCkgeyBz
aG91bGRCZSgnZXZlbnQucmVsYXRlZFRhcmdldCcsICdpbnB1dDInKTsgfSk7CitpbnB1dDMuYWRk
RXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLCBmdW5jdGlvbihldmVudCkgeyBzaG91bGRCZSgnZXZl
bnQucmVsYXRlZFRhcmdldCcsICdpbnB1dDQnKTsgZmluaXNoSlNUZXN0KCk7IH0pOworCitmb3Ig
KHZhciBpID0gMDsgaSA8IDQ7IGkrKykgeworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7
Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>